@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.
- package/README.md +45 -45
- package/package.json +1 -1
- package/src/components/accordion/Accordion.astro +248 -248
- package/src/components/accordion/AccordionContent.astro +26 -26
- package/src/components/accordion/AccordionItem.astro +36 -36
- package/src/components/accordion/AccordionTrigger.astro +118 -118
- package/src/components/alert/Alert.astro +167 -167
- package/src/components/alert/AlertDescription.astro +24 -24
- package/src/components/alert/AlertTitle.astro +24 -24
- package/src/components/avatar/Avatar.astro +197 -197
- package/src/components/avatar/AvatarBadge.astro +44 -44
- package/src/components/avatar/AvatarFallback.astro +26 -26
- package/src/components/avatar/AvatarGroup.astro +26 -26
- package/src/components/avatar/AvatarGroupCount.astro +30 -30
- package/src/components/avatar/AvatarImage.astro +46 -46
- package/src/components/badge/Badge.astro +167 -167
- package/src/components/breadcrumb/Breadcrumb.astro +76 -76
- package/src/components/breadcrumb/BreadcrumbItem.astro +32 -32
- package/src/components/breadcrumb/BreadcrumbList.astro +26 -26
- package/src/components/breadcrumb/BreadcrumbSeparator.astro +26 -26
- package/src/components/button/Button.astro +233 -233
- package/src/components/button-group/ButtonGroup.astro +130 -130
- package/src/components/button-group/ButtonGroupSeparator.astro +30 -30
- package/src/components/button-group/ButtonGroupText.astro +21 -21
- package/src/components/card/Card.astro +182 -182
- package/src/components/card/CardAction.astro +26 -26
- package/src/components/card/CardContent.astro +28 -28
- package/src/components/card/CardDescription.astro +28 -28
- package/src/components/card/CardFooter.astro +24 -24
- package/src/components/card/CardHeader.astro +30 -30
- package/src/components/card/CardMedia.astro +27 -27
- package/src/components/card/CardOverlay.astro +32 -32
- package/src/components/card/CardTitle.astro +21 -21
- package/src/components/carousel/Carousel.astro +106 -106
- package/src/components/carousel/CarouselSlide.astro +22 -22
- package/src/components/checkbox/Checkbox.astro +159 -159
- package/src/components/collapsible/Collapsible.astro +202 -202
- package/src/components/collapsible/CollapsibleContent.astro +36 -36
- package/src/components/collapsible/CollapsibleTrigger.astro +34 -34
- package/src/components/combobox/Combobox.astro +365 -365
- package/src/components/combobox/ComboboxContent.astro +37 -37
- package/src/components/combobox/ComboboxEmpty.astro +18 -18
- package/src/components/combobox/ComboboxGroup.astro +19 -19
- package/src/components/combobox/ComboboxInput.astro +74 -74
- package/src/components/combobox/ComboboxItem.astro +39 -39
- package/src/components/combobox/ComboboxLabel.astro +18 -18
- package/src/components/combobox/ComboboxList.astro +21 -21
- package/src/components/combobox/ComboboxSeparator.astro +17 -17
- package/src/components/combobox/ComboboxTrigger.astro +30 -30
- package/src/components/combobox/ComboboxValue.astro +22 -22
- package/src/components/date/Date.astro +137 -137
- package/src/components/dialog/Dialog.astro +196 -196
- package/src/components/dialog/DialogClose.astro +23 -23
- package/src/components/dialog/DialogContent.astro +42 -42
- package/src/components/dialog/DialogDescription.astro +18 -18
- package/src/components/dialog/DialogFooter.astro +18 -18
- package/src/components/dialog/DialogHeader.astro +18 -18
- package/src/components/dialog/DialogOverlay.astro +19 -19
- package/src/components/dialog/DialogTitle.astro +18 -18
- package/src/components/dialog/DialogTrigger.astro +37 -37
- package/src/components/dropdown-menu/DropdownMenu.astro +226 -226
- package/src/components/dropdown-menu/DropdownMenuCheckboxItem.astro +114 -114
- package/src/components/dropdown-menu/DropdownMenuContent.astro +42 -42
- package/src/components/dropdown-menu/DropdownMenuGroup.astro +19 -19
- package/src/components/dropdown-menu/DropdownMenuItem.astro +220 -220
- package/src/components/dropdown-menu/DropdownMenuLabel.astro +20 -20
- package/src/components/dropdown-menu/DropdownMenuRadioItem.astro +101 -101
- package/src/components/dropdown-menu/DropdownMenuSeparator.astro +18 -18
- package/src/components/dropdown-menu/DropdownMenuShortcut.astro +18 -18
- package/src/components/dropdown-menu/DropdownMenuTrigger.astro +49 -49
- package/src/components/field/Field.astro +664 -664
- package/src/components/field/FieldContent.astro +20 -20
- package/src/components/field/FieldDescription.astro +22 -22
- package/src/components/field/FieldError.astro +51 -51
- package/src/components/field/FieldGroup.astro +20 -20
- package/src/components/field/FieldLabel.astro +22 -22
- package/src/components/field/FieldLegend.astro +23 -23
- package/src/components/field/FieldSeparator.astro +30 -30
- package/src/components/field/FieldSet.astro +20 -20
- package/src/components/field/FieldTitle.astro +20 -20
- package/src/components/hover-card/HoverCard.astro +235 -235
- package/src/components/hover-card/HoverCardContent.astro +54 -54
- package/src/components/hover-card/HoverCardTrigger.astro +38 -38
- package/src/components/input/Input.astro +130 -130
- package/src/components/input-group/InputGroup.astro +135 -135
- package/src/components/input-group/InputGroupAddon.astro +49 -49
- package/src/components/input-group/InputGroupButton.astro +58 -58
- package/src/components/input-group/InputGroupInput.astro +18 -18
- package/src/components/input-group/InputGroupText.astro +21 -21
- package/src/components/input-group/InputGroupTextarea.astro +17 -17
- package/src/components/item/Item.astro +122 -122
- package/src/components/item/ItemActions.astro +21 -21
- package/src/components/item/ItemContent.astro +25 -25
- package/src/components/item/ItemDescription.astro +25 -25
- package/src/components/item/ItemFooter.astro +24 -24
- package/src/components/item/ItemGroup.astro +24 -24
- package/src/components/item/ItemHeader.astro +24 -24
- package/src/components/item/ItemMedia.astro +47 -47
- package/src/components/item/ItemSeparator.astro +21 -21
- package/src/components/item/ItemTitle.astro +25 -25
- package/src/components/kbd/Kbd.astro +145 -145
- package/src/components/kbd/KbdGroup.astro +55 -55
- package/src/components/label/Label.astro +97 -97
- package/src/components/link-group/LinkGroup.astro +67 -67
- package/src/components/link-group/LinkGroupItem.astro +32 -32
- package/src/components/link-group/LinkGroupList.astro +25 -25
- package/src/components/link-group/LinkGroupTitle.astro +22 -22
- package/src/components/marquee/Marquee.astro +119 -119
- package/src/components/native-select/NativeSelect.astro +125 -125
- package/src/components/native-select/NativeSelectOptGroup.astro +14 -14
- package/src/components/navigation-menu/NavigationMenu.astro +414 -414
- package/src/components/navigation-menu/NavigationMenuContent.astro +37 -37
- package/src/components/navigation-menu/NavigationMenuIndicator.astro +24 -24
- package/src/components/navigation-menu/NavigationMenuItem.astro +22 -22
- package/src/components/navigation-menu/NavigationMenuLink.astro +18 -18
- package/src/components/navigation-menu/NavigationMenuList.astro +21 -21
- package/src/components/navigation-menu/NavigationMenuPositioner.astro +44 -44
- package/src/components/navigation-menu/NavigationMenuTrigger.astro +30 -30
- package/src/components/navigation-menu/NavigationMenuViewport.astro +19 -19
- package/src/components/popover/CHANGELOG.md +17 -2
- package/src/components/popover/Popover.astro +211 -210
- package/src/components/popover/PopoverClose.astro +18 -18
- package/src/components/popover/PopoverContent.astro +50 -49
- package/src/components/popover/PopoverDescription.astro +18 -18
- package/src/components/popover/PopoverHeader.astro +18 -18
- package/src/components/popover/PopoverTitle.astro +18 -18
- package/src/components/popover/PopoverTrigger.astro +35 -29
- package/src/components/radio-group/CHANGELOG.md +23 -1
- package/src/components/radio-group/RadioGroup.astro +81 -81
- package/src/components/radio-group/RadioGroupItem.astro +51 -42
- package/src/components/select/Select.astro +373 -373
- package/src/components/select/SelectContent.astro +91 -91
- package/src/components/select/SelectGroup.astro +19 -19
- package/src/components/select/SelectItem.astro +48 -48
- package/src/components/select/SelectLabel.astro +18 -18
- package/src/components/select/SelectSeparator.astro +17 -17
- package/src/components/select/SelectTrigger.astro +34 -34
- package/src/components/select/SelectValue.astro +22 -22
- package/src/components/separator/Separator.astro +60 -60
- package/src/components/skeleton/Skeleton.astro +121 -121
- package/src/components/slider/Slider.astro +198 -198
- package/src/components/spinner/CHANGELOG.md +14 -1
- package/src/components/spinner/Spinner.astro +135 -134
- package/src/components/sticky-surface/StickySurface.astro +152 -152
- package/src/components/switch/CHANGELOG.md +20 -0
- package/src/components/switch/Switch.astro +106 -106
- package/src/components/table/CHANGELOG.md +21 -2
- package/src/components/table/Table.astro +251 -250
- package/src/components/table/TableBody.astro +18 -18
- package/src/components/table/TableCaption.astro +17 -17
- package/src/components/table/TableCell.astro +21 -21
- package/src/components/table/TableFooter.astro +21 -21
- package/src/components/table/TableHead.astro +21 -21
- package/src/components/table/TableHeader.astro +17 -17
- package/src/components/table/TableRow.astro +21 -21
- package/src/components/tabs/Tabs.astro +306 -306
- package/src/components/tabs/TabsContent.astro +47 -47
- package/src/components/tabs/TabsList.astro +69 -69
- package/src/components/tabs/TabsTrigger.astro +40 -40
- package/src/components/textarea/CHANGELOG.md +18 -1
- package/src/components/textarea/Textarea.astro +58 -36
- package/src/components/toggle/CHANGELOG.md +19 -1
- package/src/components/toggle/Toggle.astro +150 -138
- package/src/components/toggle-group/CHANGELOG.md +14 -1
- package/src/components/toggle-group/ToggleGroup.astro +236 -224
- package/src/components/toggle-group/ToggleGroupItem.astro +48 -48
- package/src/components/tooltip/CHANGELOG.md +19 -2
- package/src/components/tooltip/Tooltip.astro +357 -331
- package/src/components/tooltip/TooltipContent.astro +85 -60
- package/src/components/tooltip/TooltipTrigger.astro +34 -34
- 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
|
+
|