@kuzenbo/core 0.0.4 → 0.0.6
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 +2 -0
- package/dist/action-icon-UjYZjXrB.d.ts +59 -0
- package/dist/action-icon-UjYZjXrB.d.ts.map +1 -0
- package/dist/{avatar-image-Ce26D2fb.d.ts → avatar-4S7I72CH.d.ts} +35 -2
- package/dist/avatar-4S7I72CH.d.ts.map +1 -0
- package/dist/avatar-C3vF6E7s.js +65 -0
- package/dist/avatar-C3vF6E7s.js.map +1 -0
- package/dist/badge-DB40swlt.js +58 -0
- package/dist/badge-DB40swlt.js.map +1 -0
- package/dist/button-CPPkhcmB.d.ts +59 -0
- package/dist/button-CPPkhcmB.d.ts.map +1 -0
- package/dist/button-shared-variants-J4RVI3K7.js +19 -0
- package/dist/button-shared-variants-J4RVI3K7.js.map +1 -0
- package/dist/{dialog-viewport-Ce1huyAI.d.ts → dialog-D3dAMsO_.d.ts} +64 -2
- package/dist/dialog-D3dAMsO_.d.ts.map +1 -0
- package/dist/{dialog-trigger-BUF3elAP.js → dialog-Dzvma_bu.js} +36 -12
- package/dist/dialog-Dzvma_bu.js.map +1 -0
- package/dist/{dropdown-menu-trigger-BpgtLUvf.d.ts → dropdown-menu-BG03sLbC.d.ts} +259 -123
- package/dist/dropdown-menu-BG03sLbC.d.ts.map +1 -0
- package/dist/{dropdown-menu-trigger-COnFGfDa.js → dropdown-menu-DOVY76ue.js} +137 -101
- package/dist/dropdown-menu-DOVY76ue.js.map +1 -0
- package/dist/input-BeE717GK.d.ts +46 -0
- package/dist/input-BeE717GK.d.ts.map +1 -0
- package/dist/input-cICL6sH_.js +38 -0
- package/dist/input-cICL6sH_.js.map +1 -0
- package/dist/{input-group-textarea-B-rP98r5.js → input-group-7kPror1q.js} +62 -33
- package/dist/input-group-7kPror1q.js.map +1 -0
- package/dist/provider.d.ts +3 -3
- package/dist/provider.js +2 -2
- package/dist/{scroll-bar-C4qEUKlT.js → scroll-bar-BKRy5Me9.js} +1 -1
- package/dist/{scroll-bar-C4qEUKlT.js.map → scroll-bar-BKRy5Me9.js.map} +1 -1
- package/dist/separator-CgOz2m5i.d.ts +13 -0
- package/dist/separator-CgOz2m5i.d.ts.map +1 -0
- package/dist/{sheet-trigger-D7neoTF5.js → sheet-FVsgl5Wk.js} +32 -13
- package/dist/sheet-FVsgl5Wk.js.map +1 -0
- package/dist/{size-context-BjRwqlSg.js → size-context-CvLl3pMC.js} +3 -3
- package/dist/size-context-CvLl3pMC.js.map +1 -0
- package/dist/{size-context-DXfCAlWF.d.ts → size-context-DWvVJytl.d.ts} +2 -2
- package/dist/size-context-DWvVJytl.d.ts.map +1 -0
- package/dist/size-provider-18EvJgDT.js.map +1 -1
- package/dist/{size-provider-Bd2C6gKd.d.ts → size-provider-PHAZhU6k.d.ts} +2 -2
- package/dist/{size-provider-Bd2C6gKd.d.ts.map → size-provider-PHAZhU6k.d.ts.map} +1 -1
- package/dist/{size-system-wzOLSuax.d.ts → size-system-BAI1CnwU.d.ts} +1 -1
- package/dist/size-system-BAI1CnwU.d.ts.map +1 -0
- package/dist/size-system-BTsMqZRQ.js +99 -0
- package/dist/size-system-BTsMqZRQ.js.map +1 -0
- package/dist/size.d.ts +3 -3
- package/dist/size.js +2 -2
- package/dist/{slider-root-presentation-ChJHPMIV.js → slider-root-presentation-G0ByTcvd.js} +19 -19
- package/dist/slider-root-presentation-G0ByTcvd.js.map +1 -0
- package/dist/{slider-value-Db8SCu0c.d.ts → slider-style-tokens-DNzHvGii.d.ts} +55 -55
- package/dist/slider-style-tokens-DNzHvGii.d.ts.map +1 -0
- package/dist/textarea-rmoEkvdu.d.ts +37 -0
- package/dist/textarea-rmoEkvdu.d.ts.map +1 -0
- package/dist/textarea-vNt8edEA.js +39 -0
- package/dist/textarea-vNt8edEA.js.map +1 -0
- package/dist/toggle-D8kPPZH9.d.ts +53 -0
- package/dist/toggle-D8kPPZH9.d.ts.map +1 -0
- package/dist/{tooltip-trigger-qXw-_nbh.js → tooltip-BUo_HPnp.js} +38 -13
- package/dist/tooltip-BUo_HPnp.js.map +1 -0
- package/dist/{tooltip-viewport-csA6luqI.d.ts → tooltip-DatN3AoZ.d.ts} +62 -14
- package/dist/tooltip-DatN3AoZ.d.ts.map +1 -0
- package/dist/ui/accordion.d.ts +5 -5
- package/dist/ui/accordion.d.ts.map +1 -1
- package/dist/ui/accordion.js +53 -52
- package/dist/ui/accordion.js.map +1 -1
- package/dist/ui/action-icon.d.ts +2 -0
- package/dist/ui/action-icon.js +74 -0
- package/dist/ui/action-icon.js.map +1 -0
- package/dist/ui/affix.d.ts +3 -2
- package/dist/ui/affix.d.ts.map +1 -1
- package/dist/ui/affix.js +8 -7
- package/dist/ui/affix.js.map +1 -1
- package/dist/ui/alert-dialog.d.ts +4 -2
- package/dist/ui/alert-dialog.d.ts.map +1 -1
- package/dist/ui/alert-dialog.js +10 -9
- package/dist/ui/alert-dialog.js.map +1 -1
- package/dist/ui/alert.d.ts +33 -33
- package/dist/ui/alert.d.ts.map +1 -1
- package/dist/ui/alert.js +86 -86
- package/dist/ui/alert.js.map +1 -1
- package/dist/ui/announcement.d.ts.map +1 -1
- package/dist/ui/announcement.js +5 -3
- package/dist/ui/announcement.js.map +1 -1
- package/dist/ui/aspect-ratio.d.ts.map +1 -1
- package/dist/ui/aspect-ratio.js.map +1 -1
- package/dist/ui/autocomplete.d.ts +74 -74
- package/dist/ui/autocomplete.d.ts.map +1 -1
- package/dist/ui/autocomplete.js +55 -53
- package/dist/ui/autocomplete.js.map +1 -1
- package/dist/ui/avatar.d.ts +2 -39
- package/dist/ui/avatar.js +2 -24
- package/dist/ui/badge.d.ts +28 -28
- package/dist/ui/badge.d.ts.map +1 -1
- package/dist/ui/badge.js +2 -54
- package/dist/ui/breadcrumb.d.ts +65 -65
- package/dist/ui/breadcrumb.d.ts.map +1 -1
- package/dist/ui/breadcrumb.js +47 -45
- package/dist/ui/breadcrumb.js.map +1 -1
- package/dist/ui/button-group.d.ts +35 -35
- package/dist/ui/button-group.d.ts.map +1 -1
- package/dist/ui/button-group.js +29 -28
- package/dist/ui/button-group.js.map +1 -1
- package/dist/ui/button.d.ts +2 -78
- package/dist/ui/button.js +33 -55
- package/dist/ui/button.js.map +1 -1
- package/dist/ui/card.d.ts +1 -1
- package/dist/ui/card.d.ts.map +1 -1
- package/dist/ui/card.js +6 -6
- package/dist/ui/card.js.map +1 -1
- package/dist/ui/carousel.d.ts +3 -3
- package/dist/ui/carousel.d.ts.map +1 -1
- package/dist/ui/carousel.js +41 -22
- package/dist/ui/carousel.js.map +1 -1
- package/dist/ui/checkbox-group.d.ts.map +1 -1
- package/dist/ui/checkbox-group.js.map +1 -1
- package/dist/ui/checkbox.d.ts +21 -21
- package/dist/ui/checkbox.js +13 -13
- package/dist/ui/checkbox.js.map +1 -1
- package/dist/ui/code.d.ts.map +1 -1
- package/dist/ui/code.js +5 -5
- package/dist/ui/code.js.map +1 -1
- package/dist/ui/collapsible.js +1 -1
- package/dist/ui/collapsible.js.map +1 -1
- package/dist/ui/combobox.d.ts +107 -107
- package/dist/ui/combobox.d.ts.map +1 -1
- package/dist/ui/combobox.js +94 -93
- package/dist/ui/combobox.js.map +1 -1
- package/dist/ui/command.d.ts +57 -58
- package/dist/ui/command.d.ts.map +1 -1
- package/dist/ui/command.js +54 -64
- package/dist/ui/command.js.map +1 -1
- package/dist/ui/container.d.ts.map +1 -1
- package/dist/ui/container.js.map +1 -1
- package/dist/ui/context-menu.d.ts +132 -132
- package/dist/ui/context-menu.d.ts.map +1 -1
- package/dist/ui/context-menu.js +100 -98
- package/dist/ui/context-menu.js.map +1 -1
- package/dist/ui/copy-button.d.ts +1 -3
- package/dist/ui/copy-button.d.ts.map +1 -1
- package/dist/ui/copy-button.js +40 -20
- package/dist/ui/copy-button.js.map +1 -1
- package/dist/ui/dialog.d.ts +2 -66
- package/dist/ui/dialog.js +2 -24
- package/dist/ui/drawer.d.ts +93 -93
- package/dist/ui/drawer.d.ts.map +1 -1
- package/dist/ui/drawer.js +68 -66
- package/dist/ui/drawer.js.map +1 -1
- package/dist/ui/dropdown-menu.d.ts +3 -144
- package/dist/ui/dropdown-menu.js +2 -39
- package/dist/ui/dropzone.d.ts +55 -55
- package/dist/ui/dropzone.d.ts.map +1 -1
- package/dist/ui/dropzone.js +77 -72
- package/dist/ui/dropzone.js.map +1 -1
- package/dist/ui/emoji-picker.d.ts +81 -81
- package/dist/ui/emoji-picker.d.ts.map +1 -1
- package/dist/ui/emoji-picker.js +92 -87
- package/dist/ui/emoji-picker.js.map +1 -1
- package/dist/ui/empty.d.ts +62 -60
- package/dist/ui/empty.d.ts.map +1 -1
- package/dist/ui/empty.js +47 -44
- package/dist/ui/empty.js.map +1 -1
- package/dist/ui/field.d.ts +12 -12
- package/dist/ui/field.d.ts.map +1 -1
- package/dist/ui/field.js +9 -7
- package/dist/ui/field.js.map +1 -1
- package/dist/ui/fieldset.d.ts.map +1 -1
- package/dist/ui/fieldset.js.map +1 -1
- package/dist/ui/form.d.ts +8 -8
- package/dist/ui/form.d.ts.map +1 -1
- package/dist/ui/form.js.map +1 -1
- package/dist/ui/input-group.d.ts +35 -35
- package/dist/ui/input-group.d.ts.map +1 -1
- package/dist/ui/input-group.js +2 -28
- package/dist/ui/input-otp.d.ts +36 -36
- package/dist/ui/input-otp.d.ts.map +1 -1
- package/dist/ui/input-otp.js +29 -28
- package/dist/ui/input-otp.js.map +1 -1
- package/dist/ui/input.d.ts +2 -46
- package/dist/ui/input.js +2 -34
- package/dist/ui/item.d.ts +20 -20
- package/dist/ui/item.d.ts.map +1 -1
- package/dist/ui/item.js +22 -22
- package/dist/ui/item.js.map +1 -1
- package/dist/ui/kbd.d.ts +1 -1
- package/dist/ui/kbd.d.ts.map +1 -1
- package/dist/ui/kbd.js +8 -8
- package/dist/ui/kbd.js.map +1 -1
- package/dist/ui/label.d.ts.map +1 -1
- package/dist/ui/label.js.map +1 -1
- package/dist/ui/marquee.d.ts.map +1 -1
- package/dist/ui/marquee.js +1 -1
- package/dist/ui/marquee.js.map +1 -1
- package/dist/ui/menubar.d.ts +133 -134
- package/dist/ui/menubar.d.ts.map +1 -1
- package/dist/ui/menubar.js +82 -81
- package/dist/ui/menubar.js.map +1 -1
- package/dist/ui/meter.d.ts.map +1 -1
- package/dist/ui/meter.js.map +1 -1
- package/dist/ui/navigation-list.d.ts +227 -227
- package/dist/ui/navigation-list.d.ts.map +1 -1
- package/dist/ui/navigation-list.js +240 -235
- package/dist/ui/navigation-list.js.map +1 -1
- package/dist/ui/navigation-menu.d.ts +82 -82
- package/dist/ui/navigation-menu.d.ts.map +1 -1
- package/dist/ui/navigation-menu.js +70 -67
- package/dist/ui/navigation-menu.js.map +1 -1
- package/dist/ui/number-field.d.ts +34 -34
- package/dist/ui/number-field.d.ts.map +1 -1
- package/dist/ui/number-field.js +24 -23
- package/dist/ui/number-field.js.map +1 -1
- package/dist/ui/pagination.d.ts +43 -43
- package/dist/ui/pagination.d.ts.map +1 -1
- package/dist/ui/pagination.js +57 -47
- package/dist/ui/pagination.js.map +1 -1
- package/dist/ui/pill.d.ts +3 -4
- package/dist/ui/pill.d.ts.map +1 -1
- package/dist/ui/pill.js +37 -26
- package/dist/ui/pill.js.map +1 -1
- package/dist/ui/popover.d.ts +15 -13
- package/dist/ui/popover.d.ts.map +1 -1
- package/dist/ui/popover.js +17 -14
- package/dist/ui/popover.js.map +1 -1
- package/dist/ui/portal.d.ts.map +1 -1
- package/dist/ui/portal.js +52 -11
- package/dist/ui/portal.js.map +1 -1
- package/dist/ui/preview-card.js +5 -5
- package/dist/ui/preview-card.js.map +1 -1
- package/dist/ui/progress.js.map +1 -1
- package/dist/ui/qr-code.d.ts.map +1 -1
- package/dist/ui/qr-code.js +7 -7
- package/dist/ui/qr-code.js.map +1 -1
- package/dist/ui/radio-group.d.ts +23 -23
- package/dist/ui/radio-group.js +15 -15
- package/dist/ui/radio-group.js.map +1 -1
- package/dist/ui/range-slider.d.ts +1 -1
- package/dist/ui/range-slider.d.ts.map +1 -1
- package/dist/ui/range-slider.js +4 -7
- package/dist/ui/range-slider.js.map +1 -1
- package/dist/ui/rating.d.ts +35 -35
- package/dist/ui/rating.d.ts.map +1 -1
- package/dist/ui/rating.js +55 -46
- package/dist/ui/rating.js.map +1 -1
- package/dist/ui/resizable.d.ts.map +1 -1
- package/dist/ui/resizable.js +2 -2
- package/dist/ui/resizable.js.map +1 -1
- package/dist/ui/scroll-area.js +1 -1
- package/dist/ui/scroll-area.js.map +1 -1
- package/dist/ui/select.d.ts +87 -87
- package/dist/ui/select.d.ts.map +1 -1
- package/dist/ui/select.js +85 -84
- package/dist/ui/select.js.map +1 -1
- package/dist/ui/separator.d.ts +2 -13
- package/dist/ui/separator.js.map +1 -1
- package/dist/ui/sheet.d.ts.map +1 -1
- package/dist/ui/sheet.js +2 -24
- package/dist/ui/sidebar.d.ts +75 -76
- package/dist/ui/sidebar.d.ts.map +1 -1
- package/dist/ui/sidebar.js +88 -87
- package/dist/ui/sidebar.js.map +1 -1
- package/dist/ui/skeleton.d.ts.map +1 -1
- package/dist/ui/skeleton.js +1 -1
- package/dist/ui/skeleton.js.map +1 -1
- package/dist/ui/slider.d.ts +1 -1
- package/dist/ui/slider.d.ts.map +1 -1
- package/dist/ui/slider.js +3 -1
- package/dist/ui/slider.js.map +1 -1
- package/dist/ui/spacer.d.ts.map +1 -1
- package/dist/ui/spacer.js +2 -2
- package/dist/ui/spacer.js.map +1 -1
- package/dist/ui/spinner.d.ts +1 -1
- package/dist/ui/spinner.d.ts.map +1 -1
- package/dist/ui/spinner.js +2 -2
- package/dist/ui/spinner.js.map +1 -1
- package/dist/ui/switch.d.ts +12 -12
- package/dist/ui/switch.js +7 -7
- package/dist/ui/switch.js.map +1 -1
- package/dist/ui/table.d.ts +62 -62
- package/dist/ui/table.d.ts.map +1 -1
- package/dist/ui/table.js +53 -47
- package/dist/ui/table.js.map +1 -1
- package/dist/ui/tabs.d.ts +25 -25
- package/dist/ui/tabs.d.ts.map +1 -1
- package/dist/ui/tabs.js +75 -68
- package/dist/ui/tabs.js.map +1 -1
- package/dist/ui/textarea.d.ts +2 -37
- package/dist/ui/textarea.js +2 -35
- package/dist/ui/theme-icon.d.ts +30 -30
- package/dist/ui/theme-icon.d.ts.map +1 -1
- package/dist/ui/theme-icon.js +22 -22
- package/dist/ui/theme-icon.js.map +1 -1
- package/dist/ui/timeline.d.ts +6 -6
- package/dist/ui/timeline.d.ts.map +1 -1
- package/dist/ui/timeline.js +163 -163
- package/dist/ui/timeline.js.map +1 -1
- package/dist/ui/toggle-group.d.ts +33 -33
- package/dist/ui/toggle-group.d.ts.map +1 -1
- package/dist/ui/toggle-group.js +22 -16
- package/dist/ui/toggle-group.js.map +1 -1
- package/dist/ui/toggle.d.ts +2 -53
- package/dist/ui/toggle.js +15 -15
- package/dist/ui/toggle.js.map +1 -1
- package/dist/ui/toolbar.d.ts +56 -56
- package/dist/ui/toolbar.d.ts.map +1 -1
- package/dist/ui/toolbar.js +43 -40
- package/dist/ui/toolbar.js.map +1 -1
- package/dist/ui/tooltip.d.ts +3 -55
- package/dist/ui/tooltip.js +2 -28
- package/dist/ui/typography.d.ts +50 -36
- package/dist/ui/typography.d.ts.map +1 -1
- package/dist/ui/typography.js +28 -17
- package/dist/ui/typography.js.map +1 -1
- package/package.json +17 -15
- package/dist/avatar-image-BQ_NEKH4.js +0 -47
- package/dist/avatar-image-BQ_NEKH4.js.map +0 -1
- package/dist/avatar-image-Ce26D2fb.d.ts.map +0 -1
- package/dist/dialog-trigger-BUF3elAP.js.map +0 -1
- package/dist/dialog-viewport-Ce1huyAI.d.ts.map +0 -1
- package/dist/dropdown-menu-trigger-BpgtLUvf.d.ts.map +0 -1
- package/dist/dropdown-menu-trigger-COnFGfDa.js.map +0 -1
- package/dist/input-group-textarea-B-rP98r5.js.map +0 -1
- package/dist/sheet-trigger-D7neoTF5.js.map +0 -1
- package/dist/size-context-BjRwqlSg.js.map +0 -1
- package/dist/size-context-DXfCAlWF.d.ts.map +0 -1
- package/dist/size-system-DTXmtQXw.js +0 -47
- package/dist/size-system-DTXmtQXw.js.map +0 -1
- package/dist/size-system-wzOLSuax.d.ts.map +0 -1
- package/dist/slider-root-presentation-ChJHPMIV.js.map +0 -1
- package/dist/slider-value-Db8SCu0c.d.ts.map +0 -1
- package/dist/tooltip-trigger-qXw-_nbh.js.map +0 -1
- package/dist/tooltip-viewport-csA6luqI.d.ts.map +0 -1
- package/dist/ui/avatar.d.ts.map +0 -1
- package/dist/ui/avatar.js.map +0 -1
- package/dist/ui/badge.js.map +0 -1
- package/dist/ui/button.d.ts.map +0 -1
- package/dist/ui/dialog.d.ts.map +0 -1
- package/dist/ui/dialog.js.map +0 -1
- package/dist/ui/dropdown-menu.d.ts.map +0 -1
- package/dist/ui/dropdown-menu.js.map +0 -1
- package/dist/ui/input-group.js.map +0 -1
- package/dist/ui/input.d.ts.map +0 -1
- package/dist/ui/input.js.map +0 -1
- package/dist/ui/separator.d.ts.map +0 -1
- package/dist/ui/sheet.js.map +0 -1
- package/dist/ui/textarea.d.ts.map +0 -1
- package/dist/ui/textarea.js.map +0 -1
- package/dist/ui/toggle.d.ts.map +0 -1
- package/dist/ui/tooltip.d.ts.map +0 -1
- package/dist/ui/tooltip.js.map +0 -1
- package/dist/use-badge-default-props-8d9wPL0k.js +0 -8
- package/dist/use-badge-default-props-8d9wPL0k.js.map +0 -1
- package/dist/use-input-default-props-B6VgKXGM.js +0 -8
- package/dist/use-input-default-props-B6VgKXGM.js.map +0 -1
- package/dist/use-textarea-default-props-7MlOxkDO.js +0 -8
- package/dist/use-textarea-default-props-7MlOxkDO.js.map +0 -1
package/dist/ui/button.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import { a as
|
|
3
|
+
import { a as useComponentSize, r as filterUndefinedProps, s as useKuzenboComponentDefaults } from "../size-provider-18EvJgDT.js";
|
|
4
|
+
import { a as resolveFieldHeightClassBySize, i as resolveDefaultNestedIconClassBySize, o as resolveFieldTextClassBySize } from "../size-system-BTsMqZRQ.js";
|
|
5
5
|
import { t as mergeBaseUIClassName } from "../merge-base-ui-class-name-HKsgjcXj.js";
|
|
6
6
|
import { t as ButtonGroupSizeContext } from "../button-group-size-context-DW7Gn-3k.js";
|
|
7
7
|
import { Spinner } from "./spinner.js";
|
|
8
|
+
import { t as buttonSharedVariants } from "../button-shared-variants-J4RVI3K7.js";
|
|
8
9
|
import { useContext } from "react";
|
|
9
10
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
11
|
import { cn, tv } from "tailwind-variants";
|
|
@@ -12,59 +13,37 @@ import { Button as Button$1 } from "@base-ui/react/button";
|
|
|
12
13
|
|
|
13
14
|
//#region src/ui/button/button.tsx
|
|
14
15
|
const buttonVariants = tv({
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
xl: [
|
|
40
|
-
FIELD_HEIGHT_CLASS_BY_SIZE.xl,
|
|
41
|
-
FIELD_TEXT_CLASS_BY_SIZE.xl,
|
|
42
|
-
DEFAULT_NESTED_ICON_CLASS_BY_SIZE.xl,
|
|
43
|
-
"gap-2 px-4 has-data-[icon=inline-end]:pr-3.5 has-data-[icon=inline-start]:pl-3.5"
|
|
44
|
-
],
|
|
45
|
-
icon: "size-9",
|
|
46
|
-
"icon-xs": `size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg ${DEFAULT_NESTED_ICON_CLASS_BY_SIZE.xs}`,
|
|
47
|
-
"icon-sm": "size-8 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg",
|
|
48
|
-
"icon-lg": "size-10",
|
|
49
|
-
"icon-xl": `size-11 ${DEFAULT_NESTED_ICON_CLASS_BY_SIZE.xl}`
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
defaultVariants: {
|
|
53
|
-
variant: "default",
|
|
54
|
-
size: "md"
|
|
55
|
-
}
|
|
16
|
+
extend: buttonSharedVariants,
|
|
17
|
+
base: "group/button",
|
|
18
|
+
defaultVariants: { size: "md" },
|
|
19
|
+
variants: { size: {
|
|
20
|
+
lg: [resolveFieldHeightClassBySize("lg"), "gap-1.5 px-3 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3"],
|
|
21
|
+
md: [resolveFieldHeightClassBySize("md"), "gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2"],
|
|
22
|
+
sm: [
|
|
23
|
+
resolveFieldHeightClassBySize("sm"),
|
|
24
|
+
resolveDefaultNestedIconClassBySize("sm"),
|
|
25
|
+
"gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5"
|
|
26
|
+
],
|
|
27
|
+
xl: [
|
|
28
|
+
resolveFieldHeightClassBySize("xl"),
|
|
29
|
+
resolveFieldTextClassBySize("xl"),
|
|
30
|
+
resolveDefaultNestedIconClassBySize("xl"),
|
|
31
|
+
"gap-2 px-4 has-data-[icon=inline-end]:pr-3.5 has-data-[icon=inline-start]:pl-3.5"
|
|
32
|
+
],
|
|
33
|
+
xs: [
|
|
34
|
+
resolveFieldHeightClassBySize("xs"),
|
|
35
|
+
resolveFieldTextClassBySize("xs"),
|
|
36
|
+
resolveDefaultNestedIconClassBySize("xs"),
|
|
37
|
+
"gap-1 rounded-[min(var(--radius-md),8px)] px-2 in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5"
|
|
38
|
+
]
|
|
39
|
+
} }
|
|
56
40
|
});
|
|
57
41
|
const BUTTON_SPINNER_SIZE_BY_BUTTON_SIZE = {
|
|
58
|
-
xs: "xs",
|
|
59
|
-
sm: "sm",
|
|
60
|
-
md: "md",
|
|
61
42
|
lg: "lg",
|
|
43
|
+
md: "md",
|
|
44
|
+
sm: "sm",
|
|
62
45
|
xl: "xl",
|
|
63
|
-
|
|
64
|
-
"icon-xs": "xs",
|
|
65
|
-
"icon-sm": "sm",
|
|
66
|
-
"icon-lg": "lg",
|
|
67
|
-
"icon-xl": "xl"
|
|
46
|
+
xs: "xs"
|
|
68
47
|
};
|
|
69
48
|
const isButtonSize = (value) => typeof value === "string" && value in BUTTON_SPINNER_SIZE_BY_BUTTON_SIZE;
|
|
70
49
|
const ButtonContent = ({ children, isLoading, size }) => /* @__PURE__ */ jsxs("span", {
|
|
@@ -84,12 +63,11 @@ const Button = (incomingProps) => {
|
|
|
84
63
|
...filterUndefinedProps(incomingProps)
|
|
85
64
|
};
|
|
86
65
|
const { size: buttonGroupSize } = useContext(ButtonGroupSizeContext);
|
|
87
|
-
const
|
|
88
|
-
const resolvedSize = isButtonSize(size) ? size : buttonGroupSize ?? (isButtonSize(componentDefaultSize) ? componentDefaultSize : globalSize ?? "md");
|
|
66
|
+
const resolvedSize = useComponentSize(isButtonSize(size) ? size : void 0, buttonGroupSize, isButtonSize(componentDefaultSize) ? componentDefaultSize : void 0);
|
|
89
67
|
return /* @__PURE__ */ jsx(Button$1, {
|
|
90
68
|
className: mergeBaseUIClassName(cn(buttonVariants({
|
|
91
|
-
|
|
92
|
-
|
|
69
|
+
size: resolvedSize,
|
|
70
|
+
variant
|
|
93
71
|
})), className),
|
|
94
72
|
focusableWhenDisabled: Boolean(isLoading),
|
|
95
73
|
"data-loading": isLoading,
|
package/dist/ui/button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","names":["ButtonPrimitive"],"sources":["../../src/ui/button/button.tsx"],"sourcesContent":["\"use client\";\n\nimport
|
|
1
|
+
{"version":3,"file":"button.js","names":["ButtonPrimitive"],"sources":["../../src/ui/button/button.tsx"],"sourcesContent":["\"use client\";\n\nimport { Button as ButtonPrimitive } from \"@base-ui/react/button\";\nimport type { ComponentProps, ReactNode } from \"react\";\nimport { useContext } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport { ButtonGroupSizeContext } from \"../button-group/button-group-size-context\";\nimport {\n useComponentSize,\n filterUndefinedProps,\n useKuzenboComponentDefaults,\n} from \"../shared/size/size-provider\";\nimport type { UISize } from \"../shared/size/size-system\";\nimport {\n resolveDefaultNestedIconClassBySize,\n resolveFieldHeightClassBySize,\n resolveFieldTextClassBySize,\n} from \"../shared/size/size-system\";\nimport { Spinner } from \"../spinner/spinner\";\nimport { buttonSharedVariants } from \"./button-shared-variants\";\n\nconst buttonVariants = tv({\n extend: buttonSharedVariants,\n base: \"group/button\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: [\n resolveFieldHeightClassBySize(\"lg\"),\n \"gap-1.5 px-3 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3\",\n ],\n md: [\n resolveFieldHeightClassBySize(\"md\"),\n \"gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\n ],\n sm: [\n resolveFieldHeightClassBySize(\"sm\"),\n resolveDefaultNestedIconClassBySize(\"sm\"),\n \"gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5\",\n ],\n xl: [\n resolveFieldHeightClassBySize(\"xl\"),\n resolveFieldTextClassBySize(\"xl\"),\n resolveDefaultNestedIconClassBySize(\"xl\"),\n \"gap-2 px-4 has-data-[icon=inline-end]:pr-3.5 has-data-[icon=inline-start]:pl-3.5\",\n ],\n xs: [\n resolveFieldHeightClassBySize(\"xs\"),\n resolveFieldTextClassBySize(\"xs\"),\n resolveDefaultNestedIconClassBySize(\"xs\"),\n \"gap-1 rounded-[min(var(--radius-md),8px)] px-2 in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5\",\n ],\n },\n },\n});\n\nexport type ButtonProps = ComponentProps<typeof ButtonPrimitive> &\n VariantProps<typeof buttonVariants> & {\n isLoading?: boolean;\n };\n\ntype ButtonSize = NonNullable<VariantProps<typeof buttonVariants>[\"size\"]>;\n\nconst BUTTON_SPINNER_SIZE_BY_BUTTON_SIZE: Record<ButtonSize, UISize> = {\n lg: \"lg\",\n md: \"md\",\n sm: \"sm\",\n xl: \"xl\",\n xs: \"xs\",\n};\n\nconst isButtonSize = (value: unknown): value is ButtonSize =>\n typeof value === \"string\" && value in BUTTON_SPINNER_SIZE_BY_BUTTON_SIZE;\n\nconst ButtonContent = ({\n children,\n isLoading,\n size,\n}: {\n children: ReactNode;\n isLoading?: boolean;\n size: ButtonSize;\n}) => (\n <span className=\"relative inline-flex items-center justify-center\">\n <span\n className={cn(\n \"inline-flex items-center justify-center gap-2 transition-all duration-200\",\n isLoading\n ? \"pointer-events-none -translate-y-full opacity-0\"\n : \"translate-y-0 opacity-100\"\n )}\n >\n {children}\n </span>\n <span\n className={cn(\n \"absolute inset-0 inline-flex items-center justify-center transition-all duration-200\",\n isLoading\n ? \"translate-y-0 opacity-100\"\n : \"pointer-events-none -translate-y-full opacity-0\"\n )}\n >\n <Spinner size={BUTTON_SPINNER_SIZE_BY_BUTTON_SIZE[size]} />\n </span>\n </span>\n);\n\nconst Button = (incomingProps: ButtonProps) => {\n const componentDefaults = useKuzenboComponentDefaults<ButtonProps>(\"Button\");\n const { size: componentDefaultSize, ...componentDefaultsWithoutSize } =\n componentDefaults;\n const {\n className,\n variant = \"default\",\n size,\n isLoading,\n children,\n disabled,\n ...props\n } = {\n ...filterUndefinedProps(componentDefaultsWithoutSize),\n ...filterUndefinedProps(incomingProps),\n };\n\n const { size: buttonGroupSize } = useContext(ButtonGroupSizeContext);\n const resolvedSize = useComponentSize(\n isButtonSize(size) ? size : undefined,\n buttonGroupSize,\n isButtonSize(componentDefaultSize) ? componentDefaultSize : undefined\n );\n\n return (\n <ButtonPrimitive\n className={mergeBaseUIClassName<ButtonPrimitive.State>(\n cn(buttonVariants({ size: resolvedSize, variant })),\n className\n )}\n focusableWhenDisabled={Boolean(isLoading)}\n data-loading={isLoading}\n data-size={resolvedSize}\n data-slot=\"button\"\n disabled={disabled || isLoading}\n {...props}\n >\n <ButtonContent isLoading={isLoading} size={resolvedSize}>\n {children}\n </ButtonContent>\n </ButtonPrimitive>\n );\n};\n\nexport { Button, buttonVariants };\n"],"mappings":";;;;;;;;;;;;;;AAwBA,MAAM,iBAAiB,GAAG;CACxB,QAAQ;CACR,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI,CACF,8BAA8B,KAAK,EACnC,iFACD;EACD,IAAI,CACF,8BAA8B,KAAK,EACnC,mFACD;EACD,IAAI;GACF,8BAA8B,KAAK;GACnC,oCAAoC,KAAK;GACzC;GACD;EACD,IAAI;GACF,8BAA8B,KAAK;GACnC,4BAA4B,KAAK;GACjC,oCAAoC,KAAK;GACzC;GACD;EACD,IAAI;GACF,8BAA8B,KAAK;GACnC,4BAA4B,KAAK;GACjC,oCAAoC,KAAK;GACzC;GACD;EACF,EACF;CACF,CAAC;AASF,MAAM,qCAAiE;CACrE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,MAAM,gBAAgB,UACpB,OAAO,UAAU,YAAY,SAAS;AAExC,MAAM,iBAAiB,EACrB,UACA,WACA,WAMA,qBAAC,QAAD;CAAM,WAAU;WAAhB,CACE,oBAAC,QAAD;EACE,WAAW,GACT,6EACA,YACI,oDACA,4BACL;EAEA;EACI,GACP,oBAAC,QAAD;EACE,WAAW,GACT,wFACA,YACI,8BACA,kDACL;YAED,oBAAC,SAAD,EAAS,MAAM,mCAAmC,OAAS;EACtD,EACF;;AAGT,MAAM,UAAU,kBAA+B;CAE7C,MAAM,EAAE,MAAM,sBAAsB,GAAG,iCADb,4BAAyC,SAAS;CAG5E,MAAM,EACJ,WACA,UAAU,WACV,MACA,WACA,UACA,UACA,GAAG,UACD;EACF,GAAG,qBAAqB,6BAA6B;EACrD,GAAG,qBAAqB,cAAc;EACvC;CAED,MAAM,EAAE,MAAM,oBAAoB,WAAW,uBAAuB;CACpE,MAAM,eAAe,iBACnB,aAAa,KAAK,GAAG,OAAO,QAC5B,iBACA,aAAa,qBAAqB,GAAG,uBAAuB,OAC7D;AAED,QACE,oBAACA,UAAD;EACE,WAAW,qBACT,GAAG,eAAe;GAAE,MAAM;GAAc;GAAS,CAAC,CAAC,EACnD,UACD;EACD,uBAAuB,QAAQ,UAAU;EACzC,gBAAc;EACd,aAAW;EACX,aAAU;EACV,UAAU,YAAY;EACtB,GAAI;YAEJ,oBAAC,eAAD;GAA0B;GAAW,MAAM;GACxC;GACa;EACA"}
|
package/dist/ui/card.d.ts
CHANGED
package/dist/ui/card.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.d.ts","names":[],"sources":["../../src/ui/card/card-action.tsx","../../src/ui/card/card-content.tsx","../../src/ui/card/card-description.tsx","../../src/ui/card/card-footer.tsx","../../src/ui/card/card-header.tsx","../../src/ui/card/card-title.tsx","../../src/ui/card/card.tsx"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"card.d.ts","names":[],"sources":["../../src/ui/card/card-action.tsx","../../src/ui/card/card-content.tsx","../../src/ui/card/card-description.tsx","../../src/ui/card/card-footer.tsx","../../src/ui/card/card-header.tsx","../../src/ui/card/card-title.tsx","../../src/ui/card/card.tsx"],"mappings":";;;;;KAEY,eAAA,GAAkB,cAAA;AAAA,cAExB,UAAA;EAAc,SAAA;EAAA,GAAA;AAAA,GAAyB,eAAA,KAAe,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCFhD,gBAAA,GAAmB,cAAA;AAAA,cAEzB,WAAA;EAAe,SAAA;EAAA,GAAA;AAAA,GAAyB,gBAAA,KAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCFlD,oBAAA,GAAuB,cAAA;AAAA,cAE7B,eAAA;EAAmB,SAAA;EAAA,GAAA;AAAA,GAAyB,oBAAA,KAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCF1D,eAAA,GAAkB,cAAA;AAAA,cAExB,UAAA;EAAc,SAAA;EAAA,GAAA;AAAA,GAAyB,eAAA,KAAe,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCFhD,eAAA,GAAkB,cAAA;AAAA,cAExB,UAAA;EAAc,SAAA;EAAA,GAAA;AAAA,GAAyB,eAAA,KAAe,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCFhD,cAAA,GAAiB,cAAA;AAAA,cAEvB,SAAA;EAAa,SAAA;EAAA,GAAA;AAAA,GAAyB,cAAA,KAAc,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCU9C,SAAA,GAAY,cAAA;EAA0B,IAAA,GAAO,MAAA;AAAA;AAAA,cAEnD,IAAA;EAAA,gBAAuB,SAAA,GAAS,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
package/dist/ui/card.js
CHANGED
|
@@ -14,7 +14,7 @@ const CardAction = ({ className, ...props }) => /* @__PURE__ */ jsx("div", {
|
|
|
14
14
|
//#endregion
|
|
15
15
|
//#region src/ui/card/card-content.tsx
|
|
16
16
|
const CardContent = ({ className, ...props }) => /* @__PURE__ */ jsx("div", {
|
|
17
|
-
className: cn("group-data-[size=
|
|
17
|
+
className: cn("group-data-[size=lg]/card:px-6 group-data-[size=md]/card:px-5 group-data-[size=sm]/card:px-3 group-data-[size=xl]/card:px-7 group-data-[size=xs]/card:px-2.5", className),
|
|
18
18
|
"data-slot": "card-content",
|
|
19
19
|
...props
|
|
20
20
|
});
|
|
@@ -22,7 +22,7 @@ const CardContent = ({ className, ...props }) => /* @__PURE__ */ jsx("div", {
|
|
|
22
22
|
//#endregion
|
|
23
23
|
//#region src/ui/card/card-description.tsx
|
|
24
24
|
const CardDescription = ({ className, ...props }) => /* @__PURE__ */ jsx("div", {
|
|
25
|
-
className: cn("text-muted-foreground group-data-[size=
|
|
25
|
+
className: cn("text-muted-foreground group-data-[size=lg]/card:text-sm group-data-[size=md]/card:text-sm group-data-[size=sm]/card:text-sm group-data-[size=xl]/card:text-base group-data-[size=xs]/card:text-xs", className),
|
|
26
26
|
"data-slot": "card-description",
|
|
27
27
|
...props
|
|
28
28
|
});
|
|
@@ -30,7 +30,7 @@ const CardDescription = ({ className, ...props }) => /* @__PURE__ */ jsx("div",
|
|
|
30
30
|
//#endregion
|
|
31
31
|
//#region src/ui/card/card-footer.tsx
|
|
32
32
|
const CardFooter = ({ className, ...props }) => /* @__PURE__ */ jsx("div", {
|
|
33
|
-
className: cn("flex items-center rounded-b-xl group-data-[size=
|
|
33
|
+
className: cn("flex items-center rounded-b-xl group-data-[size=lg]/card:px-6 group-data-[size=lg]/card:pb-6 group-data-[size=md]/card:px-5 group-data-[size=md]/card:pb-5 group-data-[size=sm]/card:px-3 group-data-[size=sm]/card:pb-3 group-data-[size=xl]/card:px-7 group-data-[size=xl]/card:pb-7 group-data-[size=xs]/card:px-2.5 group-data-[size=xs]/card:pb-2.5 group-data-[size=lg]/card:[.border-t]:pt-6 group-data-[size=md]/card:[.border-t]:pt-5 group-data-[size=sm]/card:[.border-t]:pt-3 group-data-[size=xl]/card:[.border-t]:pt-7 group-data-[size=xs]/card:[.border-t]:pt-2.5", className),
|
|
34
34
|
"data-slot": "card-footer",
|
|
35
35
|
...props
|
|
36
36
|
});
|
|
@@ -38,7 +38,7 @@ const CardFooter = ({ className, ...props }) => /* @__PURE__ */ jsx("div", {
|
|
|
38
38
|
//#endregion
|
|
39
39
|
//#region src/ui/card/card-header.tsx
|
|
40
40
|
const CardHeader = ({ className, ...props }) => /* @__PURE__ */ jsx("div", {
|
|
41
|
-
className: cn("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl group-data-[size=
|
|
41
|
+
className: cn("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl group-data-[size=lg]/card:px-6 group-data-[size=md]/card:px-5 group-data-[size=sm]/card:px-3 group-data-[size=xl]/card:px-7 group-data-[size=xs]/card:px-2.5 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] group-data-[size=lg]/card:[.border-b]:pb-6 group-data-[size=md]/card:[.border-b]:pb-5 group-data-[size=sm]/card:[.border-b]:pb-3 group-data-[size=xl]/card:[.border-b]:pb-7 group-data-[size=xs]/card:[.border-b]:pb-2.5", className),
|
|
42
42
|
"data-slot": "card-header",
|
|
43
43
|
...props
|
|
44
44
|
});
|
|
@@ -46,7 +46,7 @@ const CardHeader = ({ className, ...props }) => /* @__PURE__ */ jsx("div", {
|
|
|
46
46
|
//#endregion
|
|
47
47
|
//#region src/ui/card/card-title.tsx
|
|
48
48
|
const CardTitle = ({ className, ...props }) => /* @__PURE__ */ jsx("div", {
|
|
49
|
-
className: cn("leading-snug font-medium group-data-[size=
|
|
49
|
+
className: cn("leading-snug font-medium group-data-[size=lg]/card:text-base group-data-[size=md]/card:text-base group-data-[size=sm]/card:text-sm group-data-[size=xl]/card:text-lg group-data-[size=xs]/card:text-sm", className),
|
|
50
50
|
"data-slot": "card-title",
|
|
51
51
|
...props
|
|
52
52
|
});
|
|
@@ -61,7 +61,7 @@ const Card = (incomingProps) => {
|
|
|
61
61
|
const { className, size: providedSize, ...props } = useCardDefaultProps(incomingProps);
|
|
62
62
|
const size = useComponentSize(providedSize);
|
|
63
63
|
return /* @__PURE__ */ jsx("div", {
|
|
64
|
-
className: cn("group/card flex flex-col overflow-hidden rounded-xl border
|
|
64
|
+
className: cn("group/card border-border bg-card text-card-foreground flex flex-col overflow-hidden rounded-xl border shadow-xs has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=lg]:gap-6 data-[size=lg]:py-6 data-[size=lg]:text-sm data-[size=md]:gap-5 data-[size=md]:py-5 data-[size=md]:text-sm data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:text-sm data-[size=xl]:gap-7 data-[size=xl]:py-6 data-[size=xl]:text-base data-[size=xs]:gap-2.5 data-[size=xs]:py-2.5 data-[size=xs]:text-xs *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl", className),
|
|
65
65
|
"data-size": size,
|
|
66
66
|
"data-slot": "card",
|
|
67
67
|
...props
|
package/dist/ui/card.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","names":[],"sources":["../../src/ui/card/card-action.tsx","../../src/ui/card/card-content.tsx","../../src/ui/card/card-description.tsx","../../src/ui/card/card-footer.tsx","../../src/ui/card/card-header.tsx","../../src/ui/card/card-title.tsx","../../src/ui/card/use-card-default-props.ts","../../src/ui/card/card.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\
|
|
1
|
+
{"version":3,"file":"card.js","names":[],"sources":["../../src/ui/card/card-action.tsx","../../src/ui/card/card-content.tsx","../../src/ui/card/card-description.tsx","../../src/ui/card/card-footer.tsx","../../src/ui/card/card-header.tsx","../../src/ui/card/card-title.tsx","../../src/ui/card/use-card-default-props.ts","../../src/ui/card/card.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type CardActionProps = ComponentProps<\"div\">;\n\nconst CardAction = ({ className, ...props }: CardActionProps) => (\n <div\n className={cn(\n \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n className\n )}\n data-slot=\"card-action\"\n {...props}\n />\n);\n\nexport { CardAction };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type CardContentProps = ComponentProps<\"div\">;\n\nconst CardContent = ({ className, ...props }: CardContentProps) => (\n <div\n className={cn(\n \"group-data-[size=lg]/card:px-6 group-data-[size=md]/card:px-5 group-data-[size=sm]/card:px-3 group-data-[size=xl]/card:px-7 group-data-[size=xs]/card:px-2.5\",\n className\n )}\n data-slot=\"card-content\"\n {...props}\n />\n);\n\nexport { CardContent };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type CardDescriptionProps = ComponentProps<\"div\">;\n\nconst CardDescription = ({ className, ...props }: CardDescriptionProps) => (\n <div\n className={cn(\n \"text-muted-foreground group-data-[size=lg]/card:text-sm group-data-[size=md]/card:text-sm group-data-[size=sm]/card:text-sm group-data-[size=xl]/card:text-base group-data-[size=xs]/card:text-xs\",\n className\n )}\n data-slot=\"card-description\"\n {...props}\n />\n);\n\nexport { CardDescription };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type CardFooterProps = ComponentProps<\"div\">;\n\nconst CardFooter = ({ className, ...props }: CardFooterProps) => (\n <div\n className={cn(\n \"flex items-center rounded-b-xl group-data-[size=lg]/card:px-6 group-data-[size=lg]/card:pb-6 group-data-[size=md]/card:px-5 group-data-[size=md]/card:pb-5 group-data-[size=sm]/card:px-3 group-data-[size=sm]/card:pb-3 group-data-[size=xl]/card:px-7 group-data-[size=xl]/card:pb-7 group-data-[size=xs]/card:px-2.5 group-data-[size=xs]/card:pb-2.5 group-data-[size=lg]/card:[.border-t]:pt-6 group-data-[size=md]/card:[.border-t]:pt-5 group-data-[size=sm]/card:[.border-t]:pt-3 group-data-[size=xl]/card:[.border-t]:pt-7 group-data-[size=xs]/card:[.border-t]:pt-2.5\",\n className\n )}\n data-slot=\"card-footer\"\n {...props}\n />\n);\n\nexport { CardFooter };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type CardHeaderProps = ComponentProps<\"div\">;\n\nconst CardHeader = ({ className, ...props }: CardHeaderProps) => (\n <div\n className={cn(\n \"group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl group-data-[size=lg]/card:px-6 group-data-[size=md]/card:px-5 group-data-[size=sm]/card:px-3 group-data-[size=xl]/card:px-7 group-data-[size=xs]/card:px-2.5 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] group-data-[size=lg]/card:[.border-b]:pb-6 group-data-[size=md]/card:[.border-b]:pb-5 group-data-[size=sm]/card:[.border-b]:pb-3 group-data-[size=xl]/card:[.border-b]:pb-7 group-data-[size=xs]/card:[.border-b]:pb-2.5\",\n className\n )}\n data-slot=\"card-header\"\n {...props}\n />\n);\n\nexport { CardHeader };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\nexport type CardTitleProps = ComponentProps<\"div\">;\n\nconst CardTitle = ({ className, ...props }: CardTitleProps) => (\n <div\n className={cn(\n \"leading-snug font-medium group-data-[size=lg]/card:text-base group-data-[size=md]/card:text-base group-data-[size=sm]/card:text-sm group-data-[size=xl]/card:text-lg group-data-[size=xs]/card:text-sm\",\n className\n )}\n data-slot=\"card-title\"\n {...props}\n />\n);\n\nexport { CardTitle };\n","import { useComponentDefaultProps } from \"../shared/size/size-provider\";\nimport type { CardProps } from \"./card\";\n\nexport const useCardDefaultProps = (incomingProps: CardProps): CardProps =>\n useComponentDefaultProps<CardProps>(\"Card\", {}, incomingProps);\n","\"use client\";\n\nimport type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport type { UISize } from \"../shared/size/size-system\";\nimport { CardAction } from \"./card-action\";\nimport { CardContent } from \"./card-content\";\nimport { CardDescription } from \"./card-description\";\nimport { CardFooter } from \"./card-footer\";\nimport { CardHeader } from \"./card-header\";\nimport { CardTitle } from \"./card-title\";\nimport { useCardDefaultProps } from \"./use-card-default-props\";\nexport type CardProps = ComponentProps<\"div\"> & { size?: UISize };\n\nconst Card = (incomingProps: CardProps) => {\n const {\n className,\n size: providedSize,\n ...props\n } = useCardDefaultProps(incomingProps);\n const size = useComponentSize(providedSize);\n\n return (\n <div\n className={cn(\n \"group/card border-border bg-card text-card-foreground flex flex-col overflow-hidden rounded-xl border shadow-xs has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=lg]:gap-6 data-[size=lg]:py-6 data-[size=lg]:text-sm data-[size=md]:gap-5 data-[size=md]:py-5 data-[size=md]:text-sm data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:text-sm data-[size=xl]:gap-7 data-[size=xl]:py-6 data-[size=xl]:text-base data-[size=xs]:gap-2.5 data-[size=xs]:py-2.5 data-[size=xs]:text-xs *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl\",\n className\n )}\n data-size={size}\n data-slot=\"card\"\n {...props}\n />\n );\n};\n\nCard.Action = CardAction;\nCard.Content = CardContent;\nCard.Description = CardDescription;\nCard.Footer = CardFooter;\nCard.Header = CardHeader;\nCard.Title = CardTitle;\n\nexport {\n Card,\n CardAction,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n};\n\nexport type { CardActionProps } from \"./card-action\";\nexport type { CardContentProps } from \"./card-content\";\nexport type { CardDescriptionProps } from \"./card-description\";\nexport type { CardFooterProps } from \"./card-footer\";\nexport type { CardHeaderProps } from \"./card-header\";\nexport type { CardTitleProps } from \"./card-title\";\n"],"mappings":";;;;;;;AAIA,MAAM,cAAc,EAAE,WAAW,GAAG,YAClC,oBAAC,OAAD;CACE,WAAW,GACT,kEACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACRJ,MAAM,eAAe,EAAE,WAAW,GAAG,YACnC,oBAAC,OAAD;CACE,WAAW,GACT,gKACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACRJ,MAAM,mBAAmB,EAAE,WAAW,GAAG,YACvC,oBAAC,OAAD;CACE,WAAW,GACT,qMACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACRJ,MAAM,cAAc,EAAE,WAAW,GAAG,YAClC,oBAAC,OAAD;CACE,WAAW,GACT,qjBACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACRJ,MAAM,cAAc,EAAE,WAAW,GAAG,YAClC,oBAAC,OAAD;CACE,WAAW,GACT,4jBACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACRJ,MAAM,aAAa,EAAE,WAAW,GAAG,YACjC,oBAAC,OAAD;CACE,WAAW,GACT,0MACA,UACD;CACD,aAAU;CACV,GAAI;CACJ;;;;ACTJ,MAAa,uBAAuB,kBAClC,yBAAoC,QAAQ,EAAE,EAAE,cAAc;;;;ACYhE,MAAM,QAAQ,kBAA6B;CACzC,MAAM,EACJ,WACA,MAAM,cACN,GAAG,UACD,oBAAoB,cAAc;CACtC,MAAM,OAAO,iBAAiB,aAAa;AAE3C,QACE,oBAAC,OAAD;EACE,WAAW,GACT,ujBACA,UACD;EACD,aAAW;EACX,aAAU;EACV,GAAI;EACJ;;AAIN,KAAK,SAAS;AACd,KAAK,UAAU;AACf,KAAK,cAAc;AACnB,KAAK,SAAS;AACd,KAAK,SAAS;AACd,KAAK,QAAQ"}
|
package/dist/ui/carousel.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { t as ActionIcon } from "../action-icon-UjYZjXrB.js";
|
|
2
2
|
import { ComponentProps } from "react";
|
|
3
3
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
4
|
import useEmblaCarousel, { UseEmblaCarouselType } from "embla-carousel-react";
|
|
@@ -18,7 +18,7 @@ declare const CarouselItem: ({
|
|
|
18
18
|
}: CarouselItemProps) => react_jsx_runtime0.JSX.Element;
|
|
19
19
|
//#endregion
|
|
20
20
|
//#region src/ui/carousel/carousel-next.d.ts
|
|
21
|
-
type CarouselNextProps = ComponentProps<typeof
|
|
21
|
+
type CarouselNextProps = ComponentProps<typeof ActionIcon>;
|
|
22
22
|
declare const CarouselNext: ({
|
|
23
23
|
className,
|
|
24
24
|
variant,
|
|
@@ -27,7 +27,7 @@ declare const CarouselNext: ({
|
|
|
27
27
|
}: CarouselNextProps) => react_jsx_runtime0.JSX.Element;
|
|
28
28
|
//#endregion
|
|
29
29
|
//#region src/ui/carousel/carousel-previous.d.ts
|
|
30
|
-
type CarouselPreviousProps = ComponentProps<typeof
|
|
30
|
+
type CarouselPreviousProps = ComponentProps<typeof ActionIcon>;
|
|
31
31
|
declare const CarouselPrevious: ({
|
|
32
32
|
className,
|
|
33
33
|
variant,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carousel.d.ts","names":[],"sources":["../../src/ui/carousel/carousel-content.tsx","../../src/ui/carousel/carousel-item.tsx","../../src/ui/carousel/carousel-next.tsx","../../src/ui/carousel/carousel-previous.tsx","../../src/ui/carousel/use-carousel.tsx","../../src/ui/carousel/carousel.tsx"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"carousel.d.ts","names":[],"sources":["../../src/ui/carousel/carousel-content.tsx","../../src/ui/carousel/carousel-item.tsx","../../src/ui/carousel/carousel-next.tsx","../../src/ui/carousel/carousel-previous.tsx","../../src/ui/carousel/use-carousel.tsx","../../src/ui/carousel/carousel.tsx"],"mappings":";;;;;;KAIY,oBAAA,GAAuB,cAAA;AAAA,cAE7B,eAAA;EAAmB,SAAA;EAAA,GAAA;AAAA,GAAyB,oBAAA,KAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCF1D,iBAAA,GAAoB,cAAA;AAAA,cAE1B,YAAA;EAAgB,SAAA;EAAA,GAAA;AAAA,GAAyB,iBAAA,KAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCCpD,iBAAA,GAAoB,cAAA,QAAsB,UAAA;AAAA,cAEhD,YAAA;EAAgB,SAAA;EAAA,OAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAKnB,iBAAA,KAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCPR,qBAAA,GAAwB,cAAA,QAAsB,UAAA;AAAA,cAEpD,gBAAA;EAAoB,SAAA;EAAA,OAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAKvB,qBAAA,KAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCRnB,WAAA,GAAc,oBAAA;AAAA,KACd,qBAAA,GAAwB,UAAA,QAAkB,gBAAA;AAAA,KAC1C,eAAA,GAAkB,qBAAA;AAAA,KAClB,cAAA,GAAiB,qBAAA;AAAA,UAEZ,aAAA;EACR,IAAA,GAAO,eAAA;EACP,OAAA,GAAU,cAAA;EACV,WAAA;EACA,MAAA,IAAU,GAAA,EAAK,WAAA;AAAA;AAAA,KAGZ,oBAAA;EACH,WAAA,EAAa,UAAA,QAAkB,gBAAA;EAC/B,GAAA,EAAK,UAAA,QAAkB,gBAAA;EACvB,UAAA;EACA,UAAA;EACA,aAAA;EACA,aAAA;AAAA,IACE,aAAA;AAAA,cAIE,WAAA,QAAW,oBAAA;;;cCfX,QAAA;EAAA;;;;;;;;KAQH,cAAA,UAAwB,aAAA,GAAa,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
package/dist/ui/carousel.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import { createContext, useCallback, useContext, useEffect, useState } from "react";
|
|
3
|
+
import { ActionIcon } from "./action-icon.js";
|
|
4
|
+
import { createContext, useCallback, useContext, useEffect, useMemo, useState } from "react";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
import { cn } from "tailwind-variants";
|
|
7
7
|
import { ArrowLeft01Icon, ArrowRight01Icon } from "@hugeicons/core-free-icons";
|
|
@@ -46,10 +46,10 @@ const CarouselItem = ({ className, ...props }) => {
|
|
|
46
46
|
|
|
47
47
|
//#endregion
|
|
48
48
|
//#region src/ui/carousel/carousel-next.tsx
|
|
49
|
-
const CarouselNext = ({ className, variant = "outline", size = "
|
|
49
|
+
const CarouselNext = ({ className, variant = "outline", size = "sm", ...props }) => {
|
|
50
50
|
const { orientation, scrollNext, canScrollNext } = useCarousel();
|
|
51
|
-
return /* @__PURE__ */ jsxs(
|
|
52
|
-
className: cn("absolute touch-manipulation rounded-full", orientation === "horizontal" ? "top-1/2 -right-12 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90", className),
|
|
51
|
+
return /* @__PURE__ */ jsxs(ActionIcon, {
|
|
52
|
+
className: cn("cursor-clickable absolute touch-manipulation rounded-full", orientation === "horizontal" ? "top-1/2 -right-12 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90", className),
|
|
53
53
|
"data-slot": "carousel-next",
|
|
54
54
|
disabled: !canScrollNext,
|
|
55
55
|
onClick: scrollNext,
|
|
@@ -68,10 +68,10 @@ const CarouselNext = ({ className, variant = "outline", size = "icon-sm", ...pro
|
|
|
68
68
|
|
|
69
69
|
//#endregion
|
|
70
70
|
//#region src/ui/carousel/carousel-previous.tsx
|
|
71
|
-
const CarouselPrevious = ({ className, variant = "outline", size = "
|
|
71
|
+
const CarouselPrevious = ({ className, variant = "outline", size = "sm", ...props }) => {
|
|
72
72
|
const { orientation, scrollPrev, canScrollPrev } = useCarousel();
|
|
73
|
-
return /* @__PURE__ */ jsxs(
|
|
74
|
-
className: cn("absolute touch-manipulation rounded-full", orientation === "horizontal" ? "top-1/2 -left-12 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90", className),
|
|
73
|
+
return /* @__PURE__ */ jsxs(ActionIcon, {
|
|
74
|
+
className: cn("cursor-clickable absolute touch-manipulation rounded-full", orientation === "horizontal" ? "top-1/2 -left-12 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90", className),
|
|
75
75
|
"data-slot": "carousel-previous",
|
|
76
76
|
disabled: !canScrollPrev,
|
|
77
77
|
onClick: scrollPrev,
|
|
@@ -109,14 +109,21 @@ const Carousel = ({ orientation = "horizontal", opts, setApi, plugins, className
|
|
|
109
109
|
api?.scrollNext();
|
|
110
110
|
}, [api]);
|
|
111
111
|
const handleKeyDown = useCallback((event) => {
|
|
112
|
-
if (event.
|
|
112
|
+
if (event.target !== event.currentTarget) return;
|
|
113
|
+
const previousKey = orientation === "horizontal" ? "ArrowLeft" : "ArrowUp";
|
|
114
|
+
const nextKey = orientation === "horizontal" ? "ArrowRight" : "ArrowDown";
|
|
115
|
+
if (event.key === previousKey) {
|
|
113
116
|
event.preventDefault();
|
|
114
117
|
scrollPrev();
|
|
115
|
-
} else if (event.key ===
|
|
118
|
+
} else if (event.key === nextKey) {
|
|
116
119
|
event.preventDefault();
|
|
117
120
|
scrollNext();
|
|
118
121
|
}
|
|
119
|
-
}, [
|
|
122
|
+
}, [
|
|
123
|
+
orientation,
|
|
124
|
+
scrollPrev,
|
|
125
|
+
scrollNext
|
|
126
|
+
]);
|
|
120
127
|
useEffect(() => {
|
|
121
128
|
if (!(api && setApi)) return;
|
|
122
129
|
setApi(api);
|
|
@@ -130,23 +137,35 @@ const Carousel = ({ orientation = "horizontal", opts, setApi, plugins, className
|
|
|
130
137
|
api?.off("select", onSelect);
|
|
131
138
|
};
|
|
132
139
|
}, [api, onSelect]);
|
|
140
|
+
const resolvedOrientation = orientation || (opts?.axis === "y" ? "vertical" : "horizontal");
|
|
141
|
+
const contextValue = useMemo(() => ({
|
|
142
|
+
api,
|
|
143
|
+
canScrollNext,
|
|
144
|
+
canScrollPrev,
|
|
145
|
+
carouselRef,
|
|
146
|
+
opts,
|
|
147
|
+
orientation: resolvedOrientation,
|
|
148
|
+
scrollNext,
|
|
149
|
+
scrollPrev
|
|
150
|
+
}), [
|
|
151
|
+
carouselRef,
|
|
152
|
+
api,
|
|
153
|
+
opts,
|
|
154
|
+
resolvedOrientation,
|
|
155
|
+
scrollPrev,
|
|
156
|
+
scrollNext,
|
|
157
|
+
canScrollPrev,
|
|
158
|
+
canScrollNext
|
|
159
|
+
]);
|
|
133
160
|
return /* @__PURE__ */ jsx(CarouselContext.Provider, {
|
|
134
|
-
value:
|
|
135
|
-
carouselRef,
|
|
136
|
-
api,
|
|
137
|
-
opts,
|
|
138
|
-
orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
|
|
139
|
-
scrollPrev,
|
|
140
|
-
scrollNext,
|
|
141
|
-
canScrollPrev,
|
|
142
|
-
canScrollNext
|
|
143
|
-
},
|
|
161
|
+
value: contextValue,
|
|
144
162
|
children: /* @__PURE__ */ jsx("div", {
|
|
145
163
|
"aria-roledescription": "carousel",
|
|
146
164
|
className: cn("relative", className),
|
|
147
165
|
"data-slot": "carousel",
|
|
148
|
-
|
|
166
|
+
onKeyDown: handleKeyDown,
|
|
149
167
|
role: "region",
|
|
168
|
+
tabIndex: 0,
|
|
150
169
|
...props,
|
|
151
170
|
children
|
|
152
171
|
})
|
package/dist/ui/carousel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carousel.js","names":[],"sources":["../../src/ui/carousel/use-carousel.tsx","../../src/ui/carousel/carousel-content.tsx","../../src/ui/carousel/carousel-item.tsx","../../src/ui/carousel/carousel-next.tsx","../../src/ui/carousel/carousel-previous.tsx","../../src/ui/carousel/carousel.tsx"],"sourcesContent":["\"use client\";\n\nimport type useEmblaCarousel from \"embla-carousel-react\";\nimport type { UseEmblaCarouselType } from \"embla-carousel-react\";\n\nimport { createContext, useContext } from \"react\";\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ninterface CarouselProps {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n orientation?: \"horizontal\" | \"vertical\";\n setApi?: (api: CarouselApi) => void;\n}\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n api: ReturnType<typeof useEmblaCarousel>[1];\n scrollPrev: () => void;\n scrollNext: () => void;\n canScrollPrev: boolean;\n canScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = createContext<CarouselContextProps | null>(null);\n\nconst useCarousel = () => {\n const context = useContext(CarouselContext);\n\n if (!context) {\n throw new Error(\"useCarousel must be used within a <Carousel />\");\n }\n\n return context;\n};\n\nexport {\n type CarouselApi,\n type CarouselContextProps,\n type CarouselProps,\n CarouselContext,\n useCarousel,\n};\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport { useCarousel } from \"./use-carousel\";\nexport type CarouselContentProps = ComponentProps<\"div\">;\n\nconst CarouselContent = ({ className, ...props }: CarouselContentProps) => {\n const { carouselRef, orientation } = useCarousel();\n\n return (\n <div\n className=\"overflow-hidden\"\n data-slot=\"carousel-content\"\n ref={carouselRef}\n >\n <div\n className={cn(\n \"flex\",\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n className\n )}\n {...props}\n />\n </div>\n );\n};\n\nexport { CarouselContent };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport { useCarousel } from \"./use-carousel\";\nexport type CarouselItemProps = ComponentProps<\"div\">;\n\nconst CarouselItem = ({ className, ...props }: CarouselItemProps) => {\n const { orientation } = useCarousel();\n\n return (\n <div\n aria-roledescription=\"slide\"\n className={cn(\n \"min-w-0 shrink-0 grow-0 basis-full\",\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n className\n )}\n data-slot=\"carousel-item\"\n role=\"group\"\n {...props}\n />\n );\n};\n\nexport { CarouselItem };\n","import type { ComponentProps } from \"react\";\n\nimport { ArrowRight01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { Button } from \"../button/button\";\nimport { useCarousel } from \"./use-carousel\";\nexport type CarouselNextProps = ComponentProps<typeof Button>;\n\nconst CarouselNext = ({\n className,\n variant = \"outline\",\n size = \"icon-sm\",\n ...props\n}: CarouselNextProps) => {\n const { orientation, scrollNext, canScrollNext } = useCarousel();\n\n return (\n <Button\n className={cn(\n \"absolute touch-manipulation rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -right-12 -translate-y-1/2\"\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n data-slot=\"carousel-next\"\n disabled={!canScrollNext}\n onClick={scrollNext}\n size={size}\n variant={variant}\n {...props}\n >\n <HugeiconsIcon icon={ArrowRight01Icon} strokeWidth={2} />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n};\n\nexport { CarouselNext };\n","import type { ComponentProps } from \"react\";\n\nimport { ArrowLeft01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { Button } from \"../button/button\";\nimport { useCarousel } from \"./use-carousel\";\nexport type CarouselPreviousProps = ComponentProps<typeof Button>;\n\nconst CarouselPrevious = ({\n className,\n variant = \"outline\",\n size = \"icon-sm\",\n ...props\n}: CarouselPreviousProps) => {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n return (\n <Button\n className={cn(\n \"absolute touch-manipulation rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -left-12 -translate-y-1/2\"\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n data-slot=\"carousel-previous\"\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n size={size}\n variant={variant}\n {...props}\n >\n <HugeiconsIcon icon={ArrowLeft01Icon} strokeWidth={2} />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n};\n\nexport { CarouselPrevious };\n","\"use client\";\n\nimport useEmblaCarousel from \"embla-carousel-react\";\nimport {\n type ComponentProps,\n type KeyboardEvent,\n useCallback,\n useEffect,\n useState,\n} from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { CarouselContent } from \"./carousel-content\";\nimport { CarouselItem } from \"./carousel-item\";\nimport { CarouselNext } from \"./carousel-next\";\nimport { CarouselPrevious } from \"./carousel-previous\";\nimport {\n type CarouselApi,\n CarouselContext,\n type CarouselProps,\n useCarousel,\n} from \"./use-carousel\";\n\nconst Carousel = ({\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & CarouselProps) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\n },\n plugins\n );\n const [canScrollPrev, setCanScrollPrev] = useState(false);\n const [canScrollNext, setCanScrollNext] = useState(false);\n\n const onSelect = useCallback((emblaApi: CarouselApi) => {\n if (!emblaApi) {\n return;\n }\n setCanScrollPrev(emblaApi.canScrollPrev());\n setCanScrollNext(emblaApi.canScrollNext());\n }, []);\n\n const scrollPrev = useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n\n const scrollNext = useCallback(() => {\n api?.scrollNext();\n }, [api]);\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === \"ArrowRight\") {\n event.preventDefault();\n scrollNext();\n }\n },\n [scrollPrev, scrollNext]\n );\n\n useEffect(() => {\n if (!(api && setApi)) {\n return;\n }\n setApi(api);\n }, [api, setApi]);\n\n useEffect(() => {\n if (!api) {\n return;\n }\n onSelect(api);\n api.on(\"reInit\", onSelect);\n api.on(\"select\", onSelect);\n\n return () => {\n api?.off(\"select\", onSelect);\n };\n }, [api, onSelect]);\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api,\n opts,\n orientation:\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n {/** biome-ignore lint/a11y/useSemanticElements: region is not semantically appropriate for carousel */}\n <div\n aria-roledescription=\"carousel\"\n className={cn(\"relative\", className)}\n data-slot=\"carousel\"\n onKeyDownCapture={handleKeyDown}\n role=\"region\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n );\n};\n\nCarousel.Content = CarouselContent;\nCarousel.Item = CarouselItem;\nCarousel.Next = CarouselNext;\nCarousel.Previous = CarouselPrevious;\n\nexport type { CarouselApi } from \"./use-carousel\";\n\nexport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselNext,\n CarouselPrevious,\n useCarousel,\n};\n\nexport type { CarouselProps } from \"./use-carousel\";\n\nexport type { CarouselContentProps } from \"./carousel-content\";\nexport type { CarouselItemProps } from \"./carousel-item\";\nexport type { CarouselNextProps } from \"./carousel-next\";\nexport type { CarouselPreviousProps } from \"./carousel-previous\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"carousel.js","names":[],"sources":["../../src/ui/carousel/use-carousel.tsx","../../src/ui/carousel/carousel-content.tsx","../../src/ui/carousel/carousel-item.tsx","../../src/ui/carousel/carousel-next.tsx","../../src/ui/carousel/carousel-previous.tsx","../../src/ui/carousel/carousel.tsx"],"sourcesContent":["\"use client\";\n\nimport type useEmblaCarousel from \"embla-carousel-react\";\nimport type { UseEmblaCarouselType } from \"embla-carousel-react\";\nimport { createContext, useContext } from \"react\";\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ninterface CarouselProps {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n orientation?: \"horizontal\" | \"vertical\";\n setApi?: (api: CarouselApi) => void;\n}\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n api: ReturnType<typeof useEmblaCarousel>[1];\n scrollPrev: () => void;\n scrollNext: () => void;\n canScrollPrev: boolean;\n canScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = createContext<CarouselContextProps | null>(null);\n\nconst useCarousel = () => {\n const context = useContext(CarouselContext);\n\n if (!context) {\n throw new Error(\"useCarousel must be used within a <Carousel />\");\n }\n\n return context;\n};\n\nexport {\n type CarouselApi,\n type CarouselContextProps,\n type CarouselProps,\n CarouselContext,\n useCarousel,\n};\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { useCarousel } from \"./use-carousel\";\nexport type CarouselContentProps = ComponentProps<\"div\">;\n\nconst CarouselContent = ({ className, ...props }: CarouselContentProps) => {\n const { carouselRef, orientation } = useCarousel();\n\n return (\n <div\n className=\"overflow-hidden\"\n data-slot=\"carousel-content\"\n ref={carouselRef}\n >\n <div\n className={cn(\n \"flex\",\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n className\n )}\n {...props}\n />\n </div>\n );\n};\n\nexport { CarouselContent };\n","import type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { useCarousel } from \"./use-carousel\";\nexport type CarouselItemProps = ComponentProps<\"div\">;\n\nconst CarouselItem = ({ className, ...props }: CarouselItemProps) => {\n const { orientation } = useCarousel();\n\n return (\n <div\n aria-roledescription=\"slide\"\n className={cn(\n \"min-w-0 shrink-0 grow-0 basis-full\",\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n className\n )}\n data-slot=\"carousel-item\"\n role=\"group\"\n {...props}\n />\n );\n};\n\nexport { CarouselItem };\n","import { ArrowRight01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { ActionIcon } from \"../action-icon/action-icon\";\nimport { useCarousel } from \"./use-carousel\";\nexport type CarouselNextProps = ComponentProps<typeof ActionIcon>;\n\nconst CarouselNext = ({\n className,\n variant = \"outline\",\n size = \"sm\",\n ...props\n}: CarouselNextProps) => {\n const { orientation, scrollNext, canScrollNext } = useCarousel();\n\n return (\n <ActionIcon\n className={cn(\n \"cursor-clickable absolute touch-manipulation rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -right-12 -translate-y-1/2\"\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n data-slot=\"carousel-next\"\n disabled={!canScrollNext}\n onClick={scrollNext}\n size={size}\n variant={variant}\n {...props}\n >\n <HugeiconsIcon icon={ArrowRight01Icon} strokeWidth={2} />\n <span className=\"sr-only\">Next slide</span>\n </ActionIcon>\n );\n};\n\nexport { CarouselNext };\n","import { ArrowLeft01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport type { ComponentProps } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { ActionIcon } from \"../action-icon/action-icon\";\nimport { useCarousel } from \"./use-carousel\";\nexport type CarouselPreviousProps = ComponentProps<typeof ActionIcon>;\n\nconst CarouselPrevious = ({\n className,\n variant = \"outline\",\n size = \"sm\",\n ...props\n}: CarouselPreviousProps) => {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n return (\n <ActionIcon\n className={cn(\n \"cursor-clickable absolute touch-manipulation rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -left-12 -translate-y-1/2\"\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n data-slot=\"carousel-previous\"\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n size={size}\n variant={variant}\n {...props}\n >\n <HugeiconsIcon icon={ArrowLeft01Icon} strokeWidth={2} />\n <span className=\"sr-only\">Previous slide</span>\n </ActionIcon>\n );\n};\n\nexport { CarouselPrevious };\n","\"use client\";\n\nimport useEmblaCarousel from \"embla-carousel-react\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport type { ComponentProps, KeyboardEvent } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { CarouselContent } from \"./carousel-content\";\nimport { CarouselItem } from \"./carousel-item\";\nimport { CarouselNext } from \"./carousel-next\";\nimport { CarouselPrevious } from \"./carousel-previous\";\nimport { CarouselContext, useCarousel } from \"./use-carousel\";\nimport type { CarouselApi, CarouselProps } from \"./use-carousel\";\n\nconst Carousel = ({\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & CarouselProps) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\n },\n plugins\n );\n const [canScrollPrev, setCanScrollPrev] = useState(false);\n const [canScrollNext, setCanScrollNext] = useState(false);\n\n const onSelect = useCallback((emblaApi: CarouselApi) => {\n if (!emblaApi) {\n return;\n }\n setCanScrollPrev(emblaApi.canScrollPrev());\n setCanScrollNext(emblaApi.canScrollNext());\n }, []);\n\n const scrollPrev = useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n\n const scrollNext = useCallback(() => {\n api?.scrollNext();\n }, [api]);\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.target !== event.currentTarget) {\n return;\n }\n\n const previousKey =\n orientation === \"horizontal\" ? \"ArrowLeft\" : \"ArrowUp\";\n const nextKey = orientation === \"horizontal\" ? \"ArrowRight\" : \"ArrowDown\";\n\n if (event.key === previousKey) {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === nextKey) {\n event.preventDefault();\n scrollNext();\n }\n },\n [orientation, scrollPrev, scrollNext]\n );\n\n useEffect(() => {\n if (!(api && setApi)) {\n return;\n }\n setApi(api);\n }, [api, setApi]);\n\n useEffect(() => {\n if (!api) {\n return;\n }\n onSelect(api);\n api.on(\"reInit\", onSelect);\n api.on(\"select\", onSelect);\n\n return () => {\n api?.off(\"select\", onSelect);\n };\n }, [api, onSelect]);\n const resolvedOrientation =\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\");\n const contextValue = useMemo(\n () => ({\n api,\n canScrollNext,\n canScrollPrev,\n carouselRef,\n opts,\n orientation: resolvedOrientation,\n scrollNext,\n scrollPrev,\n }),\n [\n carouselRef,\n api,\n opts,\n resolvedOrientation,\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n ]\n );\n\n return (\n <CarouselContext.Provider value={contextValue}>\n {/** biome-ignore lint/a11y/useSemanticElements: region is not semantically appropriate for carousel */}\n <div\n aria-roledescription=\"carousel\"\n className={cn(\"relative\", className)}\n data-slot=\"carousel\"\n onKeyDown={handleKeyDown}\n role=\"region\"\n tabIndex={0}\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n );\n};\n\nCarousel.Content = CarouselContent;\nCarousel.Item = CarouselItem;\nCarousel.Next = CarouselNext;\nCarousel.Previous = CarouselPrevious;\n\nexport type { CarouselApi } from \"./use-carousel\";\n\nexport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselNext,\n CarouselPrevious,\n useCarousel,\n};\n\nexport type { CarouselProps } from \"./use-carousel\";\n\nexport type { CarouselContentProps } from \"./carousel-content\";\nexport type { CarouselItemProps } from \"./carousel-item\";\nexport type { CarouselNextProps } from \"./carousel-next\";\nexport type { CarouselPreviousProps } from \"./carousel-previous\";\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-group.d.ts","names":[],"sources":["../../src/ui/checkbox-group/checkbox-group.tsx"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"checkbox-group.d.ts","names":[],"sources":["../../src/ui/checkbox-group/checkbox-group.tsx"],"mappings":";;;;;KAOY,kBAAA,GAAqB,cAAA,QAAsB,eAAA;AAAA,cAE1C,aAAA;EAAiB,SAAA;EAAA,GAAA;AAAA,GAAyB,kBAAA,KAAkB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-group.js","names":["BaseCheckboxGroup"],"sources":["../../src/ui/checkbox-group/checkbox-group.tsx"],"sourcesContent":["\"use client\";\n\nimport
|
|
1
|
+
{"version":3,"file":"checkbox-group.js","names":["BaseCheckboxGroup"],"sources":["../../src/ui/checkbox-group/checkbox-group.tsx"],"sourcesContent":["\"use client\";\n\nimport { CheckboxGroup as BaseCheckboxGroup } from \"@base-ui/react/checkbox-group\";\nimport type { ComponentProps } from \"react\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type CheckboxGroupProps = ComponentProps<typeof BaseCheckboxGroup>;\n\nexport const CheckboxGroup = ({ className, ...props }: CheckboxGroupProps) => (\n <BaseCheckboxGroup\n className={mergeBaseUIClassName<BaseCheckboxGroup.State>(\n \"flex flex-col items-start gap-1\",\n className\n )}\n data-slot=\"checkbox-group\"\n {...props}\n />\n);\n"],"mappings":";;;;;;;AASA,MAAa,iBAAiB,EAAE,WAAW,GAAG,YAC5C,oBAACA,iBAAD;CACE,WAAW,qBACT,mCACA,UACD;CACD,aAAU;CACV,GAAI;CACJ"}
|
package/dist/ui/checkbox.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as UISize } from "../size-system-
|
|
1
|
+
import { t as UISize } from "../size-system-BAI1CnwU.js";
|
|
2
2
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
3
|
import * as tailwind_variants0 from "tailwind-variants";
|
|
4
4
|
import { VariantProps } from "tailwind-variants";
|
|
@@ -7,27 +7,27 @@ import { Checkbox as Checkbox$1 } from "@base-ui/react/checkbox";
|
|
|
7
7
|
//#region src/ui/checkbox/checkbox-indicator.d.ts
|
|
8
8
|
declare const checkboxIndicatorVariants: tailwind_variants0.TVReturnType<{
|
|
9
9
|
size: {
|
|
10
|
-
xs: string;
|
|
11
|
-
sm: string;
|
|
12
|
-
md: string;
|
|
13
10
|
lg: string;
|
|
11
|
+
md: string;
|
|
12
|
+
sm: string;
|
|
14
13
|
xl: string;
|
|
14
|
+
xs: string;
|
|
15
15
|
};
|
|
16
16
|
}, undefined, "grid place-content-center text-current transition-none", {
|
|
17
17
|
size: {
|
|
18
|
-
xs: string;
|
|
19
|
-
sm: string;
|
|
20
|
-
md: string;
|
|
21
18
|
lg: string;
|
|
19
|
+
md: string;
|
|
20
|
+
sm: string;
|
|
22
21
|
xl: string;
|
|
22
|
+
xs: string;
|
|
23
23
|
};
|
|
24
24
|
}, undefined, tailwind_variants0.TVReturnType<{
|
|
25
25
|
size: {
|
|
26
|
-
xs: string;
|
|
27
|
-
sm: string;
|
|
28
|
-
md: string;
|
|
29
26
|
lg: string;
|
|
27
|
+
md: string;
|
|
28
|
+
sm: string;
|
|
30
29
|
xl: string;
|
|
30
|
+
xs: string;
|
|
31
31
|
};
|
|
32
32
|
}, undefined, "grid place-content-center text-current transition-none", unknown, unknown, undefined>>;
|
|
33
33
|
type CheckboxIndicatorVariantProps = Omit<VariantProps<typeof checkboxIndicatorVariants>, "size"> & {
|
|
@@ -43,29 +43,29 @@ declare const CheckboxIndicator: ({
|
|
|
43
43
|
//#region src/ui/checkbox/checkbox.d.ts
|
|
44
44
|
declare const checkboxVariants: tailwind_variants0.TVReturnType<{
|
|
45
45
|
size: {
|
|
46
|
-
xs: string;
|
|
47
|
-
sm: string;
|
|
48
|
-
md: string;
|
|
49
46
|
lg: string;
|
|
47
|
+
md: string;
|
|
48
|
+
sm: string;
|
|
50
49
|
xl: string;
|
|
50
|
+
xs: string;
|
|
51
51
|
};
|
|
52
|
-
}, undefined, "peer
|
|
52
|
+
}, undefined, "peer cursor-clickable border-input text-primary-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-danger aria-invalid:ring-danger/20 aria-invalid:aria-checked:border-primary data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground data-indeterminate:border-primary data-indeterminate:bg-primary data-indeterminate:text-primary-foreground dark:bg-input/30 dark:aria-invalid:border-danger/50 dark:aria-invalid:ring-danger/40 dark:data-checked:bg-primary dark:data-indeterminate:bg-primary relative flex shrink-0 items-center justify-center border shadow-xs transition-colors outline-none group-has-disabled/field:opacity-50 focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:ring-[3px]", {
|
|
53
53
|
size: {
|
|
54
|
-
xs: string;
|
|
55
|
-
sm: string;
|
|
56
|
-
md: string;
|
|
57
54
|
lg: string;
|
|
55
|
+
md: string;
|
|
56
|
+
sm: string;
|
|
58
57
|
xl: string;
|
|
58
|
+
xs: string;
|
|
59
59
|
};
|
|
60
60
|
}, undefined, tailwind_variants0.TVReturnType<{
|
|
61
61
|
size: {
|
|
62
|
-
xs: string;
|
|
63
|
-
sm: string;
|
|
64
|
-
md: string;
|
|
65
62
|
lg: string;
|
|
63
|
+
md: string;
|
|
64
|
+
sm: string;
|
|
66
65
|
xl: string;
|
|
66
|
+
xs: string;
|
|
67
67
|
};
|
|
68
|
-
}, undefined, "peer
|
|
68
|
+
}, undefined, "peer cursor-clickable border-input text-primary-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-danger aria-invalid:ring-danger/20 aria-invalid:aria-checked:border-primary data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground data-indeterminate:border-primary data-indeterminate:bg-primary data-indeterminate:text-primary-foreground dark:bg-input/30 dark:aria-invalid:border-danger/50 dark:aria-invalid:ring-danger/40 dark:data-checked:bg-primary dark:data-indeterminate:bg-primary relative flex shrink-0 items-center justify-center border shadow-xs transition-colors outline-none group-has-disabled/field:opacity-50 focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:ring-[3px]", unknown, unknown, undefined>>;
|
|
69
69
|
type CheckboxVariantProps = Omit<VariantProps<typeof checkboxVariants>, "size"> & {
|
|
70
70
|
size?: UISize;
|
|
71
71
|
};
|