@codefast/ui 0.0.40 → 0.0.42
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/dist/{chunk-EVN2IB57.js → chunk-6EAQQBWG.js} +2 -2
- package/dist/chunk-6EAQQBWG.js.map +1 -0
- package/dist/{chunk-YR36SVVG.mjs → chunk-7HJV22OF.mjs} +1 -1
- package/dist/chunk-7HJV22OF.mjs.map +1 -0
- package/dist/{chunk-5WJB3UAO.js → chunk-CERSQE5J.js} +1 -1
- package/dist/chunk-CERSQE5J.js.map +1 -0
- package/dist/{chunk-UPZHCTQV.js → chunk-ELWITZPX.js} +2 -2
- package/dist/chunk-ELWITZPX.js.map +1 -0
- package/dist/{chunk-WLMYX3C7.mjs → chunk-GDMHMSJ2.mjs} +2 -2
- package/dist/chunk-GDMHMSJ2.mjs.map +1 -0
- package/dist/{chunk-UJJZZCAC.js → chunk-HQ4AUOQM.js} +1 -1
- package/dist/{chunk-UJJZZCAC.js.map → chunk-HQ4AUOQM.js.map} +1 -1
- package/dist/{chunk-HLXU3SQI.mjs → chunk-HWEFQSTC.mjs} +1 -1
- package/dist/chunk-HWEFQSTC.mjs.map +1 -0
- package/dist/{chunk-JTAXNFUM.mjs → chunk-HX5YKP4E.mjs} +2 -2
- package/dist/chunk-HX5YKP4E.mjs.map +1 -0
- package/dist/{chunk-PLX35IKX.mjs → chunk-I6QCJDIF.mjs} +1 -1
- package/dist/chunk-I6QCJDIF.mjs.map +1 -0
- package/dist/{chunk-466PAJCA.mjs → chunk-LEUB3C3L.mjs} +1 -1
- package/dist/chunk-LEUB3C3L.mjs.map +1 -0
- package/dist/{chunk-KJ77RPJ4.mjs → chunk-M5UKNISJ.mjs} +2 -2
- package/dist/chunk-M5UKNISJ.mjs.map +1 -0
- package/dist/{chunk-EYERINEJ.js → chunk-MZJL73RI.js} +1 -1
- package/dist/chunk-MZJL73RI.js.map +1 -0
- package/dist/{chunk-JCMRDCFT.js → chunk-NH6X3FON.js} +1 -1
- package/dist/{chunk-JCMRDCFT.js.map → chunk-NH6X3FON.js.map} +1 -1
- package/dist/{chunk-UDNWQQ3I.js → chunk-NSK74YTM.js} +2 -2
- package/dist/chunk-NSK74YTM.js.map +1 -0
- package/dist/{chunk-N6QGG4WS.mjs → chunk-P5AV3QU7.mjs} +2 -2
- package/dist/chunk-P5AV3QU7.mjs.map +1 -0
- package/dist/{chunk-GRQGCS7U.mjs → chunk-PWF46YXQ.mjs} +2 -2
- package/dist/chunk-PWF46YXQ.mjs.map +1 -0
- package/dist/{chunk-ZWGC5M4G.js → chunk-SCJ3W2VO.js} +2 -2
- package/dist/chunk-SCJ3W2VO.js.map +1 -0
- package/dist/{chunk-MSHUAEXI.js → chunk-SCPFGC2X.js} +2 -2
- package/dist/chunk-SCPFGC2X.js.map +1 -0
- package/dist/{chunk-JIHHUXA5.js → chunk-VXPAGNPJ.js} +2 -2
- package/dist/chunk-VXPAGNPJ.js.map +1 -0
- package/dist/{chunk-6B2PU2GG.mjs → chunk-WL65TBKJ.mjs} +2 -2
- package/dist/chunk-WL65TBKJ.mjs.map +1 -0
- package/dist/{chunk-4TJBMO2Y.mjs → chunk-WYYOCZNI.mjs} +2 -2
- package/dist/chunk-WYYOCZNI.mjs.map +1 -0
- package/dist/{chunk-FEE6PNWV.js → chunk-XM4Y2S5E.js} +2 -2
- package/dist/chunk-XM4Y2S5E.js.map +1 -0
- package/dist/{chunk-7PJR4WFR.mjs → chunk-ZEYIBYZP.mjs} +2 -2
- package/dist/chunk-ZEYIBYZP.mjs.map +1 -0
- package/dist/{chunk-AEWLL6A2.js → chunk-ZTEJNUH6.js} +2 -2
- package/dist/chunk-ZTEJNUH6.js.map +1 -0
- package/dist/lib/utils.js +1 -1
- package/dist/lib/utils.mjs +1 -1
- package/dist/plugin/animate.plugin.js +1 -1
- package/dist/plugin/animate.plugin.mjs +1 -1
- package/dist/plugin/base.plugin.js +1 -1
- package/dist/plugin/base.plugin.mjs +1 -1
- package/dist/plugin/perspective.plugin.js +1 -1
- package/dist/plugin/perspective.plugin.mjs +1 -1
- package/dist/react/accordion.js +1 -1
- package/dist/react/accordion.js.map +1 -1
- package/dist/react/accordion.mjs +1 -1
- package/dist/react/accordion.mjs.map +1 -1
- package/dist/react/alert-dialog.js +1 -1
- package/dist/react/alert-dialog.js.map +1 -1
- package/dist/react/alert-dialog.mjs +1 -1
- package/dist/react/alert-dialog.mjs.map +1 -1
- package/dist/react/alert.js +1 -1
- package/dist/react/alert.js.map +1 -1
- package/dist/react/alert.mjs +1 -1
- package/dist/react/alert.mjs.map +1 -1
- package/dist/react/aspect-ratio.js.map +1 -1
- package/dist/react/aspect-ratio.mjs.map +1 -1
- package/dist/react/avatar.js +1 -1
- package/dist/react/avatar.js.map +1 -1
- package/dist/react/avatar.mjs +1 -1
- package/dist/react/avatar.mjs.map +1 -1
- package/dist/react/badge.js +1 -1
- package/dist/react/badge.js.map +1 -1
- package/dist/react/badge.mjs +1 -1
- package/dist/react/badge.mjs.map +1 -1
- package/dist/react/blockquote.js.map +1 -1
- package/dist/react/blockquote.mjs.map +1 -1
- package/dist/react/box.d.mts +2 -2
- package/dist/react/box.d.ts +2 -2
- package/dist/react/box.js.map +1 -1
- package/dist/react/box.mjs.map +1 -1
- package/dist/react/breadcrumb.js +1 -1
- package/dist/react/breadcrumb.js.map +1 -1
- package/dist/react/breadcrumb.mjs +1 -1
- package/dist/react/breadcrumb.mjs.map +1 -1
- package/dist/react/button.js +1 -1
- package/dist/react/button.mjs +1 -1
- package/dist/react/calendar.js +1 -1
- package/dist/react/calendar.js.map +1 -1
- package/dist/react/calendar.mjs +1 -1
- package/dist/react/calendar.mjs.map +1 -1
- package/dist/react/card.js +1 -1
- package/dist/react/card.js.map +1 -1
- package/dist/react/card.mjs +1 -1
- package/dist/react/card.mjs.map +1 -1
- package/dist/react/carousel.d.mts +1 -1
- package/dist/react/carousel.d.ts +1 -1
- package/dist/react/carousel.js +1 -1
- package/dist/react/carousel.js.map +1 -1
- package/dist/react/carousel.mjs +1 -1
- package/dist/react/carousel.mjs.map +1 -1
- package/dist/react/checkbox-cards.js +1 -1
- package/dist/react/checkbox-cards.js.map +1 -1
- package/dist/react/checkbox-cards.mjs +1 -1
- package/dist/react/checkbox-cards.mjs.map +1 -1
- package/dist/react/checkbox-group.js +1 -1
- package/dist/react/checkbox-group.js.map +1 -1
- package/dist/react/checkbox-group.mjs +1 -1
- package/dist/react/checkbox-group.mjs.map +1 -1
- package/dist/react/checkbox-group.primitive.d.mts +8 -8
- package/dist/react/checkbox-group.primitive.d.ts +8 -8
- package/dist/react/checkbox-group.primitive.js +1 -1
- package/dist/react/checkbox-group.primitive.mjs +1 -1
- package/dist/react/checkbox.js +1 -1
- package/dist/react/checkbox.js.map +1 -1
- package/dist/react/checkbox.mjs +1 -1
- package/dist/react/checkbox.mjs.map +1 -1
- package/dist/react/code.js.map +1 -1
- package/dist/react/code.mjs.map +1 -1
- package/dist/react/collapsible.js +1 -1
- package/dist/react/collapsible.js.map +1 -1
- package/dist/react/collapsible.mjs +1 -1
- package/dist/react/collapsible.mjs.map +1 -1
- package/dist/react/command.js +1 -1
- package/dist/react/command.js.map +1 -1
- package/dist/react/command.mjs +1 -1
- package/dist/react/command.mjs.map +1 -1
- package/dist/react/container.js +1 -1
- package/dist/react/container.js.map +1 -1
- package/dist/react/container.mjs +1 -1
- package/dist/react/container.mjs.map +1 -1
- package/dist/react/context-menu.js +1 -1
- package/dist/react/context-menu.js.map +1 -1
- package/dist/react/context-menu.mjs +1 -1
- package/dist/react/context-menu.mjs.map +1 -1
- package/dist/react/data-table.d.mts +1 -1
- package/dist/react/data-table.d.ts +1 -1
- package/dist/react/data-table.js +1 -1
- package/dist/react/data-table.js.map +1 -1
- package/dist/react/data-table.mjs +1 -1
- package/dist/react/data-table.mjs.map +1 -1
- package/dist/react/dialog.js +1 -1
- package/dist/react/dialog.mjs +1 -1
- package/dist/react/drawer.js +1 -1
- package/dist/react/drawer.js.map +1 -1
- package/dist/react/drawer.mjs +1 -1
- package/dist/react/drawer.mjs.map +1 -1
- package/dist/react/dropdown-menu.js +1 -1
- package/dist/react/dropdown-menu.mjs +1 -1
- package/dist/react/em.js.map +1 -1
- package/dist/react/em.mjs.map +1 -1
- package/dist/react/form.js +1 -1
- package/dist/react/form.js.map +1 -1
- package/dist/react/form.mjs +1 -1
- package/dist/react/form.mjs.map +1 -1
- package/dist/react/heading.d.mts +1 -1
- package/dist/react/heading.d.ts +1 -1
- package/dist/react/heading.js.map +1 -1
- package/dist/react/heading.mjs.map +1 -1
- package/dist/react/hover-card.js +1 -1
- package/dist/react/hover-card.js.map +1 -1
- package/dist/react/hover-card.mjs +1 -1
- package/dist/react/hover-card.mjs.map +1 -1
- package/dist/react/input-otp.js +1 -1
- package/dist/react/input-otp.js.map +1 -1
- package/dist/react/input-otp.mjs +1 -1
- package/dist/react/input-otp.mjs.map +1 -1
- package/dist/react/input.js +1 -1
- package/dist/react/input.js.map +1 -1
- package/dist/react/input.mjs +1 -1
- package/dist/react/input.mjs.map +1 -1
- package/dist/react/kbd.js +1 -1
- package/dist/react/kbd.js.map +1 -1
- package/dist/react/kbd.mjs +1 -1
- package/dist/react/kbd.mjs.map +1 -1
- package/dist/react/label.js +1 -1
- package/dist/react/label.mjs +1 -1
- package/dist/react/menubar.js +1 -1
- package/dist/react/menubar.js.map +1 -1
- package/dist/react/menubar.mjs +1 -1
- package/dist/react/menubar.mjs.map +1 -1
- package/dist/react/navigation-menu.js +1 -1
- package/dist/react/navigation-menu.js.map +1 -1
- package/dist/react/navigation-menu.mjs +1 -1
- package/dist/react/navigation-menu.mjs.map +1 -1
- package/dist/react/pagination.d.mts +1 -1
- package/dist/react/pagination.d.ts +1 -1
- package/dist/react/pagination.js +1 -1
- package/dist/react/pagination.js.map +1 -1
- package/dist/react/pagination.mjs +1 -1
- package/dist/react/pagination.mjs.map +1 -1
- package/dist/react/popover.js +1 -1
- package/dist/react/popover.js.map +1 -1
- package/dist/react/popover.mjs +1 -1
- package/dist/react/popover.mjs.map +1 -1
- package/dist/react/pre.js.map +1 -1
- package/dist/react/pre.mjs.map +1 -1
- package/dist/react/progress.js +1 -1
- package/dist/react/progress.js.map +1 -1
- package/dist/react/progress.mjs +1 -1
- package/dist/react/progress.mjs.map +1 -1
- package/dist/react/quote.js.map +1 -1
- package/dist/react/quote.mjs.map +1 -1
- package/dist/react/radio-cards.js +1 -1
- package/dist/react/radio-cards.js.map +1 -1
- package/dist/react/radio-cards.mjs +1 -1
- package/dist/react/radio-cards.mjs.map +1 -1
- package/dist/react/radio-group.js +1 -1
- package/dist/react/radio-group.js.map +1 -1
- package/dist/react/radio-group.mjs +1 -1
- package/dist/react/radio-group.mjs.map +1 -1
- package/dist/react/radio.js +1 -1
- package/dist/react/radio.js.map +1 -1
- package/dist/react/radio.mjs +1 -1
- package/dist/react/radio.mjs.map +1 -1
- package/dist/react/resizable.js +1 -1
- package/dist/react/resizable.js.map +1 -1
- package/dist/react/resizable.mjs +1 -1
- package/dist/react/resizable.mjs.map +1 -1
- package/dist/react/scroll-area.js +1 -1
- package/dist/react/scroll-area.js.map +1 -1
- package/dist/react/scroll-area.mjs +1 -1
- package/dist/react/scroll-area.mjs.map +1 -1
- package/dist/react/section.js.map +1 -1
- package/dist/react/section.mjs.map +1 -1
- package/dist/react/select.js +1 -1
- package/dist/react/select.mjs +1 -1
- package/dist/react/separator.js +1 -1
- package/dist/react/separator.js.map +1 -1
- package/dist/react/separator.mjs +1 -1
- package/dist/react/separator.mjs.map +1 -1
- package/dist/react/sheet.js +1 -1
- package/dist/react/sheet.js.map +1 -1
- package/dist/react/sheet.mjs +1 -1
- package/dist/react/sheet.mjs.map +1 -1
- package/dist/react/skeleton.js +1 -1
- package/dist/react/skeleton.js.map +1 -1
- package/dist/react/skeleton.mjs +1 -1
- package/dist/react/skeleton.mjs.map +1 -1
- package/dist/react/slider.js +1 -1
- package/dist/react/slider.js.map +1 -1
- package/dist/react/slider.mjs +1 -1
- package/dist/react/slider.mjs.map +1 -1
- package/dist/react/sonner.js.map +1 -1
- package/dist/react/sonner.mjs.map +1 -1
- package/dist/react/spinner.js +1 -1
- package/dist/react/spinner.mjs +1 -1
- package/dist/react/strong.js.map +1 -1
- package/dist/react/strong.mjs.map +1 -1
- package/dist/react/switch.js +1 -1
- package/dist/react/switch.js.map +1 -1
- package/dist/react/switch.mjs +1 -1
- package/dist/react/switch.mjs.map +1 -1
- package/dist/react/table.js +1 -1
- package/dist/react/table.js.map +1 -1
- package/dist/react/table.mjs +1 -1
- package/dist/react/table.mjs.map +1 -1
- package/dist/react/tabs.js +1 -1
- package/dist/react/tabs.js.map +1 -1
- package/dist/react/tabs.mjs +1 -1
- package/dist/react/tabs.mjs.map +1 -1
- package/dist/react/text.d.mts +2 -2
- package/dist/react/text.d.ts +2 -2
- package/dist/react/text.js.map +1 -1
- package/dist/react/text.mjs.map +1 -1
- package/dist/react/textarea.js +1 -1
- package/dist/react/textarea.js.map +1 -1
- package/dist/react/textarea.mjs +1 -1
- package/dist/react/textarea.mjs.map +1 -1
- package/dist/react/toggle-group.js +1 -1
- package/dist/react/toggle-group.js.map +1 -1
- package/dist/react/toggle-group.mjs +1 -1
- package/dist/react/toggle-group.mjs.map +1 -1
- package/dist/react/toggle.js +1 -1
- package/dist/react/toggle.mjs +1 -1
- package/dist/react/tooltip.js +1 -1
- package/dist/react/tooltip.js.map +1 -1
- package/dist/react/tooltip.mjs +1 -1
- package/dist/react/tooltip.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/dist/tailwind.config.js +1 -1
- package/dist/tailwind.config.js.map +1 -1
- package/dist/tailwind.config.mjs +1 -1
- package/dist/tailwind.config.mjs.map +1 -1
- package/package.json +7 -7
- package/plugin/animate.plugin.ts +114 -111
- package/plugin/base.plugin.ts +10 -7
- package/plugin/perspective.plugin.ts +1 -1
- package/src/lib/utils.ts +2 -2
- package/src/react/accordion.tsx +65 -41
- package/src/react/alert-dialog.tsx +130 -62
- package/src/react/alert.tsx +50 -24
- package/src/react/aspect-ratio.tsx +6 -4
- package/src/react/avatar.tsx +47 -19
- package/src/react/badge.tsx +15 -10
- package/src/react/blockquote.tsx +11 -8
- package/src/react/box.tsx +11 -9
- package/src/react/breadcrumb.tsx +62 -29
- package/src/react/button.tsx +47 -31
- package/src/react/calendar.tsx +54 -37
- package/src/react/card.tsx +64 -30
- package/src/react/carousel.tsx +101 -43
- package/src/react/checkbox-cards.tsx +60 -33
- package/src/react/checkbox-group.primitive.tsx +93 -38
- package/src/react/checkbox-group.tsx +57 -34
- package/src/react/checkbox.tsx +24 -20
- package/src/react/code.tsx +9 -7
- package/src/react/collapsible.tsx +33 -23
- package/src/react/command.tsx +140 -75
- package/src/react/container.tsx +12 -8
- package/src/react/context-menu.tsx +228 -150
- package/src/react/data-table.tsx +51 -21
- package/src/react/dialog.tsx +95 -50
- package/src/react/drawer.tsx +96 -49
- package/src/react/dropdown-menu.tsx +199 -131
- package/src/react/em.tsx +9 -7
- package/src/react/form.tsx +96 -61
- package/src/react/heading.tsx +10 -8
- package/src/react/hover-card.tsx +42 -26
- package/src/react/input-otp.tsx +48 -37
- package/src/react/input.tsx +25 -15
- package/src/react/kbd.tsx +21 -19
- package/src/react/label.tsx +16 -14
- package/src/react/menubar.tsx +214 -135
- package/src/react/navigation-menu.tsx +153 -111
- package/src/react/pagination.tsx +59 -26
- package/src/react/popover.tsx +44 -29
- package/src/react/pre.tsx +9 -7
- package/src/react/progress.tsx +26 -19
- package/src/react/quote.tsx +9 -7
- package/src/react/radio-cards.tsx +32 -12
- package/src/react/radio-group.tsx +32 -12
- package/src/react/radio.tsx +24 -20
- package/src/react/resizable.tsx +13 -8
- package/src/react/scroll-area.tsx +56 -34
- package/src/react/section.tsx +9 -7
- package/src/react/select.tsx +167 -114
- package/src/react/separator.tsx +16 -7
- package/src/react/sheet.tsx +84 -34
- package/src/react/skeleton.tsx +8 -3
- package/src/react/slider.tsx +31 -24
- package/src/react/sonner.tsx +12 -10
- package/src/react/spinner.tsx +14 -9
- package/src/react/strong.tsx +9 -7
- package/src/react/switch.tsx +18 -16
- package/src/react/table.tsx +97 -52
- package/src/react/tabs.tsx +48 -38
- package/src/react/text.tsx +13 -10
- package/src/react/textarea.tsx +17 -15
- package/src/react/toggle-group.tsx +66 -23
- package/src/react/toggle.tsx +26 -18
- package/src/react/tooltip.tsx +43 -28
- package/tailwind.config.ts +62 -62
- package/dist/chunk-466PAJCA.mjs.map +0 -1
- package/dist/chunk-4TJBMO2Y.mjs.map +0 -1
- package/dist/chunk-5WJB3UAO.js.map +0 -1
- package/dist/chunk-6B2PU2GG.mjs.map +0 -1
- package/dist/chunk-7PJR4WFR.mjs.map +0 -1
- package/dist/chunk-AEWLL6A2.js.map +0 -1
- package/dist/chunk-EVN2IB57.js.map +0 -1
- package/dist/chunk-EYERINEJ.js.map +0 -1
- package/dist/chunk-FEE6PNWV.js.map +0 -1
- package/dist/chunk-GRQGCS7U.mjs.map +0 -1
- package/dist/chunk-HLXU3SQI.mjs.map +0 -1
- package/dist/chunk-JIHHUXA5.js.map +0 -1
- package/dist/chunk-JTAXNFUM.mjs.map +0 -1
- package/dist/chunk-KJ77RPJ4.mjs.map +0 -1
- package/dist/chunk-MSHUAEXI.js.map +0 -1
- package/dist/chunk-N6QGG4WS.mjs.map +0 -1
- package/dist/chunk-PLX35IKX.mjs.map +0 -1
- package/dist/chunk-UDNWQQ3I.js.map +0 -1
- package/dist/chunk-UPZHCTQV.js.map +0 -1
- package/dist/chunk-WLMYX3C7.mjs.map +0 -1
- package/dist/chunk-YR36SVVG.mjs.map +0 -1
- package/dist/chunk-ZWGC5M4G.js.map +0 -1
- package/dist/plugin/animate.plugin.d.mts +0 -9
- package/dist/plugin/animate.plugin.d.ts +0 -9
- package/dist/plugin/base.plugin.d.mts +0 -8
- package/dist/plugin/base.plugin.d.ts +0 -8
- package/dist/plugin/perspective.plugin.d.mts +0 -8
- package/dist/plugin/perspective.plugin.d.ts +0 -8
- package/dist/tailwind.config.d.mts +0 -5
- package/dist/tailwind.config.d.ts +0 -5
|
@@ -1,38 +1,58 @@
|
|
|
1
|
-
|
|
1
|
+
'use client';
|
|
2
2
|
|
|
3
|
-
import * as React from
|
|
4
|
-
import * as ToggleGroupPrimitive from
|
|
5
|
-
import { createToggleGroupScope } from
|
|
6
|
-
import { createContextScope, type Scope } from
|
|
7
|
-
import { cn } from
|
|
8
|
-
import { toggleVariants, type ToggleVariantsProps } from
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
|
|
5
|
+
import { createToggleGroupScope } from '@radix-ui/react-toggle-group';
|
|
6
|
+
import { createContextScope, type Scope } from '@radix-ui/react-context';
|
|
7
|
+
import { cn } from '../lib/utils';
|
|
8
|
+
import { toggleVariants, type ToggleVariantsProps } from './toggle';
|
|
9
9
|
|
|
10
10
|
/* -----------------------------------------------------------------------------
|
|
11
11
|
* Component: ToggleGroup
|
|
12
12
|
* -------------------------------------------------------------------------- */
|
|
13
13
|
|
|
14
|
-
const TOGGLE_GROUP_NAME =
|
|
14
|
+
const TOGGLE_GROUP_NAME = 'ToggleGroup';
|
|
15
15
|
|
|
16
16
|
type ScopedProps<P> = P & { __scopeToggleGroup?: Scope };
|
|
17
17
|
|
|
18
|
-
const [createToggleGroupContext] = createContextScope(TOGGLE_GROUP_NAME, [
|
|
18
|
+
const [createToggleGroupContext] = createContextScope(TOGGLE_GROUP_NAME, [
|
|
19
|
+
createToggleGroupScope,
|
|
20
|
+
]);
|
|
19
21
|
|
|
20
22
|
const useToggleGroupScope = createToggleGroupScope();
|
|
21
23
|
|
|
22
|
-
const [ToggleGroupProvider, useToggleGroupContext] =
|
|
24
|
+
const [ToggleGroupProvider, useToggleGroupContext] =
|
|
25
|
+
createToggleGroupContext<ToggleVariantsProps>(TOGGLE_GROUP_NAME);
|
|
23
26
|
|
|
24
27
|
type ToggleGroupElement = React.ElementRef<typeof ToggleGroupPrimitive.Root>;
|
|
25
|
-
type ToggleGroupProps = React.ComponentPropsWithoutRef<
|
|
28
|
+
type ToggleGroupProps = React.ComponentPropsWithoutRef<
|
|
29
|
+
typeof ToggleGroupPrimitive.Root
|
|
30
|
+
> &
|
|
31
|
+
ToggleVariantsProps;
|
|
26
32
|
|
|
27
33
|
const ToggleGroup = React.forwardRef<ToggleGroupElement, ToggleGroupProps>(
|
|
28
|
-
(
|
|
34
|
+
(
|
|
35
|
+
{
|
|
36
|
+
__scopeToggleGroup,
|
|
37
|
+
children,
|
|
38
|
+
className,
|
|
39
|
+
variant,
|
|
40
|
+
size,
|
|
41
|
+
...props
|
|
42
|
+
}: ScopedProps<ToggleGroupProps>,
|
|
43
|
+
ref,
|
|
44
|
+
) => {
|
|
29
45
|
const toggleGroupScope = useToggleGroupScope(__scopeToggleGroup);
|
|
30
46
|
|
|
31
47
|
return (
|
|
32
|
-
<ToggleGroupProvider
|
|
48
|
+
<ToggleGroupProvider
|
|
49
|
+
scope={__scopeToggleGroup}
|
|
50
|
+
size={size}
|
|
51
|
+
variant={variant}
|
|
52
|
+
>
|
|
33
53
|
<ToggleGroupPrimitive.Root
|
|
34
54
|
ref={ref}
|
|
35
|
-
className={cn(
|
|
55
|
+
className={cn('flex items-center justify-center gap-1', className)}
|
|
36
56
|
{...toggleGroupScope}
|
|
37
57
|
{...props}
|
|
38
58
|
>
|
|
@@ -49,14 +69,32 @@ ToggleGroup.displayName = TOGGLE_GROUP_NAME;
|
|
|
49
69
|
* Component: ToggleGroupItem
|
|
50
70
|
* -------------------------------------------------------------------------- */
|
|
51
71
|
|
|
52
|
-
const TOGGLE_GROUP_ITEM_NAME =
|
|
53
|
-
|
|
54
|
-
type ToggleGroupItemElement = React.ElementRef<
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
72
|
+
const TOGGLE_GROUP_ITEM_NAME = 'ToggleGroupItem';
|
|
73
|
+
|
|
74
|
+
type ToggleGroupItemElement = React.ElementRef<
|
|
75
|
+
typeof ToggleGroupPrimitive.Item
|
|
76
|
+
>;
|
|
77
|
+
type ToggleGroupItemProps = React.ComponentPropsWithoutRef<
|
|
78
|
+
typeof ToggleGroupPrimitive.Item
|
|
79
|
+
>;
|
|
80
|
+
|
|
81
|
+
const ToggleGroupItem = React.forwardRef<
|
|
82
|
+
ToggleGroupItemElement,
|
|
83
|
+
ToggleGroupItemProps
|
|
84
|
+
>(
|
|
85
|
+
(
|
|
86
|
+
{
|
|
87
|
+
__scopeToggleGroup,
|
|
88
|
+
children,
|
|
89
|
+
className,
|
|
90
|
+
...props
|
|
91
|
+
}: ScopedProps<ToggleGroupItemProps>,
|
|
92
|
+
ref,
|
|
93
|
+
) => {
|
|
94
|
+
const context = useToggleGroupContext(
|
|
95
|
+
TOGGLE_GROUP_ITEM_NAME,
|
|
96
|
+
__scopeToggleGroup,
|
|
97
|
+
);
|
|
60
98
|
const toggleGroupScope = useToggleGroupScope(__scopeToggleGroup);
|
|
61
99
|
|
|
62
100
|
return (
|
|
@@ -78,4 +116,9 @@ ToggleGroupItem.displayName = TOGGLE_GROUP_ITEM_NAME;
|
|
|
78
116
|
* Exports
|
|
79
117
|
* -------------------------------------------------------------------------- */
|
|
80
118
|
|
|
81
|
-
export {
|
|
119
|
+
export {
|
|
120
|
+
ToggleGroup,
|
|
121
|
+
ToggleGroupItem,
|
|
122
|
+
type ToggleGroupProps,
|
|
123
|
+
type ToggleGroupItemProps,
|
|
124
|
+
};
|
package/src/react/toggle.tsx
CHANGED
|
@@ -1,30 +1,31 @@
|
|
|
1
|
-
|
|
1
|
+
'use client';
|
|
2
2
|
|
|
3
|
-
import * as React from
|
|
4
|
-
import * as TogglePrimitive from
|
|
5
|
-
import { type VariantProps } from
|
|
6
|
-
import { cva } from
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import * as TogglePrimitive from '@radix-ui/react-toggle';
|
|
5
|
+
import { type VariantProps } from 'cva';
|
|
6
|
+
import { cva } from '../lib/utils';
|
|
7
7
|
|
|
8
8
|
/* -----------------------------------------------------------------------------
|
|
9
9
|
* Variant: Toggle
|
|
10
10
|
* -------------------------------------------------------------------------- */
|
|
11
11
|
|
|
12
12
|
const toggleVariants = cva({
|
|
13
|
-
base:
|
|
13
|
+
base: 'hover:bg-muted hover:text-muted-foreground data-[state=on]:bg-accent data-[state=on]:text-accent-foreground inline-flex items-center justify-center rounded-md text-sm font-medium transition focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:pointer-events-none disabled:opacity-50',
|
|
14
14
|
variants: {
|
|
15
15
|
variant: {
|
|
16
|
-
default:
|
|
17
|
-
outline:
|
|
16
|
+
default: 'bg-transparent',
|
|
17
|
+
outline:
|
|
18
|
+
'border-input hover:bg-accent hover:text-accent-foreground border bg-transparent shadow-sm',
|
|
18
19
|
},
|
|
19
20
|
size: {
|
|
20
|
-
default:
|
|
21
|
-
sm:
|
|
22
|
-
lg:
|
|
21
|
+
default: 'h-10 px-3',
|
|
22
|
+
sm: 'h-9 px-2.5',
|
|
23
|
+
lg: 'h-11 px-5',
|
|
23
24
|
},
|
|
24
25
|
},
|
|
25
26
|
defaultVariants: {
|
|
26
|
-
variant:
|
|
27
|
-
size:
|
|
27
|
+
variant: 'default',
|
|
28
|
+
size: 'default',
|
|
28
29
|
},
|
|
29
30
|
});
|
|
30
31
|
|
|
@@ -35,11 +36,18 @@ type ToggleVariantsProps = VariantProps<typeof toggleVariants>;
|
|
|
35
36
|
* -------------------------------------------------------------------------- */
|
|
36
37
|
|
|
37
38
|
type ToggleElement = React.ElementRef<typeof TogglePrimitive.Root>;
|
|
38
|
-
type ToggleProps = React.ComponentPropsWithoutRef<typeof TogglePrimitive.Root> &
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
)
|
|
39
|
+
type ToggleProps = React.ComponentPropsWithoutRef<typeof TogglePrimitive.Root> &
|
|
40
|
+
ToggleVariantsProps;
|
|
41
|
+
|
|
42
|
+
const Toggle = React.forwardRef<ToggleElement, ToggleProps>(
|
|
43
|
+
({ className, variant, size, ...props }, ref) => (
|
|
44
|
+
<TogglePrimitive.Root
|
|
45
|
+
ref={ref}
|
|
46
|
+
className={toggleVariants({ variant, size, className })}
|
|
47
|
+
{...props}
|
|
48
|
+
/>
|
|
49
|
+
),
|
|
50
|
+
);
|
|
43
51
|
|
|
44
52
|
Toggle.displayName = TogglePrimitive.Root.displayName;
|
|
45
53
|
|
package/src/react/tooltip.tsx
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
'use client';
|
|
2
2
|
|
|
3
|
-
import * as React from
|
|
4
|
-
import * as TooltipPrimitive from
|
|
5
|
-
import { cn } from
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import * as TooltipPrimitive from '@radix-ui/react-tooltip';
|
|
5
|
+
import { cn } from '../lib/utils';
|
|
6
6
|
|
|
7
7
|
/* -----------------------------------------------------------------------------
|
|
8
8
|
* Component: TooltipProvider
|
|
9
9
|
* -------------------------------------------------------------------------- */
|
|
10
10
|
|
|
11
|
-
type TooltipProviderProps = React.ComponentProps<
|
|
11
|
+
type TooltipProviderProps = React.ComponentProps<
|
|
12
|
+
typeof TooltipPrimitive.Provider
|
|
13
|
+
>;
|
|
12
14
|
const TooltipProvider = TooltipPrimitive.Provider;
|
|
13
15
|
|
|
14
16
|
/* -----------------------------------------------------------------------------
|
|
@@ -22,7 +24,9 @@ const Tooltip = TooltipPrimitive.Root;
|
|
|
22
24
|
* Component: TooltipTrigger
|
|
23
25
|
* -------------------------------------------------------------------------- */
|
|
24
26
|
|
|
25
|
-
type TooltipTriggerProps = React.ComponentPropsWithoutRef<
|
|
27
|
+
type TooltipTriggerProps = React.ComponentPropsWithoutRef<
|
|
28
|
+
typeof TooltipPrimitive.Trigger
|
|
29
|
+
>;
|
|
26
30
|
const TooltipTrigger = TooltipPrimitive.Trigger;
|
|
27
31
|
|
|
28
32
|
/* -----------------------------------------------------------------------------
|
|
@@ -30,23 +34,26 @@ const TooltipTrigger = TooltipPrimitive.Trigger;
|
|
|
30
34
|
* -------------------------------------------------------------------------- */
|
|
31
35
|
|
|
32
36
|
type TooltipContentElement = React.ElementRef<typeof TooltipPrimitive.Content>;
|
|
33
|
-
type TooltipContentProps = React.ComponentPropsWithoutRef<
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
37
|
+
type TooltipContentProps = React.ComponentPropsWithoutRef<
|
|
38
|
+
typeof TooltipPrimitive.Content
|
|
39
|
+
>;
|
|
40
|
+
|
|
41
|
+
const TooltipContent = React.forwardRef<
|
|
42
|
+
TooltipContentElement,
|
|
43
|
+
TooltipContentProps
|
|
44
|
+
>(({ className, sideOffset = 6, ...props }, ref) => (
|
|
45
|
+
<TooltipPrimitive.Portal>
|
|
46
|
+
<TooltipPrimitive.Content
|
|
47
|
+
ref={ref}
|
|
48
|
+
sideOffset={sideOffset}
|
|
49
|
+
className={cn(
|
|
50
|
+
'bg-primary text-primary-foreground data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in data-[state=delayed-open]:zoom-in-95 data-[state=delayed-open]:data-[side=top]:slide-in-from-bottom-2 data-[state=delayed-open]:data-[side=right]:slide-in-from-left-2 data-[state=delayed-open]:data-[side=bottom]:slide-in-from-top-2 data-[state=delayed-open]:data-[side=left]:slide-in-from-right-2 data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 z-50 rounded-md px-3 py-1.5 text-xs',
|
|
51
|
+
className,
|
|
52
|
+
)}
|
|
53
|
+
{...props}
|
|
54
|
+
/>
|
|
55
|
+
</TooltipPrimitive.Portal>
|
|
56
|
+
));
|
|
50
57
|
|
|
51
58
|
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
52
59
|
|
|
@@ -55,11 +62,19 @@ TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
|
55
62
|
* -------------------------------------------------------------------------- */
|
|
56
63
|
|
|
57
64
|
type TooltipArrowElement = React.ElementRef<typeof TooltipPrimitive.Arrow>;
|
|
58
|
-
type TooltipArrowProps = React.ComponentPropsWithoutRef<
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
65
|
+
type TooltipArrowProps = React.ComponentPropsWithoutRef<
|
|
66
|
+
typeof TooltipPrimitive.Arrow
|
|
67
|
+
>;
|
|
68
|
+
|
|
69
|
+
const TooltipArrow = React.forwardRef<TooltipArrowElement, TooltipArrowProps>(
|
|
70
|
+
({ className, ...props }, ref) => (
|
|
71
|
+
<TooltipPrimitive.Arrow
|
|
72
|
+
ref={ref}
|
|
73
|
+
className={cn('fill-primary', className)}
|
|
74
|
+
{...props}
|
|
75
|
+
/>
|
|
76
|
+
),
|
|
77
|
+
);
|
|
63
78
|
|
|
64
79
|
TooltipArrow.displayName = TooltipPrimitive.Arrow.displayName;
|
|
65
80
|
|
package/tailwind.config.ts
CHANGED
|
@@ -1,124 +1,124 @@
|
|
|
1
|
-
import type { Config } from
|
|
2
|
-
import { fontFamily } from
|
|
3
|
-
import animate from
|
|
4
|
-
import perspective from
|
|
5
|
-
import base from
|
|
1
|
+
import type { Config } from 'tailwindcss';
|
|
2
|
+
import { fontFamily } from 'tailwindcss/defaultTheme';
|
|
3
|
+
import animate from './plugin/animate.plugin';
|
|
4
|
+
import perspective from './plugin/perspective.plugin';
|
|
5
|
+
import base from './plugin/base.plugin';
|
|
6
6
|
|
|
7
7
|
const config: Config = {
|
|
8
|
-
content: [
|
|
9
|
-
darkMode: [
|
|
8
|
+
content: ['./src/**/*.{js,ts,jsx,tsx,mdx}'],
|
|
9
|
+
darkMode: ['class'],
|
|
10
10
|
plugins: [animate, perspective, base],
|
|
11
11
|
theme: {
|
|
12
12
|
extend: {
|
|
13
13
|
animation: {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
'collapsible-open': 'collapsible-open 200ms ease',
|
|
15
|
+
'collapsible-closed': 'collapsible-closed 200ms ease',
|
|
16
|
+
'caret-blink': 'caret-blink 1000ms ease infinite',
|
|
17
17
|
},
|
|
18
18
|
borderColor: {
|
|
19
|
-
DEFAULT:
|
|
19
|
+
DEFAULT: 'hsl(var(--border))',
|
|
20
20
|
},
|
|
21
21
|
borderRadius: {
|
|
22
|
-
sm:
|
|
23
|
-
DEFAULT:
|
|
24
|
-
md:
|
|
25
|
-
lg:
|
|
26
|
-
xl:
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
sm: 'calc(var(--radius, 0.25rem) - 0.125px)', // 2px
|
|
23
|
+
DEFAULT: 'var(--radius, 0.25rem)', // 4px
|
|
24
|
+
md: 'calc(var(--radius, 0.25rem) + 0.125rem)', // 6px
|
|
25
|
+
lg: 'calc(var(--radius, 0.25rem) + 0.25rem)', // 8px
|
|
26
|
+
xl: 'calc(var(--radius, 0.25rem) + 0.5rem)', // 12px
|
|
27
|
+
'2xl': 'calc(var(--radius, 0.25rem) + 0.75rem)', // 16px
|
|
28
|
+
'3xl': 'calc(var(--radius, 0.25rem) + 1.25rem)', // 24px
|
|
29
29
|
},
|
|
30
30
|
colors: {
|
|
31
31
|
accent: {
|
|
32
|
-
DEFAULT:
|
|
33
|
-
foreground:
|
|
32
|
+
DEFAULT: 'hsl(var(--accent))',
|
|
33
|
+
foreground: 'hsl(var(--accent-foreground))',
|
|
34
34
|
},
|
|
35
|
-
background:
|
|
36
|
-
border:
|
|
35
|
+
background: 'hsl(var(--background))',
|
|
36
|
+
border: 'hsl(var(--border))',
|
|
37
37
|
card: {
|
|
38
|
-
DEFAULT:
|
|
39
|
-
foreground:
|
|
38
|
+
DEFAULT: 'hsl(var(--card))',
|
|
39
|
+
foreground: 'hsl(var(--card-foreground))',
|
|
40
40
|
},
|
|
41
|
-
compound:
|
|
41
|
+
compound: 'hsl(var(--compound))',
|
|
42
42
|
destructive: {
|
|
43
|
-
DEFAULT:
|
|
44
|
-
foreground:
|
|
43
|
+
DEFAULT: 'hsl(var(--destructive))',
|
|
44
|
+
foreground: 'hsl(var(--destructive-foreground))',
|
|
45
45
|
},
|
|
46
|
-
foreground:
|
|
46
|
+
foreground: 'hsl(var(--foreground))',
|
|
47
47
|
info: {
|
|
48
|
-
DEFAULT:
|
|
49
|
-
foreground:
|
|
48
|
+
DEFAULT: 'hsl(var(--info))',
|
|
49
|
+
foreground: 'hsl(var(--info-foreground))',
|
|
50
50
|
},
|
|
51
|
-
input:
|
|
51
|
+
input: 'hsl(var(--input))',
|
|
52
52
|
muted: {
|
|
53
|
-
DEFAULT:
|
|
54
|
-
foreground:
|
|
53
|
+
DEFAULT: 'hsl(var(--muted))',
|
|
54
|
+
foreground: 'hsl(var(--muted-foreground))',
|
|
55
55
|
},
|
|
56
56
|
popover: {
|
|
57
|
-
DEFAULT:
|
|
58
|
-
foreground:
|
|
57
|
+
DEFAULT: 'hsl(var(--popover))',
|
|
58
|
+
foreground: 'hsl(var(--popover-foreground))',
|
|
59
59
|
},
|
|
60
60
|
primary: {
|
|
61
|
-
DEFAULT:
|
|
62
|
-
foreground:
|
|
61
|
+
DEFAULT: 'hsl(var(--primary))',
|
|
62
|
+
foreground: 'hsl(var(--primary-foreground))',
|
|
63
63
|
},
|
|
64
|
-
ring:
|
|
64
|
+
ring: 'hsl(var(--ring))',
|
|
65
65
|
secondary: {
|
|
66
|
-
DEFAULT:
|
|
67
|
-
foreground:
|
|
66
|
+
DEFAULT: 'hsl(var(--secondary))',
|
|
67
|
+
foreground: 'hsl(var(--secondary-foreground))',
|
|
68
68
|
},
|
|
69
69
|
success: {
|
|
70
|
-
DEFAULT:
|
|
71
|
-
foreground:
|
|
70
|
+
DEFAULT: 'hsl(var(--success))',
|
|
71
|
+
foreground: 'hsl(var(--success-foreground))',
|
|
72
72
|
},
|
|
73
73
|
warning: {
|
|
74
|
-
DEFAULT:
|
|
75
|
-
foreground:
|
|
74
|
+
DEFAULT: 'hsl(var(--warning))',
|
|
75
|
+
foreground: 'hsl(var(--warning-foreground))',
|
|
76
76
|
},
|
|
77
77
|
},
|
|
78
78
|
fontFamily: {
|
|
79
|
-
sans: `var(--font-sans, ${fontFamily.sans.join(
|
|
79
|
+
sans: `var(--font-sans, ${fontFamily.sans.join(', ')})`,
|
|
80
80
|
},
|
|
81
81
|
keyframes: {
|
|
82
|
-
|
|
82
|
+
'collapsible-open': {
|
|
83
83
|
from: {
|
|
84
|
-
height:
|
|
84
|
+
height: '0',
|
|
85
85
|
},
|
|
86
86
|
to: {
|
|
87
|
-
height:
|
|
87
|
+
height: 'var(--radix-collapsible-content-height)',
|
|
88
88
|
},
|
|
89
89
|
},
|
|
90
|
-
|
|
90
|
+
'collapsible-closed': {
|
|
91
91
|
from: {
|
|
92
|
-
height:
|
|
92
|
+
height: 'var(--radix-collapsible-content-height)',
|
|
93
93
|
},
|
|
94
94
|
to: {
|
|
95
|
-
height:
|
|
95
|
+
height: '0',
|
|
96
96
|
},
|
|
97
97
|
},
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
opacity:
|
|
98
|
+
'caret-blink': {
|
|
99
|
+
'0%,70%,100%': {
|
|
100
|
+
opacity: '1',
|
|
101
101
|
},
|
|
102
|
-
|
|
103
|
-
opacity:
|
|
102
|
+
'20%,50%': {
|
|
103
|
+
opacity: '0',
|
|
104
104
|
},
|
|
105
105
|
},
|
|
106
106
|
},
|
|
107
107
|
outlineColor: {
|
|
108
|
-
DEFAULT:
|
|
108
|
+
DEFAULT: 'hsl(var(--ring))',
|
|
109
109
|
},
|
|
110
110
|
ringColor: {
|
|
111
|
-
DEFAULT:
|
|
111
|
+
DEFAULT: 'hsl(var(--ring))',
|
|
112
112
|
},
|
|
113
113
|
ringOffsetColor: {
|
|
114
|
-
DEFAULT:
|
|
114
|
+
DEFAULT: 'hsl(var(--background))',
|
|
115
115
|
},
|
|
116
116
|
spacing: {
|
|
117
|
-
0.75:
|
|
118
|
-
18:
|
|
117
|
+
0.75: '0.1875rem', // 3px
|
|
118
|
+
18: '4.5rem', // 72px
|
|
119
119
|
},
|
|
120
120
|
transitionDuration: {
|
|
121
|
-
250:
|
|
121
|
+
250: '250ms',
|
|
122
122
|
},
|
|
123
123
|
},
|
|
124
124
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/utils.ts"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\nimport { defineConfig } from \"cva\";\n\nexport const {\n cva,\n cx: cn,\n compose,\n} = defineConfig({\n hooks: {\n onComplete: (className) => twMerge(className),\n },\n});\n"],"mappings":"AAAA,OAAS,WAAAA,MAAe,iBACxB,OAAS,gBAAAC,MAAoB,MAEtB,GAAM,CACX,IAAAC,EACA,GAAIC,EACJ,QAAAC,CACF,EAAIH,EAAa,CACf,MAAO,CACL,WAAaI,GAAcL,EAAQK,CAAS,CAC9C,CACF,CAAC","names":["twMerge","defineConfig","cva","cn","compose","className"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../plugin/base.plugin.ts"],"sourcesContent":["import plugin from \"tailwindcss/plugin\";\n\nconst base = plugin(({ addBase }) => {\n addBase({\n \".dark\": {\n \"color-scheme\": \"dark\",\n },\n body: {\n \"@apply bg-background text-foreground\": \"\",\n },\n \":focus-visible\": {\n \"@apply outline-ring\": \"\",\n },\n \"button, [role='button'], input:where([type='button']), input:where([type='reset']), input:where([type='submit'])\":\n {\n \"@apply outline-transparent\": \"\",\n },\n });\n});\n\nexport default base;\n"],"mappings":"AAAA,OAAOA,MAAY,qBAEnB,IAAMC,EAAOD,EAAO,CAAC,CAAE,QAAAE,CAAQ,IAAM,CACnCA,EAAQ,CACN,QAAS,CACP,eAAgB,MAClB,EACA,KAAM,CACJ,uCAAwC,EAC1C,EACA,iBAAkB,CAChB,sBAAuB,EACzB,EACA,mHACE,CACE,6BAA8B,EAChC,CACJ,CAAC,CACH,CAAC,EAEMC,EAAQF","names":["plugin","base","addBase","base_plugin_default"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../plugin/animate.plugin.ts"],"names":["plugin","animate","addUtilities","matchUtilities","theme","value","animate_plugin_default"],"mappings":"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","sourcesContent":["import plugin from \"tailwindcss/plugin\";\nimport { type Config } from \"tailwindcss/types/config\";\n\ntype Theme = <TDefaultValue = Config[\"theme\"]>(path?: string, defaultValue?: TDefaultValue) => TDefaultValue;\n\nconst animate = plugin(\n ({ addUtilities, matchUtilities, theme }) => {\n // Keyframes\n addUtilities({\n \"@keyframes in\": {\n from: {\n opacity: \"var(--animate-in-opacity, 1)\",\n transform: [\n \"translate3d(var(--animate-in-translate-x, 0), var(--animate-in-translate-y, 0), 0)\",\n \"scale3d(var(--animate-in-scale, 1), var(--animate-in-scale, 1), var(--animate-in-scale, 1))\",\n \"rotate(var(--animate-in-rotate, 0))\",\n ].join(\" \"),\n },\n },\n\n \"@keyframes out\": {\n to: {\n opacity: \"var(--animate-out-opacity, 1)\",\n transform: [\n \"translate3d(var(--animate-out-translate-x, 0), var(--animate-out-translate-y, 0), 0)\",\n \"scale3d(var(--animate-out-scale, 1), var(--animate-out-scale, 1), var(--animate-out-scale, 1))\",\n \"rotate(var(--animate-out-rotate, 0))\",\n ].join(\" \"),\n },\n },\n\n \"@keyframes fade-in\": {\n from: {\n opacity: \"var(--animate-in-opacity, 0)\",\n },\n },\n\n \"@keyframes fade-out\": {\n to: {\n opacity: \"var(--animate-out-opacity, 0)\",\n },\n },\n\n \".animate-in\": {\n animationName: \"in\",\n animationDuration: theme(\"animationDuration.DEFAULT\"),\n \"--animate-in-opacity\": \"initial\",\n \"--animate-in-scale\": \"initial\",\n \"--animate-in-rotate\": \"initial\",\n \"--animate-in-translate-x\": \"initial\",\n \"--animate-in-translate-y\": \"initial\",\n },\n\n \".animate-out\": {\n animationName: \"out\",\n animationDuration: theme(\"animationDuration.DEFAULT\"),\n \"--animate-out-opacity\": \"initial\",\n \"--animate-out-scale\": \"initial\",\n \"--animate-out-rotate\": \"initial\",\n \"--animate-out-translate-x\": \"initial\",\n \"--animate-out-translate-y\": \"initial\",\n },\n\n \".animate-fade-in\": {\n animationName: \"fade-in\",\n animationDuration: theme(\"animationDuration.DEFAULT\"),\n \"--animate-in-opacity\": \"initial\",\n },\n\n \".animate-fade-out\": {\n animationName: \"fade-out\",\n animationDuration: theme(\"animationDuration.DEFAULT\"),\n \"--animate-out-opacity\": \"initial\",\n },\n });\n\n // Play state\n addUtilities({\n \".animation-running\": {\n animationPlayState: \"running\",\n },\n \".animation-paused\": {\n animationPlayState: \"paused\",\n },\n });\n\n // Delay\n matchUtilities(\n {\n \"animate-delay\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n animationDelay: value,\n }),\n },\n {\n values: theme(\"animationDelay\"),\n },\n );\n\n // Direction\n matchUtilities(\n {\n \"animate-direction\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n animationDirection: value,\n }),\n },\n {\n values: theme(\"animationDirection\"),\n },\n );\n\n // Duration\n matchUtilities(\n {\n \"animate-duration\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n animationDuration: value,\n }),\n },\n {\n values: theme(\"animationDuration\"),\n },\n );\n\n // Fill mode\n matchUtilities(\n {\n \"animate-fill-mode\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n animationFillMode: value,\n }),\n },\n {\n values: theme(\"animationFillMode\"),\n },\n );\n\n // Opacity\n matchUtilities(\n {\n \"fade-in\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-in-opacity\": value,\n }),\n \"fade-out\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-out-opacity\": value,\n }),\n },\n {\n values: theme(\"animationOpacity\"),\n },\n );\n\n // Repeat\n matchUtilities(\n {\n \"animate-repeat\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n animationIterationCount: value,\n }),\n },\n {\n values: theme(\"animationRepeat\"),\n },\n );\n\n // Rotate\n matchUtilities(\n {\n \"spin-in\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-in-rotate\": value,\n }),\n \"spin-out\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-out-rotate\": value,\n }),\n },\n {\n values: theme(\"animationRotate\"),\n },\n );\n\n // Scale - Zoom\n matchUtilities(\n {\n \"zoom-in\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-in-scale\": value,\n }),\n \"zoom-out\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-out-scale\": value,\n }),\n },\n {\n values: theme(\"animationScale\"),\n },\n );\n\n // Timing function\n matchUtilities(\n {\n \"animate-ease\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n animationTimingFunction: value,\n }),\n },\n {\n values: theme(\"animationTimingFunction\"),\n },\n );\n\n // Translate - Slide\n matchUtilities(\n {\n \"slide-in-from-top\": (value) => ({\n \"--animate-in-translate-y\": `-${value}`,\n }),\n\n \"slide-in-from-bottom\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-in-translate-y\": value,\n }),\n\n \"slide-in-from-left\": (value) => ({\n \"--animate-in-translate-x\": `-${value}`,\n }),\n\n \"slide-in-from-right\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-in-translate-x\": value,\n }),\n\n \"slide-out-to-top\": (value) => ({\n \"--animate-out-translate-y\": `-${value}`,\n }),\n\n \"slide-out-to-bottom\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-out-translate-y\": value,\n }),\n\n \"slide-out-to-left\": (value) => ({\n \"--animate-out-translate-x\": `-${value}`,\n }),\n\n \"slide-out-to-right\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-out-translate-x\": value,\n }),\n },\n {\n values: theme(\"animationTranslate\"),\n },\n );\n },\n {\n theme: {\n extend: {\n animationDelay: ({ theme }: { theme: Theme }) => ({\n ...theme(\"transitionDelay\"),\n }),\n\n animationDirection: {\n normal: \"normal\",\n reverse: \"reverse\",\n alternate: \"alternate\",\n \"alternate-reverse\": \"alternate-reverse\",\n },\n\n animationDuration: ({ theme }: { theme: Theme }) => ({\n ...theme(\"transitionDuration\"),\n }),\n\n animationFillMode: {\n none: \"none\",\n forwards: \"forwards\",\n backwards: \"backwards\",\n both: \"both\",\n },\n\n animationOpacity: ({ theme }: { theme: Theme }) => ({\n DEFAULT: 0,\n ...theme(\"opacity\"),\n }),\n\n animationRepeat: {\n 0: \"0\",\n 1: \"1\",\n infinite: \"infinite\",\n },\n\n animationRotate: ({ theme }: { theme: Theme }) => ({\n DEFAULT: \"30deg\",\n ...theme(\"rotate\"),\n }),\n\n animationScale: ({ theme }: { theme: Theme }) => ({\n DEFAULT: 0,\n ...theme(\"scale\"),\n }),\n\n animationTimingFunction: ({ theme }: { theme: Theme }) => ({\n ...theme(\"transitionTimingFunction\"),\n }),\n\n animationTranslate: ({ theme }: { theme: Theme }) => ({\n DEFAULT: \"100%\",\n ...theme(\"translate\"),\n }),\n },\n },\n },\n);\n\nexport default animate;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/react/select.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { CaretSortIcon, CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"@radix-ui/react-icons\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { cn } from \"../lib/utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: Select\n * -------------------------------------------------------------------------- */\n\ntype SelectProps = React.ComponentProps<typeof SelectPrimitive.Root>;\nconst Select = SelectPrimitive.Root;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectGroup\n * -------------------------------------------------------------------------- */\n\ntype SelectGroupProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Group>;\nconst SelectGroup = SelectPrimitive.Group;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectValue\n * -------------------------------------------------------------------------- */\n\ntype SelectValueProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Value>;\nconst SelectValue = SelectPrimitive.Value;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectTrigger\n * -------------------------------------------------------------------------- */\n\ntype SelectTriggerElement = React.ElementRef<typeof SelectPrimitive.Trigger>;\ntype SelectTriggerProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>;\n\nconst SelectTrigger = React.forwardRef<SelectTriggerElement, SelectTriggerProps>(\n ({ children, className, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"border-input placeholder:text-muted-foreground flex h-10 w-full items-center justify-between gap-2 whitespace-nowrap rounded-md border bg-transparent px-3 text-sm shadow-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 [&>span]:truncate\",\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <CaretSortIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n ),\n);\n\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectScrollUpButton\n * -------------------------------------------------------------------------- */\n\ntype SelectScrollUpButtonElement = React.ElementRef<typeof SelectPrimitive.ScrollUpButton>;\ntype SelectScrollUpButtonProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>;\n\nconst SelectScrollUpButton = React.forwardRef<SelectScrollUpButtonElement, SelectScrollUpButtonProps>(\n ({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\"flex cursor-default items-center justify-center py-1\", className)}\n {...props}\n >\n <ChevronUpIcon />\n </SelectPrimitive.ScrollUpButton>\n ),\n);\n\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectScrollDownButton\n * -------------------------------------------------------------------------- */\n\ntype SelectScrollDownButtonElement = React.ElementRef<typeof SelectPrimitive.ScrollDownButton>;\ntype SelectScrollDownButtonProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>;\n\nconst SelectScrollDownButton = React.forwardRef<SelectScrollDownButtonElement, SelectScrollDownButtonProps>(\n ({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\"flex cursor-default items-center justify-center py-1\", className)}\n {...props}\n >\n <ChevronDownIcon />\n </SelectPrimitive.ScrollDownButton>\n ),\n);\n\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectContent\n * -------------------------------------------------------------------------- */\n\ntype SelectContentElement = React.ElementRef<typeof SelectPrimitive.Content>;\ntype SelectContentProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>;\n\nconst SelectContent = React.forwardRef<SelectContentElement, SelectContentProps>(\n ({ children, className, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=open]:fade-in data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 relative z-50 max-h-96 min-w-32 overflow-hidden rounded-md border shadow-md\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n ),\n);\n\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectLabel\n * -------------------------------------------------------------------------- */\n\ntype SelectLabelElement = React.ElementRef<typeof SelectPrimitive.Label>;\ntype SelectLabelProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>;\n\nconst SelectLabel = React.forwardRef<SelectLabelElement, SelectLabelProps>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label ref={ref} className={cn(\"px-2 py-1.5 text-sm font-semibold\", className)} {...props} />\n));\n\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectItem\n * -------------------------------------------------------------------------- */\n\ntype SelectItemElement = React.ElementRef<typeof SelectPrimitive.Item>;\ntype SelectItemProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>;\n\nconst SelectItem = React.forwardRef<SelectItemElement, SelectItemProps>(({ children, className, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\n\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectSeparator\n * -------------------------------------------------------------------------- */\n\ntype SelectSeparatorElement = React.ElementRef<typeof SelectPrimitive.Separator>;\ntype SelectSeparatorProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>;\n\nconst SelectSeparator = React.forwardRef<SelectSeparatorElement, SelectSeparatorProps>(\n ({ className, ...props }, ref) => (\n <SelectPrimitive.Separator ref={ref} className={cn(\"bg-muted -mx-1 my-1 h-px\", className)} {...props} />\n ),\n);\n\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n type SelectProps,\n type SelectGroupProps,\n type SelectValueProps,\n type SelectTriggerProps,\n type SelectContentProps,\n type SelectLabelProps,\n type SelectItemProps,\n type SelectSeparatorProps,\n type SelectScrollUpButtonProps,\n type SelectScrollDownButtonProps,\n};\n"],"mappings":"yCAEA,UAAYA,MAAW,QACvB,OAAS,iBAAAC,EAAe,aAAAC,EAAW,mBAAAC,EAAiB,iBAAAC,MAAqB,wBACzE,UAAYC,MAAqB,yBAiC7B,OAUI,OAAAC,EAVJ,QAAAC,MAAA,oBAzBJ,IAAMC,EAAyB,OAOzBC,EAA8B,QAO9BC,EAA8B,QAS9BC,EAAsB,aAC1B,CAAC,CAAE,SAAAC,EAAU,UAAAC,EAAW,GAAGC,CAAM,EAAGC,IAClCR,EAAiB,UAAhB,CACC,IAAKQ,EACL,UAAWC,EACT,oVACAH,CACF,EACC,GAAGC,EAEH,UAAAF,EACDN,EAAiB,OAAhB,CAAqB,QAAO,GAC3B,SAAAA,EAACW,EAAA,CAAc,UAAU,oBAAoB,EAC/C,GACF,CAEJ,EAEAN,EAAc,YAA8B,UAAQ,YASpD,IAAMO,EAA6B,aACjC,CAAC,CAAE,UAAAL,EAAW,GAAGC,CAAM,EAAGC,IACxBT,EAAiB,iBAAhB,CACC,IAAKS,EACL,UAAWC,EAAG,uDAAwDH,CAAS,EAC9E,GAAGC,EAEJ,SAAAR,EAACa,EAAA,EAAc,EACjB,CAEJ,EAEAD,EAAqB,YAA8B,iBAAe,YASlE,IAAME,EAA+B,aACnC,CAAC,CAAE,UAAAP,EAAW,GAAGC,CAAM,EAAGC,IACxBT,EAAiB,mBAAhB,CACC,IAAKS,EACL,UAAWC,EAAG,uDAAwDH,CAAS,EAC9E,GAAGC,EAEJ,SAAAR,EAACe,EAAA,EAAgB,EACnB,CAEJ,EAEAD,EAAuB,YAA8B,mBAAiB,YAStE,IAAME,EAAsB,aAC1B,CAAC,CAAE,SAAAV,EAAU,UAAAC,EAAW,SAAAU,EAAW,SAAU,GAAGT,CAAM,EAAGC,IACvDT,EAAiB,SAAhB,CACC,SAAAC,EAAiB,UAAhB,CACC,IAAKQ,EACL,UAAWC,EACT,8uBACAO,IAAa,UACX,kIACFV,CACF,EACA,SAAUU,EACT,GAAGT,EAEJ,UAAAR,EAACY,EAAA,EAAqB,EACtBZ,EAAiB,WAAhB,CACC,UAAWU,EACT,MACAO,IAAa,UACX,yFACJ,EAEC,SAAAX,EACH,EACAN,EAACc,EAAA,EAAuB,GAC1B,EACF,CAEJ,EAEAE,EAAc,YAA8B,UAAQ,YASpD,IAAME,EAAoB,aAAiD,CAAC,CAAE,UAAAX,EAAW,GAAGC,CAAM,EAAGC,IACnGT,EAAiB,QAAhB,CAAsB,IAAKS,EAAK,UAAWC,EAAG,oCAAqCH,CAAS,EAAI,GAAGC,EAAO,CAC5G,EAEDU,EAAY,YAA8B,QAAM,YAShD,IAAMC,EAAmB,aAA+C,CAAC,CAAE,SAAAb,EAAU,UAAAC,EAAW,GAAGC,CAAM,EAAGC,IAC1GR,EAAiB,OAAhB,CACC,IAAKQ,EACL,UAAWC,EACT,8NACAH,CACF,EACC,GAAGC,EAEJ,UAAAR,EAAC,QAAK,UAAU,6DACd,SAAAA,EAAiB,gBAAhB,CACC,SAAAA,EAACoB,EAAA,CAAU,UAAU,SAAS,EAChC,EACF,EACApB,EAAiB,WAAhB,CAA0B,SAAAM,EAAS,GACtC,CACD,EAEDa,EAAW,YAA8B,OAAK,YAS9C,IAAME,EAAwB,aAC5B,CAAC,CAAE,UAAAd,EAAW,GAAGC,CAAM,EAAGC,IACxBT,EAAiB,YAAhB,CAA0B,IAAKS,EAAK,UAAWC,EAAG,2BAA4BH,CAAS,EAAI,GAAGC,EAAO,CAE1G,EAEAa,EAAgB,YAA8B,YAAU","names":["React","CaretSortIcon","CheckIcon","ChevronDownIcon","ChevronUpIcon","SelectPrimitive","jsx","jsxs","Select","SelectGroup","SelectValue","SelectTrigger","children","className","props","ref","cn","CaretSortIcon","SelectScrollUpButton","ChevronUpIcon","SelectScrollDownButton","ChevronDownIcon","SelectContent","position","SelectLabel","SelectItem","CheckIcon","SelectSeparator"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/react/button.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Fragment } from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { type VariantProps } from \"cva\";\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport { cva } from \"../lib/utils\";\nimport { Spinner } from \"./spinner\";\n\n/* -----------------------------------------------------------------------------\n * Variant: Button\n * -------------------------------------------------------------------------- */\n\nconst buttonVariants = cva({\n base: \"inline-flex select-none items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:pointer-events-none disabled:opacity-50\",\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90 shadow\",\n destructive: \"bg-destructive text-destructive-foreground hover:bg-destructive/90 shadow-sm\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n outline: \"border-input bg-background hover:bg-accent hover:text-accent-foreground border shadow-sm\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80 shadow-sm\",\n },\n size: {\n default: \"h-10 px-4\",\n xs: \"h-8 px-2\",\n sm: \"h-9 px-3\",\n lg: \"h-11 px-8\",\n icon: \"size-10\",\n \"icon-xs\": \"size-8\",\n \"icon-sm\": \"size-9\",\n \"icon-lg\": \"size-11\",\n },\n loading: {\n true: \"relative\",\n },\n },\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n loading: false,\n },\n});\n\ntype ButtonVariantsProps = VariantProps<typeof buttonVariants>;\n\n/* -----------------------------------------------------------------------------\n * Component: Button\n * -------------------------------------------------------------------------- */\n\ntype ButtonElement = HTMLButtonElement;\n\ninterface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, ButtonVariantsProps {\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef<ButtonElement, ButtonProps>(\n ({ children, className, variant, size, loading = false, asChild = false, ...props }, ref) => {\n const Component = asChild ? Slot : \"button\";\n const ComponentLoading = asChild ? \"span\" : Fragment;\n const disabled = loading || props.disabled;\n\n return (\n <Component\n ref={ref}\n type={asChild ? undefined : \"button\"}\n className={buttonVariants({ variant, size, loading, className })}\n {...props}\n disabled={disabled}\n >\n {loading ? (\n <ComponentLoading>\n <span aria-hidden className=\"invisible contents\">\n {children}\n </span>\n <VisuallyHidden>{children}</VisuallyHidden>\n <span className=\"absolute inset-0 flex items-center justify-center\">\n <Spinner />\n </span>\n </ComponentLoading>\n ) : (\n children\n )}\n </Component>\n );\n },\n);\n\nButton.displayName = \"Button\";\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Button, buttonVariants, type ButtonProps, type ButtonVariantsProps };\n"],"mappings":"6EAAA,UAAYA,MAAW,QACvB,OAAS,YAAAC,MAAgB,QACzB,OAAS,QAAAC,MAAY,uBAErB,OAAS,kBAAAC,MAAsB,kCAmErB,OACE,OAAAC,EADF,QAAAC,MAAA,oBA3DV,IAAMC,EAAiBC,EAAI,CACzB,KAAM,sPACN,SAAU,CACR,QAAS,CACP,QAAS,gEACT,YAAa,+EACb,MAAO,+CACP,KAAM,kDACN,QAAS,2FACT,UAAW,wEACb,EACA,KAAM,CACJ,QAAS,YACT,GAAI,WACJ,GAAI,WACJ,GAAI,YACJ,KAAM,UACN,UAAW,SACX,UAAW,SACX,UAAW,SACb,EACA,QAAS,CACP,KAAM,UACR,CACF,EACA,gBAAiB,CACf,KAAM,UACN,QAAS,UACT,QAAS,EACX,CACF,CAAC,EAcKC,EAAe,aACnB,CAAC,CAAE,SAAAC,EAAU,UAAAC,EAAW,QAAAC,EAAS,KAAAC,EAAM,QAAAC,EAAU,GAAO,QAAAC,EAAU,GAAO,GAAGC,CAAM,EAAGC,IAAQ,CAC3F,IAAMC,EAAYH,EAAUI,EAAO,SAC7BC,EAAmBL,EAAU,OAASM,EACtCC,EAAWR,GAAWE,EAAM,SAElC,OACEX,EAACa,EAAA,CACC,IAAKD,EACL,KAAMF,EAAU,OAAY,SAC5B,UAAWR,EAAe,CAAE,QAAAK,EAAS,KAAAC,EAAM,QAAAC,EAAS,UAAAH,CAAU,CAAC,EAC9D,GAAGK,EACJ,SAAUM,EAET,SAAAR,EACCR,EAACc,EAAA,CACC,UAAAf,EAAC,QAAK,cAAW,GAAC,UAAU,qBACzB,SAAAK,EACH,EACAL,EAACkB,EAAA,CAAgB,SAAAb,EAAS,EAC1BL,EAAC,QAAK,UAAU,oDACd,SAAAA,EAACmB,EAAA,EAAQ,EACX,GACF,EAEAd,EAEJ,CAEJ,CACF,EAEAD,EAAO,YAAc","names":["React","Fragment","Slot","VisuallyHidden","jsx","jsxs","buttonVariants","cva","Button","children","className","variant","size","loading","asChild","props","ref","Component","Slot","ComponentLoading","Fragment","disabled","VisuallyHidden","Spinner"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/react/spinner.tsx"],"names":["React","VisuallyHidden","jsx","jsxs","spinnerCount","Spinner","children","className","loading","props","ref","spinner","cn","_","i"],"mappings":"wCAAA,UAAYA,MAAW,QACvB,OAAS,kBAAAC,MAAsB,kCA4BrB,cAAAC,EAqBJ,QAAAC,MArBI,oBArBV,IAAMC,EAAe,EAQfC,EAAgB,aACpB,CAAC,CAAE,SAAAC,EAAU,UAAAC,EAAW,QAAAC,EAAU,GAAM,GAAGC,CAAM,EAAGC,IAAQ,CAC1D,GAAI,CAACF,EACH,OAAOF,EAGT,IAAMK,EACJT,EAAC,QACC,IAAKQ,EACL,UAAWE,EAAG,8DAA+DL,CAAS,EACrF,GAAGE,EAEH,eAAM,KAAK,CAAE,OAAQL,CAAa,EAAG,CAACS,EAAGC,IACxCZ,EAAC,QAEC,UAAU,kSACV,MACE,CACE,MAAO,IAAI,IAAME,GAAc,SAAS,CAAC,IACzC,kBAAmB,MAAMA,EAAeU,GAAK,KAAK,SAAS,CAAC,KAC5D,mBAAoB,IAAK,IAAMV,EAAgBU,GAAG,SAAS,CAAC,MAC5D,qBAAsB,IAAIV,EAAe,KAAK,SAAS,CAAC,IAC1D,GARGU,CAUP,CACD,EACH,EAGF,OAAIR,IAAa,OACRK,EAIPR,EAAC,QAAK,UAAU,WACd,UAAAD,EAAC,QAAK,cAAW,GAAC,UAAU,qBACzB,SAAAI,EACH,EACAJ,EAACD,EAAA,CAAgB,SAAAK,EAAS,EAC1BJ,EAAC,QAAK,UAAU,oDAAqD,SAAAS,EAAQ,GAC/E,CAEJ,CACF,EAEAN,EAAQ,YAAc","sourcesContent":["import * as React from \"react\";\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport { cn } from \"../lib/utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: Spinner\n * -------------------------------------------------------------------------- */\n\nconst spinnerCount = 8;\n\ntype SpinnerElement = HTMLSpanElement;\n\ninterface SpinnerProps extends React.HTMLAttributes<HTMLSpanElement> {\n loading?: boolean;\n}\n\nconst Spinner = React.forwardRef<SpinnerElement, SpinnerProps>(\n ({ children, className, loading = true, ...props }, ref) => {\n if (!loading) {\n return children;\n }\n\n const spinner = (\n <span\n ref={ref}\n className={cn(\"relative flex size-4 items-center justify-center opacity-60\", className)}\n {...props}\n >\n {Array.from({ length: spinnerCount }, (_, i) => (\n <span\n key={i}\n className=\"before:fade-out-25 before:animate-out before:animate-repeat-infinite before:animate-delay-[var(--spinner-delay)] before:animate-duration-[var(--spinner-duration)] absolute h-full rotate-[var(--spinner-rotate)] before:block before:h-1/3 before:w-full before:rounded-full before:bg-current\"\n style={\n {\n width: `${(100 / spinnerCount).toString()}%`,\n \"--spinner-delay\": `-${((spinnerCount - i) * 100).toString()}ms`,\n \"--spinner-rotate\": `${((360 / spinnerCount) * i).toString()}deg`,\n \"--spinner-duration\": `${(spinnerCount * 100).toString()}ms`,\n } as React.CSSProperties\n }\n />\n ))}\n </span>\n );\n\n if (children === undefined) {\n return spinner;\n }\n\n return (\n <span className=\"relative\">\n <span aria-hidden className=\"invisible contents\">\n {children}\n </span>\n <VisuallyHidden>{children}</VisuallyHidden>\n <span className=\"absolute inset-0 flex items-center justify-center\">{spinner}</span>\n </span>\n );\n },\n);\n\nSpinner.displayName = \"Spinner\";\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Spinner, type SpinnerProps };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/react/button.tsx"],"names":["React","Fragment","Slot","VisuallyHidden","jsx","jsxs","buttonVariants","cva","Button","children","className","variant","size","loading","asChild","props","ref","Component","ComponentLoading","disabled","Spinner"],"mappings":"2EAAA,UAAYA,MAAW,QACvB,OAAS,YAAAC,MAAgB,QACzB,OAAS,QAAAC,MAAY,uBAErB,OAAS,kBAAAC,MAAsB,kCAmErB,OACE,OAAAC,EADF,QAAAC,MAAA,oBA3DV,IAAMC,EAAiBC,EAAI,CACzB,KAAM,sPACN,SAAU,CACR,QAAS,CACP,QAAS,gEACT,YAAa,+EACb,MAAO,+CACP,KAAM,kDACN,QAAS,2FACT,UAAW,wEACb,EACA,KAAM,CACJ,QAAS,YACT,GAAI,WACJ,GAAI,WACJ,GAAI,YACJ,KAAM,UACN,UAAW,SACX,UAAW,SACX,UAAW,SACb,EACA,QAAS,CACP,KAAM,UACR,CACF,EACA,gBAAiB,CACf,KAAM,UACN,QAAS,UACT,QAAS,EACX,CACF,CAAC,EAcKC,EAAe,aACnB,CAAC,CAAE,SAAAC,EAAU,UAAAC,EAAW,QAAAC,EAAS,KAAAC,EAAM,QAAAC,EAAU,GAAO,QAAAC,EAAU,GAAO,GAAGC,CAAM,EAAGC,IAAQ,CAC3F,IAAMC,EAAYH,EAAUZ,EAAO,SAC7BgB,EAAmBJ,EAAU,OAASb,EACtCkB,EAAWN,GAAWE,EAAM,SAElC,OACEX,EAACa,EAAA,CACC,IAAKD,EACL,KAAMF,EAAU,OAAY,SAC5B,UAAWR,EAAe,CAAE,QAAAK,EAAS,KAAAC,EAAM,QAAAC,EAAS,UAAAH,CAAU,CAAC,EAC9D,GAAGK,EACJ,SAAUI,EAET,SAAAN,EACCR,EAACa,EAAA,CACC,UAAAd,EAAC,QAAK,cAAW,GAAC,UAAU,qBACzB,SAAAK,EACH,EACAL,EAACD,EAAA,CAAgB,SAAAM,EAAS,EAC1BL,EAAC,QAAK,UAAU,oDACd,SAAAA,EAACgB,EAAA,EAAQ,EACX,GACF,EAEAX,EAEJ,CAEJ,CACF,EAEAD,EAAO,YAAc","sourcesContent":["import * as React from \"react\";\nimport { Fragment } from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { type VariantProps } from \"cva\";\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport { cva } from \"../lib/utils\";\nimport { Spinner } from \"./spinner\";\n\n/* -----------------------------------------------------------------------------\n * Variant: Button\n * -------------------------------------------------------------------------- */\n\nconst buttonVariants = cva({\n base: \"inline-flex select-none items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:pointer-events-none disabled:opacity-50\",\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90 shadow\",\n destructive: \"bg-destructive text-destructive-foreground hover:bg-destructive/90 shadow-sm\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n outline: \"border-input bg-background hover:bg-accent hover:text-accent-foreground border shadow-sm\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80 shadow-sm\",\n },\n size: {\n default: \"h-10 px-4\",\n xs: \"h-8 px-2\",\n sm: \"h-9 px-3\",\n lg: \"h-11 px-8\",\n icon: \"size-10\",\n \"icon-xs\": \"size-8\",\n \"icon-sm\": \"size-9\",\n \"icon-lg\": \"size-11\",\n },\n loading: {\n true: \"relative\",\n },\n },\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n loading: false,\n },\n});\n\ntype ButtonVariantsProps = VariantProps<typeof buttonVariants>;\n\n/* -----------------------------------------------------------------------------\n * Component: Button\n * -------------------------------------------------------------------------- */\n\ntype ButtonElement = HTMLButtonElement;\n\ninterface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, ButtonVariantsProps {\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef<ButtonElement, ButtonProps>(\n ({ children, className, variant, size, loading = false, asChild = false, ...props }, ref) => {\n const Component = asChild ? Slot : \"button\";\n const ComponentLoading = asChild ? \"span\" : Fragment;\n const disabled = loading || props.disabled;\n\n return (\n <Component\n ref={ref}\n type={asChild ? undefined : \"button\"}\n className={buttonVariants({ variant, size, loading, className })}\n {...props}\n disabled={disabled}\n >\n {loading ? (\n <ComponentLoading>\n <span aria-hidden className=\"invisible contents\">\n {children}\n </span>\n <VisuallyHidden>{children}</VisuallyHidden>\n <span className=\"absolute inset-0 flex items-center justify-center\">\n <Spinner />\n </span>\n </ComponentLoading>\n ) : (\n children\n )}\n </Component>\n );\n },\n);\n\nButton.displayName = \"Button\";\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Button, buttonVariants, type ButtonProps, type ButtonVariantsProps };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/react/checkbox-group.primitive.tsx"],"names":["React","CheckboxPrimitive","createCheckboxScope","createContextScope","RovingFocusGroup","createRovingFocusGroupScope","useControllableState","useDirection","Primitive","jsx","CHECKBOX_GROUP_NAME","createCheckboxGroupContext","createCheckboxGroupScope","useRovingFocusGroupScope","useCheckboxScope","CheckboxGroupProvider","useCheckboxGroupContext","CheckboxGroup","__scopeCheckboxGroup","name","defaultValue","valueProp","required","disabled","orientation","dir","loop","onValueChange","props","ref","rovingFocusGroupScope","direction","value","setValue","handleItemCheck","itemValue","prevValue","handleItemUncheck","val","ITEM_NAME","CheckboxGroupItem","context","isDisabled","checkboxScope","checked","checkedState","INDICATOR_NAME","CheckboxGroupIndicator","Root","Item","Indicator"],"mappings":"AAAA,UAAYA,MAAW,QACvB,UAAYC,MAAuB,2BACnC,OAAS,uBAAAC,MAA2B,2BACpC,OAAS,sBAAAC,MAAsC,0BAC/C,UAAYC,MAAsB,+BAClC,OAAS,+BAAAC,MAAmC,+BAC5C,OAAS,wBAAAC,MAA4B,yCACrC,OAAS,gBAAAC,MAAoB,4BAC7B,OAAS,aAAAC,MAAiB,4BA+FhB,cAAAC,MAAA,oBAzFV,IAAMC,EAAsB,gBAItB,CAACC,EAA4BC,CAAwB,EAAIT,EAAmBO,EAAqB,CACrGL,EACAH,CACF,CAAC,EAEKW,EAA2BR,EAA4B,EACvDS,EAAmBZ,EAAoB,EAWvC,CAACa,EAAuBC,CAAuB,EACnDL,EAAsDD,CAAmB,EAgBrEO,EAAsB,aAC1B,CACE,CACE,qBAAAC,EACA,KAAAC,EACA,aAAAC,EACA,MAAOC,EACP,SAAAC,EAAW,GACX,SAAAC,EAAW,GACX,YAAAC,EACA,IAAAC,EACA,KAAAC,EAAO,GACP,cAAAC,EACA,GAAGC,CACL,EACAC,IACG,CACH,IAAMC,EAAwBjB,EAAyBK,CAAoB,EACrEa,EAAYxB,EAAakB,CAAG,EAC5B,CAACO,EAAQ,CAAC,EAAGC,CAAQ,EAAI3B,EAAqB,CAClD,KAAMe,EACN,YAAaD,EACb,SAAUO,CACZ,CAAC,EAEKO,EAAwB,cAC3BC,GAAsB,CACrBF,EAAS,CAACG,EAAY,CAAC,IAAM,CAAC,GAAGA,EAAWD,CAAS,CAAC,CACxD,EACA,CAACF,CAAQ,CACX,EAEMI,EAA0B,cAC7BF,GAAsB,CACrBF,EAAS,CAACG,EAAY,CAAC,IAAMA,EAAU,OAAQE,GAAQA,IAAQH,CAAS,CAAC,CAC3E,EACA,CAACF,CAAQ,CACX,EAEA,OACExB,EAACM,EAAA,CACC,MAAOG,EACP,KAAMC,EACN,SAAUG,EACV,SAAUC,EACV,MAAOS,EACP,YAAaE,EACb,cAAeG,EAEf,SAAA5B,EAAkB,OAAjB,CAAsB,QAAO,GAAE,GAAGqB,EAAuB,YAAaN,EAAa,IAAKO,EAAW,KAAML,EAExG,SAAAjB,EAACD,EAAU,IAAV,CAAc,IAAKqB,EAAK,KAAK,QAAQ,gBAAeN,EAAW,GAAK,OAAW,IAAKQ,EAAY,GAAGH,EAAO,EAC7G,EACF,CAEJ,CACF,EAEAX,EAAc,YAAcP,EAM5B,IAAM6B,EAAY,GAAG7B,CAAmB,OAYlC8B,EAA0B,aAC9B,CAAC,CAAE,qBAAAtB,EAAsB,SAAAK,EAAU,GAAGK,CAAM,EAAwCC,IAAQ,CAC1F,IAAMY,EAAUzB,EAAwBuB,EAAWrB,CAAoB,EACjEwB,EAAaD,EAAQ,UAAYlB,EACjCO,EAAwBjB,EAAyBK,CAAoB,EACrEyB,EAAgB7B,EAAiBI,CAAoB,EACrD0B,EAAUH,EAAQ,OAAO,SAASb,EAAM,KAAK,EAEnD,OACEnB,EAAkB,OAAjB,CAAsB,QAAO,GAAE,GAAGqB,EAAuB,UAAW,CAACY,EAAY,OAAQE,EACxF,SAAAnC,EAAmB,OAAlB,CACC,IAAKoB,EACL,KAAMY,EAAQ,KACd,SAAUC,EACV,SAAUD,EAAQ,SAClB,QAASG,EACR,GAAGD,EACH,GAAGf,EACJ,gBAAkBiB,GAAiB,CAC7BA,EACFJ,EAAQ,YAAYb,EAAM,KAAK,EAE/Ba,EAAQ,cAAcb,EAAM,KAAK,CAErC,EACF,EACF,CAEJ,CACF,EAEAY,EAAkB,YAAcD,EAMhC,IAAMO,EAAiB,GAAGpC,CAAmB,YAKvCqC,EAA+B,aACnC,CAAC,CAAE,qBAAA7B,EAAsB,GAAGU,CAAM,EAA6CC,IAAQ,CACrF,IAAMc,EAAgB7B,EAAiBI,CAAoB,EAC3D,OAAOT,EAAmB,YAAlB,CAA4B,IAAKoB,EAAM,GAAGc,EAAgB,GAAGf,EAAO,CAC9E,CACF,EAEAmB,EAAuB,YAAcD,EAMrC,IAAME,EAAO/B,EACPgC,EAAOT,EACPU,EAAYH","sourcesContent":["import * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { createCheckboxScope } from \"@radix-ui/react-checkbox\";\nimport { createContextScope, type Scope } from \"@radix-ui/react-context\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\n\n/* -------------------------------------------------------------------------------------------------\n * Component: CheckboxGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst CHECKBOX_GROUP_NAME = \"CheckboxGroup\";\n\ntype ScopedProps<P> = P & { __scopeCheckboxGroup?: Scope };\n\nconst [createCheckboxGroupContext, createCheckboxGroupScope] = createContextScope(CHECKBOX_GROUP_NAME, [\n createRovingFocusGroupScope,\n createCheckboxScope,\n]);\n\nconst useRovingFocusGroupScope = createRovingFocusGroupScope();\nconst useCheckboxScope = createCheckboxScope();\n\ninterface CheckboxGroupContextValue {\n name?: string;\n required: boolean;\n disabled: boolean;\n value?: string[];\n onItemCheck: (value: string) => void;\n onItemUncheck: (value: string) => void;\n}\n\nconst [CheckboxGroupProvider, useCheckboxGroupContext] =\n createCheckboxGroupContext<CheckboxGroupContextValue>(CHECKBOX_GROUP_NAME);\n\ntype CheckboxGroupElement = React.ElementRef<typeof Primitive.div>;\n\ninterface CheckboxGroupProps extends React.ComponentPropsWithoutRef<typeof Primitive.div> {\n name?: CheckboxGroupContextValue[\"name\"];\n required?: React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>[\"required\"];\n disabled?: React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>[\"disabled\"];\n dir?: RovingFocusGroup.RovingFocusGroupProps[\"dir\"];\n orientation?: RovingFocusGroup.RovingFocusGroupProps[\"orientation\"];\n loop?: RovingFocusGroup.RovingFocusGroupProps[\"loop\"];\n defaultValue?: string[];\n value?: CheckboxGroupContextValue[\"value\"];\n onValueChange?: (value: string[]) => void;\n}\n\nconst CheckboxGroup = React.forwardRef<CheckboxGroupElement, CheckboxGroupProps>(\n (\n {\n __scopeCheckboxGroup,\n name,\n defaultValue,\n value: valueProp,\n required = false,\n disabled = false,\n orientation,\n dir,\n loop = true,\n onValueChange,\n ...props\n }: ScopedProps<CheckboxGroupProps>,\n ref,\n ) => {\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeCheckboxGroup);\n const direction = useDirection(dir);\n const [value = [], setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n const handleItemCheck = React.useCallback(\n (itemValue: string) => {\n setValue((prevValue = []) => [...prevValue, itemValue]);\n },\n [setValue],\n );\n\n const handleItemUncheck = React.useCallback(\n (itemValue: string) => {\n setValue((prevValue = []) => prevValue.filter((val) => val !== itemValue));\n },\n [setValue],\n );\n\n return (\n <CheckboxGroupProvider\n scope={__scopeCheckboxGroup}\n name={name}\n required={required}\n disabled={disabled}\n value={value}\n onItemCheck={handleItemCheck}\n onItemUncheck={handleItemUncheck}\n >\n <RovingFocusGroup.Root asChild {...rovingFocusGroupScope} orientation={orientation} dir={direction} loop={loop}>\n {/* eslint-disable-next-line react/jsx-pascal-case -- radix-ui */}\n <Primitive.div ref={ref} role=\"group\" data-disabled={disabled ? \"\" : undefined} dir={direction} {...props} />\n </RovingFocusGroup.Root>\n </CheckboxGroupProvider>\n );\n },\n);\n\nCheckboxGroup.displayName = CHECKBOX_GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * Component: CheckboxGroupItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = `${CHECKBOX_GROUP_NAME}Item`;\n\ntype CheckboxGroupItemElement = React.ElementRef<typeof CheckboxPrimitive.Root>;\n\ninterface CheckboxGroupItemProps\n extends Omit<\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>,\n \"checked\" | \"defaultChecked\" | \"onCheckedChange\" | \"name\"\n > {\n value: string;\n}\n\nconst CheckboxGroupItem = React.forwardRef<CheckboxGroupItemElement, CheckboxGroupItemProps>(\n ({ __scopeCheckboxGroup, disabled, ...props }: ScopedProps<CheckboxGroupItemProps>, ref) => {\n const context = useCheckboxGroupContext(ITEM_NAME, __scopeCheckboxGroup);\n const isDisabled = context.disabled || disabled;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeCheckboxGroup);\n const checkboxScope = useCheckboxScope(__scopeCheckboxGroup);\n const checked = context.value?.includes(props.value);\n\n return (\n <RovingFocusGroup.Item asChild {...rovingFocusGroupScope} focusable={!isDisabled} active={checked}>\n <CheckboxPrimitive.Root\n ref={ref}\n name={context.name}\n disabled={isDisabled}\n required={context.required}\n checked={checked}\n {...checkboxScope}\n {...props}\n onCheckedChange={(checkedState) => {\n if (checkedState) {\n context.onItemCheck(props.value);\n } else {\n context.onItemUncheck(props.value);\n }\n }}\n />\n </RovingFocusGroup.Item>\n );\n },\n);\n\nCheckboxGroupItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * Component: CheckboxGroupIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = `${CHECKBOX_GROUP_NAME}Indicator`;\n\ntype CheckboxGroupIndicatorElement = React.ElementRef<typeof CheckboxPrimitive.Indicator>;\ntype CheckboxGroupIndicatorProps = React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Indicator>;\n\nconst CheckboxGroupIndicator = React.forwardRef<CheckboxGroupIndicatorElement, CheckboxGroupIndicatorProps>(\n ({ __scopeCheckboxGroup, ...props }: ScopedProps<CheckboxGroupIndicatorProps>, ref) => {\n const checkboxScope = useCheckboxScope(__scopeCheckboxGroup);\n return <CheckboxPrimitive.Indicator ref={ref} {...checkboxScope} {...props} />;\n },\n);\n\nCheckboxGroupIndicator.displayName = INDICATOR_NAME;\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nconst Root = CheckboxGroup;\nconst Item = CheckboxGroupItem;\nconst Indicator = CheckboxGroupIndicator;\n\nexport {\n createCheckboxGroupScope,\n CheckboxGroup,\n CheckboxGroupItem,\n CheckboxGroupIndicator,\n Root,\n Item,\n Indicator,\n type CheckboxGroupProps,\n type CheckboxGroupItemProps,\n type CheckboxGroupIndicatorProps,\n};\n"]}
|