@kismet-ux/constellation 1.8.0 → 1.11.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/README.md +36 -0
- package/dist/brand/Logo/logo.css +4 -1
- package/dist/form/Checkbox/checkbox.css +48 -34
- package/dist/form/Checkbox/checkbox.d.ts +5 -0
- package/dist/form/Checkbox/checkbox.d.ts.map +1 -1
- package/dist/form/Checkbox/checkbox.js +6 -55
- package/dist/form/Checkbox/checkbox.js.map +1 -1
- package/dist/form/Checkbox/checkbox.module.scss.js +1 -1
- package/dist/form/Combobox/combobox.css +35 -0
- package/dist/form/Combobox/combobox.d.ts +41 -0
- package/dist/form/Combobox/combobox.d.ts.map +1 -0
- package/dist/form/Combobox/combobox.js +152 -0
- package/dist/form/Combobox/combobox.js.map +1 -0
- package/dist/form/Combobox/combobox.module.scss.js +6 -0
- package/dist/form/Combobox/combobox.module.scss.js.map +1 -0
- package/dist/form/Combobox/index.d.ts +2 -0
- package/dist/form/Combobox/index.d.ts.map +1 -0
- package/dist/form/DatePicker/date-picker.d.ts.map +1 -1
- package/dist/form/DatePicker/date-picker.js +5 -53
- package/dist/form/DatePicker/date-picker.js.map +1 -1
- package/dist/form/Input/input.css +12 -0
- package/dist/form/Input/input.d.ts.map +1 -1
- package/dist/form/Input/input.js +23 -3
- package/dist/form/Input/input.js.map +1 -1
- package/dist/form/Select/select.css +54 -1
- package/dist/form/Select/select.d.ts +41 -3
- package/dist/form/Select/select.d.ts.map +1 -1
- package/dist/form/Select/select.js +43 -21
- package/dist/form/Select/select.js.map +1 -1
- package/dist/form/Select/select.module.scss.js +2 -2
- package/dist/form/index.d.ts +1 -0
- package/dist/form/index.d.ts.map +1 -1
- package/dist/form.d.ts +1 -1
- package/dist/form.js +2 -1
- package/dist/form.js.map +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/layout/index.d.ts +1 -0
- package/dist/hooks/layout/index.d.ts.map +1 -1
- package/dist/hooks/layout/use-flip.d.ts +37 -0
- package/dist/hooks/layout/use-flip.d.ts.map +1 -0
- package/dist/hooks/layout/use-flip.js +128 -0
- package/dist/hooks/layout/use-flip.js.map +1 -0
- package/dist/hooks/use-motion.d.ts +30 -0
- package/dist/hooks/use-motion.d.ts.map +1 -0
- package/dist/hooks/use-motion.js +93 -0
- package/dist/hooks/use-motion.js.map +1 -0
- package/dist/index-2nHZOukj.d.ts +200 -0
- package/dist/index-3Ui8TAHy.d.ts +200 -0
- package/dist/index-59JuNTZm.d.ts +537 -0
- package/dist/index-5QXWn0de.d.ts +200 -0
- package/dist/index-98ozinMf.d.ts +498 -0
- package/dist/index-Ah3YQTri.d.ts +566 -0
- package/dist/index-As2iBOIu.d.ts +527 -0
- package/dist/index-B1Vw0zoR.d.ts +566 -0
- package/dist/index-B25sLBMr.d.ts +498 -0
- package/dist/index-B4B8aA9X.d.ts +272 -0
- package/dist/index-B97hn7Xp.d.ts +514 -0
- package/dist/{index-BSSQnlm_.d.ts → index-B9B7JjTb.d.ts} +3 -1
- package/dist/index-BFWt_pYt.d.ts +566 -0
- package/dist/index-BFZp_Pu6.d.ts +566 -0
- package/dist/index-BGL4DvKQ.d.ts +293 -0
- package/dist/index-BGP_J4I2.d.ts +498 -0
- package/dist/index-BHhoIUD_.d.ts +354 -0
- package/dist/index-BI0iaWmp.d.ts +222 -0
- package/dist/index-BMSRpHb6.d.ts +273 -0
- package/dist/index-BRQWKmfq.d.ts +566 -0
- package/dist/index-BTARYt96.d.ts +537 -0
- package/dist/index-BTrpuZdU.d.ts +566 -0
- package/dist/index-BWTwKQsp.d.ts +354 -0
- package/dist/index-B_05Skyi.d.ts +566 -0
- package/dist/index-BcQqBGNu.d.ts +200 -0
- package/dist/index-Be23E9xD.d.ts +298 -0
- package/dist/index-Bf44Z8ak.d.ts +514 -0
- package/dist/index-Bg42sKjg.d.ts +498 -0
- package/dist/index-Bg_0OPMx.d.ts +566 -0
- package/dist/index-BgjRk9l7.d.ts +537 -0
- package/dist/index-BhLEMn3N.d.ts +537 -0
- package/dist/index-BiqECuUj.d.ts +204 -0
- package/dist/index-BjUQiAs1.d.ts +130 -0
- package/dist/index-BlKqvax0.d.ts +204 -0
- package/dist/index-Bnb0JFqx.d.ts +514 -0
- package/dist/index-BpSD6t7A.d.ts +566 -0
- package/dist/index-BpxKwrv_.d.ts +537 -0
- package/dist/index-Brh7JZAQ.d.ts +514 -0
- package/dist/index-C-n7hM4G.d.ts +354 -0
- package/dist/index-C0wKb28S.d.ts +514 -0
- package/dist/index-C129uthr.d.ts +566 -0
- package/dist/index-C1ef0QtQ.d.ts +204 -0
- package/dist/index-C4BACHGE.d.ts +272 -0
- package/dist/index-C5JU8WTE.d.ts +514 -0
- package/dist/index-C63UYi-T.d.ts +195 -0
- package/dist/index-C8LoYkC7.d.ts +250 -0
- package/dist/index-C9-ECLyr.d.ts +566 -0
- package/dist/index-C9B1F-mr.d.ts +293 -0
- package/dist/index-CAVmbwa8.d.ts +514 -0
- package/dist/index-CBz-v5eM.d.ts +184 -0
- package/dist/index-CCpdo0n4.d.ts +130 -0
- package/dist/index-CDC_ZncW.d.ts +566 -0
- package/dist/index-CFQj-KtR.d.ts +184 -0
- package/dist/index-CFaxW5hv.d.ts +184 -0
- package/dist/index-CG9DKbG9.d.ts +498 -0
- package/dist/index-CGhG7YeI.d.ts +354 -0
- package/dist/index-CHC6kRbR.d.ts +537 -0
- package/dist/index-CH_q-5fk.d.ts +537 -0
- package/dist/index-CIK_SmBm.d.ts +200 -0
- package/dist/index-CJ1KPFOf.d.ts +537 -0
- package/dist/index-CJ5FEGRG.d.ts +537 -0
- package/dist/index-CKX2VNKk.d.ts +240 -0
- package/dist/index-CL7kYZ90.d.ts +231 -0
- package/dist/index-CNl03fCW.d.ts +498 -0
- package/dist/index-CO8Jq0pz.d.ts +298 -0
- package/dist/index-CQ-aS-rp.d.ts +566 -0
- package/dist/index-CQjzBv4q.d.ts +537 -0
- package/dist/index-CRVO4SlF.d.ts +537 -0
- package/dist/{index-ibcvWtdH.d.ts → index-CRrCqjAW.d.ts} +11 -1
- package/dist/index-CSQFy2xe.d.ts +195 -0
- package/dist/index-CWM2ewRz.d.ts +566 -0
- package/dist/index-CY6Xq36O.d.ts +204 -0
- package/dist/index-CYGOs6JT.d.ts +273 -0
- package/dist/index-CYPFkjfk.d.ts +204 -0
- package/dist/index-C_hJJ1fH.d.ts +527 -0
- package/dist/index-CcM-XHTL.d.ts +273 -0
- package/dist/index-CdGF_eEO.d.ts +514 -0
- package/dist/index-CdJTE9Lh.d.ts +566 -0
- package/dist/index-CdOt-pqR.d.ts +537 -0
- package/dist/index-CgeR_2Gi.d.ts +220 -0
- package/dist/index-CjUoZbDi.d.ts +354 -0
- package/dist/index-CjV6KsFc.d.ts +263 -0
- package/dist/index-Ck8LtgBW.d.ts +557 -0
- package/dist/index-Cknm9FUU.d.ts +299 -0
- package/dist/index-Clv3CnXv.d.ts +184 -0
- package/dist/index-Cm4wnJ29.d.ts +514 -0
- package/dist/index-Cmz3q-CI.d.ts +273 -0
- package/dist/index-CnMBzCft.d.ts +514 -0
- package/dist/index-CnVW0FnZ.d.ts +272 -0
- package/dist/index-CpIHT-uo.d.ts +231 -0
- package/dist/index-CtBEDM0b.d.ts +514 -0
- package/dist/index-CtVSiQeY.d.ts +130 -0
- package/dist/index-Cu107rOs.d.ts +293 -0
- package/dist/index-CxyTd3Ag.d.ts +354 -0
- package/dist/index-CywSNvOU.d.ts +200 -0
- package/dist/index-CzJL7Lro.d.ts +566 -0
- package/dist/index-CzJnKY3r.d.ts +272 -0
- package/dist/index-D-R9eOxe.d.ts +354 -0
- package/dist/index-D-hdgIbs.d.ts +273 -0
- package/dist/index-D-slQ9w4.d.ts +537 -0
- package/dist/index-D0jdNDaH.d.ts +204 -0
- package/dist/index-D1ir--Li.d.ts +566 -0
- package/dist/index-D29_-MCZ.d.ts +354 -0
- package/dist/index-D2glATpo.d.ts +273 -0
- package/dist/index-D6ATtbor.d.ts +298 -0
- package/dist/index-D6HktSlo.d.ts +514 -0
- package/dist/index-DB4UBCvy.d.ts +537 -0
- package/dist/index-DBd0PU9y.d.ts +222 -0
- package/dist/index-DE2Nm-iT.d.ts +354 -0
- package/dist/index-DEeJuuvm.d.ts +231 -0
- package/dist/index-DHhzBSfL.d.ts +498 -0
- package/dist/index-DKpWNCb6.d.ts +204 -0
- package/dist/index-DMewi97i.d.ts +566 -0
- package/dist/index-DN0gtpck.d.ts +354 -0
- package/dist/index-DO23vZ-R.d.ts +514 -0
- package/dist/index-DTb2-z6E.d.ts +130 -0
- package/dist/index-DV-CN7c0.d.ts +231 -0
- package/dist/index-DWgCs62z.d.ts +566 -0
- package/dist/index-D_6Qu6ia.d.ts +200 -0
- package/dist/index-D_vn8O-I.d.ts +293 -0
- package/dist/index-Daq4m4Rf.d.ts +514 -0
- package/dist/index-Db6cXpr6.d.ts +537 -0
- package/dist/index-DbZ1s2E-.d.ts +514 -0
- package/dist/index-DbevJPuY.d.ts +354 -0
- package/dist/index-DepmPwP7.d.ts +537 -0
- package/dist/index-DfnTWQCz.d.ts +514 -0
- package/dist/index-Dfu8WhiS.d.ts +273 -0
- package/dist/index-DggMYd7c.d.ts +298 -0
- package/dist/index-DhS2nQjt.d.ts +200 -0
- package/dist/index-Dn3bC8Ki.d.ts +222 -0
- package/dist/index-Dn9bGZvU.d.ts +195 -0
- package/dist/index-DnDt7A4Y.d.ts +354 -0
- package/dist/index-DpdYKBP2.d.ts +498 -0
- package/dist/index-DunP9qIK.d.ts +537 -0
- package/dist/index-DxO6-qt5.d.ts +498 -0
- package/dist/index-ESQ8WM_8.d.ts +130 -0
- package/dist/index-GVz409cm.d.ts +222 -0
- package/dist/index-HAx-aLZ0.d.ts +273 -0
- package/dist/{index-CkQ6wNCc.d.ts → index-Iuzs6nt9.d.ts} +3 -3
- package/dist/index-LnEpnlTq.d.ts +566 -0
- package/dist/index-Mihuyg_o.d.ts +204 -0
- package/dist/index-Mm1i2OdU.d.ts +537 -0
- package/dist/index-P0oxVi77.d.ts +537 -0
- package/dist/index-Q5JuPFoN.d.ts +293 -0
- package/dist/index-RJviLtvo.d.ts +566 -0
- package/dist/index-SnQCbfte.d.ts +498 -0
- package/dist/index-Th9It0ZT.d.ts +354 -0
- package/dist/index-UHHmyQM5.d.ts +272 -0
- package/dist/index-VyGmJYQZ.d.ts +537 -0
- package/dist/index-WYH70le_.d.ts +195 -0
- package/dist/index-Wj9RYtTX.d.ts +273 -0
- package/dist/index-Y-wMZeUG.d.ts +298 -0
- package/dist/index-ZgohDspB.d.ts +498 -0
- package/dist/index-Zo2rSdXz.d.ts +273 -0
- package/dist/index-ZwpWgV4n.d.ts +272 -0
- package/dist/index-_oZ4knIl.d.ts +272 -0
- package/dist/index-an222nAK.d.ts +354 -0
- package/dist/index-daV0QTe0.d.ts +537 -0
- package/dist/index-eGZu2HLC.d.ts +231 -0
- package/dist/index-eswPA0Un.d.ts +204 -0
- package/dist/index-gf6-wf_1.d.ts +566 -0
- package/dist/index-hdVr9Wrv.d.ts +566 -0
- package/dist/index-iygiXYw2.d.ts +537 -0
- package/dist/index-jR29ZGLD.d.ts +514 -0
- package/dist/index-kHgI28TP.d.ts +272 -0
- package/dist/index-lY4_UCOs.d.ts +566 -0
- package/dist/index-miXK87yJ.d.ts +231 -0
- package/dist/index-mwbGtZkk.d.ts +273 -0
- package/dist/index-ru2DFXcm.d.ts +195 -0
- package/dist/index-uj1ll_u-.d.ts +204 -0
- package/dist/index-vfq-aH7U.d.ts +537 -0
- package/dist/index-xqUz9XjP.d.ts +537 -0
- package/dist/index.css +74 -18
- package/dist/index.d.ts +78 -12
- package/dist/index.js +34 -28
- package/dist/index.js.map +1 -1
- package/dist/internal/use-scroll-lock.d.ts +15 -0
- package/dist/internal/use-scroll-lock.d.ts.map +1 -1
- package/dist/internal/use-scroll-lock.js +26 -8
- package/dist/internal/use-scroll-lock.js.map +1 -1
- package/dist/layout/AppContent/app-content.css +1 -1
- package/dist/layout/AppContentBands/app-content-bands.css +21 -0
- package/dist/layout/AppContentBands/app-content-bands.d.ts +26 -0
- package/dist/layout/AppContentBands/app-content-bands.d.ts.map +1 -0
- package/dist/layout/AppContentBands/app-content-bands.js +65 -0
- package/dist/layout/AppContentBands/app-content-bands.js.map +1 -0
- package/dist/layout/AppContentBands/app-content-bands.module.scss.js +6 -0
- package/dist/layout/AppContentBands/app-content-bands.module.scss.js.map +1 -0
- package/dist/layout/AppContentBands/index.d.ts +2 -0
- package/dist/layout/AppContentBands/index.d.ts.map +1 -0
- package/dist/layout/AppContentFooter/app-content-footer.css +9 -0
- package/dist/layout/AppContentFooter/app-content-footer.d.ts +38 -0
- package/dist/layout/AppContentFooter/app-content-footer.d.ts.map +1 -0
- package/dist/layout/AppContentFooter/app-content-footer.js +42 -0
- package/dist/layout/AppContentFooter/app-content-footer.js.map +1 -0
- package/dist/layout/AppContentFooter/app-content-footer.module.scss.js +6 -0
- package/dist/layout/AppContentFooter/app-content-footer.module.scss.js.map +1 -0
- package/dist/layout/AppContentFooter/index.d.ts +2 -0
- package/dist/layout/AppContentFooter/index.d.ts.map +1 -0
- package/dist/layout/AppContentMain/app-content-main.css +6 -0
- package/dist/layout/AppContentMain/app-content-main.d.ts +37 -0
- package/dist/layout/AppContentMain/app-content-main.d.ts.map +1 -0
- package/dist/layout/AppContentMain/app-content-main.js +41 -0
- package/dist/layout/AppContentMain/app-content-main.js.map +1 -0
- package/dist/layout/AppContentMain/app-content-main.module.scss.js +6 -0
- package/dist/layout/AppContentMain/app-content-main.module.scss.js.map +1 -0
- package/dist/layout/AppContentMain/index.d.ts +2 -0
- package/dist/layout/AppContentMain/index.d.ts.map +1 -0
- package/dist/layout/AppFooter/app-footer.js +1 -1
- package/dist/layout/AppSidebar/app-sidebar.js +1 -1
- package/dist/layout/AppSidebarHeader/app-sidebar-header.css +2 -3
- package/dist/layout/AppSidebarHeader/app-sidebar-header.d.ts +10 -2
- package/dist/layout/AppSidebarHeader/app-sidebar-header.d.ts.map +1 -1
- package/dist/layout/AppSidebarHeader/app-sidebar-header.js +12 -32
- package/dist/layout/AppSidebarHeader/app-sidebar-header.js.map +1 -1
- package/dist/layout/Collapse/collapse.css +4 -1
- package/dist/layout/Column/column.css +6 -0
- package/dist/layout/Column/column.d.ts.map +1 -1
- package/dist/layout/Column/column.js +3 -1
- package/dist/layout/Column/column.js.map +1 -1
- package/dist/layout/Column/column.module.scss.js +1 -1
- package/dist/layout/Container/container.css +43 -1
- package/dist/layout/Container/container.d.ts.map +1 -1
- package/dist/layout/Container/container.js +38 -7
- package/dist/layout/Container/container.js.map +1 -1
- package/dist/layout/Container/container.module.scss.js +1 -1
- package/dist/layout/Grid/grid.css +28 -0
- package/dist/layout/Grid/grid.d.ts.map +1 -1
- package/dist/layout/Grid/grid.js +40 -4
- package/dist/layout/Grid/grid.js.map +1 -1
- package/dist/layout/Grid/grid.module.scss.js +1 -1
- package/dist/layout/Row/row.css +42 -0
- package/dist/layout/Row/row.d.ts.map +1 -1
- package/dist/layout/Row/row.js +5 -3
- package/dist/layout/Row/row.js.map +1 -1
- package/dist/layout/Row/row.module.scss.js +1 -1
- package/dist/layout/Sidebar/sidebar.css +4 -2
- package/dist/layout/Sidebar/sidebar.d.ts.map +1 -1
- package/dist/layout/Sidebar/sidebar.js +1 -1
- package/dist/layout/Sidebar/sidebar.js.map +1 -1
- package/dist/layout/index.d.ts +2 -0
- package/dist/layout/index.d.ts.map +1 -1
- package/dist/layout.d.ts +3 -3
- package/dist/layout.js +2 -0
- package/dist/layout.js.map +1 -1
- package/dist/navigation/DropdownMenu/dropdown-menu.d.ts.map +1 -1
- package/dist/navigation/DropdownMenu/dropdown-menu.js +1 -1
- package/dist/navigation/DropdownMenu/dropdown-menu.js.map +1 -1
- package/dist/navigation/NavUser/nav-user.js +2 -2
- package/dist/navigation/Sheet/sheet.css +40 -6
- package/dist/navigation/Sheet/sheet.d.ts +22 -0
- package/dist/navigation/Sheet/sheet.d.ts.map +1 -1
- package/dist/navigation/Sheet/sheet.js +5 -30
- package/dist/navigation/Sheet/sheet.js.map +1 -1
- package/dist/navigation/Sheet/sheet.module.scss.js +1 -1
- package/dist/navigation.d.ts +22 -0
- package/dist/row-CuhTBQhK.d.ts +21 -0
- package/dist/settings/AppearanceDropdown/appearance-dropdown.js +1 -1
- package/dist/settings/AppearanceTabs/appearance-tabs.js +2 -27
- package/dist/settings/AppearanceTabs/appearance-tabs.js.map +1 -1
- package/dist/tokens.css +59 -17
- package/dist/tooltip-1qYeAGE9.d.ts +45 -0
- package/dist/tooltip-3IOkYFQ-.d.ts +45 -0
- package/dist/tooltip-540OmbEG.d.ts +46 -0
- package/dist/tooltip-91Nq_Hl8.d.ts +46 -0
- package/dist/tooltip-B56sWYK0.d.ts +46 -0
- package/dist/tooltip-BIrIF-4z.d.ts +45 -0
- package/dist/tooltip-BOipKW5l.d.ts +46 -0
- package/dist/tooltip-BPC0RH8i.d.ts +46 -0
- package/dist/tooltip-BST1BOCn.d.ts +45 -0
- package/dist/tooltip-BhuxNQwX.d.ts +45 -0
- package/dist/tooltip-BpAJwi3K.d.ts +46 -0
- package/dist/tooltip-C0LBu2Iu.d.ts +45 -0
- package/dist/tooltip-C1ZwALiG.d.ts +45 -0
- package/dist/tooltip-C55-HA0w.d.ts +45 -0
- package/dist/tooltip-CHn6WuDv.d.ts +46 -0
- package/dist/tooltip-CNjH7zKO.d.ts +45 -0
- package/dist/tooltip-CSBby1OT.d.ts +45 -0
- package/dist/tooltip-CXFRzR0L.d.ts +45 -0
- package/dist/tooltip-ChpsbkOU.d.ts +46 -0
- package/dist/tooltip-CspTy2ZW.d.ts +46 -0
- package/dist/tooltip-CvComAZD.d.ts +46 -0
- package/dist/tooltip-D19vhhRn.d.ts +45 -0
- package/dist/tooltip-D32S1g-7.d.ts +46 -0
- package/dist/tooltip-DAvBN683.d.ts +45 -0
- package/dist/tooltip-DQz4_i4m.d.ts +45 -0
- package/dist/tooltip-DVYPUAb1.d.ts +46 -0
- package/dist/tooltip-DXoSckt9.d.ts +46 -0
- package/dist/tooltip-Dtoq3bn_.d.ts +46 -0
- package/dist/tooltip-DxO_DWMO.d.ts +46 -0
- package/dist/tooltip-DxdGb3dX.d.ts +45 -0
- package/dist/tooltip-DzAzC0d7.d.ts +45 -0
- package/dist/tooltip-Lk4RpuSh.d.ts +45 -0
- package/dist/tooltip-ReFyHDhU.d.ts +45 -0
- package/dist/tooltip-_wdlSYAb.d.ts +46 -0
- package/dist/{tooltip-XagXjWLB.d.ts → tooltip-cjwkBINy.d.ts} +4 -0
- package/dist/tooltip-nKcM19C9.d.ts +45 -0
- package/dist/types/layout/container.d.ts +30 -1
- package/dist/types/layout/container.d.ts.map +1 -1
- package/dist/types/layout/grid.d.ts +42 -0
- package/dist/types/layout/grid.d.ts.map +1 -1
- package/dist/types/layout/row.d.ts +7 -0
- package/dist/types/layout/row.d.ts.map +1 -1
- package/dist/typography/Typography/typography-variants.d.ts +3 -0
- package/dist/typography/Typography/typography-variants.d.ts.map +1 -1
- package/dist/typography/Typography/typography-variants.js +25 -0
- package/dist/typography/Typography/typography-variants.js.map +1 -1
- package/dist/typography/Typography/typography.css +105 -41
- package/dist/typography/Typography/typography.d.ts +20 -0
- package/dist/typography/Typography/typography.d.ts.map +1 -1
- package/dist/typography/Typography/typography.js +11 -2
- package/dist/typography/Typography/typography.js.map +1 -1
- package/dist/typography/Typography/typography.module.scss.js +1 -1
- package/dist/typography-CTGVc_Gg.d.ts +41 -0
- package/dist/typography.d.ts +2 -2
- package/dist/ui/Alert/alert-provider.d.ts.map +1 -1
- package/dist/ui/Alert/alert-provider.js +1 -1
- package/dist/ui/Alert/alert-provider.js.map +1 -1
- package/dist/ui/Button/button-variants.d.ts +1 -0
- package/dist/ui/Button/button-variants.d.ts.map +1 -1
- package/dist/ui/Button/button-variants.js +3 -0
- package/dist/ui/Button/button-variants.js.map +1 -1
- package/dist/ui/Button/button.css +146 -77
- package/dist/ui/Button/button.d.ts +4 -0
- package/dist/ui/Button/button.d.ts.map +1 -1
- package/dist/ui/Button/button.js +8 -2
- package/dist/ui/Button/button.js.map +1 -1
- package/dist/ui/Button/button.module.scss.js +1 -1
- package/dist/ui/Chip/chip.css +32 -11
- package/dist/ui/Chip/chip.d.ts +16 -0
- package/dist/ui/Chip/chip.d.ts.map +1 -1
- package/dist/ui/Chip/chip.js +4 -2
- package/dist/ui/Chip/chip.js.map +1 -1
- package/dist/ui/CodeBlock/code-block.css +8 -3
- package/dist/ui/Dialog/dialog.css +70 -0
- package/dist/ui/Dialog/dialog.d.ts +45 -2
- package/dist/ui/Dialog/dialog.d.ts.map +1 -1
- package/dist/ui/Dialog/dialog.js +256 -7
- package/dist/ui/Dialog/dialog.js.map +1 -1
- package/dist/ui/Dialog/dialog.module.scss.js +1 -1
- package/dist/ui/Icon/icon.css +14 -7
- package/dist/ui/ProgressBar/progress-bar.css +10 -3
- package/dist/ui/StatCard/stat-card.css +13 -0
- package/dist/ui/StatCard/stat-card.d.ts +9 -0
- package/dist/ui/StatCard/stat-card.d.ts.map +1 -1
- package/dist/ui/StatCard/stat-card.js +2 -2
- package/dist/ui/StatCard/stat-card.js.map +1 -1
- package/dist/ui/StatusDot/status-dot.css +4 -1
- package/dist/ui/StepProgress/step-progress.css +12 -4
- package/dist/ui/Switch/switch.css +6 -2
- package/dist/ui/Tooltip/tooltip.d.ts.map +1 -1
- package/dist/ui/Tooltip/tooltip.js +1 -1
- package/dist/ui/Tooltip/tooltip.js.map +1 -1
- package/dist/ui.d.ts +3 -3
- package/dist/user/UserInfo/user-info.js +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/portal.d.ts +34 -0
- package/dist/utils/portal.d.ts.map +1 -0
- package/dist/utils/portal.js +40 -0
- package/dist/utils/portal.js.map +1 -0
- package/dist/utils.d.ts +35 -1
- package/dist/utils.js +1 -0
- package/dist/utils.js.map +1 -1
- package/package.json +3 -2
- package/src/styles/_mixins.scss +30 -0
- package/vite-plugin.mjs +7 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-variants.js","sources":["../../../src/ui/Button/button-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport s from './button.module.scss';\n\nexport const buttonVariants = cva(s.button, {\n variants: {\n variant: {\n contained: s['button--contained'],\n outlined: s['button--outlined'],\n ghost: s['button--ghost'],\n },\n theme: {\n primary: s['button--primary'],\n secondary: s['button--secondary'],\n destructive: s['button--destructive'],\n warning: s['button--warning'],\n success: s['button--success'],\n info: s['button--info'],\n slate: s['button--slate'],\n inherit: s['button--inherit'],\n },\n size: {\n xs: s['button--xs'],\n sm: s['button--sm'],\n md: s['button--md'],\n lg: s['button--lg'],\n },\n iconOnly: {\n true: s['button--icon-only'],\n },\n rounded: {\n true: s['button--rounded'],\n false: undefined,\n extra: s['button--extra-rounded'],\n },\n },\n defaultVariants: {\n variant: 'contained',\n theme: 'primary',\n size: 'md',\n rounded: 'extra',\n },\n});\n"],"names":[],"mappings":";;;MAGa,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE;AAC1C,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE;AACP,YAAA,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC;AACjC,YAAA,QAAQ,EAAE,CAAC,CAAC,kBAAkB,CAAC;AAC/B,YAAA,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC;AAC1B,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,OAAO,EAAE,CAAC,CAAC,iBAAiB,CAAC;AAC7B,YAAA,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC;AACjC,YAAA,WAAW,EAAE,CAAC,CAAC,qBAAqB,CAAC;AACrC,YAAA,OAAO,EAAE,CAAC,CAAC,iBAAiB,CAAC;AAC7B,YAAA,OAAO,EAAE,CAAC,CAAC,iBAAiB,CAAC;AAC7B,YAAA,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC;AACvB,YAAA,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC;AACzB,YAAA,OAAO,EAAE,CAAC,CAAC,iBAAiB,CAAC;AAC9B,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC;AACnB,YAAA,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC;AACnB,YAAA,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC;AACnB,YAAA,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC;AACpB,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAE,CAAC,CAAC,mBAAmB,CAAC;AAC7B,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,IAAI,EAAE,CAAC,CAAC,iBAAiB,CAAC;AAC1B,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,KAAK,EAAE,CAAC,CAAC,uBAAuB,CAAC;AAClC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,OAAO,EAAE,WAAW;AACpB,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,OAAO,EAAE,OAAO;AACjB,KAAA;AACF,CAAA;;"}
|
|
1
|
+
{"version":3,"file":"button-variants.js","sources":["../../../src/ui/Button/button-variants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport s from './button.module.scss';\n\nexport const buttonVariants = cva(s.button, {\n variants: {\n variant: {\n contained: s['button--contained'],\n outlined: s['button--outlined'],\n ghost: s['button--ghost'],\n },\n theme: {\n primary: s['button--primary'],\n secondary: s['button--secondary'],\n destructive: s['button--destructive'],\n warning: s['button--warning'],\n success: s['button--success'],\n info: s['button--info'],\n slate: s['button--slate'],\n inherit: s['button--inherit'],\n },\n size: {\n xs: s['button--xs'],\n sm: s['button--sm'],\n md: s['button--md'],\n lg: s['button--lg'],\n },\n iconOnly: {\n true: s['button--icon-only'],\n },\n fullWidth: {\n true: s['button--full-width'],\n },\n rounded: {\n true: s['button--rounded'],\n false: undefined,\n extra: s['button--extra-rounded'],\n },\n },\n defaultVariants: {\n variant: 'contained',\n theme: 'primary',\n size: 'md',\n rounded: 'extra',\n },\n});\n"],"names":[],"mappings":";;;MAGa,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE;AAC1C,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE;AACP,YAAA,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC;AACjC,YAAA,QAAQ,EAAE,CAAC,CAAC,kBAAkB,CAAC;AAC/B,YAAA,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC;AAC1B,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,OAAO,EAAE,CAAC,CAAC,iBAAiB,CAAC;AAC7B,YAAA,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC;AACjC,YAAA,WAAW,EAAE,CAAC,CAAC,qBAAqB,CAAC;AACrC,YAAA,OAAO,EAAE,CAAC,CAAC,iBAAiB,CAAC;AAC7B,YAAA,OAAO,EAAE,CAAC,CAAC,iBAAiB,CAAC;AAC7B,YAAA,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC;AACvB,YAAA,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC;AACzB,YAAA,OAAO,EAAE,CAAC,CAAC,iBAAiB,CAAC;AAC9B,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC;AACnB,YAAA,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC;AACnB,YAAA,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC;AACnB,YAAA,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC;AACpB,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAE,CAAC,CAAC,mBAAmB,CAAC;AAC7B,SAAA;AACD,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE,CAAC,CAAC,oBAAoB,CAAC;AAC9B,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,IAAI,EAAE,CAAC,CAAC,iBAAiB,CAAC;AAC1B,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,KAAK,EAAE,CAAC,CAAC,uBAAuB,CAAC;AAClC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,OAAO,EAAE,WAAW;AACpB,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,OAAO,EAAE,OAAO;AACjB,KAAA;AACF,CAAA;;"}
|
|
@@ -1,3 +1,30 @@
|
|
|
1
|
+
@charset "UTF-8";
|
|
2
|
+
/*
|
|
3
|
+
* A contained button fills with the `-dark` shade, in BOTH modes, and always
|
|
4
|
+
* takes white ink.
|
|
5
|
+
*
|
|
6
|
+
* The vivid `-main` shades are too light to carry text: measured against white
|
|
7
|
+
* they land at 2.8–4.2:1 for four of the seven themes, under the 4.5 a button
|
|
8
|
+
* label needs. Using near-black ink instead does clear it, but then a row of
|
|
9
|
+
* filled buttons reads inverted against everything around it. The deeper shade
|
|
10
|
+
* settles both — 5:1 to 17:1 across every theme, with the ink consistent.
|
|
11
|
+
*
|
|
12
|
+
* `--button-color`, when the caller sets it, stands in for the theme — for an
|
|
13
|
+
* app whose palette encodes meaning (which aisle a thing lands on), that is the
|
|
14
|
+
* difference between using the library and forking it.
|
|
15
|
+
*/
|
|
16
|
+
/*
|
|
17
|
+
* Fills its container and centres its label.
|
|
18
|
+
*
|
|
19
|
+
* A block button — the one that commits a form, or the one at the foot of a
|
|
20
|
+
* card — is otherwise the caller writing `width: 100%` over the top, which is
|
|
21
|
+
* a rule per app for a shape the library already knows how to draw.
|
|
22
|
+
*/
|
|
23
|
+
.button-module_button--full-width__f1jWC {
|
|
24
|
+
display: flex;
|
|
25
|
+
width: 100%;
|
|
26
|
+
}
|
|
27
|
+
|
|
1
28
|
.button-module_button__ATpxB {
|
|
2
29
|
align-items: center;
|
|
3
30
|
border: none;
|
|
@@ -52,12 +79,12 @@
|
|
|
52
79
|
border-radius: var(--size-5);
|
|
53
80
|
}
|
|
54
81
|
.button-module_button--contained__YQQ33.button-module_button--primary__BO20b {
|
|
55
|
-
--button-ripple-color: var(--primary-light);
|
|
56
|
-
background-color: var(--primary-
|
|
57
|
-
color: var(--
|
|
82
|
+
--button-ripple-color: var(--button-color, var(--primary-light));
|
|
83
|
+
background-color: var(--button-color, var(--primary-dark));
|
|
84
|
+
color: var(--button-on-color, #fff);
|
|
58
85
|
}
|
|
59
86
|
.button-module_button--contained__YQQ33.button-module_button--primary__BO20b:hover:not(:disabled) {
|
|
60
|
-
background-color: var(--primary-dark);
|
|
87
|
+
background-color: color-mix(in srgb, var(--button-color, var(--primary-dark)) 86%, #fff);
|
|
61
88
|
}
|
|
62
89
|
.button-module_button--contained__YQQ33.button-module_button--primary__BO20b:focus-visible {
|
|
63
90
|
box-shadow: 0 0 0 2px var(--background-default), 0 0 0 4px var(--primary-focus-visible);
|
|
@@ -66,12 +93,12 @@
|
|
|
66
93
|
background-color: var(--primary-selected);
|
|
67
94
|
}
|
|
68
95
|
.button-module_button--contained__YQQ33.button-module_button--secondary__EgwQf {
|
|
69
|
-
--button-ripple-color: var(--secondary-light);
|
|
70
|
-
background-color: var(--secondary-
|
|
71
|
-
color: var(--
|
|
96
|
+
--button-ripple-color: var(--button-color, var(--secondary-light));
|
|
97
|
+
background-color: var(--button-color, var(--secondary-dark));
|
|
98
|
+
color: var(--button-on-color, #fff);
|
|
72
99
|
}
|
|
73
100
|
.button-module_button--contained__YQQ33.button-module_button--secondary__EgwQf:hover:not(:disabled) {
|
|
74
|
-
background-color: var(--secondary-dark);
|
|
101
|
+
background-color: color-mix(in srgb, var(--button-color, var(--secondary-dark)) 86%, #fff);
|
|
75
102
|
}
|
|
76
103
|
.button-module_button--contained__YQQ33.button-module_button--secondary__EgwQf:focus-visible {
|
|
77
104
|
box-shadow: 0 0 0 2px var(--background-default), 0 0 0 4px var(--secondary-focus-visible);
|
|
@@ -80,12 +107,12 @@
|
|
|
80
107
|
background-color: var(--secondary-selected);
|
|
81
108
|
}
|
|
82
109
|
.button-module_button--contained__YQQ33.button-module_button--destructive__PPikG {
|
|
83
|
-
--button-ripple-color: var(--destructive-light);
|
|
84
|
-
background-color: var(--destructive-
|
|
85
|
-
color: var(--
|
|
110
|
+
--button-ripple-color: var(--button-color, var(--destructive-light));
|
|
111
|
+
background-color: var(--button-color, var(--destructive-dark));
|
|
112
|
+
color: var(--button-on-color, #fff);
|
|
86
113
|
}
|
|
87
114
|
.button-module_button--contained__YQQ33.button-module_button--destructive__PPikG:hover:not(:disabled) {
|
|
88
|
-
background-color: var(--destructive-dark);
|
|
115
|
+
background-color: color-mix(in srgb, var(--button-color, var(--destructive-dark)) 86%, #fff);
|
|
89
116
|
}
|
|
90
117
|
.button-module_button--contained__YQQ33.button-module_button--destructive__PPikG:focus-visible {
|
|
91
118
|
box-shadow: 0 0 0 2px var(--background-default), 0 0 0 4px var(--destructive-focus-visible);
|
|
@@ -94,12 +121,12 @@
|
|
|
94
121
|
background-color: var(--destructive-selected);
|
|
95
122
|
}
|
|
96
123
|
.button-module_button--contained__YQQ33.button-module_button--warning__8wotP {
|
|
97
|
-
--button-ripple-color: var(--warning-light);
|
|
98
|
-
background-color: var(--warning-
|
|
99
|
-
color: var(--
|
|
124
|
+
--button-ripple-color: var(--button-color, var(--warning-light));
|
|
125
|
+
background-color: var(--button-color, var(--warning-dark));
|
|
126
|
+
color: var(--button-on-color, #fff);
|
|
100
127
|
}
|
|
101
128
|
.button-module_button--contained__YQQ33.button-module_button--warning__8wotP:hover:not(:disabled) {
|
|
102
|
-
background-color: var(--warning-dark);
|
|
129
|
+
background-color: color-mix(in srgb, var(--button-color, var(--warning-dark)) 86%, #fff);
|
|
103
130
|
}
|
|
104
131
|
.button-module_button--contained__YQQ33.button-module_button--warning__8wotP:focus-visible {
|
|
105
132
|
box-shadow: 0 0 0 2px var(--background-default), 0 0 0 4px var(--warning-focus-visible);
|
|
@@ -108,12 +135,12 @@
|
|
|
108
135
|
background-color: var(--warning-selected);
|
|
109
136
|
}
|
|
110
137
|
.button-module_button--contained__YQQ33.button-module_button--success__iPEgl {
|
|
111
|
-
--button-ripple-color: var(--success-light);
|
|
112
|
-
background-color: var(--success-
|
|
113
|
-
color: var(--
|
|
138
|
+
--button-ripple-color: var(--button-color, var(--success-light));
|
|
139
|
+
background-color: var(--button-color, var(--success-dark));
|
|
140
|
+
color: var(--button-on-color, #fff);
|
|
114
141
|
}
|
|
115
142
|
.button-module_button--contained__YQQ33.button-module_button--success__iPEgl:hover:not(:disabled) {
|
|
116
|
-
background-color: var(--success-dark);
|
|
143
|
+
background-color: color-mix(in srgb, var(--button-color, var(--success-dark)) 86%, #fff);
|
|
117
144
|
}
|
|
118
145
|
.button-module_button--contained__YQQ33.button-module_button--success__iPEgl:focus-visible {
|
|
119
146
|
box-shadow: 0 0 0 2px var(--background-default), 0 0 0 4px var(--success-focus-visible);
|
|
@@ -122,12 +149,12 @@
|
|
|
122
149
|
background-color: var(--success-selected);
|
|
123
150
|
}
|
|
124
151
|
.button-module_button--contained__YQQ33.button-module_button--info__WaPKN {
|
|
125
|
-
--button-ripple-color: var(--info-light);
|
|
126
|
-
background-color: var(--info-
|
|
127
|
-
color: var(--
|
|
152
|
+
--button-ripple-color: var(--button-color, var(--info-light));
|
|
153
|
+
background-color: var(--button-color, var(--info-dark));
|
|
154
|
+
color: var(--button-on-color, #fff);
|
|
128
155
|
}
|
|
129
156
|
.button-module_button--contained__YQQ33.button-module_button--info__WaPKN:hover:not(:disabled) {
|
|
130
|
-
background-color: var(--info-dark);
|
|
157
|
+
background-color: color-mix(in srgb, var(--button-color, var(--info-dark)) 86%, #fff);
|
|
131
158
|
}
|
|
132
159
|
.button-module_button--contained__YQQ33.button-module_button--info__WaPKN:focus-visible {
|
|
133
160
|
box-shadow: 0 0 0 2px var(--background-default), 0 0 0 4px var(--info-focus-visible);
|
|
@@ -136,12 +163,12 @@
|
|
|
136
163
|
background-color: var(--info-selected);
|
|
137
164
|
}
|
|
138
165
|
.button-module_button--contained__YQQ33.button-module_button--slate__DRwTq {
|
|
139
|
-
--button-ripple-color: var(--slate-light);
|
|
140
|
-
background-color: var(--slate-
|
|
141
|
-
color: var(--
|
|
166
|
+
--button-ripple-color: var(--button-color, var(--slate-light));
|
|
167
|
+
background-color: var(--button-color, var(--slate-dark));
|
|
168
|
+
color: var(--button-on-color, #fff);
|
|
142
169
|
}
|
|
143
170
|
.button-module_button--contained__YQQ33.button-module_button--slate__DRwTq:hover:not(:disabled) {
|
|
144
|
-
background-color: var(--slate-dark);
|
|
171
|
+
background-color: color-mix(in srgb, var(--button-color, var(--slate-dark)) 86%, #fff);
|
|
145
172
|
}
|
|
146
173
|
.button-module_button--contained__YQQ33.button-module_button--slate__DRwTq:focus-visible {
|
|
147
174
|
box-shadow: 0 0 0 2px var(--background-default), 0 0 0 4px var(--slate-focus-visible);
|
|
@@ -161,12 +188,15 @@
|
|
|
161
188
|
border: 1px solid;
|
|
162
189
|
}
|
|
163
190
|
.button-module_button--outlined__AxHna.button-module_button--primary__BO20b {
|
|
164
|
-
--button-ripple-color: var(--primary-main);
|
|
165
|
-
border-color: var(--primary-outlined-border);
|
|
166
|
-
color: var(--primary-outlined-border);
|
|
191
|
+
--button-ripple-color: var(--button-color, var(--primary-main));
|
|
192
|
+
border-color: var(--button-color, var(--primary-outlined-border));
|
|
193
|
+
color: var(--button-color, var(--primary-outlined-border));
|
|
167
194
|
}
|
|
168
195
|
.button-module_button--outlined__AxHna.button-module_button--primary__BO20b:hover:not(:disabled) {
|
|
169
|
-
|
|
196
|
+
/* Mixed on the SOLID, not on `--primary-hover`. That token is itself an
|
|
197
|
+
alpha tint (8–16%), so mixing it again compounded two transparencies and
|
|
198
|
+
landed at ~1.6% — a hover nobody could see. */
|
|
199
|
+
background-color: color-mix(in srgb, var(--button-color, var(--primary-main)) 14%, transparent);
|
|
170
200
|
}
|
|
171
201
|
.button-module_button--outlined__AxHna.button-module_button--primary__BO20b:focus-visible {
|
|
172
202
|
box-shadow: 0 0 0 2px var(--background-default), 0 0 0 4px var(--primary-focus-visible);
|
|
@@ -175,12 +205,15 @@
|
|
|
175
205
|
background-color: var(--primary-selected);
|
|
176
206
|
}
|
|
177
207
|
.button-module_button--outlined__AxHna.button-module_button--secondary__EgwQf {
|
|
178
|
-
--button-ripple-color: var(--secondary-main);
|
|
179
|
-
border-color: var(--secondary-outlined-border);
|
|
180
|
-
color: var(--secondary-outlined-border);
|
|
208
|
+
--button-ripple-color: var(--button-color, var(--secondary-main));
|
|
209
|
+
border-color: var(--button-color, var(--secondary-outlined-border));
|
|
210
|
+
color: var(--button-color, var(--secondary-outlined-border));
|
|
181
211
|
}
|
|
182
212
|
.button-module_button--outlined__AxHna.button-module_button--secondary__EgwQf:hover:not(:disabled) {
|
|
183
|
-
|
|
213
|
+
/* Mixed on the SOLID, not on `--secondary-hover`. That token is itself an
|
|
214
|
+
alpha tint (8–16%), so mixing it again compounded two transparencies and
|
|
215
|
+
landed at ~1.6% — a hover nobody could see. */
|
|
216
|
+
background-color: color-mix(in srgb, var(--button-color, var(--secondary-main)) 14%, transparent);
|
|
184
217
|
}
|
|
185
218
|
.button-module_button--outlined__AxHna.button-module_button--secondary__EgwQf:focus-visible {
|
|
186
219
|
box-shadow: 0 0 0 2px var(--background-default), 0 0 0 4px var(--secondary-focus-visible);
|
|
@@ -189,12 +222,15 @@
|
|
|
189
222
|
background-color: var(--secondary-selected);
|
|
190
223
|
}
|
|
191
224
|
.button-module_button--outlined__AxHna.button-module_button--destructive__PPikG {
|
|
192
|
-
--button-ripple-color: var(--destructive-main);
|
|
193
|
-
border-color: var(--destructive-outlined-border);
|
|
194
|
-
color: var(--destructive-outlined-border);
|
|
225
|
+
--button-ripple-color: var(--button-color, var(--destructive-main));
|
|
226
|
+
border-color: var(--button-color, var(--destructive-outlined-border));
|
|
227
|
+
color: var(--button-color, var(--destructive-outlined-border));
|
|
195
228
|
}
|
|
196
229
|
.button-module_button--outlined__AxHna.button-module_button--destructive__PPikG:hover:not(:disabled) {
|
|
197
|
-
|
|
230
|
+
/* Mixed on the SOLID, not on `--destructive-hover`. That token is itself an
|
|
231
|
+
alpha tint (8–16%), so mixing it again compounded two transparencies and
|
|
232
|
+
landed at ~1.6% — a hover nobody could see. */
|
|
233
|
+
background-color: color-mix(in srgb, var(--button-color, var(--destructive-main)) 14%, transparent);
|
|
198
234
|
}
|
|
199
235
|
.button-module_button--outlined__AxHna.button-module_button--destructive__PPikG:focus-visible {
|
|
200
236
|
box-shadow: 0 0 0 2px var(--background-default), 0 0 0 4px var(--destructive-focus-visible);
|
|
@@ -203,12 +239,15 @@
|
|
|
203
239
|
background-color: var(--destructive-selected);
|
|
204
240
|
}
|
|
205
241
|
.button-module_button--outlined__AxHna.button-module_button--warning__8wotP {
|
|
206
|
-
--button-ripple-color: var(--warning-main);
|
|
207
|
-
border-color: var(--warning-outlined-border);
|
|
208
|
-
color: var(--warning-outlined-border);
|
|
242
|
+
--button-ripple-color: var(--button-color, var(--warning-main));
|
|
243
|
+
border-color: var(--button-color, var(--warning-outlined-border));
|
|
244
|
+
color: var(--button-color, var(--warning-outlined-border));
|
|
209
245
|
}
|
|
210
246
|
.button-module_button--outlined__AxHna.button-module_button--warning__8wotP:hover:not(:disabled) {
|
|
211
|
-
|
|
247
|
+
/* Mixed on the SOLID, not on `--warning-hover`. That token is itself an
|
|
248
|
+
alpha tint (8–16%), so mixing it again compounded two transparencies and
|
|
249
|
+
landed at ~1.6% — a hover nobody could see. */
|
|
250
|
+
background-color: color-mix(in srgb, var(--button-color, var(--warning-main)) 14%, transparent);
|
|
212
251
|
}
|
|
213
252
|
.button-module_button--outlined__AxHna.button-module_button--warning__8wotP:focus-visible {
|
|
214
253
|
box-shadow: 0 0 0 2px var(--background-default), 0 0 0 4px var(--warning-focus-visible);
|
|
@@ -217,12 +256,15 @@
|
|
|
217
256
|
background-color: var(--warning-selected);
|
|
218
257
|
}
|
|
219
258
|
.button-module_button--outlined__AxHna.button-module_button--success__iPEgl {
|
|
220
|
-
--button-ripple-color: var(--success-main);
|
|
221
|
-
border-color: var(--success-outlined-border);
|
|
222
|
-
color: var(--success-outlined-border);
|
|
259
|
+
--button-ripple-color: var(--button-color, var(--success-main));
|
|
260
|
+
border-color: var(--button-color, var(--success-outlined-border));
|
|
261
|
+
color: var(--button-color, var(--success-outlined-border));
|
|
223
262
|
}
|
|
224
263
|
.button-module_button--outlined__AxHna.button-module_button--success__iPEgl:hover:not(:disabled) {
|
|
225
|
-
|
|
264
|
+
/* Mixed on the SOLID, not on `--success-hover`. That token is itself an
|
|
265
|
+
alpha tint (8–16%), so mixing it again compounded two transparencies and
|
|
266
|
+
landed at ~1.6% — a hover nobody could see. */
|
|
267
|
+
background-color: color-mix(in srgb, var(--button-color, var(--success-main)) 14%, transparent);
|
|
226
268
|
}
|
|
227
269
|
.button-module_button--outlined__AxHna.button-module_button--success__iPEgl:focus-visible {
|
|
228
270
|
box-shadow: 0 0 0 2px var(--background-default), 0 0 0 4px var(--success-focus-visible);
|
|
@@ -231,12 +273,15 @@
|
|
|
231
273
|
background-color: var(--success-selected);
|
|
232
274
|
}
|
|
233
275
|
.button-module_button--outlined__AxHna.button-module_button--info__WaPKN {
|
|
234
|
-
--button-ripple-color: var(--info-main);
|
|
235
|
-
border-color: var(--info-outlined-border);
|
|
236
|
-
color: var(--info-outlined-border);
|
|
276
|
+
--button-ripple-color: var(--button-color, var(--info-main));
|
|
277
|
+
border-color: var(--button-color, var(--info-outlined-border));
|
|
278
|
+
color: var(--button-color, var(--info-outlined-border));
|
|
237
279
|
}
|
|
238
280
|
.button-module_button--outlined__AxHna.button-module_button--info__WaPKN:hover:not(:disabled) {
|
|
239
|
-
|
|
281
|
+
/* Mixed on the SOLID, not on `--info-hover`. That token is itself an
|
|
282
|
+
alpha tint (8–16%), so mixing it again compounded two transparencies and
|
|
283
|
+
landed at ~1.6% — a hover nobody could see. */
|
|
284
|
+
background-color: color-mix(in srgb, var(--button-color, var(--info-main)) 14%, transparent);
|
|
240
285
|
}
|
|
241
286
|
.button-module_button--outlined__AxHna.button-module_button--info__WaPKN:focus-visible {
|
|
242
287
|
box-shadow: 0 0 0 2px var(--background-default), 0 0 0 4px var(--info-focus-visible);
|
|
@@ -245,12 +290,15 @@
|
|
|
245
290
|
background-color: var(--info-selected);
|
|
246
291
|
}
|
|
247
292
|
.button-module_button--outlined__AxHna.button-module_button--slate__DRwTq {
|
|
248
|
-
--button-ripple-color: var(--slate-main);
|
|
249
|
-
border-color: var(--slate-outlined-border);
|
|
250
|
-
color: var(--slate-outlined-border);
|
|
293
|
+
--button-ripple-color: var(--button-color, var(--slate-main));
|
|
294
|
+
border-color: var(--button-color, var(--slate-outlined-border));
|
|
295
|
+
color: var(--button-color, var(--slate-outlined-border));
|
|
251
296
|
}
|
|
252
297
|
.button-module_button--outlined__AxHna.button-module_button--slate__DRwTq:hover:not(:disabled) {
|
|
253
|
-
|
|
298
|
+
/* Mixed on the SOLID, not on `--slate-hover`. That token is itself an
|
|
299
|
+
alpha tint (8–16%), so mixing it again compounded two transparencies and
|
|
300
|
+
landed at ~1.6% — a hover nobody could see. */
|
|
301
|
+
background-color: color-mix(in srgb, var(--button-color, var(--slate-main)) 14%, transparent);
|
|
254
302
|
}
|
|
255
303
|
.button-module_button--outlined__AxHna.button-module_button--slate__DRwTq:focus-visible {
|
|
256
304
|
box-shadow: 0 0 0 2px var(--background-default), 0 0 0 4px var(--slate-focus-visible);
|
|
@@ -273,11 +321,14 @@
|
|
|
273
321
|
background-color: transparent;
|
|
274
322
|
}
|
|
275
323
|
.button-module_button--ghost__m7RzP.button-module_button--primary__BO20b {
|
|
276
|
-
--button-ripple-color: var(--primary-main);
|
|
277
|
-
color: var(--primary-outlined-border);
|
|
324
|
+
--button-ripple-color: var(--button-color, var(--primary-main));
|
|
325
|
+
color: var(--button-color, var(--primary-outlined-border));
|
|
278
326
|
}
|
|
279
327
|
.button-module_button--ghost__m7RzP.button-module_button--primary__BO20b:hover:not(:disabled) {
|
|
280
|
-
|
|
328
|
+
/* Mixed on the SOLID, not on `--primary-hover`. That token is itself an
|
|
329
|
+
alpha tint (8–16%), so mixing it again compounded two transparencies and
|
|
330
|
+
landed at ~1.6% — a hover nobody could see. */
|
|
331
|
+
background-color: color-mix(in srgb, var(--button-color, var(--primary-main)) 14%, transparent);
|
|
281
332
|
}
|
|
282
333
|
.button-module_button--ghost__m7RzP.button-module_button--primary__BO20b:focus-visible {
|
|
283
334
|
box-shadow: 0 0 0 2px var(--background-default), 0 0 0 4px var(--primary-focus-visible);
|
|
@@ -286,11 +337,14 @@
|
|
|
286
337
|
background-color: var(--primary-selected);
|
|
287
338
|
}
|
|
288
339
|
.button-module_button--ghost__m7RzP.button-module_button--secondary__EgwQf {
|
|
289
|
-
--button-ripple-color: var(--secondary-main);
|
|
290
|
-
color: var(--secondary-outlined-border);
|
|
340
|
+
--button-ripple-color: var(--button-color, var(--secondary-main));
|
|
341
|
+
color: var(--button-color, var(--secondary-outlined-border));
|
|
291
342
|
}
|
|
292
343
|
.button-module_button--ghost__m7RzP.button-module_button--secondary__EgwQf:hover:not(:disabled) {
|
|
293
|
-
|
|
344
|
+
/* Mixed on the SOLID, not on `--secondary-hover`. That token is itself an
|
|
345
|
+
alpha tint (8–16%), so mixing it again compounded two transparencies and
|
|
346
|
+
landed at ~1.6% — a hover nobody could see. */
|
|
347
|
+
background-color: color-mix(in srgb, var(--button-color, var(--secondary-main)) 14%, transparent);
|
|
294
348
|
}
|
|
295
349
|
.button-module_button--ghost__m7RzP.button-module_button--secondary__EgwQf:focus-visible {
|
|
296
350
|
box-shadow: 0 0 0 2px var(--background-default), 0 0 0 4px var(--secondary-focus-visible);
|
|
@@ -299,11 +353,14 @@
|
|
|
299
353
|
background-color: var(--secondary-selected);
|
|
300
354
|
}
|
|
301
355
|
.button-module_button--ghost__m7RzP.button-module_button--destructive__PPikG {
|
|
302
|
-
--button-ripple-color: var(--destructive-main);
|
|
303
|
-
color: var(--destructive-outlined-border);
|
|
356
|
+
--button-ripple-color: var(--button-color, var(--destructive-main));
|
|
357
|
+
color: var(--button-color, var(--destructive-outlined-border));
|
|
304
358
|
}
|
|
305
359
|
.button-module_button--ghost__m7RzP.button-module_button--destructive__PPikG:hover:not(:disabled) {
|
|
306
|
-
|
|
360
|
+
/* Mixed on the SOLID, not on `--destructive-hover`. That token is itself an
|
|
361
|
+
alpha tint (8–16%), so mixing it again compounded two transparencies and
|
|
362
|
+
landed at ~1.6% — a hover nobody could see. */
|
|
363
|
+
background-color: color-mix(in srgb, var(--button-color, var(--destructive-main)) 14%, transparent);
|
|
307
364
|
}
|
|
308
365
|
.button-module_button--ghost__m7RzP.button-module_button--destructive__PPikG:focus-visible {
|
|
309
366
|
box-shadow: 0 0 0 2px var(--background-default), 0 0 0 4px var(--destructive-focus-visible);
|
|
@@ -312,11 +369,14 @@
|
|
|
312
369
|
background-color: var(--destructive-selected);
|
|
313
370
|
}
|
|
314
371
|
.button-module_button--ghost__m7RzP.button-module_button--warning__8wotP {
|
|
315
|
-
--button-ripple-color: var(--warning-main);
|
|
316
|
-
color: var(--warning-outlined-border);
|
|
372
|
+
--button-ripple-color: var(--button-color, var(--warning-main));
|
|
373
|
+
color: var(--button-color, var(--warning-outlined-border));
|
|
317
374
|
}
|
|
318
375
|
.button-module_button--ghost__m7RzP.button-module_button--warning__8wotP:hover:not(:disabled) {
|
|
319
|
-
|
|
376
|
+
/* Mixed on the SOLID, not on `--warning-hover`. That token is itself an
|
|
377
|
+
alpha tint (8–16%), so mixing it again compounded two transparencies and
|
|
378
|
+
landed at ~1.6% — a hover nobody could see. */
|
|
379
|
+
background-color: color-mix(in srgb, var(--button-color, var(--warning-main)) 14%, transparent);
|
|
320
380
|
}
|
|
321
381
|
.button-module_button--ghost__m7RzP.button-module_button--warning__8wotP:focus-visible {
|
|
322
382
|
box-shadow: 0 0 0 2px var(--background-default), 0 0 0 4px var(--warning-focus-visible);
|
|
@@ -325,11 +385,14 @@
|
|
|
325
385
|
background-color: var(--warning-selected);
|
|
326
386
|
}
|
|
327
387
|
.button-module_button--ghost__m7RzP.button-module_button--success__iPEgl {
|
|
328
|
-
--button-ripple-color: var(--success-main);
|
|
329
|
-
color: var(--success-outlined-border);
|
|
388
|
+
--button-ripple-color: var(--button-color, var(--success-main));
|
|
389
|
+
color: var(--button-color, var(--success-outlined-border));
|
|
330
390
|
}
|
|
331
391
|
.button-module_button--ghost__m7RzP.button-module_button--success__iPEgl:hover:not(:disabled) {
|
|
332
|
-
|
|
392
|
+
/* Mixed on the SOLID, not on `--success-hover`. That token is itself an
|
|
393
|
+
alpha tint (8–16%), so mixing it again compounded two transparencies and
|
|
394
|
+
landed at ~1.6% — a hover nobody could see. */
|
|
395
|
+
background-color: color-mix(in srgb, var(--button-color, var(--success-main)) 14%, transparent);
|
|
333
396
|
}
|
|
334
397
|
.button-module_button--ghost__m7RzP.button-module_button--success__iPEgl:focus-visible {
|
|
335
398
|
box-shadow: 0 0 0 2px var(--background-default), 0 0 0 4px var(--success-focus-visible);
|
|
@@ -338,11 +401,14 @@
|
|
|
338
401
|
background-color: var(--success-selected);
|
|
339
402
|
}
|
|
340
403
|
.button-module_button--ghost__m7RzP.button-module_button--info__WaPKN {
|
|
341
|
-
--button-ripple-color: var(--info-main);
|
|
342
|
-
color: var(--info-outlined-border);
|
|
404
|
+
--button-ripple-color: var(--button-color, var(--info-main));
|
|
405
|
+
color: var(--button-color, var(--info-outlined-border));
|
|
343
406
|
}
|
|
344
407
|
.button-module_button--ghost__m7RzP.button-module_button--info__WaPKN:hover:not(:disabled) {
|
|
345
|
-
|
|
408
|
+
/* Mixed on the SOLID, not on `--info-hover`. That token is itself an
|
|
409
|
+
alpha tint (8–16%), so mixing it again compounded two transparencies and
|
|
410
|
+
landed at ~1.6% — a hover nobody could see. */
|
|
411
|
+
background-color: color-mix(in srgb, var(--button-color, var(--info-main)) 14%, transparent);
|
|
346
412
|
}
|
|
347
413
|
.button-module_button--ghost__m7RzP.button-module_button--info__WaPKN:focus-visible {
|
|
348
414
|
box-shadow: 0 0 0 2px var(--background-default), 0 0 0 4px var(--info-focus-visible);
|
|
@@ -351,11 +417,14 @@
|
|
|
351
417
|
background-color: var(--info-selected);
|
|
352
418
|
}
|
|
353
419
|
.button-module_button--ghost__m7RzP.button-module_button--slate__DRwTq {
|
|
354
|
-
--button-ripple-color: var(--slate-main);
|
|
355
|
-
color: var(--slate-outlined-border);
|
|
420
|
+
--button-ripple-color: var(--button-color, var(--slate-main));
|
|
421
|
+
color: var(--button-color, var(--slate-outlined-border));
|
|
356
422
|
}
|
|
357
423
|
.button-module_button--ghost__m7RzP.button-module_button--slate__DRwTq:hover:not(:disabled) {
|
|
358
|
-
|
|
424
|
+
/* Mixed on the SOLID, not on `--slate-hover`. That token is itself an
|
|
425
|
+
alpha tint (8–16%), so mixing it again compounded two transparencies and
|
|
426
|
+
landed at ~1.6% — a hover nobody could see. */
|
|
427
|
+
background-color: color-mix(in srgb, var(--button-color, var(--slate-main)) 14%, transparent);
|
|
359
428
|
}
|
|
360
429
|
.button-module_button--ghost__m7RzP.button-module_button--slate__DRwTq:focus-visible {
|
|
361
430
|
box-shadow: 0 0 0 2px var(--background-default), 0 0 0 4px var(--slate-focus-visible);
|
|
@@ -2,6 +2,10 @@ import { type VariantProps } from 'class-variance-authority';
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { buttonVariants } from './button-variants';
|
|
4
4
|
export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
5
|
+
/** A colour outside the theme scale; overrides the theme's colour roles. */
|
|
6
|
+
color?: string;
|
|
7
|
+
/** Ink for `contained` when `color` is set and the default contrast is wrong. */
|
|
8
|
+
onColor?: string;
|
|
5
9
|
asChild?: boolean;
|
|
6
10
|
}
|
|
7
11
|
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/ui/Button/button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAmCnD,MAAM,WAAW,WACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,YAAY,CAAC,OAAO,cAAc,CAAC;IAC1F,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,QAAA,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/ui/Button/button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAmCnD,MAAM,WAAW,WACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,YAAY,CAAC,OAAO,cAAc,CAAC;IAC1F,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,QAAA,MAAM,MAAM,uFA4EX,CAAC;AAGF,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
package/dist/ui/Button/button.js
CHANGED
|
@@ -34,7 +34,7 @@ const normalizePathname = (href, origin) => {
|
|
|
34
34
|
return null;
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
-
const Button = React.forwardRef(({ variant = 'contained', theme = 'primary', size = 'md', rounded = 'extra', iconOnly, className, asChild = false, onClick, ...props }, ref) => {
|
|
37
|
+
const Button = React.forwardRef(({ variant = 'contained', theme = 'primary', size = 'md', rounded = 'extra', iconOnly, fullWidth, className, asChild = false, onClick, color, onColor, style, ...props }, ref) => {
|
|
38
38
|
const Comp = asChild ? Slot : 'button';
|
|
39
39
|
const childHref = asChild ? getChildHref(props.children) : null;
|
|
40
40
|
const isBrowser = typeof window !== 'undefined';
|
|
@@ -57,7 +57,13 @@ const Button = React.forwardRef(({ variant = 'contained', theme = 'primary', siz
|
|
|
57
57
|
// a wrapper element whose own content needs its own a11y decisions.
|
|
58
58
|
const { children: rawChildren, ...restProps } = props;
|
|
59
59
|
const children = asChild ? rawChildren : withAriaHiddenChildren(rawChildren);
|
|
60
|
-
return (jsx(Comp, { "data-slot": 'button', "data-active-link": isActiveLink ? 'true' : undefined, "aria-current": isActiveLink && asChild ? 'page' : undefined, className: cn(buttonVariants({ variant, theme, iconOnly, size, rounded }), className),
|
|
60
|
+
return (jsx(Comp, { "data-slot": 'button', "data-active-link": isActiveLink ? 'true' : undefined, "aria-current": isActiveLink && asChild ? 'page' : undefined, className: cn(buttonVariants({ variant, theme, iconOnly, fullWidth, size, rounded }), className), style: color || onColor
|
|
61
|
+
? {
|
|
62
|
+
...style,
|
|
63
|
+
...(color ? { '--button-color': color } : null),
|
|
64
|
+
...(onColor ? { '--button-on-color': onColor } : null),
|
|
65
|
+
}
|
|
66
|
+
: style, ref: ref, onClick: handleClick, ...restProps, children: children }));
|
|
61
67
|
});
|
|
62
68
|
Button.displayName = 'Button';
|
|
63
69
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sources":["../../../src/ui/Button/button.tsx"],"sourcesContent":["import { type VariantProps } from 'class-variance-authority';\nimport cn from 'clsx';\nimport * as React from 'react';\nimport { createRipple } from '../../internal/create-ripple';\nimport { Slot } from '../../internal/slot';\nimport { withAriaHiddenChildren } from '../../internal/with-aria-hidden-children';\nimport { buttonVariants } from './button-variants';\nimport s from './button.module.scss';\n\nconst getChildHref = (children: React.ReactNode): string | null => {\n const childArray = React.Children.toArray(children ?? []);\n if (childArray.length !== 1) {\n return null;\n }\n\n const child = childArray[0];\n if (!React.isValidElement<{ href?: string; to?: string }>(child)) {\n return null;\n }\n\n if (typeof child.props?.href === 'string') {\n return child.props.href;\n }\n\n if (typeof child.props?.to === 'string') {\n return child.props.to;\n }\n\n return null;\n};\n\nconst normalizePathname = (href: string, origin: string): string | null => {\n try {\n const url = new URL(href, origin);\n const normalizedPath = url.pathname.replace(/\\/+$/, '');\n return normalizedPath || '/';\n } catch {\n return null;\n }\n};\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n variant = 'contained',\n theme = 'primary',\n size = 'md',\n rounded = 'extra',\n iconOnly,\n className,\n asChild = false,\n onClick,\n ...props\n },\n ref,\n ) => {\n const Comp = asChild ? Slot : 'button';\n const childHref = asChild ? getChildHref(props.children) : null;\n const isBrowser = typeof window !== 'undefined';\n\n let currentPath: string | null = null;\n let targetPath: string | null = null;\n\n if (isBrowser) {\n const { pathname, origin } = window.location;\n currentPath = normalizePathname(pathname, origin);\n\n if (childHref) {\n targetPath = normalizePathname(childHref, origin);\n }\n }\n\n const isActiveLink = Boolean(\n asChild && currentPath && targetPath && currentPath === targetPath,\n );\n\n const handleClick = (event: React.MouseEvent<HTMLElement>) => {\n createRipple(event, s['ripple']);\n onClick?.(event as React.MouseEvent<HTMLButtonElement>);\n };\n\n // Treat element children as decorative by default (icons get\n // aria-hidden automatically). Skip for `asChild` because Slot's child is\n // a wrapper element whose own content needs its own a11y decisions.\n const { children: rawChildren, ...restProps } = props;\n const children = asChild ? rawChildren : withAriaHiddenChildren(rawChildren);\n\n return (\n <Comp\n data-slot={'button'}\n data-active-link={isActiveLink ? 'true' : undefined}\n aria-current={isActiveLink && asChild ? 'page' : undefined}\n className={cn(buttonVariants({ variant, theme, iconOnly, size, rounded })
|
|
1
|
+
{"version":3,"file":"button.js","sources":["../../../src/ui/Button/button.tsx"],"sourcesContent":["import { type VariantProps } from 'class-variance-authority';\nimport cn from 'clsx';\nimport * as React from 'react';\nimport { createRipple } from '../../internal/create-ripple';\nimport { Slot } from '../../internal/slot';\nimport { withAriaHiddenChildren } from '../../internal/with-aria-hidden-children';\nimport { buttonVariants } from './button-variants';\nimport s from './button.module.scss';\n\nconst getChildHref = (children: React.ReactNode): string | null => {\n const childArray = React.Children.toArray(children ?? []);\n if (childArray.length !== 1) {\n return null;\n }\n\n const child = childArray[0];\n if (!React.isValidElement<{ href?: string; to?: string }>(child)) {\n return null;\n }\n\n if (typeof child.props?.href === 'string') {\n return child.props.href;\n }\n\n if (typeof child.props?.to === 'string') {\n return child.props.to;\n }\n\n return null;\n};\n\nconst normalizePathname = (href: string, origin: string): string | null => {\n try {\n const url = new URL(href, origin);\n const normalizedPath = url.pathname.replace(/\\/+$/, '');\n return normalizedPath || '/';\n } catch {\n return null;\n }\n};\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {\n /** A colour outside the theme scale; overrides the theme's colour roles. */\n color?: string;\n /** Ink for `contained` when `color` is set and the default contrast is wrong. */\n onColor?: string;\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n variant = 'contained',\n theme = 'primary',\n size = 'md',\n rounded = 'extra',\n iconOnly,\n fullWidth,\n className,\n asChild = false,\n onClick,\n color,\n onColor,\n style,\n ...props\n },\n ref,\n ) => {\n const Comp = asChild ? Slot : 'button';\n const childHref = asChild ? getChildHref(props.children) : null;\n const isBrowser = typeof window !== 'undefined';\n\n let currentPath: string | null = null;\n let targetPath: string | null = null;\n\n if (isBrowser) {\n const { pathname, origin } = window.location;\n currentPath = normalizePathname(pathname, origin);\n\n if (childHref) {\n targetPath = normalizePathname(childHref, origin);\n }\n }\n\n const isActiveLink = Boolean(\n asChild && currentPath && targetPath && currentPath === targetPath,\n );\n\n const handleClick = (event: React.MouseEvent<HTMLElement>) => {\n createRipple(event, s['ripple']);\n onClick?.(event as React.MouseEvent<HTMLButtonElement>);\n };\n\n // Treat element children as decorative by default (icons get\n // aria-hidden automatically). Skip for `asChild` because Slot's child is\n // a wrapper element whose own content needs its own a11y decisions.\n const { children: rawChildren, ...restProps } = props;\n const children = asChild ? rawChildren : withAriaHiddenChildren(rawChildren);\n\n return (\n <Comp\n data-slot={'button'}\n data-active-link={isActiveLink ? 'true' : undefined}\n aria-current={isActiveLink && asChild ? 'page' : undefined}\n className={cn(\n buttonVariants({ variant, theme, iconOnly, fullWidth, size, rounded }),\n className,\n )}\n style={\n color || onColor\n ? ({\n ...style,\n ...(color ? { '--button-color': color } : null),\n ...(onColor ? { '--button-on-color': onColor } : null),\n } as React.CSSProperties)\n : style\n }\n ref={ref}\n onClick={handleClick}\n {...restProps}\n >\n {children}\n </Comp>\n );\n },\n);\nButton.displayName = 'Button';\n\nexport { Button };\n"],"names":["_jsx"],"mappings":";;;;;;;;;AASA,MAAM,YAAY,GAAG,CAAC,QAAyB,KAAmB;AAChE,IAAA,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;AACzD,IAAA,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3B,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC;IAC3B,IAAI,CAAC,KAAK,CAAC,cAAc,CAAiC,KAAK,CAAC,EAAE;AAChE,QAAA,OAAO,IAAI;IACb;IAEA,IAAI,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,QAAQ,EAAE;AACzC,QAAA,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI;IACzB;IAEA,IAAI,OAAO,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,QAAQ,EAAE;AACvC,QAAA,OAAO,KAAK,CAAC,KAAK,CAAC,EAAE;IACvB;AAEA,IAAA,OAAO,IAAI;AACb,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,MAAc,KAAmB;AACxE,IAAA,IAAI;QACF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC;AACjC,QAAA,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACvD,OAAO,cAAc,IAAI,GAAG;IAC9B;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,IAAI;IACb;AACF,CAAC;AAWD,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAC7B,CACE,EACE,OAAO,GAAG,WAAW,EACrB,KAAK,GAAG,SAAS,EACjB,IAAI,GAAG,IAAI,EACX,OAAO,GAAG,OAAO,EACjB,QAAQ,EACR,SAAS,EACT,SAAS,EACT,OAAO,GAAG,KAAK,EACf,OAAO,EACP,KAAK,EACL,OAAO,EACP,KAAK,EACL,GAAG,KAAK,EACT,EACD,GAAG,KACD;IACF,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,QAAQ;AACtC,IAAA,MAAM,SAAS,GAAG,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI;AAC/D,IAAA,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,WAAW;IAE/C,IAAI,WAAW,GAAkB,IAAI;IACrC,IAAI,UAAU,GAAkB,IAAI;IAEpC,IAAI,SAAS,EAAE;QACb,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ;AAC5C,QAAA,WAAW,GAAG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC;QAEjD,IAAI,SAAS,EAAE;AACb,YAAA,UAAU,GAAG,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC;QACnD;IACF;AAEA,IAAA,MAAM,YAAY,GAAG,OAAO,CAC1B,OAAO,IAAI,WAAW,IAAI,UAAU,IAAI,WAAW,KAAK,UAAU,CACnE;AAED,IAAA,MAAM,WAAW,GAAG,CAAC,KAAoC,KAAI;QAC3D,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChC,QAAA,OAAO,GAAG,KAA4C,CAAC;AACzD,IAAA,CAAC;;;;IAKD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;AACrD,IAAA,MAAM,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,sBAAsB,CAAC,WAAW,CAAC;IAE5E,QACEA,GAAA,CAAC,IAAI,EAAA,EAAA,WAAA,EACQ,QAAQ,EAAA,kBAAA,EACD,YAAY,GAAG,MAAM,GAAG,SAAS,EAAA,cAAA,EACrC,YAAY,IAAI,OAAO,GAAG,MAAM,GAAG,SAAS,EAC1D,SAAS,EAAE,EAAE,CACX,cAAc,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EACtE,SAAS,CACV,EACD,KAAK,EACH,KAAK,IAAI;AACP,cAAG;AACC,gBAAA,GAAG,KAAK;AACR,gBAAA,IAAI,KAAK,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;AAC/C,gBAAA,IAAI,OAAO,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;AAC/B;AAC3B,cAAE,KAAK,EAEX,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,WAAW,KAChB,SAAS,EAAA,QAAA,EAEZ,QAAQ,EAAA,CACJ;AAEX,CAAC;AAEH,MAAM,CAAC,WAAW,GAAG,QAAQ;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import './button.css';
|
|
2
2
|
|
|
3
|
-
var s = {"button":"button-module_button__ATpxB","ripple":"button-module_ripple__Ny6oE","button--rounded":"button-module_button--rounded__ah_Ei","button--extra-rounded":"button-module_button--extra-rounded__B9xBI","button--contained":"button-module_button--contained__YQQ33","button--primary":"button-module_button--primary__BO20b","button--secondary":"button-module_button--secondary__EgwQf","button--destructive":"button-module_button--destructive__PPikG","button--warning":"button-module_button--warning__8wotP","button--success":"button-module_button--success__iPEgl","button--info":"button-module_button--info__WaPKN","button--slate":"button-module_button--slate__DRwTq","button--inherit":"button-module_button--inherit__KgtNC","button--outlined":"button-module_button--outlined__AxHna","button--ghost":"button-module_button--ghost__m7RzP","button--xs":"button-module_button--xs__eWH8k","button--icon-only":"button-module_button--icon-only__U2BKr","button--sm":"button-module_button--sm__4yeUt","button--md":"button-module_button--md__HpLm1","button--lg":"button-module_button--lg__67gAK"};
|
|
3
|
+
var s = {"button--full-width":"button-module_button--full-width__f1jWC","button":"button-module_button__ATpxB","ripple":"button-module_ripple__Ny6oE","button--rounded":"button-module_button--rounded__ah_Ei","button--extra-rounded":"button-module_button--extra-rounded__B9xBI","button--contained":"button-module_button--contained__YQQ33","button--primary":"button-module_button--primary__BO20b","button--secondary":"button-module_button--secondary__EgwQf","button--destructive":"button-module_button--destructive__PPikG","button--warning":"button-module_button--warning__8wotP","button--success":"button-module_button--success__iPEgl","button--info":"button-module_button--info__WaPKN","button--slate":"button-module_button--slate__DRwTq","button--inherit":"button-module_button--inherit__KgtNC","button--outlined":"button-module_button--outlined__AxHna","button--ghost":"button-module_button--ghost__m7RzP","button--xs":"button-module_button--xs__eWH8k","button--icon-only":"button-module_button--icon-only__U2BKr","button--sm":"button-module_button--sm__4yeUt","button--md":"button-module_button--md__HpLm1","button--lg":"button-module_button--lg__67gAK"};
|
|
4
4
|
|
|
5
5
|
export { s as default };
|
|
6
6
|
//# sourceMappingURL=button.module.scss.js.map
|
package/dist/ui/Chip/chip.css
CHANGED
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
border-style: dashed;
|
|
40
40
|
}
|
|
41
41
|
.chip-module_chip--2xs__GJtZF {
|
|
42
|
-
font-size: 0.
|
|
43
|
-
padding: 0 0.25rem;
|
|
42
|
+
font-size: 0.6rem;
|
|
43
|
+
padding: 0.05rem 0.25rem;
|
|
44
44
|
}
|
|
45
45
|
.chip-module_chip--2xs__GJtZF > svg {
|
|
46
46
|
height: 0.6rem;
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
--themed-selected: var(--primary-selected);
|
|
105
105
|
--chip-ink: var(--chip-color, var(--primary-outlined-border));
|
|
106
106
|
--chip-fill: var(--chip-color, var(--primary-main));
|
|
107
|
-
--chip-wash: var(--chip-color, var(--primary-
|
|
107
|
+
--chip-wash: var(--chip-color, var(--primary-main));
|
|
108
108
|
--chip-on-fill: var(--primary-contrast);
|
|
109
109
|
}
|
|
110
110
|
.chip-module_chip__u4PJ9.chip-module_chip--secondary__eyfdz {
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
--themed-selected: var(--secondary-selected);
|
|
121
121
|
--chip-ink: var(--chip-color, var(--secondary-outlined-border));
|
|
122
122
|
--chip-fill: var(--chip-color, var(--secondary-main));
|
|
123
|
-
--chip-wash: var(--chip-color, var(--secondary-
|
|
123
|
+
--chip-wash: var(--chip-color, var(--secondary-main));
|
|
124
124
|
--chip-on-fill: var(--secondary-contrast);
|
|
125
125
|
}
|
|
126
126
|
.chip-module_chip__u4PJ9.chip-module_chip--destructive__80JrW {
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
--themed-selected: var(--destructive-selected);
|
|
137
137
|
--chip-ink: var(--chip-color, var(--destructive-outlined-border));
|
|
138
138
|
--chip-fill: var(--chip-color, var(--destructive-main));
|
|
139
|
-
--chip-wash: var(--chip-color, var(--destructive-
|
|
139
|
+
--chip-wash: var(--chip-color, var(--destructive-main));
|
|
140
140
|
--chip-on-fill: var(--destructive-contrast);
|
|
141
141
|
}
|
|
142
142
|
.chip-module_chip__u4PJ9.chip-module_chip--warning__3oxvl {
|
|
@@ -152,7 +152,7 @@
|
|
|
152
152
|
--themed-selected: var(--warning-selected);
|
|
153
153
|
--chip-ink: var(--chip-color, var(--warning-outlined-border));
|
|
154
154
|
--chip-fill: var(--chip-color, var(--warning-main));
|
|
155
|
-
--chip-wash: var(--chip-color, var(--warning-
|
|
155
|
+
--chip-wash: var(--chip-color, var(--warning-main));
|
|
156
156
|
--chip-on-fill: var(--warning-contrast);
|
|
157
157
|
}
|
|
158
158
|
.chip-module_chip__u4PJ9.chip-module_chip--success__VF1tZ {
|
|
@@ -168,7 +168,7 @@
|
|
|
168
168
|
--themed-selected: var(--success-selected);
|
|
169
169
|
--chip-ink: var(--chip-color, var(--success-outlined-border));
|
|
170
170
|
--chip-fill: var(--chip-color, var(--success-main));
|
|
171
|
-
--chip-wash: var(--chip-color, var(--success-
|
|
171
|
+
--chip-wash: var(--chip-color, var(--success-main));
|
|
172
172
|
--chip-on-fill: var(--success-contrast);
|
|
173
173
|
}
|
|
174
174
|
.chip-module_chip__u4PJ9.chip-module_chip--info__Jgnsc {
|
|
@@ -184,7 +184,7 @@
|
|
|
184
184
|
--themed-selected: var(--info-selected);
|
|
185
185
|
--chip-ink: var(--chip-color, var(--info-outlined-border));
|
|
186
186
|
--chip-fill: var(--chip-color, var(--info-main));
|
|
187
|
-
--chip-wash: var(--chip-color, var(--info-
|
|
187
|
+
--chip-wash: var(--chip-color, var(--info-main));
|
|
188
188
|
--chip-on-fill: var(--info-contrast);
|
|
189
189
|
}
|
|
190
190
|
.chip-module_chip__u4PJ9.chip-module_chip--slate__vmQ7R {
|
|
@@ -200,7 +200,7 @@
|
|
|
200
200
|
--themed-selected: var(--slate-selected);
|
|
201
201
|
--chip-ink: var(--chip-color, var(--slate-outlined-border));
|
|
202
202
|
--chip-fill: var(--chip-color, var(--slate-main));
|
|
203
|
-
--chip-wash: var(--chip-color, var(--slate-
|
|
203
|
+
--chip-wash: var(--chip-color, var(--slate-main));
|
|
204
204
|
--chip-on-fill: var(--slate-contrast);
|
|
205
205
|
}
|
|
206
206
|
.chip-module_chip__u4PJ9.chip-module_chip--inherit__HjU_P {
|
|
@@ -209,21 +209,42 @@
|
|
|
209
209
|
--chip-wash: var(--chip-color, var(--themed-hover, var(--action-hover)));
|
|
210
210
|
--chip-on-fill: var(--themed-contrast, var(--background-default));
|
|
211
211
|
}
|
|
212
|
+
.chip-module_chip__u4PJ9 {
|
|
213
|
+
/*
|
|
214
|
+
* Every fill answers a hover.
|
|
215
|
+
*
|
|
216
|
+
* `outline` and `solid` had none at all, which is most visible where a chip
|
|
217
|
+
* IS the control — a filter pill, a size to pick — and the only feedback was
|
|
218
|
+
* the cursor. `soft` had one, but on a `--chip-wash` that fell back to an
|
|
219
|
+
* already-alpha `-hover` token, so 20% of 10% was 2% and the hover moved it
|
|
220
|
+
* to 4%. The wash is a solid now and the percentages mean what they say.
|
|
221
|
+
*/
|
|
222
|
+
}
|
|
212
223
|
.chip-module_chip--soft__zYBtU {
|
|
213
|
-
background-color: color-mix(in srgb, var(--chip-wash)
|
|
224
|
+
background-color: color-mix(in srgb, var(--chip-wash) 18%, transparent);
|
|
214
225
|
border-color: var(--chip-ink);
|
|
215
226
|
color: var(--chip-ink);
|
|
216
227
|
}
|
|
217
228
|
.chip-module_chip--soft__zYBtU:hover {
|
|
218
|
-
background-color: color-mix(in srgb, var(--chip-wash)
|
|
229
|
+
background-color: color-mix(in srgb, var(--chip-wash) 34%, transparent);
|
|
219
230
|
}
|
|
220
231
|
.chip-module_chip--outline__TO-HF {
|
|
221
232
|
background-color: transparent;
|
|
222
233
|
border-color: color-mix(in srgb, var(--chip-ink) 55%, transparent);
|
|
223
234
|
color: var(--chip-ink);
|
|
224
235
|
}
|
|
236
|
+
.chip-module_chip--outline__TO-HF:hover {
|
|
237
|
+
background-color: color-mix(in srgb, var(--chip-wash) 16%, transparent);
|
|
238
|
+
border-color: var(--chip-ink);
|
|
239
|
+
}
|
|
225
240
|
.chip-module_chip--solid__F89cD {
|
|
226
241
|
background-color: var(--chip-fill);
|
|
227
242
|
border-color: var(--chip-fill);
|
|
228
243
|
color: var(--chip-on-fill);
|
|
244
|
+
/* Lightened toward the page's own ink-on-accent, the way a contained
|
|
245
|
+
Button lightens its fill — a solid cannot take a tint on top. */
|
|
246
|
+
}
|
|
247
|
+
.chip-module_chip--solid__F89cD:hover {
|
|
248
|
+
background-color: color-mix(in srgb, var(--chip-fill) 86%, var(--chip-on-fill));
|
|
249
|
+
border-color: color-mix(in srgb, var(--chip-fill) 86%, var(--chip-on-fill));
|
|
229
250
|
}
|