@kushagradhawan/kookie-ui 0.3.21 → 0.3.23
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/components.css +264 -329
- 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.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/cjs/components/theme.js +1 -1
- package/dist/cjs/components/theme.js.map +4 -4
- 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/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 +2 -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/esm/{chunk-RQ2ZPMHJ.js → chunk-22HGLMPQ.js} +2 -2
- package/dist/esm/{chunk-WYA4IRU6.js → chunk-25WZA7ZU.js} +2 -2
- package/dist/esm/chunk-2UPAYDKR.js +2 -0
- package/dist/esm/chunk-2UPAYDKR.js.map +7 -0
- package/dist/esm/{chunk-XHQGMOXV.js → chunk-36ZQVP7F.js} +2 -2
- 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-25U7DENY.js → chunk-4BBOHEF4.js} +2 -2
- package/dist/esm/chunk-4CKDU6FY.js +2 -0
- package/dist/esm/chunk-4CKDU6FY.js.map +7 -0
- package/dist/esm/{chunk-ZSEFZM5H.js → chunk-4IY2PR6N.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-DNI4QRXQ.js → chunk-5IBGFL6O.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-DJBPM5QK.js → chunk-7FC7HF76.js} +2 -2
- package/dist/esm/{chunk-SVLY6B5F.js → chunk-7QDTSBJF.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-WZCZHCVE.js → chunk-BJYUPIXO.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-D5N627TH.js +2 -0
- package/dist/esm/chunk-D5N627TH.js.map +7 -0
- package/dist/esm/{chunk-ADYTQCZX.js → chunk-D6B7IMZU.js} +2 -2
- package/dist/esm/chunk-DL2O3GKG.js +2 -0
- package/dist/esm/chunk-DL2O3GKG.js.map +7 -0
- package/dist/esm/{chunk-USGTBZ43.js → chunk-E67CIG6A.js} +2 -2
- package/dist/esm/{chunk-42HFGCHX.js → chunk-ETMLMDW4.js} +2 -2
- package/dist/esm/{chunk-7CBAHIVG.js → chunk-F2HYQ3ZR.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-7MURQ6CR.js → chunk-FLFAXVFB.js} +2 -2
- package/dist/esm/{chunk-APRBRAOT.js → chunk-FOEZLQTW.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-ICIGZ3N7.js +2 -0
- package/dist/esm/chunk-ICIGZ3N7.js.map +7 -0
- 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-3F6I7YOR.js → chunk-JDGJSNWT.js} +2 -2
- package/dist/esm/chunk-JQQIPEGY.js +2 -0
- package/dist/esm/chunk-JQQIPEGY.js.map +7 -0
- package/dist/esm/chunk-JR2YOGII.js +2 -0
- package/dist/esm/chunk-JR2YOGII.js.map +7 -0
- package/dist/esm/chunk-JUY7CBSL.js +2 -0
- package/dist/esm/chunk-JUY7CBSL.js.map +7 -0
- package/dist/esm/{chunk-VF5TRT3H.js → chunk-KKM6T5P7.js} +2 -2
- package/dist/esm/{chunk-ZHYOJNWV.js → chunk-LKAK5GXF.js} +2 -2
- package/dist/esm/chunk-LOGJJF4I.js +2 -0
- package/dist/esm/chunk-LOGJJF4I.js.map +7 -0
- 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-MRECKC4D.js +2 -0
- package/dist/esm/chunk-MRECKC4D.js.map +7 -0
- package/dist/esm/{chunk-H2G446JG.js → chunk-NMKPFUNP.js} +2 -2
- package/dist/esm/{chunk-4N5JU7XQ.js → chunk-O3CDWEZA.js} +2 -2
- package/dist/esm/{chunk-TEULZKBM.js → chunk-OGXZHAQL.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-M3ZYJANH.js → chunk-PQZXQ4ST.js} +2 -2
- package/dist/esm/{chunk-SGU4HUHF.js → chunk-PTLFMWCN.js} +2 -2
- package/dist/esm/chunk-S2HA3W3V.js +2 -0
- package/dist/esm/chunk-S2HA3W3V.js.map +7 -0
- 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-HACQF6F4.js → chunk-TOOSHJOA.js} +2 -2
- package/dist/esm/{chunk-QOWA5LK5.js → chunk-U2X2CAW4.js} +2 -2
- package/dist/esm/{chunk-U7AASKZI.js → chunk-UVCH7QKO.js} +2 -2
- package/dist/esm/{chunk-GWYFT3EI.js → chunk-VLO7NXSP.js} +2 -2
- package/dist/esm/{chunk-DXI5P5O4.js → chunk-VX6ARMWP.js} +2 -2
- package/dist/esm/chunk-WAURCNAS.js +2 -0
- package/dist/esm/chunk-WAURCNAS.js.map +7 -0
- package/dist/esm/{chunk-EJWAAFCI.js → chunk-WO43WW3A.js} +2 -2
- package/dist/esm/{chunk-GLC4QJBF.js → chunk-WTYNFBFV.js} +2 -2
- package/dist/esm/{chunk-6FAICIYS.js → chunk-XMRIRFM7.js} +2 -2
- 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.d.ts.map +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.map +1 -1
- package/dist/esm/components/theme.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/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/package.json +2 -1
- 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 -13
- 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 +46 -72
- package/src/components/dropdown-menu.tsx +2 -8
- 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/shell.tsx +168 -97
- 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/theme.tsx +35 -34
- package/src/helpers/compile-prop-defs.ts +121 -0
- package/src/helpers/extract-props.ts +104 -83
- 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/tokens/blur.css +28 -0
- package/src/styles/tokens/color.css +3 -3
- package/src/styles/tokens/constants.css +11 -0
- package/styles.css +280 -332
- package/tokens/base.css +13 -3
- package/tokens.css +16 -3
- 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-HURTSXRY.js +0 -2
- package/dist/esm/chunk-HURTSXRY.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-Q73Y5O5P.js +0 -2
- package/dist/esm/chunk-Q73Y5O5P.js.map +0 -7
- package/dist/esm/chunk-RMBS6CAO.js +0 -2
- package/dist/esm/chunk-RMBS6CAO.js.map +0 -7
- 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-RQ2ZPMHJ.js.map → chunk-22HGLMPQ.js.map} +0 -0
- /package/dist/esm/{chunk-WYA4IRU6.js.map → chunk-25WZA7ZU.js.map} +0 -0
- /package/dist/esm/{chunk-XHQGMOXV.js.map → chunk-36ZQVP7F.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-25U7DENY.js.map → chunk-4BBOHEF4.js.map} +0 -0
- /package/dist/esm/{chunk-ZSEFZM5H.js.map → chunk-4IY2PR6N.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-DNI4QRXQ.js.map → chunk-5IBGFL6O.js.map} +0 -0
- /package/dist/esm/{chunk-IPJUHVM6.js.map → chunk-666GX7O5.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-DK5MHD6I.js.map → chunk-B24BDVG2.js.map} +0 -0
- /package/dist/esm/{chunk-WZCZHCVE.js.map → chunk-BJYUPIXO.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-ADYTQCZX.js.map → chunk-D6B7IMZU.js.map} +0 -0
- /package/dist/esm/{chunk-USGTBZ43.js.map → chunk-E67CIG6A.js.map} +0 -0
- /package/dist/esm/{chunk-42HFGCHX.js.map → chunk-ETMLMDW4.js.map} +0 -0
- /package/dist/esm/{chunk-7CBAHIVG.js.map → chunk-F2HYQ3ZR.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-7MURQ6CR.js.map → chunk-FLFAXVFB.js.map} +0 -0
- /package/dist/esm/{chunk-APRBRAOT.js.map → chunk-FOEZLQTW.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-3F6I7YOR.js.map → chunk-JDGJSNWT.js.map} +0 -0
- /package/dist/esm/{chunk-VF5TRT3H.js.map → chunk-KKM6T5P7.js.map} +0 -0
- /package/dist/esm/{chunk-ZHYOJNWV.js.map → chunk-LKAK5GXF.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-H2G446JG.js.map → chunk-NMKPFUNP.js.map} +0 -0
- /package/dist/esm/{chunk-4N5JU7XQ.js.map → chunk-O3CDWEZA.js.map} +0 -0
- /package/dist/esm/{chunk-TEULZKBM.js.map → chunk-OGXZHAQL.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-M3ZYJANH.js.map → chunk-PQZXQ4ST.js.map} +0 -0
- /package/dist/esm/{chunk-SGU4HUHF.js.map → chunk-PTLFMWCN.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-HACQF6F4.js.map → chunk-TOOSHJOA.js.map} +0 -0
- /package/dist/esm/{chunk-QOWA5LK5.js.map → chunk-U2X2CAW4.js.map} +0 -0
- /package/dist/esm/{chunk-U7AASKZI.js.map → chunk-UVCH7QKO.js.map} +0 -0
- /package/dist/esm/{chunk-GWYFT3EI.js.map → chunk-VLO7NXSP.js.map} +0 -0
- /package/dist/esm/{chunk-DXI5P5O4.js.map → chunk-VX6ARMWP.js.map} +0 -0
- /package/dist/esm/{chunk-EJWAAFCI.js.map → chunk-WO43WW3A.js.map} +0 -0
- /package/dist/esm/{chunk-GLC4QJBF.js.map → chunk-WTYNFBFV.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
|
@@ -30,6 +30,7 @@ import { Kbd } from './kbd.js';
|
|
|
30
30
|
import type { IconProps } from './icons.js';
|
|
31
31
|
import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';
|
|
32
32
|
import type { GetPropDefTypes, Responsive } from '../props/prop-def.js';
|
|
33
|
+
import { useDeprecatedPanelBackgroundWarning } from '../helpers/use-deprecation-warning.js';
|
|
33
34
|
|
|
34
35
|
interface DropdownMenuRootProps
|
|
35
36
|
extends React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Root> {}
|
|
@@ -113,14 +114,7 @@ const DropdownMenuContent = React.forwardRef<DropdownMenuContentElement, Dropdow
|
|
|
113
114
|
(props, forwardedRef) => {
|
|
114
115
|
const themeContext = useThemeContext();
|
|
115
116
|
|
|
116
|
-
|
|
117
|
-
React.useEffect(() => {
|
|
118
|
-
if (props.panelBackground !== undefined) {
|
|
119
|
-
console.warn(
|
|
120
|
-
'Warning: The `panelBackground` prop is deprecated and will be removed in a future version. Use `material` prop instead.',
|
|
121
|
-
);
|
|
122
|
-
}
|
|
123
|
-
}, [props.panelBackground]);
|
|
117
|
+
useDeprecatedPanelBackgroundWarning(props.panelBackground);
|
|
124
118
|
|
|
125
119
|
// Material takes precedence over panelBackground
|
|
126
120
|
const effectiveMaterial =
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
.rt-PopoverContent {
|
|
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
|
/* Base state: use --color-panel which adapts to theme context */
|
|
3
10
|
background-color: var(--color-panel);
|
|
4
11
|
backdrop-filter: var(--backdrop-filter-panel);
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
:where([data-panel-background='translucent'], [data-material='translucent']) & {
|
|
17
17
|
backdrop-filter: var(--backdrop-filter-components);
|
|
18
|
-
--backdrop-filter-components:
|
|
18
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
/* Prevent backdrop-filter stacking with parent elements */
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
|
|
33
33
|
&:where([data-panel-background='translucent'], [data-material='translucent']) {
|
|
34
34
|
backdrop-filter: var(--backdrop-filter-components);
|
|
35
|
-
--backdrop-filter-components:
|
|
35
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
|
|
@@ -40,8 +40,21 @@
|
|
|
40
40
|
.rt-ProgressIndicator {
|
|
41
41
|
display: block;
|
|
42
42
|
height: var(--position-full);
|
|
43
|
-
width:
|
|
43
|
+
width: var(--position-full);
|
|
44
44
|
border-radius: var(--progress-indicator-radius);
|
|
45
|
+
|
|
46
|
+
/*
|
|
47
|
+
* The bar is full width and slid into place rather than grown. `width` is a
|
|
48
|
+
* layout property: animating it re-lays-out on every frame, and the
|
|
49
|
+
* indeterminate animation never stops, so a visible bar reflowed forever.
|
|
50
|
+
* `.rt-ProgressRoot` clips the overhang. `max()` keeps a sliver of the bar
|
|
51
|
+
* visible at very low values, as the width form did.
|
|
52
|
+
*/
|
|
53
|
+
transform: translateX(
|
|
54
|
+
calc(
|
|
55
|
+
-100% + max(calc(var(--progress-value) / var(--progress-max) * 100%), var(--progress-height))
|
|
56
|
+
)
|
|
57
|
+
);
|
|
45
58
|
transition: var(--transition-progress);
|
|
46
59
|
|
|
47
60
|
&:where([data-state='indeterminate']) {
|
|
@@ -55,20 +68,20 @@
|
|
|
55
68
|
|
|
56
69
|
@keyframes rt-progress-indicator-indeterminate-grow {
|
|
57
70
|
0% {
|
|
58
|
-
|
|
71
|
+
transform: translateX(calc(-100% + var(--progress-scale-initial) * 100%));
|
|
59
72
|
}
|
|
60
73
|
20% {
|
|
61
|
-
|
|
74
|
+
transform: translateX(calc(-100% + var(--progress-scale-step-1) * 100%));
|
|
62
75
|
}
|
|
63
76
|
30% {
|
|
64
|
-
|
|
77
|
+
transform: translateX(calc(-100% + var(--progress-scale-step-2) * 100%));
|
|
65
78
|
}
|
|
66
79
|
40%,
|
|
67
80
|
50% {
|
|
68
|
-
|
|
81
|
+
transform: translateX(calc(-100% + var(--progress-scale-step-3) * 100%));
|
|
69
82
|
}
|
|
70
83
|
100% {
|
|
71
|
-
|
|
84
|
+
transform: translateX(calc(-100% + var(--progress-scale-final) * 100%));
|
|
72
85
|
}
|
|
73
86
|
}
|
|
74
87
|
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
*/
|
|
33
33
|
:where([data-panel-background='translucent'], [data-material='translucent']) & {
|
|
34
34
|
backdrop-filter: var(--backdrop-filter-components);
|
|
35
|
-
--backdrop-filter-components:
|
|
35
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
/*
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
|
|
47
47
|
&:where([data-panel-background='translucent'], [data-material='translucent']) {
|
|
48
48
|
backdrop-filter: var(--backdrop-filter-components);
|
|
49
|
-
--backdrop-filter-components:
|
|
49
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
/* Disable backdrop-filter when inside elements that already have backdrop-filter */
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
/* Theme-level translucent override */
|
|
17
17
|
:where([data-panel-background='translucent'], [data-material='translucent']) & {
|
|
18
18
|
backdrop-filter: var(--backdrop-filter-components);
|
|
19
|
-
--backdrop-filter-components:
|
|
19
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
/* Prevent backdrop-filter stacking with parents */
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
|
|
31
31
|
&:where([data-panel-background='translucent'], [data-material='translucent']) {
|
|
32
32
|
backdrop-filter: var(--backdrop-filter-components);
|
|
33
|
-
--backdrop-filter-components:
|
|
33
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
&:where(.rt-high-contrast) {
|
|
@@ -71,6 +71,13 @@
|
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
.rt-SelectContent {
|
|
74
|
+
/*
|
|
75
|
+
* This surface blurs its own backdrop, which makes it the backdrop root for
|
|
76
|
+
* everything inside it. A component nested here would re-blur an already
|
|
77
|
+
* blurred, already flat surface for the full cost of another blur pass, so
|
|
78
|
+
* switch the component filter off for the subtree. See tokens/blur.css.
|
|
79
|
+
*/
|
|
80
|
+
--backdrop-filter-components-enabled: none;
|
|
74
81
|
--scrollarea-scrollbar-vertical-margin-top: var(--select-content-padding);
|
|
75
82
|
--scrollarea-scrollbar-vertical-margin-bottom: var(--select-content-padding);
|
|
76
83
|
--scrollarea-scrollbar-horizontal-margin-left: var(--select-content-padding);
|
package/src/components/sheet.tsx
CHANGED
|
@@ -43,6 +43,7 @@ import { Theme } from './theme.js';
|
|
|
43
43
|
import { Heading } from './heading.js';
|
|
44
44
|
import { Text } from './text.js';
|
|
45
45
|
import { extractProps } from '../helpers/extract-props.js';
|
|
46
|
+
import { useDeprecatedPanelBackgroundWarning } from '../helpers/use-deprecation-warning.js';
|
|
46
47
|
import { requireReactElement } from '../helpers/require-react-element.js';
|
|
47
48
|
import { useBodyPointerEventsCleanup } from '../hooks/use-body-pointer-events-cleanup.js';
|
|
48
49
|
|
|
@@ -85,6 +86,30 @@ Trigger.displayName = 'Sheet.Trigger';
|
|
|
85
86
|
|
|
86
87
|
// Content
|
|
87
88
|
/** Element type for `Sheet.Content`. */
|
|
89
|
+
// Reuse dialog content prop defs for size/width/height tokens, but handle
|
|
90
|
+
// material/panelBackground explicitly to avoid forwarding unknown DOM props.
|
|
91
|
+
// Built once at module scope: `extractProps` memoises on the identity of the
|
|
92
|
+
// prop def objects it is handed, so rebuilding these per render would recompile
|
|
93
|
+
// them every time a sheet renders.
|
|
94
|
+
const {
|
|
95
|
+
align: _alignPropDef,
|
|
96
|
+
panelBackground: panelBackgroundPropDef,
|
|
97
|
+
material: materialPropDef,
|
|
98
|
+
...dialogPropDefsForSheet
|
|
99
|
+
} = dialogContentPropDefs;
|
|
100
|
+
|
|
101
|
+
const materialPropDefs = {
|
|
102
|
+
panelBackground: panelBackgroundPropDef,
|
|
103
|
+
material: materialPropDef,
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
// Override dialog's default maxWidth (600px) to avoid clamping Sheet by default
|
|
107
|
+
const { default: _mwDefault, ...maxWidthWithoutDefault } = dialogPropDefsForSheet.maxWidth;
|
|
108
|
+
const sheetPropDefs = {
|
|
109
|
+
...dialogPropDefsForSheet,
|
|
110
|
+
maxWidth: maxWidthWithoutDefault,
|
|
111
|
+
} as typeof dialogPropDefsForSheet;
|
|
112
|
+
|
|
88
113
|
type SheetContentElement = React.ElementRef<typeof DialogPrimitive.Content>;
|
|
89
114
|
interface SheetContentProps
|
|
90
115
|
extends ComponentPropsWithout<typeof DialogPrimitive.Content, RemovedProps>,
|
|
@@ -120,40 +145,18 @@ const Content = React.forwardRef<SheetContentElement, SheetContentProps>(
|
|
|
120
145
|
bottom: 'bottom',
|
|
121
146
|
};
|
|
122
147
|
const normalizedSide = normalizedSideMap[side];
|
|
123
|
-
// Reuse dialog content prop defs for size/width/height tokens, but handle
|
|
124
|
-
// material/panelBackground explicitly to avoid forwarding unknown DOM props.
|
|
125
|
-
const {
|
|
126
|
-
align: _alignPropDef,
|
|
127
|
-
panelBackground: panelBackgroundPropDef,
|
|
128
|
-
material: materialPropDef,
|
|
129
|
-
...propDefs
|
|
130
|
-
} = dialogContentPropDefs;
|
|
131
|
-
|
|
132
148
|
// Extract panelBackground and material together (remove from DOM props)
|
|
133
149
|
const { panelBackground: resolvedPanelBackground, material: resolvedMaterial } = extractProps(
|
|
134
150
|
{ panelBackground: panelBackgroundProp, material: materialProp },
|
|
135
|
-
|
|
151
|
+
materialPropDefs,
|
|
136
152
|
);
|
|
137
153
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
'Warning: The `panelBackground` prop is deprecated and will be removed in a future version. Use the `material` prop instead.',
|
|
143
|
-
);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
return resolvedMaterial ?? resolvedPanelBackground;
|
|
147
|
-
}, [resolvedMaterial, resolvedPanelBackground]);
|
|
154
|
+
useDeprecatedPanelBackgroundWarning(panelBackgroundProp);
|
|
155
|
+
|
|
156
|
+
// Material takes precedence over the deprecated panelBackground
|
|
157
|
+
const materialValue = resolvedMaterial ?? resolvedPanelBackground;
|
|
148
158
|
|
|
149
|
-
//
|
|
150
|
-
// Override dialog's default maxWidth (600px) to avoid clamping Sheet by default
|
|
151
|
-
// Match dialog.tsx: extract once and avoid leaking panel/material
|
|
152
|
-
const { default: _mwDefault, ...maxWidthWithoutDefault } = propDefs.maxWidth;
|
|
153
|
-
const sheetPropDefs = {
|
|
154
|
-
...propDefs,
|
|
155
|
-
maxWidth: maxWidthWithoutDefault,
|
|
156
|
-
} as typeof propDefs;
|
|
159
|
+
// Size/width/height class names come from the dialog defs — see `sheetPropDefs`.
|
|
157
160
|
const { className: extractedClassName, ...contentProps } = extractProps(
|
|
158
161
|
restProps,
|
|
159
162
|
sheetPropDefs,
|
package/src/components/shell.css
CHANGED
|
@@ -70,47 +70,51 @@
|
|
|
70
70
|
height: 100%;
|
|
71
71
|
overflow: hidden;
|
|
72
72
|
|
|
73
|
-
/*
|
|
74
|
-
|
|
73
|
+
/* Above the panel, so a collapsing panel tucks behind it rather than across it. */
|
|
74
|
+
position: relative;
|
|
75
|
+
z-index: 2;
|
|
75
76
|
}
|
|
76
77
|
|
|
78
|
+
/* Steps to its width in one layout pass — see .rt-ShellPanel for why. */
|
|
77
79
|
.rt-ShellRail[data-mode='expanded'] {
|
|
78
80
|
width: var(--rail-size, 64px);
|
|
79
81
|
}
|
|
80
82
|
|
|
81
|
-
/* Collapsed rail: stay in flow during transition, then hide */
|
|
82
83
|
.rt-ShellRail[data-mode='collapsed'] {
|
|
83
84
|
width: 0px;
|
|
84
|
-
|
|
85
|
-
transition-delay: var(--motion-duration-small);
|
|
85
|
+
transition: width 0s var(--motion-duration-small);
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
/* Peek overlay rules consolidated later to avoid duplication */
|
|
89
89
|
|
|
90
90
|
.rt-ShellRailContent {
|
|
91
|
+
position: absolute;
|
|
92
|
+
inset-block: 0;
|
|
93
|
+
inset-inline-start: 0;
|
|
94
|
+
|
|
91
95
|
display: flex;
|
|
92
96
|
flex-direction: column;
|
|
93
|
-
width:
|
|
97
|
+
width: 100%;
|
|
94
98
|
height: 100%;
|
|
95
99
|
gap: var(--space-2);
|
|
96
100
|
|
|
97
|
-
/* Content animation
|
|
101
|
+
/* Content animation */
|
|
98
102
|
opacity: 0;
|
|
99
103
|
pointer-events: none;
|
|
100
|
-
|
|
104
|
+
transform: translateX(-100%);
|
|
105
|
+
transition:
|
|
106
|
+
transform var(--motion-duration-small) var(--motion-ease-standard),
|
|
107
|
+
opacity var(--motion-duration-small) var(--motion-ease-standard);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
:where([dir='rtl']) .rt-ShellRailContent {
|
|
111
|
+
transform: translateX(100%);
|
|
101
112
|
}
|
|
102
113
|
|
|
103
114
|
.rt-ShellRailContent[data-visible] {
|
|
104
115
|
opacity: 1;
|
|
105
116
|
pointer-events: auto;
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
.rt-ShellRail[data-mode='collapsed'] .rt-ShellRailContent {
|
|
109
|
-
/* Exit animation: fade out content first, then collapse */
|
|
110
|
-
opacity: 0;
|
|
111
|
-
width: 0;
|
|
112
|
-
visibility: hidden;
|
|
113
|
-
transition: opacity var(--motion-duration-small) var(--motion-ease-standard);
|
|
117
|
+
transform: translateX(0);
|
|
114
118
|
}
|
|
115
119
|
|
|
116
120
|
/* Panel - sidebar content next to Rail */
|
|
@@ -122,46 +126,67 @@
|
|
|
122
126
|
overflow: visible;
|
|
123
127
|
position: relative;
|
|
124
128
|
z-index: 1;
|
|
125
|
-
|
|
126
|
-
/* Animation setup */
|
|
127
|
-
transition: width var(--motion-duration-small) var(--motion-ease-standard);
|
|
128
129
|
}
|
|
129
130
|
|
|
131
|
+
/*
|
|
132
|
+
* The pane takes its width in one step rather than animating it. `width` is a
|
|
133
|
+
* layout property, so animating it re-lays-out everything in `.rt-ShellContent`
|
|
134
|
+
* on every frame of a collapse: measured on this stylesheet, that is 11 layout
|
|
135
|
+
* passes per toggle and 5.3ms per frame with 100 rows of content beside it,
|
|
136
|
+
* 10.1ms with 300 and 17.2ms with 800. Stepping to the final width costs one
|
|
137
|
+
* layout pass, and the pane's contents slide on `transform`, which the
|
|
138
|
+
* compositor handles without laying anything out.
|
|
139
|
+
*
|
|
140
|
+
* Expanding applies the width immediately, so the contents have somewhere to
|
|
141
|
+
* slide into. Collapsing holds the width until the slide has finished — a `0s`
|
|
142
|
+
* transition with a delay — so the contents are never sliding across
|
|
143
|
+
* `.rt-ShellContent`, and the content area widens once, at the end.
|
|
144
|
+
*/
|
|
130
145
|
.rt-ShellPanel[data-visible] {
|
|
131
146
|
width: var(--panel-size, 288px);
|
|
132
147
|
}
|
|
133
148
|
|
|
134
|
-
/* Collapsed panel: stay in flow during transition, then hide */
|
|
135
149
|
.rt-ShellPanel:not([data-visible]) {
|
|
136
150
|
width: 0px;
|
|
137
|
-
|
|
138
|
-
transition-delay: var(--motion-duration-small);
|
|
151
|
+
transition: width 0s var(--motion-duration-small);
|
|
139
152
|
}
|
|
140
153
|
|
|
141
154
|
.rt-ShellPanelContent {
|
|
155
|
+
/*
|
|
156
|
+
* Taken out of flow so it can slide across the space the pane no longer
|
|
157
|
+
* occupies. `.rt-ShellBody` clips it at the edge of the shell.
|
|
158
|
+
*/
|
|
159
|
+
position: absolute;
|
|
160
|
+
inset-block: 0;
|
|
161
|
+
inset-inline-start: 0;
|
|
162
|
+
|
|
142
163
|
display: flex;
|
|
143
164
|
flex-direction: column;
|
|
144
|
-
width:
|
|
165
|
+
width: 100%;
|
|
145
166
|
height: 100%;
|
|
146
167
|
overflow: hidden;
|
|
147
168
|
|
|
148
169
|
/* Content animation */
|
|
149
170
|
opacity: 0;
|
|
150
171
|
pointer-events: none;
|
|
151
|
-
|
|
172
|
+
transform: translateX(-100%);
|
|
173
|
+
transition:
|
|
174
|
+
transform var(--motion-duration-small) var(--motion-ease-standard),
|
|
175
|
+
opacity var(--motion-duration-small) var(--motion-ease-standard);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
:where([dir='rtl']) .rt-ShellPanelContent {
|
|
179
|
+
transform: translateX(100%);
|
|
152
180
|
}
|
|
153
181
|
|
|
154
182
|
.rt-ShellPanelContent[data-visible] {
|
|
155
183
|
opacity: 1;
|
|
156
184
|
pointer-events: auto;
|
|
185
|
+
transform: translateX(0);
|
|
157
186
|
}
|
|
158
187
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
opacity: 0;
|
|
162
|
-
width: 0;
|
|
163
|
-
visibility: hidden;
|
|
164
|
-
transition: opacity var(--motion-duration-small) var(--motion-ease-standard);
|
|
188
|
+
:where([dir='rtl']) .rt-ShellPanelContent[data-visible] {
|
|
189
|
+
transform: translateX(0);
|
|
165
190
|
}
|
|
166
191
|
|
|
167
192
|
/* Sidebar - alternative to Rail+Panel */
|
|
@@ -174,10 +199,17 @@
|
|
|
174
199
|
position: relative;
|
|
175
200
|
z-index: 1;
|
|
176
201
|
|
|
177
|
-
/* Animation setup */
|
|
178
|
-
transition: width var(--motion-duration-small) var(--motion-ease-standard);
|
|
179
202
|
}
|
|
180
203
|
|
|
204
|
+
/*
|
|
205
|
+
* Steps to its width in one layout pass — see .rt-ShellPanel for why.
|
|
206
|
+
*
|
|
207
|
+
* Sidebar has two open sizes, so expanded and thin both apply immediately and
|
|
208
|
+
* the switch between them is a step rather than a slide: there is no composited
|
|
209
|
+
* way to move a pane between two widths that both take space in the flow. The
|
|
210
|
+
* phase rules below already fade the contents out across that switch, so the
|
|
211
|
+
* step lands while they are not visible.
|
|
212
|
+
*/
|
|
181
213
|
.rt-ShellSidebar[data-mode='expanded'] {
|
|
182
214
|
width: var(--sidebar-size, 288px);
|
|
183
215
|
}
|
|
@@ -186,19 +218,16 @@
|
|
|
186
218
|
width: var(--sidebar-thin-size, 64px);
|
|
187
219
|
}
|
|
188
220
|
|
|
189
|
-
/* Ensure content matches thin width in thin mode */
|
|
190
|
-
.rt-ShellSidebar[data-mode='thin'] .rt-ShellSidebarContent {
|
|
191
|
-
width: var(--sidebar-thin-size, 64px);
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
/* Collapsed sidebar: stay in flow during transition, then hide */
|
|
195
221
|
.rt-ShellSidebar[data-mode='collapsed'] {
|
|
196
222
|
width: 0px;
|
|
197
|
-
|
|
198
|
-
transition-delay: var(--motion-duration-small);
|
|
223
|
+
transition: width 0s var(--motion-duration-small);
|
|
199
224
|
}
|
|
200
225
|
|
|
201
226
|
.rt-ShellSidebarContent {
|
|
227
|
+
position: absolute;
|
|
228
|
+
inset-block: 0;
|
|
229
|
+
inset-inline-start: 0;
|
|
230
|
+
|
|
202
231
|
display: flex;
|
|
203
232
|
flex-direction: column;
|
|
204
233
|
width: 100%;
|
|
@@ -208,7 +237,14 @@
|
|
|
208
237
|
/* Content animation */
|
|
209
238
|
opacity: 0;
|
|
210
239
|
pointer-events: none;
|
|
211
|
-
|
|
240
|
+
transform: translateX(-100%);
|
|
241
|
+
transition:
|
|
242
|
+
transform var(--motion-duration-small) var(--motion-ease-standard),
|
|
243
|
+
opacity var(--motion-duration-small) var(--motion-ease-standard);
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
:where([dir='rtl']) .rt-ShellSidebarContent {
|
|
247
|
+
transform: translateX(100%);
|
|
212
248
|
}
|
|
213
249
|
|
|
214
250
|
/* Hide resizer in thin mode */
|
|
@@ -219,6 +255,7 @@
|
|
|
219
255
|
.rt-ShellSidebarContent[data-visible] {
|
|
220
256
|
opacity: 1;
|
|
221
257
|
pointer-events: auto;
|
|
258
|
+
transform: translateX(0);
|
|
222
259
|
}
|
|
223
260
|
|
|
224
261
|
/* Sidebar presentation switch sequencing (thin ↔ expanded) */
|
|
@@ -237,13 +274,6 @@
|
|
|
237
274
|
transition: opacity var(--motion-duration-small) var(--motion-ease-standard);
|
|
238
275
|
}
|
|
239
276
|
|
|
240
|
-
.rt-ShellSidebar[data-mode='collapsed'] .rt-ShellSidebarContent {
|
|
241
|
-
/* Exit animation: fade out content first, then collapse */
|
|
242
|
-
opacity: 0;
|
|
243
|
-
width: 0;
|
|
244
|
-
visibility: hidden;
|
|
245
|
-
transition: opacity var(--motion-duration-small) var(--motion-ease-standard);
|
|
246
|
-
}
|
|
247
277
|
|
|
248
278
|
/* Stacked Sidebar: left side, floating without reflow */
|
|
249
279
|
.rt-ShellSidebar[data-presentation='stacked'] {
|
|
@@ -291,10 +321,9 @@
|
|
|
291
321
|
position: relative;
|
|
292
322
|
z-index: 1;
|
|
293
323
|
|
|
294
|
-
/* Animation setup */
|
|
295
|
-
transition: width var(--motion-duration-small) var(--motion-ease-standard);
|
|
296
324
|
}
|
|
297
325
|
|
|
326
|
+
/* Steps to its width in one layout pass — see .rt-ShellPanel for why. */
|
|
298
327
|
.rt-ShellInspector[data-mode='expanded'] {
|
|
299
328
|
width: var(--inspector-size, 320px);
|
|
300
329
|
}
|
|
@@ -302,34 +331,37 @@
|
|
|
302
331
|
/* Collapsed inspector: stay in flow during transition, then hide */
|
|
303
332
|
.rt-ShellInspector[data-mode='collapsed'] {
|
|
304
333
|
width: 0px;
|
|
305
|
-
|
|
306
|
-
transition-delay: var(--motion-duration-small);
|
|
334
|
+
transition: width 0s var(--motion-duration-small);
|
|
307
335
|
}
|
|
308
336
|
|
|
309
337
|
.rt-ShellInspectorContent {
|
|
338
|
+
position: absolute;
|
|
339
|
+
inset-block: 0;
|
|
340
|
+
inset-inline-end: 0;
|
|
341
|
+
|
|
310
342
|
display: flex;
|
|
311
343
|
flex-direction: column;
|
|
312
|
-
width:
|
|
344
|
+
width: 100%;
|
|
313
345
|
height: 100%;
|
|
314
346
|
overflow: hidden;
|
|
315
347
|
|
|
316
348
|
/* Content animation */
|
|
317
349
|
opacity: 0;
|
|
318
350
|
pointer-events: none;
|
|
319
|
-
|
|
351
|
+
transform: translateX(100%);
|
|
352
|
+
transition:
|
|
353
|
+
transform var(--motion-duration-small) var(--motion-ease-standard),
|
|
354
|
+
opacity var(--motion-duration-small) var(--motion-ease-standard);
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
:where([dir='rtl']) .rt-ShellInspectorContent {
|
|
358
|
+
transform: translateX(-100%);
|
|
320
359
|
}
|
|
321
360
|
|
|
322
361
|
.rt-ShellInspectorContent[data-visible] {
|
|
323
362
|
opacity: 1;
|
|
324
363
|
pointer-events: auto;
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
.rt-ShellInspector[data-mode='collapsed'] .rt-ShellInspectorContent {
|
|
328
|
-
/* Exit animation: fade out content first, then collapse */
|
|
329
|
-
opacity: 0;
|
|
330
|
-
width: 0;
|
|
331
|
-
visibility: hidden;
|
|
332
|
-
transition: opacity var(--motion-duration-small) var(--motion-ease-standard);
|
|
364
|
+
transform: translateX(0);
|
|
333
365
|
}
|
|
334
366
|
|
|
335
367
|
/* Bottom - bottom panel */
|
|
@@ -342,37 +374,42 @@
|
|
|
342
374
|
flex-shrink: 0;
|
|
343
375
|
position: relative;
|
|
344
376
|
|
|
345
|
-
/* Animation setup */
|
|
346
|
-
transition: height var(--motion-duration-small) var(--motion-ease-standard);
|
|
347
377
|
}
|
|
348
378
|
|
|
379
|
+
/* Steps to its height in one layout pass — see .rt-ShellPanel for why. */
|
|
349
380
|
.rt-ShellBottom[data-mode='expanded'] {
|
|
350
381
|
height: var(--bottom-size, 200px);
|
|
351
382
|
}
|
|
352
383
|
|
|
353
|
-
/* Collapsed bottom: stay in flow during transition, then hide */
|
|
354
384
|
.rt-ShellBottom[data-mode='collapsed'] {
|
|
355
385
|
height: 0px;
|
|
356
|
-
|
|
357
|
-
transition-delay: var(--motion-duration-small);
|
|
386
|
+
transition: height 0s var(--motion-duration-small);
|
|
358
387
|
}
|
|
359
388
|
|
|
360
389
|
.rt-ShellBottomContent {
|
|
390
|
+
position: absolute;
|
|
391
|
+
inset-inline: 0;
|
|
392
|
+
inset-block-end: 0;
|
|
393
|
+
|
|
361
394
|
display: flex;
|
|
362
395
|
flex-direction: column;
|
|
363
396
|
width: 100%;
|
|
364
|
-
height:
|
|
397
|
+
height: 100%;
|
|
365
398
|
overflow: hidden;
|
|
366
399
|
|
|
367
400
|
/* Content animation */
|
|
368
401
|
opacity: 0;
|
|
369
402
|
pointer-events: none;
|
|
370
|
-
|
|
403
|
+
transform: translateY(100%);
|
|
404
|
+
transition:
|
|
405
|
+
transform var(--motion-duration-small) var(--motion-ease-standard),
|
|
406
|
+
opacity var(--motion-duration-small) var(--motion-ease-standard);
|
|
371
407
|
}
|
|
372
408
|
|
|
373
409
|
.rt-ShellBottomContent[data-visible] {
|
|
374
410
|
opacity: 1;
|
|
375
411
|
pointer-events: auto;
|
|
412
|
+
transform: translateY(0);
|
|
376
413
|
}
|
|
377
414
|
|
|
378
415
|
/* Disable transitions during active resize */
|