@womp/kookie-ui 0.3.25 → 0.4.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/AUTHORS +27 -0
- package/LICENSE +29 -0
- package/README.md +21 -1
- package/components.css +163 -118
- package/dist/cjs/components/_internal/base-button.d.ts.map +1 -1
- package/dist/cjs/components/_internal/base-button.js +1 -1
- package/dist/cjs/components/_internal/base-button.js.map +4 -4
- package/dist/cjs/components/_internal/dropdown-menu-drill-down.js +1 -1
- package/dist/cjs/components/_internal/dropdown-menu-drill-down.js.map +3 -3
- package/dist/cjs/components/_internal/shell-bottom.js +1 -1
- package/dist/cjs/components/_internal/shell-bottom.js.map +4 -4
- package/dist/cjs/components/_internal/shell-handles.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-handles.js +1 -1
- package/dist/cjs/components/_internal/shell-handles.js.map +3 -3
- package/dist/cjs/components/_internal/shell-inspector.js +1 -1
- package/dist/cjs/components/_internal/shell-inspector.js.map +4 -4
- package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
- package/dist/cjs/components/_internal/shell-sidebar.js.map +4 -4
- package/dist/cjs/components/accordion.d.ts.map +1 -1
- package/dist/cjs/components/accordion.js +1 -1
- package/dist/cjs/components/accordion.js.map +4 -4
- package/dist/cjs/components/alert-dialog.d.ts.map +1 -1
- package/dist/cjs/components/alert-dialog.js +1 -1
- package/dist/cjs/components/alert-dialog.js.map +4 -4
- package/dist/cjs/components/avatar.js +1 -1
- package/dist/cjs/components/avatar.js.map +4 -4
- package/dist/cjs/components/badge.d.ts.map +1 -1
- package/dist/cjs/components/badge.js +1 -1
- package/dist/cjs/components/badge.js.map +4 -4
- package/dist/cjs/components/blockquote.js +1 -1
- package/dist/cjs/components/blockquote.js.map +4 -4
- package/dist/cjs/components/box.js +1 -1
- package/dist/cjs/components/box.js.map +4 -4
- package/dist/cjs/components/button.js +1 -1
- package/dist/cjs/components/button.js.map +4 -4
- package/dist/cjs/components/callout.js +1 -1
- package/dist/cjs/components/callout.js.map +4 -4
- package/dist/cjs/components/card.js +1 -1
- package/dist/cjs/components/card.js.map +4 -4
- package/dist/cjs/components/chatbar.js +2 -2
- package/dist/cjs/components/chatbar.js.map +4 -4
- package/dist/cjs/components/checkbox-cards.js +1 -1
- package/dist/cjs/components/checkbox-cards.js.map +4 -4
- package/dist/cjs/components/checkbox-group.js +1 -1
- package/dist/cjs/components/checkbox-group.js.map +4 -4
- package/dist/cjs/components/checkbox.js +1 -1
- package/dist/cjs/components/checkbox.js.map +4 -4
- package/dist/cjs/components/code.js +1 -1
- package/dist/cjs/components/code.js.map +4 -4
- package/dist/cjs/components/combobox.js +1 -1
- package/dist/cjs/components/combobox.js.map +4 -4
- package/dist/cjs/components/container.js +1 -1
- package/dist/cjs/components/container.js.map +4 -4
- package/dist/cjs/components/context-menu.d.ts.map +1 -1
- package/dist/cjs/components/context-menu.js +1 -1
- package/dist/cjs/components/context-menu.js.map +4 -4
- package/dist/cjs/components/data-list.js +1 -1
- package/dist/cjs/components/data-list.js.map +4 -4
- package/dist/cjs/components/dialog.d.ts.map +1 -1
- package/dist/cjs/components/dialog.js +1 -1
- package/dist/cjs/components/dialog.js.map +4 -4
- package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
- package/dist/cjs/components/dropdown-menu.js +1 -1
- package/dist/cjs/components/dropdown-menu.js.map +4 -4
- package/dist/cjs/components/em.js +1 -1
- package/dist/cjs/components/em.js.map +4 -4
- package/dist/cjs/components/flex.js +1 -1
- package/dist/cjs/components/flex.js.map +4 -4
- package/dist/cjs/components/grid.js +1 -1
- package/dist/cjs/components/grid.js.map +4 -4
- package/dist/cjs/components/heading.js +1 -1
- package/dist/cjs/components/heading.js.map +4 -4
- package/dist/cjs/components/hover-card.js +1 -1
- package/dist/cjs/components/hover-card.js.map +4 -4
- package/dist/cjs/components/icon-button.js +2 -2
- package/dist/cjs/components/icon-button.js.map +4 -4
- package/dist/cjs/components/image.js +1 -1
- package/dist/cjs/components/image.js.map +4 -4
- package/dist/cjs/components/index.js +5 -5
- package/dist/cjs/components/index.js.map +4 -4
- package/dist/cjs/components/inset.js +1 -1
- package/dist/cjs/components/inset.js.map +4 -4
- package/dist/cjs/components/kbd.js +1 -1
- package/dist/cjs/components/kbd.js.map +4 -4
- package/dist/cjs/components/link.js +1 -1
- package/dist/cjs/components/link.js.map +4 -4
- package/dist/cjs/components/navbar.js +1 -1
- package/dist/cjs/components/navbar.js.map +4 -4
- package/dist/cjs/components/popover.js +1 -1
- package/dist/cjs/components/popover.js.map +4 -4
- package/dist/cjs/components/progress.js +1 -1
- package/dist/cjs/components/progress.js.map +4 -4
- package/dist/cjs/components/quote.js +1 -1
- package/dist/cjs/components/quote.js.map +4 -4
- package/dist/cjs/components/radio-cards.js +1 -1
- package/dist/cjs/components/radio-cards.js.map +4 -4
- package/dist/cjs/components/radio-group.js +1 -1
- package/dist/cjs/components/radio-group.js.map +4 -4
- package/dist/cjs/components/radio.js +1 -1
- package/dist/cjs/components/radio.js.map +4 -4
- package/dist/cjs/components/schemas/base-button.schema.d.ts +2 -2
- package/dist/cjs/components/schemas/button.schema.d.ts +2 -2
- package/dist/cjs/components/schemas/icon-button.schema.d.ts +4 -4
- package/dist/cjs/components/schemas/shell.schema.d.ts +2 -2
- package/dist/cjs/components/schemas/toggle-button.schema.d.ts +6 -6
- package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts +8 -8
- package/dist/cjs/components/scroll-area.js +1 -1
- package/dist/cjs/components/scroll-area.js.map +4 -4
- package/dist/cjs/components/section.js +1 -1
- package/dist/cjs/components/section.js.map +4 -4
- package/dist/cjs/components/segmented-control.js +1 -1
- package/dist/cjs/components/segmented-control.js.map +4 -4
- package/dist/cjs/components/select.js +1 -1
- package/dist/cjs/components/select.js.map +4 -4
- package/dist/cjs/components/separator.js +1 -1
- package/dist/cjs/components/separator.js.map +4 -4
- package/dist/cjs/components/sheet.d.ts.map +1 -1
- package/dist/cjs/components/sheet.js +1 -1
- package/dist/cjs/components/sheet.js.map +4 -4
- package/dist/cjs/components/shell.js +1 -1
- package/dist/cjs/components/shell.js.map +4 -4
- package/dist/cjs/components/sidebar.js +1 -1
- package/dist/cjs/components/sidebar.js.map +4 -4
- package/dist/cjs/components/skeleton.js +1 -1
- package/dist/cjs/components/skeleton.js.map +4 -4
- package/dist/cjs/components/slider.js +1 -1
- package/dist/cjs/components/slider.js.map +4 -4
- package/dist/cjs/components/spinner.js +1 -1
- package/dist/cjs/components/spinner.js.map +4 -4
- package/dist/cjs/components/strong.js +1 -1
- package/dist/cjs/components/strong.js.map +4 -4
- package/dist/cjs/components/switch.js +1 -1
- package/dist/cjs/components/switch.js.map +4 -4
- package/dist/cjs/components/tab-nav.js +1 -1
- package/dist/cjs/components/tab-nav.js.map +4 -4
- package/dist/cjs/components/table.js +1 -1
- package/dist/cjs/components/table.js.map +4 -4
- package/dist/cjs/components/tabs.js +1 -1
- package/dist/cjs/components/tabs.js.map +4 -4
- package/dist/cjs/components/text-area.js +1 -1
- package/dist/cjs/components/text-area.js.map +4 -4
- package/dist/cjs/components/text-field.js +2 -2
- package/dist/cjs/components/text-field.js.map +4 -4
- package/dist/cjs/components/text.js +1 -1
- package/dist/cjs/components/text.js.map +4 -4
- package/dist/cjs/components/theme-panel.js +3 -3
- package/dist/cjs/components/theme-panel.js.map +4 -4
- package/dist/cjs/components/theme.d.ts +3 -0
- package/dist/cjs/components/theme.d.ts.map +1 -1
- package/dist/cjs/components/theme.js +1 -1
- package/dist/cjs/components/theme.js.map +4 -4
- package/dist/cjs/components/theme.props.d.ts +15 -1
- package/dist/cjs/components/theme.props.d.ts.map +1 -1
- package/dist/cjs/components/theme.props.js +1 -1
- package/dist/cjs/components/theme.props.js.map +2 -2
- package/dist/cjs/components/toggle-button.js +2 -2
- package/dist/cjs/components/toggle-button.js.map +4 -4
- package/dist/cjs/components/toggle-icon-button.js +3 -3
- package/dist/cjs/components/toggle-icon-button.js.map +4 -4
- package/dist/cjs/components/toolbar.js +1 -1
- package/dist/cjs/components/toolbar.js.map +4 -4
- package/dist/cjs/components/tooltip.js +1 -1
- package/dist/cjs/components/tooltip.js.map +4 -4
- package/dist/cjs/components/user-card.js +1 -1
- package/dist/cjs/components/user-card.js.map +4 -4
- package/dist/cjs/helpers/compile-prop-defs.d.ts +49 -0
- package/dist/cjs/helpers/compile-prop-defs.d.ts.map +1 -0
- package/dist/cjs/helpers/compile-prop-defs.js +2 -0
- package/dist/cjs/helpers/compile-prop-defs.js.map +7 -0
- package/dist/cjs/helpers/extract-props.d.ts.map +1 -1
- package/dist/cjs/helpers/extract-props.js +1 -1
- package/dist/cjs/helpers/extract-props.js.map +4 -4
- package/dist/cjs/helpers/font-config.d.ts +84 -77
- package/dist/cjs/helpers/font-config.d.ts.map +1 -1
- package/dist/cjs/helpers/font-config.js +5 -2
- package/dist/cjs/helpers/font-config.js.map +3 -3
- package/dist/cjs/helpers/get-margin-styles.d.ts.map +1 -1
- package/dist/cjs/helpers/get-margin-styles.js +1 -1
- package/dist/cjs/helpers/get-margin-styles.js.map +3 -3
- package/dist/cjs/helpers/get-responsive-styles.d.ts +5 -2
- package/dist/cjs/helpers/get-responsive-styles.d.ts.map +1 -1
- package/dist/cjs/helpers/get-responsive-styles.js +1 -1
- package/dist/cjs/helpers/get-responsive-styles.js.map +3 -3
- package/dist/cjs/helpers/index.js +5 -2
- package/dist/cjs/helpers/index.js.map +4 -4
- package/dist/cjs/helpers/use-deprecation-warning.d.ts +10 -0
- package/dist/cjs/helpers/use-deprecation-warning.d.ts.map +1 -0
- package/dist/cjs/helpers/use-deprecation-warning.js +2 -0
- package/dist/cjs/helpers/use-deprecation-warning.js.map +7 -0
- package/dist/cjs/hooks/index.js +2 -2
- package/dist/cjs/hooks/index.js.map +3 -3
- package/dist/cjs/hooks/use-body-pointer-events-cleanup.d.ts.map +1 -1
- package/dist/cjs/hooks/use-body-pointer-events-cleanup.js +1 -1
- package/dist/cjs/hooks/use-body-pointer-events-cleanup.js.map +3 -3
- package/dist/cjs/hooks/use-breakpoint.d.ts +7 -3
- package/dist/cjs/hooks/use-breakpoint.d.ts.map +1 -1
- package/dist/cjs/hooks/use-breakpoint.js +1 -1
- package/dist/cjs/hooks/use-breakpoint.js.map +3 -3
- package/dist/cjs/hooks/use-prop-synced-state.d.ts +14 -0
- package/dist/cjs/hooks/use-prop-synced-state.d.ts.map +1 -0
- package/dist/cjs/hooks/use-prop-synced-state.js +2 -0
- package/dist/cjs/hooks/use-prop-synced-state.js.map +7 -0
- package/dist/cjs/index.js +5 -5
- package/dist/cjs/index.js.map +4 -4
- package/dist/cjs/props/index.js +1 -1
- package/dist/cjs/props/index.js.map +2 -2
- package/dist/esm/{chunk-WYA4IRU6.js → chunk-25WZA7ZU.js} +2 -2
- package/dist/esm/{chunk-ARGX2ZZK.js → chunk-2FYJTSOP.js} +2 -2
- package/dist/esm/chunk-2UPAYDKR.js +2 -0
- package/dist/esm/chunk-2UPAYDKR.js.map +7 -0
- package/dist/esm/chunk-374ZYJUP.js +2 -0
- package/dist/esm/chunk-374ZYJUP.js.map +7 -0
- package/dist/esm/{chunk-K3R4AH3E.js → chunk-3MWWP4MW.js} +2 -2
- package/dist/esm/{chunk-HQ35PM4O.js → chunk-43A5GUSI.js} +2 -2
- package/dist/esm/{chunk-Z5DQ6FSA.js → chunk-4AQTUBVP.js} +2 -2
- package/dist/esm/{chunk-QLIELX4I.js → chunk-4ME6O27S.js} +2 -2
- package/dist/esm/chunk-4XJY6FIK.js +2 -0
- package/dist/esm/chunk-4XJY6FIK.js.map +7 -0
- package/dist/esm/{chunk-JQOFJNCV.js → chunk-4YFJWXL2.js} +2 -2
- package/dist/esm/chunk-5TXQLK4G.js +2 -0
- package/dist/esm/chunk-5TXQLK4G.js.map +7 -0
- package/dist/esm/{chunk-IPJUHVM6.js → chunk-666GX7O5.js} +2 -2
- package/dist/esm/chunk-6FLLFCBU.js +2 -0
- package/dist/esm/chunk-6FLLFCBU.js.map +7 -0
- package/dist/esm/{chunk-7CBAHIVG.js → chunk-6IGTK4JE.js} +2 -2
- package/dist/esm/chunk-6XGZPIUT.js +2 -0
- package/dist/esm/{chunk-T27QHMW7.js.map → chunk-6XGZPIUT.js.map} +2 -2
- package/dist/esm/{chunk-DJBPM5QK.js → chunk-7FC7HF76.js} +2 -2
- package/dist/esm/{chunk-SVLY6B5F.js → chunk-7QDTSBJF.js} +2 -2
- package/dist/esm/{chunk-7MURQ6CR.js → chunk-A2RZGGMY.js} +2 -2
- package/dist/esm/{chunk-VF5TRT3H.js → chunk-AU3D6F42.js} +2 -2
- package/dist/esm/chunk-AX5S56DS.js +2 -0
- package/dist/esm/chunk-AX5S56DS.js.map +7 -0
- package/dist/esm/{chunk-DK5MHD6I.js → chunk-B24BDVG2.js} +2 -2
- package/dist/esm/{chunk-BJTJUIYJ.js → chunk-CRWYCLTE.js} +2 -2
- package/dist/esm/{chunk-OHJVFZMH.js → chunk-CSKZZOI2.js} +2 -2
- package/dist/esm/{chunk-4N5JU7XQ.js → chunk-CVWCKOHO.js} +2 -2
- package/dist/esm/chunk-CWRNW44F.js +2 -0
- package/dist/esm/chunk-CWRNW44F.js.map +7 -0
- package/dist/esm/{chunk-ADYTQCZX.js → chunk-D6B7IMZU.js} +2 -2
- package/dist/esm/{chunk-U7AASKZI.js → chunk-DNHUQLXO.js} +2 -2
- package/dist/esm/{chunk-USGTBZ43.js → chunk-E67CIG6A.js} +2 -2
- package/dist/esm/{chunk-YUZPSUJE.js → chunk-F7IYL2VW.js} +2 -2
- package/dist/esm/{chunk-FVCWNSRU.js → chunk-FHOCUZDR.js} +2 -2
- package/dist/esm/{chunk-APRBRAOT.js → chunk-FXUUI6Z2.js} +2 -2
- package/dist/esm/{chunk-WNSPLWRV.js → chunk-GJSGKE7B.js} +2 -2
- package/dist/esm/{chunk-OGOOZLUD.js → chunk-GLERJXVS.js} +2 -2
- package/dist/esm/{chunk-6VGPTAHM.js → chunk-GWXVETMF.js} +2 -2
- package/dist/esm/{chunk-ES7MK2MM.js → chunk-GYBLXQ4R.js} +2 -2
- package/dist/esm/{chunk-4OBMRJHC.js → chunk-H7ST535H.js} +2 -2
- package/dist/esm/{chunk-QLZ5XAW6.js → chunk-HF5WY5YE.js} +2 -2
- package/dist/esm/{chunk-RDP4UQ42.js → chunk-IEWCQU2S.js} +2 -2
- package/dist/esm/{chunk-XLOHPURR.js → chunk-IHK3H2OM.js} +2 -2
- package/dist/esm/{chunk-EJWAAFCI.js → chunk-IKSN4RNB.js} +2 -2
- package/dist/esm/{chunk-3F6I7YOR.js → chunk-JDGJSNWT.js} +2 -2
- package/dist/esm/chunk-JUY7CBSL.js +2 -0
- package/dist/esm/chunk-JUY7CBSL.js.map +7 -0
- package/dist/esm/{chunk-ZSEFZM5H.js → chunk-K6QZMNCD.js} +2 -2
- package/dist/esm/chunk-KKBP2CRH.js +2 -0
- package/dist/esm/chunk-KKBP2CRH.js.map +7 -0
- package/dist/esm/{chunk-ZHYOJNWV.js → chunk-LKAK5GXF.js} +2 -2
- package/dist/esm/{chunk-GWYFT3EI.js → chunk-M24UXMOQ.js} +2 -2
- package/dist/esm/{chunk-JCYI4NTV.js → chunk-MBCBP73P.js} +2 -2
- package/dist/esm/{chunk-UYNYUR7O.js → chunk-MBE2YSBU.js} +2 -2
- package/dist/esm/chunk-MHANZINI.js +2 -0
- package/dist/esm/chunk-MHANZINI.js.map +7 -0
- package/dist/esm/chunk-MK2R6DAU.js +2 -0
- package/dist/esm/chunk-MK2R6DAU.js.map +7 -0
- package/dist/esm/{chunk-DNI4QRXQ.js → chunk-MOR3NSXQ.js} +2 -2
- package/dist/esm/{chunk-H2G446JG.js → chunk-NMKPFUNP.js} +2 -2
- package/dist/esm/{chunk-TEULZKBM.js → chunk-OGXZHAQL.js} +2 -2
- package/dist/esm/{chunk-M3ZYJANH.js → chunk-OSRJRBKP.js} +2 -2
- package/dist/esm/{chunk-2AEELIG6.js → chunk-OWAUCLRT.js} +2 -2
- package/dist/esm/{chunk-7CXVHFMQ.js → chunk-P7HYVJSU.js} +2 -2
- package/dist/esm/{chunk-4532RT2B.js → chunk-P7IAHW4V.js} +2 -2
- package/dist/esm/{chunk-GLC4QJBF.js → chunk-PLWXTEVE.js} +2 -2
- package/dist/esm/{chunk-SGU4HUHF.js → chunk-PTLFMWCN.js} +2 -2
- package/dist/esm/{chunk-QOWA5LK5.js → chunk-QEOAXJLN.js} +2 -2
- package/dist/esm/{chunk-XHQGMOXV.js → chunk-RMKXWYOV.js} +2 -2
- package/dist/esm/chunk-S2HA3W3V.js +2 -0
- package/dist/esm/chunk-S2HA3W3V.js.map +7 -0
- package/dist/esm/{chunk-WZCZHCVE.js → chunk-S56YSRHP.js} +2 -2
- package/dist/esm/{chunk-E6IWYD3U.js → chunk-S5C5YRBS.js} +2 -2
- package/dist/esm/{chunk-A24PYRVV.js → chunk-SO67YEVQ.js} +2 -2
- package/dist/esm/chunk-TLWTUKKL.js +2 -0
- package/dist/esm/chunk-TLWTUKKL.js.map +7 -0
- package/dist/esm/{chunk-RQ2ZPMHJ.js → chunk-TOLLPRMM.js} +2 -2
- package/dist/esm/{chunk-HACQF6F4.js → chunk-TOOSHJOA.js} +2 -2
- package/dist/esm/{chunk-42HFGCHX.js → chunk-UGD7Z3L4.js} +2 -2
- package/dist/esm/chunk-VA5A4MHU.js +6 -0
- package/dist/esm/chunk-VA5A4MHU.js.map +7 -0
- package/dist/esm/{chunk-DXI5P5O4.js → chunk-VX6ARMWP.js} +2 -2
- package/dist/esm/{chunk-25U7DENY.js → chunk-W7N7V5YD.js} +2 -2
- package/dist/esm/chunk-WAURCNAS.js +2 -0
- package/dist/esm/chunk-WAURCNAS.js.map +7 -0
- package/dist/esm/chunk-WFMYNZXZ.js +2 -0
- package/dist/esm/chunk-WFMYNZXZ.js.map +7 -0
- package/dist/esm/{chunk-6FAICIYS.js → chunk-XMRIRFM7.js} +2 -2
- package/dist/esm/chunk-YEB3H7QN.js +2 -0
- package/dist/esm/chunk-YEB3H7QN.js.map +7 -0
- package/dist/esm/chunk-YUP6EICB.js +2 -0
- package/dist/esm/chunk-YUP6EICB.js.map +7 -0
- package/dist/esm/chunk-YV2KYHGR.js +2 -0
- package/dist/esm/chunk-YV2KYHGR.js.map +7 -0
- package/dist/esm/{chunk-UIEUZLZZ.js → chunk-ZY6SQWHT.js} +2 -2
- package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
- package/dist/esm/components/_internal/base-button.js +1 -1
- package/dist/esm/components/_internal/dropdown-menu-drill-down.js +1 -1
- package/dist/esm/components/_internal/shell-bottom.js +1 -1
- package/dist/esm/components/_internal/shell-handles.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-handles.js +1 -1
- package/dist/esm/components/_internal/shell-inspector.js +1 -1
- package/dist/esm/components/_internal/shell-sidebar.js +1 -1
- package/dist/esm/components/accordion.d.ts.map +1 -1
- package/dist/esm/components/accordion.js +1 -1
- package/dist/esm/components/alert-dialog.d.ts.map +1 -1
- package/dist/esm/components/alert-dialog.js +1 -1
- package/dist/esm/components/avatar.js +1 -1
- package/dist/esm/components/badge.d.ts.map +1 -1
- package/dist/esm/components/badge.js +1 -1
- package/dist/esm/components/blockquote.js +1 -1
- package/dist/esm/components/box.js +1 -1
- package/dist/esm/components/button.js +1 -1
- package/dist/esm/components/callout.js +1 -1
- package/dist/esm/components/card.js +1 -1
- package/dist/esm/components/chatbar.js +1 -1
- package/dist/esm/components/checkbox-cards.js +1 -1
- package/dist/esm/components/checkbox-group.js +1 -1
- package/dist/esm/components/checkbox.js +1 -1
- package/dist/esm/components/code.js +1 -1
- package/dist/esm/components/combobox.js +1 -1
- package/dist/esm/components/container.js +1 -1
- package/dist/esm/components/context-menu.d.ts.map +1 -1
- package/dist/esm/components/context-menu.js +1 -1
- package/dist/esm/components/data-list.js +1 -1
- package/dist/esm/components/dialog.d.ts.map +1 -1
- package/dist/esm/components/dialog.js +1 -1
- package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
- package/dist/esm/components/dropdown-menu.js +1 -1
- package/dist/esm/components/em.js +1 -1
- package/dist/esm/components/flex.js +1 -1
- package/dist/esm/components/grid.js +1 -1
- package/dist/esm/components/heading.js +1 -1
- package/dist/esm/components/hover-card.js +1 -1
- package/dist/esm/components/icon-button.js +1 -1
- package/dist/esm/components/image.js +1 -1
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/inset.js +1 -1
- package/dist/esm/components/kbd.js +1 -1
- package/dist/esm/components/link.js +1 -1
- package/dist/esm/components/navbar.js +1 -1
- package/dist/esm/components/popover.js +1 -1
- package/dist/esm/components/progress.js +1 -1
- package/dist/esm/components/quote.js +1 -1
- package/dist/esm/components/radio-cards.js +1 -1
- package/dist/esm/components/radio-group.js +1 -1
- package/dist/esm/components/radio.js +1 -1
- package/dist/esm/components/schemas/base-button.schema.d.ts +2 -2
- package/dist/esm/components/schemas/button.schema.d.ts +2 -2
- package/dist/esm/components/schemas/icon-button.schema.d.ts +4 -4
- package/dist/esm/components/schemas/shell.schema.d.ts +2 -2
- package/dist/esm/components/schemas/toggle-button.schema.d.ts +6 -6
- package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts +8 -8
- package/dist/esm/components/scroll-area.js +1 -1
- package/dist/esm/components/section.js +1 -1
- package/dist/esm/components/segmented-control.js +1 -1
- package/dist/esm/components/select.js +1 -1
- package/dist/esm/components/separator.js +1 -1
- package/dist/esm/components/sheet.d.ts.map +1 -1
- package/dist/esm/components/sheet.js +1 -1
- package/dist/esm/components/shell.js +1 -1
- package/dist/esm/components/sidebar.js +1 -1
- package/dist/esm/components/skeleton.js +1 -1
- package/dist/esm/components/slider.js +1 -1
- package/dist/esm/components/spinner.js +1 -1
- package/dist/esm/components/strong.js +1 -1
- package/dist/esm/components/switch.js +1 -1
- package/dist/esm/components/tab-nav.js +1 -1
- package/dist/esm/components/table.js +1 -1
- package/dist/esm/components/tabs.js +1 -1
- package/dist/esm/components/text-area.js +1 -1
- package/dist/esm/components/text-field.js +1 -1
- package/dist/esm/components/text.js +1 -1
- package/dist/esm/components/theme-panel.js +1 -1
- package/dist/esm/components/theme.d.ts +3 -0
- package/dist/esm/components/theme.d.ts.map +1 -1
- package/dist/esm/components/theme.js +1 -1
- package/dist/esm/components/theme.props.d.ts +15 -1
- package/dist/esm/components/theme.props.d.ts.map +1 -1
- package/dist/esm/components/theme.props.js +1 -1
- package/dist/esm/components/toggle-button.js +1 -1
- package/dist/esm/components/toggle-icon-button.js +1 -1
- package/dist/esm/components/toolbar.js +1 -1
- package/dist/esm/components/tooltip.js +1 -1
- package/dist/esm/components/user-card.js +1 -1
- package/dist/esm/helpers/compile-prop-defs.d.ts +49 -0
- package/dist/esm/helpers/compile-prop-defs.d.ts.map +1 -0
- package/dist/esm/helpers/compile-prop-defs.js +2 -0
- package/dist/esm/helpers/compile-prop-defs.js.map +7 -0
- package/dist/esm/helpers/extract-props.d.ts.map +1 -1
- package/dist/esm/helpers/extract-props.js +1 -1
- package/dist/esm/helpers/font-config.d.ts +84 -77
- package/dist/esm/helpers/font-config.d.ts.map +1 -1
- package/dist/esm/helpers/font-config.js +1 -1
- package/dist/esm/helpers/get-margin-styles.d.ts.map +1 -1
- package/dist/esm/helpers/get-margin-styles.js +1 -1
- package/dist/esm/helpers/get-responsive-styles.d.ts +5 -2
- package/dist/esm/helpers/get-responsive-styles.d.ts.map +1 -1
- package/dist/esm/helpers/get-responsive-styles.js +1 -1
- package/dist/esm/helpers/index.js +1 -1
- package/dist/esm/helpers/use-deprecation-warning.d.ts +10 -0
- package/dist/esm/helpers/use-deprecation-warning.d.ts.map +1 -0
- package/dist/esm/helpers/use-deprecation-warning.js +2 -0
- package/dist/esm/helpers/use-deprecation-warning.js.map +7 -0
- package/dist/esm/hooks/index.js +1 -1
- package/dist/esm/hooks/use-body-pointer-events-cleanup.d.ts.map +1 -1
- package/dist/esm/hooks/use-body-pointer-events-cleanup.js +1 -1
- package/dist/esm/hooks/use-breakpoint.d.ts +7 -3
- package/dist/esm/hooks/use-breakpoint.d.ts.map +1 -1
- package/dist/esm/hooks/use-breakpoint.js +1 -1
- package/dist/esm/hooks/use-prop-synced-state.d.ts +14 -0
- package/dist/esm/hooks/use-prop-synced-state.d.ts.map +1 -0
- package/dist/esm/hooks/use-prop-synced-state.js +2 -0
- package/dist/esm/hooks/use-prop-synced-state.js.map +7 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/props/index.js +1 -1
- package/fonts.css +8 -0
- package/package.json +18 -7
- package/schemas/base-button.json +0 -1
- package/schemas/button.json +0 -1
- package/schemas/icon-button.json +0 -1
- package/schemas/index.json +0 -6
- package/schemas/toggle-button.json +0 -1
- package/schemas/toggle-icon-button.json +0 -1
- package/src/components/_internal/base-button.css +2 -2
- package/src/components/_internal/base-button.tsx +3 -58
- package/src/components/_internal/base-card.css +19 -4
- package/src/components/_internal/base-checkbox.css +2 -2
- package/src/components/_internal/base-dialog.css +7 -0
- package/src/components/_internal/base-menu.css +7 -0
- package/src/components/_internal/base-radio.css +2 -2
- package/src/components/_internal/base-sidebar.css +7 -0
- package/src/components/_internal/base-tab-list.css +2 -2
- package/src/components/_internal/shell-handles.tsx +27 -0
- package/src/components/accordion.css +6 -6
- package/src/components/accordion.tsx +2 -8
- package/src/components/alert-dialog.tsx +22 -20
- package/src/components/avatar.css +2 -2
- package/src/components/badge.css +2 -2
- package/src/components/badge.tsx +2 -8
- package/src/components/callout.css +2 -2
- package/src/components/chatbar.css +1 -1
- package/src/components/context-menu.tsx +2 -8
- package/src/components/dialog.tsx +22 -20
- package/src/components/dropdown-menu.tsx +2 -8
- package/src/components/heading.css +10 -3
- package/src/components/popover.css +7 -0
- package/src/components/progress.css +21 -8
- package/src/components/segmented-control.css +2 -2
- package/src/components/select.css +9 -2
- package/src/components/sheet.tsx +31 -28
- package/src/components/shell.css +106 -69
- package/src/components/slider.css +2 -2
- package/src/components/switch.css +2 -2
- package/src/components/table.css +7 -0
- package/src/components/text-area.css +2 -2
- package/src/components/text-field.css +2 -2
- package/src/components/text.css +10 -3
- package/src/components/theme.props.tsx +13 -1
- package/src/components/theme.tsx +53 -34
- package/src/helpers/compile-prop-defs.ts +121 -0
- package/src/helpers/extract-props.ts +104 -83
- package/src/helpers/font-config.ts +130 -148
- package/src/helpers/get-margin-styles.ts +38 -71
- package/src/helpers/get-responsive-styles.ts +37 -38
- package/src/helpers/use-deprecation-warning.ts +26 -0
- package/src/hooks/use-body-pointer-events-cleanup.ts +36 -6
- package/src/hooks/use-breakpoint.ts +94 -53
- package/src/hooks/use-prop-synced-state.ts +24 -0
- package/src/styles/fonts.css +24 -29
- package/src/styles/index.css +0 -1
- package/src/styles/tokens/base.css +1 -0
- package/src/styles/tokens/blur.css +28 -0
- package/src/styles/tokens/color.css +3 -3
- package/src/styles/tokens/constants.css +11 -0
- package/src/styles/tokens/font-family.css +263 -0
- package/src/styles/tokens/typography.css +2 -216
- package/styles.css +8776 -8727
- package/tokens/base.css +50 -30
- package/tokens.css +53 -30
- package/dist/esm/chunk-2SS3FA3N.js +0 -2
- package/dist/esm/chunk-2SS3FA3N.js.map +0 -7
- package/dist/esm/chunk-5U2Q23K3.js +0 -2
- package/dist/esm/chunk-5U2Q23K3.js.map +0 -7
- package/dist/esm/chunk-6ELPYR73.js +0 -2
- package/dist/esm/chunk-6ELPYR73.js.map +0 -7
- package/dist/esm/chunk-DZ4H2KTP.js +0 -2
- package/dist/esm/chunk-DZ4H2KTP.js.map +0 -7
- package/dist/esm/chunk-H4MMVAGQ.js +0 -2
- package/dist/esm/chunk-H4MMVAGQ.js.map +0 -7
- package/dist/esm/chunk-ITRVKLYU.js +0 -2
- package/dist/esm/chunk-ITRVKLYU.js.map +0 -7
- package/dist/esm/chunk-KCAFSCOV.js +0 -2
- package/dist/esm/chunk-KCAFSCOV.js.map +0 -7
- package/dist/esm/chunk-KMPBTEZH.js +0 -2
- package/dist/esm/chunk-KMPBTEZH.js.map +0 -7
- package/dist/esm/chunk-LN5SP46K.js +0 -2
- package/dist/esm/chunk-LN5SP46K.js.map +0 -7
- package/dist/esm/chunk-OKJNS7Z7.js +0 -2
- package/dist/esm/chunk-OKJNS7Z7.js.map +0 -7
- package/dist/esm/chunk-Q73Y5O5P.js +0 -2
- package/dist/esm/chunk-Q73Y5O5P.js.map +0 -7
- package/dist/esm/chunk-Q7P6BTVU.js +0 -3
- package/dist/esm/chunk-Q7P6BTVU.js.map +0 -7
- package/dist/esm/chunk-T27QHMW7.js +0 -2
- package/dist/esm/chunk-UUX42HBM.js +0 -2
- package/dist/esm/chunk-UUX42HBM.js.map +0 -7
- package/dist/esm/chunk-X7BD5FLE.js +0 -2
- package/dist/esm/chunk-X7BD5FLE.js.map +0 -7
- package/dist/esm/chunk-YEA646GM.js +0 -2
- package/dist/esm/chunk-YEA646GM.js.map +0 -7
- package/dist/esm/chunk-ZMEXIPWM.js +0 -2
- package/dist/esm/chunk-ZMEXIPWM.js.map +0 -7
- /package/dist/esm/{chunk-WYA4IRU6.js.map → chunk-25WZA7ZU.js.map} +0 -0
- /package/dist/esm/{chunk-ARGX2ZZK.js.map → chunk-2FYJTSOP.js.map} +0 -0
- /package/dist/esm/{chunk-K3R4AH3E.js.map → chunk-3MWWP4MW.js.map} +0 -0
- /package/dist/esm/{chunk-HQ35PM4O.js.map → chunk-43A5GUSI.js.map} +0 -0
- /package/dist/esm/{chunk-Z5DQ6FSA.js.map → chunk-4AQTUBVP.js.map} +0 -0
- /package/dist/esm/{chunk-QLIELX4I.js.map → chunk-4ME6O27S.js.map} +0 -0
- /package/dist/esm/{chunk-JQOFJNCV.js.map → chunk-4YFJWXL2.js.map} +0 -0
- /package/dist/esm/{chunk-IPJUHVM6.js.map → chunk-666GX7O5.js.map} +0 -0
- /package/dist/esm/{chunk-7CBAHIVG.js.map → chunk-6IGTK4JE.js.map} +0 -0
- /package/dist/esm/{chunk-DJBPM5QK.js.map → chunk-7FC7HF76.js.map} +0 -0
- /package/dist/esm/{chunk-SVLY6B5F.js.map → chunk-7QDTSBJF.js.map} +0 -0
- /package/dist/esm/{chunk-7MURQ6CR.js.map → chunk-A2RZGGMY.js.map} +0 -0
- /package/dist/esm/{chunk-VF5TRT3H.js.map → chunk-AU3D6F42.js.map} +0 -0
- /package/dist/esm/{chunk-DK5MHD6I.js.map → chunk-B24BDVG2.js.map} +0 -0
- /package/dist/esm/{chunk-BJTJUIYJ.js.map → chunk-CRWYCLTE.js.map} +0 -0
- /package/dist/esm/{chunk-OHJVFZMH.js.map → chunk-CSKZZOI2.js.map} +0 -0
- /package/dist/esm/{chunk-4N5JU7XQ.js.map → chunk-CVWCKOHO.js.map} +0 -0
- /package/dist/esm/{chunk-ADYTQCZX.js.map → chunk-D6B7IMZU.js.map} +0 -0
- /package/dist/esm/{chunk-U7AASKZI.js.map → chunk-DNHUQLXO.js.map} +0 -0
- /package/dist/esm/{chunk-USGTBZ43.js.map → chunk-E67CIG6A.js.map} +0 -0
- /package/dist/esm/{chunk-YUZPSUJE.js.map → chunk-F7IYL2VW.js.map} +0 -0
- /package/dist/esm/{chunk-FVCWNSRU.js.map → chunk-FHOCUZDR.js.map} +0 -0
- /package/dist/esm/{chunk-APRBRAOT.js.map → chunk-FXUUI6Z2.js.map} +0 -0
- /package/dist/esm/{chunk-WNSPLWRV.js.map → chunk-GJSGKE7B.js.map} +0 -0
- /package/dist/esm/{chunk-OGOOZLUD.js.map → chunk-GLERJXVS.js.map} +0 -0
- /package/dist/esm/{chunk-6VGPTAHM.js.map → chunk-GWXVETMF.js.map} +0 -0
- /package/dist/esm/{chunk-ES7MK2MM.js.map → chunk-GYBLXQ4R.js.map} +0 -0
- /package/dist/esm/{chunk-4OBMRJHC.js.map → chunk-H7ST535H.js.map} +0 -0
- /package/dist/esm/{chunk-QLZ5XAW6.js.map → chunk-HF5WY5YE.js.map} +0 -0
- /package/dist/esm/{chunk-RDP4UQ42.js.map → chunk-IEWCQU2S.js.map} +0 -0
- /package/dist/esm/{chunk-XLOHPURR.js.map → chunk-IHK3H2OM.js.map} +0 -0
- /package/dist/esm/{chunk-EJWAAFCI.js.map → chunk-IKSN4RNB.js.map} +0 -0
- /package/dist/esm/{chunk-3F6I7YOR.js.map → chunk-JDGJSNWT.js.map} +0 -0
- /package/dist/esm/{chunk-ZSEFZM5H.js.map → chunk-K6QZMNCD.js.map} +0 -0
- /package/dist/esm/{chunk-ZHYOJNWV.js.map → chunk-LKAK5GXF.js.map} +0 -0
- /package/dist/esm/{chunk-GWYFT3EI.js.map → chunk-M24UXMOQ.js.map} +0 -0
- /package/dist/esm/{chunk-JCYI4NTV.js.map → chunk-MBCBP73P.js.map} +0 -0
- /package/dist/esm/{chunk-UYNYUR7O.js.map → chunk-MBE2YSBU.js.map} +0 -0
- /package/dist/esm/{chunk-DNI4QRXQ.js.map → chunk-MOR3NSXQ.js.map} +0 -0
- /package/dist/esm/{chunk-H2G446JG.js.map → chunk-NMKPFUNP.js.map} +0 -0
- /package/dist/esm/{chunk-TEULZKBM.js.map → chunk-OGXZHAQL.js.map} +0 -0
- /package/dist/esm/{chunk-M3ZYJANH.js.map → chunk-OSRJRBKP.js.map} +0 -0
- /package/dist/esm/{chunk-2AEELIG6.js.map → chunk-OWAUCLRT.js.map} +0 -0
- /package/dist/esm/{chunk-7CXVHFMQ.js.map → chunk-P7HYVJSU.js.map} +0 -0
- /package/dist/esm/{chunk-4532RT2B.js.map → chunk-P7IAHW4V.js.map} +0 -0
- /package/dist/esm/{chunk-GLC4QJBF.js.map → chunk-PLWXTEVE.js.map} +0 -0
- /package/dist/esm/{chunk-SGU4HUHF.js.map → chunk-PTLFMWCN.js.map} +0 -0
- /package/dist/esm/{chunk-QOWA5LK5.js.map → chunk-QEOAXJLN.js.map} +0 -0
- /package/dist/esm/{chunk-XHQGMOXV.js.map → chunk-RMKXWYOV.js.map} +0 -0
- /package/dist/esm/{chunk-WZCZHCVE.js.map → chunk-S56YSRHP.js.map} +0 -0
- /package/dist/esm/{chunk-E6IWYD3U.js.map → chunk-S5C5YRBS.js.map} +0 -0
- /package/dist/esm/{chunk-A24PYRVV.js.map → chunk-SO67YEVQ.js.map} +0 -0
- /package/dist/esm/{chunk-RQ2ZPMHJ.js.map → chunk-TOLLPRMM.js.map} +0 -0
- /package/dist/esm/{chunk-HACQF6F4.js.map → chunk-TOOSHJOA.js.map} +0 -0
- /package/dist/esm/{chunk-42HFGCHX.js.map → chunk-UGD7Z3L4.js.map} +0 -0
- /package/dist/esm/{chunk-DXI5P5O4.js.map → chunk-VX6ARMWP.js.map} +0 -0
- /package/dist/esm/{chunk-25U7DENY.js.map → chunk-W7N7V5YD.js.map} +0 -0
- /package/dist/esm/{chunk-6FAICIYS.js.map → chunk-XMRIRFM7.js.map} +0 -0
- /package/dist/esm/{chunk-UIEUZLZZ.js.map → chunk-ZY6SQWHT.js.map} +0 -0
package/package.json
CHANGED
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@womp/kookie-ui",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "Kookie UI v1: a React component library with design tokens, flexible theming, a full layout shell, and comprehensive documentation.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
7
7
|
"ui",
|
|
8
8
|
"components",
|
|
9
9
|
"design-system",
|
|
10
10
|
"themes",
|
|
11
|
-
"radix"
|
|
11
|
+
"radix",
|
|
12
|
+
"kookie-ui",
|
|
13
|
+
"kookie-ui-v1",
|
|
14
|
+
"womp"
|
|
12
15
|
],
|
|
13
|
-
"author":
|
|
16
|
+
"author": {
|
|
17
|
+
"name": "Kushagra Dhawan",
|
|
18
|
+
"url": "https://kushagradhawan.com"
|
|
19
|
+
},
|
|
20
|
+
"copyright": "Copyright (c) 2024-2026 Womp 3D Inc. Sole author: Kushagra Dhawan.",
|
|
14
21
|
"license": "MIT",
|
|
15
22
|
"engines": {
|
|
16
23
|
"node": ">=16"
|
|
@@ -90,7 +97,8 @@
|
|
|
90
97
|
"layout/**",
|
|
91
98
|
"*.css",
|
|
92
99
|
"postcss-breakpoints.cjs",
|
|
93
|
-
"postcss-whitespace.cjs"
|
|
100
|
+
"postcss-whitespace.cjs",
|
|
101
|
+
"AUTHORS"
|
|
94
102
|
],
|
|
95
103
|
"scripts": {
|
|
96
104
|
"build": "pnpm clean:dist && pnpm build:js && pnpm build:schemas && pnpm build:css",
|
|
@@ -101,8 +109,9 @@
|
|
|
101
109
|
"build:js:cjs:types": "tsc --outdir dist/cjs",
|
|
102
110
|
"build:js:esm": "node scripts/esbuild-esm.js",
|
|
103
111
|
"build:js:esm:types": "tsc --outdir dist/esm",
|
|
104
|
-
"build:css": "pnpm build:css:index && pnpm build:css:tokens && pnpm build:css:components && pnpm build:css:utilities && pnpm build:css:layout",
|
|
112
|
+
"build:css": "pnpm build:css:index && pnpm build:css:fonts && pnpm build:css:tokens && pnpm build:css:components && pnpm build:css:utilities && pnpm build:css:layout",
|
|
105
113
|
"build:css:index": "postcss src/styles/index.css -o styles.css",
|
|
114
|
+
"build:css:fonts": "postcss src/styles/fonts.css -o fonts.css",
|
|
106
115
|
"build:css:components": "postcss src/components/index.css -o components.css",
|
|
107
116
|
"build:css:utilities": "postcss src/styles/utilities/index.css -o utilities.css",
|
|
108
117
|
"build:css:tokens": "pnpm build:css:tokens:index && pnpm build:css:tokens:base && pnpm build:css:tokens:colors",
|
|
@@ -115,12 +124,13 @@
|
|
|
115
124
|
"build:css:layout:components": "postcss src/components/layout.css -o layout/components.css",
|
|
116
125
|
"build:css:layout:utilities": "postcss src/styles/utilities/layout.css -o layout/utilities.css",
|
|
117
126
|
"dev": "pnpm dev:js & pnpm dev:css",
|
|
127
|
+
"dev:css:fonts": "postcss src/styles/fonts.css -o fonts.css --watch",
|
|
118
128
|
"dev:js": "pnpm dev:js:cjs & pnpm dev:js:esm & pnpm dev:js:cjs:types & pnpm dev:js:esm:types",
|
|
119
129
|
"dev:js:cjs": "node scripts/esbuild-cjs.js watch=true",
|
|
120
130
|
"dev:js:cjs:types": "tsc --watch --incremental --outdir dist/cjs",
|
|
121
131
|
"dev:js:esm": "node scripts/esbuild-esm.js watch=true",
|
|
122
132
|
"dev:js:esm:types": "tsc --watch --incremental --outdir dist/esm >/dev/null",
|
|
123
|
-
"dev:css": "postcss src/styles/index.css -o styles.css --watch",
|
|
133
|
+
"dev:css": "postcss src/styles/index.css -o styles.css --watch & pnpm dev:css:fonts",
|
|
124
134
|
"lint": "pnpm lint:js && pnpm lint:css && pnpm lint:ts",
|
|
125
135
|
"lint:js": "eslint \"src/**/*.ts*\"",
|
|
126
136
|
"lint:ts": "tsc --noEmit",
|
|
@@ -131,6 +141,7 @@
|
|
|
131
141
|
"release:patch": "node scripts/release.js patch",
|
|
132
142
|
"release:minor": "node scripts/release.js minor",
|
|
133
143
|
"release:major": "node scripts/release.js major",
|
|
144
|
+
"bench": "vitest bench --run --config vitest.bench.config.ts",
|
|
134
145
|
"test": "vitest run",
|
|
135
146
|
"test:watch": "vitest",
|
|
136
147
|
"test:ui": "vitest --ui",
|
package/schemas/base-button.json
CHANGED
package/schemas/button.json
CHANGED
package/schemas/icon-button.json
CHANGED
package/schemas/index.json
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
"title": "Kookie UI Button Components",
|
|
4
4
|
"description": "Complete JSON Schema collection for all button components in Kookie UI",
|
|
5
5
|
"version": "1.0.0",
|
|
6
|
-
"generatedAt": "2026-08-21T16:33:37.040Z",
|
|
7
6
|
"source": "Zod schemas",
|
|
8
7
|
"components": {
|
|
9
8
|
"base-button": {
|
|
@@ -287,7 +286,6 @@
|
|
|
287
286
|
"title": "Base-button Component Props",
|
|
288
287
|
"description": "Props schema for the base-button component in Kookie UI",
|
|
289
288
|
"version": "1.0.0",
|
|
290
|
-
"generatedAt": "2026-08-21T16:33:37.029Z",
|
|
291
289
|
"source": "Zod schema"
|
|
292
290
|
},
|
|
293
291
|
"button": {
|
|
@@ -822,7 +820,6 @@
|
|
|
822
820
|
"title": "Button Component Props",
|
|
823
821
|
"description": "Props schema for the button component in Kookie UI",
|
|
824
822
|
"version": "1.0.0",
|
|
825
|
-
"generatedAt": "2026-08-21T16:33:37.036Z",
|
|
826
823
|
"source": "Zod schema"
|
|
827
824
|
},
|
|
828
825
|
"icon-button": {
|
|
@@ -1140,7 +1137,6 @@
|
|
|
1140
1137
|
"title": "Icon-button Component Props",
|
|
1141
1138
|
"description": "Props schema for the icon-button component in Kookie UI",
|
|
1142
1139
|
"version": "1.0.0",
|
|
1143
|
-
"generatedAt": "2026-08-21T16:33:37.037Z",
|
|
1144
1140
|
"source": "Zod schema"
|
|
1145
1141
|
},
|
|
1146
1142
|
"toggle-button": {
|
|
@@ -1683,7 +1679,6 @@
|
|
|
1683
1679
|
"title": "Toggle-button Component Props",
|
|
1684
1680
|
"description": "Props schema for the toggle-button component in Kookie UI",
|
|
1685
1681
|
"version": "1.0.0",
|
|
1686
|
-
"generatedAt": "2026-08-21T16:33:37.038Z",
|
|
1687
1682
|
"source": "Zod schema"
|
|
1688
1683
|
},
|
|
1689
1684
|
"toggle-icon-button": {
|
|
@@ -2009,7 +2004,6 @@
|
|
|
2009
2004
|
"title": "Toggle-icon-button Component Props",
|
|
2010
2005
|
"description": "Props schema for the toggle-icon-button component in Kookie UI",
|
|
2011
2006
|
"version": "1.0.0",
|
|
2012
|
-
"generatedAt": "2026-08-21T16:33:37.039Z",
|
|
2013
2007
|
"source": "Zod schema"
|
|
2014
2008
|
}
|
|
2015
2009
|
}
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
/* Theme-level translucent override */
|
|
67
67
|
:where([data-panel-background='translucent'], [data-material='translucent']) & {
|
|
68
68
|
backdrop-filter: var(--backdrop-filter-components);
|
|
69
|
-
--backdrop-filter-components:
|
|
69
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
/* Prevent backdrop-filter stacking with parent elements */
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
|
|
81
81
|
&:where([data-panel-background='translucent'], [data-material='translucent']) {
|
|
82
82
|
backdrop-filter: var(--backdrop-filter-components);
|
|
83
|
-
--backdrop-filter-components:
|
|
83
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
/* Forced colors support for high contrast mode */
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import classNames from 'classnames';
|
|
3
3
|
import { Slot } from 'radix-ui';
|
|
4
|
-
import { composeRefs } from 'radix-ui/internal';
|
|
5
4
|
|
|
6
5
|
import { baseButtonPropDefs } from './base-button.props.js';
|
|
7
6
|
import { Flex } from '../flex.js';
|
|
8
7
|
import { Spinner } from '../spinner.js';
|
|
9
8
|
import { VisuallyHidden } from '../visually-hidden.js';
|
|
10
9
|
import { extractProps } from '../../helpers/extract-props.js';
|
|
10
|
+
import { useDeprecatedPanelBackgroundWarning } from '../../helpers/use-deprecation-warning.js';
|
|
11
11
|
import { mapResponsiveProp, mapButtonSizeToSpinnerSize } from '../../helpers/map-prop-values.js';
|
|
12
12
|
import { marginPropDefs } from '../../props/margin.props.js';
|
|
13
13
|
|
|
@@ -80,66 +80,11 @@ const BaseButton = React.forwardRef<BaseButtonElement, BaseButtonProps>((props,
|
|
|
80
80
|
...baseButtonProps
|
|
81
81
|
} = extractProps(props, baseButtonPropDefs, marginPropDefs);
|
|
82
82
|
|
|
83
|
-
|
|
84
|
-
// This helps developers migrate to the new material prop
|
|
85
|
-
React.useEffect(() => {
|
|
86
|
-
if (props.panelBackground !== undefined) {
|
|
87
|
-
console.warn('Warning: The `panelBackground` prop is deprecated and will be removed in a future version. Use `material` prop instead.');
|
|
88
|
-
}
|
|
89
|
-
}, [props.panelBackground]);
|
|
83
|
+
useDeprecatedPanelBackgroundWarning(props.panelBackground);
|
|
90
84
|
|
|
91
85
|
// Material takes precedence over panelBackground for backward compatibility
|
|
92
86
|
const effectiveMaterial = material ?? panelBackground;
|
|
93
87
|
|
|
94
|
-
// Will-change cleanup for backdrop-filter performance optimization
|
|
95
|
-
// This prevents layout thrashing when using translucent materials
|
|
96
|
-
const buttonRef = React.useRef<HTMLElement>(null);
|
|
97
|
-
|
|
98
|
-
// Use a ref to track current material value to avoid stale closures in setTimeout
|
|
99
|
-
const materialRef = React.useRef(effectiveMaterial);
|
|
100
|
-
materialRef.current = effectiveMaterial;
|
|
101
|
-
|
|
102
|
-
React.useEffect(() => {
|
|
103
|
-
const button = buttonRef.current;
|
|
104
|
-
if (!button) return;
|
|
105
|
-
|
|
106
|
-
const hasTranslucentMaterial = effectiveMaterial === 'translucent';
|
|
107
|
-
|
|
108
|
-
if (hasTranslucentMaterial) {
|
|
109
|
-
// Add will-change when material is translucent to optimize rendering
|
|
110
|
-
button.style.setProperty('will-change', 'backdrop-filter');
|
|
111
|
-
|
|
112
|
-
// Track timeout for cleanup
|
|
113
|
-
let timeoutId: ReturnType<typeof setTimeout> | undefined;
|
|
114
|
-
|
|
115
|
-
// Clean up will-change after transition completes to prevent memory leaks
|
|
116
|
-
const cleanup = () => {
|
|
117
|
-
const transitionDuration = getComputedStyle(button).getPropertyValue('--duration-2') || '75ms';
|
|
118
|
-
const duration = parseInt(transitionDuration) || 75;
|
|
119
|
-
|
|
120
|
-
timeoutId = setTimeout(() => {
|
|
121
|
-
// Use ref to get current value, not stale closure value
|
|
122
|
-
if (button && materialRef.current !== 'translucent') {
|
|
123
|
-
button.style.setProperty('will-change', 'auto');
|
|
124
|
-
}
|
|
125
|
-
}, duration);
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
// Listen for material changes to clean up will-change property
|
|
129
|
-
const observer = new MutationObserver(cleanup);
|
|
130
|
-
observer.observe(button, { attributes: true, attributeFilter: ['data-material'] });
|
|
131
|
-
|
|
132
|
-
return () => {
|
|
133
|
-
if (timeoutId) clearTimeout(timeoutId);
|
|
134
|
-
observer.disconnect();
|
|
135
|
-
button.style.setProperty('will-change', 'auto');
|
|
136
|
-
};
|
|
137
|
-
} else {
|
|
138
|
-
// Remove will-change when material is not translucent
|
|
139
|
-
button.style.setProperty('will-change', 'auto');
|
|
140
|
-
}
|
|
141
|
-
}, [effectiveMaterial]);
|
|
142
|
-
|
|
143
88
|
// asChild takes precedence over as prop for Radix Slot integration
|
|
144
89
|
// When asChild is true, we use Slot.Root to merge props onto the child element
|
|
145
90
|
// When asChild is false, we render as the specified element (or button by default)
|
|
@@ -194,7 +139,7 @@ const BaseButton = React.forwardRef<BaseButtonElement, BaseButtonProps>((props,
|
|
|
194
139
|
data-flush={flush ? 'true' : undefined}
|
|
195
140
|
{...baseButtonProps}
|
|
196
141
|
{...accessibilityProps}
|
|
197
|
-
ref={
|
|
142
|
+
ref={forwardedRef}
|
|
198
143
|
className={classNames('rt-reset', 'rt-BaseButton', className)}
|
|
199
144
|
{...(shouldPassDisabled && { disabled })}
|
|
200
145
|
{...(isNativeButtonElement && !hasExplicitTypeAttribute ? { type: 'button' } : {})}
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
/* Backdrop-filter for ::before - applies to outline, soft, surface */
|
|
89
89
|
:where([data-panel-background='translucent'], [data-material='translucent']) &::before {
|
|
90
90
|
backdrop-filter: var(--backdrop-filter-panel);
|
|
91
|
-
--backdrop-filter-panel:
|
|
91
|
+
--backdrop-filter-panel: var(--backdrop-filter-panel-enabled);
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
&:where([data-material='solid'], [data-panel-background='solid'])::before {
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
|
|
98
98
|
&:where([data-material='translucent'], [data-panel-background='translucent'])::before {
|
|
99
99
|
backdrop-filter: var(--backdrop-filter-panel);
|
|
100
|
-
--backdrop-filter-panel:
|
|
100
|
+
--backdrop-filter-panel: var(--backdrop-filter-panel-enabled);
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
/* Interactive scale - applies to all interactive cards */
|
|
@@ -413,6 +413,21 @@
|
|
|
413
413
|
***************************************************************************************************/
|
|
414
414
|
|
|
415
415
|
.rt-BaseCard:where(.rt-variant-ghost) {
|
|
416
|
+
/*
|
|
417
|
+
* Ghost is the only card variant whose backdrop filter sits on the element
|
|
418
|
+
* rather than on ::before, which makes it — and only it — the backdrop root
|
|
419
|
+
* for its contents. A component nested here would re-blur an already blurred
|
|
420
|
+
* surface, so switch the component filter off for the subtree.
|
|
421
|
+
*
|
|
422
|
+
* The other variants deliberately do not do this: their filter is on
|
|
423
|
+
* ::before, so the card element is not a backdrop root and a nested
|
|
424
|
+
* component is still blurring the page itself. Measured over a textured
|
|
425
|
+
* background, dropping it there is a visible change (max 82/255 channel
|
|
426
|
+
* delta) rather than the imperceptible one it is on a real backdrop root
|
|
427
|
+
* (max 7/255).
|
|
428
|
+
*/
|
|
429
|
+
--backdrop-filter-components-enabled: none;
|
|
430
|
+
|
|
416
431
|
--card-border-width: 0px;
|
|
417
432
|
--v-bg-hover: var(--gray-3);
|
|
418
433
|
--v-bg-hover-a: var(--gray-a3);
|
|
@@ -454,7 +469,7 @@
|
|
|
454
469
|
/* Backdrop-filter handling for ghost - on element, not ::before */
|
|
455
470
|
:where([data-panel-background='translucent'], [data-material='translucent']) & {
|
|
456
471
|
backdrop-filter: var(--backdrop-filter-panel);
|
|
457
|
-
--backdrop-filter-panel:
|
|
472
|
+
--backdrop-filter-panel: var(--backdrop-filter-panel-enabled);
|
|
458
473
|
}
|
|
459
474
|
|
|
460
475
|
&:where([data-panel-background='solid'], [data-material='solid']) {
|
|
@@ -463,7 +478,7 @@
|
|
|
463
478
|
|
|
464
479
|
&:where([data-panel-background='translucent'], [data-material='translucent']) {
|
|
465
480
|
backdrop-filter: var(--backdrop-filter-panel);
|
|
466
|
-
--backdrop-filter-panel:
|
|
481
|
+
--backdrop-filter-panel: var(--backdrop-filter-panel-enabled);
|
|
467
482
|
}
|
|
468
483
|
|
|
469
484
|
/* Interactive states - background on element, not ::before */
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
/* Theme-level translucent override */
|
|
20
20
|
:where([data-panel-background='translucent'], [data-material='translucent']) & {
|
|
21
21
|
backdrop-filter: var(--backdrop-filter-components);
|
|
22
|
-
--backdrop-filter-components:
|
|
22
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
/* Prevent backdrop-filter stacking with parents */
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
|
|
34
34
|
&:where([data-panel-background='translucent'], [data-material='translucent']) {
|
|
35
35
|
backdrop-filter: var(--backdrop-filter-components);
|
|
36
|
-
--backdrop-filter-components:
|
|
36
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
|
|
@@ -37,6 +37,13 @@
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
.rt-BaseDialogContent {
|
|
40
|
+
/*
|
|
41
|
+
* This surface blurs its own backdrop, which makes it the backdrop root for
|
|
42
|
+
* everything inside it. A component nested here would re-blur an already
|
|
43
|
+
* blurred, already flat surface for the full cost of another blur pass, so
|
|
44
|
+
* switch the component filter off for the subtree. See tokens/blur.css.
|
|
45
|
+
*/
|
|
46
|
+
--backdrop-filter-components-enabled: none;
|
|
40
47
|
margin: auto;
|
|
41
48
|
width: 100%;
|
|
42
49
|
z-index: 1;
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
.rt-BaseMenuContent {
|
|
2
|
+
/*
|
|
3
|
+
* This surface blurs its own backdrop, which makes it the backdrop root for
|
|
4
|
+
* everything inside it. A component nested here would re-blur an already
|
|
5
|
+
* blurred, already flat surface for the full cost of another blur pass, so
|
|
6
|
+
* switch the component filter off for the subtree. See tokens/blur.css.
|
|
7
|
+
*/
|
|
8
|
+
--backdrop-filter-components-enabled: none;
|
|
2
9
|
--scrollarea-scrollbar-vertical-margin-top: var(--base-menu-content-padding);
|
|
3
10
|
--scrollarea-scrollbar-vertical-margin-bottom: var(--base-menu-content-padding);
|
|
4
11
|
--scrollarea-scrollbar-horizontal-margin-left: var(--base-menu-content-padding);
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
/* Theme-level translucent override */
|
|
20
20
|
:where([data-panel-background='translucent'], [data-material='translucent']) & {
|
|
21
21
|
backdrop-filter: var(--backdrop-filter-components);
|
|
22
|
-
--backdrop-filter-components:
|
|
22
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
/* Prevent backdrop-filter stacking with parents */
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
|
|
34
34
|
&:where([data-panel-background='translucent'], [data-material='translucent']) {
|
|
35
35
|
backdrop-filter: var(--backdrop-filter-components);
|
|
36
|
-
--backdrop-filter-components:
|
|
36
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
&:where(:disabled, [data-disabled]) {
|
|
@@ -28,6 +28,13 @@
|
|
|
28
28
|
|
|
29
29
|
/* Sidebar Container */
|
|
30
30
|
.rt-SidebarContainer {
|
|
31
|
+
/*
|
|
32
|
+
* This surface blurs its own backdrop, which makes it the backdrop root for
|
|
33
|
+
* everything inside it. A component nested here would re-blur an already
|
|
34
|
+
* blurred, already flat surface for the full cost of another blur pass, so
|
|
35
|
+
* switch the component filter off for the subtree. See tokens/blur.css.
|
|
36
|
+
*/
|
|
37
|
+
--backdrop-filter-components-enabled: none;
|
|
31
38
|
--sidebar-base-border-radius: 0; /* Default to no radius */
|
|
32
39
|
display: flex;
|
|
33
40
|
flex-direction: column;
|
|
@@ -161,7 +161,7 @@
|
|
|
161
161
|
:where(.rt-BaseTabList[data-panel-background='translucent']) & {
|
|
162
162
|
background-color: var(--gray-a3);
|
|
163
163
|
backdrop-filter: var(--backdrop-filter-components);
|
|
164
|
-
--backdrop-filter-components:
|
|
164
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
165
165
|
}
|
|
166
166
|
|
|
167
167
|
/* Disable backdrop-filter when inside elements that already have backdrop-filter */
|
|
@@ -189,7 +189,7 @@
|
|
|
189
189
|
:where(.rt-BaseTabList[data-panel-background='translucent']) & {
|
|
190
190
|
background-color: var(--accent-a3);
|
|
191
191
|
backdrop-filter: var(--backdrop-filter-components);
|
|
192
|
-
--backdrop-filter-components:
|
|
192
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
195
|
}
|
|
@@ -77,7 +77,30 @@ export const PaneHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsW
|
|
|
77
77
|
body.style.cursor = orientation === 'vertical' ? 'col-resize' : 'row-resize';
|
|
78
78
|
body.style.userSelect = 'none';
|
|
79
79
|
onResizeStart?.(startSize);
|
|
80
|
+
|
|
81
|
+
// The move handler is attached to the handle, the document and the
|
|
82
|
+
// window so the drag survives environments where PointerEvent does not
|
|
83
|
+
// reach all three. A real move therefore arrives here several times:
|
|
84
|
+
// once per node it propagates through, plus again as the compatibility
|
|
85
|
+
// mouse event. Doing the work more than once per movement is pure waste
|
|
86
|
+
// on the most latency-sensitive interaction in the shell, so ignore the
|
|
87
|
+
// repeats.
|
|
88
|
+
let lastHandledMove: Event | null = null;
|
|
89
|
+
let seenPointerEvent = false;
|
|
90
|
+
|
|
91
|
+
const shouldHandle = (ev: Event, pointerType: string) => {
|
|
92
|
+
if (ev.type === pointerType) seenPointerEvent = true;
|
|
93
|
+
// Once pointer events are known to work, the mouse fallbacks are
|
|
94
|
+
// duplicates of an event we have already handled.
|
|
95
|
+
else if (seenPointerEvent) return false;
|
|
96
|
+
return true;
|
|
97
|
+
};
|
|
98
|
+
|
|
80
99
|
const handleMove = (ev: PointerEvent) => {
|
|
100
|
+
if (!shouldHandle(ev, 'pointermove')) return;
|
|
101
|
+
if (ev === lastHandledMove) return;
|
|
102
|
+
lastHandledMove = ev;
|
|
103
|
+
|
|
81
104
|
const client = orientation === 'vertical' ? ev.clientX : ev.clientY;
|
|
82
105
|
const next = clamp(computeNext(client, startClient, startSize));
|
|
83
106
|
container.style.setProperty(cssVarName, `${next}px`);
|
|
@@ -106,7 +129,11 @@ export const PaneHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsW
|
|
|
106
129
|
body.style.userSelect = prevUserSelect;
|
|
107
130
|
activeCleanupRef.current = null;
|
|
108
131
|
};
|
|
132
|
+
let finished = false;
|
|
109
133
|
const handleUp = () => {
|
|
134
|
+
if (finished) return;
|
|
135
|
+
finished = true;
|
|
136
|
+
|
|
110
137
|
const finalSize = parseFloat(getComputedStyle(container).getPropertyValue(cssVarName) || `${defaultSize}`);
|
|
111
138
|
let snapped = finalSize;
|
|
112
139
|
if (snapPoints && snapPoints.length) {
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
/* Theme-level translucent override */
|
|
8
8
|
:where([data-panel-background='translucent'], [data-material='translucent']) & {
|
|
9
9
|
backdrop-filter: var(--backdrop-filter-components);
|
|
10
|
-
--backdrop-filter-components:
|
|
10
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
/* Prevent backdrop-filter stacking with parents */
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
|
|
22
22
|
&:where([data-panel-background='translucent'], [data-material='translucent']) {
|
|
23
23
|
backdrop-filter: var(--backdrop-filter-components);
|
|
24
|
-
--backdrop-filter-components:
|
|
24
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
|
|
69
69
|
box-shadow: inset 0 0 0 1px var(--accent-a6);
|
|
70
70
|
backdrop-filter: var(--backdrop-filter-components);
|
|
71
|
-
--backdrop-filter-components:
|
|
71
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
&:where([data-panel-background='translucent'], [data-material='translucent']) {
|
|
95
95
|
background-color: var(--color-surface-translucent);
|
|
96
96
|
backdrop-filter: var(--backdrop-filter-components);
|
|
97
|
-
--backdrop-filter-components:
|
|
97
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
|
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
&:where([data-panel-background='translucent'], [data-material='translucent']) {
|
|
120
120
|
background-color: color-mix(in srgb, var(--accent-a2), var(--accent-2) 60%);
|
|
121
121
|
backdrop-filter: var(--backdrop-filter-components);
|
|
122
|
-
--backdrop-filter-components:
|
|
122
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
|
|
@@ -143,7 +143,7 @@
|
|
|
143
143
|
&:where([data-panel-background='translucent'], [data-material='translucent']) {
|
|
144
144
|
box-shadow: inset 0 0 0 1px var(--accent-a6);
|
|
145
145
|
backdrop-filter: var(--backdrop-filter-components);
|
|
146
|
-
--backdrop-filter-components:
|
|
146
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
149
|
|
|
@@ -19,6 +19,7 @@ import type {
|
|
|
19
19
|
AccordionContentOwnProps,
|
|
20
20
|
} from './accordion.props.js';
|
|
21
21
|
import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';
|
|
22
|
+
import { useDeprecatedPanelBackgroundWarning } from '../helpers/use-deprecation-warning.js';
|
|
22
23
|
|
|
23
24
|
// Root component
|
|
24
25
|
type AccordionRootElement = React.ElementRef<typeof AccordionPrimitive.Root>;
|
|
@@ -35,14 +36,7 @@ const AccordionRoot = React.forwardRef<AccordionRootElement, AccordionRootProps>
|
|
|
35
36
|
typeof AccordionPrimitive.Root
|
|
36
37
|
>;
|
|
37
38
|
|
|
38
|
-
|
|
39
|
-
React.useEffect(() => {
|
|
40
|
-
if (props.panelBackground !== undefined) {
|
|
41
|
-
console.warn(
|
|
42
|
-
'Warning: The `panelBackground` prop is deprecated and will be removed in a future version. Use `material` prop instead.',
|
|
43
|
-
);
|
|
44
|
-
}
|
|
45
|
-
}, [props.panelBackground]);
|
|
39
|
+
useDeprecatedPanelBackgroundWarning(props.panelBackground);
|
|
46
40
|
|
|
47
41
|
// Material takes precedence over panelBackground
|
|
48
42
|
const effectiveMaterial = material ?? panelBackground;
|
|
@@ -7,6 +7,7 @@ import { Heading } from './heading.js';
|
|
|
7
7
|
import { Text } from './text.js';
|
|
8
8
|
import { Theme } from './theme.js';
|
|
9
9
|
import { extractProps } from '../helpers/extract-props.js';
|
|
10
|
+
import { useDeprecatedPanelBackgroundWarning } from '../helpers/use-deprecation-warning.js';
|
|
10
11
|
import { requireReactElement } from '../helpers/require-react-element.js';
|
|
11
12
|
|
|
12
13
|
import type { AlertDialogContentOwnProps } from './alert-dialog.props.js';
|
|
@@ -35,6 +36,19 @@ const AlertDialogTrigger = React.forwardRef<AlertDialogTriggerElement, AlertDial
|
|
|
35
36
|
);
|
|
36
37
|
AlertDialogTrigger.displayName = 'AlertDialog.Trigger';
|
|
37
38
|
|
|
39
|
+
// Split once at module scope. `extractProps` memoises on the identity of the
|
|
40
|
+
// prop def objects it is handed, so rebuilding these per render would recompile
|
|
41
|
+
// them on every render.
|
|
42
|
+
const {
|
|
43
|
+
align: alignPropDef,
|
|
44
|
+
panelBackground: panelBackgroundPropDef,
|
|
45
|
+
material: materialPropDef,
|
|
46
|
+
...contentPropDefs
|
|
47
|
+
} = alertDialogContentPropDefs;
|
|
48
|
+
const alignPropDefs = { align: alignPropDef };
|
|
49
|
+
const panelBackgroundPropDefs = { panelBackground: panelBackgroundPropDef };
|
|
50
|
+
const materialPropDefs = { material: materialPropDef };
|
|
51
|
+
|
|
38
52
|
type AlertDialogContentElement = React.ElementRef<typeof AlertDialogPrimitive.Content>;
|
|
39
53
|
interface AlertDialogContentProps
|
|
40
54
|
extends ComponentPropsWithout<typeof AlertDialogPrimitive.Content, RemovedProps>,
|
|
@@ -43,35 +57,23 @@ interface AlertDialogContentProps
|
|
|
43
57
|
}
|
|
44
58
|
const AlertDialogContent = React.forwardRef<AlertDialogContentElement, AlertDialogContentProps>(
|
|
45
59
|
({ align, ...props }, forwardedRef) => {
|
|
46
|
-
const {
|
|
47
|
-
align: alignPropDef,
|
|
48
|
-
panelBackground: panelBackgroundPropDef,
|
|
49
|
-
material: materialPropDef,
|
|
50
|
-
...propDefs
|
|
51
|
-
} = alertDialogContentPropDefs;
|
|
52
|
-
|
|
53
|
-
const { className: alignClassName } = extractProps({ align }, { align: alignPropDef });
|
|
60
|
+
const { className: alignClassName } = extractProps({ align }, alignPropDefs);
|
|
54
61
|
|
|
55
62
|
// Extract panelBackground and material from props
|
|
56
63
|
const { panelBackground: extractedPanelBackground } = extractProps(
|
|
57
64
|
{ panelBackground: props.panelBackground },
|
|
58
|
-
|
|
65
|
+
panelBackgroundPropDefs,
|
|
59
66
|
);
|
|
60
67
|
|
|
61
68
|
const { material: extractedMaterial } = extractProps(
|
|
62
69
|
{ material: props.material },
|
|
63
|
-
|
|
70
|
+
materialPropDefs,
|
|
64
71
|
);
|
|
65
72
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
'Warning: The `panelBackground` prop is deprecated and will be removed in a future version. Use `material` prop instead.',
|
|
71
|
-
);
|
|
72
|
-
}
|
|
73
|
-
return extractedMaterial ?? extractedPanelBackground;
|
|
74
|
-
}, [extractedMaterial, extractedPanelBackground]);
|
|
73
|
+
useDeprecatedPanelBackgroundWarning(props.panelBackground);
|
|
74
|
+
|
|
75
|
+
// Material takes precedence over the deprecated panelBackground
|
|
76
|
+
const materialValue = extractedMaterial ?? extractedPanelBackground;
|
|
75
77
|
|
|
76
78
|
const {
|
|
77
79
|
className,
|
|
@@ -80,7 +82,7 @@ const AlertDialogContent = React.forwardRef<AlertDialogContentElement, AlertDial
|
|
|
80
82
|
panelBackground: _,
|
|
81
83
|
material: __,
|
|
82
84
|
...contentProps
|
|
83
|
-
} = extractProps(props,
|
|
85
|
+
} = extractProps(props, contentPropDefs);
|
|
84
86
|
|
|
85
87
|
// Focus management
|
|
86
88
|
const contentRef = React.useRef<HTMLDivElement>(null);
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
/* Theme-level translucent override */
|
|
45
45
|
:where([data-panel-background='translucent'], [data-material='translucent']) & {
|
|
46
46
|
backdrop-filter: var(--backdrop-filter-components);
|
|
47
|
-
--backdrop-filter-components:
|
|
47
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
/* Prevent backdrop-filter stacking with parents */
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
|
|
59
59
|
&:where([data-panel-background='translucent'], [data-material='translucent']) {
|
|
60
60
|
backdrop-filter: var(--backdrop-filter-components);
|
|
61
|
-
--backdrop-filter-components:
|
|
61
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
|