@spark-ui/components 14.0.0-beta.1 → 14.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Button-B6rA3-e5.js +2 -0
- package/dist/{Button-C3xHNaGl.js.map → Button-B6rA3-e5.js.map} +1 -1
- package/dist/{Button-D32Avk2j.mjs → Button-C3C0aixy.mjs} +4 -4
- package/dist/{Button-D32Avk2j.mjs.map → Button-C3C0aixy.mjs.map} +1 -1
- package/dist/DialogContent.styles-BSfXHt21.mjs +61 -0
- package/dist/DialogContent.styles-BSfXHt21.mjs.map +1 -0
- package/dist/DialogContent.styles-bBs6l8Cy.js +2 -0
- package/dist/DialogContent.styles-bBs6l8Cy.js.map +1 -0
- package/dist/Icon-CF0W0LKr.js +2 -0
- package/dist/{Icon-Bf0XrmiR.js.map → Icon-CF0W0LKr.js.map} +1 -1
- package/dist/{Icon-D1RueiPY.mjs → Icon-Ck-dhfLd.mjs} +6 -6
- package/dist/{Icon-D1RueiPY.mjs.map → Icon-Ck-dhfLd.mjs.map} +1 -1
- package/dist/{IconButton-BY3gYXtU.mjs → IconButton-C62-axzv.mjs} +6 -6
- package/dist/{IconButton-BY3gYXtU.mjs.map → IconButton-C62-axzv.mjs.map} +1 -1
- package/dist/IconButton-D3g86WpZ.js +2 -0
- package/dist/{IconButton-Bf-EDzpI.js.map → IconButton-D3g86WpZ.js.map} +1 -1
- package/dist/Slot-D2Bbf8Gw.mjs +14 -0
- package/dist/{Slot-C98rL4yy.mjs.map → Slot-D2Bbf8Gw.mjs.map} +1 -1
- package/dist/Slot-DQ8z2zsy.js +2 -0
- package/dist/{Slot-ghrohQLA.js.map → Slot-DQ8z2zsy.js.map} +1 -1
- package/dist/Spinner-_Kffli3B.js +2 -0
- package/dist/{Spinner-DK8VEsaR.js.map → Spinner-_Kffli3B.js.map} +1 -1
- package/dist/{Spinner-CYL5kyzM.mjs → Spinner-jF3-zoh_.mjs} +3 -3
- package/dist/{Spinner-CYL5kyzM.mjs.map → Spinner-jF3-zoh_.mjs.map} +1 -1
- package/dist/{TextLink-3MEVs3No.mjs → TextLink-BuzFRWO6.mjs} +3 -3
- package/dist/{TextLink-3MEVs3No.mjs.map → TextLink-BuzFRWO6.mjs.map} +1 -1
- package/dist/TextLink-C3xDLsbC.js +2 -0
- package/dist/{TextLink-DD0VO37q.js.map → TextLink-C3xDLsbC.js.map} +1 -1
- package/dist/{VisuallyHidden-AoRh4WRK.js → VisuallyHidden-CB6Nx76j.js} +2 -2
- package/dist/{VisuallyHidden-AoRh4WRK.js.map → VisuallyHidden-CB6Nx76j.js.map} +1 -1
- package/dist/{VisuallyHidden-ByNP7ZUI.mjs → VisuallyHidden-KH1biLx-.mjs} +2 -2
- package/dist/{VisuallyHidden-ByNP7ZUI.mjs.map → VisuallyHidden-KH1biLx-.mjs.map} +1 -1
- package/dist/accordion/index.d.mts +15 -0
- package/dist/accordion/index.js +1 -1
- package/dist/accordion/index.js.map +1 -1
- package/dist/accordion/index.mjs +90 -608
- package/dist/accordion/index.mjs.map +1 -1
- package/dist/alert-dialog/AlertDialogPortal.d.ts +1 -1
- package/dist/alert-dialog/index.d.mts +38 -0
- package/dist/alert-dialog/index.js +1 -34
- package/dist/alert-dialog/index.js.map +1 -1
- package/dist/alert-dialog/index.mjs +139 -2475
- package/dist/alert-dialog/index.mjs.map +1 -1
- package/dist/avatar/index.d.mts +15 -0
- package/dist/avatar/index.js +1 -1
- package/dist/avatar/index.js.map +1 -1
- package/dist/avatar/index.mjs +4 -4
- package/dist/badge/index.d.mts +1 -0
- package/dist/badge/index.js +1 -1
- package/dist/badge/index.js.map +1 -1
- package/dist/badge/index.mjs +6 -6
- package/dist/breadcrumb/index.d.mts +12 -0
- package/dist/breadcrumb/index.js +1 -1
- package/dist/breadcrumb/index.js.map +1 -1
- package/dist/breadcrumb/index.mjs +21 -21
- package/dist/button/Button.d.ts +1 -1
- package/dist/button/index.d.mts +1 -0
- package/dist/button/index.js +1 -1
- package/dist/button/index.mjs +1 -1
- package/dist/button/variants/index.d.mts +5 -0
- package/dist/card/index.d.mts +8 -0
- package/dist/card/index.js +1 -1
- package/dist/card/index.js.map +1 -1
- package/dist/card/index.mjs +2 -2
- package/dist/carousel/index.d.mts +19 -0
- package/dist/carousel/index.js +1 -1
- package/dist/carousel/index.js.map +1 -1
- package/dist/carousel/index.mjs +3 -3
- package/dist/checkbox/index.d.mts +2 -0
- package/dist/checkbox/index.js +1 -1
- package/dist/checkbox/index.js.map +1 -1
- package/dist/checkbox/index.mjs +128 -364
- package/dist/checkbox/index.mjs.map +1 -1
- package/dist/chip/index.d.mts +15 -0
- package/dist/chip/index.js +1 -1
- package/dist/chip/index.js.map +1 -1
- package/dist/chip/index.mjs +196 -370
- package/dist/chip/index.mjs.map +1 -1
- package/dist/chip/variants/index.d.mts +3 -0
- package/dist/collapsible/index.d.mts +7 -0
- package/dist/collapsible/index.js +1 -1
- package/dist/collapsible/index.js.map +1 -1
- package/dist/collapsible/index.mjs +38 -213
- package/dist/collapsible/index.mjs.map +1 -1
- package/dist/combobox/index.d.mts +35 -0
- package/dist/combobox/index.js +1 -1
- package/dist/combobox/index.js.map +1 -1
- package/dist/combobox/index.mjs +7 -7
- package/dist/combobox/utils/index.d.mts +14 -0
- package/dist/dialog/Dialog.d.ts +13 -13
- package/dist/dialog/DialogClose.d.ts +9 -8
- package/dist/dialog/DialogContent.d.ts +4 -4
- package/dist/dialog/DialogDescription.d.ts +3 -3
- package/dist/dialog/DialogOverlay.d.ts +5 -5
- package/dist/dialog/DialogPortal.d.ts +4 -4
- package/dist/dialog/DialogTitle.d.ts +3 -3
- package/dist/dialog/DialogTrigger.d.ts +5 -9
- package/dist/dialog/index.d.mts +37 -0
- package/dist/dialog/index.js +1 -1
- package/dist/dialog/index.js.map +1 -1
- package/dist/dialog/index.mjs +149 -159
- package/dist/dialog/index.mjs.map +1 -1
- package/dist/divider/index.d.mts +6 -0
- package/dist/divider/index.js +1 -1
- package/dist/divider/index.js.map +1 -1
- package/dist/divider/index.mjs +58 -76
- package/dist/divider/index.mjs.map +1 -1
- package/dist/drawer/Drawer.d.ts +12 -19
- package/dist/drawer/DrawerClose.d.ts +9 -5
- package/dist/drawer/DrawerContent.d.ts +5 -5
- package/dist/drawer/DrawerDescription.d.ts +4 -4
- package/dist/drawer/DrawerOverlay.d.ts +5 -5
- package/dist/drawer/DrawerPortal.d.ts +4 -4
- package/dist/drawer/DrawerTitle.d.ts +5 -5
- package/dist/drawer/DrawerTrigger.d.ts +5 -5
- package/dist/drawer/index.d.mts +37 -0
- package/dist/drawer/index.d.ts +2 -0
- package/dist/drawer/index.js +1 -1
- package/dist/drawer/index.js.map +1 -1
- package/dist/drawer/index.mjs +143 -114
- package/dist/drawer/index.mjs.map +1 -1
- package/dist/drawer/useRenderSlot.d.ts +3 -0
- package/dist/dropdown/index.d.mts +29 -0
- package/dist/dropdown/index.js +1 -1
- package/dist/dropdown/index.js.map +1 -1
- package/dist/dropdown/index.mjs +5 -5
- package/dist/file-upload/index.d.mts +22 -0
- package/dist/file-upload/index.js +1 -1
- package/dist/file-upload/index.js.map +1 -1
- package/dist/file-upload/index.mjs +6 -6
- package/dist/form-field/index.d.mts +31 -0
- package/dist/form-field/index.js +1 -1
- package/dist/form-field/index.js.map +1 -1
- package/dist/form-field/index.mjs +47 -47
- package/dist/icon/index.d.mts +1 -0
- package/dist/icon/index.js +1 -1
- package/dist/icon/index.mjs +1 -1
- package/dist/icon-button/index.d.mts +1 -0
- package/dist/icon-button/index.js +1 -1
- package/dist/icon-button/index.mjs +1 -1
- package/dist/input/index.d.mts +21 -0
- package/dist/input/index.js +1 -1
- package/dist/input/index.js.map +1 -1
- package/dist/input/index.mjs +4 -4
- package/dist/input-otp/index.d.mts +14 -0
- package/dist/input-otp/index.js +1 -1
- package/dist/input-otp/index.js.map +1 -1
- package/dist/input-otp/index.mjs +139 -137
- package/dist/input-otp/index.mjs.map +1 -1
- package/dist/kbd/index.d.mts +1 -0
- package/dist/label/index.d.mts +7 -0
- package/dist/label/index.js +1 -1
- package/dist/label/index.js.map +1 -1
- package/dist/label/index.mjs +37 -2
- package/dist/label/index.mjs.map +1 -1
- package/dist/link-box/index.d.mts +9 -0
- package/dist/link-box/index.js +1 -1
- package/dist/link-box/index.js.map +1 -1
- package/dist/link-box/index.mjs +7 -7
- package/dist/pagination/index.d.mts +18 -0
- package/dist/pagination/index.js +1 -1
- package/dist/pagination/index.js.map +1 -1
- package/dist/pagination/index.mjs +126 -844
- package/dist/pagination/index.mjs.map +1 -1
- package/dist/popover/index.d.mts +17 -0
- package/dist/popover/index.js +1 -1
- package/dist/popover/index.js.map +1 -1
- package/dist/popover/index.mjs +119 -1748
- package/dist/popover/index.mjs.map +1 -1
- package/dist/portal/index.d.mts +1 -0
- package/dist/portal/index.js +1 -1
- package/dist/portal/index.js.map +1 -1
- package/dist/portal/index.mjs +3 -3
- package/dist/portal/index.mjs.map +1 -1
- package/dist/progress/index.d.mts +13 -0
- package/dist/progress/index.js +1 -6
- package/dist/progress/index.js.map +1 -1
- package/dist/progress/index.mjs +87 -162
- package/dist/progress/index.mjs.map +1 -1
- package/dist/progress-tracker/index.d.mts +10 -0
- package/dist/progress-tracker/index.js +1 -1
- package/dist/progress-tracker/index.js.map +1 -1
- package/dist/progress-tracker/index.mjs +14 -14
- package/dist/radio-group/index.d.mts +7 -0
- package/dist/radio-group/index.js +1 -1
- package/dist/radio-group/index.js.map +1 -1
- package/dist/radio-group/index.mjs +85 -312
- package/dist/radio-group/index.mjs.map +1 -1
- package/dist/rating/index.d.mts +1 -0
- package/dist/rating/index.js +1 -1
- package/dist/rating/index.js.map +1 -1
- package/dist/rating/index.mjs +11 -11
- package/dist/scrolling-list/index.d.mts +15 -0
- package/dist/scrolling-list/index.js +1 -1
- package/dist/scrolling-list/index.js.map +1 -1
- package/dist/scrolling-list/index.mjs +168 -333
- package/dist/scrolling-list/index.mjs.map +1 -1
- package/dist/segmented-gauge/index.d.mts +13 -0
- package/dist/segmented-gauge/index.js +1 -1
- package/dist/segmented-gauge/index.js.map +1 -1
- package/dist/segmented-gauge/index.mjs +1 -1
- package/dist/select/index.d.mts +21 -0
- package/dist/select/index.js +1 -1
- package/dist/select/index.js.map +1 -1
- package/dist/select/index.mjs +21 -21
- package/dist/skeleton/index.d.mts +8 -0
- package/dist/skeleton/index.js +1 -1
- package/dist/skeleton/index.js.map +1 -1
- package/dist/skeleton/index.mjs +2 -2
- package/dist/slider/Slider.d.ts +6 -1
- package/dist/slider/SliderContext.d.ts +4 -1
- package/dist/slider/index.d.mts +8 -0
- package/dist/slider/index.js +1 -1
- package/dist/slider/index.js.map +1 -1
- package/dist/slider/index.mjs +96 -496
- package/dist/slider/index.mjs.map +1 -1
- package/dist/slot/index.d.mts +1 -0
- package/dist/slot/index.js +1 -1
- package/dist/slot/index.mjs +1 -1
- package/dist/snackbar/index.d.mts +13 -0
- package/dist/snackbar/index.js +1 -1
- package/dist/snackbar/index.js.map +1 -1
- package/dist/snackbar/index.mjs +189 -1105
- package/dist/snackbar/index.mjs.map +1 -1
- package/dist/spinner/index.d.mts +1 -0
- package/dist/spinner/index.js +1 -1
- package/dist/spinner/index.mjs +1 -1
- package/dist/stepper/index.d.mts +9 -0
- package/dist/stepper/index.js +1 -7
- package/dist/stepper/index.js.map +1 -1
- package/dist/stepper/index.mjs +137 -2317
- package/dist/stepper/index.mjs.map +1 -1
- package/dist/switch/index.d.mts +1 -0
- package/dist/switch/index.js +1 -1
- package/dist/switch/index.js.map +1 -1
- package/dist/switch/index.mjs +85 -208
- package/dist/switch/index.mjs.map +1 -1
- package/dist/tabs/index.d.mts +13 -0
- package/dist/tabs/index.js +1 -1
- package/dist/tabs/index.js.map +1 -1
- package/dist/tabs/index.mjs +179 -329
- package/dist/tabs/index.mjs.map +1 -1
- package/dist/tag/index.d.mts +1 -0
- package/dist/tag/index.js +1 -1
- package/dist/tag/index.js.map +1 -1
- package/dist/tag/index.mjs +2 -2
- package/dist/tag/variants/index.d.mts +3 -0
- package/dist/text-link/index.d.mts +1 -0
- package/dist/text-link/index.js +1 -1
- package/dist/text-link/index.mjs +1 -1
- package/dist/textarea/index.d.mts +14 -0
- package/dist/textarea/index.js +1 -1
- package/dist/textarea/index.js.map +1 -1
- package/dist/textarea/index.mjs +6 -6
- package/dist/toast/index.d.mts +20 -0
- package/dist/toast/index.js +1 -1
- package/dist/toast/index.js.map +1 -1
- package/dist/toast/index.mjs +146 -1008
- package/dist/toast/index.mjs.map +1 -1
- package/dist/useRenderSlot-DATwjgpo.js +2 -0
- package/dist/useRenderSlot-DATwjgpo.js.map +1 -0
- package/dist/useRenderSlot-LwWj8QbC.mjs +10 -0
- package/dist/useRenderSlot-LwWj8QbC.mjs.map +1 -0
- package/dist/visually-hidden/index.d.mts +1 -0
- package/dist/visually-hidden/index.js +1 -1
- package/dist/visually-hidden/index.mjs +1 -1
- package/package.json +7 -6
- package/dist/Button-C3xHNaGl.js +0 -2
- package/dist/DialogContent.styles-BrhKaHc_.js +0 -2
- package/dist/DialogContent.styles-BrhKaHc_.js.map +0 -1
- package/dist/DialogContent.styles-WGWJS9dj.mjs +0 -48
- package/dist/DialogContent.styles-WGWJS9dj.mjs.map +0 -1
- package/dist/Icon-Bf0XrmiR.js +0 -2
- package/dist/IconButton-Bf-EDzpI.js +0 -2
- package/dist/Slot-C98rL4yy.mjs +0 -14
- package/dist/Slot-ghrohQLA.js +0 -2
- package/dist/Spinner-DK8VEsaR.js +0 -2
- package/dist/TextLink-DD0VO37q.js +0 -2
- package/dist/composite-Br3kM5N9.mjs +0 -40
- package/dist/composite-Br3kM5N9.mjs.map +0 -1
- package/dist/composite-fJD9R7R0.js +0 -2
- package/dist/composite-fJD9R7R0.js.map +0 -1
- package/dist/detectBrowser-Bc7rk5fI.mjs +0 -44
- package/dist/detectBrowser-Bc7rk5fI.mjs.map +0 -1
- package/dist/detectBrowser-DTbs_30X.js +0 -2
- package/dist/detectBrowser-DTbs_30X.js.map +0 -1
- package/dist/downshift.esm-Ncwetv0s.mjs +0 -3038
- package/dist/downshift.esm-Ncwetv0s.mjs.map +0 -1
- package/dist/downshift.esm-PfCOUbxq.js +0 -37
- package/dist/downshift.esm-PfCOUbxq.js.map +0 -1
- package/dist/floating-ui.utils.dom-CCN4I08l.js +0 -2
- package/dist/floating-ui.utils.dom-CCN4I08l.js.map +0 -1
- package/dist/floating-ui.utils.dom-uiDUZc_y.mjs +0 -136
- package/dist/floating-ui.utils.dom-uiDUZc_y.mjs.map +0 -1
- package/dist/index-0KYGKeVg.js +0 -2
- package/dist/index-0KYGKeVg.js.map +0 -1
- package/dist/index-1WIgmEZh.js +0 -2
- package/dist/index-1WIgmEZh.js.map +0 -1
- package/dist/index-BRi38DTc.mjs +0 -21
- package/dist/index-BRi38DTc.mjs.map +0 -1
- package/dist/index-BZAtNKwE.mjs +0 -71
- package/dist/index-BZAtNKwE.mjs.map +0 -1
- package/dist/index-BZPx6jYI.mjs +0 -9
- package/dist/index-BZPx6jYI.mjs.map +0 -1
- package/dist/index-BlkdpEIe.mjs +0 -55
- package/dist/index-BlkdpEIe.mjs.map +0 -1
- package/dist/index-BmAFn37q.mjs +0 -49
- package/dist/index-BmAFn37q.mjs.map +0 -1
- package/dist/index-C-J_tHdS.js +0 -6
- package/dist/index-C-J_tHdS.js.map +0 -1
- package/dist/index-C1qb0595.mjs +0 -28
- package/dist/index-C1qb0595.mjs.map +0 -1
- package/dist/index-C34GgsKQ.mjs +0 -54
- package/dist/index-C34GgsKQ.mjs.map +0 -1
- package/dist/index-CCKe-Mpx.mjs +0 -7
- package/dist/index-CCKe-Mpx.mjs.map +0 -1
- package/dist/index-CDBBjNXc.js +0 -2
- package/dist/index-CDBBjNXc.js.map +0 -1
- package/dist/index-CYjGhVvU.mjs +0 -243
- package/dist/index-CYjGhVvU.mjs.map +0 -1
- package/dist/index-ChLwd62c.js +0 -2
- package/dist/index-ChLwd62c.js.map +0 -1
- package/dist/index-Cjj_rUPu.js +0 -2
- package/dist/index-Cjj_rUPu.js.map +0 -1
- package/dist/index-CyMbLkj0.js +0 -2
- package/dist/index-CyMbLkj0.js.map +0 -1
- package/dist/index-DFZozV_h.mjs +0 -69
- package/dist/index-DFZozV_h.mjs.map +0 -1
- package/dist/index-DKuHkHFX.js +0 -2
- package/dist/index-DKuHkHFX.js.map +0 -1
- package/dist/index-DLHLIYPI.mjs +0 -16
- package/dist/index-DLHLIYPI.mjs.map +0 -1
- package/dist/index-DO-atGp-.js +0 -2
- package/dist/index-DO-atGp-.js.map +0 -1
- package/dist/index-DWlg8lkk.mjs +0 -179
- package/dist/index-DWlg8lkk.mjs.map +0 -1
- package/dist/index-DYxWvftI.js +0 -2
- package/dist/index-DYxWvftI.js.map +0 -1
- package/dist/index-D_lWkK39.mjs +0 -803
- package/dist/index-D_lWkK39.mjs.map +0 -1
- package/dist/index-DdkVj7D0.js +0 -18
- package/dist/index-DdkVj7D0.js.map +0 -1
- package/dist/index-De-6atSi.js +0 -2
- package/dist/index-De-6atSi.js.map +0 -1
- package/dist/index-DhGWNzsz.mjs +0 -83
- package/dist/index-DhGWNzsz.mjs.map +0 -1
- package/dist/index-Dkj4QRX8.js +0 -2
- package/dist/index-Dkj4QRX8.js.map +0 -1
- package/dist/index-DlIFg0Eu.mjs +0 -60
- package/dist/index-DlIFg0Eu.mjs.map +0 -1
- package/dist/index-DnaHaH_0.js +0 -2
- package/dist/index-DnaHaH_0.js.map +0 -1
- package/dist/index-MHF2-CYX.js +0 -2
- package/dist/index-MHF2-CYX.js.map +0 -1
- package/dist/index-MQ0c3ZX_.js +0 -2
- package/dist/index-MQ0c3ZX_.js.map +0 -1
- package/dist/index-MSR-vgWR.mjs +0 -37
- package/dist/index-MSR-vgWR.mjs.map +0 -1
- package/dist/index-VL0YEmOW.mjs +0 -125
- package/dist/index-VL0YEmOW.mjs.map +0 -1
- package/dist/index-tXqxYME3.js +0 -42
- package/dist/index-tXqxYME3.js.map +0 -1
- package/dist/inertValue-Bif5Sqs6.mjs +0 -522
- package/dist/inertValue-Bif5Sqs6.mjs.map +0 -1
- package/dist/inertValue-ShwihJSN.js +0 -5
- package/dist/inertValue-ShwihJSN.js.map +0 -1
- package/dist/useCollapsiblePanel-D1dCo0lf.js +0 -4
- package/dist/useCollapsiblePanel-D1dCo0lf.js.map +0 -1
- package/dist/useCollapsiblePanel-kbMNl4Z4.mjs +0 -287
- package/dist/useCollapsiblePanel-kbMNl4Z4.mjs.map +0 -1
- package/dist/useFocusWithin-CFNEka2I.js +0 -2
- package/dist/useFocusWithin-CFNEka2I.js.map +0 -1
- package/dist/useFocusWithin-CoL4390f.mjs +0 -796
- package/dist/useFocusWithin-CoL4390f.mjs.map +0 -1
- package/dist/useOpenChangeComplete-Dk-u_f2y.js +0 -2
- package/dist/useOpenChangeComplete-Dk-u_f2y.js.map +0 -1
- package/dist/useOpenChangeComplete-RUbg6RBw.mjs +0 -582
- package/dist/useOpenChangeComplete-RUbg6RBw.mjs.map +0 -1
- package/dist/useTransitionStatus-CktVVKxz.mjs +0 -46
- package/dist/useTransitionStatus-CktVVKxz.mjs.map +0 -1
- package/dist/useTransitionStatus-CqbEyvIj.js +0 -2
- package/dist/useTransitionStatus-CqbEyvIj.js.map +0 -1
package/dist/select/index.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { jsx as r, jsxs as
|
|
2
|
-
import { useFormFieldControl as de } from "
|
|
1
|
+
import { jsx as r, jsxs as ce } from "react/jsx-runtime";
|
|
2
|
+
import { useFormFieldControl as de } from "@spark-ui/components/form-field";
|
|
3
3
|
import { useCombinedState as ue } from "@spark-ui/hooks/use-combined-state";
|
|
4
4
|
import { Children as A, isValidElement as D, createContext as $, useState as f, useId as me, useEffect as g, useContext as R } from "react";
|
|
5
|
-
import {
|
|
6
|
-
import { I as H } from "../Icon-
|
|
5
|
+
import { cx as C, cva as U } from "class-variance-authority";
|
|
6
|
+
import { I as H } from "../Icon-Ck-dhfLd.mjs";
|
|
7
7
|
import { ArrowHorizontalDown as pe } from "@spark-ui/icons/ArrowHorizontalDown";
|
|
8
8
|
const fe = (e) => (t) => A.toArray(e).filter(D).find((l) => w(l)?.includes(t)), w = (e) => e ? e.type.displayName : "", X = (e, t = []) => (A.forEach(e, (s) => {
|
|
9
9
|
if (D(s)) {
|
|
@@ -29,17 +29,17 @@ const fe = (e) => (t) => A.toArray(e).filter(D).find((l) => w(l)?.includes(t)),
|
|
|
29
29
|
onValueChange: l,
|
|
30
30
|
disabled: n = !1,
|
|
31
31
|
readOnly: o = !1,
|
|
32
|
-
state:
|
|
32
|
+
state: i,
|
|
33
33
|
itemsComponent: a,
|
|
34
|
-
name:
|
|
34
|
+
name: c,
|
|
35
35
|
required: b
|
|
36
36
|
}) => {
|
|
37
|
-
const [p, y] = ue(s, t, l), [v, S] = f(void 0), [u, I] = f(q(a)), [x, m] = f(), Q = u.entries().next()?.value?.[1], W = typeof p == "string" ? u.get(p) : Q, Y = s != null, d = de(), Z = d.state ||
|
|
37
|
+
const [p, y] = ue(s, t, l), [v, S] = f(void 0), [u, I] = f(q(a)), [x, m] = f(), Q = u.entries().next()?.value?.[1], W = typeof p == "string" ? u.get(p) : Q, Y = s != null, d = de(), Z = d.state || i, ee = `${ge}-field-${me()}`, te = d.id || ee, se = d.labelId, le = d.disabled ?? n, re = d.readOnly ?? o, ae = d.name ?? c, ne = !!(d.isRequired ?? b);
|
|
38
38
|
return g(() => {
|
|
39
39
|
const j = q(a), F = [...u.values()], N = [...j.values()];
|
|
40
40
|
(F.length !== N.length || F.some((M, T) => {
|
|
41
|
-
const oe = M.value !== N[T]?.value,
|
|
42
|
-
return oe ||
|
|
41
|
+
const oe = M.value !== N[T]?.value, ie = M.text !== N[T]?.text;
|
|
42
|
+
return oe || ie;
|
|
43
43
|
})) && I(j);
|
|
44
44
|
}, [e]), /* @__PURE__ */ r(
|
|
45
45
|
_.Provider,
|
|
@@ -149,9 +149,9 @@ const ve = U(
|
|
|
149
149
|
const {
|
|
150
150
|
state: n,
|
|
151
151
|
disabled: o,
|
|
152
|
-
readOnly:
|
|
152
|
+
readOnly: i,
|
|
153
153
|
ariaLabel: a,
|
|
154
|
-
fieldLabelId:
|
|
154
|
+
fieldLabelId: c,
|
|
155
155
|
isControlled: b,
|
|
156
156
|
onValueChange: p,
|
|
157
157
|
selectedItem: y,
|
|
@@ -167,12 +167,12 @@ const ve = U(
|
|
|
167
167
|
{
|
|
168
168
|
"data-spark-component": "select-items",
|
|
169
169
|
ref: s,
|
|
170
|
-
disabled: o ||
|
|
170
|
+
disabled: o || i,
|
|
171
171
|
name: S,
|
|
172
172
|
required: u,
|
|
173
|
-
"aria-labelledby":
|
|
173
|
+
"aria-labelledby": c,
|
|
174
174
|
...a && { "aria-label": a },
|
|
175
|
-
className: ve({ className: t, state: n, disabled: o, readOnly:
|
|
175
|
+
className: ve({ className: t, state: n, disabled: o, readOnly: i }),
|
|
176
176
|
value: y?.value,
|
|
177
177
|
onChange: x,
|
|
178
178
|
id: I,
|
|
@@ -262,19 +262,19 @@ const Se = U(
|
|
|
262
262
|
className: s,
|
|
263
263
|
ref: l
|
|
264
264
|
}) => {
|
|
265
|
-
const { disabled: n, readOnly: o, state:
|
|
265
|
+
const { disabled: n, readOnly: o, state: i, setAriaLabel: a, itemsComponent: c } = h();
|
|
266
266
|
return g(() => {
|
|
267
267
|
e && a(e);
|
|
268
|
-
}, [e]), /* @__PURE__ */
|
|
268
|
+
}, [e]), /* @__PURE__ */ ce(
|
|
269
269
|
"div",
|
|
270
270
|
{
|
|
271
271
|
"data-spark-component": "select-trigger",
|
|
272
272
|
ref: l,
|
|
273
|
-
className: Se({ className: s, state:
|
|
273
|
+
className: Se({ className: s, state: i, disabled: n, readOnly: o }),
|
|
274
274
|
children: [
|
|
275
275
|
/* @__PURE__ */ r("span", { className: "gap-md flex items-center justify-start", children: t }),
|
|
276
276
|
/* @__PURE__ */ r(H, { className: "ml-md shrink-0", size: "sm", children: /* @__PURE__ */ r(pe, {}) }),
|
|
277
|
-
|
|
277
|
+
c
|
|
278
278
|
]
|
|
279
279
|
}
|
|
280
280
|
);
|
|
@@ -286,7 +286,7 @@ const z = ({
|
|
|
286
286
|
placeholder: s,
|
|
287
287
|
ref: l
|
|
288
288
|
}) => {
|
|
289
|
-
const { selectedItem: n, placeholder: o, disabled:
|
|
289
|
+
const { selectedItem: n, placeholder: o, disabled: i } = h(), a = n?.value == null, c = s || o;
|
|
290
290
|
return /* @__PURE__ */ r(
|
|
291
291
|
"span",
|
|
292
292
|
{
|
|
@@ -299,9 +299,9 @@ const z = ({
|
|
|
299
299
|
{
|
|
300
300
|
className: C(
|
|
301
301
|
"line-clamp-1 flex-1 overflow-hidden break-all text-ellipsis",
|
|
302
|
-
a && !
|
|
302
|
+
a && !i && "text-on-surface/dim-1"
|
|
303
303
|
),
|
|
304
|
-
children: a ?
|
|
304
|
+
children: a ? c : e || n?.text
|
|
305
305
|
}
|
|
306
306
|
)
|
|
307
307
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Skeleton as Root } from './Skeleton';
|
|
2
|
+
import { SkeletonCircle as Circle, SkeletonLine as Line, SkeletonRectangle as Rectangle } from './SkeletonItem';
|
|
3
|
+
export declare const Skeleton: typeof Root & {
|
|
4
|
+
Circle: typeof Circle;
|
|
5
|
+
Line: typeof Line;
|
|
6
|
+
Rectangle: typeof Rectangle;
|
|
7
|
+
};
|
|
8
|
+
export type { SkeletonProps } from './Skeleton';
|
package/dist/skeleton/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),h=require("../VisuallyHidden-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),h=require("../VisuallyHidden-CB6Nx76j.js"),r=require("class-variance-authority"),S=r.cva([],{variants:{isAnimated:{true:["[mask-image:linear-gradient(90deg,#000_40%,rgba(0,0,0,.3)_60%,#000_100%)]","[mask-size:200%_100%]","animate-standalone-shimmer motion-reduce:animate-none!"],false:[]}},defaultVariants:{isAnimated:!0}}),p=({isAnimated:e=!0,label:a,className:t,children:n,ref:s,...g})=>l.jsxs("div",{ref:s,"data-spark-component":"skeleton",role:"presentation",className:S({isAnimated:e,className:t}),...g,children:[n,a&&l.jsx(h.VisuallyHidden,{children:a})]});p.displayName="Skeleton";const y=r.cva(["bg-neutral/dim-4","min-h-lg min-w-lg"],{variants:{shape:{line:["w-full [&:last-child:not(:first-child)]:w-5/6","rounded-lg"],rectangle:["rounded-sm"],circle:["flex-none","rounded-full"]}},defaultVariants:{shape:"rectangle"}}),f=r.cva(["flex flex-col","w-full"],{variants:{gap:{sm:"gap-sm",md:"gap-md",lg:"gap-lg",xl:"gap-xl","2xl":"gap-2xl","3xl":"gap-3xl"}},defaultVariants:{gap:"md"}}),i=e=>typeof e=="number"?`${e}px`:e,c=({shape:e,className:a,ref:t,...n})=>l.jsx("div",{ref:t,"aria-hidden":"true",className:y({shape:e,className:a}),...n}),o=({width:e="100%",height:a,...t})=>l.jsx(c,{style:{"--skeleton-rect-width":i(e),"--skeleton-rect-height":i(a)},className:"h-(--skeleton-rect-height) w-(--skeleton-rect-width)",...t,shape:"rectangle","data-shape":"rectangle"}),d=({size:e,...a})=>l.jsx(c,{style:{"--skeleton-circle-size":i(e)},className:"size-(--skeleton-circle-size)",...a,shape:"circle","data-shape":"circle"}),m=({lines:e=1,gap:a,className:t,...n})=>{const s=a||"md";return l.jsx("div",{className:f({gap:s,className:t}),"aria-hidden":"true",children:[...new Array(e)].map((g,k)=>l.jsx(c,{...n,shape:"line","data-shape":"line"},`line_${k}`))})};o.displayName="Skeleton.Rectangle";d.displayName="Skeleton.Circle";m.displayName="Skeleton.Line";const u=Object.assign(p,{Circle:d,Line:m,Rectangle:o});u.displayName="Skeleton";m.displayName="Skeleton.Line";d.displayName="Skeleton.Circle";o.displayName="Skeleton.Rectangle";exports.Skeleton=u;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/skeleton/Skeleton.styles.ts","../../src/skeleton/Skeleton.tsx","../../src/skeleton/SkeletonItem.styles.ts","../../src/skeleton/SkeletonItem.tsx","../../src/skeleton/index.ts"],"sourcesContent":["import { cva, VariantProps } from 'class-variance-authority'\n\nexport const skeletonStyles = cva([], {\n variants: {\n isAnimated: {\n true: [\n '[mask-image:linear-gradient(90deg,#000_40%,rgba(0,0,0,.3)_60%,#000_100%)]',\n '[mask-size:200%_100%]',\n 'animate-standalone-shimmer motion-reduce:animate-none!',\n ],\n false: [],\n },\n },\n defaultVariants: {\n isAnimated: true,\n },\n})\n\nexport type SkeletonStyleProps = ExcludeNull<VariantProps<typeof skeletonStyles>>\n","import { ComponentPropsWithRef, PropsWithChildren } from 'react'\n\nimport { VisuallyHidden } from '../visually-hidden'\nimport { type SkeletonStyleProps, skeletonStyles } from './Skeleton.styles'\n\nexport interface SkeletonProps extends ComponentPropsWithRef<'div'>, SkeletonStyleProps {\n /**\n * Displays an animated light effect.\n * @default true\n */\n isAnimated?: boolean\n /**\n * Adds an accessible fallback label.\n */\n label?: string\n}\n\nexport const Skeleton = ({\n isAnimated = true,\n label,\n className,\n children,\n ref: forwardedRef,\n ...rest\n}: PropsWithChildren<SkeletonProps>) => (\n <div\n ref={forwardedRef}\n data-spark-component=\"skeleton\"\n role=\"presentation\"\n className={skeletonStyles({ isAnimated, className })}\n {...rest}\n >\n {children}\n\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n </div>\n)\n\nSkeleton.displayName = 'Skeleton'\n","import { cva, VariantProps } from 'class-variance-authority'\n\nexport const skeletonItemStyles = cva(['bg-neutral/dim-4', 'min-h-lg min-w-lg'], {\n variants: {\n shape: {\n line: ['w-full [&:last-child:not(:first-child)]:w-5/6', 'rounded-lg'],\n rectangle: ['rounded-sm'],\n circle: ['flex-none', 'rounded-full'],\n },\n },\n defaultVariants: {\n shape: 'rectangle',\n },\n})\n\nexport const skeletonLineStyles = cva(['flex flex-col', 'w-full'], {\n variants: {\n gap: {\n sm: 'gap-sm',\n md: 'gap-md',\n lg: 'gap-lg',\n xl: 'gap-xl',\n '2xl': 'gap-2xl',\n '3xl': 'gap-3xl',\n },\n },\n defaultVariants: {\n gap: 'md',\n },\n})\n\nexport type SkeletonItemStyleProps = ExcludeNull<VariantProps<typeof skeletonItemStyles>>\n","import { ComponentPropsWithRef, CSSProperties } from 'react'\n\nimport {\n type SkeletonItemStyleProps,\n skeletonItemStyles,\n skeletonLineStyles,\n} from './SkeletonItem.styles'\n\ninterface SkeletonItemProps extends ComponentPropsWithRef<'div'>, SkeletonItemStyleProps {}\n\nexport type SkeletonRectangleProps = Omit<SkeletonItemProps, 'shape'> & {\n width?: string | number\n height?: string | number\n}\nexport type SkeletonCircleProps = Omit<SkeletonItemProps, 'shape'> & { size: string | number }\nexport type SkeletonLineProps = Omit<SkeletonItemProps, 'shape'> & {\n lines?: number\n /**\n * Sets the gaps between group items.\n */\n gap?: 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl'\n}\n\nconst getSizeValue = (size?: number | string): string | undefined => {\n if (typeof size === 'number') return `${size}px`\n\n return size\n}\n\nconst SkeletonItem = ({ shape, className, ref: forwardedRef, ...rest }: SkeletonItemProps) => {\n return (\n <div\n ref={forwardedRef}\n aria-hidden=\"true\"\n className={skeletonItemStyles({ shape, className })}\n {...rest}\n />\n )\n}\n\nexport const SkeletonRectangle = ({ width = '100%', height, ...rest }: SkeletonRectangleProps) => {\n return (\n <SkeletonItem\n style={\n {\n '--skeleton-rect-width': getSizeValue(width),\n '--skeleton-rect-height': getSizeValue(height),\n } as CSSProperties\n }\n className=\"h-(--skeleton-rect-height) w-(--skeleton-rect-width)\"\n {...rest}\n shape=\"rectangle\"\n data-shape=\"rectangle\"\n />\n )\n}\n\nexport const SkeletonCircle = ({ size, ...rest }: SkeletonCircleProps) => (\n <SkeletonItem\n style={{ '--skeleton-circle-size': getSizeValue(size) } as CSSProperties}\n className=\"size-(--skeleton-circle-size)\"\n {...rest}\n shape=\"circle\"\n data-shape=\"circle\"\n />\n)\n\nexport const SkeletonLine = ({\n lines = 1,\n gap: gapProp,\n className,\n ...rest\n}: SkeletonLineProps) => {\n const gap = gapProp || 'md'\n\n return (\n <div className={skeletonLineStyles({ gap, className })} aria-hidden=\"true\">\n {[...new Array(lines)].map((_, index) => (\n <SkeletonItem key={`line_${index}`} {...rest} shape=\"line\" data-shape=\"line\" />\n ))}\n </div>\n )\n}\n\nSkeletonRectangle.displayName = 'Skeleton.Rectangle'\nSkeletonCircle.displayName = 'Skeleton.Circle'\nSkeletonLine.displayName = 'Skeleton.Line'\n","import { Skeleton as Root } from './Skeleton'\nimport {\n SkeletonCircle as Circle,\n SkeletonLine as Line,\n SkeletonRectangle as Rectangle,\n} from './SkeletonItem'\n\nexport const Skeleton: typeof Root & {\n Circle: typeof Circle\n Line: typeof Line\n Rectangle: typeof Rectangle\n} = Object.assign(Root, {\n Circle,\n Line,\n Rectangle,\n})\n\nSkeleton.displayName = 'Skeleton'\nLine.displayName = 'Skeleton.Line'\nCircle.displayName = 'Skeleton.Circle'\nRectangle.displayName = 'Skeleton.Rectangle'\n\nexport type { SkeletonProps } from './Skeleton'\n"],"names":["skeletonStyles","cva","Skeleton","isAnimated","label","className","children","forwardedRef","rest","jsxs","jsx","VisuallyHidden","skeletonItemStyles","skeletonLineStyles","getSizeValue","size","SkeletonItem","shape","SkeletonRectangle","width","height","SkeletonCircle","SkeletonLine","lines","gapProp","gap","_","index","Root","Circle","Line","Rectangle"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/skeleton/Skeleton.styles.ts","../../src/skeleton/Skeleton.tsx","../../src/skeleton/SkeletonItem.styles.ts","../../src/skeleton/SkeletonItem.tsx","../../src/skeleton/index.ts"],"sourcesContent":["import { cva, VariantProps } from 'class-variance-authority'\n\nexport const skeletonStyles = cva([], {\n variants: {\n isAnimated: {\n true: [\n '[mask-image:linear-gradient(90deg,#000_40%,rgba(0,0,0,.3)_60%,#000_100%)]',\n '[mask-size:200%_100%]',\n 'animate-standalone-shimmer motion-reduce:animate-none!',\n ],\n false: [],\n },\n },\n defaultVariants: {\n isAnimated: true,\n },\n})\n\nexport type SkeletonStyleProps = ExcludeNull<VariantProps<typeof skeletonStyles>>\n","import { ComponentPropsWithRef, PropsWithChildren } from 'react'\n\nimport { VisuallyHidden } from '../visually-hidden'\nimport { type SkeletonStyleProps, skeletonStyles } from './Skeleton.styles'\n\nexport interface SkeletonProps extends ComponentPropsWithRef<'div'>, SkeletonStyleProps {\n /**\n * Displays an animated light effect.\n * @default true\n */\n isAnimated?: boolean\n /**\n * Adds an accessible fallback label.\n */\n label?: string\n}\n\nexport const Skeleton = ({\n isAnimated = true,\n label,\n className,\n children,\n ref: forwardedRef,\n ...rest\n}: PropsWithChildren<SkeletonProps>) => (\n <div\n ref={forwardedRef}\n data-spark-component=\"skeleton\"\n role=\"presentation\"\n className={skeletonStyles({ isAnimated, className })}\n {...rest}\n >\n {children}\n\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n </div>\n)\n\nSkeleton.displayName = 'Skeleton'\n","import { cva, VariantProps } from 'class-variance-authority'\n\nexport const skeletonItemStyles = cva(['bg-neutral/dim-4', 'min-h-lg min-w-lg'], {\n variants: {\n shape: {\n line: ['w-full [&:last-child:not(:first-child)]:w-5/6', 'rounded-lg'],\n rectangle: ['rounded-sm'],\n circle: ['flex-none', 'rounded-full'],\n },\n },\n defaultVariants: {\n shape: 'rectangle',\n },\n})\n\nexport const skeletonLineStyles = cva(['flex flex-col', 'w-full'], {\n variants: {\n gap: {\n sm: 'gap-sm',\n md: 'gap-md',\n lg: 'gap-lg',\n xl: 'gap-xl',\n '2xl': 'gap-2xl',\n '3xl': 'gap-3xl',\n },\n },\n defaultVariants: {\n gap: 'md',\n },\n})\n\nexport type SkeletonItemStyleProps = ExcludeNull<VariantProps<typeof skeletonItemStyles>>\n","import { ComponentPropsWithRef, CSSProperties } from 'react'\n\nimport {\n type SkeletonItemStyleProps,\n skeletonItemStyles,\n skeletonLineStyles,\n} from './SkeletonItem.styles'\n\ninterface SkeletonItemProps extends ComponentPropsWithRef<'div'>, SkeletonItemStyleProps {}\n\nexport type SkeletonRectangleProps = Omit<SkeletonItemProps, 'shape'> & {\n width?: string | number\n height?: string | number\n}\nexport type SkeletonCircleProps = Omit<SkeletonItemProps, 'shape'> & { size: string | number }\nexport type SkeletonLineProps = Omit<SkeletonItemProps, 'shape'> & {\n lines?: number\n /**\n * Sets the gaps between group items.\n */\n gap?: 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl'\n}\n\nconst getSizeValue = (size?: number | string): string | undefined => {\n if (typeof size === 'number') return `${size}px`\n\n return size\n}\n\nconst SkeletonItem = ({ shape, className, ref: forwardedRef, ...rest }: SkeletonItemProps) => {\n return (\n <div\n ref={forwardedRef}\n aria-hidden=\"true\"\n className={skeletonItemStyles({ shape, className })}\n {...rest}\n />\n )\n}\n\nexport const SkeletonRectangle = ({ width = '100%', height, ...rest }: SkeletonRectangleProps) => {\n return (\n <SkeletonItem\n style={\n {\n '--skeleton-rect-width': getSizeValue(width),\n '--skeleton-rect-height': getSizeValue(height),\n } as CSSProperties\n }\n className=\"h-(--skeleton-rect-height) w-(--skeleton-rect-width)\"\n {...rest}\n shape=\"rectangle\"\n data-shape=\"rectangle\"\n />\n )\n}\n\nexport const SkeletonCircle = ({ size, ...rest }: SkeletonCircleProps) => (\n <SkeletonItem\n style={{ '--skeleton-circle-size': getSizeValue(size) } as CSSProperties}\n className=\"size-(--skeleton-circle-size)\"\n {...rest}\n shape=\"circle\"\n data-shape=\"circle\"\n />\n)\n\nexport const SkeletonLine = ({\n lines = 1,\n gap: gapProp,\n className,\n ...rest\n}: SkeletonLineProps) => {\n const gap = gapProp || 'md'\n\n return (\n <div className={skeletonLineStyles({ gap, className })} aria-hidden=\"true\">\n {[...new Array(lines)].map((_, index) => (\n <SkeletonItem key={`line_${index}`} {...rest} shape=\"line\" data-shape=\"line\" />\n ))}\n </div>\n )\n}\n\nSkeletonRectangle.displayName = 'Skeleton.Rectangle'\nSkeletonCircle.displayName = 'Skeleton.Circle'\nSkeletonLine.displayName = 'Skeleton.Line'\n","import { Skeleton as Root } from './Skeleton'\nimport {\n SkeletonCircle as Circle,\n SkeletonLine as Line,\n SkeletonRectangle as Rectangle,\n} from './SkeletonItem'\n\nexport const Skeleton: typeof Root & {\n Circle: typeof Circle\n Line: typeof Line\n Rectangle: typeof Rectangle\n} = Object.assign(Root, {\n Circle,\n Line,\n Rectangle,\n})\n\nSkeleton.displayName = 'Skeleton'\nLine.displayName = 'Skeleton.Line'\nCircle.displayName = 'Skeleton.Circle'\nRectangle.displayName = 'Skeleton.Rectangle'\n\nexport type { SkeletonProps } from './Skeleton'\n"],"names":["skeletonStyles","cva","Skeleton","isAnimated","label","className","children","forwardedRef","rest","jsxs","jsx","VisuallyHidden","skeletonItemStyles","skeletonLineStyles","getSizeValue","size","SkeletonItem","shape","SkeletonRectangle","width","height","SkeletonCircle","SkeletonLine","lines","gapProp","gap","_","index","Root","Circle","Line","Rectangle"],"mappings":"sMAEaA,EAAiBC,EAAAA,IAAI,GAAI,CACpC,SAAU,CACR,WAAY,CACV,KAAM,CACJ,4EACA,wBACA,wDAAA,EAEF,MAAO,CAAA,CAAC,CACV,EAEF,gBAAiB,CACf,WAAY,EAAA,CAEhB,CAAC,ECCYC,EAAW,CAAC,CACvB,WAAAC,EAAa,GACb,MAAAC,EACA,UAAAC,EACA,SAAAC,EACA,IAAKC,EACL,GAAGC,CACL,IACEC,EAAAA,KAAC,MAAA,CACC,IAAKF,EACL,uBAAqB,WACrB,KAAK,eACL,UAAWP,EAAe,CAAE,WAAAG,EAAY,UAAAE,EAAW,EAClD,GAAGG,EAEH,SAAA,CAAAF,EAEAF,GAASM,EAAAA,IAACC,EAAAA,eAAA,CAAgB,SAAAP,CAAA,CAAM,CAAA,CAAA,CACnC,EAGFF,EAAS,YAAc,WCpChB,MAAMU,EAAqBX,EAAAA,IAAI,CAAC,mBAAoB,mBAAmB,EAAG,CAC/E,SAAU,CACR,MAAO,CACL,KAAM,CAAC,gDAAiD,YAAY,EACpE,UAAW,CAAC,YAAY,EACxB,OAAQ,CAAC,YAAa,cAAc,CAAA,CACtC,EAEF,gBAAiB,CACf,MAAO,WAAA,CAEX,CAAC,EAEYY,EAAqBZ,EAAAA,IAAI,CAAC,gBAAiB,QAAQ,EAAG,CACjE,SAAU,CACR,IAAK,CACH,GAAI,SACJ,GAAI,SACJ,GAAI,SACJ,GAAI,SACJ,MAAO,UACP,MAAO,SAAA,CACT,EAEF,gBAAiB,CACf,IAAK,IAAA,CAET,CAAC,ECNKa,EAAgBC,GAChB,OAAOA,GAAS,SAAiB,GAAGA,CAAI,KAErCA,EAGHC,EAAe,CAAC,CAAE,MAAAC,EAAO,UAAAZ,EAAW,IAAKE,EAAc,GAAGC,KAE5DE,EAAAA,IAAC,MAAA,CACC,IAAKH,EACL,cAAY,OACZ,UAAWK,EAAmB,CAAE,MAAAK,EAAO,UAAAZ,EAAW,EACjD,GAAGG,CAAA,CAAA,EAKGU,EAAoB,CAAC,CAAE,MAAAC,EAAQ,OAAQ,OAAAC,EAAQ,GAAGZ,KAE3DE,EAAAA,IAACM,EAAA,CACC,MACE,CACE,wBAAyBF,EAAaK,CAAK,EAC3C,yBAA0BL,EAAaM,CAAM,CAAA,EAGjD,UAAU,uDACT,GAAGZ,EACJ,MAAM,YACN,aAAW,WAAA,CAAA,EAKJa,EAAiB,CAAC,CAAE,KAAAN,EAAM,GAAGP,KACxCE,EAAAA,IAACM,EAAA,CACC,MAAO,CAAE,yBAA0BF,EAAaC,CAAI,CAAA,EACpD,UAAU,gCACT,GAAGP,EACJ,MAAM,SACN,aAAW,QAAA,CACb,EAGWc,EAAe,CAAC,CAC3B,MAAAC,EAAQ,EACR,IAAKC,EACL,UAAAnB,EACA,GAAGG,CACL,IAAyB,CACvB,MAAMiB,EAAMD,GAAW,KAEvB,OACEd,EAAAA,IAAC,MAAA,CAAI,UAAWG,EAAmB,CAAE,IAAAY,EAAK,UAAApB,CAAA,CAAW,EAAG,cAAY,OACjE,SAAA,CAAC,GAAG,IAAI,MAAMkB,CAAK,CAAC,EAAE,IAAI,CAACG,EAAGC,IAC7BjB,EAAAA,IAACM,GAAoC,GAAGR,EAAM,MAAM,OAAO,aAAW,MAAA,EAAnD,QAAQmB,CAAK,EAA6C,CAC9E,EACH,CAEJ,EAEAT,EAAkB,YAAc,qBAChCG,EAAe,YAAc,kBAC7BC,EAAa,YAAc,gBC/EpB,MAAMpB,EAIT,OAAO,OAAO0B,EAAM,CAAA,OACtBC,EAAA,KACAC,EAAA,UACAC,CACF,CAAC,EAED7B,EAAS,YAAc,WACvB4B,EAAK,YAAc,gBACnBD,EAAO,YAAc,kBACrBE,EAAU,YAAc"}
|
package/dist/skeleton/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs as h, jsx as l } from "react/jsx-runtime";
|
|
2
|
-
import { V as u } from "../VisuallyHidden-
|
|
3
|
-
import {
|
|
2
|
+
import { V as u } from "../VisuallyHidden-KH1biLx-.mjs";
|
|
3
|
+
import { cva as i } from "class-variance-authority";
|
|
4
4
|
const f = i([], {
|
|
5
5
|
variants: {
|
|
6
6
|
isAnimated: {
|
package/dist/slider/Slider.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ export interface SliderProps extends Omit<RadixSlider.SliderProps, 'dir' | 'orie
|
|
|
25
25
|
onValueCommit?: (value: number[]) => void;
|
|
26
26
|
/**
|
|
27
27
|
* The name of the slider. Submitted with its owning form as part of a name/value pair.
|
|
28
|
+
* If wrapped with a FormField with a name, will be inherited from it.
|
|
28
29
|
*/
|
|
29
30
|
name?: string;
|
|
30
31
|
/**
|
|
@@ -32,6 +33,10 @@ export interface SliderProps extends Omit<RadixSlider.SliderProps, 'dir' | 'orie
|
|
|
32
33
|
* @default false
|
|
33
34
|
*/
|
|
34
35
|
disabled?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Sets the slider as interactive or not.
|
|
38
|
+
*/
|
|
39
|
+
readOnly?: boolean;
|
|
35
40
|
/**
|
|
36
41
|
* The minimum value for the range.
|
|
37
42
|
* @default 0
|
|
@@ -50,6 +55,6 @@ export interface SliderProps extends Omit<RadixSlider.SliderProps, 'dir' | 'orie
|
|
|
50
55
|
ref?: Ref<HTMLDivElement>;
|
|
51
56
|
}
|
|
52
57
|
export declare const Slider: {
|
|
53
|
-
({ asChild, intent, shape, children, className, ref, ...rest }: SliderProps): import("react/jsx-runtime").JSX.Element;
|
|
58
|
+
({ asChild, intent, shape, children, className, ref, disabled: disabledProp, readOnly: readOnlyProp, name: nameProp, ...rest }: SliderProps): import("react/jsx-runtime").JSX.Element;
|
|
54
59
|
displayName: string;
|
|
55
60
|
};
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { SliderProps } from './Slider';
|
|
2
|
-
export type SliderContextInterface = Pick<SliderProps, 'intent' | 'shape'
|
|
2
|
+
export type SliderContextInterface = Pick<SliderProps, 'intent' | 'shape'> & {
|
|
3
|
+
fieldLabelId?: string;
|
|
4
|
+
fieldId?: string;
|
|
5
|
+
};
|
|
3
6
|
export declare const SliderContext: import('react').Context<SliderContextInterface>;
|
|
4
7
|
export declare const useSliderContext: () => SliderContextInterface;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Slider as Root, SliderProps } from './Slider';
|
|
2
|
+
import { SliderThumb as Thumb, SliderThumbProps } from './SliderThumb';
|
|
3
|
+
import { SliderTrack as Track, SliderTrackProps } from './SliderTrack';
|
|
4
|
+
export declare const Slider: typeof Root & {
|
|
5
|
+
Thumb: typeof Thumb;
|
|
6
|
+
Track: typeof Track;
|
|
7
|
+
};
|
|
8
|
+
export type { SliderProps, SliderThumbProps, SliderTrackProps };
|
package/dist/slider/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),K=require("../index-DnaHaH_0.js"),I=require("react"),D=require("../index-Dkj4QRX8.js"),_=require("../index-1WIgmEZh.js"),ge=require("../index-DO-atGp-.js"),G=require("../index-De-6atSi.js"),he=require("../index-DYxWvftI.js"),ve=require("../index-Cjj_rUPu.js"),V=require("../index-ChLwd62c.js");function xe(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const l=xe(I);function W(e,[t,n]){return Math.min(n,Math.max(t,e))}var J=["PageUp","PageDown"],Q=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],Z={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},M="Slider",[O,we,ye]=G.createCollection(M),[ee]=ge.createContextScope(M,[ye]),[Re,N]=ee(M),te=l.forwardRef((e,t)=>{const{name:n,min:r=0,max:a=100,step:i=1,orientation:s="horizontal",disabled:c=!1,minStepsBetweenThumbs:u=0,defaultValue:p=[r],value:f,onValueChange:o=()=>{},onValueCommit:m=()=>{},inverted:v=!1,form:y,...h}=e,S=l.useRef(new Set),b=l.useRef(0),x=s==="horizontal"?Pe:De,[g=[],T]=D.useControllableState({prop:f,defaultProp:p,onChange:w=>{[...S.current][b.current]?.focus(),o(w)}}),z=l.useRef(g);function A(w){const R=Te(g,w);j(w,R)}function be(w){j(w,b.current)}function Se(){const w=z.current[b.current];g[b.current]!==w&&m(g)}function j(w,R,{commit:B}={commit:!1}){const Y=Ke(i),H=Ie(Math.round((w-r)/i)*i+r,Y),k=W(H,[r,a]);T((C=[])=>{const P=_e(C,k,R);if(Ve(P,u*i)){b.current=P.indexOf(k);const X=String(P)!==String(C);return X&&B&&m(P),X?P:C}else return C})}return d.jsx(Re,{scope:e.__scopeSlider,name:n,disabled:c,min:r,max:a,valueIndexToChangeRef:b,thumbs:S.current,values:g,orientation:s,form:y,children:d.jsx(O.Provider,{scope:e.__scopeSlider,children:d.jsx(O.Slot,{scope:e.__scopeSlider,children:d.jsx(x,{"aria-disabled":c,"data-disabled":c?"":void 0,...h,ref:t,onPointerDown:D.composeEventHandlers(h.onPointerDown,()=>{c||(z.current=g)}),min:r,max:a,inverted:v,onSlideStart:c?void 0:A,onSlideMove:c?void 0:be,onSlideEnd:c?void 0:Se,onHomeKeyDown:()=>!c&&j(r,0,{commit:!0}),onEndKeyDown:()=>!c&&j(a,g.length-1,{commit:!0}),onStepKeyDown:({event:w,direction:R})=>{if(!c){const H=J.includes(w.key)||w.shiftKey&&Q.includes(w.key)?10:1,k=b.current,C=g[k],P=i*H*R;j(C+P,k,{commit:!0})}}})})})})});te.displayName=M;var[ne,re]=ee(M,{startEdge:"left",endEdge:"right",size:"width",direction:1}),Pe=l.forwardRef((e,t)=>{const{min:n,max:r,dir:a,inverted:i,onSlideStart:s,onSlideMove:c,onSlideEnd:u,onStepKeyDown:p,...f}=e,[o,m]=l.useState(null),v=_.useComposedRefs(t,x=>m(x)),y=l.useRef(void 0),h=G.useDirection(a),S=h==="ltr",b=S&&!i||!S&&i;function E(x){const g=y.current||o.getBoundingClientRect(),T=[0,g.width],A=L(T,b?[n,r]:[r,n]);return y.current=g,A(x-g.left)}return d.jsx(ne,{scope:e.__scopeSlider,startEdge:b?"left":"right",endEdge:b?"right":"left",direction:b?1:-1,size:"width",children:d.jsx(oe,{dir:h,"data-orientation":"horizontal",...f,ref:v,style:{...f.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:x=>{const g=E(x.clientX);s?.(g)},onSlideMove:x=>{const g=E(x.clientX);c?.(g)},onSlideEnd:()=>{y.current=void 0,u?.()},onStepKeyDown:x=>{const T=Z[b?"from-left":"from-right"].includes(x.key);p?.({event:x,direction:T?-1:1})}})})}),De=l.forwardRef((e,t)=>{const{min:n,max:r,inverted:a,onSlideStart:i,onSlideMove:s,onSlideEnd:c,onStepKeyDown:u,...p}=e,f=l.useRef(null),o=_.useComposedRefs(t,f),m=l.useRef(void 0),v=!a;function y(h){const S=m.current||f.current.getBoundingClientRect(),b=[0,S.height],x=L(b,v?[r,n]:[n,r]);return m.current=S,x(h-S.top)}return d.jsx(ne,{scope:e.__scopeSlider,startEdge:v?"bottom":"top",endEdge:v?"top":"bottom",size:"height",direction:v?1:-1,children:d.jsx(oe,{"data-orientation":"vertical",...p,ref:o,style:{...p.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:h=>{const S=y(h.clientY);i?.(S)},onSlideMove:h=>{const S=y(h.clientY);s?.(S)},onSlideEnd:()=>{m.current=void 0,c?.()},onStepKeyDown:h=>{const b=Z[v?"from-bottom":"from-top"].includes(h.key);u?.({event:h,direction:b?-1:1})}})})}),oe=l.forwardRef((e,t)=>{const{__scopeSlider:n,onSlideStart:r,onSlideMove:a,onSlideEnd:i,onHomeKeyDown:s,onEndKeyDown:c,onStepKeyDown:u,...p}=e,f=N(M,n);return d.jsx(V.Primitive.span,{...p,ref:t,onKeyDown:D.composeEventHandlers(e.onKeyDown,o=>{o.key==="Home"?(s(o),o.preventDefault()):o.key==="End"?(c(o),o.preventDefault()):J.concat(Q).includes(o.key)&&(u(o),o.preventDefault())}),onPointerDown:D.composeEventHandlers(e.onPointerDown,o=>{const m=o.target;m.setPointerCapture(o.pointerId),o.preventDefault(),f.thumbs.has(m)?m.focus():r(o)}),onPointerMove:D.composeEventHandlers(e.onPointerMove,o=>{o.target.hasPointerCapture(o.pointerId)&&a(o)}),onPointerUp:D.composeEventHandlers(e.onPointerUp,o=>{const m=o.target;m.hasPointerCapture(o.pointerId)&&(m.releasePointerCapture(o.pointerId),i(o))})})}),ae="SliderTrack",se=l.forwardRef((e,t)=>{const{__scopeSlider:n,...r}=e,a=N(ae,n);return d.jsx(V.Primitive.span,{"data-disabled":a.disabled?"":void 0,"data-orientation":a.orientation,...r,ref:t})});se.displayName=ae;var $="SliderRange",ie=l.forwardRef((e,t)=>{const{__scopeSlider:n,...r}=e,a=N($,n),i=re($,n),s=l.useRef(null),c=_.useComposedRefs(t,s),u=a.values.length,p=a.values.map(m=>de(m,a.min,a.max)),f=u>1?Math.min(...p):0,o=100-Math.max(...p);return d.jsx(V.Primitive.span,{"data-orientation":a.orientation,"data-disabled":a.disabled?"":void 0,...r,ref:c,style:{...e.style,[i.startEdge]:f+"%",[i.endEdge]:o+"%"}})});ie.displayName=$;var q="SliderThumb",ce=l.forwardRef((e,t)=>{const n=we(e.__scopeSlider),[r,a]=l.useState(null),i=_.useComposedRefs(t,c=>a(c)),s=l.useMemo(()=>r?n().findIndex(c=>c.ref.current===r):-1,[n,r]);return d.jsx(Ee,{...e,ref:i,index:s})}),Ee=l.forwardRef((e,t)=>{const{__scopeSlider:n,index:r,name:a,...i}=e,s=N(q,n),c=re(q,n),[u,p]=l.useState(null),f=_.useComposedRefs(t,E=>p(E)),o=u?s.form||!!u.closest("form"):!0,m=ve.useSize(u),v=s.values[r],y=v===void 0?0:de(v,s.min,s.max),h=Me(r,s.values.length),S=m?.[c.size],b=S?je(S,y,c.direction):0;return l.useEffect(()=>{if(u)return s.thumbs.add(u),()=>{s.thumbs.delete(u)}},[u,s.thumbs]),d.jsxs("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[c.startEdge]:`calc(${y}% + ${b}px)`},children:[d.jsx(O.ItemSlot,{scope:e.__scopeSlider,children:d.jsx(V.Primitive.span,{role:"slider","aria-label":e["aria-label"]||h,"aria-valuemin":s.min,"aria-valuenow":v,"aria-valuemax":s.max,"aria-orientation":s.orientation,"data-orientation":s.orientation,"data-disabled":s.disabled?"":void 0,tabIndex:s.disabled?void 0:0,...i,ref:f,style:v===void 0?{display:"none"}:e.style,onFocus:D.composeEventHandlers(e.onFocus,()=>{s.valueIndexToChangeRef.current=r})})}),o&&d.jsx(le,{name:a??(s.name?s.name+(s.values.length>1?"[]":""):void 0),form:s.form,value:v},r)]})});ce.displayName=q;var Ce="RadioBubbleInput",le=l.forwardRef(({__scopeSlider:e,value:t,...n},r)=>{const a=l.useRef(null),i=_.useComposedRefs(a,r),s=he.usePrevious(t);return l.useEffect(()=>{const c=a.current;if(!c)return;const u=window.HTMLInputElement.prototype,f=Object.getOwnPropertyDescriptor(u,"value").set;if(s!==t&&f){const o=new Event("input",{bubbles:!0});f.call(c,t),c.dispatchEvent(o)}},[s,t]),d.jsx(V.Primitive.input,{style:{display:"none"},...n,ref:i,defaultValue:t})});le.displayName=Ce;function _e(e=[],t,n){const r=[...e];return r[n]=t,r.sort((a,i)=>a-i)}function de(e,t,n){const i=100/(n-t)*(e-t);return W(i,[0,100])}function Me(e,t){return t>2?`Value ${e+1} of ${t}`:t===2?["Minimum","Maximum"][e]:void 0}function Te(e,t){if(e.length===1)return 0;const n=e.map(a=>Math.abs(a-t)),r=Math.min(...n);return n.indexOf(r)}function je(e,t,n){const r=e/2,i=L([0,50],[0,r]);return(r-i(t)*n)*n}function ke(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function Ve(e,t){if(t>0){const n=ke(e);return Math.min(...n)>=t}return!0}function L(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function Ke(e){return(String(e).split(".")[1]||"").length}function Ie(e,t){const n=Math.pow(10,t);return Math.round(e*n)/n}var Ne=te,ze=se,Ae=ie,Be=ce;const He=K.cva(["flex relative h-sz-24 items-center","touch-none select-none","data-disabled:cursor-not-allowed data-disabled:opacity-dim-3"]),ue=I.createContext({}),fe=()=>I.useContext(ue),me=({asChild:e=!1,intent:t="basic",shape:n="square",children:r,className:a,ref:i,...s})=>d.jsx(ue.Provider,{value:{intent:t,shape:n},children:d.jsx(Ne,{ref:i,"data-spark-component":"slider",asChild:e,className:He({className:a}),dir:"ltr",orientation:"horizontal",inverted:!1,minStepsBetweenThumbs:0,...s,children:r})});me.displayName="Slider";const Oe=K.cva(["block h-sz-24 w-sz-24 rounded-full cursor-pointer","outline-hidden","focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-focus","data-[interaction=pointerdown]:focus-visible:ring-0!","data-disabled:hover:ring-0 data-disabled:hover:after:w-0 data-disabled:hover:after:h-0 data-disabled:cursor-not-allowed","after:absolute after:left-1/2 after:top-1/2 after:-translate-x-1/2 after:-translate-y-1/2 after:z-hide","after:w-0 after:h-0 after:rounded-full after:border-solid after:border-sm after:transition-all duration-300","hover:after:w-sz-32 hover:after:h-sz-32"],{variants:{intent:{main:["bg-main","after:bg-main-container after:border-main"],support:["bg-support","after:bg-support-container after:border-support"],accent:["bg-accent","after:bg-accent-container after:border-accent"],basic:["bg-basic","after:bg-basic-container after:border-basic"],info:["bg-info","after:bg-info-container after:border-info"],neutral:["bg-neutral","after:bg-neutral-container after:border-neutral"],success:["bg-success","after:bg-success-container after:border-success"],alert:["bg-alert","after:bg-alert-container after:border-alert"],error:["bg-error","after:bg-error-container after:border-error"]}},defaultVariants:{intent:"basic"}}),U=({asChild:e=!1,className:t,onPointerDown:n,onKeyDown:r,onBlur:a,ref:i,...s})=>{const{intent:c}=fe(),u=I.useRef(null),p=i||u,f=o=>{typeof p=="function"||!p.current||(p.current.dataset.interaction=o.type)};return d.jsx(Be,{"data-spark-component":"slider-thumb",ref:p,asChild:e,onPointerDown:o=>{f(o),n?.(o)},onKeyDown:o=>{f(o),r?.(o)},onBlur:o=>{f(o),a?.(o)},className:Oe({intent:c,className:t}),...s})};U.displayName="Slider.Thumb";const $e=K.cva(["relative grow h-sz-4 bg-on-background/dim-4"],{variants:{shape:{rounded:"rounded-sm",square:"rounded-0"}},defaultVariants:{shape:"square"}}),qe=K.cva(["absolute h-full"],{variants:{intent:{main:["bg-main"],support:["bg-support"],accent:["bg-accent"],basic:["bg-basic"],info:["bg-info"],neutral:["bg-neutral"],success:["bg-success"],alert:["bg-alert"],error:["bg-error"]},shape:{rounded:"rounded-sm",square:"rounded-0"}},defaultVariants:{intent:"basic",shape:"square"}}),F=({asChild:e=!1,className:t,ref:n,...r})=>{const{intent:a,shape:i}=fe();return d.jsx(ze,{"data-spark-component":"slider-track",ref:n,asChild:e,className:$e({shape:i}),...r,children:d.jsx(Ae,{className:qe({intent:a,shape:i,className:t})})})};F.displayName="Slider.Track";const pe=Object.assign(me,{Thumb:U,Track:F});pe.displayName="Slider";U.displayName="Slider.Thumb";F.displayName="Slider.Track";exports.Slider=pe;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),w=require("@spark-ui/components/form-field"),b=require("radix-ui"),u=require("class-variance-authority"),h=require("react"),q=u.cva(["flex relative h-sz-24 items-center","touch-none select-none","data-disabled:cursor-not-allowed data-disabled:opacity-dim-3"]),S=h.createContext({}),x=()=>h.useContext(S),T=({asChild:n=!1,intent:s="basic",shape:i="square",children:o,className:d,ref:a,disabled:f,readOnly:g,name:m,...p})=>{const r=w.useFormFieldControl(),t=r.disabled??f,l=r.readOnly??g,e=r.name??m;return console.log("✅ field ",r.disabled),c.jsx(S.Provider,{value:{intent:s,shape:i,fieldLabelId:r.labelId,fieldId:r.id},children:c.jsx(b.Slider.Root,{ref:a,"data-spark-component":"slider",asChild:n,className:q({className:d}),dir:"ltr",orientation:"horizontal",inverted:!1,minStepsBetweenThumbs:0,disabled:t||l,name:e,"aria-describedby":r.description,"aria-invalid":r.isInvalid,...p,children:o})})};T.displayName="Slider";const N=u.cva(["block h-sz-24 w-sz-24 rounded-full cursor-pointer","outline-hidden","focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-focus","data-[interaction=pointerdown]:focus-visible:ring-0!","data-disabled:hover:ring-0 data-disabled:hover:after:w-0 data-disabled:hover:after:h-0 data-disabled:cursor-not-allowed","after:absolute after:left-1/2 after:top-1/2 after:-translate-x-1/2 after:-translate-y-1/2 after:z-hide","after:w-0 after:h-0 after:rounded-full after:border-solid after:border-sm after:transition-all duration-300","hover:after:w-sz-32 hover:after:h-sz-32"],{variants:{intent:{main:["bg-main","after:bg-main-container after:border-main"],support:["bg-support","after:bg-support-container after:border-support"],accent:["bg-accent","after:bg-accent-container after:border-accent"],basic:["bg-basic","after:bg-basic-container after:border-basic"],info:["bg-info","after:bg-info-container after:border-info"],neutral:["bg-neutral","after:bg-neutral-container after:border-neutral"],success:["bg-success","after:bg-success-container after:border-success"],alert:["bg-alert","after:bg-alert-container after:border-alert"],error:["bg-error","after:bg-error-container after:border-error"]}},defaultVariants:{intent:"basic"}}),v=({asChild:n=!1,className:s,onPointerDown:i,onKeyDown:o,onBlur:d,ref:a,...f})=>{const{intent:g,fieldLabelId:m,fieldId:p}=x(),r=h.useRef(null),t=a||r,l=e=>{typeof t=="function"||!t.current||(t.current.dataset.interaction=e.type)};return c.jsx(b.Slider.Thumb,{"data-spark-component":"slider-thumb",ref:t,asChild:n,id:p,onPointerDown:e=>{l(e),i?.(e)},onKeyDown:e=>{l(e),o?.(e)},onBlur:e=>{l(e),d?.(e)},className:N({intent:g,className:s}),"aria-labelledby":m,...f})};v.displayName="Slider.Thumb";const j=u.cva(["relative grow h-sz-4 bg-on-background/dim-4"],{variants:{shape:{rounded:"rounded-sm",square:"rounded-0"}},defaultVariants:{shape:"square"}}),z=u.cva(["absolute h-full"],{variants:{intent:{main:["bg-main"],support:["bg-support"],accent:["bg-accent"],basic:["bg-basic"],info:["bg-info"],neutral:["bg-neutral"],success:["bg-success"],alert:["bg-alert"],error:["bg-error"]},shape:{rounded:"rounded-sm",square:"rounded-0"}},defaultVariants:{intent:"basic",shape:"square"}}),y=({asChild:n=!1,className:s,ref:i,...o})=>{const{intent:d,shape:a}=x();return c.jsx(b.Slider.Track,{"data-spark-component":"slider-track",ref:i,asChild:n,className:j({shape:a}),...o,children:c.jsx(b.Slider.Range,{className:z({intent:d,shape:a,className:s})})})};y.displayName="Slider.Track";const k=Object.assign(T,{Thumb:v,Track:y});k.displayName="Slider";v.displayName="Slider.Thumb";y.displayName="Slider.Track";exports.Slider=k;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/slider/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../node_modules/@radix-ui/number/dist/index.mjs","../../../../node_modules/@radix-ui/react-slider/dist/index.mjs","../../src/slider/Slider.styles.ts","../../src/slider/SliderContext.tsx","../../src/slider/Slider.tsx","../../src/slider/SliderThumb.styles.ts","../../src/slider/SliderThumb.tsx","../../src/slider/SliderTrack.styles.ts","../../src/slider/SliderTrack.tsx","../../src/slider/index.ts"],"sourcesContent":["// packages/core/number/src/number.ts\nfunction clamp(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\nexport {\n clamp\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/slider.tsx\nimport * as React from \"react\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar PAGE_KEYS = [\"PageUp\", \"PageDown\"];\nvar ARROW_KEYS = [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"];\nvar BACK_KEYS = {\n \"from-left\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowLeft\"],\n \"from-right\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowRight\"],\n \"from-bottom\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowLeft\"],\n \"from-top\": [\"Home\", \"PageDown\", \"ArrowUp\", \"ArrowLeft\"]\n};\nvar SLIDER_NAME = \"Slider\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SLIDER_NAME);\nvar [createSliderContext, createSliderScope] = createContextScope(SLIDER_NAME, [\n createCollectionScope\n]);\nvar [SliderProvider, useSliderContext] = createSliderContext(SLIDER_NAME);\nvar Slider = React.forwardRef(\n (props, forwardedRef) => {\n const {\n name,\n min = 0,\n max = 100,\n step = 1,\n orientation = \"horizontal\",\n disabled = false,\n minStepsBetweenThumbs = 0,\n defaultValue = [min],\n value,\n onValueChange = () => {\n },\n onValueCommit = () => {\n },\n inverted = false,\n form,\n ...sliderProps\n } = props;\n const thumbRefs = React.useRef(/* @__PURE__ */ new Set());\n const valueIndexToChangeRef = React.useRef(0);\n const isHorizontal = orientation === \"horizontal\";\n const SliderOrientation = isHorizontal ? SliderHorizontal : SliderVertical;\n const [values = [], setValues] = useControllableState({\n prop: value,\n defaultProp: defaultValue,\n onChange: (value2) => {\n const thumbs = [...thumbRefs.current];\n thumbs[valueIndexToChangeRef.current]?.focus();\n onValueChange(value2);\n }\n });\n const valuesBeforeSlideStartRef = React.useRef(values);\n function handleSlideStart(value2) {\n const closestIndex = getClosestValueIndex(values, value2);\n updateValues(value2, closestIndex);\n }\n function handleSlideMove(value2) {\n updateValues(value2, valueIndexToChangeRef.current);\n }\n function handleSlideEnd() {\n const prevValue = valuesBeforeSlideStartRef.current[valueIndexToChangeRef.current];\n const nextValue = values[valueIndexToChangeRef.current];\n const hasChanged = nextValue !== prevValue;\n if (hasChanged) onValueCommit(values);\n }\n function updateValues(value2, atIndex, { commit } = { commit: false }) {\n const decimalCount = getDecimalCount(step);\n const snapToStep = roundValue(Math.round((value2 - min) / step) * step + min, decimalCount);\n const nextValue = clamp(snapToStep, [min, max]);\n setValues((prevValues = []) => {\n const nextValues = getNextSortedValues(prevValues, nextValue, atIndex);\n if (hasMinStepsBetweenValues(nextValues, minStepsBetweenThumbs * step)) {\n valueIndexToChangeRef.current = nextValues.indexOf(nextValue);\n const hasChanged = String(nextValues) !== String(prevValues);\n if (hasChanged && commit) onValueCommit(nextValues);\n return hasChanged ? nextValues : prevValues;\n } else {\n return prevValues;\n }\n });\n }\n return /* @__PURE__ */ jsx(\n SliderProvider,\n {\n scope: props.__scopeSlider,\n name,\n disabled,\n min,\n max,\n valueIndexToChangeRef,\n thumbs: thumbRefs.current,\n values,\n orientation,\n form,\n children: /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(\n SliderOrientation,\n {\n \"aria-disabled\": disabled,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...sliderProps,\n ref: forwardedRef,\n onPointerDown: composeEventHandlers(sliderProps.onPointerDown, () => {\n if (!disabled) valuesBeforeSlideStartRef.current = values;\n }),\n min,\n max,\n inverted,\n onSlideStart: disabled ? void 0 : handleSlideStart,\n onSlideMove: disabled ? void 0 : handleSlideMove,\n onSlideEnd: disabled ? void 0 : handleSlideEnd,\n onHomeKeyDown: () => !disabled && updateValues(min, 0, { commit: true }),\n onEndKeyDown: () => !disabled && updateValues(max, values.length - 1, { commit: true }),\n onStepKeyDown: ({ event, direction: stepDirection }) => {\n if (!disabled) {\n const isPageKey = PAGE_KEYS.includes(event.key);\n const isSkipKey = isPageKey || event.shiftKey && ARROW_KEYS.includes(event.key);\n const multiplier = isSkipKey ? 10 : 1;\n const atIndex = valueIndexToChangeRef.current;\n const value2 = values[atIndex];\n const stepInDirection = step * multiplier * stepDirection;\n updateValues(value2 + stepInDirection, atIndex, { commit: true });\n }\n }\n }\n ) }) })\n }\n );\n }\n);\nSlider.displayName = SLIDER_NAME;\nvar [SliderOrientationProvider, useSliderOrientationContext] = createSliderContext(SLIDER_NAME, {\n startEdge: \"left\",\n endEdge: \"right\",\n size: \"width\",\n direction: 1\n});\nvar SliderHorizontal = React.forwardRef(\n (props, forwardedRef) => {\n const {\n min,\n max,\n dir,\n inverted,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const [slider, setSlider] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setSlider(node));\n const rectRef = React.useRef(void 0);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === \"ltr\";\n const isSlidingFromLeft = isDirectionLTR && !inverted || !isDirectionLTR && inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || slider.getBoundingClientRect();\n const input = [0, rect.width];\n const output = isSlidingFromLeft ? [min, max] : [max, min];\n const value = linearScale(input, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.left);\n }\n return /* @__PURE__ */ jsx(\n SliderOrientationProvider,\n {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromLeft ? \"left\" : \"right\",\n endEdge: isSlidingFromLeft ? \"right\" : \"left\",\n direction: isSlidingFromLeft ? 1 : -1,\n size: \"width\",\n children: /* @__PURE__ */ jsx(\n SliderImpl,\n {\n dir: direction,\n \"data-orientation\": \"horizontal\",\n ...sliderProps,\n ref: composedRefs,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateX(-50%)\"\n },\n onSlideStart: (event) => {\n const value = getValueFromPointer(event.clientX);\n onSlideStart?.(value);\n },\n onSlideMove: (event) => {\n const value = getValueFromPointer(event.clientX);\n onSlideMove?.(value);\n },\n onSlideEnd: () => {\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event) => {\n const slideDirection = isSlidingFromLeft ? \"from-left\" : \"from-right\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 });\n }\n }\n )\n }\n );\n }\n);\nvar SliderVertical = React.forwardRef(\n (props, forwardedRef) => {\n const {\n min,\n max,\n inverted,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const sliderRef = React.useRef(null);\n const ref = useComposedRefs(forwardedRef, sliderRef);\n const rectRef = React.useRef(void 0);\n const isSlidingFromBottom = !inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || sliderRef.current.getBoundingClientRect();\n const input = [0, rect.height];\n const output = isSlidingFromBottom ? [max, min] : [min, max];\n const value = linearScale(input, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.top);\n }\n return /* @__PURE__ */ jsx(\n SliderOrientationProvider,\n {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromBottom ? \"bottom\" : \"top\",\n endEdge: isSlidingFromBottom ? \"top\" : \"bottom\",\n size: \"height\",\n direction: isSlidingFromBottom ? 1 : -1,\n children: /* @__PURE__ */ jsx(\n SliderImpl,\n {\n \"data-orientation\": \"vertical\",\n ...sliderProps,\n ref,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateY(50%)\"\n },\n onSlideStart: (event) => {\n const value = getValueFromPointer(event.clientY);\n onSlideStart?.(value);\n },\n onSlideMove: (event) => {\n const value = getValueFromPointer(event.clientY);\n onSlideMove?.(value);\n },\n onSlideEnd: () => {\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event) => {\n const slideDirection = isSlidingFromBottom ? \"from-bottom\" : \"from-top\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 });\n }\n }\n )\n }\n );\n }\n);\nvar SliderImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSlider,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onHomeKeyDown,\n onEndKeyDown,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const context = useSliderContext(SLIDER_NAME, __scopeSlider);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...sliderProps,\n ref: forwardedRef,\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Home\") {\n onHomeKeyDown(event);\n event.preventDefault();\n } else if (event.key === \"End\") {\n onEndKeyDown(event);\n event.preventDefault();\n } else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {\n onStepKeyDown(event);\n event.preventDefault();\n }\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const target = event.target;\n target.setPointerCapture(event.pointerId);\n event.preventDefault();\n if (context.thumbs.has(target)) {\n target.focus();\n } else {\n onSlideStart(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) onSlideMove(event);\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n onSlideEnd(event);\n }\n })\n }\n );\n }\n);\nvar TRACK_NAME = \"SliderTrack\";\nvar SliderTrack = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, ...trackProps } = props;\n const context = useSliderContext(TRACK_NAME, __scopeSlider);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-disabled\": context.disabled ? \"\" : void 0,\n \"data-orientation\": context.orientation,\n ...trackProps,\n ref: forwardedRef\n }\n );\n }\n);\nSliderTrack.displayName = TRACK_NAME;\nvar RANGE_NAME = \"SliderRange\";\nvar SliderRange = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, ...rangeProps } = props;\n const context = useSliderContext(RANGE_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(RANGE_NAME, __scopeSlider);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const valuesCount = context.values.length;\n const percentages = context.values.map(\n (value) => convertValueToPercentage(value, context.min, context.max)\n );\n const offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0;\n const offsetEnd = 100 - Math.max(...percentages);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...rangeProps,\n ref: composedRefs,\n style: {\n ...props.style,\n [orientation.startEdge]: offsetStart + \"%\",\n [orientation.endEdge]: offsetEnd + \"%\"\n }\n }\n );\n }\n);\nSliderRange.displayName = RANGE_NAME;\nvar THUMB_NAME = \"SliderThumb\";\nvar SliderThumb = React.forwardRef(\n (props, forwardedRef) => {\n const getItems = useCollection(props.__scopeSlider);\n const [thumb, setThumb] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node));\n const index = React.useMemo(\n () => thumb ? getItems().findIndex((item) => item.ref.current === thumb) : -1,\n [getItems, thumb]\n );\n return /* @__PURE__ */ jsx(SliderThumbImpl, { ...props, ref: composedRefs, index });\n }\n);\nvar SliderThumbImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, index, name, ...thumbProps } = props;\n const context = useSliderContext(THUMB_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(THUMB_NAME, __scopeSlider);\n const [thumb, setThumb] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node));\n const isFormControl = thumb ? context.form || !!thumb.closest(\"form\") : true;\n const size = useSize(thumb);\n const value = context.values[index];\n const percent = value === void 0 ? 0 : convertValueToPercentage(value, context.min, context.max);\n const label = getLabel(index, context.values.length);\n const orientationSize = size?.[orientation.size];\n const thumbInBoundsOffset = orientationSize ? getThumbInBoundsOffset(orientationSize, percent, orientation.direction) : 0;\n React.useEffect(() => {\n if (thumb) {\n context.thumbs.add(thumb);\n return () => {\n context.thumbs.delete(thumb);\n };\n }\n }, [thumb, context.thumbs]);\n return /* @__PURE__ */ jsxs(\n \"span\",\n {\n style: {\n transform: \"var(--radix-slider-thumb-transform)\",\n position: \"absolute\",\n [orientation.startEdge]: `calc(${percent}% + ${thumbInBoundsOffset}px)`\n },\n children: [\n /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n role: \"slider\",\n \"aria-label\": props[\"aria-label\"] || label,\n \"aria-valuemin\": context.min,\n \"aria-valuenow\": value,\n \"aria-valuemax\": context.max,\n \"aria-orientation\": context.orientation,\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n tabIndex: context.disabled ? void 0 : 0,\n ...thumbProps,\n ref: composedRefs,\n style: value === void 0 ? { display: \"none\" } : props.style,\n onFocus: composeEventHandlers(props.onFocus, () => {\n context.valueIndexToChangeRef.current = index;\n })\n }\n ) }),\n isFormControl && /* @__PURE__ */ jsx(\n SliderBubbleInput,\n {\n name: name ?? (context.name ? context.name + (context.values.length > 1 ? \"[]\" : \"\") : void 0),\n form: context.form,\n value\n },\n index\n )\n ]\n }\n );\n }\n);\nSliderThumb.displayName = THUMB_NAME;\nvar BUBBLE_INPUT_NAME = \"RadioBubbleInput\";\nvar SliderBubbleInput = React.forwardRef(\n ({ __scopeSlider, value, ...props }, forwardedRef) => {\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const prevValue = usePrevious(value);\n React.useEffect(() => {\n const input = ref.current;\n if (!input) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, \"value\");\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"input\", { bubbles: true });\n setValue.call(input, value);\n input.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ jsx(\n Primitive.input,\n {\n style: { display: \"none\" },\n ...props,\n ref: composedRefs,\n defaultValue: value\n }\n );\n }\n);\nSliderBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction getNextSortedValues(prevValues = [], nextValue, atIndex) {\n const nextValues = [...prevValues];\n nextValues[atIndex] = nextValue;\n return nextValues.sort((a, b) => a - b);\n}\nfunction convertValueToPercentage(value, min, max) {\n const maxSteps = max - min;\n const percentPerStep = 100 / maxSteps;\n const percentage = percentPerStep * (value - min);\n return clamp(percentage, [0, 100]);\n}\nfunction getLabel(index, totalValues) {\n if (totalValues > 2) {\n return `Value ${index + 1} of ${totalValues}`;\n } else if (totalValues === 2) {\n return [\"Minimum\", \"Maximum\"][index];\n } else {\n return void 0;\n }\n}\nfunction getClosestValueIndex(values, nextValue) {\n if (values.length === 1) return 0;\n const distances = values.map((value) => Math.abs(value - nextValue));\n const closestDistance = Math.min(...distances);\n return distances.indexOf(closestDistance);\n}\nfunction getThumbInBoundsOffset(width, left, direction) {\n const halfWidth = width / 2;\n const halfPercent = 50;\n const offset = linearScale([0, halfPercent], [0, halfWidth]);\n return (halfWidth - offset(left) * direction) * direction;\n}\nfunction getStepsBetweenValues(values) {\n return values.slice(0, -1).map((value, index) => values[index + 1] - value);\n}\nfunction hasMinStepsBetweenValues(values, minStepsBetweenValues) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values);\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);\n return actualMinStepsBetweenValues >= minStepsBetweenValues;\n }\n return true;\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction getDecimalCount(value) {\n return (String(value).split(\".\")[1] || \"\").length;\n}\nfunction roundValue(value, decimalCount) {\n const rounder = Math.pow(10, decimalCount);\n return Math.round(value * rounder) / rounder;\n}\nvar Root = Slider;\nvar Track = SliderTrack;\nvar Range = SliderRange;\nvar Thumb = SliderThumb;\nexport {\n Range,\n Root,\n Slider,\n SliderRange,\n SliderThumb,\n SliderTrack,\n Thumb,\n Track,\n createSliderScope\n};\n//# sourceMappingURL=index.mjs.map\n","import { cva } from 'class-variance-authority'\n\nexport const rootStyles = cva([\n 'flex relative h-sz-24 items-center',\n 'touch-none select-none',\n 'data-disabled:cursor-not-allowed data-disabled:opacity-dim-3',\n])\n","import { createContext, useContext } from 'react'\n\nimport type { SliderProps } from './Slider'\n\nexport type SliderContextInterface = Pick<SliderProps, 'intent' | 'shape'>\n\nexport const SliderContext = createContext<SliderContextInterface>({} as SliderContextInterface)\n\nexport const useSliderContext = () => useContext(SliderContext)\n","import { Slider as RadixSlider } from 'radix-ui'\nimport { type PropsWithChildren, Ref } from 'react'\n\nimport { rootStyles } from './Slider.styles'\nimport { SliderContext } from './SliderContext'\nimport type { SliderRangeVariantsProps } from './SliderTrack.styles'\n\nexport interface SliderProps\n extends Omit<\n RadixSlider.SliderProps,\n 'dir' | 'orientation' | 'inverted' | 'minStepsBetweenThumbs'\n >,\n PropsWithChildren<SliderRangeVariantsProps> {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n * @default false\n */\n asChild?: boolean\n /**\n * The value of the slider when initially rendered. Use when you do not need to control the state of the slider.\n */\n defaultValue?: number[]\n /**\n * The controlled value of the slider. Must be used in conjunction with `onValueChange`.\n */\n value?: number[]\n /**\n * Event handler called when the value changes.\n */\n onValueChange?: (value: number[]) => void\n /**\n * Event handler called when the value changes at the end of an interaction. Useful when you only need to capture a final value e.g. to update a backend service.\n */\n onValueCommit?: (value: number[]) => void\n /**\n * The name of the slider. Submitted with its owning form as part of a name/value pair.\n */\n name?: string\n /**\n * When `true`, prevents the user from interacting with the slider.\n * @default false\n */\n disabled?: boolean\n /**\n * The minimum value for the range.\n * @default 0\n */\n min?: number\n /**\n * The maximum value for the range.\n * @default 100\n */\n max?: number\n /**\n * The stepping interval.\n * @default 1\n */\n step?: number\n ref?: Ref<HTMLDivElement>\n}\n\nexport const Slider = ({\n asChild = false,\n intent = 'basic',\n shape = 'square',\n children,\n className,\n ref,\n ...rest\n}: SliderProps) => (\n <SliderContext.Provider value={{ intent, shape }}>\n <RadixSlider.Root\n ref={ref}\n data-spark-component=\"slider\"\n asChild={asChild}\n className={rootStyles({ className })}\n dir=\"ltr\"\n orientation=\"horizontal\"\n inverted={false}\n minStepsBetweenThumbs={0}\n {...rest}\n >\n {children}\n </RadixSlider.Root>\n </SliderContext.Provider>\n)\n\nSlider.displayName = 'Slider'\n","import { cva, VariantProps } from 'class-variance-authority'\n\nexport const thumbVariants = cva(\n [\n 'block h-sz-24 w-sz-24 rounded-full cursor-pointer',\n 'outline-hidden',\n 'focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-focus',\n 'data-[interaction=pointerdown]:focus-visible:ring-0!',\n 'data-disabled:hover:ring-0 data-disabled:hover:after:w-0 data-disabled:hover:after:h-0 data-disabled:cursor-not-allowed',\n 'after:absolute after:left-1/2 after:top-1/2 after:-translate-x-1/2 after:-translate-y-1/2 after:z-hide',\n 'after:w-0 after:h-0 after:rounded-full after:border-solid after:border-sm after:transition-all duration-300',\n 'hover:after:w-sz-32 hover:after:h-sz-32',\n ],\n {\n variants: {\n intent: {\n main: ['bg-main', 'after:bg-main-container after:border-main'],\n support: ['bg-support', 'after:bg-support-container after:border-support'],\n accent: ['bg-accent', 'after:bg-accent-container after:border-accent'],\n basic: ['bg-basic', 'after:bg-basic-container after:border-basic'],\n info: ['bg-info', 'after:bg-info-container after:border-info'],\n neutral: ['bg-neutral', 'after:bg-neutral-container after:border-neutral'],\n success: ['bg-success', 'after:bg-success-container after:border-success'],\n alert: ['bg-alert', 'after:bg-alert-container after:border-alert'],\n error: ['bg-error', 'after:bg-error-container after:border-error'],\n },\n },\n defaultVariants: {\n intent: 'basic',\n },\n }\n)\n\nexport type SliderThumbVariantsProps = VariantProps<typeof thumbVariants>\n","import { Slider as RadixSlider } from 'radix-ui'\nimport { type FocusEvent, type KeyboardEvent, type PointerEvent, Ref, useRef } from 'react'\n\nimport { useSliderContext } from './SliderContext'\nimport { thumbVariants } from './SliderThumb.styles'\n\nexport interface SliderThumbProps extends RadixSlider.SliderThumbProps {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n * @default false\n */\n asChild?: boolean\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const SliderThumb = ({\n asChild = false,\n className,\n onPointerDown,\n onKeyDown,\n onBlur,\n ref: forwardedRef,\n ...rest\n}: SliderThumbProps) => {\n const { intent } = useSliderContext()\n\n const innerRef = useRef(null)\n const ref = forwardedRef || innerRef\n\n const setInteractionType = (e: KeyboardEvent | FocusEvent | PointerEvent) => {\n /**\n * Radix Slider implementation uses `.focus()` and thus prevent us to handle\n * distinctively focus/focus-visible styles. So we use a `data-interaction` attribute to stay\n * aware of the type of event, and adapt styles if needed.\n */\n if (typeof ref === 'function' || !ref.current) return\n ref.current.dataset.interaction = e.type\n }\n\n return (\n <RadixSlider.Thumb\n data-spark-component=\"slider-thumb\"\n ref={ref}\n asChild={asChild}\n onPointerDown={(e: PointerEvent<HTMLSpanElement>) => {\n setInteractionType(e)\n onPointerDown?.(e)\n }}\n onKeyDown={(e: KeyboardEvent<HTMLSpanElement>) => {\n setInteractionType(e)\n onKeyDown?.(e)\n }}\n onBlur={(e: FocusEvent<HTMLSpanElement>) => {\n setInteractionType(e)\n onBlur?.(e)\n }}\n className={thumbVariants({ intent, className })}\n {...rest}\n />\n )\n}\n\nSliderThumb.displayName = 'Slider.Thumb'\n","import { cva, VariantProps } from 'class-variance-authority'\n\nexport const trackVariants = cva(['relative grow h-sz-4 bg-on-background/dim-4'], {\n variants: {\n shape: {\n rounded: 'rounded-sm',\n square: 'rounded-0',\n },\n },\n defaultVariants: {\n shape: 'square',\n },\n})\n\nexport const rangeVariants = cva(['absolute h-full'], {\n variants: {\n intent: {\n main: ['bg-main'],\n support: ['bg-support'],\n accent: ['bg-accent'],\n basic: ['bg-basic'],\n info: ['bg-info'],\n neutral: ['bg-neutral'],\n success: ['bg-success'],\n alert: ['bg-alert'],\n error: ['bg-error'],\n },\n shape: {\n rounded: 'rounded-sm',\n square: 'rounded-0',\n },\n },\n defaultVariants: {\n intent: 'basic',\n shape: 'square',\n },\n})\n\nexport type SliderRangeVariantsProps = VariantProps<typeof rangeVariants>\n","import { Slider as RadixSlider } from 'radix-ui'\nimport { Ref } from 'react'\n\nimport { useSliderContext } from './SliderContext'\nimport { rangeVariants, trackVariants } from './SliderTrack.styles'\n\nexport interface SliderTrackProps\n extends RadixSlider.SliderTrackProps,\n RadixSlider.SliderRangeProps {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n * @default false\n */\n asChild?: boolean\n ref?: Ref<HTMLDivElement>\n}\n\nexport const SliderTrack = ({ asChild = false, className, ref, ...rest }: SliderTrackProps) => {\n const { intent, shape } = useSliderContext()\n\n return (\n <RadixSlider.Track\n data-spark-component=\"slider-track\"\n ref={ref}\n asChild={asChild}\n className={trackVariants({ shape })}\n {...rest}\n >\n <RadixSlider.Range className={rangeVariants({ intent, shape, className })} />\n </RadixSlider.Track>\n )\n}\n\nSliderTrack.displayName = 'Slider.Track'\n","import { Slider as Root, type SliderProps } from './Slider'\nimport { SliderThumb as Thumb, type SliderThumbProps } from './SliderThumb'\nimport { SliderTrack as Track, type SliderTrackProps } from './SliderTrack'\n\nexport const Slider: typeof Root & {\n Thumb: typeof Thumb\n Track: typeof Track\n} = Object.assign(Root, {\n Thumb,\n Track,\n})\n\nSlider.displayName = 'Slider'\nThumb.displayName = 'Slider.Thumb'\nTrack.displayName = 'Slider.Track'\n\nexport type { SliderProps, SliderThumbProps, SliderTrackProps }\n"],"names":["clamp","value","min","max","PAGE_KEYS","ARROW_KEYS","BACK_KEYS","SLIDER_NAME","Collection","useCollection","createCollectionScope","createCollection","createSliderContext","createContextScope","SliderProvider","useSliderContext","Slider","React","props","forwardedRef","name","step","orientation","disabled","minStepsBetweenThumbs","defaultValue","onValueChange","onValueCommit","inverted","form","sliderProps","thumbRefs","valueIndexToChangeRef","SliderOrientation","SliderHorizontal","SliderVertical","values","setValues","useControllableState","value2","valuesBeforeSlideStartRef","handleSlideStart","closestIndex","getClosestValueIndex","updateValues","handleSlideMove","handleSlideEnd","prevValue","atIndex","commit","decimalCount","getDecimalCount","snapToStep","roundValue","nextValue","prevValues","nextValues","getNextSortedValues","hasMinStepsBetweenValues","hasChanged","jsx","composeEventHandlers","event","stepDirection","multiplier","stepInDirection","SliderOrientationProvider","useSliderOrientationContext","dir","onSlideStart","onSlideMove","onSlideEnd","onStepKeyDown","slider","setSlider","composedRefs","useComposedRefs","node","rectRef","direction","useDirection","isDirectionLTR","isSlidingFromLeft","getValueFromPointer","pointerPosition","rect","input","linearScale","SliderImpl","isBackKey","sliderRef","ref","isSlidingFromBottom","__scopeSlider","onHomeKeyDown","onEndKeyDown","context","Primitive","target","TRACK_NAME","SliderTrack","trackProps","RANGE_NAME","SliderRange","rangeProps","valuesCount","percentages","convertValueToPercentage","offsetStart","offsetEnd","THUMB_NAME","SliderThumb","getItems","thumb","setThumb","index","item","SliderThumbImpl","thumbProps","isFormControl","size","useSize","percent","label","getLabel","orientationSize","thumbInBoundsOffset","getThumbInBoundsOffset","jsxs","SliderBubbleInput","BUBBLE_INPUT_NAME","usePrevious","inputProto","setValue","b","percentage","totalValues","distances","closestDistance","width","left","halfWidth","offset","getStepsBetweenValues","minStepsBetweenValues","stepsBetweenValues","output","ratio","rounder","Root","Track","Range","Thumb","rootStyles","cva","SliderContext","createContext","useContext","asChild","intent","shape","children","className","rest","RadixSlider.Root","thumbVariants","onPointerDown","onKeyDown","onBlur","innerRef","useRef","setInteractionType","e","RadixSlider.Thumb","trackVariants","rangeVariants","RadixSlider.Track","RadixSlider.Range"],"mappings":"urBACA,SAASA,EAAMC,EAAO,CAACC,EAAKC,CAAG,EAAG,CAChC,OAAO,KAAK,IAAIA,EAAK,KAAK,IAAID,EAAKD,CAAK,CAAC,CAC3C,CCYA,IAAIG,EAAY,CAAC,SAAU,UAAU,EACjCC,EAAa,CAAC,UAAW,YAAa,YAAa,YAAY,EAC/DC,EAAY,CACd,YAAa,CAAC,OAAQ,WAAY,YAAa,WAAW,EAC1D,aAAc,CAAC,OAAQ,WAAY,YAAa,YAAY,EAC5D,cAAe,CAAC,OAAQ,WAAY,YAAa,WAAW,EAC5D,WAAY,CAAC,OAAQ,WAAY,UAAW,WAAW,CACzD,EACIC,EAAc,SACd,CAACC,EAAYC,GAAeC,EAAqB,EAAIC,EAAAA,iBAAiBJ,CAAW,EACjF,CAACK,EAAsC,EAAIC,GAAAA,mBAAmBN,EAAa,CAC7EG,EACF,CAAC,EACG,CAACI,GAAgBC,CAAgB,EAAIH,GAAoBL,CAAW,EACpES,GAASC,EAAM,WACjB,CAACC,EAAOC,IAAiB,CACvB,KAAM,CACJ,KAAAC,EACA,IAAAlB,EAAM,EACN,IAAAC,EAAM,IACN,KAAAkB,EAAO,EACP,YAAAC,EAAc,aACd,SAAAC,EAAW,GACX,sBAAAC,EAAwB,EACxB,aAAAC,EAAe,CAACvB,CAAG,EACnB,MAAAD,EACA,cAAAyB,EAAgB,IAAM,CACtB,EACA,cAAAC,EAAgB,IAAM,CACtB,EACA,SAAAC,EAAW,GACX,KAAAC,EACA,GAAGC,CACT,EAAQZ,EACEa,EAAYd,EAAM,OAAuB,IAAI,GAAK,EAClDe,EAAwBf,EAAM,OAAO,CAAC,EAEtCgB,EADeX,IAAgB,aACIY,GAAmBC,GACtD,CAACC,EAAS,CAAA,EAAIC,CAAS,EAAIC,EAAAA,qBAAqB,CACpD,KAAMrC,EACN,YAAawB,EACb,SAAWc,GAAW,CACL,CAAC,GAAGR,EAAU,OAAO,EAC7BC,EAAsB,OAAO,GAAG,MAAK,EAC5CN,EAAca,CAAM,CACtB,CACN,CAAK,EACKC,EAA4BvB,EAAM,OAAOmB,CAAM,EACrD,SAASK,EAAiBF,EAAQ,CAChC,MAAMG,EAAeC,GAAqBP,EAAQG,CAAM,EACxDK,EAAaL,EAAQG,CAAY,CACnC,CACA,SAASG,GAAgBN,EAAQ,CAC/BK,EAAaL,EAAQP,EAAsB,OAAO,CACpD,CACA,SAASc,IAAiB,CACxB,MAAMC,EAAYP,EAA0B,QAAQR,EAAsB,OAAO,EAC/DI,EAAOJ,EAAsB,OAAO,IACrBe,GACjBpB,EAAcS,CAAM,CACtC,CACA,SAASQ,EAAaL,EAAQS,EAAS,CAAE,OAAAC,CAAM,EAAK,CAAE,OAAQ,IAAS,CACrE,MAAMC,EAAeC,GAAgB9B,CAAI,EACnC+B,EAAaC,GAAW,KAAK,OAAOd,EAASrC,GAAOmB,CAAI,EAAIA,EAAOnB,EAAKgD,CAAY,EACpFI,EAAYtD,EAAMoD,EAAY,CAAClD,EAAKC,CAAG,CAAC,EAC9CkC,EAAU,CAACkB,EAAa,KAAO,CAC7B,MAAMC,EAAaC,GAAoBF,EAAYD,EAAWN,CAAO,EACrE,GAAIU,GAAyBF,EAAYhC,EAAwBH,CAAI,EAAG,CACtEW,EAAsB,QAAUwB,EAAW,QAAQF,CAAS,EAC5D,MAAMK,EAAa,OAAOH,CAAU,IAAM,OAAOD,CAAU,EAC3D,OAAII,GAAcV,GAAQtB,EAAc6B,CAAU,EAC3CG,EAAaH,EAAaD,CACnC,KACE,QAAOA,CAEX,CAAC,CACH,CACA,OAAuBK,EAAAA,IACrB9C,GACA,CACE,MAAOI,EAAM,cACb,KAAAE,EACA,SAAAG,EACA,IAAArB,EACA,IAAAC,EACA,sBAAA6B,EACA,OAAQD,EAAU,QAClB,OAAAK,EACA,YAAAd,EACA,KAAAO,EACA,SAA0B+B,EAAAA,IAAIpD,EAAW,SAAU,CAAE,MAAOU,EAAM,cAAe,SAA0B0C,EAAAA,IAAIpD,EAAW,KAAM,CAAE,MAAOU,EAAM,cAAe,SAA0B0C,EAAAA,IACtL3B,EACA,CACE,gBAAiBV,EACjB,gBAAiBA,EAAW,GAAK,OACjC,GAAGO,EACH,IAAKX,EACL,cAAe0C,EAAAA,qBAAqB/B,EAAY,cAAe,IAAM,CAC9DP,IAAUiB,EAA0B,QAAUJ,EACrD,CAAC,EACD,IAAAlC,EACA,IAAAC,EACA,SAAAyB,EACA,aAAcL,EAAW,OAASkB,EAClC,YAAalB,EAAW,OAASsB,GACjC,WAAYtB,EAAW,OAASuB,GAChC,cAAe,IAAM,CAACvB,GAAYqB,EAAa1C,EAAK,EAAG,CAAE,OAAQ,GAAM,EACvE,aAAc,IAAM,CAACqB,GAAYqB,EAAazC,EAAKiC,EAAO,OAAS,EAAG,CAAE,OAAQ,EAAI,CAAE,EACtF,cAAe,CAAC,CAAE,MAAA0B,EAAO,UAAWC,CAAa,IAAO,CACtD,GAAI,CAACxC,EAAU,CAGb,MAAMyC,EAFY5D,EAAU,SAAS0D,EAAM,GAAG,GACfA,EAAM,UAAYzD,EAAW,SAASyD,EAAM,GAAG,EAC/C,GAAK,EAC9Bd,EAAUhB,EAAsB,QAChCO,EAASH,EAAOY,CAAO,EACvBiB,EAAkB5C,EAAO2C,EAAaD,EAC5CnB,EAAaL,EAAS0B,EAAiBjB,EAAS,CAAE,OAAQ,GAAM,CAClE,CACF,CACZ,CACA,CAAS,CAAE,CAAC,CAAE,CACd,CACA,CACE,CACF,EACAhC,GAAO,YAAcT,EACrB,GAAI,CAAC2D,GAA2BC,EAA2B,EAAIvD,GAAoBL,EAAa,CAC9F,UAAW,OACX,QAAS,QACT,KAAM,QACN,UAAW,CACb,CAAC,EACG2B,GAAmBjB,EAAM,WAC3B,CAACC,EAAOC,IAAiB,CACvB,KAAM,CACJ,IAAAjB,EACA,IAAAC,EACA,IAAAiE,EACA,SAAAxC,EACA,aAAAyC,EACA,YAAAC,EACA,WAAAC,EACA,cAAAC,EACA,GAAG1C,CACT,EAAQZ,EACE,CAACuD,EAAQC,CAAS,EAAIzD,EAAM,SAAS,IAAI,EACzC0D,EAAeC,EAAAA,gBAAgBzD,EAAe0D,GAASH,EAAUG,CAAI,CAAC,EACtEC,EAAU7D,EAAM,OAAO,MAAM,EAC7B8D,EAAYC,EAAAA,aAAaZ,CAAG,EAC5Ba,EAAiBF,IAAc,MAC/BG,EAAoBD,GAAkB,CAACrD,GAAY,CAACqD,GAAkBrD,EAC5E,SAASuD,EAAoBC,EAAiB,CAC5C,MAAMC,EAAOP,EAAQ,SAAWL,EAAO,sBAAqB,EACtDa,EAAQ,CAAC,EAAGD,EAAK,KAAK,EAEtBpF,EAAQsF,EAAYD,EADXJ,EAAoB,CAAChF,EAAKC,CAAG,EAAI,CAACA,EAAKD,CAAG,CAClB,EACvC,OAAA4E,EAAQ,QAAUO,EACXpF,EAAMmF,EAAkBC,EAAK,IAAI,CAC1C,CACA,OAAuBzB,EAAAA,IACrBM,GACA,CACE,MAAOhD,EAAM,cACb,UAAWgE,EAAoB,OAAS,QACxC,QAASA,EAAoB,QAAU,OACvC,UAAWA,EAAoB,EAAI,GACnC,KAAM,QACN,SAA0BtB,EAAAA,IACxB4B,GACA,CACE,IAAKT,EACL,mBAAoB,aACpB,GAAGjD,EACH,IAAK6C,EACL,MAAO,CACL,GAAG7C,EAAY,MACd,iCAAmC,kBAClD,EACY,aAAegC,GAAU,CACvB,MAAM7D,EAAQkF,EAAoBrB,EAAM,OAAO,EAC/CO,IAAepE,CAAK,CACtB,EACA,YAAc6D,GAAU,CACtB,MAAM7D,EAAQkF,EAAoBrB,EAAM,OAAO,EAC/CQ,IAAcrE,CAAK,CACrB,EACA,WAAY,IAAM,CAChB6E,EAAQ,QAAU,OAClBP,IAAU,CACZ,EACA,cAAgBT,GAAU,CAExB,MAAM2B,EAAYnF,EADK4E,EAAoB,YAAc,YACf,EAAE,SAASpB,EAAM,GAAG,EAC9DU,IAAgB,CAAE,MAAAV,EAAO,UAAW2B,EAAY,GAAK,EAAG,CAC1D,CACZ,CACA,CACA,CACA,CACE,CACF,EACItD,GAAiBlB,EAAM,WACzB,CAACC,EAAOC,IAAiB,CACvB,KAAM,CACJ,IAAAjB,EACA,IAAAC,EACA,SAAAyB,EACA,aAAAyC,EACA,YAAAC,EACA,WAAAC,EACA,cAAAC,EACA,GAAG1C,CACT,EAAQZ,EACEwE,EAAYzE,EAAM,OAAO,IAAI,EAC7B0E,EAAMf,EAAAA,gBAAgBzD,EAAcuE,CAAS,EAC7CZ,EAAU7D,EAAM,OAAO,MAAM,EAC7B2E,EAAsB,CAAChE,EAC7B,SAASuD,EAAoBC,EAAiB,CAC5C,MAAMC,EAAOP,EAAQ,SAAWY,EAAU,QAAQ,sBAAqB,EACjEJ,EAAQ,CAAC,EAAGD,EAAK,MAAM,EAEvBpF,EAAQsF,EAAYD,EADXM,EAAsB,CAACzF,EAAKD,CAAG,EAAI,CAACA,EAAKC,CAAG,CACpB,EACvC,OAAA2E,EAAQ,QAAUO,EACXpF,EAAMmF,EAAkBC,EAAK,GAAG,CACzC,CACA,OAAuBzB,EAAAA,IACrBM,GACA,CACE,MAAOhD,EAAM,cACb,UAAW0E,EAAsB,SAAW,MAC5C,QAASA,EAAsB,MAAQ,SACvC,KAAM,SACN,UAAWA,EAAsB,EAAI,GACrC,SAA0BhC,EAAAA,IACxB4B,GACA,CACE,mBAAoB,WACpB,GAAG1D,EACH,IAAA6D,EACA,MAAO,CACL,GAAG7D,EAAY,MACd,iCAAmC,iBAClD,EACY,aAAegC,GAAU,CACvB,MAAM7D,EAAQkF,EAAoBrB,EAAM,OAAO,EAC/CO,IAAepE,CAAK,CACtB,EACA,YAAc6D,GAAU,CACtB,MAAM7D,EAAQkF,EAAoBrB,EAAM,OAAO,EAC/CQ,IAAcrE,CAAK,CACrB,EACA,WAAY,IAAM,CAChB6E,EAAQ,QAAU,OAClBP,IAAU,CACZ,EACA,cAAgBT,GAAU,CAExB,MAAM2B,EAAYnF,EADKsF,EAAsB,cAAgB,UACnB,EAAE,SAAS9B,EAAM,GAAG,EAC9DU,IAAgB,CAAE,MAAAV,EAAO,UAAW2B,EAAY,GAAK,EAAG,CAC1D,CACZ,CACA,CACA,CACA,CACE,CACF,EACID,GAAavE,EAAM,WACrB,CAACC,EAAOC,IAAiB,CACvB,KAAM,CACJ,cAAA0E,EACA,aAAAxB,EACA,YAAAC,EACA,WAAAC,EACA,cAAAuB,EACA,aAAAC,EACA,cAAAvB,EACA,GAAG1C,CACT,EAAQZ,EACE8E,EAAUjF,EAAiBR,EAAasF,CAAa,EAC3D,OAAuBjC,EAAAA,IACrBqC,EAAAA,UAAU,KACV,CACE,GAAGnE,EACH,IAAKX,EACL,UAAW0C,EAAAA,qBAAqB3C,EAAM,UAAY4C,GAAU,CACtDA,EAAM,MAAQ,QAChBgC,EAAchC,CAAK,EACnBA,EAAM,eAAc,GACXA,EAAM,MAAQ,OACvBiC,EAAajC,CAAK,EAClBA,EAAM,eAAc,GACX1D,EAAU,OAAOC,CAAU,EAAE,SAASyD,EAAM,GAAG,IACxDU,EAAcV,CAAK,EACnBA,EAAM,eAAc,EAExB,CAAC,EACD,cAAeD,EAAAA,qBAAqB3C,EAAM,cAAgB4C,GAAU,CAClE,MAAMoC,EAASpC,EAAM,OACrBoC,EAAO,kBAAkBpC,EAAM,SAAS,EACxCA,EAAM,eAAc,EAChBkC,EAAQ,OAAO,IAAIE,CAAM,EAC3BA,EAAO,MAAK,EAEZ7B,EAAaP,CAAK,CAEtB,CAAC,EACD,cAAeD,EAAAA,qBAAqB3C,EAAM,cAAgB4C,GAAU,CACnDA,EAAM,OACV,kBAAkBA,EAAM,SAAS,GAAGQ,EAAYR,CAAK,CAClE,CAAC,EACD,YAAaD,EAAAA,qBAAqB3C,EAAM,YAAc4C,GAAU,CAC9D,MAAMoC,EAASpC,EAAM,OACjBoC,EAAO,kBAAkBpC,EAAM,SAAS,IAC1CoC,EAAO,sBAAsBpC,EAAM,SAAS,EAC5CS,EAAWT,CAAK,EAEpB,CAAC,CACT,CACA,CACE,CACF,EACIqC,GAAa,cACbC,GAAcnF,EAAM,WACtB,CAACC,EAAOC,IAAiB,CACvB,KAAM,CAAE,cAAA0E,EAAe,GAAGQ,CAAU,EAAKnF,EACnC8E,EAAUjF,EAAiBoF,GAAYN,CAAa,EAC1D,OAAuBjC,EAAAA,IACrBqC,EAAAA,UAAU,KACV,CACE,gBAAiBD,EAAQ,SAAW,GAAK,OACzC,mBAAoBA,EAAQ,YAC5B,GAAGK,EACH,IAAKlF,CACb,CACA,CACE,CACF,EACAiF,GAAY,YAAcD,GAC1B,IAAIG,EAAa,cACbC,GAActF,EAAM,WACtB,CAACC,EAAOC,IAAiB,CACvB,KAAM,CAAE,cAAA0E,EAAe,GAAGW,CAAU,EAAKtF,EACnC8E,EAAUjF,EAAiBuF,EAAYT,CAAa,EACpDvE,EAAc6C,GAA4BmC,EAAYT,CAAa,EACnEF,EAAM1E,EAAM,OAAO,IAAI,EACvB0D,EAAeC,EAAAA,gBAAgBzD,EAAcwE,CAAG,EAChDc,EAAcT,EAAQ,OAAO,OAC7BU,EAAcV,EAAQ,OAAO,IAChC/F,GAAU0G,GAAyB1G,EAAO+F,EAAQ,IAAKA,EAAQ,GAAG,CACzE,EACUY,EAAcH,EAAc,EAAI,KAAK,IAAI,GAAGC,CAAW,EAAI,EAC3DG,EAAY,IAAM,KAAK,IAAI,GAAGH,CAAW,EAC/C,OAAuB9C,EAAAA,IACrBqC,EAAAA,UAAU,KACV,CACE,mBAAoBD,EAAQ,YAC5B,gBAAiBA,EAAQ,SAAW,GAAK,OACzC,GAAGQ,EACH,IAAK7B,EACL,MAAO,CACL,GAAGzD,EAAM,MACT,CAACI,EAAY,SAAS,EAAGsF,EAAc,IACvC,CAACtF,EAAY,OAAO,EAAGuF,EAAY,GAC7C,CACA,CACA,CACE,CACF,EACAN,GAAY,YAAcD,EAC1B,IAAIQ,EAAa,cACbC,GAAc9F,EAAM,WACtB,CAACC,EAAOC,IAAiB,CACvB,MAAM6F,EAAWvG,GAAcS,EAAM,aAAa,EAC5C,CAAC+F,EAAOC,CAAQ,EAAIjG,EAAM,SAAS,IAAI,EACvC0D,EAAeC,EAAAA,gBAAgBzD,EAAe0D,GAASqC,EAASrC,CAAI,CAAC,EACrEsC,EAAQlG,EAAM,QAClB,IAAMgG,EAAQD,IAAW,UAAWI,GAASA,EAAK,IAAI,UAAYH,CAAK,EAAI,GAC3E,CAACD,EAAUC,CAAK,CACtB,EACI,OAAuBrD,EAAAA,IAAIyD,GAAiB,CAAE,GAAGnG,EAAO,IAAKyD,EAAc,MAAAwC,EAAO,CACpF,CACF,EACIE,GAAkBpG,EAAM,WAC1B,CAACC,EAAOC,IAAiB,CACvB,KAAM,CAAE,cAAA0E,EAAa,MAAEsB,EAAO,KAAA/F,EAAM,GAAGkG,CAAU,EAAKpG,EAChD8E,EAAUjF,EAAiB+F,EAAYjB,CAAa,EACpDvE,EAAc6C,GAA4B2C,EAAYjB,CAAa,EACnE,CAACoB,EAAOC,CAAQ,EAAIjG,EAAM,SAAS,IAAI,EACvC0D,EAAeC,EAAAA,gBAAgBzD,EAAe0D,GAASqC,EAASrC,CAAI,CAAC,EACrE0C,EAAgBN,EAAQjB,EAAQ,MAAQ,CAAC,CAACiB,EAAM,QAAQ,MAAM,EAAI,GAClEO,EAAOC,GAAAA,QAAQR,CAAK,EACpBhH,EAAQ+F,EAAQ,OAAOmB,CAAK,EAC5BO,EAAUzH,IAAU,OAAS,EAAI0G,GAAyB1G,EAAO+F,EAAQ,IAAKA,EAAQ,GAAG,EACzF2B,EAAQC,GAAST,EAAOnB,EAAQ,OAAO,MAAM,EAC7C6B,EAAkBL,IAAOlG,EAAY,IAAI,EACzCwG,EAAsBD,EAAkBE,GAAuBF,EAAiBH,EAASpG,EAAY,SAAS,EAAI,EACxHL,OAAAA,EAAM,UAAU,IAAM,CACpB,GAAIgG,EACF,OAAAjB,EAAQ,OAAO,IAAIiB,CAAK,EACjB,IAAM,CACXjB,EAAQ,OAAO,OAAOiB,CAAK,CAC7B,CAEJ,EAAG,CAACA,EAAOjB,EAAQ,MAAM,CAAC,EACHgC,EAAAA,KACrB,OACA,CACE,MAAO,CACL,UAAW,sCACX,SAAU,WACV,CAAC1G,EAAY,SAAS,EAAG,QAAQoG,CAAO,OAAOI,CAAmB,KAC5E,EACQ,SAAU,CACQlE,EAAAA,IAAIpD,EAAW,SAAU,CAAE,MAAOU,EAAM,cAAe,SAA0B0C,EAAAA,IAC/FqC,EAAAA,UAAU,KACV,CACE,KAAM,SACN,aAAc/E,EAAM,YAAY,GAAKyG,EACrC,gBAAiB3B,EAAQ,IACzB,gBAAiB/F,EACjB,gBAAiB+F,EAAQ,IACzB,mBAAoBA,EAAQ,YAC5B,mBAAoBA,EAAQ,YAC5B,gBAAiBA,EAAQ,SAAW,GAAK,OACzC,SAAUA,EAAQ,SAAW,OAAS,EACtC,GAAGsB,EACH,IAAK3C,EACL,MAAO1E,IAAU,OAAS,CAAE,QAAS,MAAM,EAAKiB,EAAM,MACtD,QAAS2C,EAAAA,qBAAqB3C,EAAM,QAAS,IAAM,CACjD8E,EAAQ,sBAAsB,QAAUmB,CAC1C,CAAC,CACf,CACA,EAAa,EACHI,GAAiC3D,EAAAA,IAC/BqE,GACA,CACE,KAAM7G,IAAS4E,EAAQ,KAAOA,EAAQ,MAAQA,EAAQ,OAAO,OAAS,EAAI,KAAO,IAAM,QACvF,KAAMA,EAAQ,KACd,MAAA/F,CACd,EACYkH,CACZ,CACA,CACA,CACA,CACE,CACF,EACAJ,GAAY,YAAcD,EAC1B,IAAIoB,GAAoB,mBACpBD,GAAoBhH,EAAM,WAC5B,CAAC,CAAE,cAAA4E,EAAe,MAAA5F,EAAO,GAAGiB,CAAK,EAAIC,IAAiB,CACpD,MAAMwE,EAAM1E,EAAM,OAAO,IAAI,EACvB0D,EAAeC,EAAAA,gBAAgBe,EAAKxE,CAAY,EAChD4B,EAAYoF,GAAAA,YAAYlI,CAAK,EACnCgB,OAAAA,EAAM,UAAU,IAAM,CACpB,MAAMqE,EAAQK,EAAI,QAClB,GAAI,CAACL,EAAO,OACZ,MAAM8C,EAAa,OAAO,iBAAiB,UAErCC,EADa,OAAO,yBAAyBD,EAAY,OAAO,EAC1C,IAC5B,GAAIrF,IAAc9C,GAASoI,EAAU,CACnC,MAAMvE,EAAQ,IAAI,MAAM,QAAS,CAAE,QAAS,GAAM,EAClDuE,EAAS,KAAK/C,EAAOrF,CAAK,EAC1BqF,EAAM,cAAcxB,CAAK,CAC3B,CACF,EAAG,CAACf,EAAW9C,CAAK,CAAC,EACE2D,EAAAA,IACrBqC,EAAAA,UAAU,MACV,CACE,MAAO,CAAE,QAAS,MAAM,EACxB,GAAG/E,EACH,IAAKyD,EACL,aAAc1E,CACtB,CACA,CACE,CACF,EACAgI,GAAkB,YAAcC,GAChC,SAASzE,GAAoBF,EAAa,GAAID,EAAWN,EAAS,CAChE,MAAMQ,EAAa,CAAC,GAAGD,CAAU,EACjC,OAAAC,EAAWR,CAAO,EAAIM,EACfE,EAAW,KAAK,CAAC,EAAG8E,IAAM,EAAIA,CAAC,CACxC,CACA,SAAS3B,GAAyB1G,EAAOC,EAAKC,EAAK,CAGjD,MAAMoI,EADiB,KADNpI,EAAMD,IAEcD,EAAQC,GAC7C,OAAOF,EAAMuI,EAAY,CAAC,EAAG,GAAG,CAAC,CACnC,CACA,SAASX,GAAST,EAAOqB,EAAa,CACpC,OAAIA,EAAc,EACT,SAASrB,EAAQ,CAAC,OAAOqB,CAAW,GAClCA,IAAgB,EAClB,CAAC,UAAW,SAAS,EAAErB,CAAK,EAEnC,MAEJ,CACA,SAASxE,GAAqBP,EAAQkB,EAAW,CAC/C,GAAIlB,EAAO,SAAW,EAAG,MAAO,GAChC,MAAMqG,EAAYrG,EAAO,IAAKnC,GAAU,KAAK,IAAIA,EAAQqD,CAAS,CAAC,EAC7DoF,EAAkB,KAAK,IAAI,GAAGD,CAAS,EAC7C,OAAOA,EAAU,QAAQC,CAAe,CAC1C,CACA,SAASX,GAAuBY,EAAOC,EAAM7D,EAAW,CACtD,MAAM8D,EAAYF,EAAQ,EAEpBG,EAASvD,EAAY,CAAC,EADR,EACsB,EAAG,CAAC,EAAGsD,CAAS,CAAC,EAC3D,OAAQA,EAAYC,EAAOF,CAAI,EAAI7D,GAAaA,CAClD,CACA,SAASgE,GAAsB3G,EAAQ,CACrC,OAAOA,EAAO,MAAM,EAAG,EAAE,EAAE,IAAI,CAACnC,EAAOkH,IAAU/E,EAAO+E,EAAQ,CAAC,EAAIlH,CAAK,CAC5E,CACA,SAASyD,GAAyBtB,EAAQ4G,EAAuB,CAC/D,GAAIA,EAAwB,EAAG,CAC7B,MAAMC,EAAqBF,GAAsB3G,CAAM,EAEvD,OADoC,KAAK,IAAI,GAAG6G,CAAkB,GAC5BD,CACxC,CACA,MAAO,EACT,CACA,SAASzD,EAAYD,EAAO4D,EAAQ,CAClC,OAAQjJ,GAAU,CAChB,GAAIqF,EAAM,CAAC,IAAMA,EAAM,CAAC,GAAK4D,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAG,OAAOA,EAAO,CAAC,EACrE,MAAMC,GAASD,EAAO,CAAC,EAAIA,EAAO,CAAC,IAAM5D,EAAM,CAAC,EAAIA,EAAM,CAAC,GAC3D,OAAO4D,EAAO,CAAC,EAAIC,GAASlJ,EAAQqF,EAAM,CAAC,EAC7C,CACF,CACA,SAASnC,GAAgBlD,EAAO,CAC9B,OAAQ,OAAOA,CAAK,EAAE,MAAM,GAAG,EAAE,CAAC,GAAK,IAAI,MAC7C,CACA,SAASoD,GAAWpD,EAAOiD,EAAc,CACvC,MAAMkG,EAAU,KAAK,IAAI,GAAIlG,CAAY,EACzC,OAAO,KAAK,MAAMjD,EAAQmJ,CAAO,EAAIA,CACvC,CACA,IAAIC,GAAOrI,GACPsI,GAAQlD,GACRmD,GAAQhD,GACRiD,GAAQzC,GCviBL,MAAM0C,GAAaC,EAAAA,IAAI,CAC5B,qCACA,yBACA,8DACF,CAAC,ECAYC,GAAgBC,EAAAA,cAAsC,EAA4B,EAElF7I,GAAmB,IAAM8I,EAAAA,WAAWF,EAAa,ECqDjD3I,GAAS,CAAC,CACrB,QAAA8I,EAAU,GACV,OAAAC,EAAS,QACT,MAAAC,EAAQ,SACR,SAAAC,EACA,UAAAC,EACA,IAAAvE,EACA,GAAGwE,CACL,IACEvG,EAAAA,IAAC+F,GAAc,SAAd,CAAuB,MAAO,CAAE,OAAAI,EAAQ,MAAAC,GACvC,SAAApG,EAAAA,IAACwG,GAAA,CACC,IAAAzE,EACA,uBAAqB,SACrB,QAAAmE,EACA,UAAWL,GAAW,CAAE,UAAAS,EAAW,EACnC,IAAI,MACJ,YAAY,aACZ,SAAU,GACV,sBAAuB,EACtB,GAAGC,EAEH,SAAAF,CAAA,CACH,EACF,EAGFjJ,GAAO,YAAc,SCrFd,MAAMqJ,GAAgBX,EAAAA,IAC3B,CACE,oDACA,iBACA,4EACA,uDACA,0HACA,yGACA,8GACA,yCAAA,EAEF,CACE,SAAU,CACR,OAAQ,CACN,KAAM,CAAC,UAAW,2CAA2C,EAC7D,QAAS,CAAC,aAAc,iDAAiD,EACzE,OAAQ,CAAC,YAAa,+CAA+C,EACrE,MAAO,CAAC,WAAY,6CAA6C,EACjE,KAAM,CAAC,UAAW,2CAA2C,EAC7D,QAAS,CAAC,aAAc,iDAAiD,EACzE,QAAS,CAAC,aAAc,iDAAiD,EACzE,MAAO,CAAC,WAAY,6CAA6C,EACjE,MAAO,CAAC,WAAY,6CAA6C,CAAA,CACnE,EAEF,gBAAiB,CACf,OAAQ,OAAA,CACV,CAEJ,EChBa3C,EAAc,CAAC,CAC1B,QAAA+C,EAAU,GACV,UAAAI,EACA,cAAAI,EACA,UAAAC,EACA,OAAAC,EACA,IAAKrJ,EACL,GAAGgJ,CACL,IAAwB,CACtB,KAAM,CAAE,OAAAJ,CAAA,EAAWhJ,GAAA,EAEb0J,EAAWC,EAAAA,OAAO,IAAI,EACtB/E,EAAMxE,GAAgBsJ,EAEtBE,EAAsBC,GAAiD,CAMvE,OAAOjF,GAAQ,YAAc,CAACA,EAAI,UACtCA,EAAI,QAAQ,QAAQ,YAAciF,EAAE,KACtC,EAEA,OACEhH,EAAAA,IAACiH,GAAA,CACC,uBAAqB,eACrB,IAAAlF,EACA,QAAAmE,EACA,cAAgBc,GAAqC,CACnDD,EAAmBC,CAAC,EACpBN,IAAgBM,CAAC,CACnB,EACA,UAAYA,GAAsC,CAChDD,EAAmBC,CAAC,EACpBL,IAAYK,CAAC,CACf,EACA,OAASA,GAAmC,CAC1CD,EAAmBC,CAAC,EACpBJ,IAASI,CAAC,CACZ,EACA,UAAWP,GAAc,CAAE,OAAAN,EAAQ,UAAAG,EAAW,EAC7C,GAAGC,CAAA,CAAA,CAGV,EAEApD,EAAY,YAAc,eC5DnB,MAAM+D,GAAgBpB,EAAAA,IAAI,CAAC,6CAA6C,EAAG,CAChF,SAAU,CACR,MAAO,CACL,QAAS,aACT,OAAQ,WAAA,CACV,EAEF,gBAAiB,CACf,MAAO,QAAA,CAEX,CAAC,EAEYqB,GAAgBrB,EAAAA,IAAI,CAAC,iBAAiB,EAAG,CACpD,SAAU,CACR,OAAQ,CACN,KAAM,CAAC,SAAS,EAChB,QAAS,CAAC,YAAY,EACtB,OAAQ,CAAC,WAAW,EACpB,MAAO,CAAC,UAAU,EAClB,KAAM,CAAC,SAAS,EAChB,QAAS,CAAC,YAAY,EACtB,QAAS,CAAC,YAAY,EACtB,MAAO,CAAC,UAAU,EAClB,MAAO,CAAC,UAAU,CAAA,EAEpB,MAAO,CACL,QAAS,aACT,OAAQ,WAAA,CACV,EAEF,gBAAiB,CACf,OAAQ,QACR,MAAO,QAAA,CAEX,CAAC,ECnBYtD,EAAc,CAAC,CAAE,QAAA0D,EAAU,GAAO,UAAAI,EAAW,IAAAvE,EAAK,GAAGwE,KAA6B,CAC7F,KAAM,CAAE,OAAAJ,EAAQ,MAAAC,CAAA,EAAUjJ,GAAA,EAE1B,OACE6C,EAAAA,IAACoH,GAAA,CACC,uBAAqB,eACrB,IAAArF,EACA,QAAAmE,EACA,UAAWgB,GAAc,CAAE,MAAAd,EAAO,EACjC,GAAGG,EAEJ,SAAAvG,EAAAA,IAACqH,GAAA,CAAkB,UAAWF,GAAc,CAAE,OAAAhB,EAAQ,MAAAC,EAAO,UAAAE,CAAA,CAAW,CAAA,CAAG,CAAA,CAAA,CAGjF,EAEA9D,EAAY,YAAc,eC7BnB,MAAMpF,GAGT,OAAO,OAAOqI,GAAM,CAAA,MACtBG,EAAA,MACAF,CACF,CAAC,EAEDtI,GAAO,YAAc,SACrBwI,EAAM,YAAc,eACpBF,EAAM,YAAc","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/slider/Slider.styles.ts","../../src/slider/SliderContext.tsx","../../src/slider/Slider.tsx","../../src/slider/SliderThumb.styles.ts","../../src/slider/SliderThumb.tsx","../../src/slider/SliderTrack.styles.ts","../../src/slider/SliderTrack.tsx","../../src/slider/index.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nexport const rootStyles = cva([\n 'flex relative h-sz-24 items-center',\n 'touch-none select-none',\n 'data-disabled:cursor-not-allowed data-disabled:opacity-dim-3',\n])\n","import { createContext, useContext } from 'react'\n\nimport type { SliderProps } from './Slider'\n\nexport type SliderContextInterface = Pick<SliderProps, 'intent' | 'shape'> & {\n fieldLabelId?: string\n fieldId?: string\n}\n\nexport const SliderContext = createContext<SliderContextInterface>({} as SliderContextInterface)\n\nexport const useSliderContext = () => useContext(SliderContext)\n","import { useFormFieldControl } from '@spark-ui/components/form-field'\nimport { Slider as RadixSlider } from 'radix-ui'\nimport { type PropsWithChildren, Ref } from 'react'\n\nimport { rootStyles } from './Slider.styles'\nimport { SliderContext } from './SliderContext'\nimport type { SliderRangeVariantsProps } from './SliderTrack.styles'\n\nexport interface SliderProps\n extends Omit<\n RadixSlider.SliderProps,\n 'dir' | 'orientation' | 'inverted' | 'minStepsBetweenThumbs'\n >,\n PropsWithChildren<SliderRangeVariantsProps> {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n * @default false\n */\n asChild?: boolean\n /**\n * The value of the slider when initially rendered. Use when you do not need to control the state of the slider.\n */\n defaultValue?: number[]\n /**\n * The controlled value of the slider. Must be used in conjunction with `onValueChange`.\n */\n value?: number[]\n /**\n * Event handler called when the value changes.\n */\n onValueChange?: (value: number[]) => void\n /**\n * Event handler called when the value changes at the end of an interaction. Useful when you only need to capture a final value e.g. to update a backend service.\n */\n onValueCommit?: (value: number[]) => void\n /**\n * The name of the slider. Submitted with its owning form as part of a name/value pair.\n * If wrapped with a FormField with a name, will be inherited from it.\n */\n name?: string\n /**\n * When `true`, prevents the user from interacting with the slider.\n * @default false\n */\n disabled?: boolean\n /**\n * Sets the slider as interactive or not.\n */\n readOnly?: boolean\n /**\n * The minimum value for the range.\n * @default 0\n */\n min?: number\n /**\n * The maximum value for the range.\n * @default 100\n */\n max?: number\n /**\n * The stepping interval.\n * @default 1\n */\n step?: number\n ref?: Ref<HTMLDivElement>\n}\n\nexport const Slider = ({\n asChild = false,\n intent = 'basic',\n shape = 'square',\n children,\n className,\n ref,\n disabled: disabledProp,\n readOnly: readOnlyProp,\n name: nameProp,\n ...rest\n}: SliderProps) => {\n const field = useFormFieldControl()\n\n const disabled = field.disabled ?? disabledProp\n const readOnly = field.readOnly ?? readOnlyProp\n const name = field.name ?? nameProp\n\n console.log('✅ field ', field.disabled)\n\n return (\n <SliderContext.Provider\n value={{\n intent,\n shape,\n fieldLabelId: field.labelId,\n fieldId: field.id,\n }}\n >\n <RadixSlider.Root\n ref={ref}\n data-spark-component=\"slider\"\n asChild={asChild}\n className={rootStyles({ className })}\n dir=\"ltr\"\n orientation=\"horizontal\"\n inverted={false}\n minStepsBetweenThumbs={0}\n disabled={disabled || readOnly}\n name={name}\n aria-describedby={field.description}\n aria-invalid={field.isInvalid}\n {...rest}\n >\n {children}\n </RadixSlider.Root>\n </SliderContext.Provider>\n )\n}\n\nSlider.displayName = 'Slider'\n","import { cva, VariantProps } from 'class-variance-authority'\n\nexport const thumbVariants = cva(\n [\n 'block h-sz-24 w-sz-24 rounded-full cursor-pointer',\n 'outline-hidden',\n 'focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-focus',\n 'data-[interaction=pointerdown]:focus-visible:ring-0!',\n 'data-disabled:hover:ring-0 data-disabled:hover:after:w-0 data-disabled:hover:after:h-0 data-disabled:cursor-not-allowed',\n 'after:absolute after:left-1/2 after:top-1/2 after:-translate-x-1/2 after:-translate-y-1/2 after:z-hide',\n 'after:w-0 after:h-0 after:rounded-full after:border-solid after:border-sm after:transition-all duration-300',\n 'hover:after:w-sz-32 hover:after:h-sz-32',\n ],\n {\n variants: {\n intent: {\n main: ['bg-main', 'after:bg-main-container after:border-main'],\n support: ['bg-support', 'after:bg-support-container after:border-support'],\n accent: ['bg-accent', 'after:bg-accent-container after:border-accent'],\n basic: ['bg-basic', 'after:bg-basic-container after:border-basic'],\n info: ['bg-info', 'after:bg-info-container after:border-info'],\n neutral: ['bg-neutral', 'after:bg-neutral-container after:border-neutral'],\n success: ['bg-success', 'after:bg-success-container after:border-success'],\n alert: ['bg-alert', 'after:bg-alert-container after:border-alert'],\n error: ['bg-error', 'after:bg-error-container after:border-error'],\n },\n },\n defaultVariants: {\n intent: 'basic',\n },\n }\n)\n\nexport type SliderThumbVariantsProps = VariantProps<typeof thumbVariants>\n","import { Slider as RadixSlider } from 'radix-ui'\nimport { type FocusEvent, type KeyboardEvent, type PointerEvent, Ref, useRef } from 'react'\n\nimport { useSliderContext } from './SliderContext'\nimport { thumbVariants } from './SliderThumb.styles'\n\nexport interface SliderThumbProps extends RadixSlider.SliderThumbProps {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n * @default false\n */\n asChild?: boolean\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const SliderThumb = ({\n asChild = false,\n className,\n onPointerDown,\n onKeyDown,\n onBlur,\n ref: forwardedRef,\n ...rest\n}: SliderThumbProps) => {\n const { intent, fieldLabelId, fieldId } = useSliderContext()\n\n const innerRef = useRef(null)\n const ref = forwardedRef || innerRef\n\n const setInteractionType = (e: KeyboardEvent | FocusEvent | PointerEvent) => {\n /**\n * Radix Slider implementation uses `.focus()` and thus prevent us to handle\n * distinctively focus/focus-visible styles. So we use a `data-interaction` attribute to stay\n * aware of the type of event, and adapt styles if needed.\n */\n if (typeof ref === 'function' || !ref.current) return\n ref.current.dataset.interaction = e.type\n }\n\n return (\n <RadixSlider.Thumb\n data-spark-component=\"slider-thumb\"\n ref={ref}\n asChild={asChild}\n id={fieldId}\n onPointerDown={(e: PointerEvent<HTMLSpanElement>) => {\n setInteractionType(e)\n onPointerDown?.(e)\n }}\n onKeyDown={(e: KeyboardEvent<HTMLSpanElement>) => {\n setInteractionType(e)\n onKeyDown?.(e)\n }}\n onBlur={(e: FocusEvent<HTMLSpanElement>) => {\n setInteractionType(e)\n onBlur?.(e)\n }}\n className={thumbVariants({ intent, className })}\n aria-labelledby={fieldLabelId}\n {...rest}\n />\n )\n}\n\nSliderThumb.displayName = 'Slider.Thumb'\n","import { cva, VariantProps } from 'class-variance-authority'\n\nexport const trackVariants = cva(['relative grow h-sz-4 bg-on-background/dim-4'], {\n variants: {\n shape: {\n rounded: 'rounded-sm',\n square: 'rounded-0',\n },\n },\n defaultVariants: {\n shape: 'square',\n },\n})\n\nexport const rangeVariants = cva(['absolute h-full'], {\n variants: {\n intent: {\n main: ['bg-main'],\n support: ['bg-support'],\n accent: ['bg-accent'],\n basic: ['bg-basic'],\n info: ['bg-info'],\n neutral: ['bg-neutral'],\n success: ['bg-success'],\n alert: ['bg-alert'],\n error: ['bg-error'],\n },\n shape: {\n rounded: 'rounded-sm',\n square: 'rounded-0',\n },\n },\n defaultVariants: {\n intent: 'basic',\n shape: 'square',\n },\n})\n\nexport type SliderRangeVariantsProps = VariantProps<typeof rangeVariants>\n","import { Slider as RadixSlider } from 'radix-ui'\nimport { Ref } from 'react'\n\nimport { useSliderContext } from './SliderContext'\nimport { rangeVariants, trackVariants } from './SliderTrack.styles'\n\nexport interface SliderTrackProps\n extends RadixSlider.SliderTrackProps,\n RadixSlider.SliderRangeProps {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n * @default false\n */\n asChild?: boolean\n ref?: Ref<HTMLDivElement>\n}\n\nexport const SliderTrack = ({ asChild = false, className, ref, ...rest }: SliderTrackProps) => {\n const { intent, shape } = useSliderContext()\n\n return (\n <RadixSlider.Track\n data-spark-component=\"slider-track\"\n ref={ref}\n asChild={asChild}\n className={trackVariants({ shape })}\n {...rest}\n >\n <RadixSlider.Range className={rangeVariants({ intent, shape, className })} />\n </RadixSlider.Track>\n )\n}\n\nSliderTrack.displayName = 'Slider.Track'\n","import { Slider as Root, type SliderProps } from './Slider'\nimport { SliderThumb as Thumb, type SliderThumbProps } from './SliderThumb'\nimport { SliderTrack as Track, type SliderTrackProps } from './SliderTrack'\n\nexport const Slider: typeof Root & {\n Thumb: typeof Thumb\n Track: typeof Track\n} = Object.assign(Root, {\n Thumb,\n Track,\n})\n\nSlider.displayName = 'Slider'\nThumb.displayName = 'Slider.Thumb'\nTrack.displayName = 'Slider.Track'\n\nexport type { SliderProps, SliderThumbProps, SliderTrackProps }\n"],"names":["rootStyles","cva","SliderContext","createContext","useSliderContext","useContext","Slider","asChild","intent","shape","children","className","ref","disabledProp","readOnlyProp","nameProp","rest","field","useFormFieldControl","disabled","readOnly","name","jsx","RadixSlider","thumbVariants","SliderThumb","onPointerDown","onKeyDown","onBlur","forwardedRef","fieldLabelId","fieldId","innerRef","useRef","setInteractionType","trackVariants","rangeVariants","SliderTrack","Root","Thumb","Track"],"mappings":"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"}
|