@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,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Button Component - 3-Layer Architecture
|
|
3
|
+
* Accessible button with React Aria primitives and CVA styling
|
|
4
|
+
*
|
|
5
|
+
* Architecture:
|
|
6
|
+
* - Layer 1: Touch Target (44x44px WCAG AAA compliant, transparent)
|
|
7
|
+
* - Layer 2: Visual Button (configurable size, colors, borders)
|
|
8
|
+
* - Layer 3: Content & Effects (text, icons, ripple, loading spinner)
|
|
9
|
+
*
|
|
10
|
+
* @see 3layer-plan.md for architecture details
|
|
11
|
+
* @see spec.md FR-029 to FR-037 (Button Component Requirements)
|
|
12
|
+
* @see spec.md FR-009 (WCAG 2.2 AAA - 7:1 contrast ratio)
|
|
13
|
+
* @see spec.md FR-014 (44x44px minimum touch targets)
|
|
14
|
+
* @see constitution.md Principle IV (Accessibility First)
|
|
15
|
+
*/
|
|
16
|
+
import { type ReactNode } from 'react';
|
|
17
|
+
import { type ButtonProps as AriaButtonProps } from 'react-aria-components';
|
|
18
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
19
|
+
/**
|
|
20
|
+
* Layer 1: Transparent outer touch target (44x44px minimum)
|
|
21
|
+
* Handles WCAG 2.2 AAA touch target requirement
|
|
22
|
+
* Always transparent, centers the visual button inside
|
|
23
|
+
* IMPORTANT: Focus ring stays on Layer 1 for AAA compliance (2.4.13)
|
|
24
|
+
*
|
|
25
|
+
* In vertical ButtonGroups, uses items-stretch so the visual layer (Layer 2)
|
|
26
|
+
* can fill the full touch target height, eliminating gaps between buttons.
|
|
27
|
+
*/
|
|
28
|
+
declare const buttonOuterVariants: (props?: ({
|
|
29
|
+
fullWidth?: boolean | null | undefined;
|
|
30
|
+
inVerticalGroup?: boolean | null | undefined;
|
|
31
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
32
|
+
/**
|
|
33
|
+
* Layer 2: Visual button appearance (adjustable size)
|
|
34
|
+
* Provides the visual appearance with configurable size
|
|
35
|
+
* Can be smaller than touch target for use cases like carousel dots
|
|
36
|
+
* NOTE: NO focus-visible styles here - focus ring is on Layer 1
|
|
37
|
+
*/
|
|
38
|
+
declare const buttonVisualVariants: (props?: ({
|
|
39
|
+
variant?: "default" | "link" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
40
|
+
fullWidth?: boolean | null | undefined;
|
|
41
|
+
visualSize?: "default" | "icon" | "sm" | "lg" | "dot" | null | undefined;
|
|
42
|
+
paywall?: boolean | null | undefined;
|
|
43
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
44
|
+
/**
|
|
45
|
+
* @deprecated Use buttonVisualVariants instead. This alias is kept for backward compatibility.
|
|
46
|
+
*/
|
|
47
|
+
declare const buttonVariants: (props?: ({
|
|
48
|
+
variant?: "default" | "link" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
49
|
+
fullWidth?: boolean | null | undefined;
|
|
50
|
+
visualSize?: "default" | "icon" | "sm" | "lg" | "dot" | null | undefined;
|
|
51
|
+
paywall?: boolean | null | undefined;
|
|
52
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
53
|
+
export interface ButtonProps extends Omit<AriaButtonProps, 'className'>, VariantProps<typeof buttonVisualVariants> {
|
|
54
|
+
as?: 'button' | 'a';
|
|
55
|
+
loading?: boolean;
|
|
56
|
+
loadingText?: string;
|
|
57
|
+
shortcut?: string;
|
|
58
|
+
className?: string;
|
|
59
|
+
buttonVisualClassName?: string;
|
|
60
|
+
children?: ReactNode;
|
|
61
|
+
/** Enables paywall state - overrides variant styling and prevents normal action */
|
|
62
|
+
paywall?: boolean;
|
|
63
|
+
/** URL to open in new tab when paywalled button is clicked */
|
|
64
|
+
paywallRedirect?: string;
|
|
65
|
+
/** Description of the premium feature for tooltips and screen readers (max 200 chars) */
|
|
66
|
+
paywallDescription?: string;
|
|
67
|
+
/** Full width button */
|
|
68
|
+
fullWidth?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Visual size of the button (Layer 2)
|
|
71
|
+
* Defaults to `size` for backward compatibility
|
|
72
|
+
* Use independently for small visual buttons with large touch targets
|
|
73
|
+
* @example <Button size="default" visualSize="dot" /> // 44px touch, 12px visual
|
|
74
|
+
*/
|
|
75
|
+
visualSize?: 'sm' | 'default' | 'lg' | 'icon' | 'dot';
|
|
76
|
+
/**
|
|
77
|
+
* Size of the button - controls both touch target awareness and visual size
|
|
78
|
+
* @deprecated For independent visual sizing, use visualSize prop instead
|
|
79
|
+
*/
|
|
80
|
+
size?: 'sm' | 'default' | 'lg' | 'icon';
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Button Component - 3-Layer Architecture
|
|
84
|
+
* Fully accessible button with React Aria and themed styling
|
|
85
|
+
*
|
|
86
|
+
* Layer 1: Touch Target (AriaButton) - 44x44px WCAG AAA compliant
|
|
87
|
+
* Layer 2: Visual Button (span) - configurable appearance
|
|
88
|
+
* Layer 3: Content (children) - text, icons, effects
|
|
89
|
+
*/
|
|
90
|
+
declare const Button: import("react").NamedExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
91
|
+
export { Button, buttonVariants, buttonOuterVariants, buttonVisualVariants };
|
|
92
|
+
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/elements/Button/Button.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAEL,KAAK,WAAW,IAAI,eAAe,EACpC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAUlE;;;;;;;;GAQG;AACH,QAAA,MAAM,mBAAmB;;;8EAkBxB,CAAC;AAEF;;;;;GAKG;AACH,QAAA,MAAM,oBAAoB;;;;;8EAuCzB,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,cAAc;;;;;8EAAuB,CAAC;AAE5C,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,EACxC,YAAY,CAAC,OAAO,oBAAoB,CAAC;IAC3C,EAAE,CAAC,EAAE,QAAQ,GAAG,GAAG,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,mFAAmF;IACnF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yFAAyF;IACzF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,wBAAwB;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC;IACtD;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAAC;CACzC;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,MAAM,sGA0KV,CAAC;AAIH,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { ButtonProps as AriaButtonProps } from 'react-aria-components';
|
|
3
|
+
/**
|
|
4
|
+
* Button props schema extending BaseComponentProps
|
|
5
|
+
*
|
|
6
|
+
* @see spec.md FR-029 to FR-037 (Button Component Requirements)
|
|
7
|
+
* @see spec.md FR-031 - Button MUST support ALL states: loading, disabled, pressed, focused
|
|
8
|
+
* @see spec.md FR-034 - Button MUST display keyboard shortcuts on focus when shortcut prop provided
|
|
9
|
+
*/
|
|
10
|
+
export declare const ButtonPropsSchema: z.ZodObject<{
|
|
11
|
+
className: z.ZodOptional<z.ZodString>;
|
|
12
|
+
children: z.ZodOptional<z.ZodAny>;
|
|
13
|
+
id: z.ZodOptional<z.ZodString>;
|
|
14
|
+
'aria-label': z.ZodOptional<z.ZodString>;
|
|
15
|
+
'aria-labelledby': z.ZodOptional<z.ZodString>;
|
|
16
|
+
'aria-describedby': z.ZodOptional<z.ZodString>;
|
|
17
|
+
'aria-live': z.ZodOptional<z.ZodEnum<{
|
|
18
|
+
off: "off";
|
|
19
|
+
polite: "polite";
|
|
20
|
+
assertive: "assertive";
|
|
21
|
+
}>>;
|
|
22
|
+
'aria-hidden': z.ZodOptional<z.ZodBoolean>;
|
|
23
|
+
'data-testid': z.ZodOptional<z.ZodString>;
|
|
24
|
+
variant: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
25
|
+
default: "default";
|
|
26
|
+
link: "link";
|
|
27
|
+
destructive: "destructive";
|
|
28
|
+
outline: "outline";
|
|
29
|
+
secondary: "secondary";
|
|
30
|
+
ghost: "ghost";
|
|
31
|
+
}>>>;
|
|
32
|
+
size: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
33
|
+
default: "default";
|
|
34
|
+
icon: "icon";
|
|
35
|
+
sm: "sm";
|
|
36
|
+
lg: "lg";
|
|
37
|
+
}>>>;
|
|
38
|
+
loading: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
39
|
+
isDisabled: z.ZodOptional<z.ZodBoolean>;
|
|
40
|
+
loadingText: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
41
|
+
shortcut: z.ZodOptional<z.ZodString>;
|
|
42
|
+
onPress: z.ZodOptional<z.ZodFunction<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut>>;
|
|
43
|
+
paywall: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
44
|
+
paywallRedirect: z.ZodOptional<z.ZodString>;
|
|
45
|
+
paywallDescription: z.ZodOptional<z.ZodString>;
|
|
46
|
+
}, z.core.$strip>;
|
|
47
|
+
export type ButtonProps = z.infer<typeof ButtonPropsSchema> & Omit<AriaButtonProps, keyof z.infer<typeof ButtonPropsSchema>>;
|
|
48
|
+
/**
|
|
49
|
+
* CVA variant configuration type
|
|
50
|
+
* Used for class-variance-authority integration (FR-036)
|
|
51
|
+
*/
|
|
52
|
+
export type ButtonVariant = z.infer<typeof ButtonPropsSchema>['variant'];
|
|
53
|
+
export type ButtonSize = z.infer<typeof ButtonPropsSchema>['size'];
|
|
54
|
+
//# sourceMappingURL=Button.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.types.d.ts","sourceRoot":"","sources":["../../../src/elements/Button/Button.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE5E;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmC5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,GACzD,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC;AAEjE;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC;AACzE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Button Component Exports
|
|
3
|
+
* Barrel export for Button component and utilities
|
|
4
|
+
*
|
|
5
|
+
* 3-Layer Architecture (v0.9.0):
|
|
6
|
+
* - buttonOuterVariants: Layer 1 - Touch target (44x44px)
|
|
7
|
+
* - buttonVisualVariants: Layer 2 - Visual appearance
|
|
8
|
+
* - buttonVariants: Deprecated alias for buttonVisualVariants
|
|
9
|
+
*
|
|
10
|
+
* @see 3layer-plan.md for architecture details
|
|
11
|
+
* @see spec.md FR-029 to FR-037 (Button Component Requirements)
|
|
12
|
+
* @see spec.md FR-038 (Tree-shakeable exports)
|
|
13
|
+
*/
|
|
14
|
+
export { Button, buttonOuterVariants, buttonVisualVariants,
|
|
15
|
+
/** @deprecated Use buttonVisualVariants instead */
|
|
16
|
+
buttonVariants, } from './Button';
|
|
17
|
+
export type { ButtonProps } from './Button';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Button/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,MAAM,EACN,mBAAmB,EACnB,oBAAoB;AACpB,mDAAmD;AACnD,cAAc,GACf,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk3YOY2VJ6_js = require('../../chunk-3YOY2VJ6.js');
|
|
4
|
+
require('../../chunk-Y3GT7ETK.js');
|
|
5
|
+
require('../../chunk-B5Q4UPL6.js');
|
|
6
|
+
require('../../chunk-VIREG536.js');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
Object.defineProperty(exports, "Button", {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () { return chunk3YOY2VJ6_js.Button; }
|
|
13
|
+
});
|
|
14
|
+
Object.defineProperty(exports, "buttonOuterVariants", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function () { return chunk3YOY2VJ6_js.buttonOuterVariants; }
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "buttonVariants", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () { return chunk3YOY2VJ6_js.buttonVariants; }
|
|
21
|
+
});
|
|
22
|
+
Object.defineProperty(exports, "buttonVisualVariants", {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
get: function () { return chunk3YOY2VJ6_js.buttonVisualVariants; }
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { Button, buttonOuterVariants, buttonVariants, buttonVisualVariants } from '../../chunk-BDXKKMBZ.mjs';
|
|
2
|
+
import '../../chunk-FPKEAJRZ.mjs';
|
|
3
|
+
import '../../chunk-HK46BT5U.mjs';
|
|
4
|
+
import '../../chunk-E2KQFV3O.mjs';
|
|
5
|
+
//# sourceMappingURL=index.mjs.map
|
|
6
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.mjs"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ButtonGroup - Groups related buttons with connected styling and keyboard navigation
|
|
3
|
+
*
|
|
4
|
+
* Uses React Aria's Toolbar for:
|
|
5
|
+
* - Roving tabindex (single tab stop)
|
|
6
|
+
* - Arrow key navigation
|
|
7
|
+
* - Home/End key support
|
|
8
|
+
* - RTL support
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* <ButtonGroup aria-label="Text formatting">
|
|
13
|
+
* <Button variant="outline">Bold</Button>
|
|
14
|
+
* <Button variant="outline">Italic</Button>
|
|
15
|
+
* <Button variant="outline">Underline</Button>
|
|
16
|
+
* </ButtonGroup>
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
declare const ButtonGroup: import("react").ForwardRefExoticComponent<{
|
|
20
|
+
orientation: "horizontal" | "vertical";
|
|
21
|
+
children: import("react").ReactNode;
|
|
22
|
+
variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | undefined;
|
|
23
|
+
size?: "default" | "icon" | "sm" | "lg" | undefined;
|
|
24
|
+
isDisabled?: boolean | undefined;
|
|
25
|
+
'aria-label'?: string | undefined;
|
|
26
|
+
'aria-labelledby'?: string | undefined;
|
|
27
|
+
className?: string | undefined;
|
|
28
|
+
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
29
|
+
/**
|
|
30
|
+
* ButtonGroupSeparator - Visual divider between button groups
|
|
31
|
+
*
|
|
32
|
+
* Renders a decorative separator that:
|
|
33
|
+
* - Adapts to orientation (vertical line for horizontal, horizontal for vertical)
|
|
34
|
+
* - Is hidden from screen readers (aria-hidden)
|
|
35
|
+
* - Is excluded from keyboard navigation
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```tsx
|
|
39
|
+
* <ButtonGroup aria-label="Editor actions">
|
|
40
|
+
* <Button>Undo</Button>
|
|
41
|
+
* <Button>Redo</Button>
|
|
42
|
+
* <ButtonGroupSeparator />
|
|
43
|
+
* <Button>Cut</Button>
|
|
44
|
+
* <Button>Copy</Button>
|
|
45
|
+
* </ButtonGroup>
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
declare const ButtonGroupSeparator: import("react").ForwardRefExoticComponent<{
|
|
49
|
+
className?: string | undefined;
|
|
50
|
+
'data-testid'?: string | undefined;
|
|
51
|
+
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
52
|
+
export { ButtonGroup, ButtonGroupSeparator };
|
|
53
|
+
//# sourceMappingURL=ButtonGroup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../../../src/elements/ButtonGroup/ButtonGroup.tsx"],"names":[],"mappings":"AA8BA;;;;;;;;;;;;;;;;;GAiBG;AACH,QAAA,MAAM,WAAW;;;;;;;;;kDA+DhB,CAAC;AAQF;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,oBAAoB;;;kDAkBzB,CAAC;AAQF,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* ButtonGroup Component Types
|
|
5
|
+
*
|
|
6
|
+
* Defines Zod schemas and TypeScript types for the ButtonGroup component.
|
|
7
|
+
* Uses a two-level context pattern:
|
|
8
|
+
* - ButtonGroupContext: Group-level props (orientation, variant, size, isDisabled)
|
|
9
|
+
* - ButtonGroupItemContext: Per-button position information
|
|
10
|
+
*
|
|
11
|
+
* @see plan.md for architecture details
|
|
12
|
+
* @see constitution.md Principle II (Type Safety First)
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Orientation of the button group
|
|
16
|
+
*/
|
|
17
|
+
export type ButtonGroupOrientation = 'horizontal' | 'vertical';
|
|
18
|
+
/**
|
|
19
|
+
* Position of a button within the group
|
|
20
|
+
* Used for position-aware border-radius styling
|
|
21
|
+
*/
|
|
22
|
+
export type ButtonPosition = 'first' | 'middle' | 'last' | 'only';
|
|
23
|
+
/**
|
|
24
|
+
* Button variants (matches Themis Button variants, excluding 'link')
|
|
25
|
+
* Link variant is excluded as it doesn't make sense in a grouped context
|
|
26
|
+
*/
|
|
27
|
+
export type ButtonGroupVariant = 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost';
|
|
28
|
+
/**
|
|
29
|
+
* Button sizes (matches Themis Button sizes)
|
|
30
|
+
*/
|
|
31
|
+
export type ButtonGroupSize = 'sm' | 'default' | 'lg' | 'icon';
|
|
32
|
+
/**
|
|
33
|
+
* ButtonGroup props schema
|
|
34
|
+
* Validates all props for the ButtonGroup container component
|
|
35
|
+
*/
|
|
36
|
+
export declare const ButtonGroupPropsSchema: z.ZodObject<{
|
|
37
|
+
orientation: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
38
|
+
horizontal: "horizontal";
|
|
39
|
+
vertical: "vertical";
|
|
40
|
+
}>>>;
|
|
41
|
+
variant: z.ZodOptional<z.ZodEnum<{
|
|
42
|
+
default: "default";
|
|
43
|
+
destructive: "destructive";
|
|
44
|
+
outline: "outline";
|
|
45
|
+
secondary: "secondary";
|
|
46
|
+
ghost: "ghost";
|
|
47
|
+
}>>;
|
|
48
|
+
size: z.ZodOptional<z.ZodEnum<{
|
|
49
|
+
default: "default";
|
|
50
|
+
icon: "icon";
|
|
51
|
+
sm: "sm";
|
|
52
|
+
lg: "lg";
|
|
53
|
+
}>>;
|
|
54
|
+
isDisabled: z.ZodOptional<z.ZodBoolean>;
|
|
55
|
+
'aria-label': z.ZodOptional<z.ZodString>;
|
|
56
|
+
'aria-labelledby': z.ZodOptional<z.ZodString>;
|
|
57
|
+
className: z.ZodOptional<z.ZodString>;
|
|
58
|
+
children: z.ZodCustom<ReactNode, ReactNode>;
|
|
59
|
+
}, z.core.$strip>;
|
|
60
|
+
/**
|
|
61
|
+
* ButtonGroupSeparator props schema
|
|
62
|
+
* Validates props for the visual separator between button groups
|
|
63
|
+
*/
|
|
64
|
+
export declare const ButtonGroupSeparatorPropsSchema: z.ZodObject<{
|
|
65
|
+
className: z.ZodOptional<z.ZodString>;
|
|
66
|
+
'data-testid': z.ZodOptional<z.ZodString>;
|
|
67
|
+
}, z.core.$strip>;
|
|
68
|
+
/**
|
|
69
|
+
* Props for the ButtonGroup container component
|
|
70
|
+
*/
|
|
71
|
+
export type ButtonGroupProps = z.infer<typeof ButtonGroupPropsSchema>;
|
|
72
|
+
/**
|
|
73
|
+
* Props for the ButtonGroupSeparator component
|
|
74
|
+
*/
|
|
75
|
+
export type ButtonGroupSeparatorProps = z.infer<typeof ButtonGroupSeparatorPropsSchema>;
|
|
76
|
+
/**
|
|
77
|
+
* Group-level context value
|
|
78
|
+
* Provides inherited props to all child buttons
|
|
79
|
+
*/
|
|
80
|
+
export interface ButtonGroupContextValue {
|
|
81
|
+
/** Orientation of the group (affects keyboard navigation and styling) */
|
|
82
|
+
orientation: ButtonGroupOrientation;
|
|
83
|
+
/** Default variant for buttons (can be overridden) */
|
|
84
|
+
variant?: ButtonGroupVariant;
|
|
85
|
+
/** Default size for buttons (can be overridden) */
|
|
86
|
+
size?: ButtonGroupSize;
|
|
87
|
+
/** Whether all buttons in the group are disabled */
|
|
88
|
+
isDisabled?: boolean;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Item-level context value
|
|
92
|
+
* Provides position information to each button for border-radius styling
|
|
93
|
+
*/
|
|
94
|
+
export interface ButtonGroupItemContextValue {
|
|
95
|
+
/** Position of this button in the group */
|
|
96
|
+
position: ButtonPosition;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=ButtonGroup.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonGroup.types.d.ts","sourceRoot":"","sources":["../../../src/elements/ButtonGroup/ButtonGroup.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;;;;;;;;;GAUG;AAMH;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,UAAU,CAAC;AAE/D;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAElE;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,aAAa,GACb,SAAS,GACT,WAAW,GACX,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAAC;AAM/D;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;iBA6BjC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,+BAA+B;;;iBAK1C,CAAC;AAMH;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAC;AAMF;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,yEAAyE;IACzE,WAAW,EAAE,sBAAsB,CAAC;IACpC,sDAAsD;IACtD,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,mDAAmD;IACnD,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,2CAA2C;IAC3C,QAAQ,EAAE,cAAc,CAAC;CAC1B"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { ButtonPosition } from './ButtonGroup.types';
|
|
3
|
+
/**
|
|
4
|
+
* ButtonGroup Utility Functions
|
|
5
|
+
*
|
|
6
|
+
* Provides helper functions for:
|
|
7
|
+
* - Child element detection (Button vs Separator vs other)
|
|
8
|
+
* - Position calculation for border-radius styling
|
|
9
|
+
*
|
|
10
|
+
* @see plan.md Decision 6: Non-Button Child Handling
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Checks if a React child is a Themis Button component
|
|
14
|
+
* Uses displayName for reliable detection across module boundaries
|
|
15
|
+
*
|
|
16
|
+
* @param child - React child element to check
|
|
17
|
+
* @returns true if the child is a Button component
|
|
18
|
+
*/
|
|
19
|
+
export declare const isButtonElement: (child: ReactNode) => boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Checks if a React child is a ButtonGroupSeparator component
|
|
22
|
+
* Uses displayName for reliable detection across module boundaries
|
|
23
|
+
*
|
|
24
|
+
* @param child - React child element to check
|
|
25
|
+
* @returns true if the child is a ButtonGroupSeparator component
|
|
26
|
+
*/
|
|
27
|
+
export declare const isSeparatorElement: (child: ReactNode) => boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Calculates the position of a button within a group
|
|
30
|
+
* Used for applying position-aware border-radius styling
|
|
31
|
+
*
|
|
32
|
+
* @param index - Zero-based index of the button
|
|
33
|
+
* @param total - Total number of buttons in the group
|
|
34
|
+
* @returns Position enum: 'only' | 'first' | 'last' | 'middle'
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* getPosition(0, 1) // 'only' - single button
|
|
38
|
+
* getPosition(0, 3) // 'first'
|
|
39
|
+
* getPosition(1, 3) // 'middle'
|
|
40
|
+
* getPosition(2, 3) // 'last'
|
|
41
|
+
*/
|
|
42
|
+
export declare const getPosition: (index: number, total: number) => ButtonPosition;
|
|
43
|
+
/**
|
|
44
|
+
* Filters an array of React children to only include Button elements
|
|
45
|
+
* Non-Button children (Separators, custom elements) are excluded
|
|
46
|
+
*
|
|
47
|
+
* @param children - Array of React children
|
|
48
|
+
* @returns Array containing only Button elements
|
|
49
|
+
*/
|
|
50
|
+
export declare const filterButtonChildren: (children: ReactNode[]) => ReactNode[];
|
|
51
|
+
/**
|
|
52
|
+
* Gets the index of a button within the filtered button array
|
|
53
|
+
* Used when the child array contains non-Button elements (Separators, etc.)
|
|
54
|
+
*
|
|
55
|
+
* @param child - The button element to find
|
|
56
|
+
* @param buttonChildren - Array of only Button elements
|
|
57
|
+
* @returns Index of the button, or -1 if not found
|
|
58
|
+
*/
|
|
59
|
+
export declare const getButtonIndex: (child: ReactNode, buttonChildren: ReactNode[]) => number;
|
|
60
|
+
//# sourceMappingURL=ButtonGroup.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonGroup.utils.d.ts","sourceRoot":"","sources":["../../../src/elements/ButtonGroup/ButtonGroup.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,SAAS,EAAsB,MAAM,OAAO,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;;;;;GAQG;AAMH;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,SAAS,KAAG,OAKlD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,SAAS,KAAG,OAKrD,CAAC;AAMF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,EAAE,OAAO,MAAM,KAAG,cAK1D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,UAAU,SAAS,EAAE,KAAG,SAAS,EAErE,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GACzB,OAAO,SAAS,EAChB,gBAAgB,SAAS,EAAE,KAC1B,MAEF,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ButtonGroup CVA Variants
|
|
3
|
+
*
|
|
4
|
+
* Defines Class Variance Authority (CVA) variants for:
|
|
5
|
+
* - ButtonGroup container (orientation-based layout)
|
|
6
|
+
* - ButtonGroupItem (position-based border-radius)
|
|
7
|
+
* - ButtonGroupSeparator (orientation-based styling)
|
|
8
|
+
*
|
|
9
|
+
* @see plan.md Phase 1: Design & Contracts - CVA Variants
|
|
10
|
+
* @see constitution.md Principle V (Component Quality Standards)
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* ButtonGroup container variants
|
|
14
|
+
* Controls the layout direction based on orientation
|
|
15
|
+
* Uses gap-0 to ensure buttons are connected (share borders)
|
|
16
|
+
*/
|
|
17
|
+
export declare const buttonGroupVariants: (props?: ({
|
|
18
|
+
orientation?: "horizontal" | "vertical" | null | undefined;
|
|
19
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
20
|
+
/**
|
|
21
|
+
* ButtonGroupItem position variants
|
|
22
|
+
* Applied to Button's visual layer (Layer 2) for position-aware border-radius
|
|
23
|
+
*
|
|
24
|
+
* Compound variants handle both orientation and position combinations:
|
|
25
|
+
* - Horizontal: left/right borders and radii
|
|
26
|
+
* - Vertical: top/bottom borders and radii
|
|
27
|
+
*/
|
|
28
|
+
export declare const buttonGroupItemVariants: (props?: ({
|
|
29
|
+
orientation?: "horizontal" | "vertical" | null | undefined;
|
|
30
|
+
position?: "first" | "middle" | "last" | "only" | null | undefined;
|
|
31
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
32
|
+
/**
|
|
33
|
+
* ButtonGroupSeparator variants
|
|
34
|
+
* Orientation-aware visual divider between button groups
|
|
35
|
+
*/
|
|
36
|
+
export declare const buttonGroupSeparatorVariants: (props?: ({
|
|
37
|
+
orientation?: "horizontal" | "vertical" | null | undefined;
|
|
38
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
39
|
+
//# sourceMappingURL=ButtonGroup.variants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonGroup.variants.d.ts","sourceRoot":"","sources":["../../../src/elements/ButtonGroup/ButtonGroup.variants.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAMH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;8EAU9B,CAAC;AAMH;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB;;;8EA2DlC,CAAC;AAMH;;;GAGG;AACH,eAAO,MAAM,4BAA4B;;8EAUvC,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { ButtonGroupContextValue, ButtonGroupItemContextValue } from './ButtonGroup.types';
|
|
2
|
+
/**
|
|
3
|
+
* ButtonGroup Context System (Two-Level)
|
|
4
|
+
*
|
|
5
|
+
* Provides a two-level context pattern for ButtonGroup:
|
|
6
|
+
*
|
|
7
|
+
* 1. ButtonGroupContext (group-level):
|
|
8
|
+
* - Provides: orientation, variant, size, isDisabled
|
|
9
|
+
* - Consumed by: Button (for prop inheritance), Separator (for orientation)
|
|
10
|
+
*
|
|
11
|
+
* 2. ButtonGroupItemContext (item-level):
|
|
12
|
+
* - Provides: position ('first' | 'middle' | 'last' | 'only')
|
|
13
|
+
* - Consumed by: Button (for border-radius styling)
|
|
14
|
+
*
|
|
15
|
+
* Both contexts return null when not in a provider, allowing Button
|
|
16
|
+
* to work standalone without any group context.
|
|
17
|
+
*
|
|
18
|
+
* @see plan.md for architecture details
|
|
19
|
+
* @see ButtonGroup.tsx for Provider implementation
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* Context for group-level props (orientation, variant, size, isDisabled)
|
|
23
|
+
* Default value is null to indicate "not in a group"
|
|
24
|
+
*/
|
|
25
|
+
declare const ButtonGroupContext: import("react").Context<ButtonGroupContextValue | null>;
|
|
26
|
+
/**
|
|
27
|
+
* Hook to access group-level context
|
|
28
|
+
* @returns ButtonGroupContextValue if inside a ButtonGroup, null otherwise
|
|
29
|
+
*/
|
|
30
|
+
export declare function useButtonGroupContext(): ButtonGroupContextValue | null;
|
|
31
|
+
/**
|
|
32
|
+
* Context for per-button position information
|
|
33
|
+
* Default value is null to indicate "not wrapped with position context"
|
|
34
|
+
*/
|
|
35
|
+
declare const ButtonGroupItemContext: import("react").Context<ButtonGroupItemContextValue | null>;
|
|
36
|
+
/**
|
|
37
|
+
* Hook to access item-level context (position)
|
|
38
|
+
* @returns ButtonGroupItemContextValue if wrapped with position context, null otherwise
|
|
39
|
+
*/
|
|
40
|
+
export declare function useButtonGroupItemContext(): ButtonGroupItemContextValue | null;
|
|
41
|
+
export { ButtonGroupContext, ButtonGroupItemContext };
|
|
42
|
+
//# sourceMappingURL=ButtonGroupContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonGroupContext.d.ts","sourceRoot":"","sources":["../../../src/elements/ButtonGroup/ButtonGroupContext.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,uBAAuB,EACvB,2BAA2B,EAC5B,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;;;;;;;GAkBG;AAMH;;;GAGG;AACH,QAAA,MAAM,kBAAkB,yDAAsD,CAAC;AAI/E;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,uBAAuB,GAAG,IAAI,CAEtE;AAMD;;;GAGG;AACH,QAAA,MAAM,sBAAsB,6DAC6B,CAAC;AAI1D;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,2BAA2B,GAAG,IAAI,CAE9E;AAMD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ButtonGroup Component - Public API
|
|
3
|
+
*
|
|
4
|
+
* Exports all public members of the ButtonGroup component:
|
|
5
|
+
* - Components: ButtonGroup, ButtonGroupSeparator
|
|
6
|
+
* - Context Hooks: useButtonGroupContext, useButtonGroupItemContext
|
|
7
|
+
* - Types: ButtonGroupProps, ButtonGroupContextValue, etc.
|
|
8
|
+
* - Schemas: ButtonGroupPropsSchema
|
|
9
|
+
* - CVA Variants: for custom composition
|
|
10
|
+
* - Utilities: for advanced customization
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```tsx
|
|
14
|
+
* import { ButtonGroup, ButtonGroupSeparator } from '@tribepad/themis/elements/ButtonGroup';
|
|
15
|
+
* import { Button } from '@tribepad/themis/elements/Button';
|
|
16
|
+
*
|
|
17
|
+
* function Toolbar() {
|
|
18
|
+
* return (
|
|
19
|
+
* <ButtonGroup aria-label="Text formatting">
|
|
20
|
+
* <Button variant="outline">Bold</Button>
|
|
21
|
+
* <Button variant="outline">Italic</Button>
|
|
22
|
+
* <ButtonGroupSeparator />
|
|
23
|
+
* <Button variant="outline">Link</Button>
|
|
24
|
+
* </ButtonGroup>
|
|
25
|
+
* );
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export { ButtonGroup, ButtonGroupSeparator } from './ButtonGroup';
|
|
30
|
+
export { useButtonGroupContext, useButtonGroupItemContext, } from './ButtonGroupContext';
|
|
31
|
+
export type { ButtonGroupProps, ButtonGroupSeparatorProps, ButtonGroupContextValue, ButtonGroupItemContextValue, ButtonGroupOrientation, ButtonGroupVariant, ButtonGroupSize, ButtonPosition, } from './ButtonGroup.types';
|
|
32
|
+
export { ButtonGroupPropsSchema, ButtonGroupSeparatorPropsSchema, } from './ButtonGroup.types';
|
|
33
|
+
export { buttonGroupVariants, buttonGroupItemVariants, buttonGroupSeparatorVariants, } from './ButtonGroup.variants';
|
|
34
|
+
export { isButtonElement, isSeparatorElement, getPosition, filterButtonChildren, getButtonIndex, } from './ButtonGroup.utils';
|
|
35
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ButtonGroup/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAMH,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAMlE,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAM9B,YAAY,EACV,gBAAgB,EAChB,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,EAC3B,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,cAAc,GACf,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EACL,sBAAsB,EACtB,+BAA+B,GAChC,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,cAAc,GACf,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkRFFO4KPM_js = require('../../chunk-RFFO4KPM.js');
|
|
4
|
+
var chunkY3GT7ETK_js = require('../../chunk-Y3GT7ETK.js');
|
|
5
|
+
require('../../chunk-VIREG536.js');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Object.defineProperty(exports, "ButtonGroup", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function () { return chunkRFFO4KPM_js.ButtonGroup; }
|
|
12
|
+
});
|
|
13
|
+
Object.defineProperty(exports, "ButtonGroupPropsSchema", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () { return chunkRFFO4KPM_js.ButtonGroupPropsSchema; }
|
|
16
|
+
});
|
|
17
|
+
Object.defineProperty(exports, "ButtonGroupSeparator", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
get: function () { return chunkRFFO4KPM_js.ButtonGroupSeparator; }
|
|
20
|
+
});
|
|
21
|
+
Object.defineProperty(exports, "ButtonGroupSeparatorPropsSchema", {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () { return chunkRFFO4KPM_js.ButtonGroupSeparatorPropsSchema; }
|
|
24
|
+
});
|
|
25
|
+
Object.defineProperty(exports, "filterButtonChildren", {
|
|
26
|
+
enumerable: true,
|
|
27
|
+
get: function () { return chunkRFFO4KPM_js.filterButtonChildren; }
|
|
28
|
+
});
|
|
29
|
+
Object.defineProperty(exports, "getButtonIndex", {
|
|
30
|
+
enumerable: true,
|
|
31
|
+
get: function () { return chunkRFFO4KPM_js.getButtonIndex; }
|
|
32
|
+
});
|
|
33
|
+
Object.defineProperty(exports, "getPosition", {
|
|
34
|
+
enumerable: true,
|
|
35
|
+
get: function () { return chunkRFFO4KPM_js.getPosition; }
|
|
36
|
+
});
|
|
37
|
+
Object.defineProperty(exports, "isButtonElement", {
|
|
38
|
+
enumerable: true,
|
|
39
|
+
get: function () { return chunkRFFO4KPM_js.isButtonElement; }
|
|
40
|
+
});
|
|
41
|
+
Object.defineProperty(exports, "isSeparatorElement", {
|
|
42
|
+
enumerable: true,
|
|
43
|
+
get: function () { return chunkRFFO4KPM_js.isSeparatorElement; }
|
|
44
|
+
});
|
|
45
|
+
Object.defineProperty(exports, "buttonGroupItemVariants", {
|
|
46
|
+
enumerable: true,
|
|
47
|
+
get: function () { return chunkY3GT7ETK_js.buttonGroupItemVariants; }
|
|
48
|
+
});
|
|
49
|
+
Object.defineProperty(exports, "buttonGroupSeparatorVariants", {
|
|
50
|
+
enumerable: true,
|
|
51
|
+
get: function () { return chunkY3GT7ETK_js.buttonGroupSeparatorVariants; }
|
|
52
|
+
});
|
|
53
|
+
Object.defineProperty(exports, "buttonGroupVariants", {
|
|
54
|
+
enumerable: true,
|
|
55
|
+
get: function () { return chunkY3GT7ETK_js.buttonGroupVariants; }
|
|
56
|
+
});
|
|
57
|
+
Object.defineProperty(exports, "useButtonGroupContext", {
|
|
58
|
+
enumerable: true,
|
|
59
|
+
get: function () { return chunkY3GT7ETK_js.useButtonGroupContext; }
|
|
60
|
+
});
|
|
61
|
+
Object.defineProperty(exports, "useButtonGroupItemContext", {
|
|
62
|
+
enumerable: true,
|
|
63
|
+
get: function () { return chunkY3GT7ETK_js.useButtonGroupItemContext; }
|
|
64
|
+
});
|
|
65
|
+
//# sourceMappingURL=index.js.map
|
|
66
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { ButtonGroup, ButtonGroupPropsSchema, ButtonGroupSeparator, ButtonGroupSeparatorPropsSchema, filterButtonChildren, getButtonIndex, getPosition, isButtonElement, isSeparatorElement } from '../../chunk-I3AUTOMZ.mjs';
|
|
2
|
+
export { buttonGroupItemVariants, buttonGroupSeparatorVariants, buttonGroupVariants, useButtonGroupContext, useButtonGroupItemContext } from '../../chunk-FPKEAJRZ.mjs';
|
|
3
|
+
import '../../chunk-E2KQFV3O.mjs';
|
|
4
|
+
//# sourceMappingURL=index.mjs.map
|
|
5
|
+
//# sourceMappingURL=index.mjs.map
|