@cl-light-ds/ui 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/README.md +45 -45
  2. package/package.json +1 -1
  3. package/src/components/accordion/Accordion.astro +248 -248
  4. package/src/components/accordion/AccordionContent.astro +26 -26
  5. package/src/components/accordion/AccordionItem.astro +36 -36
  6. package/src/components/accordion/AccordionTrigger.astro +118 -118
  7. package/src/components/alert/Alert.astro +167 -167
  8. package/src/components/alert/AlertDescription.astro +24 -24
  9. package/src/components/alert/AlertTitle.astro +24 -24
  10. package/src/components/avatar/Avatar.astro +197 -197
  11. package/src/components/avatar/AvatarBadge.astro +44 -44
  12. package/src/components/avatar/AvatarFallback.astro +26 -26
  13. package/src/components/avatar/AvatarGroup.astro +26 -26
  14. package/src/components/avatar/AvatarGroupCount.astro +30 -30
  15. package/src/components/avatar/AvatarImage.astro +46 -46
  16. package/src/components/badge/Badge.astro +167 -167
  17. package/src/components/breadcrumb/Breadcrumb.astro +76 -76
  18. package/src/components/breadcrumb/BreadcrumbItem.astro +32 -32
  19. package/src/components/breadcrumb/BreadcrumbList.astro +26 -26
  20. package/src/components/breadcrumb/BreadcrumbSeparator.astro +26 -26
  21. package/src/components/button/Button.astro +233 -233
  22. package/src/components/button-group/ButtonGroup.astro +130 -130
  23. package/src/components/button-group/ButtonGroupSeparator.astro +30 -30
  24. package/src/components/button-group/ButtonGroupText.astro +21 -21
  25. package/src/components/card/Card.astro +182 -182
  26. package/src/components/card/CardAction.astro +26 -26
  27. package/src/components/card/CardContent.astro +28 -28
  28. package/src/components/card/CardDescription.astro +28 -28
  29. package/src/components/card/CardFooter.astro +24 -24
  30. package/src/components/card/CardHeader.astro +30 -30
  31. package/src/components/card/CardMedia.astro +27 -27
  32. package/src/components/card/CardOverlay.astro +32 -32
  33. package/src/components/card/CardTitle.astro +21 -21
  34. package/src/components/carousel/Carousel.astro +106 -106
  35. package/src/components/carousel/CarouselSlide.astro +22 -22
  36. package/src/components/checkbox/Checkbox.astro +159 -159
  37. package/src/components/collapsible/Collapsible.astro +202 -202
  38. package/src/components/collapsible/CollapsibleContent.astro +36 -36
  39. package/src/components/collapsible/CollapsibleTrigger.astro +34 -34
  40. package/src/components/combobox/Combobox.astro +365 -365
  41. package/src/components/combobox/ComboboxContent.astro +37 -37
  42. package/src/components/combobox/ComboboxEmpty.astro +18 -18
  43. package/src/components/combobox/ComboboxGroup.astro +19 -19
  44. package/src/components/combobox/ComboboxInput.astro +74 -74
  45. package/src/components/combobox/ComboboxItem.astro +39 -39
  46. package/src/components/combobox/ComboboxLabel.astro +18 -18
  47. package/src/components/combobox/ComboboxList.astro +21 -21
  48. package/src/components/combobox/ComboboxSeparator.astro +17 -17
  49. package/src/components/combobox/ComboboxTrigger.astro +30 -30
  50. package/src/components/combobox/ComboboxValue.astro +22 -22
  51. package/src/components/date/Date.astro +137 -137
  52. package/src/components/dialog/Dialog.astro +196 -196
  53. package/src/components/dialog/DialogClose.astro +23 -23
  54. package/src/components/dialog/DialogContent.astro +42 -42
  55. package/src/components/dialog/DialogDescription.astro +18 -18
  56. package/src/components/dialog/DialogFooter.astro +18 -18
  57. package/src/components/dialog/DialogHeader.astro +18 -18
  58. package/src/components/dialog/DialogOverlay.astro +19 -19
  59. package/src/components/dialog/DialogTitle.astro +18 -18
  60. package/src/components/dialog/DialogTrigger.astro +37 -37
  61. package/src/components/dropdown-menu/DropdownMenu.astro +226 -226
  62. package/src/components/dropdown-menu/DropdownMenuCheckboxItem.astro +114 -114
  63. package/src/components/dropdown-menu/DropdownMenuContent.astro +42 -42
  64. package/src/components/dropdown-menu/DropdownMenuGroup.astro +19 -19
  65. package/src/components/dropdown-menu/DropdownMenuItem.astro +220 -220
  66. package/src/components/dropdown-menu/DropdownMenuLabel.astro +20 -20
  67. package/src/components/dropdown-menu/DropdownMenuRadioItem.astro +101 -101
  68. package/src/components/dropdown-menu/DropdownMenuSeparator.astro +18 -18
  69. package/src/components/dropdown-menu/DropdownMenuShortcut.astro +18 -18
  70. package/src/components/dropdown-menu/DropdownMenuTrigger.astro +49 -49
  71. package/src/components/field/Field.astro +664 -664
  72. package/src/components/field/FieldContent.astro +20 -20
  73. package/src/components/field/FieldDescription.astro +22 -22
  74. package/src/components/field/FieldError.astro +51 -51
  75. package/src/components/field/FieldGroup.astro +20 -20
  76. package/src/components/field/FieldLabel.astro +22 -22
  77. package/src/components/field/FieldLegend.astro +23 -23
  78. package/src/components/field/FieldSeparator.astro +30 -30
  79. package/src/components/field/FieldSet.astro +20 -20
  80. package/src/components/field/FieldTitle.astro +20 -20
  81. package/src/components/hover-card/HoverCard.astro +235 -235
  82. package/src/components/hover-card/HoverCardContent.astro +54 -54
  83. package/src/components/hover-card/HoverCardTrigger.astro +38 -38
  84. package/src/components/input/Input.astro +130 -130
  85. package/src/components/input-group/InputGroup.astro +135 -135
  86. package/src/components/input-group/InputGroupAddon.astro +49 -49
  87. package/src/components/input-group/InputGroupButton.astro +58 -58
  88. package/src/components/input-group/InputGroupInput.astro +18 -18
  89. package/src/components/input-group/InputGroupText.astro +21 -21
  90. package/src/components/input-group/InputGroupTextarea.astro +17 -17
  91. package/src/components/item/Item.astro +122 -122
  92. package/src/components/item/ItemActions.astro +21 -21
  93. package/src/components/item/ItemContent.astro +25 -25
  94. package/src/components/item/ItemDescription.astro +25 -25
  95. package/src/components/item/ItemFooter.astro +24 -24
  96. package/src/components/item/ItemGroup.astro +24 -24
  97. package/src/components/item/ItemHeader.astro +24 -24
  98. package/src/components/item/ItemMedia.astro +47 -47
  99. package/src/components/item/ItemSeparator.astro +21 -21
  100. package/src/components/item/ItemTitle.astro +25 -25
  101. package/src/components/kbd/Kbd.astro +145 -145
  102. package/src/components/kbd/KbdGroup.astro +55 -55
  103. package/src/components/label/Label.astro +97 -97
  104. package/src/components/link-group/LinkGroup.astro +67 -67
  105. package/src/components/link-group/LinkGroupItem.astro +32 -32
  106. package/src/components/link-group/LinkGroupList.astro +25 -25
  107. package/src/components/link-group/LinkGroupTitle.astro +22 -22
  108. package/src/components/marquee/Marquee.astro +119 -119
  109. package/src/components/native-select/NativeSelect.astro +125 -125
  110. package/src/components/native-select/NativeSelectOptGroup.astro +14 -14
  111. package/src/components/navigation-menu/NavigationMenu.astro +414 -414
  112. package/src/components/navigation-menu/NavigationMenuContent.astro +37 -37
  113. package/src/components/navigation-menu/NavigationMenuIndicator.astro +24 -24
  114. package/src/components/navigation-menu/NavigationMenuItem.astro +22 -22
  115. package/src/components/navigation-menu/NavigationMenuLink.astro +18 -18
  116. package/src/components/navigation-menu/NavigationMenuList.astro +21 -21
  117. package/src/components/navigation-menu/NavigationMenuPositioner.astro +44 -44
  118. package/src/components/navigation-menu/NavigationMenuTrigger.astro +30 -30
  119. package/src/components/navigation-menu/NavigationMenuViewport.astro +19 -19
  120. package/src/components/popover/CHANGELOG.md +17 -2
  121. package/src/components/popover/Popover.astro +211 -210
  122. package/src/components/popover/PopoverClose.astro +18 -18
  123. package/src/components/popover/PopoverContent.astro +50 -49
  124. package/src/components/popover/PopoverDescription.astro +18 -18
  125. package/src/components/popover/PopoverHeader.astro +18 -18
  126. package/src/components/popover/PopoverTitle.astro +18 -18
  127. package/src/components/popover/PopoverTrigger.astro +35 -29
  128. package/src/components/radio-group/CHANGELOG.md +23 -1
  129. package/src/components/radio-group/RadioGroup.astro +81 -81
  130. package/src/components/radio-group/RadioGroupItem.astro +51 -42
  131. package/src/components/select/Select.astro +373 -373
  132. package/src/components/select/SelectContent.astro +91 -91
  133. package/src/components/select/SelectGroup.astro +19 -19
  134. package/src/components/select/SelectItem.astro +48 -48
  135. package/src/components/select/SelectLabel.astro +18 -18
  136. package/src/components/select/SelectSeparator.astro +17 -17
  137. package/src/components/select/SelectTrigger.astro +34 -34
  138. package/src/components/select/SelectValue.astro +22 -22
  139. package/src/components/separator/Separator.astro +60 -60
  140. package/src/components/skeleton/Skeleton.astro +121 -121
  141. package/src/components/slider/Slider.astro +198 -198
  142. package/src/components/spinner/CHANGELOG.md +14 -1
  143. package/src/components/spinner/Spinner.astro +135 -134
  144. package/src/components/sticky-surface/StickySurface.astro +152 -152
  145. package/src/components/switch/CHANGELOG.md +20 -0
  146. package/src/components/switch/Switch.astro +106 -106
  147. package/src/components/table/CHANGELOG.md +21 -2
  148. package/src/components/table/Table.astro +251 -250
  149. package/src/components/table/TableBody.astro +18 -18
  150. package/src/components/table/TableCaption.astro +17 -17
  151. package/src/components/table/TableCell.astro +21 -21
  152. package/src/components/table/TableFooter.astro +21 -21
  153. package/src/components/table/TableHead.astro +21 -21
  154. package/src/components/table/TableHeader.astro +17 -17
  155. package/src/components/table/TableRow.astro +21 -21
  156. package/src/components/tabs/Tabs.astro +306 -306
  157. package/src/components/tabs/TabsContent.astro +47 -47
  158. package/src/components/tabs/TabsList.astro +69 -69
  159. package/src/components/tabs/TabsTrigger.astro +40 -40
  160. package/src/components/textarea/CHANGELOG.md +18 -1
  161. package/src/components/textarea/Textarea.astro +58 -36
  162. package/src/components/toggle/CHANGELOG.md +19 -1
  163. package/src/components/toggle/Toggle.astro +150 -138
  164. package/src/components/toggle-group/CHANGELOG.md +14 -1
  165. package/src/components/toggle-group/ToggleGroup.astro +236 -224
  166. package/src/components/toggle-group/ToggleGroupItem.astro +48 -48
  167. package/src/components/tooltip/CHANGELOG.md +19 -2
  168. package/src/components/tooltip/Tooltip.astro +357 -331
  169. package/src/components/tooltip/TooltipContent.astro +85 -60
  170. package/src/components/tooltip/TooltipTrigger.astro +34 -34
  171. package/src/lib/toggle-shared.ts +3 -2
