@womp/kookie-ui 0.26.2 → 0.26.3
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 +27 -4
- package/dist/cjs/components/_internal/base-button.js +1 -1
- package/dist/cjs/components/_internal/base-button.js.map +2 -2
- package/dist/cjs/components/_internal/pane-band-context.d.ts +4 -3
- package/dist/cjs/components/_internal/pane-band-context.d.ts.map +1 -1
- package/dist/cjs/components/_internal/pane-band-context.js.map +2 -2
- package/dist/cjs/components/_internal/pane-chrome.js.map +2 -2
- package/dist/cjs/components/_internal/portal-theme.d.ts +9 -0
- package/dist/cjs/components/_internal/portal-theme.d.ts.map +1 -0
- package/dist/cjs/components/_internal/portal-theme.js +3 -0
- package/dist/cjs/components/_internal/portal-theme.js.map +7 -0
- package/dist/cjs/components/_internal/shell-sidebar.js.map +2 -2
- package/dist/cjs/components/alert-dialog.js +1 -1
- package/dist/cjs/components/alert-dialog.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/chatbar.js +1 -1
- package/dist/cjs/components/chatbar.js.map +4 -4
- package/dist/cjs/components/chip.js +1 -1
- package/dist/cjs/components/chip.js.map +4 -4
- package/dist/cjs/components/combobox.d.ts.map +1 -1
- package/dist/cjs/components/combobox.js +1 -1
- package/dist/cjs/components/combobox.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/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/index.js +2 -2
- package/dist/cjs/components/index.js.map +4 -4
- package/dist/cjs/components/message-scroller.js +1 -1
- package/dist/cjs/components/message-scroller.js.map +4 -4
- package/dist/cjs/components/notice.js +1 -1
- package/dist/cjs/components/notice.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/select.d.ts.map +1 -1
- package/dist/cjs/components/select.js +1 -1
- package/dist/cjs/components/select.js.map +4 -4
- package/dist/cjs/components/sheet.js +1 -1
- package/dist/cjs/components/sheet.js.map +4 -4
- package/dist/cjs/components/shell.js.map +2 -2
- package/dist/cjs/components/sidebar.js +1 -1
- package/dist/cjs/components/sidebar.js.map +4 -4
- package/dist/cjs/components/spinner.d.ts.map +1 -1
- package/dist/cjs/components/spinner.js +1 -1
- package/dist/cjs/components/spinner.js.map +2 -2
- package/dist/cjs/components/text-area.d.ts.map +1 -1
- package/dist/cjs/components/text-area.js +1 -1
- package/dist/cjs/components/text-area.js.map +2 -2
- package/dist/cjs/components/text-field.d.ts.map +1 -1
- package/dist/cjs/components/text-field.js +2 -2
- package/dist/cjs/components/text-field.js.map +2 -2
- 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.js +1 -1
- package/dist/cjs/components/toggle.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/index.js +4 -4
- package/dist/cjs/index.js.map +4 -4
- package/dist/esm/{chunk-UG73IGRF.js → chunk-27XQ5PN5.js} +2 -2
- package/dist/esm/{chunk-F2722F7B.js → chunk-2NWHEGKZ.js} +2 -2
- package/dist/esm/chunk-2NWHEGKZ.js.map +7 -0
- package/dist/esm/{chunk-5FWEGTP6.js → chunk-2R7WQPXX.js} +2 -2
- package/dist/esm/chunk-2R7WQPXX.js.map +7 -0
- package/dist/esm/{chunk-H2TSRYQ5.js → chunk-324VC67W.js} +2 -2
- package/dist/esm/{chunk-TFGUTYZK.js → chunk-3UIODOPE.js} +2 -2
- package/dist/esm/chunk-4CIQRUYW.js +6 -0
- package/dist/esm/chunk-4CIQRUYW.js.map +7 -0
- package/dist/esm/{chunk-OTCVSJT7.js → chunk-4MNRLB57.js} +2 -2
- package/dist/esm/{chunk-E6BDD3PN.js → chunk-6C6EK2B5.js} +2 -2
- package/dist/esm/{chunk-W4CPV4PO.js → chunk-6JGF6PQH.js} +2 -2
- package/dist/esm/{chunk-NYBE3U3V.js → chunk-7QBNXNEN.js} +2 -2
- package/dist/esm/{chunk-C2WKAIZM.js → chunk-ACMANOVD.js} +2 -2
- package/dist/esm/{chunk-KQIZMPSW.js → chunk-ANQLWGFN.js} +1 -1
- package/dist/esm/{chunk-KQIZMPSW.js.map → chunk-ANQLWGFN.js.map} +2 -2
- package/dist/esm/chunk-BUXK5VGR.js +3 -0
- package/dist/esm/chunk-BUXK5VGR.js.map +7 -0
- package/dist/esm/{chunk-7QP6JFPO.js → chunk-C67MM24U.js} +2 -2
- package/dist/esm/{chunk-ULCHGKI3.js → chunk-CGFLZ3DC.js} +2 -2
- package/dist/esm/{chunk-LFAUMDU5.js → chunk-D2C2A2ZK.js} +2 -2
- package/dist/esm/{chunk-MS2ONKJJ.js → chunk-DSM5SUH3.js} +2 -2
- package/dist/esm/{chunk-AJANJ22M.js → chunk-E2LSWNWZ.js} +2 -2
- package/dist/esm/{chunk-BVQDDN5Q.js → chunk-EB4AG3OL.js} +2 -2
- package/dist/esm/{chunk-5PQCTVZB.js → chunk-ENQV6SEA.js} +2 -2
- package/dist/esm/{chunk-VVLUY4WR.js → chunk-EPGIYTFK.js} +2 -2
- package/dist/esm/{chunk-6M6HGIGN.js → chunk-FK434VPA.js} +2 -2
- package/dist/esm/{chunk-TFFMELAL.js → chunk-FYTLUDL3.js} +2 -2
- package/dist/esm/chunk-GMWCTK5G.js +3 -0
- package/dist/esm/chunk-GMWCTK5G.js.map +7 -0
- package/dist/esm/{chunk-F364PDDM.js → chunk-HLIOHDEX.js} +2 -2
- package/dist/esm/{chunk-ONJYRJ66.js → chunk-IDEDEPBM.js} +2 -2
- package/dist/esm/{chunk-ZKQCSGL3.js → chunk-ISCZ57VL.js} +2 -2
- package/dist/esm/{chunk-HVMRB3AH.js → chunk-JD4KR6VZ.js} +2 -2
- package/dist/esm/{chunk-NS573D6O.js → chunk-JP36JSNP.js} +2 -2
- package/dist/esm/{chunk-N3B6EGXL.js → chunk-KLYI5E6F.js} +2 -2
- package/dist/esm/{chunk-GOXGRJO6.js → chunk-MCHK36NI.js} +2 -2
- package/dist/esm/{chunk-VIVM525H.js → chunk-MGWGD6KI.js} +2 -2
- package/dist/esm/{chunk-K55IQP5H.js → chunk-MPCCYR7L.js} +2 -2
- package/dist/esm/chunk-MPCCYR7L.js.map +7 -0
- package/dist/esm/{chunk-EERKYRYI.js → chunk-NWXODCTD.js} +2 -2
- package/dist/esm/{chunk-3ZWHKNHI.js → chunk-OLTRWCQK.js} +2 -2
- package/dist/esm/{chunk-RD4T2MCC.js → chunk-OLWUS7PC.js} +2 -2
- package/dist/esm/chunk-OLWUS7PC.js.map +7 -0
- package/dist/esm/chunk-OUOP6Q3Z.js +3 -0
- package/dist/esm/chunk-OUOP6Q3Z.js.map +7 -0
- package/dist/esm/{chunk-UR5BUNNT.js → chunk-Q2TLWILH.js} +2 -2
- package/dist/esm/{chunk-VCZ2GYOF.js → chunk-Q5SANVIW.js} +2 -2
- package/dist/esm/{chunk-LGZCNQBS.js → chunk-QPRUTOLI.js} +2 -2
- package/dist/esm/{chunk-TTW3EAQT.js → chunk-QRV32INS.js} +2 -2
- package/dist/esm/chunk-R7YHDIFM.js +3 -0
- package/dist/esm/{chunk-M7IQIKB4.js.map → chunk-R7YHDIFM.js.map} +2 -2
- package/dist/esm/{chunk-UBUGG2OB.js → chunk-RP5ORPPH.js} +2 -2
- package/dist/esm/chunk-T2DZDW5Y.js +3 -0
- package/dist/esm/chunk-T2DZDW5Y.js.map +7 -0
- package/dist/esm/{chunk-2TWPPDII.js → chunk-UMR4AF35.js} +2 -2
- package/dist/esm/chunk-VPP5IDW7.js +3 -0
- package/dist/esm/chunk-VPP5IDW7.js.map +7 -0
- package/dist/esm/chunk-W3ES2XSB.js +3 -0
- package/dist/esm/chunk-W3ES2XSB.js.map +7 -0
- package/dist/esm/{chunk-TF6WAIUQ.js → chunk-W4Z6ORYO.js} +2 -2
- package/dist/esm/{chunk-ADL3LEOQ.js → chunk-WD66RYF6.js} +2 -2
- package/dist/esm/{chunk-TFFU435D.js → chunk-WYKNBNM5.js} +2 -2
- package/dist/esm/chunk-WYKNBNM5.js.map +7 -0
- package/dist/esm/{chunk-DIY2XQKR.js → chunk-X7JHZ3HA.js} +2 -2
- package/dist/esm/{chunk-H33NTGVF.js → chunk-XD3C3GVF.js} +2 -2
- package/dist/esm/{chunk-POP5NB33.js → chunk-XGES2VBG.js} +2 -2
- package/dist/esm/{chunk-VPUFKJQA.js → chunk-YMUERC2J.js} +2 -2
- package/dist/esm/chunk-YOZXIUZY.js +3 -0
- package/dist/esm/chunk-YOZXIUZY.js.map +7 -0
- package/dist/esm/{chunk-TXVZOS3E.js → chunk-Z5W4ACO2.js} +2 -2
- package/dist/esm/{chunk-3QN4C5LW.js → chunk-ZIAA2C4H.js} +2 -2
- package/dist/esm/components/_internal/base-button.js +1 -1
- package/dist/esm/components/_internal/base-menu.utils.js +1 -1
- package/dist/esm/components/_internal/menu-context.js +1 -1
- package/dist/esm/components/_internal/pane-band-context.d.ts +4 -3
- package/dist/esm/components/_internal/pane-band-context.d.ts.map +1 -1
- package/dist/esm/components/_internal/pane-band-context.js +1 -1
- package/dist/esm/components/_internal/pane-chrome.js +1 -1
- package/dist/esm/components/_internal/portal-theme.d.ts +9 -0
- package/dist/esm/components/_internal/portal-theme.d.ts.map +1 -0
- package/dist/esm/components/_internal/portal-theme.js +3 -0
- package/dist/esm/components/_internal/portal-theme.js.map +7 -0
- package/dist/esm/components/_internal/shell-bottom.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.js +1 -1
- package/dist/esm/components/alert-dialog.js +1 -1
- package/dist/esm/components/avatar.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/card.js +1 -1
- package/dist/esm/components/chatbar.js +1 -1
- package/dist/esm/components/checkbox-group.js +1 -1
- package/dist/esm/components/checkbox.js +1 -1
- package/dist/esm/components/chip.js +1 -1
- package/dist/esm/components/code.js +1 -1
- package/dist/esm/components/combobox.d.ts.map +1 -1
- package/dist/esm/components/combobox.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/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/flex.js +1 -1
- package/dist/esm/components/grid.js +1 -1
- package/dist/esm/components/heading.js +1 -1
- package/dist/esm/components/image.js +1 -1
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/kbd.js +1 -1
- package/dist/esm/components/link.js +1 -1
- package/dist/esm/components/message-scroller.js +1 -1
- package/dist/esm/components/navbar.js +1 -1
- package/dist/esm/components/notice.js +1 -1
- package/dist/esm/components/popover.js +1 -1
- package/dist/esm/components/progress.js +1 -1
- package/dist/esm/components/radio-group.js +1 -1
- package/dist/esm/components/radio.js +1 -1
- package/dist/esm/components/scroll-area.js +1 -1
- package/dist/esm/components/segmented-control.js +1 -1
- package/dist/esm/components/select.d.ts.map +1 -1
- package/dist/esm/components/select.js +1 -1
- package/dist/esm/components/separator.js +1 -1
- package/dist/esm/components/sheet.js +1 -1
- package/dist/esm/components/shell.js +1 -1
- package/dist/esm/components/sidebar.js +1 -1
- package/dist/esm/components/slider.js +1 -1
- package/dist/esm/components/spinner.d.ts.map +1 -1
- package/dist/esm/components/spinner.js +1 -1
- package/dist/esm/components/switch.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.d.ts.map +1 -1
- package/dist/esm/components/text-area.js +1 -1
- package/dist/esm/components/text-field.d.ts.map +1 -1
- package/dist/esm/components/text-field.js +1 -1
- package/dist/esm/components/text.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.js +1 -1
- package/dist/esm/components/toolbar.js +1 -1
- package/dist/esm/components/tooltip.js +1 -1
- package/dist/esm/components/virtual-menu.js +1 -1
- package/dist/esm/index.js +1 -1
- package/package.json +1 -1
- package/src/components/_internal/pane-band-context.ts +4 -3
- package/src/components/_internal/portal-theme.tsx +18 -0
- package/src/components/alert-dialog.tsx +3 -3
- package/src/components/combobox.tsx +4 -3
- package/src/components/context-menu.tsx +6 -5
- package/src/components/dialog.tsx +3 -3
- package/src/components/dropdown-menu.tsx +6 -5
- package/src/components/popover.tsx +3 -3
- package/src/components/select.tsx +4 -3
- package/src/components/sheet.tsx +3 -3
- package/src/components/spinner.css +16 -1
- package/src/components/spinner.tsx +14 -13
- package/src/components/text-area.css +7 -2
- package/src/components/text-area.tsx +10 -8
- package/src/components/text-field.css +7 -2
- package/src/components/text-field.tsx +10 -8
- package/src/components/theme.tsx +24 -30
- package/src/components/tooltip.tsx +3 -3
- package/styles.css +27 -4
- package/dist/esm/chunk-3C4Q6PMS.js +0 -3
- package/dist/esm/chunk-3C4Q6PMS.js.map +0 -7
- package/dist/esm/chunk-457Z4R5W.js +0 -3
- package/dist/esm/chunk-457Z4R5W.js.map +0 -7
- package/dist/esm/chunk-5FWEGTP6.js.map +0 -7
- package/dist/esm/chunk-5MEWNLNH.js +0 -3
- package/dist/esm/chunk-5MEWNLNH.js.map +0 -7
- package/dist/esm/chunk-BEHAT3GI.js +0 -3
- package/dist/esm/chunk-BEHAT3GI.js.map +0 -7
- package/dist/esm/chunk-DG2KIH54.js +0 -6
- package/dist/esm/chunk-DG2KIH54.js.map +0 -7
- package/dist/esm/chunk-DQCE7DHY.js +0 -3
- package/dist/esm/chunk-DQCE7DHY.js.map +0 -7
- package/dist/esm/chunk-F2722F7B.js.map +0 -7
- package/dist/esm/chunk-GE7FRBZ4.js +0 -3
- package/dist/esm/chunk-GE7FRBZ4.js.map +0 -7
- package/dist/esm/chunk-K55IQP5H.js.map +0 -7
- package/dist/esm/chunk-M7IQIKB4.js +0 -3
- package/dist/esm/chunk-RD4T2MCC.js.map +0 -7
- package/dist/esm/chunk-TFFU435D.js.map +0 -7
- /package/dist/esm/{chunk-UG73IGRF.js.map → chunk-27XQ5PN5.js.map} +0 -0
- /package/dist/esm/{chunk-H2TSRYQ5.js.map → chunk-324VC67W.js.map} +0 -0
- /package/dist/esm/{chunk-TFGUTYZK.js.map → chunk-3UIODOPE.js.map} +0 -0
- /package/dist/esm/{chunk-OTCVSJT7.js.map → chunk-4MNRLB57.js.map} +0 -0
- /package/dist/esm/{chunk-E6BDD3PN.js.map → chunk-6C6EK2B5.js.map} +0 -0
- /package/dist/esm/{chunk-W4CPV4PO.js.map → chunk-6JGF6PQH.js.map} +0 -0
- /package/dist/esm/{chunk-NYBE3U3V.js.map → chunk-7QBNXNEN.js.map} +0 -0
- /package/dist/esm/{chunk-C2WKAIZM.js.map → chunk-ACMANOVD.js.map} +0 -0
- /package/dist/esm/{chunk-7QP6JFPO.js.map → chunk-C67MM24U.js.map} +0 -0
- /package/dist/esm/{chunk-ULCHGKI3.js.map → chunk-CGFLZ3DC.js.map} +0 -0
- /package/dist/esm/{chunk-LFAUMDU5.js.map → chunk-D2C2A2ZK.js.map} +0 -0
- /package/dist/esm/{chunk-MS2ONKJJ.js.map → chunk-DSM5SUH3.js.map} +0 -0
- /package/dist/esm/{chunk-AJANJ22M.js.map → chunk-E2LSWNWZ.js.map} +0 -0
- /package/dist/esm/{chunk-BVQDDN5Q.js.map → chunk-EB4AG3OL.js.map} +0 -0
- /package/dist/esm/{chunk-5PQCTVZB.js.map → chunk-ENQV6SEA.js.map} +0 -0
- /package/dist/esm/{chunk-VVLUY4WR.js.map → chunk-EPGIYTFK.js.map} +0 -0
- /package/dist/esm/{chunk-6M6HGIGN.js.map → chunk-FK434VPA.js.map} +0 -0
- /package/dist/esm/{chunk-TFFMELAL.js.map → chunk-FYTLUDL3.js.map} +0 -0
- /package/dist/esm/{chunk-F364PDDM.js.map → chunk-HLIOHDEX.js.map} +0 -0
- /package/dist/esm/{chunk-ONJYRJ66.js.map → chunk-IDEDEPBM.js.map} +0 -0
- /package/dist/esm/{chunk-ZKQCSGL3.js.map → chunk-ISCZ57VL.js.map} +0 -0
- /package/dist/esm/{chunk-HVMRB3AH.js.map → chunk-JD4KR6VZ.js.map} +0 -0
- /package/dist/esm/{chunk-NS573D6O.js.map → chunk-JP36JSNP.js.map} +0 -0
- /package/dist/esm/{chunk-N3B6EGXL.js.map → chunk-KLYI5E6F.js.map} +0 -0
- /package/dist/esm/{chunk-GOXGRJO6.js.map → chunk-MCHK36NI.js.map} +0 -0
- /package/dist/esm/{chunk-VIVM525H.js.map → chunk-MGWGD6KI.js.map} +0 -0
- /package/dist/esm/{chunk-EERKYRYI.js.map → chunk-NWXODCTD.js.map} +0 -0
- /package/dist/esm/{chunk-3ZWHKNHI.js.map → chunk-OLTRWCQK.js.map} +0 -0
- /package/dist/esm/{chunk-UR5BUNNT.js.map → chunk-Q2TLWILH.js.map} +0 -0
- /package/dist/esm/{chunk-VCZ2GYOF.js.map → chunk-Q5SANVIW.js.map} +0 -0
- /package/dist/esm/{chunk-LGZCNQBS.js.map → chunk-QPRUTOLI.js.map} +0 -0
- /package/dist/esm/{chunk-TTW3EAQT.js.map → chunk-QRV32INS.js.map} +0 -0
- /package/dist/esm/{chunk-UBUGG2OB.js.map → chunk-RP5ORPPH.js.map} +0 -0
- /package/dist/esm/{chunk-2TWPPDII.js.map → chunk-UMR4AF35.js.map} +0 -0
- /package/dist/esm/{chunk-TF6WAIUQ.js.map → chunk-W4Z6ORYO.js.map} +0 -0
- /package/dist/esm/{chunk-ADL3LEOQ.js.map → chunk-WD66RYF6.js.map} +0 -0
- /package/dist/esm/{chunk-DIY2XQKR.js.map → chunk-X7JHZ3HA.js.map} +0 -0
- /package/dist/esm/{chunk-H33NTGVF.js.map → chunk-XD3C3GVF.js.map} +0 -0
- /package/dist/esm/{chunk-POP5NB33.js.map → chunk-XGES2VBG.js.map} +0 -0
- /package/dist/esm/{chunk-VPUFKJQA.js.map → chunk-YMUERC2J.js.map} +0 -0
- /package/dist/esm/{chunk-TXVZOS3E.js.map → chunk-Z5W4ACO2.js.map} +0 -0
- /package/dist/esm/{chunk-3QN4C5LW.js.map → chunk-ZIAA2C4H.js.map} +0 -0
package/dist/esm/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import"./chunk-AYKOOEZR.js";import{a as uo}from"./chunk-RIHTVZVJ.js";import{a as vo,b as wo,c as yo,d as zo}from"./chunk-3LIF53YY.js";import{a as so}from"./chunk-WTP2KIK3.js";import"./chunk-NG54K6FL.js";import{c as fo}from"./chunk-
|
|
2
|
+
import"./chunk-AYKOOEZR.js";import{a as uo}from"./chunk-RIHTVZVJ.js";import{a as vo,b as wo,c as yo,d as zo}from"./chunk-3LIF53YY.js";import{a as so}from"./chunk-WTP2KIK3.js";import"./chunk-NG54K6FL.js";import{a as eo}from"./chunk-R7YHDIFM.js";import{c as fo}from"./chunk-4CIQRUYW.js";import{a as mo}from"./chunk-UMR4AF35.js";import{a as po,c as to,d as xo,e as ao,f as bo,g as co,h as go,i as ho,j as io}from"./chunk-FK434VPA.js";import{a as jo}from"./chunk-7QBNXNEN.js";import{l as ko}from"./chunk-Q2TLWILH.js";import{a as _}from"./chunk-IDEDEPBM.js";import{a as $}from"./chunk-DSM5SUH3.js";import{h as oo}from"./chunk-X7JHZ3HA.js";import{e as ro}from"./chunk-ZIAA2C4H.js";import{c as X}from"./chunk-W4Z6ORYO.js";import{h as Y}from"./chunk-OUOP6Q3Z.js";import{a as Z}from"./chunk-324VC67W.js";import{g as no}from"./chunk-2R7WQPXX.js";import{h as lo}from"./chunk-XGES2VBG.js";import"./chunk-4G3FJUER.js";import"./chunk-ZG2XQUOH.js";import{c as U}from"./chunk-E2LSWNWZ.js";import{a as V}from"./chunk-6JGF6PQH.js";import{a as W}from"./chunk-L66IUPDW.js";import{a as Q}from"./chunk-C67MM24U.js";import{i as qo}from"./chunk-Z5W4ACO2.js";import{e as R}from"./chunk-NWXODCTD.js";import{a as S}from"./chunk-AXODGYRY.js";import{a as T}from"./chunk-D2C2A2ZK.js";import{g as M}from"./chunk-WYKNBNM5.js";import{o as N}from"./chunk-VPP5IDW7.js";import{a as O}from"./chunk-Q5SANVIW.js";import{a as P}from"./chunk-ENQV6SEA.js";import{m as E}from"./chunk-KLYI5E6F.js";import{b as B,c as C}from"./chunk-6C6EK2B5.js";import{c as F}from"./chunk-FYTLUDL3.js";import"./chunk-2VSRZ4IT.js";import{a as G}from"./chunk-JD4KR6VZ.js";import"./chunk-4KIZRO52.js";import{a as H}from"./chunk-3UIODOPE.js";import{a as I}from"./chunk-WD66RYF6.js";import{l as K}from"./chunk-GMWCTK5G.js";import{g as J}from"./chunk-OLWUS7PC.js";import{a as D}from"./chunk-WUCBFB25.js";import{n as L}from"./chunk-W3ES2XSB.js";import"./chunk-2ACVWLFA.js";import{a as h}from"./chunk-B6YGNB3V.js";import{f as i}from"./chunk-RP5ORPPH.js";import{h as n}from"./chunk-2NWHEGKZ.js";import"./chunk-FATCGZZE.js";import{a as l}from"./chunk-7VJF6EXN.js";import{a as j}from"./chunk-JP36JSNP.js";import"./chunk-TGRHRMQI.js";import{a as q}from"./chunk-MCHK36NI.js";import{a as s}from"./chunk-HLIOHDEX.js";import{a as u}from"./chunk-XD3C3GVF.js";import{a as z}from"./chunk-CGFLZ3DC.js";import{a as y}from"./chunk-Y2DBXOLT.js";import{a as v,b as w}from"./chunk-MPCCYR7L.js";import{a as k}from"./chunk-4MNRLB57.js";import"./chunk-BQC2P3SN.js";import"./chunk-UJ7JERJ5.js";import{a as A}from"./chunk-EPGIYTFK.js";import"./chunk-YMUERC2J.js";import"./chunk-ACMANOVD.js";import"./chunk-27XQ5PN5.js";import{a as f}from"./chunk-BUXK5VGR.js";import{a as e}from"./chunk-KVVRFWGQ.js";import"./chunk-YCLPURTD.js";import"./chunk-CR65RYGM.js";import{a as m,b as p,c as t,d as x}from"./chunk-GKDGNPBD.js";import"./chunk-7N2Q5WOM.js";import"./chunk-OAJ5DARR.js";import{b as o,c as r}from"./chunk-5KMEUZWN.js";import"./chunk-5JYSYTHA.js";import"./chunk-ISCZ57VL.js";import"./chunk-EB4AG3OL.js";import{a}from"./chunk-QPRUTOLI.js";import"./chunk-OLTRWCQK.js";import{a as b}from"./chunk-MGWGD6KI.js";import"./chunk-KOAWATCI.js";import"./chunk-5KJIPH2N.js";import"./chunk-YOSLXJI5.js";import"./chunk-LPLW7OWA.js";import"./chunk-L54FWKJE.js";import"./chunk-OKQAVYW4.js";import"./chunk-T2DZDW5Y.js";import{a as c,b as d,c as g}from"./chunk-YOZXIUZY.js";import"./chunk-GHUAUFG7.js";import"./chunk-HBWBPBSA.js";import"./chunk-5ON3XLRD.js";import"./chunk-XU74PNM2.js";import"./chunk-CLJ6SEGP.js";import"./chunk-ANQLWGFN.js";import"./chunk-QRV32INS.js";import"./chunk-3QWGSRYC.js";import"./chunk-LTUW36HM.js";import"./chunk-QKCNGEX4.js";import"./chunk-WEBNIUEX.js";import"./chunk-XUCR7L4G.js";import"./chunk-G66WDIIV.js";import"./chunk-GHWEXMF6.js";import"./chunk-MAA6LEE2.js";import"./chunk-VQPANPMI.js";export{vo as APPEARANCE_STORAGE_KEY,h as AccessibleIcon,i as Accordion,n as AlertDialog,q as Avatar,s as Blockquote,u as Box,z as Button,A as Card,E as Chatbar,G as Checkbox,F as CheckboxGroup,t as ChevronDownIcon,H as Chip,I as Code,K as Combobox,C as Confirmation,L as ContextMenu,M as Dialog,N as DropdownMenu,e as Flex,O as Grid,j as Heading,P as Image,a as Kbd,Q as Link,qo as MessageScroller,R as Navbar,B as Notice,J as Popover,S as Portal,T as Progress,V as Radio,U as RadioGroup,W as Reset,b as ScrollArea,X as SegmentedControl,Y as Select,Z as Separator,no as Sheet,lo as Shell,ko as Sidebar,_ as Slider,o as Slot,r as Slottable,f as Spinner,$ as Switch,oo as Table,ro as Tabs,k as Text,eo as TextArea,fo as TextField,g as Theme,c as ThemeContext,p as ThickCheckIcon,x as ThickChevronRightIcon,m as ThickDividerHorizontalIcon,mo as Toggle,io as Toolbar,xo as ToolbarButton,co as ToolbarFill,to as ToolbarGroup,ao as ToolbarOverflow,go as ToolbarSeparator,bo as ToolbarSlot,ho as ToolbarTitle,w as Tooltip,v as TooltipProvider,jo as VirtualMenu,D as VisuallyHidden,wo as appearanceScript,yo as setAppearance,zo as useAppearance,l as useBodyPointerEventsCleanup,so as useLiveAnnouncer,d as useThemeContext,uo as useToggleState,po as useToolbarOverflow,y as useTooltipWrapper};
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -4,11 +4,12 @@ type BandSize = '1' | '2' | '3' | '4';
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Set by `Shell.PaneHeader` and `Shell.PaneFooter` to their band size, and by `Shell.Scroll` to
|
|
7
|
-
* null (a scrolling list has no band).
|
|
7
|
+
* null (a scrolling list has no band). `PortalTheme`, the root of every portalled surface
|
|
8
8
|
* (Popover, Dialog, Sheet, menus), sets null too, so a Toolbar in one does not take the Shell's
|
|
9
|
-
* step. `Shell.Root` clears it again.
|
|
9
|
+
* step; a `Theme asChild` an app nests in a pane leaves it alone. `Shell.Root` clears it again.
|
|
10
|
+
* Unset (`undefined`) everywhere else.
|
|
10
11
|
*
|
|
11
|
-
* Its own module so
|
|
12
|
+
* Its own module so PortalTheme can reset it without bringing the Shell.
|
|
12
13
|
*/
|
|
13
14
|
const PaneBandSizeContext = React.createContext<BandSize | null | undefined>(undefined);
|
|
14
15
|
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
import { Theme } from '../theme.js';
|
|
4
|
+
import { PaneBandSizeContext } from './pane-band-context.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The Theme at the root of a portalled surface (Popover, Dialog, Sheet, menus, Tooltip). The
|
|
8
|
+
* surface renders outside any Shell pane even though context flows into it, so a Toolbar in it
|
|
9
|
+
* does not take the pane's band size. A `Theme asChild` an app nests in a pane keeps the band.
|
|
10
|
+
*/
|
|
11
|
+
const PortalTheme = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<typeof Theme>>((props, forwardedRef) => (
|
|
12
|
+
<PaneBandSizeContext.Provider value={null}>
|
|
13
|
+
<Theme {...props} ref={forwardedRef} />
|
|
14
|
+
</PaneBandSizeContext.Provider>
|
|
15
|
+
));
|
|
16
|
+
PortalTheme.displayName = 'PortalTheme';
|
|
17
|
+
|
|
18
|
+
export { PortalTheme };
|
|
@@ -5,7 +5,7 @@ import { AlertDialog as AlertDialogPrimitive } from 'radix-ui';
|
|
|
5
5
|
import { alertDialogContentPropDefs } from './alert-dialog.props.js';
|
|
6
6
|
import { Heading } from './heading.js';
|
|
7
7
|
import { Text } from './text.js';
|
|
8
|
-
import {
|
|
8
|
+
import { PortalTheme } from './_internal/portal-theme.js';
|
|
9
9
|
import { extractProps } from '../helpers/extract-props.js';
|
|
10
10
|
import { useThemeSizeProps } from '../hooks/theme-size.js';
|
|
11
11
|
import { requireReactElement } from '../helpers/require-react-element.js';
|
|
@@ -48,7 +48,7 @@ const AlertDialogContent = React.forwardRef<AlertDialogContentElement, AlertDial
|
|
|
48
48
|
|
|
49
49
|
return (
|
|
50
50
|
<AlertDialogPrimitive.Portal container={container} forceMount={forceMount}>
|
|
51
|
-
<
|
|
51
|
+
<PortalTheme asChild>
|
|
52
52
|
<AlertDialogPrimitive.Overlay className="kui-BaseDialogOverlay kui-AlertDialogOverlay">
|
|
53
53
|
<div className="kui-BaseDialogScroll kui-AlertDialogScroll">
|
|
54
54
|
<div className={`kui-BaseDialogScrollPadding kui-AlertDialogScrollPadding ${alignClassName}`}>
|
|
@@ -67,7 +67,7 @@ const AlertDialogContent = React.forwardRef<AlertDialogContentElement, AlertDial
|
|
|
67
67
|
</div>
|
|
68
68
|
</div>
|
|
69
69
|
</AlertDialogPrimitive.Overlay>
|
|
70
|
-
</
|
|
70
|
+
</PortalTheme>
|
|
71
71
|
</AlertDialogPrimitive.Portal>
|
|
72
72
|
);
|
|
73
73
|
});
|
|
@@ -29,7 +29,8 @@ import { useThemeSize } from '../hooks/theme-size.js';
|
|
|
29
29
|
import { comboboxRootPropDefs, comboboxTriggerPropDefs, comboboxContentPropDefs } from './combobox.props.js';
|
|
30
30
|
import { ChevronDownIcon, ThickCheckIcon } from './icons.js';
|
|
31
31
|
import { Spinner } from './spinner.js';
|
|
32
|
-
import {
|
|
32
|
+
import { useThemeContext } from './theme.js';
|
|
33
|
+
import { PortalTheme } from './_internal/portal-theme.js';
|
|
33
34
|
import { requireReactElement } from '../helpers/require-react-element.js';
|
|
34
35
|
import * as Popover from './popover.js';
|
|
35
36
|
import { Slottable } from './slot.js';
|
|
@@ -543,7 +544,7 @@ const ComboboxContent = React.forwardRef<ComboboxContentElement, ComboboxContent
|
|
|
543
544
|
|
|
544
545
|
return (
|
|
545
546
|
<PopoverPrimitive.Portal container={container} forceMount={forceMount ? true : undefined}>
|
|
546
|
-
<
|
|
547
|
+
<PortalTheme asChild>
|
|
547
548
|
<PopoverPrimitive.Content
|
|
548
549
|
data-accent-color={resolvedColor}
|
|
549
550
|
align="start"
|
|
@@ -573,7 +574,7 @@ const ComboboxContent = React.forwardRef<ComboboxContentElement, ComboboxContent
|
|
|
573
574
|
</CommandPrimitive>
|
|
574
575
|
</ComboboxContentContext.Provider>
|
|
575
576
|
</PopoverPrimitive.Content>
|
|
576
|
-
</
|
|
577
|
+
</PortalTheme>
|
|
577
578
|
</PopoverPrimitive.Portal>
|
|
578
579
|
);
|
|
579
580
|
});
|
|
@@ -17,7 +17,8 @@ import {
|
|
|
17
17
|
contextMenuCheckboxItemPropDefs,
|
|
18
18
|
contextMenuRadioItemPropDefs,
|
|
19
19
|
} from './context-menu.props.js';
|
|
20
|
-
import {
|
|
20
|
+
import { useThemeContext } from './theme.js';
|
|
21
|
+
import { PortalTheme } from './_internal/portal-theme.js';
|
|
21
22
|
import { ThickCheckIcon, ThickChevronRightIcon, ThickDotIcon } from './icons.js';
|
|
22
23
|
import { extractProps } from '../helpers/extract-props.js';
|
|
23
24
|
import { useThemeSizeProps } from '../hooks/theme-size.js';
|
|
@@ -133,7 +134,7 @@ const ContextMenuContent = React.forwardRef<ContextMenuContentElement, ContextMe
|
|
|
133
134
|
|
|
134
135
|
return (
|
|
135
136
|
<ContextMenuPrimitive.Portal container={container} forceMount={forceMount}>
|
|
136
|
-
<
|
|
137
|
+
<PortalTheme asChild>
|
|
137
138
|
<ContextMenuPrimitive.Content
|
|
138
139
|
data-accent-color={resolvedColor}
|
|
139
140
|
alignOffset={getMenuAlignOffset(scalarSize)}
|
|
@@ -159,7 +160,7 @@ const ContextMenuContent = React.forwardRef<ContextMenuContentElement, ContextMe
|
|
|
159
160
|
</ScrollArea>
|
|
160
161
|
)}
|
|
161
162
|
</ContextMenuPrimitive.Content>
|
|
162
|
-
</
|
|
163
|
+
</PortalTheme>
|
|
163
164
|
</ContextMenuPrimitive.Portal>
|
|
164
165
|
);
|
|
165
166
|
},
|
|
@@ -419,7 +420,7 @@ const ContextMenuSubContent = React.forwardRef<
|
|
|
419
420
|
|
|
420
421
|
return (
|
|
421
422
|
<ContextMenuPrimitive.Portal container={container} forceMount={forceMount}>
|
|
422
|
-
<
|
|
423
|
+
<PortalTheme asChild>
|
|
423
424
|
<ContextMenuPrimitive.SubContent
|
|
424
425
|
data-accent-color={color}
|
|
425
426
|
alignOffset={getMenuAlignOffset(scalarSize)}
|
|
@@ -449,7 +450,7 @@ const ContextMenuSubContent = React.forwardRef<
|
|
|
449
450
|
</ScrollArea>
|
|
450
451
|
)}
|
|
451
452
|
</ContextMenuPrimitive.SubContent>
|
|
452
|
-
</
|
|
453
|
+
</PortalTheme>
|
|
453
454
|
</ContextMenuPrimitive.Portal>
|
|
454
455
|
);
|
|
455
456
|
});
|
|
@@ -5,7 +5,7 @@ import { Dialog as DialogPrimitive } from 'radix-ui';
|
|
|
5
5
|
import { dialogContentPropDefs } from './dialog.props.js';
|
|
6
6
|
import { Heading } from './heading.js';
|
|
7
7
|
import { Text } from './text.js';
|
|
8
|
-
import {
|
|
8
|
+
import { PortalTheme } from './_internal/portal-theme.js';
|
|
9
9
|
import { extractProps } from '../helpers/extract-props.js';
|
|
10
10
|
import { useThemeSizeProps } from '../hooks/theme-size.js';
|
|
11
11
|
import { requireReactElement } from '../helpers/require-react-element.js';
|
|
@@ -48,7 +48,7 @@ const DialogContent = React.forwardRef<DialogContentElement, DialogContentProps>
|
|
|
48
48
|
|
|
49
49
|
return (
|
|
50
50
|
<DialogPrimitive.Portal container={container} forceMount={forceMount}>
|
|
51
|
-
<
|
|
51
|
+
<PortalTheme asChild>
|
|
52
52
|
<DialogPrimitive.Overlay className="kui-BaseDialogOverlay kui-DialogOverlay">
|
|
53
53
|
<div className="kui-BaseDialogScroll kui-DialogScroll">
|
|
54
54
|
<div className={`kui-BaseDialogScrollPadding kui-DialogScrollPadding ${alignClassName}`}>
|
|
@@ -67,7 +67,7 @@ const DialogContent = React.forwardRef<DialogContentElement, DialogContentProps>
|
|
|
67
67
|
</div>
|
|
68
68
|
</div>
|
|
69
69
|
</DialogPrimitive.Overlay>
|
|
70
|
-
</
|
|
70
|
+
</PortalTheme>
|
|
71
71
|
</DialogPrimitive.Portal>
|
|
72
72
|
);
|
|
73
73
|
});
|
|
@@ -13,7 +13,8 @@ import {
|
|
|
13
13
|
dropdownMenuCheckboxItemPropDefs,
|
|
14
14
|
dropdownMenuRadioItemPropDefs,
|
|
15
15
|
} from './dropdown-menu.props.js';
|
|
16
|
-
import {
|
|
16
|
+
import { useThemeContext } from './theme.js';
|
|
17
|
+
import { PortalTheme } from './_internal/portal-theme.js';
|
|
17
18
|
import { ChevronDownIcon, ThickCheckIcon, ThickChevronLeftIcon, ThickChevronRightIcon, ThickDotIcon } from './icons.js';
|
|
18
19
|
import { extractProps } from '../helpers/extract-props.js';
|
|
19
20
|
import { useThemeSizeProps } from '../hooks/theme-size.js';
|
|
@@ -196,7 +197,7 @@ const DropdownMenuContent = React.forwardRef<DropdownMenuContentElement, Dropdow
|
|
|
196
197
|
|
|
197
198
|
return (
|
|
198
199
|
<DropdownMenuPrimitive.Portal container={container} forceMount={forceMount}>
|
|
199
|
-
<
|
|
200
|
+
<PortalTheme asChild>
|
|
200
201
|
<DropdownMenuPrimitive.Content
|
|
201
202
|
data-accent-color={resolvedColor}
|
|
202
203
|
align="start"
|
|
@@ -227,7 +228,7 @@ const DropdownMenuContent = React.forwardRef<DropdownMenuContentElement, Dropdow
|
|
|
227
228
|
</ScrollArea>
|
|
228
229
|
)}
|
|
229
230
|
</DropdownMenuPrimitive.Content>
|
|
230
|
-
</
|
|
231
|
+
</PortalTheme>
|
|
231
232
|
</DropdownMenuPrimitive.Portal>
|
|
232
233
|
);
|
|
233
234
|
},
|
|
@@ -724,7 +725,7 @@ const CascadeSubContent = React.forwardRef<DropdownMenuSubContentElement, Dropdo
|
|
|
724
725
|
|
|
725
726
|
return (
|
|
726
727
|
<DropdownMenuPrimitive.Portal container={container} forceMount={forceMount}>
|
|
727
|
-
<
|
|
728
|
+
<PortalTheme asChild>
|
|
728
729
|
<DropdownMenuPrimitive.SubContent
|
|
729
730
|
data-accent-color={color}
|
|
730
731
|
alignOffset={getMenuAlignOffset(scalarSize)}
|
|
@@ -754,7 +755,7 @@ const CascadeSubContent = React.forwardRef<DropdownMenuSubContentElement, Dropdo
|
|
|
754
755
|
</ScrollArea>
|
|
755
756
|
)}
|
|
756
757
|
</DropdownMenuPrimitive.SubContent>
|
|
757
|
-
</
|
|
758
|
+
</PortalTheme>
|
|
758
759
|
</DropdownMenuPrimitive.Portal>
|
|
759
760
|
);
|
|
760
761
|
},
|
|
@@ -6,7 +6,7 @@ import { extractProps } from '../helpers/extract-props.js';
|
|
|
6
6
|
import { useThemeSizeProps } from '../hooks/theme-size.js';
|
|
7
7
|
import { requireReactElement } from '../helpers/require-react-element.js';
|
|
8
8
|
import { popoverContentPropDefs } from './popover.props.js';
|
|
9
|
-
import {
|
|
9
|
+
import { PortalTheme } from './_internal/portal-theme.js';
|
|
10
10
|
|
|
11
11
|
import type { PopoverContentOwnProps } from './popover.props.js';
|
|
12
12
|
import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';
|
|
@@ -69,7 +69,7 @@ const PopoverContent = React.forwardRef<PopoverContentElement, PopoverContentPro
|
|
|
69
69
|
|
|
70
70
|
return (
|
|
71
71
|
<PopoverPrimitive.Portal container={container} forceMount={forceMount}>
|
|
72
|
-
<
|
|
72
|
+
<PortalTheme asChild>
|
|
73
73
|
<PopoverPrimitive.Content
|
|
74
74
|
align="start"
|
|
75
75
|
sideOffset={8}
|
|
@@ -84,7 +84,7 @@ const PopoverContent = React.forwardRef<PopoverContentElement, PopoverContentPro
|
|
|
84
84
|
{props.children}
|
|
85
85
|
</PopoverContentContext.Provider>
|
|
86
86
|
</PopoverPrimitive.Content>
|
|
87
|
-
</
|
|
87
|
+
</PortalTheme>
|
|
88
88
|
</PopoverPrimitive.Portal>
|
|
89
89
|
);
|
|
90
90
|
},
|
|
@@ -13,7 +13,8 @@ import {
|
|
|
13
13
|
selectTriggerPropDefs,
|
|
14
14
|
selectContentPropDefs,
|
|
15
15
|
} from './select.props.js';
|
|
16
|
-
import { useThemeContext
|
|
16
|
+
import { useThemeContext } from './theme.js';
|
|
17
|
+
import { PortalTheme } from './_internal/portal-theme.js';
|
|
17
18
|
import { useThumbSync } from '../hooks/use-thumb-sync.js';
|
|
18
19
|
|
|
19
20
|
import type { GetPropDefTypes } from '../props/prop-def.js';
|
|
@@ -203,7 +204,7 @@ const SelectContent = React.forwardRef<SelectContentElement, SelectContentProps>
|
|
|
203
204
|
const resolvedColor = color || themeContext.accentColor;
|
|
204
205
|
return (
|
|
205
206
|
<SelectPrimitive.Portal container={container}>
|
|
206
|
-
<
|
|
207
|
+
<PortalTheme asChild>
|
|
207
208
|
<SelectPrimitive.Content
|
|
208
209
|
data-accent-color={resolvedColor}
|
|
209
210
|
sideOffset={4}
|
|
@@ -220,7 +221,7 @@ const SelectContent = React.forwardRef<SelectContentElement, SelectContentProps>
|
|
|
220
221
|
>
|
|
221
222
|
<SelectScrollArea>{children}</SelectScrollArea>
|
|
222
223
|
</SelectPrimitive.Content>
|
|
223
|
-
</
|
|
224
|
+
</PortalTheme>
|
|
224
225
|
</SelectPrimitive.Portal>
|
|
225
226
|
);
|
|
226
227
|
},
|
package/src/components/sheet.tsx
CHANGED
|
@@ -38,7 +38,7 @@ import { Dialog as DialogPrimitive } from 'radix-ui';
|
|
|
38
38
|
|
|
39
39
|
import { dialogContentPropDefs } from './dialog.props.js';
|
|
40
40
|
import type { DialogContentOwnProps } from './dialog.props.js';
|
|
41
|
-
import {
|
|
41
|
+
import { PortalTheme } from './_internal/portal-theme.js';
|
|
42
42
|
import { Heading } from './heading.js';
|
|
43
43
|
import { Text } from './text.js';
|
|
44
44
|
import { extractProps } from '../helpers/extract-props.js';
|
|
@@ -147,7 +147,7 @@ const Content = React.forwardRef<SheetContentElement, SheetContentProps>((allPro
|
|
|
147
147
|
return (
|
|
148
148
|
<DialogPrimitive.Portal container={container} forceMount={forceMount}>
|
|
149
149
|
<SheetTitleCountContext.Provider value={titleCountRef}>
|
|
150
|
-
<
|
|
150
|
+
<PortalTheme asChild>
|
|
151
151
|
<DialogPrimitive.Overlay className="kui-BaseDialogOverlay kui-DialogOverlay kui-SheetOverlay">
|
|
152
152
|
<DialogPrimitive.Content
|
|
153
153
|
{...contentProps}
|
|
@@ -157,7 +157,7 @@ const Content = React.forwardRef<SheetContentElement, SheetContentProps>((allPro
|
|
|
157
157
|
aria-modal="true"
|
|
158
158
|
/>
|
|
159
159
|
</DialogPrimitive.Overlay>
|
|
160
|
-
</
|
|
160
|
+
</PortalTheme>
|
|
161
161
|
</SheetTitleCountContext.Provider>
|
|
162
162
|
</DialogPrimitive.Portal>
|
|
163
163
|
);
|
|
@@ -98,8 +98,23 @@
|
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
+
/* A Spinner with children is one tree, loading or not. At rest it steps out of layout. */
|
|
102
|
+
.kui-SpinnerHost:where(:not([data-loading])) {
|
|
103
|
+
display: contents;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.kui-SpinnerHost:where([data-loading]) {
|
|
107
|
+
position: relative;
|
|
108
|
+
display: flex;
|
|
109
|
+
align-items: center;
|
|
110
|
+
justify-content: center;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.kui-SpinnerChildren {
|
|
114
|
+
display: contents;
|
|
115
|
+
}
|
|
116
|
+
|
|
101
117
|
/* Children of a Spinner keep their space but are not shown while it spins. A class, not an inline style. */
|
|
102
118
|
.kui-SpinnerHiddenChildren {
|
|
103
|
-
display: contents;
|
|
104
119
|
visibility: hidden;
|
|
105
120
|
}
|
|
@@ -19,7 +19,8 @@ const Spinner = React.forwardRef<SpinnerElement, SpinnerProps>((props, forwarded
|
|
|
19
19
|
spinnerPropDefs
|
|
20
20
|
);
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
// Without children a Spinner is only the wheel, shown while loading.
|
|
23
|
+
if (children === undefined && !loading) return null;
|
|
23
24
|
|
|
24
25
|
// Decorative unless named: a named spinner is a status message, an unnamed one is hidden.
|
|
25
26
|
const named =
|
|
@@ -50,22 +51,22 @@ const Spinner = React.forwardRef<SpinnerElement, SpinnerProps>((props, forwarded
|
|
|
50
51
|
|
|
51
52
|
if (children === undefined) return spinner;
|
|
52
53
|
|
|
54
|
+
// With children, one tree whether loading or not, so starting or stopping never remounts them
|
|
55
|
+
// (their state, focus and refs survive). At rest the host is `display: contents`; while loading
|
|
56
|
+
// it centres the wheel over the children, which keep their space but are hidden.
|
|
53
57
|
return (
|
|
54
|
-
<
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
{children}
|
|
62
|
-
</span>
|
|
63
|
-
|
|
58
|
+
<span className="kui-SpinnerHost" data-loading={loading || undefined} aria-busy={loading || undefined}>
|
|
59
|
+
{/* `display: contents` removes the content from the accessibility tree in some browsers, so
|
|
60
|
+
while loading it is removed with `aria-hidden` too. */}
|
|
61
|
+
<span aria-hidden={loading || undefined} className={classNames('kui-SpinnerChildren', loading && 'kui-SpinnerHiddenChildren')}>
|
|
62
|
+
{children}
|
|
63
|
+
</span>
|
|
64
|
+
{loading ? (
|
|
64
65
|
<Flex asChild align="center" justify="center" position="absolute" inset="0">
|
|
65
66
|
<span>{spinner}</span>
|
|
66
67
|
</Flex>
|
|
67
|
-
|
|
68
|
-
</
|
|
68
|
+
) : null}
|
|
69
|
+
</span>
|
|
69
70
|
);
|
|
70
71
|
});
|
|
71
72
|
Spinner.displayName = 'Spinner';
|
|
@@ -464,8 +464,13 @@
|
|
|
464
464
|
* *
|
|
465
465
|
***************************************************************************************************/
|
|
466
466
|
|
|
467
|
-
/* With an error message, one box holds the field and the message below it.
|
|
468
|
-
.
|
|
467
|
+
/* With an error message, one box holds the field and the message below it. Without one the
|
|
468
|
+
wrapper steps out of layout, and the field is the box. */
|
|
469
|
+
.kui-TextAreaWrapper:where(:not([data-message])) {
|
|
470
|
+
display: contents;
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
.kui-TextAreaWrapper:where([data-message]) {
|
|
469
474
|
display: flex;
|
|
470
475
|
flex-direction: column;
|
|
471
476
|
min-width: 0;
|
|
@@ -81,16 +81,18 @@ const TextArea = React.forwardRef<TextAreaElement, TextAreaProps>((ownProps, for
|
|
|
81
81
|
/>
|
|
82
82
|
</div>
|
|
83
83
|
);
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
//
|
|
87
|
-
//
|
|
84
|
+
// The wrapper is always there, so a message coming or going never moves the field in the tree:
|
|
85
|
+
// moving it would remount the input, dropping focus, the caret and an uncontrolled value. With
|
|
86
|
+
// no message it is `display: contents` and the field is the box the parent lays out; with one
|
|
87
|
+
// it holds the field and the message below it, and the caller's className and style size the pair.
|
|
88
88
|
return (
|
|
89
|
-
<div className={classNames('kui-TextAreaWrapper', ownClassName)} style={ownStyle}>
|
|
89
|
+
<div className={classNames('kui-TextAreaWrapper', wrapped && ownClassName)} style={wrapped ? ownStyle : undefined} data-message={wrapped || undefined}>
|
|
90
90
|
{field}
|
|
91
|
-
|
|
92
|
-
{
|
|
93
|
-
|
|
91
|
+
{wrapped ? (
|
|
92
|
+
<div id={errorId} className="kui-TextAreaErrorMessage" role="alert">
|
|
93
|
+
{textAreaProps.errorMessage}
|
|
94
|
+
</div>
|
|
95
|
+
) : null}
|
|
94
96
|
</div>
|
|
95
97
|
);
|
|
96
98
|
});
|
|
@@ -645,8 +645,13 @@
|
|
|
645
645
|
}
|
|
646
646
|
|
|
647
647
|
/* Error message styling */
|
|
648
|
-
/* With an error message, one box holds the field and the message below it.
|
|
649
|
-
.
|
|
648
|
+
/* With an error message, one box holds the field and the message below it. Without one the
|
|
649
|
+
wrapper steps out of layout, and the field is the box. */
|
|
650
|
+
.kui-TextFieldWrapper:where(:not([data-message])) {
|
|
651
|
+
display: contents;
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
.kui-TextFieldWrapper:where([data-message]) {
|
|
650
655
|
display: flex;
|
|
651
656
|
flex-direction: column;
|
|
652
657
|
min-width: 0;
|
|
@@ -120,16 +120,18 @@ const TextFieldRoot = React.forwardRef<TextFieldRootElement, TextFieldRootProps>
|
|
|
120
120
|
<TextFieldContext.Provider value={contextValue}>{children}</TextFieldContext.Provider>
|
|
121
121
|
</div>
|
|
122
122
|
);
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
//
|
|
126
|
-
//
|
|
123
|
+
// The wrapper is always there, so a message coming or going never moves the field in the tree:
|
|
124
|
+
// moving it would remount the input, dropping focus, the caret and an uncontrolled value. With
|
|
125
|
+
// no message it is `display: contents` and the field is the box the parent lays out; with one
|
|
126
|
+
// it holds the field and the message below it, and the caller's className and style size the pair.
|
|
127
127
|
return (
|
|
128
|
-
<div className={classNames('kui-TextFieldWrapper', ownClassName)} style={ownStyle}>
|
|
128
|
+
<div className={classNames('kui-TextFieldWrapper', wrapped && ownClassName)} style={wrapped ? ownStyle : undefined} data-message={wrapped || undefined}>
|
|
129
129
|
{field}
|
|
130
|
-
|
|
131
|
-
{
|
|
132
|
-
|
|
130
|
+
{wrapped ? (
|
|
131
|
+
<div id={errorId} className="kui-TextFieldErrorMessage" role="alert">
|
|
132
|
+
{inputProps.errorMessage}
|
|
133
|
+
</div>
|
|
134
|
+
) : null}
|
|
133
135
|
</div>
|
|
134
136
|
);
|
|
135
137
|
});
|
package/src/components/theme.tsx
CHANGED
|
@@ -6,7 +6,6 @@ import { Direction, Slot } from 'radix-ui';
|
|
|
6
6
|
|
|
7
7
|
import { getMatchingGrayColor } from '../helpers/get-matching-gray-color.js';
|
|
8
8
|
import { ThemeSizeContext } from '../hooks/theme-size.js';
|
|
9
|
-
import { PaneBandSizeContext } from './_internal/pane-band-context.js';
|
|
10
9
|
import { usePropSyncedState } from '../hooks/use-prop-synced-state.js';
|
|
11
10
|
import { themePropDefs } from './theme.props.js';
|
|
12
11
|
|
|
@@ -150,7 +149,6 @@ interface ThemeImplPrivateProps extends Partial<ThemeChangeHandlers> {
|
|
|
150
149
|
}
|
|
151
150
|
const ThemeImpl = React.forwardRef<ThemeImplElement, ThemeImplProps>((props, forwardedRef) => {
|
|
152
151
|
const context = React.useContext(ThemeContext);
|
|
153
|
-
const outerBand = React.useContext(PaneBandSizeContext);
|
|
154
152
|
const {
|
|
155
153
|
asChild,
|
|
156
154
|
isRoot,
|
|
@@ -221,34 +219,30 @@ const ThemeImpl = React.forwardRef<ThemeImplElement, ThemeImplProps>((props, for
|
|
|
221
219
|
],
|
|
222
220
|
)}
|
|
223
221
|
>
|
|
224
|
-
{/*
|
|
225
|
-
|
|
226
|
-
<
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
{
|
|
241
|
-
|
|
242
|
-
'
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
)}
|
|
249
|
-
/>
|
|
250
|
-
</ThemeSizeContext.Provider>
|
|
251
|
-
</PaneBandSizeContext.Provider>
|
|
222
|
+
{/* Size travels on its own context as a bare string, so the components
|
|
223
|
+
that read it do not re-render when another theme value changes. */}
|
|
224
|
+
<ThemeSizeContext.Provider value={size}>
|
|
225
|
+
<Comp
|
|
226
|
+
data-is-root-theme={isRoot ? 'true' : 'false'}
|
|
227
|
+
data-accent-color={accentColor}
|
|
228
|
+
data-gray-color={resolvedGrayColor}
|
|
229
|
+
// for nested `Theme` background
|
|
230
|
+
data-has-background={hasBackground ? 'true' : 'false'}
|
|
231
|
+
data-radius={radius}
|
|
232
|
+
data-font-family={fontFamily}
|
|
233
|
+
data-heading-font-family={headingFontFamily}
|
|
234
|
+
ref={forwardedRef}
|
|
235
|
+
{...themeProps}
|
|
236
|
+
className={classNames(
|
|
237
|
+
'kui-theme',
|
|
238
|
+
{
|
|
239
|
+
light: appearance === 'light',
|
|
240
|
+
dark: appearance === 'dark',
|
|
241
|
+
},
|
|
242
|
+
themeProps.className,
|
|
243
|
+
)}
|
|
244
|
+
/>
|
|
245
|
+
</ThemeSizeContext.Provider>
|
|
252
246
|
</ThemeContext.Provider>
|
|
253
247
|
);
|
|
254
248
|
});
|
|
@@ -3,7 +3,7 @@ import classNames from 'classnames';
|
|
|
3
3
|
import { Tooltip as TooltipPrimitive } from 'radix-ui';
|
|
4
4
|
|
|
5
5
|
import { Text } from './text.js';
|
|
6
|
-
import {
|
|
6
|
+
import { PortalTheme } from './_internal/portal-theme.js';
|
|
7
7
|
import { extractProps } from '../helpers/extract-props.js';
|
|
8
8
|
import { tooltipPropDefs } from './tooltip.props.js';
|
|
9
9
|
|
|
@@ -63,7 +63,7 @@ const Tooltip = React.forwardRef<TooltipElement, TooltipProps>((props, forwarded
|
|
|
63
63
|
<TooltipPrimitive.Root {...rootProps}>
|
|
64
64
|
<TooltipPrimitive.Trigger asChild>{children}</TooltipPrimitive.Trigger>
|
|
65
65
|
<TooltipPrimitive.Portal container={container} forceMount={forceMount}>
|
|
66
|
-
<
|
|
66
|
+
<PortalTheme asChild>
|
|
67
67
|
<TooltipPrimitive.Content
|
|
68
68
|
sideOffset={4}
|
|
69
69
|
collisionPadding={10}
|
|
@@ -77,7 +77,7 @@ const Tooltip = React.forwardRef<TooltipElement, TooltipProps>((props, forwarded
|
|
|
77
77
|
</Text>
|
|
78
78
|
<TooltipPrimitive.Arrow className="kui-TooltipArrow" />
|
|
79
79
|
</TooltipPrimitive.Content>
|
|
80
|
-
</
|
|
80
|
+
</PortalTheme>
|
|
81
81
|
</TooltipPrimitive.Portal>
|
|
82
82
|
</TooltipPrimitive.Root>
|
|
83
83
|
);
|