@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
|
@@ -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
|
|
|
@@ -18,19 +18,6 @@
|
|
|
18
18
|
inset: 0;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
/* When forceMount detaches the scroll wrapper from the overlay, it needs its
|
|
22
|
-
own fixed positioning and must become inert when the content is closed. */
|
|
23
|
-
.rt-BaseDialogScroll--detached {
|
|
24
|
-
position: fixed;
|
|
25
|
-
inset: 0;
|
|
26
|
-
z-index: 100;
|
|
27
|
-
|
|
28
|
-
&:where(:has([data-state='closed'])) {
|
|
29
|
-
pointer-events: none;
|
|
30
|
-
visibility: hidden;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
21
|
.rt-BaseDialogScrollPadding {
|
|
35
22
|
flex-grow: 1;
|
|
36
23
|
margin: auto;
|
|
@@ -50,6 +37,13 @@
|
|
|
50
37
|
}
|
|
51
38
|
|
|
52
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;
|
|
53
47
|
margin: auto;
|
|
54
48
|
width: 100%;
|
|
55
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
|
|
package/src/components/badge.css
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
--material-blend: 60%;
|
|
28
28
|
--material-alpha: 1;
|
|
29
29
|
backdrop-filter: var(--backdrop-filter-components);
|
|
30
|
-
--backdrop-filter-components:
|
|
30
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
/* Prevent backdrop-filter stacking with parents */
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
--material-blend: 60%;
|
|
46
46
|
--material-alpha: 1;
|
|
47
47
|
backdrop-filter: var(--backdrop-filter-components);
|
|
48
|
-
--backdrop-filter-components:
|
|
48
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
/* Reduced motion support */
|
package/src/components/badge.tsx
CHANGED
|
@@ -10,6 +10,7 @@ import { Tooltip } from './tooltip.js';
|
|
|
10
10
|
import type { MarginProps } from '../props/margin.props.js';
|
|
11
11
|
import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';
|
|
12
12
|
import type { GetPropDefTypes } from '../props/prop-def.js';
|
|
13
|
+
import { useDeprecatedPanelBackgroundWarning } from '../helpers/use-deprecation-warning.js';
|
|
13
14
|
|
|
14
15
|
type BadgeElement = React.ElementRef<'span'>;
|
|
15
16
|
type BadgeOwnProps = GetPropDefTypes<typeof badgePropDefs>;
|
|
@@ -52,14 +53,7 @@ const Badge = React.forwardRef<BadgeElement, BadgeProps>((props, forwardedRef) =
|
|
|
52
53
|
[material, panelBackground],
|
|
53
54
|
);
|
|
54
55
|
|
|
55
|
-
|
|
56
|
-
React.useEffect(() => {
|
|
57
|
-
if (panelBackground !== undefined) {
|
|
58
|
-
console.warn(
|
|
59
|
-
'Warning: The `panelBackground` prop is deprecated and will be removed in a future version. Use `material` prop instead.',
|
|
60
|
-
);
|
|
61
|
-
}
|
|
62
|
-
}, [panelBackground]);
|
|
56
|
+
useDeprecatedPanelBackgroundWarning(panelBackground);
|
|
63
57
|
|
|
64
58
|
// Memoize component variable to prevent unnecessary re-renders
|
|
65
59
|
const Comp = React.useMemo(() => (asChild ? Slot.Root : 'span'), [asChild]);
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
--material-blend: 60%;
|
|
18
18
|
--material-alpha: 1;
|
|
19
19
|
backdrop-filter: var(--backdrop-filter-components);
|
|
20
|
-
--backdrop-filter-components:
|
|
20
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
/* Prevent backdrop-filter stacking with parents */
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
--material-blend: 60%;
|
|
36
36
|
--material-alpha: 1;
|
|
37
37
|
backdrop-filter: var(--backdrop-filter-components);
|
|
38
|
-
--backdrop-filter-components:
|
|
38
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
&:where(.rt-high-contrast) {
|
|
@@ -173,7 +173,7 @@
|
|
|
173
173
|
/* Theme-level translucent override for the visual shell */
|
|
174
174
|
.rt-ChatbarRoot:where([data-panel-background='translucent'], [data-material='translucent']) .rt-ChatbarBox {
|
|
175
175
|
backdrop-filter: var(--backdrop-filter-components);
|
|
176
|
-
--backdrop-filter-components:
|
|
176
|
+
--backdrop-filter-components: var(--backdrop-filter-components-enabled);
|
|
177
177
|
}
|
|
178
178
|
.rt-ChatbarRoot:where([data-panel-background='solid'], [data-material='solid']) .rt-ChatbarBox {
|
|
179
179
|
backdrop-filter: none;
|
|
@@ -23,6 +23,7 @@ import { Kbd } from './kbd.js';
|
|
|
23
23
|
|
|
24
24
|
import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';
|
|
25
25
|
import type { GetPropDefTypes } from '../props/prop-def.js';
|
|
26
|
+
import { useDeprecatedPanelBackgroundWarning } from '../helpers/use-deprecation-warning.js';
|
|
26
27
|
|
|
27
28
|
interface ContextMenuRootProps
|
|
28
29
|
extends React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Root> {}
|
|
@@ -56,14 +57,7 @@ const ContextMenuContent = React.forwardRef<ContextMenuContentElement, ContextMe
|
|
|
56
57
|
(props, forwardedRef) => {
|
|
57
58
|
const themeContext = useThemeContext();
|
|
58
59
|
|
|
59
|
-
|
|
60
|
-
React.useEffect(() => {
|
|
61
|
-
if (props.panelBackground !== undefined) {
|
|
62
|
-
console.warn(
|
|
63
|
-
'Warning: The `panelBackground` prop is deprecated and will be removed in a future version. Use `material` prop instead.',
|
|
64
|
-
);
|
|
65
|
-
}
|
|
66
|
-
}, [props.panelBackground]);
|
|
60
|
+
useDeprecatedPanelBackgroundWarning(props.panelBackground);
|
|
67
61
|
|
|
68
62
|
// Material takes precedence over panelBackground
|
|
69
63
|
const effectiveMaterial =
|
|
@@ -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
|
import { useBodyPointerEventsCleanup } from '../hooks/use-body-pointer-events-cleanup.js';
|
|
12
13
|
|
|
@@ -33,6 +34,19 @@ const DialogTrigger = React.forwardRef<DialogTriggerElement, DialogTriggerProps>
|
|
|
33
34
|
);
|
|
34
35
|
DialogTrigger.displayName = 'Dialog.Trigger';
|
|
35
36
|
|
|
37
|
+
// Split once at module scope. `extractProps` memoises on the identity of the
|
|
38
|
+
// prop def objects it is handed, so rebuilding these per render would recompile
|
|
39
|
+
// them on every render.
|
|
40
|
+
const {
|
|
41
|
+
align: alignPropDef,
|
|
42
|
+
panelBackground: panelBackgroundPropDef,
|
|
43
|
+
material: materialPropDef,
|
|
44
|
+
...contentPropDefs
|
|
45
|
+
} = dialogContentPropDefs;
|
|
46
|
+
const alignPropDefs = { align: alignPropDef };
|
|
47
|
+
const panelBackgroundPropDefs = { panelBackground: panelBackgroundPropDef };
|
|
48
|
+
const materialPropDefs = { material: materialPropDef };
|
|
49
|
+
|
|
36
50
|
type DialogContentElement = React.ElementRef<typeof DialogPrimitive.Content>;
|
|
37
51
|
interface DialogContentProps
|
|
38
52
|
extends ComponentPropsWithout<typeof DialogPrimitive.Content, RemovedProps>,
|
|
@@ -41,35 +55,23 @@ interface DialogContentProps
|
|
|
41
55
|
}
|
|
42
56
|
const DialogContent = React.forwardRef<DialogContentElement, DialogContentProps>(
|
|
43
57
|
({ align, ...props }, forwardedRef) => {
|
|
44
|
-
const {
|
|
45
|
-
align: alignPropDef,
|
|
46
|
-
panelBackground: panelBackgroundPropDef,
|
|
47
|
-
material: materialPropDef,
|
|
48
|
-
...propDefs
|
|
49
|
-
} = dialogContentPropDefs;
|
|
50
|
-
|
|
51
|
-
const { className: alignClassName } = extractProps({ align }, { align: alignPropDef });
|
|
58
|
+
const { className: alignClassName } = extractProps({ align }, alignPropDefs);
|
|
52
59
|
|
|
53
60
|
// Extract panelBackground and material from props
|
|
54
61
|
const { panelBackground: extractedPanelBackground } = extractProps(
|
|
55
62
|
{ panelBackground: props.panelBackground },
|
|
56
|
-
|
|
63
|
+
panelBackgroundPropDefs,
|
|
57
64
|
);
|
|
58
65
|
|
|
59
66
|
const { material: extractedMaterial } = extractProps(
|
|
60
67
|
{ material: props.material },
|
|
61
|
-
|
|
68
|
+
materialPropDefs,
|
|
62
69
|
);
|
|
63
70
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
'Warning: The `panelBackground` prop is deprecated and will be removed in a future version. Use `material` prop instead.',
|
|
69
|
-
);
|
|
70
|
-
}
|
|
71
|
-
return extractedMaterial ?? extractedPanelBackground;
|
|
72
|
-
}, [extractedMaterial, extractedPanelBackground]);
|
|
71
|
+
useDeprecatedPanelBackgroundWarning(props.panelBackground);
|
|
72
|
+
|
|
73
|
+
// Material takes precedence over the deprecated panelBackground
|
|
74
|
+
const materialValue = extractedMaterial ?? extractedPanelBackground;
|
|
73
75
|
|
|
74
76
|
const {
|
|
75
77
|
className,
|
|
@@ -78,7 +80,7 @@ const DialogContent = React.forwardRef<DialogContentElement, DialogContentProps>
|
|
|
78
80
|
panelBackground: _,
|
|
79
81
|
material: __,
|
|
80
82
|
...contentProps
|
|
81
|
-
} = extractProps(props,
|
|
83
|
+
} = extractProps(props, contentPropDefs);
|
|
82
84
|
|
|
83
85
|
// Focus management
|
|
84
86
|
const contentRef = React.useRef<HTMLDivElement>(null);
|
|
@@ -140,65 +142,37 @@ const DialogContent = React.forwardRef<DialogContentElement, DialogContentProps>
|
|
|
140
142
|
};
|
|
141
143
|
}, []);
|
|
142
144
|
|
|
143
|
-
const contentElement = (
|
|
144
|
-
<DialogPrimitive.Content
|
|
145
|
-
{...contentProps}
|
|
146
|
-
ref={combinedRef}
|
|
147
|
-
className={classNames('rt-BaseDialogContent', 'rt-DialogContent', className)}
|
|
148
|
-
data-material={materialValue}
|
|
149
|
-
data-panel-background={materialValue}
|
|
150
|
-
tabIndex={-1}
|
|
151
|
-
role="dialog"
|
|
152
|
-
aria-modal="true"
|
|
153
|
-
onCloseAutoFocus={(event) => {
|
|
154
|
-
// Prevent default focus behavior
|
|
155
|
-
event.preventDefault();
|
|
156
|
-
// Restore pointer-events to body (Radix UI fix for issue #1241)
|
|
157
|
-
document.body.style.pointerEvents = '';
|
|
158
|
-
}}
|
|
159
|
-
/>
|
|
160
|
-
);
|
|
161
|
-
|
|
162
|
-
const ariaLiveRegion = (
|
|
163
|
-
<div
|
|
164
|
-
aria-live="polite"
|
|
165
|
-
aria-atomic="true"
|
|
166
|
-
className="rt-sr-only"
|
|
167
|
-
id="dialog-announcement"
|
|
168
|
-
/>
|
|
169
|
-
);
|
|
170
|
-
|
|
171
|
-
// When forceMount is used, render Overlay and Content as siblings so the
|
|
172
|
-
// Overlay (which uses react-remove-scroll) can unmount independently when
|
|
173
|
-
// the dialog closes, while the Content stays mounted.
|
|
174
|
-
if (forceMount) {
|
|
175
|
-
return (
|
|
176
|
-
<DialogPrimitive.Portal container={container} forceMount>
|
|
177
|
-
<Theme>
|
|
178
|
-
<DialogPrimitive.Overlay className="rt-BaseDialogOverlay rt-DialogOverlay" />
|
|
179
|
-
<div className="rt-BaseDialogScroll rt-DialogScroll rt-BaseDialogScroll--detached">
|
|
180
|
-
<div
|
|
181
|
-
className={`rt-BaseDialogScrollPadding rt-DialogScrollPadding ${alignClassName}`}
|
|
182
|
-
>
|
|
183
|
-
{React.cloneElement(contentElement, { forceMount: true })}
|
|
184
|
-
{ariaLiveRegion}
|
|
185
|
-
</div>
|
|
186
|
-
</div>
|
|
187
|
-
</Theme>
|
|
188
|
-
</DialogPrimitive.Portal>
|
|
189
|
-
);
|
|
190
|
-
}
|
|
191
|
-
|
|
192
145
|
return (
|
|
193
|
-
<DialogPrimitive.Portal container={container}>
|
|
146
|
+
<DialogPrimitive.Portal container={container} forceMount={forceMount}>
|
|
194
147
|
<Theme asChild>
|
|
195
148
|
<DialogPrimitive.Overlay className="rt-BaseDialogOverlay rt-DialogOverlay">
|
|
196
149
|
<div className="rt-BaseDialogScroll rt-DialogScroll">
|
|
197
150
|
<div
|
|
198
151
|
className={`rt-BaseDialogScrollPadding rt-DialogScrollPadding ${alignClassName}`}
|
|
199
152
|
>
|
|
200
|
-
|
|
201
|
-
|
|
153
|
+
<DialogPrimitive.Content
|
|
154
|
+
{...contentProps}
|
|
155
|
+
ref={combinedRef}
|
|
156
|
+
className={classNames('rt-BaseDialogContent', 'rt-DialogContent', className)}
|
|
157
|
+
data-material={materialValue}
|
|
158
|
+
data-panel-background={materialValue}
|
|
159
|
+
tabIndex={-1}
|
|
160
|
+
role="dialog"
|
|
161
|
+
aria-modal="true"
|
|
162
|
+
onCloseAutoFocus={(event) => {
|
|
163
|
+
// Prevent default focus behavior
|
|
164
|
+
event.preventDefault();
|
|
165
|
+
// Restore pointer-events to body (Radix UI fix for issue #1241)
|
|
166
|
+
document.body.style.pointerEvents = '';
|
|
167
|
+
}}
|
|
168
|
+
/>
|
|
169
|
+
{/* ARIA live region for screen reader announcements */}
|
|
170
|
+
<div
|
|
171
|
+
aria-live="polite"
|
|
172
|
+
aria-atomic="true"
|
|
173
|
+
className="rt-sr-only"
|
|
174
|
+
id="dialog-announcement"
|
|
175
|
+
/>
|
|
202
176
|
</div>
|
|
203
177
|
</div>
|
|
204
178
|
</DialogPrimitive.Overlay>
|