@tribepad/themis 1.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/CHANGELOG.md +17 -0
- package/LICENSE +21 -0
- package/README.md +114 -0
- package/dist/Carousel-NTZX5TOW.js +16 -0
- package/dist/Carousel-NTZX5TOW.js.map +1 -0
- package/dist/Carousel-YH3DOQJU.mjs +7 -0
- package/dist/Carousel-YH3DOQJU.mjs.map +1 -0
- package/dist/chunk-2HIUTHMU.mjs +234 -0
- package/dist/chunk-2HIUTHMU.mjs.map +1 -0
- package/dist/chunk-34GTFTDO.js +431 -0
- package/dist/chunk-34GTFTDO.js.map +1 -0
- package/dist/chunk-3H7ASYR7.js +250 -0
- package/dist/chunk-3H7ASYR7.js.map +1 -0
- package/dist/chunk-3IEN7JOP.js +316 -0
- package/dist/chunk-3IEN7JOP.js.map +1 -0
- package/dist/chunk-3JHN4GAL.js +326 -0
- package/dist/chunk-3JHN4GAL.js.map +1 -0
- package/dist/chunk-3MJPASQU.js +232 -0
- package/dist/chunk-3MJPASQU.js.map +1 -0
- package/dist/chunk-3XD2JUL3.js +572 -0
- package/dist/chunk-3XD2JUL3.js.map +1 -0
- package/dist/chunk-3YOY2VJ6.js +189 -0
- package/dist/chunk-3YOY2VJ6.js.map +1 -0
- package/dist/chunk-4DU5JSXB.js +408 -0
- package/dist/chunk-4DU5JSXB.js.map +1 -0
- package/dist/chunk-4E4E2GSS.js +352 -0
- package/dist/chunk-4E4E2GSS.js.map +1 -0
- package/dist/chunk-4NHAP4AN.mjs +3 -0
- package/dist/chunk-4NHAP4AN.mjs.map +1 -0
- package/dist/chunk-4S33J5NY.mjs +415 -0
- package/dist/chunk-4S33J5NY.mjs.map +1 -0
- package/dist/chunk-5SMGRT3G.mjs +354 -0
- package/dist/chunk-5SMGRT3G.mjs.map +1 -0
- package/dist/chunk-5SVLJN2C.mjs +22 -0
- package/dist/chunk-5SVLJN2C.mjs.map +1 -0
- package/dist/chunk-66WTU4EB.mjs +299 -0
- package/dist/chunk-66WTU4EB.mjs.map +1 -0
- package/dist/chunk-6S25NMOT.mjs +335 -0
- package/dist/chunk-6S25NMOT.mjs.map +1 -0
- package/dist/chunk-6SP7UB3D.js +4 -0
- package/dist/chunk-6SP7UB3D.js.map +1 -0
- package/dist/chunk-6TYWWQHM.mjs +565 -0
- package/dist/chunk-6TYWWQHM.mjs.map +1 -0
- package/dist/chunk-A3YUJA6W.mjs +384 -0
- package/dist/chunk-A3YUJA6W.mjs.map +1 -0
- package/dist/chunk-A6KEDVUR.js +61 -0
- package/dist/chunk-A6KEDVUR.js.map +1 -0
- package/dist/chunk-A77RUEWL.js +730 -0
- package/dist/chunk-A77RUEWL.js.map +1 -0
- package/dist/chunk-AA4IKMPE.mjs +3 -0
- package/dist/chunk-AA4IKMPE.mjs.map +1 -0
- package/dist/chunk-AKIA6GW6.mjs +163 -0
- package/dist/chunk-AKIA6GW6.mjs.map +1 -0
- package/dist/chunk-AL6P275L.mjs +435 -0
- package/dist/chunk-AL6P275L.mjs.map +1 -0
- package/dist/chunk-AZ3RJYTB.js +37 -0
- package/dist/chunk-AZ3RJYTB.js.map +1 -0
- package/dist/chunk-B5Q4UPL6.js +32 -0
- package/dist/chunk-B5Q4UPL6.js.map +1 -0
- package/dist/chunk-B6DHPMDP.mjs +335 -0
- package/dist/chunk-B6DHPMDP.mjs.map +1 -0
- package/dist/chunk-BDXKKMBZ.mjs +184 -0
- package/dist/chunk-BDXKKMBZ.mjs.map +1 -0
- package/dist/chunk-BL6E2DLZ.mjs +52 -0
- package/dist/chunk-BL6E2DLZ.mjs.map +1 -0
- package/dist/chunk-CGFDS4XS.mjs +121 -0
- package/dist/chunk-CGFDS4XS.mjs.map +1 -0
- package/dist/chunk-CJIW5TKI.js +139 -0
- package/dist/chunk-CJIW5TKI.js.map +1 -0
- package/dist/chunk-CKNISJOQ.js +314 -0
- package/dist/chunk-CKNISJOQ.js.map +1 -0
- package/dist/chunk-D6CBOECS.mjs +1757 -0
- package/dist/chunk-D6CBOECS.mjs.map +1 -0
- package/dist/chunk-DDWEVC2S.js +166 -0
- package/dist/chunk-DDWEVC2S.js.map +1 -0
- package/dist/chunk-DZ556D2F.mjs +176 -0
- package/dist/chunk-DZ556D2F.mjs.map +1 -0
- package/dist/chunk-E2KQFV3O.mjs +10 -0
- package/dist/chunk-E2KQFV3O.mjs.map +1 -0
- package/dist/chunk-EMMLADSC.js +126 -0
- package/dist/chunk-EMMLADSC.js.map +1 -0
- package/dist/chunk-EP4WOI5D.mjs +926 -0
- package/dist/chunk-EP4WOI5D.mjs.map +1 -0
- package/dist/chunk-FJRXLJC2.mjs +160 -0
- package/dist/chunk-FJRXLJC2.mjs.map +1 -0
- package/dist/chunk-FKQI434R.js +345 -0
- package/dist/chunk-FKQI434R.js.map +1 -0
- package/dist/chunk-FPKEAJRZ.mjs +100 -0
- package/dist/chunk-FPKEAJRZ.mjs.map +1 -0
- package/dist/chunk-FWQYB22U.js +183 -0
- package/dist/chunk-FWQYB22U.js.map +1 -0
- package/dist/chunk-GD5GHTMA.js +189 -0
- package/dist/chunk-GD5GHTMA.js.map +1 -0
- package/dist/chunk-GE5XTSDZ.js +447 -0
- package/dist/chunk-GE5XTSDZ.js.map +1 -0
- package/dist/chunk-GVE47ZAX.mjs +32 -0
- package/dist/chunk-GVE47ZAX.mjs.map +1 -0
- package/dist/chunk-HK46BT5U.mjs +18 -0
- package/dist/chunk-HK46BT5U.mjs.map +1 -0
- package/dist/chunk-HQVRMR6N.js +365 -0
- package/dist/chunk-HQVRMR6N.js.map +1 -0
- package/dist/chunk-HSGBJPJO.mjs +398 -0
- package/dist/chunk-HSGBJPJO.mjs.map +1 -0
- package/dist/chunk-I3AUTOMZ.mjs +125 -0
- package/dist/chunk-I3AUTOMZ.mjs.map +1 -0
- package/dist/chunk-IEI5LD5C.mjs +1161 -0
- package/dist/chunk-IEI5LD5C.mjs.map +1 -0
- package/dist/chunk-IIPTC2X7.mjs +118 -0
- package/dist/chunk-IIPTC2X7.mjs.map +1 -0
- package/dist/chunk-J7TLHF2Q.js +4 -0
- package/dist/chunk-J7TLHF2Q.js.map +1 -0
- package/dist/chunk-JJOWXFXQ.mjs +765 -0
- package/dist/chunk-JJOWXFXQ.mjs.map +1 -0
- package/dist/chunk-JPTSS2OA.mjs +3 -0
- package/dist/chunk-JPTSS2OA.mjs.map +1 -0
- package/dist/chunk-KFXXRLTP.js +396 -0
- package/dist/chunk-KFXXRLTP.js.map +1 -0
- package/dist/chunk-KPRRBSG6.mjs +272 -0
- package/dist/chunk-KPRRBSG6.mjs.map +1 -0
- package/dist/chunk-NFSBGRDB.mjs +57 -0
- package/dist/chunk-NFSBGRDB.mjs.map +1 -0
- package/dist/chunk-NGJVCFTM.js +219 -0
- package/dist/chunk-NGJVCFTM.js.map +1 -0
- package/dist/chunk-NSQ6MZJ6.mjs +728 -0
- package/dist/chunk-NSQ6MZJ6.mjs.map +1 -0
- package/dist/chunk-NYQYHT76.mjs +296 -0
- package/dist/chunk-NYQYHT76.mjs.map +1 -0
- package/dist/chunk-OLJJGI5B.js +1193 -0
- package/dist/chunk-OLJJGI5B.js.map +1 -0
- package/dist/chunk-Q3572X2J.js +292 -0
- package/dist/chunk-Q3572X2J.js.map +1 -0
- package/dist/chunk-QH7N7D4I.mjs +210 -0
- package/dist/chunk-QH7N7D4I.mjs.map +1 -0
- package/dist/chunk-R7XUIV25.js +466 -0
- package/dist/chunk-R7XUIV25.js.map +1 -0
- package/dist/chunk-RFFO4KPM.js +135 -0
- package/dist/chunk-RFFO4KPM.js.map +1 -0
- package/dist/chunk-RFX7QKA7.mjs +180 -0
- package/dist/chunk-RFX7QKA7.mjs.map +1 -0
- package/dist/chunk-SN5LFAP3.js +940 -0
- package/dist/chunk-SN5LFAP3.js.map +1 -0
- package/dist/chunk-T4COXKQ3.js +24 -0
- package/dist/chunk-T4COXKQ3.js.map +1 -0
- package/dist/chunk-TS54QM27.js +125 -0
- package/dist/chunk-TS54QM27.js.map +1 -0
- package/dist/chunk-UE2S4PCX.mjs +220 -0
- package/dist/chunk-UE2S4PCX.mjs.map +1 -0
- package/dist/chunk-UTW3QX2A.mjs +282 -0
- package/dist/chunk-UTW3QX2A.mjs.map +1 -0
- package/dist/chunk-V74LGMAE.js +1767 -0
- package/dist/chunk-V74LGMAE.js.map +1 -0
- package/dist/chunk-VIREG536.js +12 -0
- package/dist/chunk-VIREG536.js.map +1 -0
- package/dist/chunk-VY7M7346.js +4 -0
- package/dist/chunk-VY7M7346.js.map +1 -0
- package/dist/chunk-W3TJOO7H.mjs +319 -0
- package/dist/chunk-W3TJOO7H.mjs.map +1 -0
- package/dist/chunk-WIUOB36M.js +54 -0
- package/dist/chunk-WIUOB36M.js.map +1 -0
- package/dist/chunk-WJGLM4CY.js +291 -0
- package/dist/chunk-WJGLM4CY.js.map +1 -0
- package/dist/chunk-WNURH5OO.mjs +453 -0
- package/dist/chunk-WNURH5OO.mjs.map +1 -0
- package/dist/chunk-X25TNRSD.mjs +364 -0
- package/dist/chunk-X25TNRSD.mjs.map +1 -0
- package/dist/chunk-Y3GT7ETK.js +108 -0
- package/dist/chunk-Y3GT7ETK.js.map +1 -0
- package/dist/chunk-Z4FRNOF6.mjs +115 -0
- package/dist/chunk-Z4FRNOF6.mjs.map +1 -0
- package/dist/chunk-ZMYLD3BN.js +166 -0
- package/dist/chunk-ZMYLD3BN.js.map +1 -0
- package/dist/chunk-ZP2KV6EX.js +815 -0
- package/dist/chunk-ZP2KV6EX.js.map +1 -0
- package/dist/chunk-ZVKXFELU.js +366 -0
- package/dist/chunk-ZVKXFELU.js.map +1 -0
- package/dist/elements/Accordion/Accordion.d.ts +139 -0
- package/dist/elements/Accordion/Accordion.d.ts.map +1 -0
- package/dist/elements/Accordion/Accordion.types.d.ts +143 -0
- package/dist/elements/Accordion/Accordion.types.d.ts.map +1 -0
- package/dist/elements/Accordion/index.d.ts +13 -0
- package/dist/elements/Accordion/index.d.ts.map +1 -0
- package/dist/elements/Accordion/index.js +78 -0
- package/dist/elements/Accordion/index.js.map +1 -0
- package/dist/elements/Accordion/index.mjs +5 -0
- package/dist/elements/Accordion/index.mjs.map +1 -0
- package/dist/elements/Avatar/Avatar.d.ts +51 -0
- package/dist/elements/Avatar/Avatar.d.ts.map +1 -0
- package/dist/elements/Avatar/Avatar.types.d.ts +145 -0
- package/dist/elements/Avatar/Avatar.types.d.ts.map +1 -0
- package/dist/elements/Avatar/AvatarGroup.d.ts +32 -0
- package/dist/elements/Avatar/AvatarGroup.d.ts.map +1 -0
- package/dist/elements/Avatar/index.d.ts +11 -0
- package/dist/elements/Avatar/index.d.ts.map +1 -0
- package/dist/elements/Avatar/index.js +54 -0
- package/dist/elements/Avatar/index.js.map +1 -0
- package/dist/elements/Avatar/index.mjs +5 -0
- package/dist/elements/Avatar/index.mjs.map +1 -0
- package/dist/elements/Badge/Badge.d.ts +39 -0
- package/dist/elements/Badge/Badge.d.ts.map +1 -0
- package/dist/elements/Badge/Badge.types.d.ts +76 -0
- package/dist/elements/Badge/Badge.types.d.ts.map +1 -0
- package/dist/elements/Badge/index.d.ts +18 -0
- package/dist/elements/Badge/index.d.ts.map +1 -0
- package/dist/elements/Badge/index.js +43 -0
- package/dist/elements/Badge/index.js.map +1 -0
- package/dist/elements/Badge/index.mjs +6 -0
- package/dist/elements/Badge/index.mjs.map +1 -0
- package/dist/elements/Breadcrumbs/Breadcrumbs.d.ts +91 -0
- package/dist/elements/Breadcrumbs/Breadcrumbs.d.ts.map +1 -0
- package/dist/elements/Breadcrumbs/Breadcrumbs.types.d.ts +114 -0
- package/dist/elements/Breadcrumbs/Breadcrumbs.types.d.ts.map +1 -0
- package/dist/elements/Breadcrumbs/index.d.ts +14 -0
- package/dist/elements/Breadcrumbs/index.d.ts.map +1 -0
- package/dist/elements/Breadcrumbs/index.js +54 -0
- package/dist/elements/Breadcrumbs/index.js.map +1 -0
- package/dist/elements/Breadcrumbs/index.mjs +9 -0
- package/dist/elements/Breadcrumbs/index.mjs.map +1 -0
- package/dist/elements/Button/Button.d.ts +92 -0
- package/dist/elements/Button/Button.d.ts.map +1 -0
- package/dist/elements/Button/Button.types.d.ts +54 -0
- package/dist/elements/Button/Button.types.d.ts.map +1 -0
- package/dist/elements/Button/index.d.ts +18 -0
- package/dist/elements/Button/index.d.ts.map +1 -0
- package/dist/elements/Button/index.js +27 -0
- package/dist/elements/Button/index.js.map +1 -0
- package/dist/elements/Button/index.mjs +6 -0
- package/dist/elements/Button/index.mjs.map +1 -0
- package/dist/elements/ButtonGroup/ButtonGroup.d.ts +53 -0
- package/dist/elements/ButtonGroup/ButtonGroup.d.ts.map +1 -0
- package/dist/elements/ButtonGroup/ButtonGroup.types.d.ts +98 -0
- package/dist/elements/ButtonGroup/ButtonGroup.types.d.ts.map +1 -0
- package/dist/elements/ButtonGroup/ButtonGroup.utils.d.ts +60 -0
- package/dist/elements/ButtonGroup/ButtonGroup.utils.d.ts.map +1 -0
- package/dist/elements/ButtonGroup/ButtonGroup.variants.d.ts +39 -0
- package/dist/elements/ButtonGroup/ButtonGroup.variants.d.ts.map +1 -0
- package/dist/elements/ButtonGroup/ButtonGroupContext.d.ts +42 -0
- package/dist/elements/ButtonGroup/ButtonGroupContext.d.ts.map +1 -0
- package/dist/elements/ButtonGroup/index.d.ts +35 -0
- package/dist/elements/ButtonGroup/index.d.ts.map +1 -0
- package/dist/elements/ButtonGroup/index.js +66 -0
- package/dist/elements/ButtonGroup/index.js.map +1 -0
- package/dist/elements/ButtonGroup/index.mjs +5 -0
- package/dist/elements/ButtonGroup/index.mjs.map +1 -0
- package/dist/elements/Card/Card.d.ts +104 -0
- package/dist/elements/Card/Card.d.ts.map +1 -0
- package/dist/elements/Card/Card.types.d.ts +227 -0
- package/dist/elements/Card/Card.types.d.ts.map +1 -0
- package/dist/elements/Card/index.d.ts +38 -0
- package/dist/elements/Card/index.d.ts.map +1 -0
- package/dist/elements/Card/index.js +85 -0
- package/dist/elements/Card/index.js.map +1 -0
- package/dist/elements/Card/index.mjs +8 -0
- package/dist/elements/Card/index.mjs.map +1 -0
- package/dist/elements/Carousel/Carousel.d.ts +13 -0
- package/dist/elements/Carousel/Carousel.d.ts.map +1 -0
- package/dist/elements/Carousel/Carousel.types.d.ts +65 -0
- package/dist/elements/Carousel/Carousel.types.d.ts.map +1 -0
- package/dist/elements/Carousel/LazyCarousel.d.ts +46 -0
- package/dist/elements/Carousel/LazyCarousel.d.ts.map +1 -0
- package/dist/elements/Carousel/index.d.ts +5 -0
- package/dist/elements/Carousel/index.d.ts.map +1 -0
- package/dist/elements/Carousel/index.js +23 -0
- package/dist/elements/Carousel/index.js.map +1 -0
- package/dist/elements/Carousel/index.mjs +10 -0
- package/dist/elements/Carousel/index.mjs.map +1 -0
- package/dist/elements/Chart/Chart.d.ts +44 -0
- package/dist/elements/Chart/Chart.d.ts.map +1 -0
- package/dist/elements/Chart/Chart.types.d.ts +254 -0
- package/dist/elements/Chart/Chart.types.d.ts.map +1 -0
- package/dist/elements/Chart/ChartAnnouncer.d.ts +24 -0
- package/dist/elements/Chart/ChartAnnouncer.d.ts.map +1 -0
- package/dist/elements/Chart/ChartAxis.d.ts +42 -0
- package/dist/elements/Chart/ChartAxis.d.ts.map +1 -0
- package/dist/elements/Chart/ChartBarSeries.d.ts +54 -0
- package/dist/elements/Chart/ChartBarSeries.d.ts.map +1 -0
- package/dist/elements/Chart/ChartContext.d.ts +46 -0
- package/dist/elements/Chart/ChartContext.d.ts.map +1 -0
- package/dist/elements/Chart/ChartDataPoint.d.ts +56 -0
- package/dist/elements/Chart/ChartDataPoint.d.ts.map +1 -0
- package/dist/elements/Chart/ChartDataTable.d.ts +35 -0
- package/dist/elements/Chart/ChartDataTable.d.ts.map +1 -0
- package/dist/elements/Chart/ChartGrid.d.ts +32 -0
- package/dist/elements/Chart/ChartGrid.d.ts.map +1 -0
- package/dist/elements/Chart/ChartLegend.d.ts +32 -0
- package/dist/elements/Chart/ChartLegend.d.ts.map +1 -0
- package/dist/elements/Chart/ChartLineSeries.d.ts +52 -0
- package/dist/elements/Chart/ChartLineSeries.d.ts.map +1 -0
- package/dist/elements/Chart/ChartSVG.d.ts +62 -0
- package/dist/elements/Chart/ChartSVG.d.ts.map +1 -0
- package/dist/elements/Chart/ChartTooltip.d.ts +45 -0
- package/dist/elements/Chart/ChartTooltip.d.ts.map +1 -0
- package/dist/elements/Chart/chart.constants.d.ts +108 -0
- package/dist/elements/Chart/chart.constants.d.ts.map +1 -0
- package/dist/elements/Chart/chart.variants.d.ts +45 -0
- package/dist/elements/Chart/chart.variants.d.ts.map +1 -0
- package/dist/elements/Chart/index.d.ts +12 -0
- package/dist/elements/Chart/index.d.ts.map +1 -0
- package/dist/elements/Chart/index.js +47 -0
- package/dist/elements/Chart/index.js.map +1 -0
- package/dist/elements/Chart/index.mjs +6 -0
- package/dist/elements/Chart/index.mjs.map +1 -0
- package/dist/elements/Chart/useChartDimensions.d.ts +18 -0
- package/dist/elements/Chart/useChartDimensions.d.ts.map +1 -0
- package/dist/elements/Chart/useChartKeyboard.d.ts +42 -0
- package/dist/elements/Chart/useChartKeyboard.d.ts.map +1 -0
- package/dist/elements/Chart/useRovingTabIndex.d.ts +46 -0
- package/dist/elements/Chart/useRovingTabIndex.d.ts.map +1 -0
- package/dist/elements/Checkbox/Checkbox.d.ts +94 -0
- package/dist/elements/Checkbox/Checkbox.d.ts.map +1 -0
- package/dist/elements/Checkbox/Checkbox.types.d.ts +82 -0
- package/dist/elements/Checkbox/Checkbox.types.d.ts.map +1 -0
- package/dist/elements/Checkbox/index.d.ts +7 -0
- package/dist/elements/Checkbox/index.d.ts.map +1 -0
- package/dist/elements/Checkbox/index.js +47 -0
- package/dist/elements/Checkbox/index.js.map +1 -0
- package/dist/elements/Checkbox/index.mjs +6 -0
- package/dist/elements/Checkbox/index.mjs.map +1 -0
- package/dist/elements/CheckboxGroup/CheckboxGroup.d.ts +130 -0
- package/dist/elements/CheckboxGroup/CheckboxGroup.d.ts.map +1 -0
- package/dist/elements/CheckboxGroup/CheckboxGroup.types.d.ts +142 -0
- package/dist/elements/CheckboxGroup/CheckboxGroup.types.d.ts.map +1 -0
- package/dist/elements/CheckboxGroup/index.d.ts +10 -0
- package/dist/elements/CheckboxGroup/index.d.ts.map +1 -0
- package/dist/elements/CheckboxGroup/index.js +71 -0
- package/dist/elements/CheckboxGroup/index.js.map +1 -0
- package/dist/elements/CheckboxGroup/index.mjs +6 -0
- package/dist/elements/CheckboxGroup/index.mjs.map +1 -0
- package/dist/elements/DatePicker/Calendar.d.ts +16 -0
- package/dist/elements/DatePicker/Calendar.d.ts.map +1 -0
- package/dist/elements/DatePicker/DateField.d.ts +13 -0
- package/dist/elements/DatePicker/DateField.d.ts.map +1 -0
- package/dist/elements/DatePicker/DatePicker.d.ts +16 -0
- package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -0
- package/dist/elements/DatePicker/DatePicker.types.d.ts +390 -0
- package/dist/elements/DatePicker/DatePicker.types.d.ts.map +1 -0
- package/dist/elements/DatePicker/DatePicker.variants.d.ts +42 -0
- package/dist/elements/DatePicker/DatePicker.variants.d.ts.map +1 -0
- package/dist/elements/DatePicker/DateRangePicker.d.ts +13 -0
- package/dist/elements/DatePicker/DateRangePicker.d.ts.map +1 -0
- package/dist/elements/DatePicker/index.d.ts +14 -0
- package/dist/elements/DatePicker/index.d.ts.map +1 -0
- package/dist/elements/DatePicker/index.js +123 -0
- package/dist/elements/DatePicker/index.js.map +1 -0
- package/dist/elements/DatePicker/index.mjs +6 -0
- package/dist/elements/DatePicker/index.mjs.map +1 -0
- package/dist/elements/Dropdown/Dropdown.d.ts +197 -0
- package/dist/elements/Dropdown/Dropdown.d.ts.map +1 -0
- package/dist/elements/Dropdown/Dropdown.types.d.ts +175 -0
- package/dist/elements/Dropdown/Dropdown.types.d.ts.map +1 -0
- package/dist/elements/Dropdown/index.d.ts +12 -0
- package/dist/elements/Dropdown/index.d.ts.map +1 -0
- package/dist/elements/Dropdown/index.js +41 -0
- package/dist/elements/Dropdown/index.js.map +1 -0
- package/dist/elements/Dropdown/index.mjs +4 -0
- package/dist/elements/Dropdown/index.mjs.map +1 -0
- package/dist/elements/FileField/FileField.d.ts +46 -0
- package/dist/elements/FileField/FileField.d.ts.map +1 -0
- package/dist/elements/FileField/FileField.types.d.ts +99 -0
- package/dist/elements/FileField/FileField.types.d.ts.map +1 -0
- package/dist/elements/FileField/FileField.variants.d.ts +49 -0
- package/dist/elements/FileField/FileField.variants.d.ts.map +1 -0
- package/dist/elements/FileField/FilePreview.d.ts +27 -0
- package/dist/elements/FileField/FilePreview.d.ts.map +1 -0
- package/dist/elements/FileField/FileProgress.d.ts +35 -0
- package/dist/elements/FileField/FileProgress.d.ts.map +1 -0
- package/dist/elements/FileField/FileProgress.variants.d.ts +55 -0
- package/dist/elements/FileField/FileProgress.variants.d.ts.map +1 -0
- package/dist/elements/FileField/index.d.ts +41 -0
- package/dist/elements/FileField/index.d.ts.map +1 -0
- package/dist/elements/FileField/index.js +138 -0
- package/dist/elements/FileField/index.js.map +1 -0
- package/dist/elements/FileField/index.mjs +9 -0
- package/dist/elements/FileField/index.mjs.map +1 -0
- package/dist/elements/FileField/useFilePreview.d.ts +46 -0
- package/dist/elements/FileField/useFilePreview.d.ts.map +1 -0
- package/dist/elements/FileField/utils.d.ts +134 -0
- package/dist/elements/FileField/utils.d.ts.map +1 -0
- package/dist/elements/FormLayout/FormLayout.d.ts +51 -0
- package/dist/elements/FormLayout/FormLayout.d.ts.map +1 -0
- package/dist/elements/FormLayout/FormLayout.types.d.ts +66 -0
- package/dist/elements/FormLayout/FormLayout.types.d.ts.map +1 -0
- package/dist/elements/FormLayout/index.d.ts +3 -0
- package/dist/elements/FormLayout/index.d.ts.map +1 -0
- package/dist/elements/FormLayout/index.js +17 -0
- package/dist/elements/FormLayout/index.js.map +1 -0
- package/dist/elements/FormLayout/index.mjs +4 -0
- package/dist/elements/FormLayout/index.mjs.map +1 -0
- package/dist/elements/Modal/Modal.d.ts +168 -0
- package/dist/elements/Modal/Modal.d.ts.map +1 -0
- package/dist/elements/Modal/Modal.types.d.ts +265 -0
- package/dist/elements/Modal/Modal.types.d.ts.map +1 -0
- package/dist/elements/Modal/index.d.ts +14 -0
- package/dist/elements/Modal/index.d.ts.map +1 -0
- package/dist/elements/Modal/index.js +52 -0
- package/dist/elements/Modal/index.js.map +1 -0
- package/dist/elements/Modal/index.mjs +3 -0
- package/dist/elements/Modal/index.mjs.map +1 -0
- package/dist/elements/NumberField/NumberField.d.ts +43 -0
- package/dist/elements/NumberField/NumberField.d.ts.map +1 -0
- package/dist/elements/NumberField/NumberField.types.d.ts +112 -0
- package/dist/elements/NumberField/NumberField.types.d.ts.map +1 -0
- package/dist/elements/NumberField/NumberField.variants.d.ts +82 -0
- package/dist/elements/NumberField/NumberField.variants.d.ts.map +1 -0
- package/dist/elements/NumberField/index.d.ts +25 -0
- package/dist/elements/NumberField/index.d.ts.map +1 -0
- package/dist/elements/NumberField/index.js +57 -0
- package/dist/elements/NumberField/index.js.map +1 -0
- package/dist/elements/NumberField/index.mjs +8 -0
- package/dist/elements/NumberField/index.mjs.map +1 -0
- package/dist/elements/OTPInput/OTPInput.d.ts +105 -0
- package/dist/elements/OTPInput/OTPInput.d.ts.map +1 -0
- package/dist/elements/OTPInput/OTPInput.styles.d.ts +83 -0
- package/dist/elements/OTPInput/OTPInput.styles.d.ts.map +1 -0
- package/dist/elements/OTPInput/OTPInput.types.d.ts +189 -0
- package/dist/elements/OTPInput/OTPInput.types.d.ts.map +1 -0
- package/dist/elements/OTPInput/components/OTPDigit.d.ts +51 -0
- package/dist/elements/OTPInput/components/OTPDigit.d.ts.map +1 -0
- package/dist/elements/OTPInput/hooks/useOTPInput.d.ts +36 -0
- package/dist/elements/OTPInput/hooks/useOTPInput.d.ts.map +1 -0
- package/dist/elements/OTPInput/hooks/useOTPKeyboard.d.ts +59 -0
- package/dist/elements/OTPInput/hooks/useOTPKeyboard.d.ts.map +1 -0
- package/dist/elements/OTPInput/index.d.ts +27 -0
- package/dist/elements/OTPInput/index.d.ts.map +1 -0
- package/dist/elements/OTPInput/index.js +13 -0
- package/dist/elements/OTPInput/index.js.map +1 -0
- package/dist/elements/OTPInput/index.mjs +4 -0
- package/dist/elements/OTPInput/index.mjs.map +1 -0
- package/dist/elements/Panel/Panel.d.ts +111 -0
- package/dist/elements/Panel/Panel.d.ts.map +1 -0
- package/dist/elements/Panel/Panel.types.d.ts +243 -0
- package/dist/elements/Panel/Panel.types.d.ts.map +1 -0
- package/dist/elements/Panel/index.d.ts +4 -0
- package/dist/elements/Panel/index.d.ts.map +1 -0
- package/dist/elements/Panel/index.js +33 -0
- package/dist/elements/Panel/index.js.map +1 -0
- package/dist/elements/Panel/index.mjs +4 -0
- package/dist/elements/Panel/index.mjs.map +1 -0
- package/dist/elements/Progress/Progress.d.ts +44 -0
- package/dist/elements/Progress/Progress.d.ts.map +1 -0
- package/dist/elements/Progress/Progress.types.d.ts +64 -0
- package/dist/elements/Progress/Progress.types.d.ts.map +1 -0
- package/dist/elements/Progress/index.d.ts +11 -0
- package/dist/elements/Progress/index.d.ts.map +1 -0
- package/dist/elements/Progress/index.js +30 -0
- package/dist/elements/Progress/index.js.map +1 -0
- package/dist/elements/Progress/index.mjs +5 -0
- package/dist/elements/Progress/index.mjs.map +1 -0
- package/dist/elements/RadioGroup/RadioGroup.d.ts +110 -0
- package/dist/elements/RadioGroup/RadioGroup.d.ts.map +1 -0
- package/dist/elements/RadioGroup/RadioGroup.types.d.ts +143 -0
- package/dist/elements/RadioGroup/RadioGroup.types.d.ts.map +1 -0
- package/dist/elements/RadioGroup/index.d.ts +10 -0
- package/dist/elements/RadioGroup/index.d.ts.map +1 -0
- package/dist/elements/RadioGroup/index.js +47 -0
- package/dist/elements/RadioGroup/index.js.map +1 -0
- package/dist/elements/RadioGroup/index.mjs +6 -0
- package/dist/elements/RadioGroup/index.mjs.map +1 -0
- package/dist/elements/Resizable/Resizable.types.d.ts +188 -0
- package/dist/elements/Resizable/Resizable.types.d.ts.map +1 -0
- package/dist/elements/Resizable/components/ResizableHandle.d.ts +28 -0
- package/dist/elements/Resizable/components/ResizableHandle.d.ts.map +1 -0
- package/dist/elements/Resizable/components/ResizablePanel.d.ts +24 -0
- package/dist/elements/Resizable/components/ResizablePanel.d.ts.map +1 -0
- package/dist/elements/Resizable/components/ResizablePanelGroup.d.ts +26 -0
- package/dist/elements/Resizable/components/ResizablePanelGroup.d.ts.map +1 -0
- package/dist/elements/Resizable/components/ResizablePopover.d.ts +45 -0
- package/dist/elements/Resizable/components/ResizablePopover.d.ts.map +1 -0
- package/dist/elements/Resizable/hooks/useResizable.d.ts +50 -0
- package/dist/elements/Resizable/hooks/useResizable.d.ts.map +1 -0
- package/dist/elements/Resizable/hooks/useResizableContext.d.ts +36 -0
- package/dist/elements/Resizable/hooks/useResizableContext.d.ts.map +1 -0
- package/dist/elements/Resizable/index.d.ts +37 -0
- package/dist/elements/Resizable/index.d.ts.map +1 -0
- package/dist/elements/Resizable/index.js +65 -0
- package/dist/elements/Resizable/index.js.map +1 -0
- package/dist/elements/Resizable/index.mjs +8 -0
- package/dist/elements/Resizable/index.mjs.map +1 -0
- package/dist/elements/Select/Select.d.ts +184 -0
- package/dist/elements/Select/Select.d.ts.map +1 -0
- package/dist/elements/Select/Select.types.d.ts +166 -0
- package/dist/elements/Select/Select.types.d.ts.map +1 -0
- package/dist/elements/Select/index.d.ts +35 -0
- package/dist/elements/Select/index.d.ts.map +1 -0
- package/dist/elements/Select/index.js +33 -0
- package/dist/elements/Select/index.js.map +1 -0
- package/dist/elements/Select/index.mjs +4 -0
- package/dist/elements/Select/index.mjs.map +1 -0
- package/dist/elements/Skeleton/Skeleton.d.ts +31 -0
- package/dist/elements/Skeleton/Skeleton.d.ts.map +1 -0
- package/dist/elements/Skeleton/Skeleton.types.d.ts +36 -0
- package/dist/elements/Skeleton/Skeleton.types.d.ts.map +1 -0
- package/dist/elements/Skeleton/index.d.ts +11 -0
- package/dist/elements/Skeleton/index.d.ts.map +1 -0
- package/dist/elements/Skeleton/index.js +22 -0
- package/dist/elements/Skeleton/index.js.map +1 -0
- package/dist/elements/Skeleton/index.mjs +5 -0
- package/dist/elements/Skeleton/index.mjs.map +1 -0
- package/dist/elements/Switch/Switch.d.ts +39 -0
- package/dist/elements/Switch/Switch.d.ts.map +1 -0
- package/dist/elements/Switch/Switch.types.d.ts +53 -0
- package/dist/elements/Switch/Switch.types.d.ts.map +1 -0
- package/dist/elements/Switch/index.d.ts +8 -0
- package/dist/elements/Switch/index.d.ts.map +1 -0
- package/dist/elements/Switch/index.js +49 -0
- package/dist/elements/Switch/index.js.map +1 -0
- package/dist/elements/Switch/index.mjs +31 -0
- package/dist/elements/Switch/index.mjs.map +1 -0
- package/dist/elements/Table/Table.d.ts +123 -0
- package/dist/elements/Table/Table.d.ts.map +1 -0
- package/dist/elements/Table/Table.types.d.ts +356 -0
- package/dist/elements/Table/Table.types.d.ts.map +1 -0
- package/dist/elements/Table/index.d.ts +5 -0
- package/dist/elements/Table/index.d.ts.map +1 -0
- package/dist/elements/Table/index.js +76 -0
- package/dist/elements/Table/index.js.map +1 -0
- package/dist/elements/Table/index.mjs +7 -0
- package/dist/elements/Table/index.mjs.map +1 -0
- package/dist/elements/Tabs/Tabs.d.ts +129 -0
- package/dist/elements/Tabs/Tabs.d.ts.map +1 -0
- package/dist/elements/Tabs/Tabs.types.d.ts +179 -0
- package/dist/elements/Tabs/Tabs.types.d.ts.map +1 -0
- package/dist/elements/Tabs/index.d.ts +12 -0
- package/dist/elements/Tabs/index.d.ts.map +1 -0
- package/dist/elements/Tabs/index.js +74 -0
- package/dist/elements/Tabs/index.js.map +1 -0
- package/dist/elements/Tabs/index.mjs +5 -0
- package/dist/elements/Tabs/index.mjs.map +1 -0
- package/dist/elements/TextField/TextField.d.ts +155 -0
- package/dist/elements/TextField/TextField.d.ts.map +1 -0
- package/dist/elements/TextField/TextField.types.d.ts +258 -0
- package/dist/elements/TextField/TextField.types.d.ts.map +1 -0
- package/dist/elements/TextField/index.css +23 -0
- package/dist/elements/TextField/index.css.map +1 -0
- package/dist/elements/TextField/index.d.ts +13 -0
- package/dist/elements/TextField/index.d.ts.map +1 -0
- package/dist/elements/TextField/index.js +260 -0
- package/dist/elements/TextField/index.js.map +1 -0
- package/dist/elements/TextField/index.mjs +207 -0
- package/dist/elements/TextField/index.mjs.map +1 -0
- package/dist/elements/TimeField/TimeField.d.ts +34 -0
- package/dist/elements/TimeField/TimeField.d.ts.map +1 -0
- package/dist/elements/TimeField/TimeField.types.d.ts +151 -0
- package/dist/elements/TimeField/TimeField.types.d.ts.map +1 -0
- package/dist/elements/TimeField/index.d.ts +24 -0
- package/dist/elements/TimeField/index.d.ts.map +1 -0
- package/dist/elements/TimeField/index.js +45 -0
- package/dist/elements/TimeField/index.js.map +1 -0
- package/dist/elements/TimeField/index.mjs +4 -0
- package/dist/elements/TimeField/index.mjs.map +1 -0
- package/dist/elements/Toast/Toast.d.ts +105 -0
- package/dist/elements/Toast/Toast.d.ts.map +1 -0
- package/dist/elements/Toast/Toast.types.d.ts +209 -0
- package/dist/elements/Toast/Toast.types.d.ts.map +1 -0
- package/dist/elements/Toast/ToastProvider.d.ts +37 -0
- package/dist/elements/Toast/ToastProvider.d.ts.map +1 -0
- package/dist/elements/Toast/Toaster.d.ts +18 -0
- package/dist/elements/Toast/Toaster.d.ts.map +1 -0
- package/dist/elements/Toast/index.d.ts +27 -0
- package/dist/elements/Toast/index.d.ts.map +1 -0
- package/dist/elements/Toast/index.js +60 -0
- package/dist/elements/Toast/index.js.map +1 -0
- package/dist/elements/Toast/index.mjs +7 -0
- package/dist/elements/Toast/index.mjs.map +1 -0
- package/dist/elements/Tooltip/Tooltip.d.ts +108 -0
- package/dist/elements/Tooltip/Tooltip.d.ts.map +1 -0
- package/dist/elements/Tooltip/Tooltip.types.d.ts +135 -0
- package/dist/elements/Tooltip/Tooltip.types.d.ts.map +1 -0
- package/dist/elements/Tooltip/index.d.ts +11 -0
- package/dist/elements/Tooltip/index.d.ts.map +1 -0
- package/dist/elements/Tooltip/index.js +59 -0
- package/dist/elements/Tooltip/index.js.map +1 -0
- package/dist/elements/Tooltip/index.mjs +6 -0
- package/dist/elements/Tooltip/index.mjs.map +1 -0
- package/dist/elements/index.css +23 -0
- package/dist/elements/index.css.map +1 -0
- package/dist/elements/index.d.ts +42 -0
- package/dist/elements/index.d.ts.map +1 -0
- package/dist/elements/index.js +839 -0
- package/dist/elements/index.js.map +1 -0
- package/dist/elements/index.mjs +42 -0
- package/dist/elements/index.mjs.map +1 -0
- package/dist/index.css +23 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +865 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +44 -0
- package/dist/index.mjs.map +1 -0
- package/dist/schemas/BaseComponentProps.d.ts +25 -0
- package/dist/schemas/BaseComponentProps.d.ts.map +1 -0
- package/dist/schemas/RegistryItem.d.ts +55 -0
- package/dist/schemas/RegistryItem.d.ts.map +1 -0
- package/dist/schemas/index.d.ts +3 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +29 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/index.mjs +4 -0
- package/dist/schemas/index.mjs.map +1 -0
- package/dist/styles/defaults.css +174 -0
- package/dist/styles/index.d.ts +7 -0
- package/dist/styles/index.d.ts.map +1 -0
- package/dist/styles/index.js +153 -0
- package/dist/styles/index.js.map +1 -0
- package/dist/styles/index.mjs +4 -0
- package/dist/styles/index.mjs.map +1 -0
- package/dist/styles/interaction-states.d.ts +96 -0
- package/dist/styles/interaction-states.d.ts.map +1 -0
- package/dist/styles/shared-variants.d.ts +120 -0
- package/dist/styles/shared-variants.d.ts.map +1 -0
- package/dist/styles/tokens.css +89 -0
- package/dist/utils/cn.d.ts +13 -0
- package/dist/utils/cn.d.ts.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +13 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/index.mjs +4 -0
- package/dist/utils/index.mjs.map +1 -0
- package/package.json +228 -0
- package/src/elements/Accordion/Accordion.stories.tsx +793 -0
- package/src/elements/Avatar/Avatar.stories.tsx +408 -0
- package/src/elements/Badge/Badge.stories.tsx +509 -0
- package/src/elements/Breadcrumbs/Breadcrumbs.stories.tsx +623 -0
- package/src/elements/Button/Button.stories.tsx +670 -0
- package/src/elements/ButtonGroup/ButtonGroup.stories.tsx +658 -0
- package/src/elements/Card/Card.stories.tsx +570 -0
- package/src/elements/Carousel/Carousel.stories.tsx +597 -0
- package/src/elements/Chart/Chart.stories.tsx +616 -0
- package/src/elements/Checkbox/Checkbox.stories.tsx +514 -0
- package/src/elements/CheckboxGroup/CheckboxGroup.stories.tsx +1514 -0
- package/src/elements/DatePicker/DatePicker.stories.tsx +341 -0
- package/src/elements/Dropdown/Dropdown.stories.tsx +397 -0
- package/src/elements/FileField/FileField.stories.tsx +1021 -0
- package/src/elements/FileField/FileProgress.stories.tsx +359 -0
- package/src/elements/FormLayout/FormLayout.stories.tsx +637 -0
- package/src/elements/Modal/Modal.stories.tsx +640 -0
- package/src/elements/NumberField/NumberField.stories.tsx +678 -0
- package/src/elements/OTPInput/OTPInput.stories.tsx +404 -0
- package/src/elements/Panel/Panel.stories.tsx +769 -0
- package/src/elements/Progress/Progress.stories.tsx +668 -0
- package/src/elements/RadioGroup/RadioGroup.stories.tsx +1153 -0
- package/src/elements/Resizable/Resizable.stories.tsx +374 -0
- package/src/elements/Select/Select.stories.tsx +362 -0
- package/src/elements/Skeleton/Skeleton.stories.tsx +284 -0
- package/src/elements/Switch/Switch.stories.tsx +441 -0
- package/src/elements/Table/Table.stories.tsx +790 -0
- package/src/elements/Tabs/Tabs.stories.tsx +661 -0
- package/src/elements/TextField/TextField.stories.tsx +1878 -0
- package/src/elements/TimeField/TimeField.stories.tsx +671 -0
- package/src/elements/Toast/Toast.stories.tsx +971 -0
- package/src/elements/Tooltip/Tooltip.stories.tsx +748 -0
- package/tailwind.config.js +10 -0
- package/tailwind.config.v3.js +10 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Skeleton } from './chunk-NFSBGRDB.mjs';
|
|
2
|
+
import { lazy, useState, useEffect, Activity, Suspense } from 'react';
|
|
3
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
var Carousel = lazy(
|
|
6
|
+
() => import('./Carousel-YH3DOQJU.mjs').then((mod) => ({ default: mod.Carousel }))
|
|
7
|
+
);
|
|
8
|
+
function CarouselSkeleton() {
|
|
9
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 p-4", children: [
|
|
10
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-8 w-3/4" }),
|
|
11
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-full" }),
|
|
12
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-5/6" }),
|
|
13
|
+
/* @__PURE__ */ jsxs("div", { className: "flex gap-2 mt-4", children: [
|
|
14
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-3 rounded-full" }),
|
|
15
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-3 rounded-full" }),
|
|
16
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-3 rounded-full" })
|
|
17
|
+
] })
|
|
18
|
+
] });
|
|
19
|
+
}
|
|
20
|
+
function LazyCarousel({
|
|
21
|
+
minWidth = 1024,
|
|
22
|
+
preserveState = true,
|
|
23
|
+
...props
|
|
24
|
+
}) {
|
|
25
|
+
const [isVisible, setIsVisible] = useState(false);
|
|
26
|
+
const [hasLoaded, setHasLoaded] = useState(false);
|
|
27
|
+
const [isClient, setIsClient] = useState(false);
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
setIsClient(true);
|
|
30
|
+
const checkViewport = () => {
|
|
31
|
+
const visible = window.innerWidth >= minWidth;
|
|
32
|
+
setIsVisible(visible);
|
|
33
|
+
if (visible) {
|
|
34
|
+
setHasLoaded(true);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
checkViewport();
|
|
38
|
+
window.addEventListener("resize", checkViewport);
|
|
39
|
+
return () => window.removeEventListener("resize", checkViewport);
|
|
40
|
+
}, [minWidth]);
|
|
41
|
+
if (!isClient) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
if (!hasLoaded && !isVisible) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
return /* @__PURE__ */ jsx(Activity, { mode: preserveState && !isVisible ? "hidden" : "visible", children: /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(CarouselSkeleton, {}), children: /* @__PURE__ */ jsx(Carousel, { ...props }) }) });
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export { LazyCarousel };
|
|
51
|
+
//# sourceMappingURL=chunk-BL6E2DLZ.mjs.map
|
|
52
|
+
//# sourceMappingURL=chunk-BL6E2DLZ.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/elements/Carousel/LazyCarousel.tsx"],"names":[],"mappings":";;;;AA+BA,IAAM,QAAA,GAAW,IAAA;AAAA,EAAK,MACpB,OAAO,yBAAY,CAAA,CAAE,IAAA,CAAK,UAAQ,EAAE,OAAA,EAAS,GAAA,CAAI,QAAA,EAAS,CAAE;AAC9D,CAAA;AAcA,SAAS,gBAAA,GAAiC;AACxC,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACb,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,WAAU,WAAA,EAAY,CAAA;AAAA,oBAChC,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,YAAA,EAAa,CAAA;AAAA,oBACjC,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,WAAA,EAAY,CAAA;AAAA,oBAChC,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iBAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,WAAU,sBAAA,EAAuB,CAAA;AAAA,sBAC3C,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,sBAAA,EAAuB,CAAA;AAAA,sBAC3C,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,sBAAA,EAAuB;AAAA,KAAA,EAC7C;AAAA,GAAA,EACF,CAAA;AAEJ;AAYO,SAAS,YAAA,CAAa;AAAA,EAC3B,QAAA,GAAW,IAAA;AAAA,EACX,aAAA,GAAgB,IAAA;AAAA,EAChB,GAAG;AACL,CAAA,EAA2C;AACzC,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,KAAK,CAAA;AAChD,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,KAAK,CAAA;AAChD,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAS,KAAK,CAAA;AAE9C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,WAAA,CAAY,IAAI,CAAA;AAGhB,IAAA,MAAM,gBAAgB,MAAY;AAChC,MAAA,MAAM,OAAA,GAAU,OAAO,UAAA,IAAc,QAAA;AACrC,MAAA,YAAA,CAAa,OAAO,CAAA;AACpB,MAAA,IAAI,OAAA,EAAS;AACX,QAAA,YAAA,CAAa,IAAI,CAAA;AAAA,MACnB;AAAA,IACF,CAAA;AAEA,IAAA,aAAA,EAAc;AAGd,IAAA,MAAA,CAAO,gBAAA,CAAiB,UAAU,aAAa,CAAA;AAC/C,IAAA,OAAO,MAAM,MAAA,CAAO,mBAAA,CAAoB,QAAA,EAAU,aAAa,CAAA;AAAA,EACjE,CAAA,EAAG,CAAC,QAAQ,CAAC,CAAA;AAGb,EAAA,IAAI,CAAC,QAAA,EAAU;AACb,IAAA,OAAO,IAAA;AAAA,EACT;AAGA,EAAA,IAAI,CAAC,SAAA,IAAa,CAAC,SAAA,EAAW;AAC5B,IAAA,OAAO,IAAA;AAAA,EACT;AAKA,EAAA,2BACG,QAAA,EAAA,EAAS,IAAA,EAAM,iBAAiB,CAAC,SAAA,GAAY,WAAW,SAAA,EACvD,QAAA,kBAAA,GAAA,CAAC,YAAS,QAAA,kBAAU,GAAA,CAAC,oBAAiB,CAAA,EACpC,QAAA,kBAAA,GAAA,CAAC,YAAU,GAAG,KAAA,EAAO,GACvB,CAAA,EACF,CAAA;AAEJ","file":"chunk-BL6E2DLZ.mjs","sourcesContent":["'use client';\n\n/**\n * Lazy-loaded Carousel Component\n *\n * Only loads the Carousel component when:\n * 1. The viewport is large enough (configurable breakpoint)\n * 2. The component is mounted on the client\n *\n * Uses React Activity to preserve carousel state (current index, pause state,\n * elapsed time) when viewport resizes below breakpoint and back.\n *\n * This reduces initial bundle size for mobile users and improves TTI.\n *\n * @example\n * ```tsx\n * // Only loads on lg screens (1024px+)\n * <LazyCarousel items={items} label=\"Features\" />\n *\n * // Custom breakpoint\n * <LazyCarousel items={items} label=\"Features\" minWidth={768} />\n *\n * // Disable state preservation (unmount on resize)\n * <LazyCarousel items={items} label=\"Features\" preserveState={false} />\n * ```\n */\n\nimport { useState, useEffect, type ReactElement, type ComponentProps, Suspense, lazy, Activity } from 'react';\nimport { Skeleton } from '../Skeleton';\n\n// Lazy load the Carousel component\nconst Carousel = lazy(() =>\n import('./Carousel').then(mod => ({ default: mod.Carousel }))\n);\n\ntype CarouselProps = ComponentProps<typeof Carousel>;\n\nexport interface LazyCarouselProps extends CarouselProps {\n /** Minimum viewport width to load the carousel (default: 1024 for lg breakpoint) */\n minWidth?: number;\n /** Whether to preserve carousel state when hidden (default: true) */\n preserveState?: boolean;\n}\n\n/**\n * Carousel loading skeleton\n */\nfunction CarouselSkeleton(): ReactElement {\n return (\n <div className=\"flex flex-col gap-4 p-4\">\n <Skeleton className=\"h-8 w-3/4\" />\n <Skeleton className=\"h-4 w-full\" />\n <Skeleton className=\"h-4 w-5/6\" />\n <div className=\"flex gap-2 mt-4\">\n <Skeleton className=\"h-3 w-3 rounded-full\" />\n <Skeleton className=\"h-3 w-3 rounded-full\" />\n <Skeleton className=\"h-3 w-3 rounded-full\" />\n </div>\n </div>\n );\n}\n\n/**\n * LazyCarousel - Only loads on screens meeting minimum width\n *\n * Use this instead of Carousel when the carousel is only visible\n * on larger screens (e.g., hidden on mobile with `hidden lg:block`).\n *\n * State preservation: When the viewport shrinks below minWidth and then\n * expands again, the carousel will resume from where it left off (same\n * slide, same pause state) instead of resetting to the beginning.\n */\nexport function LazyCarousel({\n minWidth = 1024,\n preserveState = true,\n ...props\n}: LazyCarouselProps): ReactElement | null {\n const [isVisible, setIsVisible] = useState(false);\n const [hasLoaded, setHasLoaded] = useState(false);\n const [isClient, setIsClient] = useState(false);\n\n useEffect(() => {\n setIsClient(true);\n\n // Check if viewport is large enough\n const checkViewport = (): void => {\n const visible = window.innerWidth >= minWidth;\n setIsVisible(visible);\n if (visible) {\n setHasLoaded(true);\n }\n };\n\n checkViewport();\n\n // Listen for resize events\n window.addEventListener('resize', checkViewport);\n return () => window.removeEventListener('resize', checkViewport);\n }, [minWidth]);\n\n // Don't render anything on server\n if (!isClient) {\n return null;\n }\n\n // If never loaded and not visible, don't load\n if (!hasLoaded && !isVisible) {\n return null;\n }\n\n // Use Activity to preserve state when hidden (viewport too small)\n // This allows the carousel to resume from where it left off when\n // the viewport expands again\n return (\n <Activity mode={preserveState && !isVisible ? 'hidden' : 'visible'}>\n <Suspense fallback={<CarouselSkeleton />}>\n <Carousel {...props} />\n </Suspense>\n </Activity>\n );\n}\n"]}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { DEFAULT_INTERACTIONS } from './chunk-HK46BT5U.mjs';
|
|
2
|
+
import { cn } from './chunk-E2KQFV3O.mjs';
|
|
3
|
+
import { memo, forwardRef } from 'react';
|
|
4
|
+
import { Switch as Switch$1 } from 'react-aria-components';
|
|
5
|
+
import { cva } from 'class-variance-authority';
|
|
6
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
var switchOuterVariants = cva(
|
|
9
|
+
// Base styles - WCAG 2.2 AAA: 44x44px minimum touch target
|
|
10
|
+
"inline-flex shrink-0 cursor-pointer items-center justify-center min-h-[44px] min-w-[44px] disabled:cursor-not-allowed disabled:opacity-50 data-[readonly]:cursor-default",
|
|
11
|
+
{
|
|
12
|
+
variants: {},
|
|
13
|
+
defaultVariants: {}
|
|
14
|
+
}
|
|
15
|
+
);
|
|
16
|
+
var switchTrackVariants = cva(
|
|
17
|
+
// Base styles - visual track with transitions and focus states
|
|
18
|
+
"relative inline-flex shrink-0 items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:ring-offset-2 focus-visible:ring-offset-background",
|
|
19
|
+
{
|
|
20
|
+
variants: {
|
|
21
|
+
variant: {
|
|
22
|
+
// Default variant: Uses primary color when selected
|
|
23
|
+
default: "bg-[var(--input)] data-[selected]:bg-[var(--primary)]",
|
|
24
|
+
// Destructive variant: Uses destructive/error color when selected
|
|
25
|
+
destructive: "bg-[var(--input)] data-[selected]:bg-[var(--destructive)]"
|
|
26
|
+
},
|
|
27
|
+
size: {
|
|
28
|
+
// Small: h-5 w-9 (visual track size)
|
|
29
|
+
sm: "h-5 w-9",
|
|
30
|
+
// Default: h-6 w-11
|
|
31
|
+
default: "h-6 w-11",
|
|
32
|
+
// Large: h-7 w-14
|
|
33
|
+
lg: "h-7 w-14"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
defaultVariants: {
|
|
37
|
+
variant: "default",
|
|
38
|
+
size: "default"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
var switchThumbVariants = cva(
|
|
43
|
+
// Base styles: rounded circle with shadow, translates when selected
|
|
44
|
+
"pointer-events-none absolute left-0.5 rounded-full bg-[var(--content-background)] shadow-lg ring-0 transition-transform data-[selected]:translate-x-full",
|
|
45
|
+
{
|
|
46
|
+
variants: {
|
|
47
|
+
size: {
|
|
48
|
+
// Thumb is slightly smaller than track height for proper padding
|
|
49
|
+
sm: "h-4 w-4",
|
|
50
|
+
default: "h-5 w-5",
|
|
51
|
+
lg: "h-6 w-6"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
defaultVariants: {
|
|
55
|
+
size: "default"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
);
|
|
59
|
+
var Switch = memo(forwardRef(
|
|
60
|
+
({
|
|
61
|
+
className,
|
|
62
|
+
variant,
|
|
63
|
+
size,
|
|
64
|
+
label,
|
|
65
|
+
description,
|
|
66
|
+
isDisabled,
|
|
67
|
+
isReadOnly,
|
|
68
|
+
...props
|
|
69
|
+
}, ref) => {
|
|
70
|
+
return /* @__PURE__ */ jsx(
|
|
71
|
+
Switch$1,
|
|
72
|
+
{
|
|
73
|
+
ref,
|
|
74
|
+
isDisabled,
|
|
75
|
+
isReadOnly,
|
|
76
|
+
className: (_classNameProps) => cn(
|
|
77
|
+
"group inline-flex items-center gap-2",
|
|
78
|
+
isDisabled && "cursor-not-allowed opacity-50",
|
|
79
|
+
className
|
|
80
|
+
),
|
|
81
|
+
...props,
|
|
82
|
+
children: (renderProps) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
83
|
+
/* @__PURE__ */ jsx(
|
|
84
|
+
"div",
|
|
85
|
+
{
|
|
86
|
+
className: cn(switchOuterVariants()),
|
|
87
|
+
"data-selected": renderProps.isSelected || void 0,
|
|
88
|
+
"data-readonly": isReadOnly || void 0,
|
|
89
|
+
children: /* @__PURE__ */ jsx(
|
|
90
|
+
"div",
|
|
91
|
+
{
|
|
92
|
+
className: cn(
|
|
93
|
+
switchTrackVariants({ variant, size }),
|
|
94
|
+
DEFAULT_INTERACTIONS
|
|
95
|
+
),
|
|
96
|
+
"data-selected": renderProps.isSelected || void 0,
|
|
97
|
+
children: /* @__PURE__ */ jsx(
|
|
98
|
+
"div",
|
|
99
|
+
{
|
|
100
|
+
className: cn(switchThumbVariants({ size })),
|
|
101
|
+
"data-selected": renderProps.isSelected || void 0
|
|
102
|
+
}
|
|
103
|
+
)
|
|
104
|
+
}
|
|
105
|
+
)
|
|
106
|
+
}
|
|
107
|
+
),
|
|
108
|
+
(label || description) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
|
|
109
|
+
label && /* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-[var(--content-foreground)]", children: label }),
|
|
110
|
+
description && /* @__PURE__ */ jsx("span", { className: "text-xs text-[var(--menu-muted)]", children: description })
|
|
111
|
+
] })
|
|
112
|
+
] })
|
|
113
|
+
}
|
|
114
|
+
);
|
|
115
|
+
}
|
|
116
|
+
));
|
|
117
|
+
Switch.displayName = "Switch";
|
|
118
|
+
|
|
119
|
+
export { Switch, switchOuterVariants, switchThumbVariants, switchTrackVariants };
|
|
120
|
+
//# sourceMappingURL=chunk-CGFDS4XS.mjs.map
|
|
121
|
+
//# sourceMappingURL=chunk-CGFDS4XS.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/elements/Switch/Switch.tsx"],"names":["AriaSwitch"],"mappings":";;;;;;;AA0BA,IAAM,mBAAA,GAAsB,GAAA;AAAA;AAAA,EAE1B,0KAAA;AAAA,EACA;AAAA,IACE,UAAU,EAAC;AAAA,IACX,iBAAiB;AAAC;AAEtB;AAOA,IAAM,mBAAA,GAAsB,GAAA;AAAA;AAAA,EAE1B,yPAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA;AAAA,QAEP,OAAA,EACE,uDAAA;AAAA;AAAA,QAEF,WAAA,EACE;AAAA,OACJ;AAAA,MACA,IAAA,EAAM;AAAA;AAAA,QAEJ,EAAA,EAAI,SAAA;AAAA;AAAA,QAEJ,OAAA,EAAS,UAAA;AAAA;AAAA,QAET,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,SAAA;AAAA,MACT,IAAA,EAAM;AAAA;AACR;AAEJ;AAOA,IAAM,mBAAA,GAAsB,GAAA;AAAA;AAAA,EAE1B,0JAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA;AAAA,QAEJ,EAAA,EAAI,SAAA;AAAA,QACJ,OAAA,EAAS,SAAA;AAAA,QACT,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ;AAgBA,IAAM,SAAS,IAAA,CAAK,UAAA;AAAA,EAClB,CACE;AAAA,IACE,SAAA;AAAA,IACA,OAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,WAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA,GAAG;AAAA,KAEL,GAAA,KACG;AACH,IAAA,uBACE,GAAA;AAAA,MAACA,QAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,UAAA;AAAA,QACA,UAAA;AAAA,QACA,SAAA,EAAW,CAAC,eAAA,KACV,EAAA;AAAA,UACE,sCAAA;AAAA,UACA,UAAA,IAAc,+BAAA;AAAA,UACd;AAAA,SACF;AAAA,QAED,GAAG,KAAA;AAAA,QAEH,QAAA,EAAA,CAAC,gCACA,IAAA,CAAA,QAAA,EAAA,EAEE,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAW,EAAA,CAAG,mBAAA,EAAqB,CAAA;AAAA,cACnC,eAAA,EAAe,YAAY,UAAA,IAAc,MAAA;AAAA,cACzC,iBAAe,UAAA,IAAc,MAAA;AAAA,cAG7B,QAAA,kBAAA,GAAA;AAAA,gBAAC,KAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAW,EAAA;AAAA,oBACT,mBAAA,CAAoB,EAAE,OAAA,EAAS,IAAA,EAAM,CAAA;AAAA,oBACrC;AAAA,mBACF;AAAA,kBACA,eAAA,EAAe,YAAY,UAAA,IAAc,MAAA;AAAA,kBAGzC,QAAA,kBAAA,GAAA;AAAA,oBAAC,KAAA;AAAA,oBAAA;AAAA,sBACC,WAAW,EAAA,CAAG,mBAAA,CAAoB,EAAE,IAAA,EAAM,CAAC,CAAA;AAAA,sBAC3C,eAAA,EAAe,YAAY,UAAA,IAAc;AAAA;AAAA;AAC3C;AAAA;AACF;AAAA,WACF;AAAA,UAAA,CAGE,KAAA,IAAS,WAAA,qBACT,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,eAAA,EACZ,QAAA,EAAA;AAAA,YAAA,KAAA,oBACC,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,sDAAA,EACb,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,YAED,WAAA,oBACC,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,oCACb,QAAA,EAAA,WAAA,EACH;AAAA,WAAA,EAEJ;AAAA,SAAA,EAEJ;AAAA;AAAA,KAEJ;AAAA,EAEJ;AACF,CAAC;AAED,MAAA,CAAO,WAAA,GAAc,QAAA","file":"chunk-CGFDS4XS.mjs","sourcesContent":["\"use client\";\n\n/**\n * Switch Component\n * Accessible toggle switch with React Aria primitives and CVA styling\n *\n * @see React Aria Switch: https://react-spectrum.adobe.com/react-aria/Switch.html\n * @see ShadCN Switch: https://ui.shadcn.com/docs/components/switch\n * @see spec.md (WCAG 2.2 AAA - 7:1 contrast ratio, 44x44px touch targets)\n * @see constitution.md Principle IV (Accessibility First)\n */\n\nimport { forwardRef, memo } from 'react';\nimport {\n Switch as AriaSwitch,\n type SwitchProps as AriaSwitchProps,\n} from 'react-aria-components';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { DEFAULT_INTERACTIONS } from '../../styles/interaction-states';\n\n/**\n * Layer 1: Transparent outer touch target (44x44px minimum)\n * This layer handles the WCAG 2.2 AAA touch target requirement\n * Always invisible, centers the visual switch inside\n */\nconst switchOuterVariants = cva(\n // Base styles - WCAG 2.2 AAA: 44x44px minimum touch target\n \"inline-flex shrink-0 cursor-pointer items-center justify-center min-h-[44px] min-w-[44px] disabled:cursor-not-allowed disabled:opacity-50 data-[readonly]:cursor-default\",\n {\n variants: {},\n defaultVariants: {},\n }\n);\n\n/**\n * Layer 2: Visual switch track/background (adjustable size)\n * This layer provides the visual appearance and size flexibility\n * Background color changes based on variant and selection state\n */\nconst switchTrackVariants = cva(\n // Base styles - visual track with transitions and focus states\n \"relative inline-flex shrink-0 items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:ring-offset-2 focus-visible:ring-offset-background\",\n {\n variants: {\n variant: {\n // Default variant: Uses primary color when selected\n default:\n \"bg-[var(--input)] data-[selected]:bg-[var(--primary)]\",\n // Destructive variant: Uses destructive/error color when selected\n destructive:\n \"bg-[var(--input)] data-[selected]:bg-[var(--destructive)]\",\n },\n size: {\n // Small: h-5 w-9 (visual track size)\n sm: \"h-5 w-9\",\n // Default: h-6 w-11\n default: \"h-6 w-11\",\n // Large: h-7 w-14\n lg: \"h-7 w-14\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n);\n\n/**\n * Layer 3: Switch thumb (sliding circle)\n * Inner visual element that slides horizontally when switch is selected\n * Positioned absolutely within the track (Layer 2)\n */\nconst switchThumbVariants = cva(\n // Base styles: rounded circle with shadow, translates when selected\n \"pointer-events-none absolute left-0.5 rounded-full bg-[var(--content-background)] shadow-lg ring-0 transition-transform data-[selected]:translate-x-full\",\n {\n variants: {\n size: {\n // Thumb is slightly smaller than track height for proper padding\n sm: \"h-4 w-4\",\n default: \"h-5 w-5\",\n lg: \"h-6 w-6\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n);\n\nexport interface SwitchProps\n extends Omit<AriaSwitchProps, 'className' | 'children'>,\n VariantProps<typeof switchTrackVariants> {\n variant?: 'default' | 'destructive';\n size?: 'sm' | 'default' | 'lg';\n label?: string;\n description?: string;\n className?: string;\n}\n\n/**\n * Switch Component\n * Fully accessible toggle switch with React Aria and themed styling\n */\nconst Switch = memo(forwardRef<HTMLLabelElement, SwitchProps>(\n (\n {\n className,\n variant,\n size,\n label,\n description,\n isDisabled,\n isReadOnly,\n ...props\n },\n ref\n ) => {\n return (\n <AriaSwitch\n ref={ref}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n className={(_classNameProps) =>\n cn(\n \"group inline-flex items-center gap-2\",\n isDisabled && \"cursor-not-allowed opacity-50\",\n className\n )\n }\n {...props}\n >\n {(renderProps) => (\n <>\n {/* Layer 1: Transparent outer touch target (44x44px WCAG compliant) */}\n <div\n className={cn(switchOuterVariants())}\n data-selected={renderProps.isSelected || undefined}\n data-readonly={isReadOnly || undefined}\n >\n {/* Layer 2: Visual switch track (adjustable size with variants) */}\n <div\n className={cn(\n switchTrackVariants({ variant, size }),\n DEFAULT_INTERACTIONS\n )}\n data-selected={renderProps.isSelected || undefined}\n >\n {/* Layer 3: Thumb (sliding circle, absolutely positioned) */}\n <div\n className={cn(switchThumbVariants({ size }))}\n data-selected={renderProps.isSelected || undefined}\n />\n </div>\n </div>\n\n {/* Optional label and description */}\n {(label || description) && (\n <div className=\"flex flex-col\">\n {label && (\n <span className=\"text-sm font-medium text-[var(--content-foreground)]\">\n {label}\n </span>\n )}\n {description && (\n <span className=\"text-xs text-[var(--menu-muted)]\">\n {description}\n </span>\n )}\n </div>\n )}\n </>\n )}\n </AriaSwitch>\n );\n }\n));\n\nSwitch.displayName = \"Switch\";\n\nexport { Switch, switchOuterVariants, switchTrackVariants, switchThumbVariants };\n"]}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/styles/shared-variants.ts
|
|
4
|
+
var FOCUS_WITHIN_RING = [
|
|
5
|
+
"focus-within:outline-none",
|
|
6
|
+
"focus-within:ring-2",
|
|
7
|
+
"focus-within:ring-[var(--ring)]",
|
|
8
|
+
"focus-within:ring-offset-2"
|
|
9
|
+
];
|
|
10
|
+
var FOCUS_VISIBLE_RING = [
|
|
11
|
+
"focus-visible:outline-none",
|
|
12
|
+
"focus-visible:ring-2",
|
|
13
|
+
"focus-visible:ring-[var(--ring)]",
|
|
14
|
+
"focus-visible:ring-offset-2"
|
|
15
|
+
];
|
|
16
|
+
var FOCUS_RING = [
|
|
17
|
+
"focus:outline-none",
|
|
18
|
+
"focus:ring-2",
|
|
19
|
+
"focus:ring-[var(--ring)]"
|
|
20
|
+
];
|
|
21
|
+
var FOCUS_HIGHLIGHT = [
|
|
22
|
+
"focus:outline-none",
|
|
23
|
+
"focus:bg-[var(--accent)]",
|
|
24
|
+
"focus:text-[var(--accent-foreground)]"
|
|
25
|
+
];
|
|
26
|
+
var DISABLED_STANDARD = [
|
|
27
|
+
"disabled:pointer-events-none",
|
|
28
|
+
"disabled:opacity-50"
|
|
29
|
+
];
|
|
30
|
+
var DISABLED_DATA_ATTR = [
|
|
31
|
+
"data-[disabled]:pointer-events-none",
|
|
32
|
+
"data-[disabled]:opacity-50",
|
|
33
|
+
"data-[disabled]:cursor-not-allowed"
|
|
34
|
+
];
|
|
35
|
+
var TEXT_SIZE_SMALL_SCALE = {
|
|
36
|
+
sm: "text-xs",
|
|
37
|
+
default: "text-sm",
|
|
38
|
+
lg: "text-base"
|
|
39
|
+
};
|
|
40
|
+
var TEXT_SIZE_MEDIUM_SCALE = {
|
|
41
|
+
sm: "text-sm",
|
|
42
|
+
default: "text-base",
|
|
43
|
+
lg: "text-lg"
|
|
44
|
+
};
|
|
45
|
+
var TOUCH_TARGET_MIN = [
|
|
46
|
+
"min-h-[44px]",
|
|
47
|
+
"min-w-[44px]"
|
|
48
|
+
];
|
|
49
|
+
var INTERACTIVE_SIZES = {
|
|
50
|
+
sm: "h-9 w-9",
|
|
51
|
+
// 36px - desktop only, NOT AAA compliant
|
|
52
|
+
default: "h-11 w-11",
|
|
53
|
+
// 44px - AAA compliant
|
|
54
|
+
lg: "h-14 w-14"
|
|
55
|
+
// 56px - AAA compliant, enhanced
|
|
56
|
+
};
|
|
57
|
+
var FIELD_HEIGHTS = {
|
|
58
|
+
sm: "h-9",
|
|
59
|
+
// 36px
|
|
60
|
+
default: "h-11",
|
|
61
|
+
// 44px
|
|
62
|
+
lg: "h-14"
|
|
63
|
+
// 56px
|
|
64
|
+
};
|
|
65
|
+
var ERROR_MESSAGE_BASE = [
|
|
66
|
+
"flex",
|
|
67
|
+
"items-center",
|
|
68
|
+
"gap-1.5",
|
|
69
|
+
"text-[var(--destructive)]"
|
|
70
|
+
];
|
|
71
|
+
var SUCCESS_MESSAGE_BASE = [
|
|
72
|
+
"flex",
|
|
73
|
+
"items-center",
|
|
74
|
+
"gap-1.5",
|
|
75
|
+
"text-[var(--success)]"
|
|
76
|
+
];
|
|
77
|
+
var DESCRIPTION_BASE = [
|
|
78
|
+
"text-[var(--menu-muted)]"
|
|
79
|
+
];
|
|
80
|
+
var LABEL_BASE = [
|
|
81
|
+
"font-medium",
|
|
82
|
+
"text-[var(--content-foreground)]"
|
|
83
|
+
];
|
|
84
|
+
var REQUIRED_INDICATOR = "after:content-['*'] after:ml-0.5 after:text-[var(--destructive)]";
|
|
85
|
+
var POPOVER_ANIMATION_IN = [
|
|
86
|
+
"data-[entering]:animate-in",
|
|
87
|
+
"data-[entering]:fade-in-0",
|
|
88
|
+
"data-[entering]:zoom-in-95"
|
|
89
|
+
];
|
|
90
|
+
var POPOVER_ANIMATION_OUT = [
|
|
91
|
+
"data-[exiting]:animate-out",
|
|
92
|
+
"data-[exiting]:fade-out-0",
|
|
93
|
+
"data-[exiting]:zoom-out-95"
|
|
94
|
+
];
|
|
95
|
+
var REDUCED_MOTION = [
|
|
96
|
+
"motion-reduce:transition-none",
|
|
97
|
+
"motion-reduce:animate-none"
|
|
98
|
+
];
|
|
99
|
+
var TRANSITION_COLORS = [
|
|
100
|
+
"transition-colors",
|
|
101
|
+
"duration-200"
|
|
102
|
+
];
|
|
103
|
+
var TRANSITION_FAST = [
|
|
104
|
+
"transition-colors",
|
|
105
|
+
"duration-150"
|
|
106
|
+
];
|
|
107
|
+
var HOVER_ACCENT = [
|
|
108
|
+
"hover:bg-[var(--accent)]",
|
|
109
|
+
"hover:text-[var(--accent-foreground)]"
|
|
110
|
+
];
|
|
111
|
+
function combineStyles(...styles) {
|
|
112
|
+
return styles.flatMap((s) => Array.isArray(s) ? [...s] : [s]);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
exports.DESCRIPTION_BASE = DESCRIPTION_BASE;
|
|
116
|
+
exports.DISABLED_DATA_ATTR = DISABLED_DATA_ATTR;
|
|
117
|
+
exports.DISABLED_STANDARD = DISABLED_STANDARD;
|
|
118
|
+
exports.ERROR_MESSAGE_BASE = ERROR_MESSAGE_BASE;
|
|
119
|
+
exports.FIELD_HEIGHTS = FIELD_HEIGHTS;
|
|
120
|
+
exports.FOCUS_HIGHLIGHT = FOCUS_HIGHLIGHT;
|
|
121
|
+
exports.FOCUS_RING = FOCUS_RING;
|
|
122
|
+
exports.FOCUS_VISIBLE_RING = FOCUS_VISIBLE_RING;
|
|
123
|
+
exports.FOCUS_WITHIN_RING = FOCUS_WITHIN_RING;
|
|
124
|
+
exports.HOVER_ACCENT = HOVER_ACCENT;
|
|
125
|
+
exports.INTERACTIVE_SIZES = INTERACTIVE_SIZES;
|
|
126
|
+
exports.LABEL_BASE = LABEL_BASE;
|
|
127
|
+
exports.POPOVER_ANIMATION_IN = POPOVER_ANIMATION_IN;
|
|
128
|
+
exports.POPOVER_ANIMATION_OUT = POPOVER_ANIMATION_OUT;
|
|
129
|
+
exports.REDUCED_MOTION = REDUCED_MOTION;
|
|
130
|
+
exports.REQUIRED_INDICATOR = REQUIRED_INDICATOR;
|
|
131
|
+
exports.SUCCESS_MESSAGE_BASE = SUCCESS_MESSAGE_BASE;
|
|
132
|
+
exports.TEXT_SIZE_MEDIUM_SCALE = TEXT_SIZE_MEDIUM_SCALE;
|
|
133
|
+
exports.TEXT_SIZE_SMALL_SCALE = TEXT_SIZE_SMALL_SCALE;
|
|
134
|
+
exports.TOUCH_TARGET_MIN = TOUCH_TARGET_MIN;
|
|
135
|
+
exports.TRANSITION_COLORS = TRANSITION_COLORS;
|
|
136
|
+
exports.TRANSITION_FAST = TRANSITION_FAST;
|
|
137
|
+
exports.combineStyles = combineStyles;
|
|
138
|
+
//# sourceMappingURL=chunk-CJIW5TKI.js.map
|
|
139
|
+
//# sourceMappingURL=chunk-CJIW5TKI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/styles/shared-variants.ts"],"names":[],"mappings":";;;AAiBO,IAAM,iBAAA,GAAoB;AAAA,EAC/B,2BAAA;AAAA,EACA,qBAAA;AAAA,EACA,iCAAA;AAAA,EACA;AACF;AAMO,IAAM,kBAAA,GAAqB;AAAA,EAChC,4BAAA;AAAA,EACA,sBAAA;AAAA,EACA,kCAAA;AAAA,EACA;AACF;AAMO,IAAM,UAAA,GAAa;AAAA,EACxB,oBAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF;AAKO,IAAM,eAAA,GAAkB;AAAA,EAC7B,oBAAA;AAAA,EACA,0BAAA;AAAA,EACA;AACF;AASO,IAAM,iBAAA,GAAoB;AAAA,EAC/B,8BAAA;AAAA,EACA;AACF;AAKO,IAAM,kBAAA,GAAqB;AAAA,EAChC,qCAAA;AAAA,EACA,4BAAA;AAAA,EACA;AACF;AASO,IAAM,qBAAA,GAAwB;AAAA,EACnC,EAAA,EAAI,SAAA;AAAA,EACJ,OAAA,EAAS,SAAA;AAAA,EACT,EAAA,EAAI;AACN;AAKO,IAAM,sBAAA,GAAyB;AAAA,EACpC,EAAA,EAAI,SAAA;AAAA,EACJ,OAAA,EAAS,WAAA;AAAA,EACT,EAAA,EAAI;AACN;AASO,IAAM,gBAAA,GAAmB;AAAA,EAC9B,cAAA;AAAA,EACA;AACF;AAKO,IAAM,iBAAA,GAAoB;AAAA,EAC/B,EAAA,EAAI,SAAA;AAAA;AAAA,EACJ,OAAA,EAAS,WAAA;AAAA;AAAA,EACT,EAAA,EAAI;AAAA;AACN;AAKO,IAAM,aAAA,GAAgB;AAAA,EAC3B,EAAA,EAAI,KAAA;AAAA;AAAA,EACJ,OAAA,EAAS,MAAA;AAAA;AAAA,EACT,EAAA,EAAI;AAAA;AACN;AASO,IAAM,kBAAA,GAAqB;AAAA,EAChC,MAAA;AAAA,EACA,cAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF;AAKO,IAAM,oBAAA,GAAuB;AAAA,EAClC,MAAA;AAAA,EACA,cAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF;AAKO,IAAM,gBAAA,GAAmB;AAAA,EAC9B;AACF;AAKO,IAAM,UAAA,GAAa;AAAA,EACxB,aAAA;AAAA,EACA;AACF;AAKO,IAAM,kBAAA,GAAqB;AAS3B,IAAM,oBAAA,GAAuB;AAAA,EAClC,4BAAA;AAAA,EACA,2BAAA;AAAA,EACA;AACF;AAKO,IAAM,qBAAA,GAAwB;AAAA,EACnC,4BAAA;AAAA,EACA,2BAAA;AAAA,EACA;AACF;AAKO,IAAM,cAAA,GAAiB;AAAA,EAC5B,+BAAA;AAAA,EACA;AACF;AAKO,IAAM,iBAAA,GAAoB;AAAA,EAC/B,mBAAA;AAAA,EACA;AACF;AAKO,IAAM,eAAA,GAAkB;AAAA,EAC7B,mBAAA;AAAA,EACA;AACF;AASO,IAAM,YAAA,GAAe;AAAA,EAC1B,0BAAA;AAAA,EACA;AACF;AASO,SAAS,iBAAiB,MAAA,EAAkD;AACjF,EAAA,OAAO,MAAA,CAAO,OAAA,CAAQ,CAAA,CAAA,KAAK,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA,GAAI,CAAC,GAAG,CAAC,CAAA,GAAI,CAAC,CAAC,CAAC,CAAA;AAC5D","file":"chunk-CJIW5TKI.js","sourcesContent":["/**\n * Shared CVA Variant Utilities\n *\n * Common patterns extracted from component variants for consistency and reduced bundle size.\n * Use these constants in CVA definitions to ensure consistent styling across Themis.\n *\n * @see interaction-states.ts for interaction-specific styles (focus, hover, pressed)\n */\n\n// =============================================================================\n// Focus Ring Patterns\n// =============================================================================\n\n/**\n * Focus-within ring (for container elements with focusable children)\n * Use when the container should show focus when any child is focused\n */\nexport const FOCUS_WITHIN_RING = [\n 'focus-within:outline-none',\n 'focus-within:ring-2',\n 'focus-within:ring-[var(--ring)]',\n 'focus-within:ring-offset-2',\n] as const;\n\n/**\n * Focus-visible ring (for directly focusable elements)\n * Use for buttons, inputs, and other interactive elements\n */\nexport const FOCUS_VISIBLE_RING = [\n 'focus-visible:outline-none',\n 'focus-visible:ring-2',\n 'focus-visible:ring-[var(--ring)]',\n 'focus-visible:ring-offset-2',\n] as const;\n\n/**\n * Standard focus ring (for elements using :focus pseudo-class)\n * Prefer focus-visible when possible for better UX\n */\nexport const FOCUS_RING = [\n 'focus:outline-none',\n 'focus:ring-2',\n 'focus:ring-[var(--ring)]',\n] as const;\n\n/**\n * Focus with background change (for segments, cells, menu items)\n */\nexport const FOCUS_HIGHLIGHT = [\n 'focus:outline-none',\n 'focus:bg-[var(--accent)]',\n 'focus:text-[var(--accent-foreground)]',\n] as const;\n\n// =============================================================================\n// Disabled State Patterns\n// =============================================================================\n\n/**\n * Standard disabled state using disabled attribute\n */\nexport const DISABLED_STANDARD = [\n 'disabled:pointer-events-none',\n 'disabled:opacity-50',\n] as const;\n\n/**\n * Disabled state using data attribute (React Aria pattern)\n */\nexport const DISABLED_DATA_ATTR = [\n 'data-[disabled]:pointer-events-none',\n 'data-[disabled]:opacity-50',\n 'data-[disabled]:cursor-not-allowed',\n] as const;\n\n// =============================================================================\n// Size-Based Text Variants\n// =============================================================================\n\n/**\n * Small text size scale (xs -> sm -> base)\n */\nexport const TEXT_SIZE_SMALL_SCALE = {\n sm: 'text-xs',\n default: 'text-sm',\n lg: 'text-base',\n} as const;\n\n/**\n * Medium text size scale (sm -> base -> lg)\n */\nexport const TEXT_SIZE_MEDIUM_SCALE = {\n sm: 'text-sm',\n default: 'text-base',\n lg: 'text-lg',\n} as const;\n\n// =============================================================================\n// Touch Target Utilities\n// =============================================================================\n\n/**\n * WCAG 2.2 AAA minimum touch target (44x44px)\n */\nexport const TOUCH_TARGET_MIN = [\n 'min-h-[44px]',\n 'min-w-[44px]',\n] as const;\n\n/**\n * Common button/cell sizes with touch target compliance\n */\nexport const INTERACTIVE_SIZES = {\n sm: 'h-9 w-9', // 36px - desktop only, NOT AAA compliant\n default: 'h-11 w-11', // 44px - AAA compliant\n lg: 'h-14 w-14', // 56px - AAA compliant, enhanced\n} as const;\n\n/**\n * Height-only sizes for fields and inputs\n */\nexport const FIELD_HEIGHTS = {\n sm: 'h-9', // 36px\n default: 'h-11', // 44px\n lg: 'h-14', // 56px\n} as const;\n\n// =============================================================================\n// Message/Feedback Patterns\n// =============================================================================\n\n/**\n * Error message styling\n */\nexport const ERROR_MESSAGE_BASE = [\n 'flex',\n 'items-center',\n 'gap-1.5',\n 'text-[var(--destructive)]',\n] as const;\n\n/**\n * Success message styling\n */\nexport const SUCCESS_MESSAGE_BASE = [\n 'flex',\n 'items-center',\n 'gap-1.5',\n 'text-[var(--success)]',\n] as const;\n\n/**\n * Description/helper text styling\n */\nexport const DESCRIPTION_BASE = [\n 'text-[var(--menu-muted)]',\n] as const;\n\n/**\n * Label base styling\n */\nexport const LABEL_BASE = [\n 'font-medium',\n 'text-[var(--content-foreground)]',\n] as const;\n\n/**\n * Required indicator pattern\n */\nexport const REQUIRED_INDICATOR = \"after:content-['*'] after:ml-0.5 after:text-[var(--destructive)]\";\n\n// =============================================================================\n// Animation Patterns\n// =============================================================================\n\n/**\n * Popover/dropdown entry animation\n */\nexport const POPOVER_ANIMATION_IN = [\n 'data-[entering]:animate-in',\n 'data-[entering]:fade-in-0',\n 'data-[entering]:zoom-in-95',\n] as const;\n\n/**\n * Popover/dropdown exit animation\n */\nexport const POPOVER_ANIMATION_OUT = [\n 'data-[exiting]:animate-out',\n 'data-[exiting]:fade-out-0',\n 'data-[exiting]:zoom-out-95',\n] as const;\n\n/**\n * Reduced motion support (WCAG 2.2)\n */\nexport const REDUCED_MOTION = [\n 'motion-reduce:transition-none',\n 'motion-reduce:animate-none',\n] as const;\n\n/**\n * Standard transition for colors\n */\nexport const TRANSITION_COLORS = [\n 'transition-colors',\n 'duration-200',\n] as const;\n\n/**\n * Fast transition for interactions\n */\nexport const TRANSITION_FAST = [\n 'transition-colors',\n 'duration-150',\n] as const;\n\n// =============================================================================\n// Hover State Patterns\n// =============================================================================\n\n/**\n * Accent background on hover (for interactive items)\n */\nexport const HOVER_ACCENT = [\n 'hover:bg-[var(--accent)]',\n 'hover:text-[var(--accent-foreground)]',\n] as const;\n\n// =============================================================================\n// Helper Functions\n// =============================================================================\n\n/**\n * Combines multiple style arrays into a flat array for CVA base styles\n */\nexport function combineStyles(...styles: (readonly string[] | string)[]): string[] {\n return styles.flatMap(s => Array.isArray(s) ? [...s] : [s]);\n}\n"]}
|
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkVIREG536_js = require('./chunk-VIREG536.js');
|
|
4
|
+
var chunkT4COXKQ3_js = require('./chunk-T4COXKQ3.js');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var reactAriaComponents = require('react-aria-components');
|
|
7
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
8
|
+
var lucideReact = require('lucide-react');
|
|
9
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
10
|
+
var zod = require('zod');
|
|
11
|
+
|
|
12
|
+
var Activity = react.Activity ?? function ActivityFallback({
|
|
13
|
+
children,
|
|
14
|
+
mode
|
|
15
|
+
}) {
|
|
16
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-activity-mode": mode, children });
|
|
17
|
+
};
|
|
18
|
+
var AccordionContext = react.createContext({});
|
|
19
|
+
var accordionVariants = classVarianceAuthority.cva("w-full", {
|
|
20
|
+
variants: {},
|
|
21
|
+
defaultVariants: {}
|
|
22
|
+
});
|
|
23
|
+
var accordionItemVariants = classVarianceAuthority.cva(
|
|
24
|
+
[
|
|
25
|
+
"border-b border-[var(--border)]",
|
|
26
|
+
// Last item has no border (handled by last:border-b-0)
|
|
27
|
+
"last:border-b-0"
|
|
28
|
+
].join(" "),
|
|
29
|
+
{
|
|
30
|
+
variants: {},
|
|
31
|
+
defaultVariants: {}
|
|
32
|
+
}
|
|
33
|
+
);
|
|
34
|
+
var accordionTriggerVariants = classVarianceAuthority.cva(
|
|
35
|
+
[
|
|
36
|
+
// Layout
|
|
37
|
+
"flex flex-1 items-center justify-between py-4 font-medium w-full",
|
|
38
|
+
// Text styling
|
|
39
|
+
"text-sm text-[var(--content-foreground)]",
|
|
40
|
+
// Hover state
|
|
41
|
+
"hover:underline",
|
|
42
|
+
// Focus visible ring (WCAG 2.4.13)
|
|
43
|
+
"focus-visible:outline-none focus-visible:ring-2",
|
|
44
|
+
"focus-visible:ring-[var(--ring)] focus-visible:ring-offset-2",
|
|
45
|
+
"focus-visible:ring-offset-[var(--content-background)]",
|
|
46
|
+
// WCAG 2.2 AAA: 44px minimum touch target
|
|
47
|
+
"min-h-[44px]",
|
|
48
|
+
// Disabled state
|
|
49
|
+
"data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
50
|
+
// Transition for smooth interactions
|
|
51
|
+
"transition-all"
|
|
52
|
+
].join(" "),
|
|
53
|
+
{
|
|
54
|
+
variants: {},
|
|
55
|
+
defaultVariants: {}
|
|
56
|
+
}
|
|
57
|
+
);
|
|
58
|
+
var accordionChevronVariants = classVarianceAuthority.cva(
|
|
59
|
+
[
|
|
60
|
+
"h-4 w-4 shrink-0",
|
|
61
|
+
"text-[var(--menu-muted)]",
|
|
62
|
+
// Smooth rotation transition
|
|
63
|
+
"transition-transform duration-200 ease-out",
|
|
64
|
+
// Reduced motion support
|
|
65
|
+
"motion-reduce:transition-none"
|
|
66
|
+
].join(" "),
|
|
67
|
+
{
|
|
68
|
+
variants: {
|
|
69
|
+
isExpanded: {
|
|
70
|
+
true: "rotate-180",
|
|
71
|
+
false: "rotate-0"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
defaultVariants: {
|
|
75
|
+
isExpanded: false
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
);
|
|
79
|
+
var accordionContentVariants = classVarianceAuthority.cva(
|
|
80
|
+
[
|
|
81
|
+
"overflow-hidden",
|
|
82
|
+
"text-sm text-[var(--menu-muted)]"
|
|
83
|
+
].join(" "),
|
|
84
|
+
{
|
|
85
|
+
variants: {},
|
|
86
|
+
defaultVariants: {}
|
|
87
|
+
}
|
|
88
|
+
);
|
|
89
|
+
var accordionContentInnerVariants = classVarianceAuthority.cva("pb-4 pt-0", {
|
|
90
|
+
variants: {},
|
|
91
|
+
defaultVariants: {}
|
|
92
|
+
});
|
|
93
|
+
function getHeadingLevel(level) {
|
|
94
|
+
const levelMap = {
|
|
95
|
+
h1: 1,
|
|
96
|
+
h2: 2,
|
|
97
|
+
h3: 3,
|
|
98
|
+
h4: 4,
|
|
99
|
+
h5: 5,
|
|
100
|
+
h6: 6
|
|
101
|
+
};
|
|
102
|
+
return levelMap[level];
|
|
103
|
+
}
|
|
104
|
+
function getFirstAccordionItemId(children) {
|
|
105
|
+
const childArray = react.Children.toArray(children);
|
|
106
|
+
for (const child of childArray) {
|
|
107
|
+
if (react.isValidElement(child)) {
|
|
108
|
+
const childProps = child.props;
|
|
109
|
+
if (childProps && typeof childProps === "object" && "id" in childProps) {
|
|
110
|
+
return childProps.id;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return void 0;
|
|
115
|
+
}
|
|
116
|
+
function AccordionRoot({
|
|
117
|
+
type = "single",
|
|
118
|
+
collapsible = false,
|
|
119
|
+
expandedKeys,
|
|
120
|
+
defaultExpandedKeys,
|
|
121
|
+
onExpandedChange,
|
|
122
|
+
isDisabled = false,
|
|
123
|
+
disabledKeys,
|
|
124
|
+
className,
|
|
125
|
+
children,
|
|
126
|
+
...props
|
|
127
|
+
}) {
|
|
128
|
+
const allowsMultipleExpanded = type === "multiple";
|
|
129
|
+
const effectiveDefaultExpandedKeys = react.useMemo(() => {
|
|
130
|
+
if (!collapsible && type === "single" && !defaultExpandedKeys && !expandedKeys) {
|
|
131
|
+
const firstItemId = getFirstAccordionItemId(children);
|
|
132
|
+
return firstItemId ? [firstItemId] : void 0;
|
|
133
|
+
}
|
|
134
|
+
return defaultExpandedKeys;
|
|
135
|
+
}, [collapsible, type, defaultExpandedKeys, expandedKeys, children]);
|
|
136
|
+
const contextValue = react.useMemo(
|
|
137
|
+
() => ({ disabledKeys }),
|
|
138
|
+
[disabledKeys]
|
|
139
|
+
);
|
|
140
|
+
return /* @__PURE__ */ jsxRuntime.jsx(AccordionContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
141
|
+
reactAriaComponents.DisclosureGroup,
|
|
142
|
+
{
|
|
143
|
+
allowsMultipleExpanded,
|
|
144
|
+
expandedKeys,
|
|
145
|
+
defaultExpandedKeys: effectiveDefaultExpandedKeys,
|
|
146
|
+
onExpandedChange,
|
|
147
|
+
isDisabled,
|
|
148
|
+
className: chunkVIREG536_js.cn(accordionVariants(), className),
|
|
149
|
+
...props,
|
|
150
|
+
children
|
|
151
|
+
}
|
|
152
|
+
) });
|
|
153
|
+
}
|
|
154
|
+
AccordionRoot.displayName = "Accordion";
|
|
155
|
+
function AccordionItemComponent({
|
|
156
|
+
id,
|
|
157
|
+
isDisabled: isDisabledProp,
|
|
158
|
+
className,
|
|
159
|
+
children,
|
|
160
|
+
...props
|
|
161
|
+
}) {
|
|
162
|
+
const { disabledKeys } = react.useContext(AccordionContext);
|
|
163
|
+
const isDisabledFromKeys = disabledKeys?.includes(id) ?? false;
|
|
164
|
+
const isDisabled = isDisabledProp || isDisabledFromKeys;
|
|
165
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
166
|
+
reactAriaComponents.Disclosure,
|
|
167
|
+
{
|
|
168
|
+
id,
|
|
169
|
+
isDisabled,
|
|
170
|
+
className: reactAriaComponents.composeRenderProps(
|
|
171
|
+
className,
|
|
172
|
+
(className2) => chunkVIREG536_js.cn(accordionItemVariants(), className2)
|
|
173
|
+
),
|
|
174
|
+
...props,
|
|
175
|
+
children
|
|
176
|
+
}
|
|
177
|
+
);
|
|
178
|
+
}
|
|
179
|
+
AccordionItemComponent.displayName = "AccordionItem";
|
|
180
|
+
function AccordionTriggerComponent({
|
|
181
|
+
as: headingLevel = "h3",
|
|
182
|
+
icon,
|
|
183
|
+
hideIcon = false,
|
|
184
|
+
className,
|
|
185
|
+
children,
|
|
186
|
+
...props
|
|
187
|
+
}) {
|
|
188
|
+
const state = react.useContext(reactAriaComponents.DisclosureStateContext);
|
|
189
|
+
const isExpanded = state?.isExpanded ?? false;
|
|
190
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Heading, { level: getHeadingLevel(headingLevel), children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
191
|
+
reactAriaComponents.Button,
|
|
192
|
+
{
|
|
193
|
+
slot: "trigger",
|
|
194
|
+
className: reactAriaComponents.composeRenderProps(
|
|
195
|
+
className,
|
|
196
|
+
(className2) => chunkVIREG536_js.cn(accordionTriggerVariants(), className2)
|
|
197
|
+
),
|
|
198
|
+
...props,
|
|
199
|
+
children: [
|
|
200
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-left", children }),
|
|
201
|
+
!hideIcon && (icon ?? /* @__PURE__ */ jsxRuntime.jsx(
|
|
202
|
+
lucideReact.ChevronDown,
|
|
203
|
+
{
|
|
204
|
+
"aria-hidden": "true",
|
|
205
|
+
className: chunkVIREG536_js.cn(accordionChevronVariants({ isExpanded }))
|
|
206
|
+
}
|
|
207
|
+
))
|
|
208
|
+
]
|
|
209
|
+
}
|
|
210
|
+
) });
|
|
211
|
+
}
|
|
212
|
+
AccordionTriggerComponent.displayName = "AccordionTrigger";
|
|
213
|
+
function AccordionContentInner({
|
|
214
|
+
preserveState,
|
|
215
|
+
children
|
|
216
|
+
}) {
|
|
217
|
+
const state = react.useContext(reactAriaComponents.DisclosureStateContext);
|
|
218
|
+
const isExpanded = state?.isExpanded ?? false;
|
|
219
|
+
if (preserveState) {
|
|
220
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Activity, { mode: isExpanded ? "visible" : "hidden", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: accordionContentInnerVariants(), children }) });
|
|
221
|
+
}
|
|
222
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: accordionContentInnerVariants(), children });
|
|
223
|
+
}
|
|
224
|
+
function AccordionContentComponent({
|
|
225
|
+
preserveState = false,
|
|
226
|
+
className,
|
|
227
|
+
children,
|
|
228
|
+
...props
|
|
229
|
+
}) {
|
|
230
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
231
|
+
reactAriaComponents.DisclosurePanel,
|
|
232
|
+
{
|
|
233
|
+
className: reactAriaComponents.composeRenderProps(
|
|
234
|
+
className,
|
|
235
|
+
(className2) => chunkVIREG536_js.cn(accordionContentVariants(), "animate-accordion", className2)
|
|
236
|
+
),
|
|
237
|
+
...props,
|
|
238
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(AccordionContentInner, { preserveState, children })
|
|
239
|
+
}
|
|
240
|
+
);
|
|
241
|
+
}
|
|
242
|
+
AccordionContentComponent.displayName = "AccordionContent";
|
|
243
|
+
var Accordion = AccordionRoot;
|
|
244
|
+
var AccordionItem = AccordionItemComponent;
|
|
245
|
+
var AccordionTrigger = AccordionTriggerComponent;
|
|
246
|
+
var AccordionContent = AccordionContentComponent;
|
|
247
|
+
var AccordionTypeSchema = zod.z.enum(["single", "multiple"]);
|
|
248
|
+
var HeadingLevelSchema = zod.z.enum(["h1", "h2", "h3", "h4", "h5", "h6"]);
|
|
249
|
+
var KeySchema = zod.z.union([zod.z.string(), zod.z.number()]);
|
|
250
|
+
var AccordionPropsSchema = chunkT4COXKQ3_js.BaseComponentPropsSchema.extend({
|
|
251
|
+
// Expansion mode: 'single' (one at a time) or 'multiple' (any number)
|
|
252
|
+
type: AccordionTypeSchema.optional().default("single"),
|
|
253
|
+
// Allow all items to be collapsed (only applies to type="single")
|
|
254
|
+
// When false, one item must always be expanded
|
|
255
|
+
collapsible: zod.z.boolean().optional().default(false),
|
|
256
|
+
// Controlled mode: currently expanded keys
|
|
257
|
+
expandedKeys: zod.z.custom().optional(),
|
|
258
|
+
// Uncontrolled mode: initial expanded keys
|
|
259
|
+
defaultExpandedKeys: zod.z.array(KeySchema).optional(),
|
|
260
|
+
// Expansion change handler
|
|
261
|
+
onExpandedChange: zod.z.custom().optional(),
|
|
262
|
+
// Disable all items
|
|
263
|
+
isDisabled: zod.z.boolean().optional().default(false),
|
|
264
|
+
// Keys of items to disable individually
|
|
265
|
+
disabledKeys: zod.z.array(KeySchema).optional(),
|
|
266
|
+
// Children: AccordionItem components
|
|
267
|
+
children: zod.z.custom()
|
|
268
|
+
});
|
|
269
|
+
var AccordionItemPropsSchema = chunkT4COXKQ3_js.BaseComponentPropsSchema.extend({
|
|
270
|
+
// Unique identifier (required)
|
|
271
|
+
id: KeySchema,
|
|
272
|
+
// Disable this specific item
|
|
273
|
+
isDisabled: zod.z.boolean().optional(),
|
|
274
|
+
// Children: AccordionTrigger + AccordionContent
|
|
275
|
+
children: zod.z.custom()
|
|
276
|
+
});
|
|
277
|
+
var AccordionTriggerPropsSchema = chunkT4COXKQ3_js.BaseComponentPropsSchema.extend({
|
|
278
|
+
// Heading level for proper document structure (default: h3)
|
|
279
|
+
as: HeadingLevelSchema.optional().default("h3"),
|
|
280
|
+
// Custom icon to replace default chevron
|
|
281
|
+
icon: zod.z.custom().optional(),
|
|
282
|
+
// Hide the expand/collapse icon entirely
|
|
283
|
+
hideIcon: zod.z.boolean().optional().default(false),
|
|
284
|
+
// Trigger content (text, icons, custom content)
|
|
285
|
+
children: zod.z.custom()
|
|
286
|
+
});
|
|
287
|
+
var AccordionContentPropsSchema = chunkT4COXKQ3_js.BaseComponentPropsSchema.extend({
|
|
288
|
+
// Preserve component state when collapsed using React Activity API
|
|
289
|
+
// When true, wraps content in <Activity> component
|
|
290
|
+
// Effects are cleaned up when hidden, restored when visible
|
|
291
|
+
preserveState: zod.z.boolean().optional().default(false),
|
|
292
|
+
// Panel content
|
|
293
|
+
children: zod.z.custom()
|
|
294
|
+
});
|
|
295
|
+
|
|
296
|
+
exports.Accordion = Accordion;
|
|
297
|
+
exports.AccordionContent = AccordionContent;
|
|
298
|
+
exports.AccordionContentPropsSchema = AccordionContentPropsSchema;
|
|
299
|
+
exports.AccordionItem = AccordionItem;
|
|
300
|
+
exports.AccordionItemPropsSchema = AccordionItemPropsSchema;
|
|
301
|
+
exports.AccordionPropsSchema = AccordionPropsSchema;
|
|
302
|
+
exports.AccordionTrigger = AccordionTrigger;
|
|
303
|
+
exports.AccordionTriggerPropsSchema = AccordionTriggerPropsSchema;
|
|
304
|
+
exports.AccordionTypeSchema = AccordionTypeSchema;
|
|
305
|
+
exports.HeadingLevelSchema = HeadingLevelSchema;
|
|
306
|
+
exports.KeySchema = KeySchema;
|
|
307
|
+
exports.accordionChevronVariants = accordionChevronVariants;
|
|
308
|
+
exports.accordionContentInnerVariants = accordionContentInnerVariants;
|
|
309
|
+
exports.accordionContentVariants = accordionContentVariants;
|
|
310
|
+
exports.accordionItemVariants = accordionItemVariants;
|
|
311
|
+
exports.accordionTriggerVariants = accordionTriggerVariants;
|
|
312
|
+
exports.accordionVariants = accordionVariants;
|
|
313
|
+
//# sourceMappingURL=chunk-CKNISJOQ.js.map
|
|
314
|
+
//# sourceMappingURL=chunk-CKNISJOQ.js.map
|