@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
package/README.md
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
# @cl-light-ds/ui
|
|
2
|
-
|
|
3
|
-
ClickLearn Lightning Design System — a library of Astro UI components.
|
|
4
|
-
|
|
5
|
-
## Requirements
|
|
6
|
-
|
|
7
|
-
Your project needs Astro 7+ and Tailwind CSS v4 already set up.
|
|
8
|
-
|
|
9
|
-
## Install
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
npm install @cl-light-ds/ui
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
## Usage
|
|
16
|
-
|
|
17
|
-
Import the design tokens once, e.g. in your root layout:
|
|
18
|
-
|
|
19
|
-
```astro
|
|
20
|
-
---
|
|
21
|
-
import "@cl-light-ds/ui/globals.css";
|
|
22
|
-
---
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
Then import components from their individual paths:
|
|
26
|
-
|
|
27
|
-
```astro
|
|
28
|
-
---
|
|
29
|
-
import { Button } from "@cl-light-ds/ui/components/button";
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
<Button>Click me</Button>
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
Tailwind v4 needs to see these component files to extract their classes. Add a `@source` directive pointing at the
|
|
36
|
-
package inside your own global stylesheet:
|
|
37
|
-
|
|
38
|
-
```css
|
|
39
|
-
@import "tailwindcss";
|
|
40
|
-
@import "@cl-light-ds/ui/globals.css";
|
|
41
|
-
|
|
42
|
-
@source "../node_modules/@cl-light-ds/ui/src/**/*.{astro,ts}";
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
(Adjust the relative path to match where your stylesheet lives relative to `node_modules`.)
|
|
1
|
+
# @cl-light-ds/ui
|
|
2
|
+
|
|
3
|
+
ClickLearn Lightning Design System — a library of Astro UI components.
|
|
4
|
+
|
|
5
|
+
## Requirements
|
|
6
|
+
|
|
7
|
+
Your project needs Astro 7+ and Tailwind CSS v4 already set up.
|
|
8
|
+
|
|
9
|
+
## Install
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install @cl-light-ds/ui
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
Import the design tokens once, e.g. in your root layout:
|
|
18
|
+
|
|
19
|
+
```astro
|
|
20
|
+
---
|
|
21
|
+
import "@cl-light-ds/ui/globals.css";
|
|
22
|
+
---
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Then import components from their individual paths:
|
|
26
|
+
|
|
27
|
+
```astro
|
|
28
|
+
---
|
|
29
|
+
import { Button } from "@cl-light-ds/ui/components/button";
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
<Button>Click me</Button>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Tailwind v4 needs to see these component files to extract their classes. Add a `@source` directive pointing at the
|
|
36
|
+
package inside your own global stylesheet:
|
|
37
|
+
|
|
38
|
+
```css
|
|
39
|
+
@import "tailwindcss";
|
|
40
|
+
@import "@cl-light-ds/ui/globals.css";
|
|
41
|
+
|
|
42
|
+
@source "../node_modules/@cl-light-ds/ui/src/**/*.{astro,ts}";
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
(Adjust the relative path to match where your stylesheet lives relative to `node_modules`.)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cl-light-ds/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "ClickLearn Lightning Design System — Astro UI component library.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"exports": {
|
|
11
11
|
"./globals.css": "./src/styles/globals.css",
|
|
12
12
|
"./lib/*": "./src/lib/*.ts",
|
|
13
|
-
"./components/*": "./src/components
|
|
13
|
+
"./components/*": "./src/components/*/index.ts"
|
|
14
14
|
},
|
|
15
15
|
"publishConfig": {
|
|
16
16
|
"access": "public"
|
|
@@ -1,248 +1,248 @@
|
|
|
1
|
-
---
|
|
2
|
-
/**
|
|
3
|
-
* @component Accordion
|
|
4
|
-
* @title Accordion
|
|
5
|
-
* @description Vertically stacked collapsible sections that let users show and hide content panels.
|
|
6
|
-
* @figmaUrl https://www.figma.com/design/qXkzdqZ3QPQqgckU3AwIAH/ClickLearn-Lightning-Design-Library?node-id=133-7547
|
|
7
|
-
*
|
|
8
|
-
* @preview
|
|
9
|
-
*
|
|
10
|
-
* <Accordion class="w-full max-w-[420px] self-start mt-10" defaultValue="accordion-item-1">
|
|
11
|
-
* <AccordionItem value="accordion-item-1">
|
|
12
|
-
* <AccordionTrigger icon={List}>
|
|
13
|
-
* Is it accessible?
|
|
14
|
-
* </AccordionTrigger>
|
|
15
|
-
* <AccordionContent>
|
|
16
|
-
* Yes. It adheres to WAI-ARIA design patterns.
|
|
17
|
-
* </AccordionContent>
|
|
18
|
-
* </AccordionItem>
|
|
19
|
-
* <AccordionItem value="accordion-item-2">
|
|
20
|
-
* <AccordionTrigger badge="New">
|
|
21
|
-
* Can I customize the icon?
|
|
22
|
-
* </AccordionTrigger>
|
|
23
|
-
* <AccordionContent>
|
|
24
|
-
* Yes you can.
|
|
25
|
-
* </AccordionContent>
|
|
26
|
-
* </AccordionItem>
|
|
27
|
-
* </Accordion>
|
|
28
|
-
*
|
|
29
|
-
* <Accordion class="w-full max-w-[420px] self-start mt-10" shape="rounded" defaultValue="accordion-item-1">
|
|
30
|
-
* <AccordionItem value="accordion-item-1">
|
|
31
|
-
* <AccordionTrigger>
|
|
32
|
-
* Is it accessible?
|
|
33
|
-
* </AccordionTrigger>
|
|
34
|
-
* <AccordionContent>
|
|
35
|
-
* Yes. It adheres to WAI-ARIA design patterns.
|
|
36
|
-
* </AccordionContent>
|
|
37
|
-
* </AccordionItem>
|
|
38
|
-
* <AccordionItem value="accordion-item-2" disabled>
|
|
39
|
-
* <AccordionTrigger>
|
|
40
|
-
* Can I customize the icon?
|
|
41
|
-
* </AccordionTrigger>
|
|
42
|
-
* <AccordionContent>
|
|
43
|
-
* Yes you can.
|
|
44
|
-
* </AccordionContent>
|
|
45
|
-
* </AccordionItem>
|
|
46
|
-
* </Accordion>
|
|
47
|
-
*
|
|
48
|
-
* @usage
|
|
49
|
-
*
|
|
50
|
-
* ```astro nocollapse
|
|
51
|
-
* ---
|
|
52
|
-
* import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from '@bejamas/ui/components/accordion';
|
|
53
|
-
* ---
|
|
54
|
-
*
|
|
55
|
-
* <Accordion class="w-full max-w-[420px] self-start" defaultValue="accordion-item-1">
|
|
56
|
-
* <AccordionItem value="accordion-item-1">
|
|
57
|
-
* <AccordionTrigger>
|
|
58
|
-
* Is it accessible?
|
|
59
|
-
* </AccordionTrigger>
|
|
60
|
-
* <AccordionContent>
|
|
61
|
-
* Yes. It adheres to WAI-ARIA design patterns.
|
|
62
|
-
* </AccordionContent>
|
|
63
|
-
* </AccordionItem>
|
|
64
|
-
* </Accordion>
|
|
65
|
-
* ```
|
|
66
|
-
*
|
|
67
|
-
* @api
|
|
68
|
-
*
|
|
69
|
-
* ### Events
|
|
70
|
-
*
|
|
71
|
-
* The accordion emits custom events that you can listen to:
|
|
72
|
-
*
|
|
73
|
-
* | Event | Detail | Description |
|
|
74
|
-
* |-------|--------|-------------|
|
|
75
|
-
* | `accordion:change` | `{ value: string[] }` | Fired when expanded items change |
|
|
76
|
-
*
|
|
77
|
-
* ```astro nocollapse
|
|
78
|
-
* <Accordion id="my-accordion">
|
|
79
|
-
* <AccordionItem value="item-1">
|
|
80
|
-
* <AccordionTrigger>Item 1</AccordionTrigger>
|
|
81
|
-
* <AccordionContent>Content 1</AccordionContent>
|
|
82
|
-
* </AccordionItem>
|
|
83
|
-
* </Accordion>
|
|
84
|
-
* ```
|
|
85
|
-
*
|
|
86
|
-
* ```js nocollapse
|
|
87
|
-
* const accordion = document.getElementById('my-accordion');
|
|
88
|
-
*
|
|
89
|
-
* accordion.addEventListener('accordion:change', (e) => {
|
|
90
|
-
* console.log('Expanded items:', e.detail.value);
|
|
91
|
-
* });
|
|
92
|
-
* ```
|
|
93
|
-
*
|
|
94
|
-
* ### Programmatic Control
|
|
95
|
-
*
|
|
96
|
-
* You can control the accordion programmatically by dispatching an `accordion:set` event:
|
|
97
|
-
*
|
|
98
|
-
* ```js nocollapse
|
|
99
|
-
* const accordion = document.getElementById('my-accordion');
|
|
100
|
-
*
|
|
101
|
-
* // Expand a single item
|
|
102
|
-
* accordion.dispatchEvent(new CustomEvent('accordion:set', {
|
|
103
|
-
* detail: { value: 'item-1' }
|
|
104
|
-
* }));
|
|
105
|
-
*
|
|
106
|
-
* // Expand multiple items (when multiple prop is true)
|
|
107
|
-
* accordion.dispatchEvent(new CustomEvent('accordion:set', {
|
|
108
|
-
* detail: { value: ['item-1', 'item-2'] }
|
|
109
|
-
* }));
|
|
110
|
-
* ```
|
|
111
|
-
*
|
|
112
|
-
* ### Data Attributes
|
|
113
|
-
*
|
|
114
|
-
* The accordion sets these data attributes that you can use for styling or querying state:
|
|
115
|
-
*
|
|
116
|
-
* | Attribute | Element | Description |
|
|
117
|
-
* |-----------|---------|-------------|
|
|
118
|
-
* | `data-state` | accordion-item | Current state (`open` or `closed`) |
|
|
119
|
-
* | `data-shape` | accordion | Current shape (`default`, `flush`, or `rounded`) |
|
|
120
|
-
* | `data-disabled` | accordion-item | Present when the item is disabled |
|
|
121
|
-
*
|
|
122
|
-
* @examples
|
|
123
|
-
*
|
|
124
|
-
* ### Rounded shape
|
|
125
|
-
*
|
|
126
|
-
* <Accordion class="w-full max-w-[420px] self-start" shape="rounded" defaultValue="accordion-item-1">
|
|
127
|
-
* <AccordionItem value="accordion-item-1">
|
|
128
|
-
* <AccordionTrigger>
|
|
129
|
-
* Is it accessible?
|
|
130
|
-
* </AccordionTrigger>
|
|
131
|
-
* <AccordionContent>
|
|
132
|
-
* Yes. It adheres to WAI-ARIA design patterns.
|
|
133
|
-
* </AccordionContent>
|
|
134
|
-
* </AccordionItem>
|
|
135
|
-
* <AccordionItem value="accordion-item-2">
|
|
136
|
-
* <AccordionTrigger>
|
|
137
|
-
* Can I customize the icon?
|
|
138
|
-
* </AccordionTrigger>
|
|
139
|
-
* <AccordionContent>
|
|
140
|
-
* Yes you can.
|
|
141
|
-
* </AccordionContent>
|
|
142
|
-
* </AccordionItem>
|
|
143
|
-
* </Accordion>
|
|
144
|
-
*
|
|
145
|
-
* ### Disabled item
|
|
146
|
-
*
|
|
147
|
-
* <Accordion class="w-full max-w-[420px] self-start" defaultValue="accordion-item-1">
|
|
148
|
-
* <AccordionItem value="accordion-item-1" disabled>
|
|
149
|
-
* <AccordionTrigger>
|
|
150
|
-
* This item can't be expanded
|
|
151
|
-
* </AccordionTrigger>
|
|
152
|
-
* <AccordionContent>
|
|
153
|
-
* Hidden content.
|
|
154
|
-
* </AccordionContent>
|
|
155
|
-
* </AccordionItem>
|
|
156
|
-
* </Accordion>
|
|
157
|
-
*
|
|
158
|
-
* ### Multiple choice accordion
|
|
159
|
-
*
|
|
160
|
-
* <Accordion class="w-full max-w-[420px] self-start" multiple defaultValue={["accordion-item-1"]}>
|
|
161
|
-
* <AccordionItem value="accordion-item-1">
|
|
162
|
-
* <AccordionTrigger>
|
|
163
|
-
* Is it accessible?
|
|
164
|
-
* </AccordionTrigger>
|
|
165
|
-
* <AccordionContent>
|
|
166
|
-
* Yes. It adheres to WAI-ARIA design patterns.
|
|
167
|
-
* </AccordionContent>
|
|
168
|
-
* </AccordionItem>
|
|
169
|
-
* <AccordionItem value="accordion-item-2">
|
|
170
|
-
* <AccordionTrigger>
|
|
171
|
-
* Can I customize the icon?
|
|
172
|
-
* </AccordionTrigger>
|
|
173
|
-
* <AccordionContent>
|
|
174
|
-
* Yes you can.
|
|
175
|
-
* </AccordionContent>
|
|
176
|
-
* </AccordionItem>
|
|
177
|
-
* <AccordionItem value="accordion-item-3">
|
|
178
|
-
* <AccordionTrigger>
|
|
179
|
-
* Can I customize the icon?
|
|
180
|
-
* </AccordionTrigger>
|
|
181
|
-
* <AccordionContent>
|
|
182
|
-
* Yes you can.
|
|
183
|
-
* </AccordionContent>
|
|
184
|
-
* </AccordionItem>
|
|
185
|
-
* </Accordion>
|
|
186
|
-
*
|
|
187
|
-
*/
|
|
188
|
-
|
|
189
|
-
import { cva } from "class-variance-authority";
|
|
190
|
-
import { cn } from "@cl-light-ds/ui/lib/utils";
|
|
191
|
-
import type { HTMLAttributes } from "astro/types";
|
|
192
|
-
|
|
193
|
-
type AccordionShape = "default" | "flush" | "rounded";
|
|
194
|
-
|
|
195
|
-
interface Props extends HTMLAttributes<"div"> {
|
|
196
|
-
class?: string;
|
|
197
|
-
multiple?: boolean;
|
|
198
|
-
defaultValue?: string | string[];
|
|
199
|
-
collapsible?: boolean;
|
|
200
|
-
shape?: AccordionShape;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
const {
|
|
204
|
-
class: className = "",
|
|
205
|
-
multiple = false,
|
|
206
|
-
defaultValue,
|
|
207
|
-
collapsible = true,
|
|
208
|
-
shape = "default",
|
|
209
|
-
...rest
|
|
210
|
-
} = Astro.props as Props;
|
|
211
|
-
|
|
212
|
-
const rootDefaultValue = Array.isArray(defaultValue)
|
|
213
|
-
? JSON.stringify(defaultValue)
|
|
214
|
-
: defaultValue;
|
|
215
|
-
|
|
216
|
-
const accordionVariants = cva("group/accordion flex w-full flex-col", {
|
|
217
|
-
variants: {
|
|
218
|
-
shape: {
|
|
219
|
-
default: "gap-0",
|
|
220
|
-
flush: "gap-0",
|
|
221
|
-
rounded: "gap-2",
|
|
222
|
-
},
|
|
223
|
-
},
|
|
224
|
-
defaultVariants: {
|
|
225
|
-
shape: "default",
|
|
226
|
-
},
|
|
227
|
-
});
|
|
228
|
-
---
|
|
229
|
-
|
|
230
|
-
<div
|
|
231
|
-
{...rest}
|
|
232
|
-
data-slot="accordion"
|
|
233
|
-
data-multiple={multiple ? "true" : undefined}
|
|
234
|
-
data-default-value={rootDefaultValue}
|
|
235
|
-
data-collapsible={collapsible ? undefined : "false"}
|
|
236
|
-
data-shape={shape}
|
|
237
|
-
class={cn(accordionVariants({ shape }), className)}
|
|
238
|
-
>
|
|
239
|
-
<slot />
|
|
240
|
-
</div>
|
|
241
|
-
|
|
242
|
-
<script>
|
|
243
|
-
import { createAccordion } from "@data-slot/accordion";
|
|
244
|
-
|
|
245
|
-
document.querySelectorAll('[data-slot="accordion"]').forEach((el) => {
|
|
246
|
-
createAccordion(el);
|
|
247
|
-
});
|
|
248
|
-
</script>
|
|
1
|
+
---
|
|
2
|
+
/**
|
|
3
|
+
* @component Accordion
|
|
4
|
+
* @title Accordion
|
|
5
|
+
* @description Vertically stacked collapsible sections that let users show and hide content panels.
|
|
6
|
+
* @figmaUrl https://www.figma.com/design/qXkzdqZ3QPQqgckU3AwIAH/ClickLearn-Lightning-Design-Library?node-id=133-7547
|
|
7
|
+
*
|
|
8
|
+
* @preview
|
|
9
|
+
*
|
|
10
|
+
* <Accordion class="w-full max-w-[420px] self-start mt-10" defaultValue="accordion-item-1">
|
|
11
|
+
* <AccordionItem value="accordion-item-1">
|
|
12
|
+
* <AccordionTrigger icon={List}>
|
|
13
|
+
* Is it accessible?
|
|
14
|
+
* </AccordionTrigger>
|
|
15
|
+
* <AccordionContent>
|
|
16
|
+
* Yes. It adheres to WAI-ARIA design patterns.
|
|
17
|
+
* </AccordionContent>
|
|
18
|
+
* </AccordionItem>
|
|
19
|
+
* <AccordionItem value="accordion-item-2">
|
|
20
|
+
* <AccordionTrigger badge="New">
|
|
21
|
+
* Can I customize the icon?
|
|
22
|
+
* </AccordionTrigger>
|
|
23
|
+
* <AccordionContent>
|
|
24
|
+
* Yes you can.
|
|
25
|
+
* </AccordionContent>
|
|
26
|
+
* </AccordionItem>
|
|
27
|
+
* </Accordion>
|
|
28
|
+
*
|
|
29
|
+
* <Accordion class="w-full max-w-[420px] self-start mt-10" shape="rounded" defaultValue="accordion-item-1">
|
|
30
|
+
* <AccordionItem value="accordion-item-1">
|
|
31
|
+
* <AccordionTrigger>
|
|
32
|
+
* Is it accessible?
|
|
33
|
+
* </AccordionTrigger>
|
|
34
|
+
* <AccordionContent>
|
|
35
|
+
* Yes. It adheres to WAI-ARIA design patterns.
|
|
36
|
+
* </AccordionContent>
|
|
37
|
+
* </AccordionItem>
|
|
38
|
+
* <AccordionItem value="accordion-item-2" disabled>
|
|
39
|
+
* <AccordionTrigger>
|
|
40
|
+
* Can I customize the icon?
|
|
41
|
+
* </AccordionTrigger>
|
|
42
|
+
* <AccordionContent>
|
|
43
|
+
* Yes you can.
|
|
44
|
+
* </AccordionContent>
|
|
45
|
+
* </AccordionItem>
|
|
46
|
+
* </Accordion>
|
|
47
|
+
*
|
|
48
|
+
* @usage
|
|
49
|
+
*
|
|
50
|
+
* ```astro nocollapse
|
|
51
|
+
* ---
|
|
52
|
+
* import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from '@bejamas/ui/components/accordion';
|
|
53
|
+
* ---
|
|
54
|
+
*
|
|
55
|
+
* <Accordion class="w-full max-w-[420px] self-start" defaultValue="accordion-item-1">
|
|
56
|
+
* <AccordionItem value="accordion-item-1">
|
|
57
|
+
* <AccordionTrigger>
|
|
58
|
+
* Is it accessible?
|
|
59
|
+
* </AccordionTrigger>
|
|
60
|
+
* <AccordionContent>
|
|
61
|
+
* Yes. It adheres to WAI-ARIA design patterns.
|
|
62
|
+
* </AccordionContent>
|
|
63
|
+
* </AccordionItem>
|
|
64
|
+
* </Accordion>
|
|
65
|
+
* ```
|
|
66
|
+
*
|
|
67
|
+
* @api
|
|
68
|
+
*
|
|
69
|
+
* ### Events
|
|
70
|
+
*
|
|
71
|
+
* The accordion emits custom events that you can listen to:
|
|
72
|
+
*
|
|
73
|
+
* | Event | Detail | Description |
|
|
74
|
+
* |-------|--------|-------------|
|
|
75
|
+
* | `accordion:change` | `{ value: string[] }` | Fired when expanded items change |
|
|
76
|
+
*
|
|
77
|
+
* ```astro nocollapse
|
|
78
|
+
* <Accordion id="my-accordion">
|
|
79
|
+
* <AccordionItem value="item-1">
|
|
80
|
+
* <AccordionTrigger>Item 1</AccordionTrigger>
|
|
81
|
+
* <AccordionContent>Content 1</AccordionContent>
|
|
82
|
+
* </AccordionItem>
|
|
83
|
+
* </Accordion>
|
|
84
|
+
* ```
|
|
85
|
+
*
|
|
86
|
+
* ```js nocollapse
|
|
87
|
+
* const accordion = document.getElementById('my-accordion');
|
|
88
|
+
*
|
|
89
|
+
* accordion.addEventListener('accordion:change', (e) => {
|
|
90
|
+
* console.log('Expanded items:', e.detail.value);
|
|
91
|
+
* });
|
|
92
|
+
* ```
|
|
93
|
+
*
|
|
94
|
+
* ### Programmatic Control
|
|
95
|
+
*
|
|
96
|
+
* You can control the accordion programmatically by dispatching an `accordion:set` event:
|
|
97
|
+
*
|
|
98
|
+
* ```js nocollapse
|
|
99
|
+
* const accordion = document.getElementById('my-accordion');
|
|
100
|
+
*
|
|
101
|
+
* // Expand a single item
|
|
102
|
+
* accordion.dispatchEvent(new CustomEvent('accordion:set', {
|
|
103
|
+
* detail: { value: 'item-1' }
|
|
104
|
+
* }));
|
|
105
|
+
*
|
|
106
|
+
* // Expand multiple items (when multiple prop is true)
|
|
107
|
+
* accordion.dispatchEvent(new CustomEvent('accordion:set', {
|
|
108
|
+
* detail: { value: ['item-1', 'item-2'] }
|
|
109
|
+
* }));
|
|
110
|
+
* ```
|
|
111
|
+
*
|
|
112
|
+
* ### Data Attributes
|
|
113
|
+
*
|
|
114
|
+
* The accordion sets these data attributes that you can use for styling or querying state:
|
|
115
|
+
*
|
|
116
|
+
* | Attribute | Element | Description |
|
|
117
|
+
* |-----------|---------|-------------|
|
|
118
|
+
* | `data-state` | accordion-item | Current state (`open` or `closed`) |
|
|
119
|
+
* | `data-shape` | accordion | Current shape (`default`, `flush`, or `rounded`) |
|
|
120
|
+
* | `data-disabled` | accordion-item | Present when the item is disabled |
|
|
121
|
+
*
|
|
122
|
+
* @examples
|
|
123
|
+
*
|
|
124
|
+
* ### Rounded shape
|
|
125
|
+
*
|
|
126
|
+
* <Accordion class="w-full max-w-[420px] self-start" shape="rounded" defaultValue="accordion-item-1">
|
|
127
|
+
* <AccordionItem value="accordion-item-1">
|
|
128
|
+
* <AccordionTrigger>
|
|
129
|
+
* Is it accessible?
|
|
130
|
+
* </AccordionTrigger>
|
|
131
|
+
* <AccordionContent>
|
|
132
|
+
* Yes. It adheres to WAI-ARIA design patterns.
|
|
133
|
+
* </AccordionContent>
|
|
134
|
+
* </AccordionItem>
|
|
135
|
+
* <AccordionItem value="accordion-item-2">
|
|
136
|
+
* <AccordionTrigger>
|
|
137
|
+
* Can I customize the icon?
|
|
138
|
+
* </AccordionTrigger>
|
|
139
|
+
* <AccordionContent>
|
|
140
|
+
* Yes you can.
|
|
141
|
+
* </AccordionContent>
|
|
142
|
+
* </AccordionItem>
|
|
143
|
+
* </Accordion>
|
|
144
|
+
*
|
|
145
|
+
* ### Disabled item
|
|
146
|
+
*
|
|
147
|
+
* <Accordion class="w-full max-w-[420px] self-start" defaultValue="accordion-item-1">
|
|
148
|
+
* <AccordionItem value="accordion-item-1" disabled>
|
|
149
|
+
* <AccordionTrigger>
|
|
150
|
+
* This item can't be expanded
|
|
151
|
+
* </AccordionTrigger>
|
|
152
|
+
* <AccordionContent>
|
|
153
|
+
* Hidden content.
|
|
154
|
+
* </AccordionContent>
|
|
155
|
+
* </AccordionItem>
|
|
156
|
+
* </Accordion>
|
|
157
|
+
*
|
|
158
|
+
* ### Multiple choice accordion
|
|
159
|
+
*
|
|
160
|
+
* <Accordion class="w-full max-w-[420px] self-start" multiple defaultValue={["accordion-item-1"]}>
|
|
161
|
+
* <AccordionItem value="accordion-item-1">
|
|
162
|
+
* <AccordionTrigger>
|
|
163
|
+
* Is it accessible?
|
|
164
|
+
* </AccordionTrigger>
|
|
165
|
+
* <AccordionContent>
|
|
166
|
+
* Yes. It adheres to WAI-ARIA design patterns.
|
|
167
|
+
* </AccordionContent>
|
|
168
|
+
* </AccordionItem>
|
|
169
|
+
* <AccordionItem value="accordion-item-2">
|
|
170
|
+
* <AccordionTrigger>
|
|
171
|
+
* Can I customize the icon?
|
|
172
|
+
* </AccordionTrigger>
|
|
173
|
+
* <AccordionContent>
|
|
174
|
+
* Yes you can.
|
|
175
|
+
* </AccordionContent>
|
|
176
|
+
* </AccordionItem>
|
|
177
|
+
* <AccordionItem value="accordion-item-3">
|
|
178
|
+
* <AccordionTrigger>
|
|
179
|
+
* Can I customize the icon?
|
|
180
|
+
* </AccordionTrigger>
|
|
181
|
+
* <AccordionContent>
|
|
182
|
+
* Yes you can.
|
|
183
|
+
* </AccordionContent>
|
|
184
|
+
* </AccordionItem>
|
|
185
|
+
* </Accordion>
|
|
186
|
+
*
|
|
187
|
+
*/
|
|
188
|
+
|
|
189
|
+
import { cva } from "class-variance-authority";
|
|
190
|
+
import { cn } from "@cl-light-ds/ui/lib/utils";
|
|
191
|
+
import type { HTMLAttributes } from "astro/types";
|
|
192
|
+
|
|
193
|
+
type AccordionShape = "default" | "flush" | "rounded";
|
|
194
|
+
|
|
195
|
+
interface Props extends HTMLAttributes<"div"> {
|
|
196
|
+
class?: string;
|
|
197
|
+
multiple?: boolean;
|
|
198
|
+
defaultValue?: string | string[];
|
|
199
|
+
collapsible?: boolean;
|
|
200
|
+
shape?: AccordionShape;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
const {
|
|
204
|
+
class: className = "",
|
|
205
|
+
multiple = false,
|
|
206
|
+
defaultValue,
|
|
207
|
+
collapsible = true,
|
|
208
|
+
shape = "default",
|
|
209
|
+
...rest
|
|
210
|
+
} = Astro.props as Props;
|
|
211
|
+
|
|
212
|
+
const rootDefaultValue = Array.isArray(defaultValue)
|
|
213
|
+
? JSON.stringify(defaultValue)
|
|
214
|
+
: defaultValue;
|
|
215
|
+
|
|
216
|
+
const accordionVariants = cva("group/accordion flex w-full flex-col", {
|
|
217
|
+
variants: {
|
|
218
|
+
shape: {
|
|
219
|
+
default: "gap-0",
|
|
220
|
+
flush: "gap-0",
|
|
221
|
+
rounded: "gap-2",
|
|
222
|
+
},
|
|
223
|
+
},
|
|
224
|
+
defaultVariants: {
|
|
225
|
+
shape: "default",
|
|
226
|
+
},
|
|
227
|
+
});
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
<div
|
|
231
|
+
{...rest}
|
|
232
|
+
data-slot="accordion"
|
|
233
|
+
data-multiple={multiple ? "true" : undefined}
|
|
234
|
+
data-default-value={rootDefaultValue}
|
|
235
|
+
data-collapsible={collapsible ? undefined : "false"}
|
|
236
|
+
data-shape={shape}
|
|
237
|
+
class={cn(accordionVariants({ shape }), className)}
|
|
238
|
+
>
|
|
239
|
+
<slot />
|
|
240
|
+
</div>
|
|
241
|
+
|
|
242
|
+
<script>
|
|
243
|
+
import { createAccordion } from "@data-slot/accordion";
|
|
244
|
+
|
|
245
|
+
document.querySelectorAll('[data-slot="accordion"]').forEach((el) => {
|
|
246
|
+
createAccordion(el);
|
|
247
|
+
});
|
|
248
|
+
</script>
|
|
@@ -1,26 +1,26 @@
|
|
|
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 { class: className = "", ...rest } = Astro.props as Props;
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
<div
|
|
13
|
-
{...rest}
|
|
14
|
-
data-slot="accordion-content"
|
|
15
|
-
hidden
|
|
16
|
-
class="data-open:animate-accordion-down data-closed:animate-accordion-up text-muted-foreground text-xs overflow-hidden"
|
|
17
|
-
>
|
|
18
|
-
<div
|
|
19
|
-
class={cn(
|
|
20
|
-
"pr-3 pl-(--accordion-indent,--spacing(3)) pt-1 pb-3 h-(--accordion-panel-height) data-ending-style:h-0 data-starting-style:h-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4",
|
|
21
|
-
className,
|
|
22
|
-
)}
|
|
23
|
-
>
|
|
24
|
-
<slot />
|
|
25
|
-
</div>
|
|
26
|
-
</div>
|
|
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 { class: className = "", ...rest } = Astro.props as Props;
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
<div
|
|
13
|
+
{...rest}
|
|
14
|
+
data-slot="accordion-content"
|
|
15
|
+
hidden
|
|
16
|
+
class="data-open:animate-accordion-down data-closed:animate-accordion-up text-muted-foreground text-xs overflow-hidden"
|
|
17
|
+
>
|
|
18
|
+
<div
|
|
19
|
+
class={cn(
|
|
20
|
+
"pr-3 pl-(--accordion-indent,--spacing(3)) pt-1 pb-3 h-(--accordion-panel-height) data-ending-style:h-0 data-starting-style:h-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4",
|
|
21
|
+
className,
|
|
22
|
+
)}
|
|
23
|
+
>
|
|
24
|
+
<slot />
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|