@cl-light-ds/ui 0.2.0 → 0.4.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 +2 -2
- 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/accordion/CHANGELOG.md +41 -41
- package/src/components/accordion/index.ts +4 -4
- 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/alert/CHANGELOG.md +5 -5
- package/src/components/alert/index.ts +4 -4
- 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/avatar/CHANGELOG.md +44 -44
- package/src/components/avatar/index.ts +6 -6
- package/src/components/badge/Badge.astro +167 -167
- package/src/components/badge/CHANGELOG.md +49 -49
- package/src/components/badge/index.ts +2 -2
- 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/breadcrumb/CHANGELOG.md +24 -24
- package/src/components/breadcrumb/index.ts +5 -5
- package/src/components/button/Button.astro +233 -233
- package/src/components/button/CHANGELOG.md +41 -41
- package/src/components/button/index.ts +2 -2
- 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/button-group/CHANGELOG.md +34 -34
- package/src/components/button-group/index.ts +3 -3
- package/src/components/callout/CHANGELOG.md +32 -0
- package/src/components/callout/Callout.astro +147 -0
- package/src/components/callout/CalloutDescription.astro +16 -0
- package/src/components/callout/CalloutTitle.astro +16 -0
- package/src/components/callout/index.ts +3 -0
- package/src/components/card/CHANGELOG.md +162 -119
- package/src/components/card/Card.astro +197 -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/CardMediaActions.astro +21 -0
- package/src/components/card/CardMediaSelect.astro +21 -0
- package/src/components/card/CardOverlay.astro +32 -32
- package/src/components/card/CardTitle.astro +21 -21
- package/src/components/card/index.ts +12 -10
- package/src/components/carousel/CHANGELOG.md +5 -5
- package/src/components/carousel/Carousel.astro +106 -106
- package/src/components/carousel/CarouselSlide.astro +22 -22
- package/src/components/carousel/index.ts +3 -3
- package/src/components/checkbox/CHANGELOG.md +58 -58
- package/src/components/checkbox/Checkbox.astro +159 -159
- package/src/components/checkbox/index.ts +1 -1
- package/src/components/collapsible/CHANGELOG.md +5 -5
- 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/collapsible/index.ts +4 -4
- package/src/components/combobox/CHANGELOG.md +27 -27
- 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/combobox/index.ts +11 -11
- package/src/components/date/CHANGELOG.md +18 -18
- package/src/components/date/Date.astro +137 -137
- package/src/components/date/index.ts +2 -2
- package/src/components/dialog/CHANGELOG.md +39 -39
- 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/dialog/index.ts +9 -9
- package/src/components/dropdown-menu/CHANGELOG.md +194 -194
- 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/DropdownMenuItemContent.astro +79 -79
- package/src/components/dropdown-menu/DropdownMenuLabel.astro +20 -20
- package/src/components/dropdown-menu/DropdownMenuPortal.astro +13 -13
- package/src/components/dropdown-menu/DropdownMenuRadioGroup.astro +13 -13
- 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/dropdown-menu/dropdown-menu-item-variants.ts +24 -24
- package/src/components/dropdown-menu/index.ts +12 -12
- package/src/components/field/CHANGELOG.md +33 -33
- 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/field/index.ts +10 -10
- package/src/components/hover-card/CHANGELOG.md +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/hover-card/index.ts +3 -3
- package/src/components/input/CHANGELOG.md +44 -29
- package/src/components/input/Input.astro +130 -130
- package/src/components/input/InputOTP.astro +211 -0
- package/src/components/input/index.ts +2 -2
- package/src/components/input-group/CHANGELOG.md +49 -49
- 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/input-group/controlClasses.ts +2 -2
- package/src/components/input-group/index.ts +6 -6
- package/src/components/item/CHANGELOG.md +27 -27
- 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/item/index.ts +10 -10
- package/src/components/kbd/CHANGELOG.md +5 -5
- package/src/components/kbd/Kbd.astro +145 -145
- package/src/components/kbd/KbdGroup.astro +55 -55
- package/src/components/kbd/index.ts +2 -2
- package/src/components/label/CHANGELOG.md +28 -28
- package/src/components/label/Label.astro +97 -97
- package/src/components/label/index.ts +2 -2
- package/src/components/link-group/CHANGELOG.md +75 -75
- 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/link-group/index.ts +5 -5
- package/src/components/link-group/link-group-list-variants.ts +15 -15
- package/src/components/logo/CHANGELOG.md +17 -0
- package/src/components/logo/Logo.astro +90 -0
- package/src/components/logo/index.ts +3 -0
- package/src/components/logo/logo-paths.ts +57 -0
- package/src/components/marquee/CHANGELOG.md +5 -5
- package/src/components/marquee/Marquee.astro +119 -119
- package/src/components/marquee/index.ts +2 -2
- package/src/components/native-select/CHANGELOG.md +5 -5
- package/src/components/native-select/NativeSelect.astro +125 -125
- package/src/components/native-select/NativeSelectOptGroup.astro +14 -14
- package/src/components/native-select/NativeSelectOption.astro +9 -9
- package/src/components/native-select/index.ts +3 -3
- package/src/components/navigation-menu/CHANGELOG.md +63 -63
- 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/navigation-menu/index.ts +10 -10
- package/src/components/organisms/lightning-sidebar-nav/CHANGELOG.md +50 -0
- package/src/components/organisms/lightning-sidebar-nav/LightningSidebarNav.astro +176 -0
- package/src/components/organisms/lightning-sidebar-nav/SidebarNav.astro +50 -0
- package/src/components/organisms/lightning-sidebar-nav/SidebarNavGroup.astro +74 -0
- package/src/components/organisms/lightning-sidebar-nav/SidebarNavItem.astro +94 -0
- package/src/components/organisms/lightning-sidebar-nav/SidebarNavProBadge.astro +26 -0
- package/src/components/organisms/lightning-sidebar-nav/SidebarNavSection.astro +71 -0
- package/src/components/organisms/lightning-sidebar-nav/SidebarNavSkeleton.astro +67 -0
- package/src/components/organisms/lightning-sidebar-nav/SidebarNavSubItem.astro +69 -0
- package/src/components/organisms/lightning-sidebar-nav/SidebarNavUsage.astro +78 -0
- package/src/components/organisms/lightning-sidebar-nav/SidebarNavWorkspaceAvatar.astro +46 -0
- package/src/components/organisms/lightning-sidebar-nav/SidebarNavWorkspaceSwitcher.astro +130 -0
- package/src/components/organisms/lightning-sidebar-nav/icons.ts +46 -0
- package/src/components/organisms/lightning-sidebar-nav/index.ts +18 -0
- package/src/components/organisms/lightning-sidebar-nav/types.ts +77 -0
- package/src/components/popover/CHANGELOG.md +20 -20
- package/src/components/popover/Popover.astro +211 -211
- package/src/components/popover/PopoverClose.astro +18 -18
- package/src/components/popover/PopoverContent.astro +50 -50
- 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 -35
- package/src/components/popover/index.ts +7 -7
- package/src/components/radio-group/CHANGELOG.md +31 -31
- package/src/components/radio-group/RadioGroup.astro +81 -81
- package/src/components/radio-group/RadioGroupItem.astro +51 -51
- package/src/components/radio-group/index.ts +3 -3
- package/src/components/select/CHANGELOG.md +39 -39
- 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/select/index.ts +8 -8
- package/src/components/separator/CHANGELOG.md +5 -5
- package/src/components/separator/Separator.astro +60 -60
- package/src/components/separator/index.ts +2 -2
- package/src/components/skeleton/CHANGELOG.md +5 -5
- package/src/components/skeleton/Skeleton.astro +121 -121
- package/src/components/skeleton/index.ts +1 -1
- package/src/components/slider/CHANGELOG.md +5 -5
- package/src/components/slider/Slider.astro +198 -198
- package/src/components/slider/index.ts +1 -1
- package/src/components/spinner/CHANGELOG.md +18 -18
- package/src/components/spinner/Spinner.astro +135 -135
- package/src/components/spinner/index.ts +1 -1
- package/src/components/sticky-surface/CHANGELOG.md +5 -5
- package/src/components/sticky-surface/StickySurface.astro +152 -152
- package/src/components/sticky-surface/index.ts +2 -2
- package/src/components/switch/CHANGELOG.md +29 -29
- package/src/components/switch/Switch.astro +106 -106
- package/src/components/switch/index.ts +1 -1
- package/src/components/table/CHANGELOG.md +24 -24
- package/src/components/table/Table.astro +358 -251
- package/src/components/table/TableBody.astro +17 -18
- package/src/components/table/TableBulkToolbar.astro +37 -0
- package/src/components/table/TableCaption.astro +17 -17
- package/src/components/table/TableCell.astro +45 -21
- package/src/components/table/TableCellText.astro +17 -0
- package/src/components/table/TableColumnMenu.astro +50 -0
- package/src/components/table/TableEditableCell.astro +287 -0
- package/src/components/table/TableEmpty.astro +17 -0
- package/src/components/table/TableFolderCell.astro +38 -0
- package/src/components/table/TableFooter.astro +21 -21
- package/src/components/table/TableHead.astro +90 -21
- package/src/components/table/TableHeader.astro +17 -17
- package/src/components/table/TablePagination.astro +57 -0
- package/src/components/table/TableRow.astro +52 -21
- package/src/components/table/TableSelectAllBanner.astro +34 -0
- package/src/components/table/TableSelectCell.astro +50 -0
- package/src/components/table/TableSkeletonRow.astro +21 -0
- package/src/components/table/index.ts +19 -9
- package/src/components/table/table-cell-variants.ts +29 -0
- package/src/components/tabs/CHANGELOG.md +5 -5
- 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/tabs/index.ts +6 -6
- package/src/components/textarea/CHANGELOG.md +22 -22
- package/src/components/textarea/Textarea.astro +58 -58
- package/src/components/textarea/index.ts +2 -2
- package/src/components/toggle/CHANGELOG.md +23 -23
- package/src/components/toggle/Toggle.astro +150 -150
- package/src/components/toggle/index.ts +1 -1
- package/src/components/toggle-group/CHANGELOG.md +18 -18
- package/src/components/toggle-group/ToggleGroup.astro +236 -236
- package/src/components/toggle-group/ToggleGroupItem.astro +48 -48
- package/src/components/toggle-group/index.ts +2 -2
- package/src/components/tooltip/CHANGELOG.md +22 -22
- package/src/components/tooltip/Tooltip.astro +357 -357
- package/src/components/tooltip/TooltipContent.astro +85 -85
- package/src/components/tooltip/TooltipTrigger.astro +34 -34
- package/src/components/tooltip/index.ts +3 -3
- package/src/lib/table-controller.ts +1090 -0
- package/src/lib/toggle-group-controller.ts +113 -113
- package/src/lib/toggle-shared.ts +27 -27
- package/src/lib/utils.ts +6 -6
- package/src/styles/globals.css +209 -177
|
@@ -1,211 +1,211 @@
|
|
|
1
|
-
---
|
|
2
|
-
/**
|
|
3
|
-
* @component Popover
|
|
4
|
-
* @title Popover
|
|
5
|
-
* @description A floating panel that appears on trigger click, useful for displaying rich content like forms or additional information.
|
|
6
|
-
* @figmaUrl https://www.figma.com/design/qXkzdqZ3QPQqgckU3AwIAH/ClickLearn-Lightning-Design-Library?node-id=5548-11795
|
|
7
|
-
*
|
|
8
|
-
* @preview
|
|
9
|
-
* <Popover>
|
|
10
|
-
* <PopoverTrigger variant="outline">Open popover</PopoverTrigger>
|
|
11
|
-
* <PopoverContent>
|
|
12
|
-
* <PopoverHeader>
|
|
13
|
-
* <PopoverTitle>Dimensions</PopoverTitle>
|
|
14
|
-
* <PopoverDescription>Set the dimensions for the layer.</PopoverDescription>
|
|
15
|
-
* </PopoverHeader>
|
|
16
|
-
* <div class="grid gap-2">
|
|
17
|
-
* <div class="grid grid-cols-3 items-center gap-4">
|
|
18
|
-
* <Label>Width</Label>
|
|
19
|
-
* <Input class="col-span-2 h-8" value="100%" />
|
|
20
|
-
* </div>
|
|
21
|
-
* <div class="grid grid-cols-3 items-center gap-4">
|
|
22
|
-
* <Label>Height</Label>
|
|
23
|
-
* <Input class="col-span-2 h-8" value="25px" />
|
|
24
|
-
* </div>
|
|
25
|
-
* </div>
|
|
26
|
-
* </PopoverContent>
|
|
27
|
-
* </Popover>
|
|
28
|
-
*
|
|
29
|
-
* @usage
|
|
30
|
-
*
|
|
31
|
-
* ```astro nocollapse
|
|
32
|
-
* ---
|
|
33
|
-
* import { Popover, PopoverTrigger, PopoverContent, PopoverHeader, PopoverTitle, PopoverDescription } from '@bejamas/ui/components/popover';
|
|
34
|
-
* ---
|
|
35
|
-
*
|
|
36
|
-
* <Popover>
|
|
37
|
-
* <PopoverTrigger variant="outline">Open</PopoverTrigger>
|
|
38
|
-
* <PopoverContent>
|
|
39
|
-
* <PopoverHeader>
|
|
40
|
-
* <PopoverTitle>Title</PopoverTitle>
|
|
41
|
-
* <PopoverDescription>Description text.</PopoverDescription>
|
|
42
|
-
* </PopoverHeader>
|
|
43
|
-
* <p>Popover body content.</p>
|
|
44
|
-
* </PopoverContent>
|
|
45
|
-
* </Popover>
|
|
46
|
-
* ```
|
|
47
|
-
*
|
|
48
|
-
* @api
|
|
49
|
-
*
|
|
50
|
-
* ### Events
|
|
51
|
-
*
|
|
52
|
-
* The popover emits custom events that you can listen to:
|
|
53
|
-
*
|
|
54
|
-
* | Event | Detail | Description |
|
|
55
|
-
* |-------|--------|-------------|
|
|
56
|
-
* | `popover:change` | `{ open: boolean }` | Fired when the popover opens or closes |
|
|
57
|
-
*
|
|
58
|
-
* ```astro nocollapse console
|
|
59
|
-
* <Popover id="my-popover">
|
|
60
|
-
* <PopoverTrigger variant="outline">Open</PopoverTrigger>
|
|
61
|
-
* <PopoverContent>
|
|
62
|
-
* <p>Content</p>
|
|
63
|
-
* </PopoverContent>
|
|
64
|
-
* </Popover>
|
|
65
|
-
* ```
|
|
66
|
-
*
|
|
67
|
-
* ```js nocollapse
|
|
68
|
-
* const popover = document.getElementById('my-popover');
|
|
69
|
-
*
|
|
70
|
-
* popover.addEventListener('popover:change', (e) => {
|
|
71
|
-
* console.log('Is open:', e.detail.open);
|
|
72
|
-
* });
|
|
73
|
-
* ```
|
|
74
|
-
*
|
|
75
|
-
* ### Programmatic Control
|
|
76
|
-
*
|
|
77
|
-
* You can control the popover programmatically by dispatching a `popover:set` event:
|
|
78
|
-
*
|
|
79
|
-
* ```js nocollapse
|
|
80
|
-
* const popover = document.getElementById('my-popover');
|
|
81
|
-
*
|
|
82
|
-
* // Open the popover
|
|
83
|
-
* popover.dispatchEvent(new CustomEvent('popover:set', {
|
|
84
|
-
* detail: { open: true }
|
|
85
|
-
* }));
|
|
86
|
-
*
|
|
87
|
-
* // Close the popover
|
|
88
|
-
* popover.dispatchEvent(new CustomEvent('popover:set', {
|
|
89
|
-
* detail: { open: false }
|
|
90
|
-
* }));
|
|
91
|
-
* ```
|
|
92
|
-
*
|
|
93
|
-
* ### Data Attributes
|
|
94
|
-
*
|
|
95
|
-
* The popover sets these data attributes that you can use for styling or querying state:
|
|
96
|
-
*
|
|
97
|
-
* | Attribute | Element | Description |
|
|
98
|
-
* |-----------|---------|-------------|
|
|
99
|
-
* | `data-state` | popover, popover-content | Current state (`open` or `closed`) |
|
|
100
|
-
* | `data-side` | popover, popover-content | Position relative to trigger (`top`, `bottom`, `left`, `right`) |
|
|
101
|
-
* | `data-align` | popover, popover-content | Alignment (`start`, `center`, or `end`) |
|
|
102
|
-
*
|
|
103
|
-
* @examples
|
|
104
|
-
*
|
|
105
|
-
* ### Basic
|
|
106
|
-
*
|
|
107
|
-
* <Popover>
|
|
108
|
-
* <PopoverTrigger variant="outline">Open popover</PopoverTrigger>
|
|
109
|
-
* <PopoverContent>
|
|
110
|
-
* <PopoverHeader>
|
|
111
|
-
* <PopoverTitle>Popover Title</PopoverTitle>
|
|
112
|
-
* <PopoverDescription>This is a simple popover.</PopoverDescription>
|
|
113
|
-
* </PopoverHeader>
|
|
114
|
-
* </PopoverContent>
|
|
115
|
-
* </Popover>
|
|
116
|
-
*
|
|
117
|
-
* ### Side Variants
|
|
118
|
-
*
|
|
119
|
-
* <div class="flex gap-4 items-center justify-center py-8">
|
|
120
|
-
* <Popover>
|
|
121
|
-
* <PopoverTrigger variant="outline">Left</PopoverTrigger>
|
|
122
|
-
* <PopoverContent side="left">
|
|
123
|
-
* <p>Popover on the left</p>
|
|
124
|
-
* </PopoverContent>
|
|
125
|
-
* </Popover>
|
|
126
|
-
* <Popover>
|
|
127
|
-
* <PopoverTrigger variant="outline">Top</PopoverTrigger>
|
|
128
|
-
* <PopoverContent side="top">
|
|
129
|
-
* <p>Popover on top</p>
|
|
130
|
-
* </PopoverContent>
|
|
131
|
-
* </Popover>
|
|
132
|
-
* <Popover>
|
|
133
|
-
* <PopoverTrigger variant="outline">Bottom</PopoverTrigger>
|
|
134
|
-
* <PopoverContent side="bottom">
|
|
135
|
-
* <p>Popover on bottom</p>
|
|
136
|
-
* </PopoverContent>
|
|
137
|
-
* </Popover>
|
|
138
|
-
* <Popover>
|
|
139
|
-
* <PopoverTrigger variant="outline">Right</PopoverTrigger>
|
|
140
|
-
* <PopoverContent side="right">
|
|
141
|
-
* <p>Popover on the right</p>
|
|
142
|
-
* </PopoverContent>
|
|
143
|
-
* </Popover>
|
|
144
|
-
* </div>
|
|
145
|
-
*
|
|
146
|
-
* ### Alignment Variants
|
|
147
|
-
*
|
|
148
|
-
* <div class="flex gap-8">
|
|
149
|
-
* <Popover>
|
|
150
|
-
* <PopoverTrigger variant="outline">Start</PopoverTrigger>
|
|
151
|
-
* <PopoverContent side="bottom" align="start">
|
|
152
|
-
* <p>Start-aligned content</p>
|
|
153
|
-
* </PopoverContent>
|
|
154
|
-
* </Popover>
|
|
155
|
-
* <Popover>
|
|
156
|
-
* <PopoverTrigger variant="outline">Center</PopoverTrigger>
|
|
157
|
-
* <PopoverContent side="bottom" align="center">
|
|
158
|
-
* <p>Center-aligned content</p>
|
|
159
|
-
* </PopoverContent>
|
|
160
|
-
* </Popover>
|
|
161
|
-
* <Popover>
|
|
162
|
-
* <PopoverTrigger variant="outline">End</PopoverTrigger>
|
|
163
|
-
* <PopoverContent side="bottom" align="end">
|
|
164
|
-
* <p>End-aligned content</p>
|
|
165
|
-
* </PopoverContent>
|
|
166
|
-
* </Popover>
|
|
167
|
-
* </div>
|
|
168
|
-
*
|
|
169
|
-
* ### With Form
|
|
170
|
-
*
|
|
171
|
-
* <Popover>
|
|
172
|
-
* <PopoverTrigger variant="outline">Open form</PopoverTrigger>
|
|
173
|
-
* <PopoverContent>
|
|
174
|
-
* <PopoverHeader>
|
|
175
|
-
* <PopoverTitle>Dimensions</PopoverTitle>
|
|
176
|
-
* <PopoverDescription>Set the dimensions for the layer.</PopoverDescription>
|
|
177
|
-
* </PopoverHeader>
|
|
178
|
-
* <div class="grid gap-2">
|
|
179
|
-
* <div class="grid grid-cols-3 items-center gap-4">
|
|
180
|
-
* <Label>Width</Label>
|
|
181
|
-
* <Input class="col-span-2 h-8" value="100%" />
|
|
182
|
-
* </div>
|
|
183
|
-
* <div class="grid grid-cols-3 items-center gap-4">
|
|
184
|
-
* <Label>Height</Label>
|
|
185
|
-
* <Input class="col-span-2 h-8" value="25px" />
|
|
186
|
-
* </div>
|
|
187
|
-
* </div>
|
|
188
|
-
* </PopoverContent>
|
|
189
|
-
* </Popover>
|
|
190
|
-
*/
|
|
191
|
-
|
|
192
|
-
import type { HTMLAttributes } from "astro/types";
|
|
193
|
-
import { cn } from "@cl-light-ds/ui/lib/utils";
|
|
194
|
-
|
|
195
|
-
interface Props extends HTMLAttributes<"div"> {
|
|
196
|
-
class?: string;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
const { class: className = "", ...rest } = Astro.props as Props;
|
|
200
|
-
---
|
|
201
|
-
|
|
202
|
-
<div {...rest} data-slot="popover" class={cn("", "inline-block", className)}>
|
|
203
|
-
<slot />
|
|
204
|
-
</div>
|
|
205
|
-
|
|
206
|
-
<script>
|
|
207
|
-
import { createPopover } from "@data-slot/popover";
|
|
208
|
-
document
|
|
209
|
-
.querySelectorAll('[data-slot="popover"]')
|
|
210
|
-
.forEach((el) => createPopover(el));
|
|
211
|
-
</script>
|
|
1
|
+
---
|
|
2
|
+
/**
|
|
3
|
+
* @component Popover
|
|
4
|
+
* @title Popover
|
|
5
|
+
* @description A floating panel that appears on trigger click, useful for displaying rich content like forms or additional information.
|
|
6
|
+
* @figmaUrl https://www.figma.com/design/qXkzdqZ3QPQqgckU3AwIAH/ClickLearn-Lightning-Design-Library?node-id=5548-11795
|
|
7
|
+
*
|
|
8
|
+
* @preview
|
|
9
|
+
* <Popover>
|
|
10
|
+
* <PopoverTrigger variant="outline">Open popover</PopoverTrigger>
|
|
11
|
+
* <PopoverContent>
|
|
12
|
+
* <PopoverHeader>
|
|
13
|
+
* <PopoverTitle>Dimensions</PopoverTitle>
|
|
14
|
+
* <PopoverDescription>Set the dimensions for the layer.</PopoverDescription>
|
|
15
|
+
* </PopoverHeader>
|
|
16
|
+
* <div class="grid gap-2">
|
|
17
|
+
* <div class="grid grid-cols-3 items-center gap-4">
|
|
18
|
+
* <Label>Width</Label>
|
|
19
|
+
* <Input class="col-span-2 h-8" value="100%" />
|
|
20
|
+
* </div>
|
|
21
|
+
* <div class="grid grid-cols-3 items-center gap-4">
|
|
22
|
+
* <Label>Height</Label>
|
|
23
|
+
* <Input class="col-span-2 h-8" value="25px" />
|
|
24
|
+
* </div>
|
|
25
|
+
* </div>
|
|
26
|
+
* </PopoverContent>
|
|
27
|
+
* </Popover>
|
|
28
|
+
*
|
|
29
|
+
* @usage
|
|
30
|
+
*
|
|
31
|
+
* ```astro nocollapse
|
|
32
|
+
* ---
|
|
33
|
+
* import { Popover, PopoverTrigger, PopoverContent, PopoverHeader, PopoverTitle, PopoverDescription } from '@bejamas/ui/components/popover';
|
|
34
|
+
* ---
|
|
35
|
+
*
|
|
36
|
+
* <Popover>
|
|
37
|
+
* <PopoverTrigger variant="outline">Open</PopoverTrigger>
|
|
38
|
+
* <PopoverContent>
|
|
39
|
+
* <PopoverHeader>
|
|
40
|
+
* <PopoverTitle>Title</PopoverTitle>
|
|
41
|
+
* <PopoverDescription>Description text.</PopoverDescription>
|
|
42
|
+
* </PopoverHeader>
|
|
43
|
+
* <p>Popover body content.</p>
|
|
44
|
+
* </PopoverContent>
|
|
45
|
+
* </Popover>
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* @api
|
|
49
|
+
*
|
|
50
|
+
* ### Events
|
|
51
|
+
*
|
|
52
|
+
* The popover emits custom events that you can listen to:
|
|
53
|
+
*
|
|
54
|
+
* | Event | Detail | Description |
|
|
55
|
+
* |-------|--------|-------------|
|
|
56
|
+
* | `popover:change` | `{ open: boolean }` | Fired when the popover opens or closes |
|
|
57
|
+
*
|
|
58
|
+
* ```astro nocollapse console
|
|
59
|
+
* <Popover id="my-popover">
|
|
60
|
+
* <PopoverTrigger variant="outline">Open</PopoverTrigger>
|
|
61
|
+
* <PopoverContent>
|
|
62
|
+
* <p>Content</p>
|
|
63
|
+
* </PopoverContent>
|
|
64
|
+
* </Popover>
|
|
65
|
+
* ```
|
|
66
|
+
*
|
|
67
|
+
* ```js nocollapse
|
|
68
|
+
* const popover = document.getElementById('my-popover');
|
|
69
|
+
*
|
|
70
|
+
* popover.addEventListener('popover:change', (e) => {
|
|
71
|
+
* console.log('Is open:', e.detail.open);
|
|
72
|
+
* });
|
|
73
|
+
* ```
|
|
74
|
+
*
|
|
75
|
+
* ### Programmatic Control
|
|
76
|
+
*
|
|
77
|
+
* You can control the popover programmatically by dispatching a `popover:set` event:
|
|
78
|
+
*
|
|
79
|
+
* ```js nocollapse
|
|
80
|
+
* const popover = document.getElementById('my-popover');
|
|
81
|
+
*
|
|
82
|
+
* // Open the popover
|
|
83
|
+
* popover.dispatchEvent(new CustomEvent('popover:set', {
|
|
84
|
+
* detail: { open: true }
|
|
85
|
+
* }));
|
|
86
|
+
*
|
|
87
|
+
* // Close the popover
|
|
88
|
+
* popover.dispatchEvent(new CustomEvent('popover:set', {
|
|
89
|
+
* detail: { open: false }
|
|
90
|
+
* }));
|
|
91
|
+
* ```
|
|
92
|
+
*
|
|
93
|
+
* ### Data Attributes
|
|
94
|
+
*
|
|
95
|
+
* The popover sets these data attributes that you can use for styling or querying state:
|
|
96
|
+
*
|
|
97
|
+
* | Attribute | Element | Description |
|
|
98
|
+
* |-----------|---------|-------------|
|
|
99
|
+
* | `data-state` | popover, popover-content | Current state (`open` or `closed`) |
|
|
100
|
+
* | `data-side` | popover, popover-content | Position relative to trigger (`top`, `bottom`, `left`, `right`) |
|
|
101
|
+
* | `data-align` | popover, popover-content | Alignment (`start`, `center`, or `end`) |
|
|
102
|
+
*
|
|
103
|
+
* @examples
|
|
104
|
+
*
|
|
105
|
+
* ### Basic
|
|
106
|
+
*
|
|
107
|
+
* <Popover>
|
|
108
|
+
* <PopoverTrigger variant="outline">Open popover</PopoverTrigger>
|
|
109
|
+
* <PopoverContent>
|
|
110
|
+
* <PopoverHeader>
|
|
111
|
+
* <PopoverTitle>Popover Title</PopoverTitle>
|
|
112
|
+
* <PopoverDescription>This is a simple popover.</PopoverDescription>
|
|
113
|
+
* </PopoverHeader>
|
|
114
|
+
* </PopoverContent>
|
|
115
|
+
* </Popover>
|
|
116
|
+
*
|
|
117
|
+
* ### Side Variants
|
|
118
|
+
*
|
|
119
|
+
* <div class="flex gap-4 items-center justify-center py-8">
|
|
120
|
+
* <Popover>
|
|
121
|
+
* <PopoverTrigger variant="outline">Left</PopoverTrigger>
|
|
122
|
+
* <PopoverContent side="left">
|
|
123
|
+
* <p>Popover on the left</p>
|
|
124
|
+
* </PopoverContent>
|
|
125
|
+
* </Popover>
|
|
126
|
+
* <Popover>
|
|
127
|
+
* <PopoverTrigger variant="outline">Top</PopoverTrigger>
|
|
128
|
+
* <PopoverContent side="top">
|
|
129
|
+
* <p>Popover on top</p>
|
|
130
|
+
* </PopoverContent>
|
|
131
|
+
* </Popover>
|
|
132
|
+
* <Popover>
|
|
133
|
+
* <PopoverTrigger variant="outline">Bottom</PopoverTrigger>
|
|
134
|
+
* <PopoverContent side="bottom">
|
|
135
|
+
* <p>Popover on bottom</p>
|
|
136
|
+
* </PopoverContent>
|
|
137
|
+
* </Popover>
|
|
138
|
+
* <Popover>
|
|
139
|
+
* <PopoverTrigger variant="outline">Right</PopoverTrigger>
|
|
140
|
+
* <PopoverContent side="right">
|
|
141
|
+
* <p>Popover on the right</p>
|
|
142
|
+
* </PopoverContent>
|
|
143
|
+
* </Popover>
|
|
144
|
+
* </div>
|
|
145
|
+
*
|
|
146
|
+
* ### Alignment Variants
|
|
147
|
+
*
|
|
148
|
+
* <div class="flex gap-8">
|
|
149
|
+
* <Popover>
|
|
150
|
+
* <PopoverTrigger variant="outline">Start</PopoverTrigger>
|
|
151
|
+
* <PopoverContent side="bottom" align="start">
|
|
152
|
+
* <p>Start-aligned content</p>
|
|
153
|
+
* </PopoverContent>
|
|
154
|
+
* </Popover>
|
|
155
|
+
* <Popover>
|
|
156
|
+
* <PopoverTrigger variant="outline">Center</PopoverTrigger>
|
|
157
|
+
* <PopoverContent side="bottom" align="center">
|
|
158
|
+
* <p>Center-aligned content</p>
|
|
159
|
+
* </PopoverContent>
|
|
160
|
+
* </Popover>
|
|
161
|
+
* <Popover>
|
|
162
|
+
* <PopoverTrigger variant="outline">End</PopoverTrigger>
|
|
163
|
+
* <PopoverContent side="bottom" align="end">
|
|
164
|
+
* <p>End-aligned content</p>
|
|
165
|
+
* </PopoverContent>
|
|
166
|
+
* </Popover>
|
|
167
|
+
* </div>
|
|
168
|
+
*
|
|
169
|
+
* ### With Form
|
|
170
|
+
*
|
|
171
|
+
* <Popover>
|
|
172
|
+
* <PopoverTrigger variant="outline">Open form</PopoverTrigger>
|
|
173
|
+
* <PopoverContent>
|
|
174
|
+
* <PopoverHeader>
|
|
175
|
+
* <PopoverTitle>Dimensions</PopoverTitle>
|
|
176
|
+
* <PopoverDescription>Set the dimensions for the layer.</PopoverDescription>
|
|
177
|
+
* </PopoverHeader>
|
|
178
|
+
* <div class="grid gap-2">
|
|
179
|
+
* <div class="grid grid-cols-3 items-center gap-4">
|
|
180
|
+
* <Label>Width</Label>
|
|
181
|
+
* <Input class="col-span-2 h-8" value="100%" />
|
|
182
|
+
* </div>
|
|
183
|
+
* <div class="grid grid-cols-3 items-center gap-4">
|
|
184
|
+
* <Label>Height</Label>
|
|
185
|
+
* <Input class="col-span-2 h-8" value="25px" />
|
|
186
|
+
* </div>
|
|
187
|
+
* </div>
|
|
188
|
+
* </PopoverContent>
|
|
189
|
+
* </Popover>
|
|
190
|
+
*/
|
|
191
|
+
|
|
192
|
+
import type { HTMLAttributes } from "astro/types";
|
|
193
|
+
import { cn } from "@cl-light-ds/ui/lib/utils";
|
|
194
|
+
|
|
195
|
+
interface Props extends HTMLAttributes<"div"> {
|
|
196
|
+
class?: string;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
const { class: className = "", ...rest } = Astro.props as Props;
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
<div {...rest} data-slot="popover" class={cn("", "inline-block", className)}>
|
|
203
|
+
<slot />
|
|
204
|
+
</div>
|
|
205
|
+
|
|
206
|
+
<script>
|
|
207
|
+
import { createPopover } from "@data-slot/popover";
|
|
208
|
+
document
|
|
209
|
+
.querySelectorAll('[data-slot="popover"]')
|
|
210
|
+
.forEach((el) => createPopover(el));
|
|
211
|
+
</script>
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
---
|
|
2
|
-
import type { HTMLAttributes } from "astro/types";
|
|
3
|
-
import { cn } from "@cl-light-ds/ui/lib/utils";
|
|
4
|
-
|
|
5
|
-
interface Props extends HTMLAttributes<"button"> {
|
|
6
|
-
class?: string;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
const { class: className = "", ...rest } = Astro.props as Props;
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
<button
|
|
13
|
-
{...rest}
|
|
14
|
-
data-slot="popover-close"
|
|
15
|
-
class={cn("", className)}
|
|
16
|
-
>
|
|
17
|
-
<slot />
|
|
18
|
-
</button>
|
|
1
|
+
---
|
|
2
|
+
import type { HTMLAttributes } from "astro/types";
|
|
3
|
+
import { cn } from "@cl-light-ds/ui/lib/utils";
|
|
4
|
+
|
|
5
|
+
interface Props extends HTMLAttributes<"button"> {
|
|
6
|
+
class?: string;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const { class: className = "", ...rest } = Astro.props as Props;
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
<button
|
|
13
|
+
{...rest}
|
|
14
|
+
data-slot="popover-close"
|
|
15
|
+
class={cn("", className)}
|
|
16
|
+
>
|
|
17
|
+
<slot />
|
|
18
|
+
</button>
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
---
|
|
2
|
-
import type { HTMLAttributes } from "astro/types";
|
|
3
|
-
import { cn } from "@cl-light-ds/ui/lib/utils";
|
|
4
|
-
import { cva } from "class-variance-authority";
|
|
5
|
-
|
|
6
|
-
interface Props extends HTMLAttributes<"div"> {
|
|
7
|
-
side?: "top" | "bottom" | "left" | "right";
|
|
8
|
-
align?: "start" | "center" | "end";
|
|
9
|
-
alignOffset?: number;
|
|
10
|
-
sideOffset?: number;
|
|
11
|
-
class?: string;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
const {
|
|
15
|
-
side = "bottom",
|
|
16
|
-
align = "center",
|
|
17
|
-
sideOffset = 6,
|
|
18
|
-
alignOffset = 0,
|
|
19
|
-
class: className = "",
|
|
20
|
-
...rest
|
|
21
|
-
} = Astro.props as Props;
|
|
22
|
-
|
|
23
|
-
const contentVariants = cva([
|
|
24
|
-
// visibility
|
|
25
|
-
"z-50 duration-150 ease transition-discrete outline-hidden flex flex-col",
|
|
26
|
-
// animations
|
|
27
|
-
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
28
|
-
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
29
|
-
"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
30
|
-
"data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2",
|
|
31
|
-
// styles
|
|
32
|
-
"bg-popover text-popover-foreground gap-4 rounded-lg border border-border p-4 text-sm shadow-lg",
|
|
33
|
-
// origin from positioner
|
|
34
|
-
"origin-(--transform-origin) [--tw-animation-fill-mode:both]",
|
|
35
|
-
]);
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
<div
|
|
39
|
-
{...rest}
|
|
40
|
-
hidden
|
|
41
|
-
data-slot="popover-content"
|
|
42
|
-
data-align={align}
|
|
43
|
-
data-align-offset={alignOffset}
|
|
44
|
-
data-side={side}
|
|
45
|
-
data-side-offset={sideOffset}
|
|
46
|
-
style={`--side-offset: ${sideOffset}px`}
|
|
47
|
-
class={cn(contentVariants(), className)}
|
|
48
|
-
>
|
|
49
|
-
<slot />
|
|
50
|
-
</div>
|
|
1
|
+
---
|
|
2
|
+
import type { HTMLAttributes } from "astro/types";
|
|
3
|
+
import { cn } from "@cl-light-ds/ui/lib/utils";
|
|
4
|
+
import { cva } from "class-variance-authority";
|
|
5
|
+
|
|
6
|
+
interface Props extends HTMLAttributes<"div"> {
|
|
7
|
+
side?: "top" | "bottom" | "left" | "right";
|
|
8
|
+
align?: "start" | "center" | "end";
|
|
9
|
+
alignOffset?: number;
|
|
10
|
+
sideOffset?: number;
|
|
11
|
+
class?: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const {
|
|
15
|
+
side = "bottom",
|
|
16
|
+
align = "center",
|
|
17
|
+
sideOffset = 6,
|
|
18
|
+
alignOffset = 0,
|
|
19
|
+
class: className = "",
|
|
20
|
+
...rest
|
|
21
|
+
} = Astro.props as Props;
|
|
22
|
+
|
|
23
|
+
const contentVariants = cva([
|
|
24
|
+
// visibility
|
|
25
|
+
"z-50 duration-150 ease transition-discrete outline-hidden flex flex-col",
|
|
26
|
+
// animations
|
|
27
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
28
|
+
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
29
|
+
"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
30
|
+
"data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2",
|
|
31
|
+
// styles
|
|
32
|
+
"bg-popover text-popover-foreground gap-4 rounded-lg border border-border p-4 text-sm shadow-lg",
|
|
33
|
+
// origin from positioner
|
|
34
|
+
"origin-(--transform-origin) [--tw-animation-fill-mode:both]",
|
|
35
|
+
]);
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
<div
|
|
39
|
+
{...rest}
|
|
40
|
+
hidden
|
|
41
|
+
data-slot="popover-content"
|
|
42
|
+
data-align={align}
|
|
43
|
+
data-align-offset={alignOffset}
|
|
44
|
+
data-side={side}
|
|
45
|
+
data-side-offset={sideOffset}
|
|
46
|
+
style={`--side-offset: ${sideOffset}px`}
|
|
47
|
+
class={cn(contentVariants(), className)}
|
|
48
|
+
>
|
|
49
|
+
<slot />
|
|
50
|
+
</div>
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
---
|
|
2
|
-
import type { HTMLAttributes } from "astro/types";
|
|
3
|
-
import { cn } from "@cl-light-ds/ui/lib/utils";
|
|
4
|
-
|
|
5
|
-
interface Props extends HTMLAttributes<"p"> {
|
|
6
|
-
class?: string;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
const { class: className = "", ...rest } = Astro.props as Props;
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
<p
|
|
13
|
-
{...rest}
|
|
14
|
-
data-slot="popover-description"
|
|
15
|
-
class={cn("text-muted-foreground", className)}
|
|
16
|
-
>
|
|
17
|
-
<slot />
|
|
18
|
-
</p>
|
|
1
|
+
---
|
|
2
|
+
import type { HTMLAttributes } from "astro/types";
|
|
3
|
+
import { cn } from "@cl-light-ds/ui/lib/utils";
|
|
4
|
+
|
|
5
|
+
interface Props extends HTMLAttributes<"p"> {
|
|
6
|
+
class?: string;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const { class: className = "", ...rest } = Astro.props as Props;
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
<p
|
|
13
|
+
{...rest}
|
|
14
|
+
data-slot="popover-description"
|
|
15
|
+
class={cn("text-muted-foreground", className)}
|
|
16
|
+
>
|
|
17
|
+
<slot />
|
|
18
|
+
</p>
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
---
|
|
2
|
-
import type { HTMLAttributes } from "astro/types";
|
|
3
|
-
import { cn } from "@cl-light-ds/ui/lib/utils";
|
|
4
|
-
|
|
5
|
-
interface Props extends HTMLAttributes<"div"> {
|
|
6
|
-
class?: string;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
const { class: className = "", ...rest } = Astro.props as Props;
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
<div
|
|
13
|
-
{...rest}
|
|
14
|
-
data-slot="popover-header"
|
|
15
|
-
class={cn("flex flex-col gap-0.5 text-sm", className)}
|
|
16
|
-
>
|
|
17
|
-
<slot />
|
|
18
|
-
</div>
|
|
1
|
+
---
|
|
2
|
+
import type { HTMLAttributes } from "astro/types";
|
|
3
|
+
import { cn } from "@cl-light-ds/ui/lib/utils";
|
|
4
|
+
|
|
5
|
+
interface Props extends HTMLAttributes<"div"> {
|
|
6
|
+
class?: string;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const { class: className = "", ...rest } = Astro.props as Props;
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
<div
|
|
13
|
+
{...rest}
|
|
14
|
+
data-slot="popover-header"
|
|
15
|
+
class={cn("flex flex-col gap-0.5 text-sm", className)}
|
|
16
|
+
>
|
|
17
|
+
<slot />
|
|
18
|
+
</div>
|