@@ -1,55 +1,55 @@
1
- ---
2
- /**
3
- * @component KbdGroup
4
- * @title Keyboard Key Group
5
- * @description A container for grouping multiple keyboard keys together, typically used for displaying keyboard shortcuts.
6
- * @status stable
7
- *
8
- * @preview
9
- *
10
- * <div class="flex flex-col items-center gap-4">
11
- * <KbdGroup>
12
- * <Kbd>⌘</Kbd>
13
- * <Kbd>⇧</Kbd>
14
- * <Kbd>⌥</Kbd>
15
- * <Kbd>⌃</Kbd>
16
- * </KbdGroup>
17
- * <KbdGroup>
18
- * <Kbd>Ctrl</Kbd>
19
- * <span>+</span>
20
- * <Kbd>B</Kbd>
21
- * </KbdGroup>
22
- * </div>
23
- *
24
- * @usage
25
- *
26
- * ```astro nocollapse
27
- * ---
28
- * import { Kbd, KbdGroup } from '@bejamas/ui/components/kbd';
29
- * ---
30
- *
31
- * <KbdGroup>
32
- * <Kbd>⌘</Kbd>
33
- * <Kbd>K</Kbd>
34
- * </KbdGroup>
35
- * ```
36
- *
37
- * @props
38
- * - class?: string — Additional classes for styling.
39
- */
40
-
41
- import { cn } from "@cl-light-ds/ui/lib/utils";
42
-
43
- const {
44
- class: className = "",
45
- ...props
46
- } = Astro.props;
47
- ---
48
-
49
- <div
50
- data-slot="kbd-group"
51
- class={cn("gap-1", "gap-1 inline-flex items-center", className)}
52
- {...props}
53
- >
54
- <slot />
55
- </div>
1
+ ---
2
+ /**
3
+ * @component KbdGroup
4
+ * @title Keyboard Key Group
5
+ * @description A container for grouping multiple keyboard keys together, typically used for displaying keyboard shortcuts.
6
+ * @status stable
7
+ *
8
+ * @preview
9
+ *
10
+ * <div class="flex flex-col items-center gap-4">
11
+ * <KbdGroup>
12
+ * <Kbd>⌘</Kbd>
13
+ * <Kbd>⇧</Kbd>
14
+ * <Kbd>⌥</Kbd>
15
+ * <Kbd>⌃</Kbd>
16
+ * </KbdGroup>
17
+ * <KbdGroup>
18
+ * <Kbd>Ctrl</Kbd>
19
+ * <span>+</span>
20
+ * <Kbd>B</Kbd>
21
+ * </KbdGroup>
22
+ * </div>
23
+ *
24
+ * @usage
25
+ *
26
+ * ```astro nocollapse
27
+ * ---
28
+ * import { Kbd, KbdGroup } from '@bejamas/ui/components/kbd';
29
+ * ---
30
+ *
31
+ * <KbdGroup>
32
+ * <Kbd>⌘</Kbd>
33
+ * <Kbd>K</Kbd>
34
+ * </KbdGroup>
35
+ * ```
36
+ *
37
+ * @props
38
+ * - class?: string — Additional classes for styling.
39
+ */
40
+
41
+ import { cn } from "@cl-light-ds/ui/lib/utils";
42
+
43
+ const {
44
+ class: className = "",
45
+ ...props
46
+ } = Astro.props;
47
+ ---
48
+
49
+ <div
50
+ data-slot="kbd-group"
51
+ class={cn("gap-1", "gap-1 inline-flex items-center", className)}
52
+ {...props}
53
+ >
54
+ <slot />
55
+ </div>
@@ -1,97 +1,97 @@
1
- ---
2
- /**
3
- * @component Label
4
- * @title Label
5
- * @description A text label for form controls.
6
- * @figmaUrl https://www.figma.com/design/qXkzdqZ3QPQqgckU3AwIAH/ClickLearn-Lightning-Design-Library?node-id=7228-1290
7
- *
8
- * @preview
9
- *
10
- * <div class="flex items-center space-x-2">
11
- * <Checkbox id="terms" />
12
- * <Label for="terms">Accept terms and conditions</Label>
13
- * </div>
14
- *
15
- * @usage
16
- *
17
- * ```astro nocollapse
18
- * ---
19
- * import { Label } from '@bejamas/ui/components/label';
20
- * ---
21
- *
22
- * <Label for="terms">Accept terms and conditions</Label>
23
- * ```
24
- *
25
- * @examples
26
- *
27
- * ### With supportive text
28
- *
29
- * <Label for="first-name" supportiveText="Enter your legal first name" showSupportiveText>
30
- * First Name
31
- * </Label>
32
- *
33
- * ### With hint icon
34
- *
35
- * <Label for="corporate-id" showHintIcon>Corporate ID</Label>
36
- *
37
- * ### With hint icon and supportive text
38
- *
39
- * <Label
40
- * for="corporate-id-2"
41
- * showHintIcon
42
- * supportiveText="Contact admin to enable"
43
- * showSupportiveText
44
- * >
45
- * Corporate ID
46
- * </Label>
47
- */
48
-
49
- import { CircleQuestionMark } from "@lucide/astro";
50
- import { cn } from "@cl-light-ds/ui/lib/utils";
51
- import type { HTMLAttributes } from "astro/types";
52
-
53
- interface Props extends HTMLAttributes<"label"> {
54
- class?: string;
55
- supportiveText?: string;
56
- showSupportiveText?: boolean;
57
- showHintIcon?: boolean;
58
- }
59
-
60
- const {
61
- class: className = "",
62
- supportiveText,
63
- showSupportiveText = false,
64
- showHintIcon = false,
65
- ...props
66
- } = Astro.props as Props;
67
-
68
- const hasSupportiveText = showSupportiveText && !!supportiveText;
69
- const hasExtras = showHintIcon || hasSupportiveText;
70
- ---
71
-
72
- <label
73
- data-slot="label"
74
- class={cn(
75
- "flex items-center gap-2 text-sm font-medium text-foreground select-none",
76
- "group-data-[disabled=true]:opacity-50 peer-disabled:opacity-50 group-data-[disabled=true]:pointer-events-none peer-disabled:cursor-not-allowed",
77
- hasExtras && "flex-col items-start gap-1",
78
- className,
79
- )}
80
- {...props}
81
- >
82
- {hasExtras ? (
83
- <span data-slot="label-text" class="flex items-center gap-2">
84
- <slot />
85
- {showHintIcon && (
86
- <CircleQuestionMark data-slot="label-hint-icon" class="size-3.5 shrink-0 text-muted-foreground" aria-hidden="true" />
87
- )}
88
- </span>
89
- ) : (
90
- <slot />
91
- )}
92
- {hasSupportiveText && (
93
- <span data-slot="label-supportive-text" class="text-xs font-medium text-muted-foreground">
94
- {supportiveText}
95
- </span>
96
- )}
97
- </label>
1
+ ---
2
+ /**
3
+ * @component Label
4
+ * @title Label
5
+ * @description A text label for form controls.
6
+ * @figmaUrl https://www.figma.com/design/qXkzdqZ3QPQqgckU3AwIAH/ClickLearn-Lightning-Design-Library?node-id=7228-1290
7
+ *
8
+ * @preview
9
+ *
10
+ * <div class="flex items-center space-x-2">
11
+ * <Checkbox id="terms" />
12
+ * <Label for="terms">Accept terms and conditions</Label>
13
+ * </div>
14
+ *
15
+ * @usage
16
+ *
17
+ * ```astro nocollapse
18
+ * ---
19
+ * import { Label } from '@bejamas/ui/components/label';
20
+ * ---
21
+ *
22
+ * <Label for="terms">Accept terms and conditions</Label>
23
+ * ```
24
+ *
25
+ * @examples
26
+ *
27
+ * ### With supportive text
28
+ *
29
+ * <Label for="first-name" supportiveText="Enter your legal first name" showSupportiveText>
30
+ * First Name
31
+ * </Label>
32
+ *
33
+ * ### With hint icon
34
+ *
35
+ * <Label for="corporate-id" showHintIcon>Corporate ID</Label>
36
+ *
37
+ * ### With hint icon and supportive text
38
+ *
39
+ * <Label
40
+ * for="corporate-id-2"
41
+ * showHintIcon
42
+ * supportiveText="Contact admin to enable"
43
+ * showSupportiveText
44
+ * >
45
+ * Corporate ID
46
+ * </Label>
47
+ */
48
+
49
+ import { CircleQuestionMark } from "@lucide/astro";
50
+ import { cn } from "@cl-light-ds/ui/lib/utils";
51
+ import type { HTMLAttributes } from "astro/types";
52
+
53
+ interface Props extends HTMLAttributes<"label"> {
54
+ class?: string;
55
+ supportiveText?: string;
56
+ showSupportiveText?: boolean;
57
+ showHintIcon?: boolean;
58
+ }
59
+
60
+ const {
61
+ class: className = "",
62
+ supportiveText,
63
+ showSupportiveText = false,
64
+ showHintIcon = false,
65
+ ...props
66
+ } = Astro.props as Props;
67
+
68
+ const hasSupportiveText = showSupportiveText && !!supportiveText;
69
+ const hasExtras = showHintIcon || hasSupportiveText;
70
+ ---
71
+
72
+ <label
73
+ data-slot="label"
74
+ class={cn(
75
+ "flex items-center gap-2 text-sm font-medium text-foreground select-none",
76
+ "group-data-[disabled=true]:opacity-50 peer-disabled:opacity-50 group-data-[disabled=true]:pointer-events-none peer-disabled:cursor-not-allowed",
77
+ hasExtras && "flex-col items-start gap-1",
78
+ className,
79
+ )}
80
+ {...props}
81
+ >
82
+ {hasExtras ? (
83
+ <span data-slot="label-text" class="flex items-center gap-2">
84
+ <slot />
85
+ {showHintIcon && (
86
+ <CircleQuestionMark data-slot="label-hint-icon" class="size-3.5 shrink-0 text-muted-foreground" aria-hidden="true" />
87
+ )}
88
+ </span>
89
+ ) : (
90
+ <slot />
91
+ )}
92
+ {hasSupportiveText && (
93
+ <span data-slot="label-supportive-text" class="text-xs font-medium text-muted-foreground">
94
+ {supportiveText}
95
+ </span>
96
+ )}
97
+ </label>
@@ -1,67 +1,67 @@
1
- ---
2
- /**
3
- * @component LinkGroup
4
- * @title Link Group
5
- * @description A group of related links with optional title for navigation or footer sections.
6
- * @figmaUrl https://www.figma.com/design/qXkzdqZ3QPQqgckU3AwIAH/ClickLearn-Lightning-Design-Library?node-id=2329-7942
7
- *
8
- * @preview
9
- *
10
- * <LinkGroup>
11
- * <LinkGroupTitle>Company</LinkGroupTitle>
12
- * <LinkGroupList>
13
- * <LinkGroupItem><a href="/">Home</a></LinkGroupItem>
14
- * <LinkGroupItem><a href="#">About</a></LinkGroupItem>
15
- * </LinkGroupList>
16
- * </LinkGroup>
17
- *
18
- * @usage
19
- *
20
- * ```astro nocollapse
21
- * ---
22
- * import { LinkGroup, LinkGroupTitle, LinkGroupList, LinkGroupItem } from '@bejamas/ui/components/link-group';
23
- * ---
24
- *
25
- * <LinkGroup>
26
- * <LinkGroupTitle>Company</LinkGroupTitle>
27
- * <LinkGroupList>
28
- * <LinkGroupItem><a href="/">Home</a></LinkGroupItem>
29
- * </LinkGroupList>
30
- * </LinkGroup>
31
- * ```
32
- *
33
- * @examples
34
- *
35
- * ### Horizontal orientation
36
- *
37
- * <LinkGroup>
38
- * <LinkGroupTitle>Company</LinkGroupTitle>
39
- * <LinkGroupList orientation="horizontal">
40
- * <LinkGroupItem><a href="/">Home</a></LinkGroupItem>
41
- * <LinkGroupItem><a href="#">About</a></LinkGroupItem>
42
- * <LinkGroupItem><a href="#">Careers</a></LinkGroupItem>
43
- * </LinkGroupList>
44
- * </LinkGroup>
45
- */
46
-
47
- import type { HTMLAttributes } from "astro/types";
48
- import { cn } from "@cl-light-ds/ui/lib/utils";
49
-
50
- interface Props extends HTMLAttributes<"div"> {
51
- class?: string;
52
- }
53
-
54
- const {
55
- class: className = "",
56
- ...rest
57
- } = Astro.props as Props;
58
- ---
59
-
60
- <div
61
- {...rest}
62
- data-slot="link-group"
63
- class={cn("", "flex flex-col items-start gap-2", className)}
64
- >
65
- <slot />
66
- </div>
67
-
1
+ ---
2
+ /**
3
+ * @component LinkGroup
4
+ * @title Link Group
5
+ * @description A group of related links with optional title for navigation or footer sections.
6
+ * @figmaUrl https://www.figma.com/design/qXkzdqZ3QPQqgckU3AwIAH/ClickLearn-Lightning-Design-Library?node-id=2329-7942
7
+ *
8
+ * @preview
9
+ *
10
+ * <LinkGroup>
11
+ * <LinkGroupTitle>Company</LinkGroupTitle>
12
+ * <LinkGroupList>
13
+ * <LinkGroupItem><a href="/">Home</a></LinkGroupItem>
14
+ * <LinkGroupItem><a href="#">About</a></LinkGroupItem>
15
+ * </LinkGroupList>
16
+ * </LinkGroup>
17
+ *
18
+ * @usage
19
+ *
20
+ * ```astro nocollapse
21
+ * ---
22
+ * import { LinkGroup, LinkGroupTitle, LinkGroupList, LinkGroupItem } from '@bejamas/ui/components/link-group';
23
+ * ---
24
+ *
25
+ * <LinkGroup>
26
+ * <LinkGroupTitle>Company</LinkGroupTitle>
27
+ * <LinkGroupList>
28
+ * <LinkGroupItem><a href="/">Home</a></LinkGroupItem>
29
+ * </LinkGroupList>
30
+ * </LinkGroup>
31
+ * ```
32
+ *
33
+ * @examples
34
+ *
35
+ * ### Horizontal orientation
36
+ *
37
+ * <LinkGroup>
38
+ * <LinkGroupTitle>Company</LinkGroupTitle>
39
+ * <LinkGroupList orientation="horizontal">
40
+ * <LinkGroupItem><a href="/">Home</a></LinkGroupItem>
41
+ * <LinkGroupItem><a href="#">About</a></LinkGroupItem>
42
+ * <LinkGroupItem><a href="#">Careers</a></LinkGroupItem>
43
+ * </LinkGroupList>
44
+ * </LinkGroup>
45
+ */
46
+
47
+ import type { HTMLAttributes } from "astro/types";
48
+ import { cn } from "@cl-light-ds/ui/lib/utils";
49
+
50
+ interface Props extends HTMLAttributes<"div"> {
51
+ class?: string;
52
+ }
53
+
54
+ const {
55
+ class: className = "",
56
+ ...rest
57
+ } = Astro.props as Props;
58
+ ---
59
+
60
+ <div
61
+ {...rest}
62
+ data-slot="link-group"
63
+ class={cn("", "flex flex-col items-start gap-2", className)}
64
+ >
65
+ <slot />
66
+ </div>
67
+
@@ -1,32 +1,32 @@
1
- ---
2
- /**
3
- * @component LinkGroupItem
4
- * @title Link Group Item
5
- * @description A single link row inside a LinkGroupList, styling a slotted `<a>` with the group's link typography and states.
6
- * @figmaUrl https://www.figma.com/design/qXkzdqZ3QPQqgckU3AwIAH/ClickLearn-Lightning-Design-Library?node-id=2166-5713
7
- */
8
-
9
- import { cn } from "@cl-light-ds/ui/lib/utils";
10
- import type { HTMLAttributes } from "astro/types";
11
-
12
- interface Props extends HTMLAttributes<"li"> {
13
- class?: string;
14
- }
15
-
16
- const {
17
- class: className = "",
18
- ...rest
19
- } = Astro.props as Props;
20
- ---
21
-
22
- <li
23
- {...rest}
24
- data-slot="link-group-item"
25
- class={cn(
26
- "[&_a]:inline-flex [&_a]:items-center [&_a]:rounded-lg [&_a]:p-0.5 [&_a]:text-sm [&_a]:font-medium [&_a]:leading-5 [&_a]:text-muted-foreground [&_a]:transition-colors [&_a]:underline-offset-4 [&_a:hover]:underline [&_a]:outline-hidden [&_a:focus-visible]:ring-2 [&_a:focus-visible]:ring-chart-1",
27
- className,
28
- )}
29
- >
30
- <slot />
31
- </li>
32
-
1
+ ---
2
+ /**
3
+ * @component LinkGroupItem
4
+ * @title Link Group Item
5
+ * @description A single link row inside a LinkGroupList, styling a slotted `<a>` with the group's link typography and states.
6
+ * @figmaUrl https://www.figma.com/design/qXkzdqZ3QPQqgckU3AwIAH/ClickLearn-Lightning-Design-Library?node-id=2166-5713
7
+ */
8
+
9
+ import { cn } from "@cl-light-ds/ui/lib/utils";
10
+ import type { HTMLAttributes } from "astro/types";
11
+
12
+ interface Props extends HTMLAttributes<"li"> {
13
+ class?: string;
14
+ }
15
+
16
+ const {
17
+ class: className = "",
18
+ ...rest
19
+ } = Astro.props as Props;
20
+ ---
21
+
22
+ <li
23
+ {...rest}
24
+ data-slot="link-group-item"
25
+ class={cn(
26
+ "[&_a]:inline-flex [&_a]:items-center [&_a]:rounded-lg [&_a]:p-0.5 [&_a]:text-sm [&_a]:font-medium [&_a]:leading-5 [&_a]:text-muted-foreground [&_a]:transition-colors [&_a]:underline-offset-4 [&_a:hover]:underline [&_a]:outline-hidden [&_a:focus-visible]:ring-2 [&_a:focus-visible]:ring-chart-1",
27
+ className,
28
+ )}
29
+ >
30
+ <slot />
31
+ </li>
32
+
@@ -1,25 +1,25 @@
1
- ---
2
- import { cn } from "@cl-light-ds/ui/lib/utils";
3
- import type { HTMLAttributes } from "astro/types";
4
- import { linkGroupListVariants, type LinkGroupOrientation } from "./link-group-list-variants";
5
-
6
- interface Props extends HTMLAttributes<"ul"> {
7
- orientation?: LinkGroupOrientation;
8
- class?: string;
9
- }
10
-
11
- const {
12
- orientation = "vertical",
13
- class: className = "",
14
- ...rest
15
- } = Astro.props as Props;
16
- ---
17
-
18
- <ul
19
- {...rest}
20
- data-slot="link-group-list"
21
- data-orientation={orientation}
22
- class={cn(linkGroupListVariants({ orientation }), className)}
23
- >
24
- <slot />
25
- </ul>
1
+ ---
2
+ import { cn } from "@cl-light-ds/ui/lib/utils";
3
+ import type { HTMLAttributes } from "astro/types";
4
+ import { linkGroupListVariants, type LinkGroupOrientation } from "./link-group-list-variants";
5
+
6
+ interface Props extends HTMLAttributes<"ul"> {
7
+ orientation?: LinkGroupOrientation;
8
+ class?: string;
9
+ }
10
+
11
+ const {
12
+ orientation = "vertical",
13
+ class: className = "",
14
+ ...rest
15
+ } = Astro.props as Props;
16
+ ---
17
+
18
+ <ul
19
+ {...rest}
20
+ data-slot="link-group-list"
21
+ data-orientation={orientation}
22
+ class={cn(linkGroupListVariants({ orientation }), className)}
23
+ >
24
+ <slot />
25
+ </ul>
@@ -1,22 +1,22 @@
1
- ---
2
- import { cn } from "@cl-light-ds/ui/lib/utils";
3
- import type { HTMLAttributes } from "astro/types";
4
-
5
- interface Props extends HTMLAttributes<"div"> {
6
- class?: string;
7
- }
8
-
9
- const {
10
- class: className = "",
11
- ...rest
12
- } = Astro.props as Props;
13
- ---
14
-
15
- <div
16
- {...rest}
17
- data-slot="link-group-title"
18
- class={cn("", "text-base font-semibold text-foreground", className)}
19
- >
20
- <slot />
21
- </div>
22
-
1
+ ---
2
+ import { cn } from "@cl-light-ds/ui/lib/utils";
3
+ import type { HTMLAttributes } from "astro/types";
4
+
5
+ interface Props extends HTMLAttributes<"div"> {
6
+ class?: string;
7
+ }
8
+
9
+ const {
10
+ class: className = "",
11
+ ...rest
12
+ } = Astro.props as Props;
13
+ ---
14
+
15
+ <div
16
+ {...rest}
17
+ data-slot="link-group-title"
18
+ class={cn("", "text-base font-semibold text-foreground", className)}
19
+ >
20
+ <slot />
21
+ </div>
22
+