toggle-group-example.json — ui Source File
Architecture documentation for toggle-group-example.json, a json file in the ui codebase.
Entity Profile
Source Code
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "toggle-group-example",
"title": "Toggle Group",
"registryDependencies": [
"input",
"select",
"toggle-group",
"example"
],
"files": [
{
"path": "registry/base-nova/examples/toggle-group-example.tsx",
"content": "\"use client\"\n\nimport * as React from \"react\"\n\nimport {\n Example,\n ExampleWrapper,\n} from \"@/registry/base-nova/components/example\"\nimport {\n Field,\n FieldDescription,\n FieldLabel,\n} from \"@/registry/base-nova/ui/field\"\nimport { Input } from \"@/registry/base-nova/ui/input\"\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/registry/base-nova/ui/select\"\nimport {\n ToggleGroup,\n ToggleGroupItem,\n} from \"@/registry/base-nova/ui/toggle-group\"\nimport { IconPlaceholder } from \"@/app/(create)/components/icon-placeholder\"\n\nexport default function ToggleGroupExample() {\n return (\n <ExampleWrapper>\n <ToggleGroupBasic />\n <ToggleGroupOutline />\n <ToggleGroupOutlineWithIcons />\n <ToggleGroupSizes />\n <ToggleGroupSpacing />\n <ToggleGroupWithIcons />\n <ToggleGroupFilter />\n <ToggleGroupDateRange />\n <ToggleGroupSort />\n <ToggleGroupWithInputAndSelect />\n <ToggleGroupVertical />\n <ToggleGroupVerticalOutline />\n <ToggleGroupVerticalOutlineWithIcons />\n <ToggleGroupVerticalWithSpacing />\n <ToggleGroupFontWeightSelector />\n </ExampleWrapper>\n )\n}\n\nfunction ToggleGroupBasic() {\n return (\n <Example title=\"Basic\">\n <ToggleGroup multiple spacing={1}>\n <ToggleGroupItem value=\"bold\" aria-label=\"Toggle bold\">\n <IconPlaceholder\n lucide=\"BoldIcon\"\n tabler=\"IconBold\"\n hugeicons=\"TextBoldIcon\"\n phosphor=\"TextBIcon\"\n remixicon=\"RiBold\"\n />\n </ToggleGroupItem>\n <ToggleGroupItem value=\"italic\" aria-label=\"Toggle italic\">\n <IconPlaceholder\n lucide=\"ItalicIcon\"\n tabler=\"IconItalic\"\n hugeicons=\"TextItalicIcon\"\n phosphor=\"TextItalicIcon\"\n remixicon=\"RiItalic\"\n />\n </ToggleGroupItem>\n <ToggleGroupItem value=\"underline\" aria-label=\"Toggle underline\">\n <IconPlaceholder\n lucide=\"UnderlineIcon\"\n tabler=\"IconUnderline\"\n hugeicons=\"TextUnderlineIcon\"\n phosphor=\"TextUnderlineIcon\"\n remixicon=\"RiUnderline\"\n />\n </ToggleGroupItem>\n </ToggleGroup>\n </Example>\n )\n}\n\nfunction ToggleGroupOutline() {\n return (\n <Example title=\"Outline\">\n <ToggleGroup variant=\"outline\" defaultValue={[\"all\"]}>\n <ToggleGroupItem value=\"all\" aria-label=\"Toggle all\">\n All\n </ToggleGroupItem>\n <ToggleGroupItem value=\"missed\" aria-label=\"Toggle missed\">\n Missed\n </ToggleGroupItem>\n </ToggleGroup>\n </Example>\n )\n}\n\nfunction ToggleGroupOutlineWithIcons() {\n return (\n <Example title=\"Outline With Icons\">\n <ToggleGroup variant=\"outline\" multiple size=\"sm\">\n <ToggleGroupItem value=\"bold\" aria-label=\"Toggle bold\">\n <IconPlaceholder\n lucide=\"BoldIcon\"\n tabler=\"IconBold\"\n hugeicons=\"TextBoldIcon\"\n phosphor=\"TextBIcon\"\n remixicon=\"RiBold\"\n />\n </ToggleGroupItem>\n <ToggleGroupItem value=\"italic\" aria-label=\"Toggle italic\">\n <IconPlaceholder\n lucide=\"ItalicIcon\"\n tabler=\"IconItalic\"\n hugeicons=\"TextItalicIcon\"\n phosphor=\"TextItalicIcon\"\n remixicon=\"RiItalic\"\n />\n </ToggleGroupItem>\n <ToggleGroupItem value=\"underline\" aria-label=\"Toggle underline\">\n <IconPlaceholder\n lucide=\"UnderlineIcon\"\n tabler=\"IconUnderline\"\n hugeicons=\"TextUnderlineIcon\"\n phosphor=\"TextUnderlineIcon\"\n remixicon=\"RiUnderline\"\n />\n </ToggleGroupItem>\n </ToggleGroup>\n </Example>\n )\n}\n\nfunction ToggleGroupSizes() {\n return (\n <Example title=\"Sizes\">\n <div className=\"flex flex-col gap-4\">\n <ToggleGroup size=\"sm\" defaultValue={[\"top\"]} variant=\"outline\">\n <ToggleGroupItem value=\"top\" aria-label=\"Toggle top\">\n Top\n </ToggleGroupItem>\n <ToggleGroupItem value=\"bottom\" aria-label=\"Toggle bottom\">\n Bottom\n </ToggleGroupItem>\n <ToggleGroupItem value=\"left\" aria-label=\"Toggle left\">\n Left\n </ToggleGroupItem>\n <ToggleGroupItem value=\"right\" aria-label=\"Toggle right\">\n Right\n </ToggleGroupItem>\n </ToggleGroup>\n <ToggleGroup defaultValue={[\"top\"]} variant=\"outline\">\n <ToggleGroupItem value=\"top\" aria-label=\"Toggle top\">\n Top\n </ToggleGroupItem>\n <ToggleGroupItem value=\"bottom\" aria-label=\"Toggle bottom\">\n Bottom\n </ToggleGroupItem>\n <ToggleGroupItem value=\"left\" aria-label=\"Toggle left\">\n Left\n </ToggleGroupItem>\n <ToggleGroupItem value=\"right\" aria-label=\"Toggle right\">\n Right\n </ToggleGroupItem>\n </ToggleGroup>\n </div>\n </Example>\n )\n}\n\nfunction ToggleGroupSpacing() {\n return (\n <Example title=\"With Spacing\">\n <ToggleGroup\n size=\"sm\"\n defaultValue={[\"top\"]}\n variant=\"outline\"\n spacing={2}\n >\n <ToggleGroupItem value=\"top\" aria-label=\"Toggle top\">\n Top\n </ToggleGroupItem>\n <ToggleGroupItem value=\"bottom\" aria-label=\"Toggle bottom\">\n Bottom\n </ToggleGroupItem>\n <ToggleGroupItem value=\"left\" aria-label=\"Toggle left\">\n Left\n </ToggleGroupItem>\n <ToggleGroupItem value=\"right\" aria-label=\"Toggle right\">\n Right\n </ToggleGroupItem>\n </ToggleGroup>\n </Example>\n )\n}\n\nfunction ToggleGroupWithIcons() {\n return (\n <Example title=\"With Icons\">\n <ToggleGroup multiple variant=\"outline\" spacing={2} size=\"sm\">\n <ToggleGroupItem\n value=\"star\"\n aria-label=\"Toggle star\"\n className=\"aria-pressed:*:[svg]:fill-foreground aria-pressed:*:[svg]:stroke-foreground aria-pressed:bg-transparent\"\n >\n <IconPlaceholder\n lucide=\"StarIcon\"\n tabler=\"IconStar\"\n hugeicons=\"StarIcon\"\n phosphor=\"StarIcon\"\n remixicon=\"RiStarLine\"\n />\n Star\n </ToggleGroupItem>\n <ToggleGroupItem\n value=\"heart\"\n aria-label=\"Toggle heart\"\n className=\"aria-pressed:*:[svg]:fill-foreground aria-pressed:*:[svg]:stroke-foreground aria-pressed:bg-transparent\"\n >\n <IconPlaceholder\n lucide=\"HeartIcon\"\n tabler=\"IconHeart\"\n hugeicons=\"FavouriteIcon\"\n phosphor=\"HeartIcon\"\n remixicon=\"RiHeartLine\"\n />\n Heart\n </ToggleGroupItem>\n <ToggleGroupItem\n value=\"bookmark\"\n aria-label=\"Toggle bookmark\"\n className=\"aria-pressed:*:[svg]:fill-foreground aria-pressed:*:[svg]:stroke-foreground aria-pressed:bg-transparent\"\n >\n <IconPlaceholder\n lucide=\"BookmarkIcon\"\n tabler=\"IconBookmark\"\n hugeicons=\"BookmarkIcon\"\n phosphor=\"BookmarkIcon\"\n remixicon=\"RiBookmarkLine\"\n />\n Bookmark\n </ToggleGroupItem>\n </ToggleGroup>\n </Example>\n )\n}\n\nfunction ToggleGroupFilter() {\n return (\n <Example title=\"Filter\">\n <ToggleGroup defaultValue={[\"all\"]} variant=\"outline\" size=\"sm\">\n <ToggleGroupItem value=\"all\" aria-label=\"All\">\n All\n </ToggleGroupItem>\n <ToggleGroupItem value=\"active\" aria-label=\"Active\">\n Active\n </ToggleGroupItem>\n <ToggleGroupItem value=\"completed\" aria-label=\"Completed\">\n Completed\n </ToggleGroupItem>\n <ToggleGroupItem value=\"archived\" aria-label=\"Archived\">\n Archived\n </ToggleGroupItem>\n </ToggleGroup>\n </Example>\n )\n}\n\nfunction ToggleGroupDateRange() {\n return (\n <Example title=\"Date Range\">\n <ToggleGroup\n defaultValue={[\"today\"]}\n variant=\"outline\"\n size=\"sm\"\n spacing={2}\n >\n <ToggleGroupItem value=\"today\" aria-label=\"Today\">\n Today\n </ToggleGroupItem>\n <ToggleGroupItem value=\"week\" aria-label=\"This Week\">\n This Week\n </ToggleGroupItem>\n <ToggleGroupItem value=\"month\" aria-label=\"This Month\">\n This Month\n </ToggleGroupItem>\n <ToggleGroupItem value=\"year\" aria-label=\"This Year\">\n This Year\n </ToggleGroupItem>\n </ToggleGroup>\n </Example>\n )\n}\n\nfunction ToggleGroupSort() {\n return (\n <Example title=\"Sort\">\n <ToggleGroup defaultValue={[\"newest\"]} variant=\"outline\" size=\"sm\">\n <ToggleGroupItem value=\"newest\" aria-label=\"Newest\">\n <IconPlaceholder\n lucide=\"ArrowDownIcon\"\n tabler=\"IconArrowDown\"\n hugeicons=\"ArrowDownIcon\"\n phosphor=\"ArrowDownIcon\"\n remixicon=\"RiArrowDownLine\"\n />\n Newest\n </ToggleGroupItem>\n <ToggleGroupItem value=\"oldest\" aria-label=\"Oldest\">\n <IconPlaceholder\n lucide=\"ArrowUpIcon\"\n tabler=\"IconArrowUp\"\n hugeicons=\"ArrowUpIcon\"\n phosphor=\"ArrowUpIcon\"\n remixicon=\"RiArrowUpLine\"\n />\n Oldest\n </ToggleGroupItem>\n <ToggleGroupItem value=\"popular\" aria-label=\"Popular\">\n <IconPlaceholder\n lucide=\"TrendingUpIcon\"\n tabler=\"IconTrendingUp\"\n hugeicons=\"TradeUpIcon\"\n phosphor=\"TrendUpIcon\"\n remixicon=\"RiLineChartLine\"\n />\n Popular\n </ToggleGroupItem>\n </ToggleGroup>\n </Example>\n )\n}\n\nfunction ToggleGroupWithInputAndSelect() {\n const items = [\n { label: \"All\", value: \"all\" },\n { label: \"Active\", value: \"active\" },\n { label: \"Archived\", value: \"archived\" },\n ]\n return (\n <Example title=\"With Input and Select\">\n <div className=\"flex items-center gap-2\">\n <Input type=\"search\" placeholder=\"Search...\" className=\"flex-1\" />\n <Select items={items} defaultValue={items[0]}>\n <SelectTrigger className=\"w-32\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n {items.map((item) => (\n <SelectItem key={item.value} value={item.value}>\n {item.label}\n </SelectItem>\n ))}\n </SelectGroup>\n </SelectContent>\n </Select>\n <ToggleGroup defaultValue={[\"grid\"]} variant=\"outline\">\n <ToggleGroupItem value=\"grid\" aria-label=\"Grid view\">\n Grid\n </ToggleGroupItem>\n <ToggleGroupItem value=\"list\" aria-label=\"List view\">\n List\n </ToggleGroupItem>\n </ToggleGroup>\n </div>\n </Example>\n )\n}\n\nfunction ToggleGroupVertical() {\n return (\n <Example title=\"Vertical\">\n <ToggleGroup multiple orientation=\"vertical\" spacing={1}>\n <ToggleGroupItem value=\"bold\" aria-label=\"Toggle bold\">\n <IconPlaceholder\n lucide=\"BoldIcon\"\n tabler=\"IconBold\"\n hugeicons=\"TextBoldIcon\"\n phosphor=\"TextBIcon\"\n remixicon=\"RiBold\"\n />\n </ToggleGroupItem>\n <ToggleGroupItem value=\"italic\" aria-label=\"Toggle italic\">\n <IconPlaceholder\n lucide=\"ItalicIcon\"\n tabler=\"IconItalic\"\n hugeicons=\"TextItalicIcon\"\n phosphor=\"TextItalicIcon\"\n remixicon=\"RiItalic\"\n />\n </ToggleGroupItem>\n <ToggleGroupItem value=\"underline\" aria-label=\"Toggle underline\">\n <IconPlaceholder\n lucide=\"UnderlineIcon\"\n tabler=\"IconUnderline\"\n hugeicons=\"TextUnderlineIcon\"\n phosphor=\"TextUnderlineIcon\"\n remixicon=\"RiUnderline\"\n />\n </ToggleGroupItem>\n </ToggleGroup>\n </Example>\n )\n}\n\nfunction ToggleGroupVerticalOutline() {\n return (\n <Example title=\"Vertical Outline\">\n <ToggleGroup\n variant=\"outline\"\n defaultValue={[\"all\"]}\n orientation=\"vertical\"\n size=\"sm\"\n >\n <ToggleGroupItem value=\"all\" aria-label=\"Toggle all\">\n All\n </ToggleGroupItem>\n <ToggleGroupItem value=\"active\" aria-label=\"Toggle active\">\n Active\n </ToggleGroupItem>\n <ToggleGroupItem value=\"completed\" aria-label=\"Toggle completed\">\n Completed\n </ToggleGroupItem>\n <ToggleGroupItem value=\"archived\" aria-label=\"Toggle archived\">\n Archived\n </ToggleGroupItem>\n </ToggleGroup>\n </Example>\n )\n}\n\nfunction ToggleGroupVerticalOutlineWithIcons() {\n return (\n <Example title=\"Vertical Outline With Icons\">\n <ToggleGroup variant=\"outline\" multiple orientation=\"vertical\" size=\"sm\">\n <ToggleGroupItem value=\"bold\" aria-label=\"Toggle bold\">\n <IconPlaceholder\n lucide=\"BoldIcon\"\n tabler=\"IconBold\"\n hugeicons=\"TextBoldIcon\"\n phosphor=\"TextBIcon\"\n remixicon=\"RiBold\"\n />\n </ToggleGroupItem>\n <ToggleGroupItem value=\"italic\" aria-label=\"Toggle italic\">\n <IconPlaceholder\n lucide=\"ItalicIcon\"\n tabler=\"IconItalic\"\n hugeicons=\"TextItalicIcon\"\n phosphor=\"TextItalicIcon\"\n remixicon=\"RiItalic\"\n />\n </ToggleGroupItem>\n <ToggleGroupItem value=\"underline\" aria-label=\"Toggle underline\">\n <IconPlaceholder\n lucide=\"UnderlineIcon\"\n tabler=\"IconUnderline\"\n hugeicons=\"TextUnderlineIcon\"\n phosphor=\"TextUnderlineIcon\"\n remixicon=\"RiUnderline\"\n />\n </ToggleGroupItem>\n </ToggleGroup>\n </Example>\n )\n}\n\nfunction ToggleGroupFontWeightSelector() {\n const [fontWeight, setFontWeight] = React.useState(\"normal\")\n return (\n <Example title=\"Font Weight Selector\">\n <Field>\n <FieldLabel>Font Weight</FieldLabel>\n <ToggleGroup\n value={[fontWeight]}\n onValueChange={(value) => setFontWeight(value[0])}\n variant=\"outline\"\n spacing={2}\n size=\"lg\"\n >\n <ToggleGroupItem\n value=\"light\"\n aria-label=\"Light\"\n className=\"flex size-16 flex-col items-center justify-center rounded-xl\"\n >\n <span className=\"text-2xl leading-none font-light\">Aa</span>\n <span className=\"text-muted-foreground text-xs\">Light</span>\n </ToggleGroupItem>\n <ToggleGroupItem\n value=\"normal\"\n aria-label=\"Normal\"\n className=\"flex size-16 flex-col items-center justify-center rounded-xl\"\n >\n <span className=\"text-2xl leading-none font-normal\">Aa</span>\n <span className=\"text-muted-foreground text-xs\">Normal</span>\n </ToggleGroupItem>\n <ToggleGroupItem\n value=\"medium\"\n aria-label=\"Medium\"\n className=\"flex size-16 flex-col items-center justify-center rounded-xl\"\n >\n <span className=\"text-2xl leading-none font-medium\">Aa</span>\n <span className=\"text-muted-foreground text-xs\">Medium</span>\n </ToggleGroupItem>\n <ToggleGroupItem\n value=\"bold\"\n aria-label=\"Bold\"\n className=\"flex size-16 flex-col items-center justify-center rounded-xl\"\n >\n <span className=\"text-2xl leading-none font-bold\">Aa</span>\n <span className=\"text-muted-foreground text-xs\">Bold</span>\n </ToggleGroupItem>\n </ToggleGroup>\n <FieldDescription>\n Use{\" \"}\n <code className=\"bg-muted rounded-md px-1 py-0.5 font-mono\">\n font-{fontWeight}\n </code>{\" \"}\n to set the font weight.\n </FieldDescription>\n </Field>\n </Example>\n )\n}\n\nfunction ToggleGroupVerticalWithSpacing() {\n return (\n <Example title=\"Vertical With Spacing\">\n <ToggleGroup\n size=\"sm\"\n defaultValue={[\"top\"]}\n variant=\"outline\"\n orientation=\"vertical\"\n spacing={1}\n >\n <ToggleGroupItem value=\"top\" aria-label=\"Toggle top\">\n Top\n </ToggleGroupItem>\n <ToggleGroupItem value=\"bottom\" aria-label=\"Toggle bottom\">\n Bottom\n </ToggleGroupItem>\n <ToggleGroupItem value=\"left\" aria-label=\"Toggle left\">\n Left\n </ToggleGroupItem>\n <ToggleGroupItem value=\"right\" aria-label=\"Toggle right\">\n Right\n </ToggleGroupItem>\n </ToggleGroup>\n </Example>\n )\n}\n",
"type": "registry:example"
}
],
"type": "registry:example"
}
Source
Frequently Asked Questions
What does toggle-group-example.json do?
toggle-group-example.json is a source file in the ui codebase, written in json.
Where is toggle-group-example.json in the architecture?
toggle-group-example.json is located at apps/v4/public/r/styles/base-nova/toggle-group-example.json (directory: apps/v4/public/r/styles/base-nova).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free