@womp/kookie-ui 0.26.2 → 0.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components.css +165 -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.d.ts +7 -1
- package/dist/cjs/components/_internal/pane-chrome.d.ts.map +1 -1
- package/dist/cjs/components/_internal/pane-chrome.js +1 -1
- package/dist/cjs/components/_internal/pane-chrome.js.map +4 -4
- 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-page-scroll.d.ts +15 -0
- package/dist/cjs/components/_internal/shell-page-scroll.d.ts.map +1 -0
- package/dist/cjs/components/_internal/shell-page-scroll.js +3 -0
- package/dist/cjs/components/_internal/shell-page-scroll.js.map +7 -0
- 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/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/schemas/index.js +1 -1
- package/dist/cjs/components/schemas/index.js.map +2 -2
- package/dist/cjs/components/schemas/shell.schema.d.ts +1 -0
- package/dist/cjs/components/schemas/shell.schema.d.ts.map +1 -1
- package/dist/cjs/components/schemas/shell.schema.js +1 -1
- package/dist/cjs/components/schemas/shell.schema.js.map +2 -2
- 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.d.ts +11 -0
- 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/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-6M6HGIGN.js → chunk-25ZRMILM.js} +2 -2
- package/dist/esm/chunk-2E57H3NH.js +3 -0
- package/dist/esm/chunk-2E57H3NH.js.map +7 -0
- package/dist/esm/chunk-2S7HPQVX.js +3 -0
- package/dist/esm/chunk-2S7HPQVX.js.map +7 -0
- package/dist/esm/{chunk-UG73IGRF.js → chunk-2ZKEQS76.js} +2 -2
- package/dist/esm/{chunk-H2TSRYQ5.js → chunk-324VC67W.js} +2 -2
- package/dist/esm/{chunk-UR5BUNNT.js → chunk-3MFSQ6PN.js} +2 -2
- package/dist/esm/{chunk-OTCVSJT7.js → chunk-4MNRLB57.js} +2 -2
- package/dist/esm/{chunk-TFFU435D.js → chunk-5BX2YZV6.js} +2 -2
- package/dist/esm/chunk-5BX2YZV6.js.map +7 -0
- package/dist/esm/chunk-67UEMB4K.js +3 -0
- package/dist/esm/chunk-67UEMB4K.js.map +7 -0
- package/dist/esm/chunk-6HEORZNJ.js +3 -0
- package/dist/esm/chunk-6HEORZNJ.js.map +7 -0
- package/dist/esm/{chunk-K55IQP5H.js → chunk-6YWHNLSC.js} +2 -2
- package/dist/esm/chunk-6YWHNLSC.js.map +7 -0
- package/dist/esm/{chunk-NYBE3U3V.js → chunk-7QBNXNEN.js} +2 -2
- package/dist/esm/{chunk-E6BDD3PN.js → chunk-7V6M3MIR.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-AQKSO3SW.js +3 -0
- package/dist/esm/chunk-AQKSO3SW.js.map +7 -0
- package/dist/esm/{chunk-ONJYRJ66.js → chunk-B6OFKABP.js} +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-CZ24FOFS.js +3 -0
- package/dist/esm/chunk-CZ24FOFS.js.map +7 -0
- package/dist/esm/{chunk-LFAUMDU5.js → chunk-D2C2A2ZK.js} +2 -2
- package/dist/esm/{chunk-UBUGG2OB.js → chunk-DP7MPGR7.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-2TWPPDII.js → chunk-FMVOB367.js} +2 -2
- package/dist/esm/chunk-FVRVBB6O.js +3 -0
- package/dist/esm/chunk-FVRVBB6O.js.map +7 -0
- package/dist/esm/{chunk-TFFMELAL.js → chunk-FYTLUDL3.js} +2 -2
- package/dist/esm/{chunk-W4CPV4PO.js → chunk-H2J25HXP.js} +2 -2
- package/dist/esm/{chunk-C2WKAIZM.js → chunk-H73AMXCH.js} +2 -2
- package/dist/esm/{chunk-AJANJ22M.js → chunk-HBO7W7SS.js} +2 -2
- package/dist/esm/{chunk-F364PDDM.js → chunk-HLIOHDEX.js} +2 -2
- package/dist/esm/{chunk-5FWEGTP6.js → chunk-HR2VHGJ5.js} +2 -2
- package/dist/esm/chunk-HR2VHGJ5.js.map +7 -0
- package/dist/esm/{chunk-ZKQCSGL3.js → chunk-ISCZ57VL.js} +2 -2
- package/dist/esm/{chunk-TFGUTYZK.js → chunk-J54GYD7A.js} +2 -2
- package/dist/esm/{chunk-HVMRB3AH.js → chunk-JD4KR6VZ.js} +2 -2
- package/dist/esm/{chunk-MS2ONKJJ.js → chunk-JKQN6QCP.js} +2 -2
- package/dist/esm/{chunk-NS573D6O.js → chunk-JP36JSNP.js} +2 -2
- package/dist/esm/chunk-K3GDM26A.js +3 -0
- package/dist/esm/{chunk-M7IQIKB4.js.map → chunk-K3GDM26A.js.map} +2 -2
- package/dist/esm/{chunk-ULCHGKI3.js → chunk-KJZSXLIX.js} +2 -2
- package/dist/esm/{chunk-N3B6EGXL.js → chunk-LABMK6Q7.js} +2 -2
- package/dist/esm/{chunk-VIVM525H.js → chunk-MGWGD6KI.js} +2 -2
- package/dist/esm/{chunk-RD4T2MCC.js → chunk-MJKVVGGV.js} +2 -2
- package/dist/esm/chunk-MJKVVGGV.js.map +7 -0
- package/dist/esm/{chunk-TXVZOS3E.js → chunk-MMDZBPSX.js} +2 -2
- package/dist/esm/{chunk-EERKYRYI.js → chunk-NWXODCTD.js} +2 -2
- package/dist/esm/{chunk-VCZ2GYOF.js → chunk-Q5SANVIW.js} +2 -2
- package/dist/esm/chunk-QEDKL23P.js +3 -0
- package/dist/esm/chunk-QEDKL23P.js.map +7 -0
- 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-3QN4C5LW.js → chunk-REORAMUH.js} +2 -2
- package/dist/esm/{chunk-GOXGRJO6.js → chunk-SUQJ7DD4.js} +2 -2
- package/dist/esm/chunk-TSWHVZ47.js +3 -0
- package/dist/esm/chunk-TSWHVZ47.js.map +7 -0
- package/dist/esm/chunk-VQDCHBZR.js +3 -0
- package/dist/esm/chunk-VQDCHBZR.js.map +7 -0
- package/dist/esm/{chunk-TF6WAIUQ.js → chunk-W4Z6ORYO.js} +2 -2
- package/dist/esm/{chunk-F2722F7B.js → chunk-WAXRIARV.js} +2 -2
- package/dist/esm/chunk-WAXRIARV.js.map +7 -0
- package/dist/esm/{chunk-ADL3LEOQ.js → chunk-WD66RYF6.js} +2 -2
- 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-VPUFKJQA.js → chunk-YMUERC2J.js} +2 -2
- package/dist/esm/chunk-ZOUIIO4C.js +6 -0
- package/dist/esm/chunk-ZOUIIO4C.js.map +7 -0
- 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.d.ts +7 -1
- package/dist/esm/components/_internal/pane-chrome.d.ts.map +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-page-scroll.d.ts +15 -0
- package/dist/esm/components/_internal/shell-page-scroll.d.ts.map +1 -0
- package/dist/esm/components/_internal/shell-page-scroll.js +3 -0
- package/dist/esm/components/_internal/shell-page-scroll.js.map +7 -0
- 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/schemas/index.js +1 -1
- package/dist/esm/components/schemas/shell.schema.d.ts +1 -0
- package/dist/esm/components/schemas/shell.schema.d.ts.map +1 -1
- package/dist/esm/components/schemas/shell.schema.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.d.ts +11 -0
- 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/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/schemas/index.json +6 -1
- package/schemas/shell-root.json +6 -1
- package/src/components/_internal/pane-band-context.ts +4 -3
- package/src/components/_internal/pane-chrome.tsx +15 -2
- package/src/components/_internal/portal-theme.tsx +18 -0
- package/src/components/_internal/shell-page-scroll.ts +49 -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/schemas/shell.schema.ts +4 -1
- package/src/components/select.tsx +4 -3
- package/src/components/sheet.tsx +3 -3
- package/src/components/shell.css +201 -0
- package/src/components/shell.tsx +128 -22
- 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 +165 -4
- package/dist/esm/chunk-3C4Q6PMS.js +0 -3
- package/dist/esm/chunk-3C4Q6PMS.js.map +0 -7
- package/dist/esm/chunk-3ZWHKNHI.js +0 -3
- package/dist/esm/chunk-3ZWHKNHI.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-POP5NB33.js +0 -3
- package/dist/esm/chunk-POP5NB33.js.map +0 -7
- package/dist/esm/chunk-RD4T2MCC.js.map +0 -7
- package/dist/esm/chunk-SCIFT27R.js +0 -3
- package/dist/esm/chunk-SCIFT27R.js.map +0 -7
- package/dist/esm/chunk-TFFU435D.js.map +0 -7
- /package/dist/esm/{chunk-6M6HGIGN.js.map → chunk-25ZRMILM.js.map} +0 -0
- /package/dist/esm/{chunk-UG73IGRF.js.map → chunk-2ZKEQS76.js.map} +0 -0
- /package/dist/esm/{chunk-H2TSRYQ5.js.map → chunk-324VC67W.js.map} +0 -0
- /package/dist/esm/{chunk-UR5BUNNT.js.map → chunk-3MFSQ6PN.js.map} +0 -0
- /package/dist/esm/{chunk-OTCVSJT7.js.map → chunk-4MNRLB57.js.map} +0 -0
- /package/dist/esm/{chunk-NYBE3U3V.js.map → chunk-7QBNXNEN.js.map} +0 -0
- /package/dist/esm/{chunk-E6BDD3PN.js.map → chunk-7V6M3MIR.js.map} +0 -0
- /package/dist/esm/{chunk-ONJYRJ66.js.map → chunk-B6OFKABP.js.map} +0 -0
- /package/dist/esm/{chunk-7QP6JFPO.js.map → chunk-C67MM24U.js.map} +0 -0
- /package/dist/esm/{chunk-LFAUMDU5.js.map → chunk-D2C2A2ZK.js.map} +0 -0
- /package/dist/esm/{chunk-UBUGG2OB.js.map → chunk-DP7MPGR7.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-2TWPPDII.js.map → chunk-FMVOB367.js.map} +0 -0
- /package/dist/esm/{chunk-TFFMELAL.js.map → chunk-FYTLUDL3.js.map} +0 -0
- /package/dist/esm/{chunk-W4CPV4PO.js.map → chunk-H2J25HXP.js.map} +0 -0
- /package/dist/esm/{chunk-C2WKAIZM.js.map → chunk-H73AMXCH.js.map} +0 -0
- /package/dist/esm/{chunk-AJANJ22M.js.map → chunk-HBO7W7SS.js.map} +0 -0
- /package/dist/esm/{chunk-F364PDDM.js.map → chunk-HLIOHDEX.js.map} +0 -0
- /package/dist/esm/{chunk-ZKQCSGL3.js.map → chunk-ISCZ57VL.js.map} +0 -0
- /package/dist/esm/{chunk-TFGUTYZK.js.map → chunk-J54GYD7A.js.map} +0 -0
- /package/dist/esm/{chunk-HVMRB3AH.js.map → chunk-JD4KR6VZ.js.map} +0 -0
- /package/dist/esm/{chunk-MS2ONKJJ.js.map → chunk-JKQN6QCP.js.map} +0 -0
- /package/dist/esm/{chunk-NS573D6O.js.map → chunk-JP36JSNP.js.map} +0 -0
- /package/dist/esm/{chunk-ULCHGKI3.js.map → chunk-KJZSXLIX.js.map} +0 -0
- /package/dist/esm/{chunk-N3B6EGXL.js.map → chunk-LABMK6Q7.js.map} +0 -0
- /package/dist/esm/{chunk-VIVM525H.js.map → chunk-MGWGD6KI.js.map} +0 -0
- /package/dist/esm/{chunk-TXVZOS3E.js.map → chunk-MMDZBPSX.js.map} +0 -0
- /package/dist/esm/{chunk-EERKYRYI.js.map → chunk-NWXODCTD.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-3QN4C5LW.js.map → chunk-REORAMUH.js.map} +0 -0
- /package/dist/esm/{chunk-GOXGRJO6.js.map → chunk-SUQJ7DD4.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-VPUFKJQA.js.map → chunk-YMUERC2J.js.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/_internal/portal-theme.tsx", "../../../../src/components/theme.tsx", "../../../../src/helpers/get-matching-gray-color.ts", "../../../../src/hooks/theme-size.ts", "../../../../src/hooks/use-prop-synced-state.ts", "../../../../src/props/as-child.prop.ts", "../../../../src/props/color.prop.ts", "../../../../src/props/radius.prop.ts", "../../../../src/components/theme.props.tsx", "../../../../src/components/_internal/pane-band-context.ts"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\n\nimport { Theme } from '../theme.js';\nimport { PaneBandSizeContext } from './pane-band-context.js';\n\n/**\n * The Theme at the root of a portalled surface (Popover, Dialog, Sheet, menus, Tooltip). The\n * surface renders outside any Shell pane even though context flows into it, so a Toolbar in it\n * does not take the pane's band size. A `Theme asChild` an app nests in a pane keeps the band.\n */\nconst PortalTheme = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<typeof Theme>>((props, forwardedRef) => (\n <PaneBandSizeContext.Provider value={null}>\n <Theme {...props} ref={forwardedRef} />\n </PaneBandSizeContext.Provider>\n));\nPortalTheme.displayName = 'PortalTheme';\n\nexport { PortalTheme };\n", "'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Direction, Slot } from 'radix-ui';\n\nimport { getMatchingGrayColor } from '../helpers/get-matching-gray-color.js';\nimport { ThemeSizeContext } from '../hooks/theme-size.js';\nimport { usePropSyncedState } from '../hooks/use-prop-synced-state.js';\nimport { themePropDefs } from './theme.props.js';\n\nimport type { ThemeOwnProps } from './theme.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\n\nconst noop = () => {};\n\ntype ThemeAppearance = (typeof themePropDefs.appearance.values)[number];\ntype ThemeAccentColor = (typeof themePropDefs.accentColor.values)[number];\ntype ThemeGrayColor = (typeof themePropDefs.grayColor.values)[number];\ntype ThemeRadius = (typeof themePropDefs.radius.values)[number];\ntype ThemeFontFamily = (typeof themePropDefs.fontFamily.values)[number];\ntype ThemeSize = (typeof themePropDefs.size.values)[number];\n// Headings follow the body font until something sets this, so `undefined` is a\n// meaningful value here rather than a missing one.\ntype ThemeHeadingFontFamily = ThemeFontFamily | undefined;\n\ninterface ThemeChangeHandlers {\n onAppearanceChange: (appearance: ThemeAppearance) => void;\n onAccentColorChange: (accentColor: ThemeAccentColor) => void;\n onGrayColorChange: (grayColor: ThemeGrayColor) => void;\n onRadiusChange: (radius: ThemeRadius) => void;\n onFontFamilyChange: (fontFamily: ThemeFontFamily) => void;\n onHeadingFontFamilyChange: (headingFontFamily: ThemeHeadingFontFamily) => void;\n onSizeChange: (size: ThemeSize) => void;\n}\n\ninterface ThemeContextValue extends ThemeChangeHandlers {\n appearance: ThemeAppearance;\n accentColor: ThemeAccentColor;\n grayColor: ThemeGrayColor;\n resolvedGrayColor: ThemeGrayColor;\n radius: ThemeRadius;\n fontFamily: ThemeFontFamily;\n headingFontFamily: ThemeHeadingFontFamily;\n size: ThemeSize;\n}\n// Default theme values used when components render outside a Theme provider\nconst defaultThemeContext: ThemeContextValue = {\n appearance: themePropDefs.appearance.default,\n accentColor: themePropDefs.accentColor.default,\n grayColor: themePropDefs.grayColor.default,\n resolvedGrayColor: themePropDefs.grayColor.default,\n radius: themePropDefs.radius.default,\n fontFamily: themePropDefs.fontFamily.default,\n headingFontFamily: undefined,\n size: themePropDefs.size.default,\n onAppearanceChange: noop,\n onAccentColorChange: noop,\n onGrayColorChange: noop,\n onRadiusChange: noop,\n onFontFamilyChange: noop,\n onHeadingFontFamilyChange: noop,\n onSizeChange: noop,\n};\n\nconst ThemeContext = React.createContext<ThemeContextValue | undefined>(undefined);\n\nfunction useThemeContext() {\n const context = React.useContext(ThemeContext);\n // Return default context if used outside Theme provider (e.g., during SSR)\n return context ?? defaultThemeContext;\n}\n\ninterface ThemeProps extends ThemeImplPublicProps {}\nconst Theme = React.forwardRef<ThemeImplElement, ThemeProps>((props, forwardedRef) => {\n const context = React.useContext(ThemeContext);\n // Direction is inherited: a Radix DirectionProvider above the Theme (for a right-to-left app)\n // wins, and left-to-right stays the default when there is none.\n const dir = Direction.useDirection();\n const isRoot = context === undefined;\n if (isRoot) {\n return (\n <Direction.Provider dir={dir}>\n <ThemeRoot {...props} ref={forwardedRef} />\n </Direction.Provider>\n );\n }\n return <ThemeImpl {...props} ref={forwardedRef} />;\n});\nTheme.displayName = 'Theme';\n\nconst ThemeRoot = React.forwardRef<ThemeImplElement, ThemeImplPublicProps>((props, forwardedRef) => {\n const {\n appearance: appearanceProp = themePropDefs.appearance.default,\n accentColor: accentColorProp = themePropDefs.accentColor.default,\n grayColor: grayColorProp = themePropDefs.grayColor.default,\n radius: radiusProp = themePropDefs.radius.default,\n fontFamily: fontFamilyProp = themePropDefs.fontFamily.default,\n headingFontFamily: headingFontFamilyProp,\n size: sizeProp = themePropDefs.size.default,\n hasBackground = themePropDefs.hasBackground.default,\n ...rootProps\n } = props;\n\n // Each of these follows its prop but stays independently settable, so\n // the context setters can change the theme at runtime. Syncing during render\n // rather than in an effect matters here: an effect would commit the old\n // theme first and re-render every consumer of the context a second time.\n const [appearance, setAppearance] = usePropSyncedState(appearanceProp);\n const [accentColor, setAccentColor] = usePropSyncedState(accentColorProp);\n const [grayColor, setGrayColor] = usePropSyncedState(grayColorProp);\n const [radius, setRadius] = usePropSyncedState(radiusProp);\n const [fontFamily, setFontFamily] = usePropSyncedState(fontFamilyProp);\n const [headingFontFamily, setHeadingFontFamily] = usePropSyncedState(headingFontFamilyProp);\n const [size, setSize] = usePropSyncedState(sizeProp);\n\n return (\n <ThemeImpl\n {...rootProps}\n ref={forwardedRef}\n isRoot\n hasBackground={hasBackground}\n //\n appearance={appearance}\n accentColor={accentColor}\n grayColor={grayColor}\n radius={radius}\n fontFamily={fontFamily}\n headingFontFamily={headingFontFamily}\n size={size}\n //\n onAppearanceChange={setAppearance}\n onAccentColorChange={setAccentColor}\n onGrayColorChange={setGrayColor}\n onRadiusChange={setRadius}\n onFontFamilyChange={setFontFamily}\n onHeadingFontFamilyChange={setHeadingFontFamily}\n onSizeChange={setSize}\n />\n );\n});\nThemeRoot.displayName = 'ThemeRoot';\n\ntype ThemeImplElement = React.ElementRef<'div'>;\ninterface ThemeImplProps extends ThemeImplPublicProps, ThemeImplPrivateProps {}\ninterface ThemeImplPublicProps extends ComponentPropsWithout<'div', RemovedProps | 'dir'>, ThemeOwnProps {}\ninterface ThemeImplPrivateProps extends Partial<ThemeChangeHandlers> {\n isRoot?: boolean;\n}\nconst ThemeImpl = React.forwardRef<ThemeImplElement, ThemeImplProps>((props, forwardedRef) => {\n const context = React.useContext(ThemeContext);\n const {\n asChild,\n isRoot,\n hasBackground: hasBackgroundProp,\n //\n appearance = props.appearance ?? context?.appearance ?? themePropDefs.appearance.default,\n accentColor = props.accentColor ?? context?.accentColor ?? themePropDefs.accentColor.default,\n grayColor = props.grayColor ?? context?.resolvedGrayColor ?? themePropDefs.grayColor.default,\n radius = props.radius ?? context?.radius ?? themePropDefs.radius.default,\n fontFamily = props.fontFamily ?? context?.fontFamily ?? themePropDefs.fontFamily.default,\n headingFontFamily = props.headingFontFamily ?? context?.headingFontFamily,\n size = props.size ?? context?.size ?? themePropDefs.size.default,\n // A nested Theme forwards changes to the one above it, so a switcher\n // inside a portal (Dialog, Popover, menus) still reaches the root.\n onAppearanceChange = context?.onAppearanceChange ?? noop,\n onAccentColorChange = context?.onAccentColorChange ?? noop,\n onGrayColorChange = context?.onGrayColorChange ?? noop,\n onRadiusChange = context?.onRadiusChange ?? noop,\n onFontFamilyChange = context?.onFontFamilyChange ?? noop,\n onHeadingFontFamilyChange = context?.onHeadingFontFamilyChange ?? noop,\n onSizeChange = context?.onSizeChange ?? noop,\n //\n ...themeProps\n } = props;\n const Comp = asChild ? Slot.Root : 'div';\n const resolvedGrayColor = grayColor === 'auto' ? getMatchingGrayColor(accentColor) : grayColor;\n const isExplicitAppearance = props.appearance === 'light' || props.appearance === 'dark';\n const hasBackground = hasBackgroundProp === undefined ? isRoot || isExplicitAppearance : hasBackgroundProp;\n\n return (\n <ThemeContext.Provider\n value={React.useMemo(\n () => ({\n appearance,\n accentColor,\n grayColor,\n resolvedGrayColor,\n radius,\n fontFamily,\n headingFontFamily,\n size,\n //\n onAppearanceChange,\n onAccentColorChange,\n onGrayColorChange,\n onRadiusChange,\n onFontFamilyChange,\n onHeadingFontFamilyChange,\n onSizeChange,\n }),\n [\n appearance,\n accentColor,\n grayColor,\n resolvedGrayColor,\n radius,\n fontFamily,\n headingFontFamily,\n size,\n //\n onAppearanceChange,\n onAccentColorChange,\n onGrayColorChange,\n onRadiusChange,\n onFontFamilyChange,\n onHeadingFontFamilyChange,\n onSizeChange,\n ],\n )}\n >\n {/* Size travels on its own context as a bare string, so the components\n that read it do not re-render when another theme value changes. */}\n <ThemeSizeContext.Provider value={size}>\n <Comp\n data-is-root-theme={isRoot ? 'true' : 'false'}\n data-accent-color={accentColor}\n data-gray-color={resolvedGrayColor}\n // for nested `Theme` background\n data-has-background={hasBackground ? 'true' : 'false'}\n data-radius={radius}\n data-font-family={fontFamily}\n data-heading-font-family={headingFontFamily}\n ref={forwardedRef}\n {...themeProps}\n className={classNames(\n 'kui-theme',\n {\n light: appearance === 'light',\n dark: appearance === 'dark',\n },\n themeProps.className,\n )}\n />\n </ThemeSizeContext.Provider>\n </ThemeContext.Provider>\n );\n});\nThemeImpl.displayName = 'ThemeImpl';\n\nexport { Theme, ThemeContext, useThemeContext };\nexport type { ThemeProps, ThemeContextValue };\n", "import type { accentColors } from '../props/color.prop.js';\n\ntype ThemeAccentColor = (typeof accentColors)[number];\n\nexport function getMatchingGrayColor(accentColor: ThemeAccentColor) {\n switch (accentColor) {\n case 'tomato':\n case 'red':\n case 'ruby':\n case 'crimson':\n case 'pink':\n case 'plum':\n case 'purple':\n case 'violet':\n return 'mauve';\n case 'iris':\n case 'indigo':\n case 'blue':\n case 'sky':\n case 'cyan':\n return 'slate';\n case 'teal':\n case 'jade':\n case 'mint':\n case 'green':\n return 'sage';\n case 'grass':\n case 'lime':\n return 'olive';\n case 'yellow':\n case 'amber':\n case 'orange':\n case 'brown':\n case 'gold':\n case 'bronze':\n return 'sand';\n case 'gray':\n return 'gray';\n }\n}\n", "'use client';\n\nimport * as React from 'react';\n\nimport { THEME_SIZE_DEFAULT, clampSize } from '../helpers/theme-size.js';\nimport type { ThemeSize } from '../helpers/theme-size.js';\n\n/**\n * The app-wide size index, provided by `Theme` beside `ThemeContext`.\n *\n * It is its own context, holding one string, so a component that only needs\n * the size does not re-render when the accent colour or appearance changes.\n */\nconst ThemeSizeContext = React.createContext<ThemeSize>(THEME_SIZE_DEFAULT);\nThemeSizeContext.displayName = 'ThemeSizeContext';\n\ninterface SizePropDef {\n values: readonly string[];\n default?: string;\n}\n\n/**\n * The size a component on the 1-4 index takes: what the caller said, else the\n * nearest Theme's size, mapped into the component's range.\n */\nfunction useThemeSize<V>(explicit: V | undefined, propDef: SizePropDef): V {\n const themeSize = React.useContext(ThemeSizeContext);\n if (explicit !== undefined) return explicit;\n // The clamped value is one of `propDef.values`, which is what `V` ranges over.\n return clampSize(themeSize, propDef.values) as V;\n}\n\n/**\n * Fills `size` from the nearest Theme when the caller left it unset, so the\n * result can go straight into `extractProps`. An explicit size, responsive\n * object included, wins.\n *\n * Returns the same props object when there is nothing to fill: when a size is\n * set, or when the theme size resolves to the prop def's own default (the\n * common case, a Theme with no size), so `extractProps` applies it as before.\n */\nfunction useThemeSizeProps<P extends { size?: unknown }>(props: P, propDef: SizePropDef): P {\n const themeSize = React.useContext(ThemeSizeContext);\n if (props.size !== undefined) return props;\n const size = clampSize(themeSize, propDef.values);\n if (size === propDef.default) return props;\n return { ...props, size };\n}\n\nexport { ThemeSizeContext, useThemeSize, useThemeSizeProps };\n", "import * as React from 'react';\n\n/**\n * State that tracks a prop but can also be set imperatively \u2014 the shape `Theme`\n * needs, where a prop sets the value and the context setters can change it at runtime.\n *\n * Adjusts state during render rather than syncing in a `useEffect`. An effect\n * would commit one render carrying the *old* value and schedule a second one,\n * which for a provider means every consumer renders twice and the browser can\n * paint the stale value in between.\n *\n * @see https://react.dev/reference/react/useState#storing-information-from-previous-renders\n */\nexport function usePropSyncedState<T>(propValue: T) {\n const [value, setValue] = React.useState(propValue);\n const [previousPropValue, setPreviousPropValue] = React.useState(propValue);\n\n if (!Object.is(propValue, previousPropValue)) {\n setPreviousPropValue(propValue);\n setValue(propValue);\n }\n\n return [value, setValue] as const;\n}\n", "import type { PropDef } from './prop-def.js';\n\nconst asChildPropDef = {\n /**\n * Composes the component into its immediate child instead of rendering its own HTML element.\n * You\u2019ll have to provide a single React Element child.\n */\n asChild: {\n type: 'boolean',\n },\n} satisfies {\n asChild: PropDef<boolean>;\n};\n\nexport { asChildPropDef };\n", "import type { PropDef } from './prop-def.js';\n\n// prettier-ignore\nconst accentColors = ['gray', 'gold', 'bronze', 'brown', 'yellow', 'amber', 'orange', 'tomato', 'red', 'ruby', 'crimson', 'pink', 'plum', 'purple', 'violet', 'iris', 'indigo', 'blue', 'cyan', 'teal', 'jade', 'green', 'grass', 'lime', 'mint', 'sky'] as const;\n\nconst grayColors = ['auto', 'gray', 'mauve', 'slate', 'sage', 'olive', 'sand'] as const;\n\nconst colorPropDef = {\n color: {\n type: 'enum',\n values: accentColors,\n default: undefined as (typeof accentColors)[number] | undefined,\n },\n} satisfies {\n color: PropDef<(typeof accentColors)[number]>;\n};\n\n// 1. When used on components that compose Text, sets the color of the text to the current accent.\n// 2. Re-declares the accent role tokens (`--accent-ink`, `--accent-solid`, ...) that descendants read.\nconst accentColorPropDef = {\n color: {\n type: 'enum',\n values: accentColors,\n default: '' as (typeof accentColors)[number],\n },\n} satisfies {\n color: PropDef<(typeof accentColors)[number]>;\n};\n\n// For components whose colour comes from their content (Chip, Avatar, Code): they rest gray, and `color` picks a category when it means something.\nconst grayAccentColorPropDef = {\n color: {\n type: 'enum',\n values: accentColors,\n default: 'gray' as (typeof accentColors)[number],\n },\n} satisfies {\n color: PropDef<(typeof accentColors)[number]>;\n};\n\nexport {\n accentColorPropDef,\n grayAccentColorPropDef,\n colorPropDef,\n //\n accentColors,\n grayColors,\n};\n", "import type { PropDef } from './prop-def.js';\n\nconst radii = ['none', 'small', 'medium', 'large', 'full'] as const;\n\nconst radiusPropDef = {\n radius: {\n type: 'enum',\n values: radii,\n default: undefined,\n },\n} satisfies {\n radius: PropDef<(typeof radii)[number]>;\n};\n\nexport { radiusPropDef, radii };\n", "import { asChildPropDef } from '../props/as-child.prop.js';\nimport { accentColors, grayColors } from '../props/color.prop.js';\nimport { radii } from '../props/radius.prop.js';\n\nimport type { GetPropDefTypes, PropDef } from '../props/prop-def.js';\n\nconst appearances = ['inherit', 'light', 'dark'] as const;\nconst fontFamilies = ['sans', 'mono', 'serif'] as const;\nconst sizes = ['1', '2', '3', '4'] as const;\n\nconst themePropDefs = {\n ...asChildPropDef,\n /**\n * Whether to apply background color to the Theme element.\n *\n * Defaults to true for the root Theme and for Theme elements that\n * have an explicit light or dark appearance prop.\n */\n hasBackground: { type: 'boolean', default: true },\n /**\n * Sets the color scheme of the theme, typcially referred to as light and dark mode.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/dark-mode\n */\n appearance: { type: 'enum', values: appearances, default: 'inherit' },\n /**\n * Selects one of the accent color options to use in the Theme.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/color\n */\n accentColor: { type: 'enum', values: accentColors, default: 'gray' },\n /**\n * Selects one of the gray color options to use in the Theme.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/color\n */\n grayColor: { type: 'enum', values: grayColors, default: 'gray' },\n /**\n * Sets the default radius of the components.\n *\n * @link\n * https://www.radix-ui.com/themes/docs/theme/visual-style\n */\n radius: { type: 'enum', values: radii, default: 'full' },\n /**\n * Sets the font family used for body text in the theme.\n *\n * Headings follow this unless `headingFontFamily` (or the `--font-heading`\n * token) says otherwise.\n *\n * @default 'sans'\n */\n fontFamily: { type: 'enum', values: fontFamilies, default: 'sans' },\n /**\n * Sets the font family used for `Heading`, independently of body text.\n *\n * Deliberately has no default: when it is left unset no attribute is\n * emitted and `--font-heading` keeps following `--font-body`, so a\n * `--font-heading` override in your own CSS survives a `fontFamily` switch.\n */\n headingFontFamily: { type: 'enum', values: fontFamilies },\n /**\n * The app-wide size index. Every component on the 1-4 control and surface\n * scale that states no `size` of its own takes this one; an explicit\n * `size` always wins. Nested Themes override it for their subtree.\n *\n * @default '2'\n */\n size: { type: 'enum', values: sizes, default: '2' },\n} satisfies {\n hasBackground: PropDef<boolean>;\n appearance: PropDef<(typeof appearances)[number]>;\n accentColor: PropDef<(typeof accentColors)[number]>;\n grayColor: PropDef<(typeof grayColors)[number]>;\n radius: PropDef<(typeof radii)[number]>;\n fontFamily: PropDef<(typeof fontFamilies)[number]>;\n headingFontFamily: PropDef<(typeof fontFamilies)[number]>;\n size: PropDef<(typeof sizes)[number]>;\n};\n\ntype ThemeOwnProps = GetPropDefTypes<typeof themePropDefs & typeof asChildPropDef>;\n\nexport { themePropDefs };\nexport type { ThemeOwnProps };\n", "import * as React from 'react';\n\ntype BandSize = '1' | '2' | '3' | '4';\n\n/**\n * Set by `Shell.PaneHeader` and `Shell.PaneFooter` to their band size, and by `Shell.Scroll` to\n * null (a scrolling list has no band). `PortalTheme`, the root of every portalled surface\n * (Popover, Dialog, Sheet, menus), sets null too, so a Toolbar in one does not take the Shell's\n * step; a `Theme asChild` an app nests in a pane leaves it alone. `Shell.Root` clears it again.\n * Unset (`undefined`) everywhere else.\n *\n * Its own module so PortalTheme can reset it without bringing the Shell.\n */\nconst PaneBandSizeContext = React.createContext<BandSize | null | undefined>(undefined);\n\nexport { PaneBandSizeContext };\nexport type { BandSize };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["portal_theme_exports", "__export", "PortalTheme", "__toCommonJS", "React", "React", "import_classnames", "import_radix_ui", "getMatchingGrayColor", "accentColor", "React", "ThemeSizeContext", "React", "usePropSyncedState", "propValue", "value", "setValue", "previousPropValue", "setPreviousPropValue", "asChildPropDef", "accentColors", "grayColors", "radii", "appearances", "fontFamilies", "sizes", "themePropDefs", "asChildPropDef", "accentColors", "grayColors", "radii", "noop", "defaultThemeContext", "themePropDefs", "ThemeContext", "Theme", "props", "forwardedRef", "context", "ThemeContext", "dir", "ThemeRoot", "ThemeImpl", "appearanceProp", "themePropDefs", "accentColorProp", "grayColorProp", "radiusProp", "fontFamilyProp", "headingFontFamilyProp", "sizeProp", "hasBackground", "rootProps", "appearance", "setAppearance", "usePropSyncedState", "accentColor", "setAccentColor", "grayColor", "setGrayColor", "radius", "setRadius", "fontFamily", "setFontFamily", "headingFontFamily", "setHeadingFontFamily", "size", "setSize", "asChild", "isRoot", "hasBackgroundProp", "onAppearanceChange", "noop", "onAccentColorChange", "onGrayColorChange", "onRadiusChange", "onFontFamilyChange", "onHeadingFontFamilyChange", "onSizeChange", "themeProps", "Comp", "resolvedGrayColor", "getMatchingGrayColor", "isExplicitAppearance", "ThemeSizeContext", "classNames", "React", "PaneBandSizeContext", "PortalTheme", "props", "forwardedRef", "PaneBandSizeContext", "Theme"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* When a window Shell lets the page scroll: a narrow window (below the `sm` breakpoint) under a
|
|
3
|
+
* coarse pointer. The stylesheet decides it (shell.css, the page-scroll block), so first paint is
|
|
4
|
+
* right with no script. This is the script's copy, for the few things only script can do when the
|
|
5
|
+
* answer changes: carry the reading position between the two scrollers, and take the content's
|
|
6
|
+
* unused viewport out of the tab order. A test holds it equal to the stylesheet's.
|
|
7
|
+
*/
|
|
8
|
+
export declare const PAGE_SCROLL_QUERY = "(max-width: 767.98px) and (pointer: coarse)";
|
|
9
|
+
/** True where a window Shell lets the page scroll. False on the server and through hydration. */
|
|
10
|
+
export declare function usePageScrollMedia(): boolean;
|
|
11
|
+
/** Whether the page scrolls right now. */
|
|
12
|
+
export declare function pageScrollMatches(): boolean;
|
|
13
|
+
/** Subscribes to the answer changing, outside React. */
|
|
14
|
+
export declare function onPageScrollMediaChange(onChange: (matches: boolean) => void): () => void;
|
|
15
|
+
//# sourceMappingURL=shell-page-scroll.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell-page-scroll.d.ts","sourceRoot":"","sources":["../../../../src/components/_internal/shell-page-scroll.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,gDAAgD,CAAC;AAmB/E,iGAAiG;AACjG,wBAAgB,kBAAkB,IAAI,OAAO,CAM5C;AAED,0CAA0C;AAC1C,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,wDAAwD;AACxD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAGxF"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";"use client";var l=Object.create;var i=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var L=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty;var h=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},c=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of p(t))!m.call(e,o)&&o!==n&&i(e,o,{get:()=>t[o],enumerable:!(a=v(t,o))||a.enumerable});return e};var x=(e,t,n)=>(n=e!=null?l(L(e)):{},c(t||!e||!e.__esModule?i(n,"default",{value:e,enumerable:!0}):n,e)),g=e=>c(i({},"__esModule",{value:!0}),e);var y={};h(y,{PAGE_SCROLL_QUERY:()=>u,onPageScrollMediaChange:()=>b,pageScrollMatches:()=>S,usePageScrollMedia:()=>M});module.exports=g(y);var d=x(require("react")),u="(max-width: 767.98px) and (pointer: coarse)",s,r=()=>s??(s=window.matchMedia(u));function f(e,t){return typeof e.addEventListener=="function"?(e.addEventListener("change",t),()=>e.removeEventListener("change",t)):(e.addListener?.(t),()=>e.removeListener?.(t))}function E(e){return f(r(),e)}function M(){return d.useSyncExternalStore(E,()=>r().matches,()=>!1)}function S(){return r().matches}function b(e){let t=r();return f(t,()=>e(t.matches))}
|
|
3
|
+
//# sourceMappingURL=shell-page-scroll.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/_internal/shell-page-scroll.ts"],
|
|
4
|
+
"sourcesContent": ["'use client';\n\nimport * as React from 'react';\n\n/**\n * When a window Shell lets the page scroll: a narrow window (below the `sm` breakpoint) under a\n * coarse pointer. The stylesheet decides it (shell.css, the page-scroll block), so first paint is\n * right with no script. This is the script's copy, for the few things only script can do when the\n * answer changes: carry the reading position between the two scrollers, and take the content's\n * unused viewport out of the tab order. A test holds it equal to the stylesheet's.\n */\nexport const PAGE_SCROLL_QUERY = '(max-width: 767.98px) and (pointer: coarse)';\n\nlet list: MediaQueryList | undefined;\nconst media = () => (list ??= window.matchMedia(PAGE_SCROLL_QUERY));\n\nfunction listen(m: MediaQueryList, handler: () => void): () => void {\n // Safari below 14 has only the deprecated listener API.\n if (typeof m.addEventListener === 'function') {\n m.addEventListener('change', handler);\n return () => m.removeEventListener('change', handler);\n }\n m.addListener?.(handler);\n return () => m.removeListener?.(handler);\n}\n\nfunction subscribe(onChange: () => void): () => void {\n return listen(media(), onChange);\n}\n\n/** True where a window Shell lets the page scroll. False on the server and through hydration. */\nexport function usePageScrollMedia(): boolean {\n return React.useSyncExternalStore(\n subscribe,\n () => media().matches,\n () => false,\n );\n}\n\n/** Whether the page scrolls right now. */\nexport function pageScrollMatches(): boolean {\n return media().matches;\n}\n\n/** Subscribes to the answer changing, outside React. */\nexport function onPageScrollMediaChange(onChange: (matches: boolean) => void): () => void {\n const m = media();\n return listen(m, () => onChange(m.matches));\n}\n"],
|
|
5
|
+
"mappings": ";ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,EAAA,4BAAAC,EAAA,sBAAAC,EAAA,uBAAAC,IAAA,eAAAC,EAAAN,GAEA,IAAAO,EAAuB,oBASVL,EAAoB,8CAE7BM,EACEC,EAAQ,IAAOD,MAAS,OAAO,WAAWN,CAAiB,GAEjE,SAASQ,EAAOC,EAAmBC,EAAiC,CAElE,OAAI,OAAOD,EAAE,kBAAqB,YAChCA,EAAE,iBAAiB,SAAUC,CAAO,EAC7B,IAAMD,EAAE,oBAAoB,SAAUC,CAAO,IAEtDD,EAAE,cAAcC,CAAO,EAChB,IAAMD,EAAE,iBAAiBC,CAAO,EACzC,CAEA,SAASC,EAAUC,EAAkC,CACnD,OAAOJ,EAAOD,EAAM,EAAGK,CAAQ,CACjC,CAGO,SAAST,GAA8B,CAC5C,OAAa,uBACXQ,EACA,IAAMJ,EAAM,EAAE,QACd,IAAM,EACR,CACF,CAGO,SAASL,GAA6B,CAC3C,OAAOK,EAAM,EAAE,OACjB,CAGO,SAASN,EAAwBW,EAAkD,CACxF,IAAMH,EAAIF,EAAM,EAChB,OAAOC,EAAOC,EAAG,IAAMG,EAASH,EAAE,OAAO,CAAC,CAC5C",
|
|
6
|
+
"names": ["shell_page_scroll_exports", "__export", "PAGE_SCROLL_QUERY", "onPageScrollMediaChange", "pageScrollMatches", "usePageScrollMedia", "__toCommonJS", "React", "list", "media", "listen", "m", "handler", "subscribe", "onChange"]
|
|
7
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
"use strict";"use client";var Yt=Object.create;var be=Object.defineProperty;var Xt=Object.getOwnPropertyDescriptor;var Jt=Object.getOwnPropertyNames;var Zt=Object.getPrototypeOf,en=Object.prototype.hasOwnProperty;var tn=(e,t)=>{for(var n in t)be(e,n,{get:t[n],enumerable:!0})},rt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Jt(t))!en.call(e,o)&&o!==n&&be(e,o,{get:()=>t[o],enumerable:!(r=Xt(t,o))||r.enumerable});return e};var L=(e,t,n)=>(n=e!=null?Yt(Zt(e)):{},rt(t||!e||!e.__esModule?be(n,"default",{value:e,enumerable:!0}):n,e)),nn=e=>rt(be({},"__esModule",{value:!0}),e);var On={};tn(On,{Sidebar:()=>Ye});module.exports=nn(On);var K=L(require("react")),_t=L(require("classnames")),Gt=require("radix-ui/internal");var ge=L(require("react")),Ae=ge.createContext(null);function ot(){let e=ge.useContext(Ae);if(!e)throw new Error("Shell.Handle must be used within a resizable pane");return e}var T=L(require("react")),it=require("radix-ui/internal"),st=L(require("classnames"));var re=T.forwardRef(({className:e,children:t,...n},r)=>{let{containerRef:o,controls:i,cssVarName:s,minSize:d,maxSize:l,defaultSize:a,orientation:u,edge:g,growth:f,onResize:N,onResizeStart:F,onResizeEnd:B,snapPoints:k,snapTolerance:x,collapseThreshold:D,collapsible:j,target:W,requestCollapse:ee,requestToggle:H}=ot(),I=T.useRef(null),_=T.useCallback(c=>{I.current=c,typeof r=="function"?r(c):r&&(r.current=c)},[r]),w=T.useRef(null);T.useEffect(()=>()=>{w.current?.(),w.current=null},[]);let p=T.useCallback(()=>{let c=o.current;if(!c)return a;let P=Number.parseFloat(getComputedStyle(c).getPropertyValue(s));return Number.isFinite(P)?P:a},[o,s,a]),y=T.useCallback(()=>{let c=o.current,P=I.current,S=c?.closest(".kui-ShellRoot")?.getBoundingClientRect();if(!c||!S||!P)return l;let R=c.getBoundingClientRect(),O=P.getBoundingClientRect(),A=f(getComputedStyle(c).direction==="rtl"),v;u==="vertical"?v=A>0?S.right-R.left:R.right-S.left:v=A>0?S.bottom-R.top:R.bottom-S.top;let X=u==="vertical"?O.width:O.height;return!(S.width>0&&S.height>0)||!Number.isFinite(v)?l:Math.max(d,Math.min(l,Math.round(v-X)))},[o,f,l,d,u]),z=()=>{I.current?.setAttribute("aria-valuemax",String(y()))};(0,it.useLayoutEffect)(()=>{I.current?.setAttribute("aria-valuenow",String(Math.round(p())))},[p]);let C=(c,P)=>{c.style.setProperty(s,`${P}px`),I.current?.setAttribute("aria-valuenow",String(Math.round(P)))},U=W.charAt(0).toUpperCase()+W.slice(1);return T.createElement("div",{ref:_,className:(0,st.default)("kui-ShellResizer",e),"data-orientation":u,"data-edge":g,role:"separator",tabIndex:0,"aria-label":`Resize ${U} pane`,"aria-controls":i,"aria-orientation":u,"aria-valuemin":d,"aria-valuemax":l,...n,onPointerDown:c=>{n.onPointerDown?.(c);let P=o.current;if(!P||c.defaultPrevented||c.button!==0)return;c.preventDefault();let S=c.currentTarget,R=c.pointerId;w.current?.();try{S.setPointerCapture(R)}catch{}let O=getComputedStyle(P),A=Number.parseFloat(O.getPropertyValue(s)),v=Number.isFinite(A)?A:a,X=u==="vertical"?c.clientX:c.clientY,m=f(O.direction==="rtl"),q=y();S.setAttribute("aria-valuemax",String(q));let G=V=>Math.min(Math.max(V,d),q);P.setAttribute("data-resizing",""),S.setAttribute("data-dragging","");let Q=document.body,De=Q.style.cursor,Ve=Q.style.userSelect;Q.style.cursor=u==="vertical"?"col-resize":"row-resize",Q.style.userSelect="none",F?.(v);let ne=v,Le=v,Y=0,ue=null,Xe=()=>{if(Y=0,ue===null)return;let V=ue;ue=null,N?.(V)},Je=null,Ze=!1,Qt=(V,se)=>{if(V.type===se)Ze=!0;else if(Ze)return!1;return!0},J=V=>{if(!Qt(V,"pointermove")||V===Je)return;Je=V;let se=u==="vertical"?V.clientX:V.clientY;Le=v+(se-X)*m,ne=G(Le),C(P,ne),ue=ne,Y||(Y=requestAnimationFrame(Xe))},Pe=()=>{Y&&cancelAnimationFrame(Y),Y=0;try{S.releasePointerCapture(R)}catch{}window.removeEventListener("pointermove",J),document.removeEventListener("pointermove",J),window.removeEventListener("mousemove",J),document.removeEventListener("mousemove",J),S.removeEventListener("pointermove",J),window.removeEventListener("pointerup",$),document.removeEventListener("pointerup",$),window.removeEventListener("mouseup",$),document.removeEventListener("mouseup",$),window.removeEventListener("pointercancel",$),document.removeEventListener("pointercancel",$),window.removeEventListener("keydown",et),S.removeEventListener("lostpointercapture",$),P.removeAttribute("data-resizing"),S.removeAttribute("data-dragging"),Q.style.cursor=De,Q.style.userSelect=Ve,w.current=null},Me=!1,$=()=>{if(Me)return;if(Me=!0,Y&&cancelAnimationFrame(Y),Xe(),j&&typeof D=="number"&&Le<=D){C(P,v),N?.(v),Pe(),ee?.(),B?.(v);return}let V=ne;if(k&&k.length){let se=k.reduce((tt,nt)=>Math.abs(nt-ne)<Math.abs(tt-ne)?nt:tt,k[0]);Math.abs(se-ne)<=x&&(V=G(se),C(P,V),N?.(V))}B?.(V),Pe()},et=V=>{V.key==="Escape"&&(Y&&cancelAnimationFrame(Y),Y=0,ue=null,C(P,v),N?.(v),Me=!0,B?.(v),Pe())};window.addEventListener("pointermove",J),document.addEventListener("pointermove",J),window.addEventListener("mousemove",J),document.addEventListener("mousemove",J),S.addEventListener("pointermove",J),window.addEventListener("pointerup",$),document.addEventListener("pointerup",$),window.addEventListener("mouseup",$),document.addEventListener("mouseup",$),window.addEventListener("pointercancel",$),document.addEventListener("pointercancel",$),window.addEventListener("keydown",et),S.addEventListener("lostpointercapture",$),w.current=Pe},onDoubleClick:c=>{n.onDoubleClick?.(c),!c.defaultPrevented&&j&&H?.()},onFocus:c=>{n.onFocus?.(c),z()},onKeyDown:c=>{n.onKeyDown?.(c);let P=o.current;if(!P||c.defaultPrevented)return;if(c.key==="Enter"){j&&H&&(c.preventDefault(),H());return}let S=p(),R=y(),O=v=>Math.min(Math.max(v,d),R),A;if(c.key==="Home")A=O(d);else if(c.key==="End")A=O(R);else{let v=u==="vertical"?c.key==="ArrowRight"?1:c.key==="ArrowLeft"?-1:0:c.key==="ArrowDown"?1:c.key==="ArrowUp"?-1:0;if(v===0)return;let X=c.shiftKey?32:8;A=O(S+v*X*f(getComputedStyle(P).direction==="rtl"))}c.preventDefault(),F?.(S),C(P,A),N?.(A),B?.(A)}},t)});re.displayName="Shell.Handle";var rn=T.forwardRef((e,t)=>T.createElement(re,{...e,ref:t}));rn.displayName="Shell.Panel.Handle";var he=T.forwardRef((e,t)=>T.createElement(re,{...e,ref:t}));he.displayName="Shell.Sidebar.Handle";var on=T.forwardRef((e,t)=>T.createElement(re,{...e,ref:t}));on.displayName="Shell.Inspector.Handle";var sn=T.forwardRef((e,t)=>T.createElement(re,{...e,ref:t}));sn.displayName="Shell.Bottom.Handle";var E=L(require("react")),me=require("radix-ui/internal");var ce=L(require("react"));var at={xs:"(min-width: 520px)",sm:"(min-width: 768px)",md:"(min-width: 1024px)",lg:"(min-width: 1280px)",xl:"(min-width: 1640px)"},Se=["initial","xs","sm","md","lg","xl"];var an=Object.entries(at),Be=null,de=new Set,oe=null;function He(){return Be??(Be=an.map(([e,t])=>[e,window.matchMedia(t)])),Be}function Re(){let e="initial";for(let[t,n]of He())n.matches&&(e=t);return e}function ve(){let e=Re();e!==oe&&(oe=e,de.forEach(t=>t()))}function lt(e){if(typeof window>"u")return()=>{};if(de.size===0){oe=Re();for(let[,t]of He())typeof t.addEventListener=="function"?t.addEventListener("change",ve):t.addListener?.(ve)}return de.add(e),()=>{if(de.delete(e),!(de.size>0)){for(let[,t]of He())try{typeof t.removeEventListener=="function"?t.removeEventListener("change",ve):t.removeListener?.(ve)}catch{}oe=null}}}function ln(){return typeof window>"u"?"initial":(oe??(oe=Re()),oe)}function un(){return"initial"}function pe(){return typeof window>"u"?"initial":Re()}var dn=()=>!0,cn=()=>!1,ut=()=>()=>{},pn=()=>"initial";function dt(e=!0){let t=ce.useSyncExternalStore(e?lt:ut,e?ln:pn,un),n=ce.useSyncExternalStore(e?lt:ut,dn,cn);return ce.useMemo(()=>({breakpoint:t,ready:n}),[t,n])}var Z=L(require("react")),pt=require("radix-ui/internal");function ct(e){return typeof e=="object"&&e!==null}function fe(e,t){let n={},r=null;for(let o of Se){if(e!==void 0&&!ct(e)){n[o]=e;continue}let i=ct(e)?e[o]:void 0;i!==void 0&&(r={value:i}),n[o]=r?r.value:t(o)}return n}function ae(e){let t=e.initial;return Se.every(n=>e[n]===t)?t:void 0}function Oe(e,t){let n=ae(t);if(n!==void 0)return{[`data-${e}`]:n};let r={};for(let o of Se)r[`data-${e}-${o}`]=t[o];return r}function Ie(e){return typeof e=="object"&&e!==null?JSON.stringify(e):String(e)}var _n=fe("fixed",()=>"fixed");function $e(e){e.version+=1;for(let t of e.listeners)t()}function fn(e,t){return e.listeners.add(t),()=>{e.listeners.delete(t)}}var mn=Z.createContext(null);function ft(e){let t=Z.useContext(mn);if(!t)throw new Error(`${e} must be used within <Shell.Root>`);return t}function mt(e,t){let n=Z.useCallback(r=>fn(e,r),[e]);return Z.useSyncExternalStore(n,()=>e.peek===t,()=>!1)}var yn=Z.createContext(null);function yt(e,t){let n=Z.useContext(yn);if(!n)throw new Error("Shell panes must be used within <Shell.Root>");let{registerInset:r,unregisterInset:o}=n;(0,pt.useLayoutEffect)(()=>{if(t)return r(e),()=>o(e)},[e,t,r,o])}var Fe=e=>typeof e=="object"&&e!==null;function bn(e){for(let t of["initial","xs","sm","md","lg","xl"]){let n=e[t];if(n!==void 0)return n}return"closed"}function Pt(e){let{name:t,label:n,propNames:r,presentationTable:o,builtIn:i}=e,s=ft(`Shell.${n}`),d=E.useId(),l=e.id??`shell-${t}${d}`,a=e.controlled!==void 0,u=Fe(e.controlled);u&&(`${n}${r.controlled}${r.default}`,void 0);let g=u?e.controlled:void 0,f=g??(Fe(e.defaultValue)?e.defaultValue:void 0),N=Ie(f),[F,B]=E.useState(()=>typeof e.defaultValue=="string"?e.defaultValue:"auto"),k=E.useMemo(()=>g?fe(g,()=>bn(g)):fe(f,m=>i(o[m])),[N,u,o,i]),x=F;a&&(x=g?"auto":e.controlled);let D=ae(o)===void 0||x==="auto"&&ae(k)===void 0,{breakpoint:j,ready:W}=dt(D),ee=m=>{let q=ae(m);return q!==void 0?q:W?m[j]:void 0},H=x==="auto"?ee(k):x,I=ee(o),_=I==="overlay",w=H===void 0?void 0:H!=="closed",p=w===!0&&_,y=e.defaultValue,z=E.useRef({state:x,value:H,autoTable:k,defaultValue:y,controlled:a,onChange:e.onChange,toggleNext:e.toggleNext});(0,me.useLayoutEffect)(()=>{z.current={state:x,value:H,autoTable:k,defaultValue:y,controlled:a,onChange:e.onChange,toggleNext:e.toggleNext}});let C=E.useCallback(()=>{let m=z.current;return m.value!==void 0?m.value:m.state==="auto"?m.autoTable[pe()]:void 0},[]),U=E.useCallback(()=>{let m=z.current;return typeof m.defaultValue=="string"?m.defaultValue:Fe(m.defaultValue)?m.autoTable[pe()]:void 0},[]),c=E.useCallback((m,q)=>{let G=z.current;C()!==m&&(G.onChange?.(m,q),G.controlled||B(m))},[C]),P=E.useCallback(m=>{let q=z.current,G=C()??"closed",Q=q.toggleNext?q.toggleNext(G,U()):G==="closed"?"open":"closed";c(Q,m)},[c,C,U]),S=E.useRef(null),R=E.useCallback(m=>{S.current=m},[]);(0,me.useLayoutEffect)(()=>{let m={name:t,id:l,el:S.current,value:H,presentation:I,presentationTable:o,overlayLive:p,size:e.size,setValue:c,toggle:P};return s.entries.set(t,m),$e(s),()=>{s.entries.get(t)===m&&(s.entries.delete(t),$e(s))}},[s,t,l,H,I,o,p,e.size,c,P]);let O=E.useRef({onExpand:e.onExpand,onCollapse:e.onCollapse});(0,me.useLayoutEffect)(()=>{O.current={onExpand:e.onExpand,onCollapse:e.onCollapse}});let A=E.useRef({state:x,shown:w});E.useEffect(()=>{let m=A.current;m.state!==x&&m.shown!==void 0&&w!==void 0&&m.shown!==w&&(w?O.current.onExpand?.():O.current.onCollapse?.()),A.current={state:x,shown:w}},[x,w]),(0,me.useLayoutEffect)(()=>{},[]);let v=E.useRef(a);E.useEffect(()=>{},[a,n,r.controlled]);let X=mt(s,t)&&w===!1&&!_;return{store:s,id:l,state:x,value:H,shown:w,presentation:I,overlaying:_,overlayLive:p,peeking:X,ready:W,breakpoint:j,autoTable:k,setValue:c,toggle:P,defaultHereNow:U,setElement:R}}function bt(e,t){let{state:n,value:r,presentation:o,shown:i}=e;return{...t,"data-state":n,...n==="auto"?Oe("auto",e.autoTable):{},"data-presentation":o,"data-mode":r===void 0?void 0:r==="closed"?"collapsed":"expanded","data-open":o==="stacked"&&i?"":void 0,"data-peek":e.peeking?"":void 0}}function gt(e,t){let n=Ie(e),r=E.useMemo(()=>fe(e,()=>t),[n,t]),o=E.useMemo(()=>ae(r)===void 0?Oe("presentation",r):{},[r]);return{table:r,attributes:o}}var h=L(require("react")),le=require("radix-ui/internal");function ht(e,t="horizontal"){if(e==null)return;if(typeof e=="number"&&Number.isFinite(e))return e;let n=String(e).trim();if(!n)return;if(n.endsWith("px"))return Number.parseFloat(n);if(n.endsWith("rem")){let o=Number.parseFloat(getComputedStyle(document.documentElement).fontSize||"16")||16;return Number.parseFloat(n)*o}if(n.endsWith("%")){let o=Number.parseFloat(n),i=t==="horizontal"?document.documentElement.clientWidth||window.innerWidth||0:document.documentElement.clientHeight||window.innerHeight||0;return o/100*i}let r=Number.parseFloat(n);return Number.isFinite(r)?r:void 0}var xe=(e,t,n)=>Math.max(t??e,Math.min(n??e,e));function St(e,t,n,r){let[o]=h.useState(()=>{let i=e??t;return typeof i=="number"&&Number.isFinite(i)?`${xe(i,n,r)}px`:void 0});return o}function vt(e){let{name:t,elementRef:n,cssVarName:r,orientation:o,minSize:i,maxSize:s,resizable:d,size:l,defaultSize:a,paneId:u,persistence:g}=e,f=h.useRef(e);(0,le.useLayoutEffect)(()=>{f.current=e});let N=h.useRef(null),F=h.useRef(0);h.useEffect(()=>()=>{N.current&&clearTimeout(N.current)},[]);let B=h.useCallback((p,y)=>{let{onSizeChange:z,sizeUpdate:C,sizeUpdateMs:U}=f.current;if(z){if(C==="debounce"){N.current&&clearTimeout(N.current),N.current=setTimeout(()=>{N.current=null,f.current.onSizeChange?.(p,y)},U);return}if(C==="throttle"){let c=Date.now();if(c-F.current<U)return;F.current=c}z(p,y)}},[]),k=h.useCallback(p=>ht(p,o==="vertical"?"horizontal":"vertical"),[o]),x=h.useRef(!1),D=h.useCallback((p,y)=>{let z=n.current;if(z){z.style.setProperty(r,`${p}px`);for(let C of z.querySelectorAll(":scope > .kui-ShellResizer"))C.setAttribute("aria-valuenow",String(Math.round(p)));y&&(x.current=!0)}},[n,r]);(0,le.useLayoutEffect)(()=>{x.current||D(e.expandedSize,!1)},[e.expandedSize,D]),(0,le.useLayoutEffect)(()=>{if(l!==void 0||a===void 0)return;let p=k(a);if(typeof p!="number"||!Number.isFinite(p))return;let y=xe(p,i,s);D(y,!0),B(y,{reason:"init"})},[]),(0,le.useLayoutEffect)(()=>{if(l===void 0||f.current.overlayingNow())return;let p=k(l);if(typeof p!="number"||!Number.isFinite(p))return;let y=xe(p,i,s);D(y,!0),B(y,{reason:"controlled"})},[l,i,s,e.overlaying,k,D,B]);let j=g!==void 0,W=h.useMemo(()=>{if(j)return{load:()=>f.current.persistence?.load?.(),save:y=>f.current.persistence?.save?.(y)};if(!u)return;let p=`kookie-ui:shell:${t}:${u}`;return{load:()=>{if(!(typeof window>"u"))try{let y=window.localStorage.getItem(p);return y?Number(y):void 0}catch{return}},save:y=>{if(!(typeof window>"u"))try{window.localStorage.setItem(p,String(y))}catch{}}}},[t,u,j]);(0,le.useLayoutEffect)(()=>{if(!d||!W?.load||f.current.overlayingNow())return;let p=!0,y=C=>{if(!p||typeof C!="number"||!Number.isFinite(C))return;let U=xe(C,i,s);D(U,!0),f.current.onResize?.(U)},z=W.load();return z instanceof Promise?z.then(y).catch(C=>{}):y(z),()=>{p=!1}},[d,W,e.overlaying,D,i,s,t]);let ee=h.useCallback(p=>f.current.onResize?.(p),[]),H=h.useCallback(p=>{x.current=!0,f.current.onResizeStart?.(p)},[]),I=h.useCallback(p=>{f.current.onResizeEnd?.(p),B(p,{reason:"resize"}),W?.save?.(p)},[B,W]),_=h.useCallback(()=>f.current.requestCollapse(),[]),w=h.useCallback(()=>f.current.requestToggle(),[]);return h.useMemo(()=>({containerRef:n,controls:e.elementId,cssVarName:r,minSize:i,maxSize:s,defaultSize:e.expandedSize,orientation:o,edge:e.edge,growth:e.growth,onResize:ee,onResizeStart:H,onResizeEnd:I,target:t,collapsible:e.collapsible,snapPoints:e.snapPoints,snapTolerance:e.snapTolerance??8,collapseThreshold:e.collapseThreshold,requestCollapse:_,requestToggle:w}),[n,e.elementId,r,i,s,e.expandedSize,o,e.edge,e.growth,ee,H,I,t,e.collapsible,e.snapPoints,e.snapTolerance,e.collapseThreshold,_,w])}function Rt(e,t){let n=h.Children.toArray(e),r=n.filter(i=>h.isValidElement(i)&&i.type===t),o=n.filter(i=>!(h.isValidElement(i)&&i.type===t));return{handles:r,content:o}}var xt=e=>e==="overlay"?"closed":"open";var Ct=e=>e?-1:1;function Et(e){if(!("height"in e)&&!("resizer"in e))return e;let{height:t,resizer:n,...r}=e;return r}var b=L(require("react")),ye=L(require("classnames"));var M=L(require("react")),It=L(require("classnames")),te=require("radix-ui"),$t=require("radix-ui/internal");var wt={asChild:{type:"boolean"}};var gn=["none","small","medium","large","full"],zt={radius:{type:"enum",values:gn,default:void 0}};var hn=["vertical","horizontal","both"],Ce={...wt,...zt,scrollbars:{type:"enum",values:hn,default:"both"},fade:{type:"boolean",default:!1}};var Ee=L(require("react"));function je(e){let t=getComputedStyle(e);return{x:t.overflowX==="hidden"?0:Math.max(0,e.scrollWidth-e.clientWidth),y:t.overflowY==="hidden"?0:Math.max(0,e.scrollHeight-e.clientHeight)}}function Tt(e){let[t,n]=Ee.useState(null);return Ee.useEffect(()=>{if(!e||!t)return;let r=0,o=()=>{r=0;let l=je(t),a=Math.max(0,t.scrollTop),u=Math.max(0,l.y-t.scrollTop);t.style.setProperty("--scroll-overflow-start",`${a}px`),t.style.setProperty("--scroll-overflow-end",`${u}px`);let g=Math.abs(t.scrollLeft),f=Math.max(0,l.x-g);t.style.setProperty("--scroll-overflow-x-start",`${g}px`),t.style.setProperty("--scroll-overflow-x-end",`${f}px`)},i=()=>{r||(r=requestAnimationFrame(o))};o(),t.addEventListener("scroll",i,{passive:!0});let s=typeof ResizeObserver>"u"?null:new ResizeObserver(i);s?.observe(t);for(let l of Array.from(t.children))s?.observe(l);let d=typeof MutationObserver>"u"?null:new MutationObserver(i);return d?.observe(t,{childList:!0}),()=>{r&&cancelAnimationFrame(r),t.removeEventListener("scroll",i),s?.disconnect(),d?.disconnect(),t.style.removeProperty("--scroll-overflow-start"),t.style.removeProperty("--scroll-overflow-end"),t.style.removeProperty("--scroll-overflow-x-start"),t.style.removeProperty("--scroll-overflow-x-end")}},[e,t]),n}var we=L(require("react"));function Nt(){let[e,t]=we.useState(null);return we.useEffect(()=>{let n=e?.parentElement;if(!e||!n)return;let r=0,o=()=>{r=0;for(let s of n.querySelectorAll(":scope > .kui-ScrollAreaScrollbar > .kui-ScrollAreaThumb")){let d=s.parentElement,l=getComputedStyle(d);if(d.dataset.orientation==="horizontal"){let a=d.clientWidth-parseFloat(l.paddingLeft)-parseFloat(l.paddingRight),u=kt(e.scrollLeft,e.scrollWidth-e.offsetWidth,a-s.offsetWidth);s.style.transform=`translate3d(${u}px, 0, 0)`}else{let a=d.clientHeight-parseFloat(l.paddingTop)-parseFloat(l.paddingBottom),u=kt(e.scrollTop,e.scrollHeight-e.offsetHeight,a-s.offsetHeight);s.style.transform=`translate3d(0, ${u}px, 0)`}}},i=()=>{r||(r=requestAnimationFrame(o))};return e.addEventListener("scroll",i,{passive:!0}),()=>{r&&cancelAnimationFrame(r),e.removeEventListener("scroll",i)}},[e]),t}function kt(e,t,n){return t<=0||n<=0?0:Math.min(Math.max(e,-t),t)/t*n}var ze=L(require("react"));function Dt(e,t){let{asChild:n,children:r}=e;if(!n)return typeof t=="function"?t(r):t;let o=ze.Children.only(r);return ze.cloneElement(o,{children:typeof t=="function"?t(o.props.children):t})}var At=L(require("classnames"));var Sn=[],vn=new Set;function Rn(e){let t=Object.assign({},...e),n=[],r=[],o=new Set;for(let i in t){let s=t[i],d=s.values??Sn,l={key:i,type:s.type,default:s.default,hasDefault:s.default!==void 0,responsive:"responsive"in s,className:s.className,customProperties:s.customProperties,parseValue:s.parseValue,values:d,valueSet:d.length>0?new Set(d):vn,enumValueSet:s.type==="enum"?new Set([s.default,...d]):void 0};s.className?(n.push(l),o.add(i)):(l.hasDefault||s.type==="enum")&&r.push(l)}return{styling:n,passthrough:r,stylingKeys:o}}var xn={children:new WeakMap};function Vt(e){let t=xn;for(let n=0;n<e.length;n++){let r=e[n],o=t.children.get(r);o===void 0&&(o={children:new WeakMap},t.children.set(r,o)),t=o}return t.compiled??(t.compiled=Rn(e))}var Cn=["initial","xs","sm","md","lg","xl"],We=new Set(Cn);function Ue(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var En=new Set(["initial","xs","sm","md","lg","xl"]);function ie(e){if(typeof e!="object"||e===null)return!1;for(let t in e)if(En.has(t))return!0;return!1}function Te(e,t,n){return t!==void 0?t.has(n):e.includes(n)}function Mt({className:e,customProperties:t,...n}){let r=qe({allowArbitraryValues:!0,className:e,...n}),o=wn({customProperties:t,...n});return[r,o]}function qe({allowArbitraryValues:e,value:t,className:n,propValues:r,propValueSet:o,parseValue:i=s=>s}){if(t){if(typeof t=="string")return Te(r,o,t)?Lt(n,t,i):e?n:void 0;if(ie(t)){let s=t,d=[];for(let l in s){if(!Ue(s,l)||!We.has(l))continue;let a=s[l];if(a!==void 0){if(Te(r,o,a)){let u=Lt(n,a,i),g=l==="initial"?u:`${l}:${u}`;d.push(g)}else if(e){let u=l==="initial"?n:`${l}:${n}`;d.push(u)}}}return d.length>0?d.join(" "):""}if(e)return n}}function Lt(e,t,n){let r=e?"-":"",o=n(t),i=o?.startsWith("-"),s=i?"-":"",d=i?o?.substring(1):o;return`${s}${e}${r}${d}`}function wn({customProperties:e,value:t,propValues:n,propValueSet:r,parseValue:o=i=>i}){if(!t||typeof t=="string"&&Te(n,r,t))return;let i;if(typeof t=="string"){let s=o(t);i={};for(let d of e)i[d]=s;return i}if(ie(t)){let s=t;for(let d in s){if(!Ue(s,d)||!We.has(d))continue;let l=s[d];if(l===void 0||Te(n,r,l))continue;let a=o(l);i??(i={});for(let u of e){let g=d==="initial"?u:`${u}-${d}`;i[g]=a}}}return i??{}}function Ke(...e){let t;for(let n of e)n&&(t===void 0&&(t={}),Object.assign(t,n));return t}function zn(e,t){let n=e.initial,r=!1;return t.hasDefault&&n===void 0&&(n=t.default,r=!0),t.enumValueSet!==void 0&&!t.enumValueSet.has(n)&&(n=t.default,r=!0),r?{...e,initial:n}:e}function Bt(e,...t){let{styling:n,passthrough:r,stylingKeys:o}=Vt(t),i={};for(let l in e)o.has(l)||(i[l]=e[l]);for(let l=0;l<r.length;l++){let a=r[l],u=i[a.key];if(u===void 0){a.hasDefault&&(i[a.key]=a.default);continue}a.enumValueSet!==void 0&&!a.enumValueSet.has(u)&&!ie(u)&&(i[a.key]=a.default)}let s,d=[];for(let l=0;l<n.length;l++){let a=n[l],u=e[a.key];if(u===void 0&&a.hasDefault&&(u=a.default),a.enumValueSet!==void 0&&!a.enumValueSet.has(u)&&!ie(u)&&(u=a.default),!!u){if(ie(u)){if(!a.responsive)continue;u=zn(u,a)}if(a.type==="enum"){let g=qe({allowArbitraryValues:!1,value:u,className:a.className,propValues:a.values,propValueSet:a.valueSet,parseValue:a.parseValue});g&&d.push(g);continue}if(a.type==="string"||a.type==="enum | string"){let[g,f]=Mt({className:a.className,customProperties:a.customProperties,propValues:a.type==="string"?[]:a.values,propValueSet:a.type==="string"?void 0:a.valueSet,parseValue:a.parseValue,value:u});f&&(s=Ke(s,f)),g&&d.push(g);continue}if(a.type==="boolean"){d.push(a.className);continue}}}return i.className=(0,At.default)(d.length>0?d.join(" "):void 0,e.className),i.style=Ke(s,e.style),i}var Ht={width:{type:"string",className:"kui-r-w",customProperties:["--width"],responsive:!0},minWidth:{type:"string",className:"kui-r-min-w",customProperties:["--min-width"],responsive:!0},maxWidth:{type:"string",className:"kui-r-max-w",customProperties:["--max-width"],responsive:!0}};var Ot={height:{type:"string",className:"kui-r-h",customProperties:["--height"],responsive:!0},minHeight:{type:"string",className:"kui-r-min-h",customProperties:["--min-height"],responsive:!0},maxHeight:{type:"string",className:"kui-r-max-h",customProperties:["--max-height"],responsive:!0}};var Tn='[role="menu"], [role="listbox"]';function kn(e,t){M.useEffect(()=>{if(!t||!e||e.closest(Tn))return;let n=0,r=()=>{n=0;let s=je(e);s.x>0||s.y>0?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")},o=()=>{n||(n=requestAnimationFrame(r))};r();let i=typeof ResizeObserver>"u"?null:new ResizeObserver(o);i?.observe(e);for(let s of Array.from(e.children))i?.observe(s);return()=>{n&&cancelAnimationFrame(n),i?.disconnect()}},[e,t])}var ke=M.forwardRef((e,t)=>{let{asChild:n,children:r,className:o,style:i,type:s,scrollHideDelay:d=s!=="scroll"?0:void 0,dir:l,radius:a=Ce.radius.default,scrollbars:u=Ce.scrollbars.default,fade:g=Ce.fade.default,...f}=Bt(e,Ht,Ot),[N,F]=M.useState(null),B=Tt(g),k=Nt(),x=(0,$t.useComposedRefs)(t,B,k,F);kn(N,f.tabIndex===void 0);let D=f["aria-label"]!==void 0||f["aria-labelledby"]!==void 0;return M.createElement(te.ScrollArea.Root,{type:s,scrollHideDelay:d,dir:l,className:(0,It.default)("kui-ScrollAreaRoot",o),"data-fade":g?"":void 0,style:i,asChild:n},Dt({asChild:n,children:r},j=>M.createElement(M.Fragment,null,M.createElement(te.ScrollArea.Viewport,{role:D?"region":void 0,...f,ref:x,className:"kui-ScrollAreaViewport"},j),M.createElement("div",{className:"kui-ScrollAreaViewportFocusRing"}),u!=="vertical"?M.createElement(te.ScrollArea.Scrollbar,{"data-radius":a,orientation:"horizontal",className:"kui-ScrollAreaScrollbar"},M.createElement(te.ScrollArea.Thumb,{className:"kui-ScrollAreaThumb"})):null,u!=="horizontal"?M.createElement(te.ScrollArea.Scrollbar,{"data-radius":a,orientation:"vertical",className:"kui-ScrollAreaScrollbar"},M.createElement(te.ScrollArea.Thumb,{className:"kui-ScrollAreaThumb"})):null,u==="both"?M.createElement(te.ScrollArea.Corner,{className:"kui-ScrollAreaCorner"}):null)))});ke.displayName="ScrollArea";var Ft=L(require("react")),Ne=Ft.createContext(void 0);var jt=b.createContext(null);function _e(){return b.useContext(jt)}var Ge=b.createContext("2"),Nn=b.createContext(!1);function Wt({children:e,presentation:t}){let n=b.useContext(Ge),r=b.useMemo(()=>({size:n,menuVariant:"soft",presentation:t}),[n,t]);return b.createElement(jt.Provider,{value:r},e)}function Qe(){let e=_e(),t=b.useContext(Ge),n=e?.size??t,r=e?.menuVariant??"soft";return["kui-ShellPaneChrome",`kui-r-size-${n}`,`kui-menu-variant-${r}`]}var Dn={1:"2",2:"3",3:"4",4:"4"};function Ut(){let e=_e(),t=b.useContext(Ge);return Dn[e?.size??t]}var Vn=b.forwardRef(({className:e,float:t,children:n,...r},o)=>{let i=Qe(),s=Ut();return b.createElement("div",{...r,ref:o,"data-float":t||void 0,className:(0,ye.default)("kui-ShellPaneHeader","kui-SidebarHeader","kui-SidebarHeader--container",...i,e)},b.createElement(Ne.Provider,{value:s},n))});Vn.displayName="Shell.PaneHeader";var Ln=b.forwardRef(({className:e,float:t,children:n,...r},o)=>{let i=Qe(),s=Ut();return b.createElement("div",{...r,ref:o,"data-float":t||void 0,className:(0,ye.default)("kui-ShellPaneFooter","kui-SidebarFooter","kui-SidebarFooter--container",...i,e)},b.createElement(Ne.Provider,{value:s},n))});Ln.displayName="Shell.PaneFooter";var Mn=b.forwardRef(({className:e,style:t,dir:n,children:r,fade:o=!1,...i},s)=>{let d=Qe(),l=b.useContext(Nn),a=_e();return l&&a===null?b.createElement(ke,{...i,ref:s,type:"hover",fade:o,className:"kui-ShellScroll"},b.createElement("div",{style:t,dir:n,className:(0,ye.default)("kui-ShellScrollContent",e)},r)):b.createElement(ke,{...i,ref:s,type:"hover",fade:o,className:"kui-ShellScroll"},b.createElement("div",{style:t,dir:n,className:(0,ye.default)("kui-BaseMenuContent","kui-SidebarContent",...d,e)},b.createElement(Ne.Provider,{value:null},b.createElement("div",{className:"kui-BaseMenuViewport"},r))))});Mn.displayName="Shell.Scroll";var qt=e=>e==="collapsed"?"closed":"open",An=e=>e==="closed"?"collapsed":"expanded";function Kt(e){if(e===void 0)return;if(typeof e=="string")return qt(e);let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=qt(r));return t}var Bn={controlled:"state",default:"defaultState"},Hn={initial:"overlay",sm:"fixed"},Ye=K.forwardRef((e,t)=>{let{className:n,presentation:r=Hn,expandedSize:o=288,minSize:i=200,maxSize:s=400,resizable:d=!1,collapsible:l=!0,onExpand:a,onCollapse:u,onResize:g,onResizeStart:f,onResizeEnd:N,snapPoints:F,snapTolerance:B,collapseThreshold:k,paneId:x,persistence:D,children:j,style:W,state:ee,defaultState:H,onStateChange:I,size:_,defaultSize:w,onSizeChange:p,sizeUpdate:y,sizeUpdateMs:z=50,inset:C,id:U,...c}=e,{table:P,attributes:S}=gt(r,"fixed"),R=Pt({name:"sidebar",label:"Sidebar",propNames:Bn,id:U,controlled:Kt(ee),defaultValue:Kt(H),presentationTable:P,builtIn:xt,onChange:(De,Ve)=>I?.(An(De),{reason:Ve}),onExpand:a,onCollapse:u,size:o});yt("sidebar",C),K.useEffect(()=>{(F!==void 0||k!==void 0||x!==void 0||D!==void 0)&&void 0},[F,k,x,D]);let O=K.useRef(null),A=(0,Gt.useComposedRefs)(t,R.setElement,O),v=vt({name:"sidebar",elementId:R.id,elementRef:O,cssVarName:"--sidebar-size",orientation:"vertical",edge:"end",growth:Ct,expandedSize:o,minSize:i,maxSize:s,resizable:d,collapsible:l,size:_,defaultSize:w,onSizeChange:p,sizeUpdate:y,sizeUpdateMs:z,onResize:g,onResizeStart:f,onResizeEnd:N,snapPoints:F,snapTolerance:B,collapseThreshold:k,paneId:x,persistence:D,overlaying:R.overlaying,overlayingNow:()=>P[pe()]==="overlay",requestCollapse:()=>R.setValue("closed","toggle"),requestToggle:()=>R.toggle("toggle")}),{handles:X,content:m}=Rt(j,he),q=d&&R.value!=="closed"&&!R.overlaying?K.createElement(Ae.Provider,{value:v},X.length>0?X:K.createElement(re,null)):null,G=R.peeking?`var(--sidebar-size, ${o}px)`:void 0,Q=St(_,w,i,s);return K.createElement("div",{...Et(c),role:c.role??"navigation",id:R.id,ref:A,className:(0,_t.default)("kui-ShellPane","kui-ShellSidebar",n),...bt(R,S),"data-inset":C||void 0,tabIndex:R.overlaying?-1:c.tabIndex,style:{...W,"--sidebar-expanded-size":`${o}px`,...Q?{"--sidebar-size":Q}:{},"--sidebar-min-size":`${i}px`,"--sidebar-max-size":`${s}px`,...G?{"--peek-sidebar-width":G}:{}}},K.createElement("div",{className:"kui-ShellSidebarContent"},K.createElement(Wt,null,m)),q)});Ye.displayName="Shell.Sidebar";Ye.Handle=he;
|
|
2
|
+
"use strict";"use client";var en=Object.create;var Pe=Object.defineProperty;var tn=Object.getOwnPropertyDescriptor;var nn=Object.getOwnPropertyNames;var rn=Object.getPrototypeOf,on=Object.prototype.hasOwnProperty;var sn=(e,t)=>{for(var n in t)Pe(e,n,{get:t[n],enumerable:!0})},rt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of nn(t))!on.call(e,o)&&o!==n&&Pe(e,o,{get:()=>t[o],enumerable:!(r=tn(t,o))||r.enumerable});return e};var D=(e,t,n)=>(n=e!=null?en(rn(e)):{},rt(t||!e||!e.__esModule?Pe(n,"default",{value:e,enumerable:!0}):n,e)),an=e=>rt(Pe({},"__esModule",{value:!0}),e);var Kn={};sn(Kn,{Sidebar:()=>Ye});module.exports=an(Kn);var K=D(require("react")),Xt=D(require("classnames")),Jt=require("radix-ui/internal");var he=D(require("react")),Ae=he.createContext(null);function ot(){let e=he.useContext(Ae);if(!e)throw new Error("Shell.Handle must be used within a resizable pane");return e}var T=D(require("react")),it=require("radix-ui/internal"),st=D(require("classnames"));var re=T.forwardRef(({className:e,children:t,...n},r)=>{let{containerRef:o,controls:i,cssVarName:s,minSize:d,maxSize:l,defaultSize:a,orientation:u,edge:P,growth:f,onResize:k,onResizeStart:F,onResizeEnd:B,snapPoints:N,snapTolerance:x,collapseThreshold:V,collapsible:j,target:W,requestCollapse:ee,requestToggle:H}=ot(),I=T.useRef(null),_=T.useCallback(c=>{I.current=c,typeof r=="function"?r(c):r&&(r.current=c)},[r]),w=T.useRef(null);T.useEffect(()=>()=>{w.current?.(),w.current=null},[]);let p=T.useCallback(()=>{let c=o.current;if(!c)return a;let h=Number.parseFloat(getComputedStyle(c).getPropertyValue(s));return Number.isFinite(h)?h:a},[o,s,a]),b=T.useCallback(()=>{let c=o.current,h=I.current,S=c?.closest(".kui-ShellRoot")?.getBoundingClientRect();if(!c||!S||!h)return l;let R=c.getBoundingClientRect(),O=h.getBoundingClientRect(),A=f(getComputedStyle(c).direction==="rtl"),v;u==="vertical"?v=A>0?S.right-R.left:R.right-S.left:v=A>0?S.bottom-R.top:R.bottom-S.top;let X=u==="vertical"?O.width:O.height;return!(S.width>0&&S.height>0)||!Number.isFinite(v)?l:Math.max(d,Math.min(l,Math.round(v-X)))},[o,f,l,d,u]),z=()=>{I.current?.setAttribute("aria-valuemax",String(b()))};(0,it.useLayoutEffect)(()=>{I.current?.setAttribute("aria-valuenow",String(Math.round(p())))},[p]);let C=(c,h)=>{c.style.setProperty(s,`${h}px`),I.current?.setAttribute("aria-valuenow",String(Math.round(h)))},U=W.charAt(0).toUpperCase()+W.slice(1);return T.createElement("div",{ref:_,className:(0,st.default)("kui-ShellResizer",e),"data-orientation":u,"data-edge":P,role:"separator",tabIndex:0,"aria-label":`Resize ${U} pane`,"aria-controls":i,"aria-orientation":u,"aria-valuemin":d,"aria-valuemax":l,...n,onPointerDown:c=>{n.onPointerDown?.(c);let h=o.current;if(!h||c.defaultPrevented||c.button!==0)return;c.preventDefault();let S=c.currentTarget,R=c.pointerId;w.current?.();try{S.setPointerCapture(R)}catch{}let O=getComputedStyle(h),A=Number.parseFloat(O.getPropertyValue(s)),v=Number.isFinite(A)?A:a,X=u==="vertical"?c.clientX:c.clientY,m=f(O.direction==="rtl"),q=b();S.setAttribute("aria-valuemax",String(q));let G=L=>Math.min(Math.max(L,d),q);h.setAttribute("data-resizing",""),S.setAttribute("data-dragging","");let Q=document.body,De=Q.style.cursor,Ve=Q.style.userSelect;Q.style.cursor=u==="vertical"?"col-resize":"row-resize",Q.style.userSelect="none",F?.(v);let ne=v,Le=v,Y=0,ue=null,Xe=()=>{if(Y=0,ue===null)return;let L=ue;ue=null,k?.(L)},Je=null,Ze=!1,Zt=(L,se)=>{if(L.type===se)Ze=!0;else if(Ze)return!1;return!0},J=L=>{if(!Zt(L,"pointermove")||L===Je)return;Je=L;let se=u==="vertical"?L.clientX:L.clientY;Le=v+(se-X)*m,ne=G(Le),C(h,ne),ue=ne,Y||(Y=requestAnimationFrame(Xe))},ye=()=>{Y&&cancelAnimationFrame(Y),Y=0;try{S.releasePointerCapture(R)}catch{}window.removeEventListener("pointermove",J),document.removeEventListener("pointermove",J),window.removeEventListener("mousemove",J),document.removeEventListener("mousemove",J),S.removeEventListener("pointermove",J),window.removeEventListener("pointerup",$),document.removeEventListener("pointerup",$),window.removeEventListener("mouseup",$),document.removeEventListener("mouseup",$),window.removeEventListener("pointercancel",$),document.removeEventListener("pointercancel",$),window.removeEventListener("keydown",et),S.removeEventListener("lostpointercapture",$),h.removeAttribute("data-resizing"),S.removeAttribute("data-dragging"),Q.style.cursor=De,Q.style.userSelect=Ve,w.current=null},Me=!1,$=()=>{if(Me)return;if(Me=!0,Y&&cancelAnimationFrame(Y),Xe(),j&&typeof V=="number"&&Le<=V){C(h,v),k?.(v),ye(),ee?.(),B?.(v);return}let L=ne;if(N&&N.length){let se=N.reduce((tt,nt)=>Math.abs(nt-ne)<Math.abs(tt-ne)?nt:tt,N[0]);Math.abs(se-ne)<=x&&(L=G(se),C(h,L),k?.(L))}B?.(L),ye()},et=L=>{L.key==="Escape"&&(Y&&cancelAnimationFrame(Y),Y=0,ue=null,C(h,v),k?.(v),Me=!0,B?.(v),ye())};window.addEventListener("pointermove",J),document.addEventListener("pointermove",J),window.addEventListener("mousemove",J),document.addEventListener("mousemove",J),S.addEventListener("pointermove",J),window.addEventListener("pointerup",$),document.addEventListener("pointerup",$),window.addEventListener("mouseup",$),document.addEventListener("mouseup",$),window.addEventListener("pointercancel",$),document.addEventListener("pointercancel",$),window.addEventListener("keydown",et),S.addEventListener("lostpointercapture",$),w.current=ye},onDoubleClick:c=>{n.onDoubleClick?.(c),!c.defaultPrevented&&j&&H?.()},onFocus:c=>{n.onFocus?.(c),z()},onKeyDown:c=>{n.onKeyDown?.(c);let h=o.current;if(!h||c.defaultPrevented)return;if(c.key==="Enter"){j&&H&&(c.preventDefault(),H());return}let S=p(),R=b(),O=v=>Math.min(Math.max(v,d),R),A;if(c.key==="Home")A=O(d);else if(c.key==="End")A=O(R);else{let v=u==="vertical"?c.key==="ArrowRight"?1:c.key==="ArrowLeft"?-1:0:c.key==="ArrowDown"?1:c.key==="ArrowUp"?-1:0;if(v===0)return;let X=c.shiftKey?32:8;A=O(S+v*X*f(getComputedStyle(h).direction==="rtl"))}c.preventDefault(),F?.(S),C(h,A),k?.(A),B?.(A)}},t)});re.displayName="Shell.Handle";var ln=T.forwardRef((e,t)=>T.createElement(re,{...e,ref:t}));ln.displayName="Shell.Panel.Handle";var ge=T.forwardRef((e,t)=>T.createElement(re,{...e,ref:t}));ge.displayName="Shell.Sidebar.Handle";var un=T.forwardRef((e,t)=>T.createElement(re,{...e,ref:t}));un.displayName="Shell.Inspector.Handle";var dn=T.forwardRef((e,t)=>T.createElement(re,{...e,ref:t}));dn.displayName="Shell.Bottom.Handle";var E=D(require("react")),me=require("radix-ui/internal");var ce=D(require("react"));var at={xs:"(min-width: 520px)",sm:"(min-width: 768px)",md:"(min-width: 1024px)",lg:"(min-width: 1280px)",xl:"(min-width: 1640px)"},Se=["initial","xs","sm","md","lg","xl"];var cn=Object.entries(at),Be=null,de=new Set,oe=null;function He(){return Be??(Be=cn.map(([e,t])=>[e,window.matchMedia(t)])),Be}function Re(){let e="initial";for(let[t,n]of He())n.matches&&(e=t);return e}function ve(){let e=Re();e!==oe&&(oe=e,de.forEach(t=>t()))}function lt(e){if(typeof window>"u")return()=>{};if(de.size===0){oe=Re();for(let[,t]of He())typeof t.addEventListener=="function"?t.addEventListener("change",ve):t.addListener?.(ve)}return de.add(e),()=>{if(de.delete(e),!(de.size>0)){for(let[,t]of He())try{typeof t.removeEventListener=="function"?t.removeEventListener("change",ve):t.removeListener?.(ve)}catch{}oe=null}}}function pn(){return typeof window>"u"?"initial":(oe??(oe=Re()),oe)}function fn(){return"initial"}function pe(){return typeof window>"u"?"initial":Re()}var mn=()=>!0,bn=()=>!1,ut=()=>()=>{},yn=()=>"initial";function dt(e=!0){let t=ce.useSyncExternalStore(e?lt:ut,e?pn:yn,fn),n=ce.useSyncExternalStore(e?lt:ut,mn,bn);return ce.useMemo(()=>({breakpoint:t,ready:n}),[t,n])}var Z=D(require("react")),pt=require("radix-ui/internal");function ct(e){return typeof e=="object"&&e!==null}function fe(e,t){let n={},r=null;for(let o of Se){if(e!==void 0&&!ct(e)){n[o]=e;continue}let i=ct(e)?e[o]:void 0;i!==void 0&&(r={value:i}),n[o]=r?r.value:t(o)}return n}function ae(e){let t=e.initial;return Se.every(n=>e[n]===t)?t:void 0}function Oe(e,t){let n=ae(t);if(n!==void 0)return{[`data-${e}`]:n};let r={};for(let o of Se)r[`data-${e}-${o}`]=t[o];return r}function Ie(e){return typeof e=="object"&&e!==null?JSON.stringify(e):String(e)}var tr=fe("fixed",()=>"fixed");function $e(e){e.version+=1;for(let t of e.listeners)t()}function Pn(e,t){return e.listeners.add(t),()=>{e.listeners.delete(t)}}var hn=Z.createContext(null);function ft(e){let t=Z.useContext(hn);if(!t)throw new Error(`${e} must be used within <Shell.Root>`);return t}function mt(e,t){let n=Z.useCallback(r=>Pn(e,r),[e]);return Z.useSyncExternalStore(n,()=>e.peek===t,()=>!1)}var gn=Z.createContext(null);function bt(e,t){let n=Z.useContext(gn);if(!n)throw new Error("Shell panes must be used within <Shell.Root>");let{registerInset:r,unregisterInset:o}=n;(0,pt.useLayoutEffect)(()=>{if(t)return r(e),()=>o(e)},[e,t,r,o])}var Fe=e=>typeof e=="object"&&e!==null;function vn(e){for(let t of["initial","xs","sm","md","lg","xl"]){let n=e[t];if(n!==void 0)return n}return"closed"}function yt(e){let{name:t,label:n,propNames:r,presentationTable:o,builtIn:i}=e,s=ft(`Shell.${n}`),d=E.useId(),l=e.id??`shell-${t}${d}`,a=e.controlled!==void 0,u=Fe(e.controlled);u&&(`${n}${r.controlled}${r.default}`,void 0);let P=u?e.controlled:void 0,f=P??(Fe(e.defaultValue)?e.defaultValue:void 0),k=Ie(f),[F,B]=E.useState(()=>typeof e.defaultValue=="string"?e.defaultValue:"auto"),N=E.useMemo(()=>P?fe(P,()=>vn(P)):fe(f,m=>i(o[m])),[k,u,o,i]),x=F;a&&(x=P?"auto":e.controlled);let V=ae(o)===void 0||x==="auto"&&ae(N)===void 0,{breakpoint:j,ready:W}=dt(V),ee=m=>{let q=ae(m);return q!==void 0?q:W?m[j]:void 0},H=x==="auto"?ee(N):x,I=ee(o),_=I==="overlay",w=H===void 0?void 0:H!=="closed",p=w===!0&&_,b=e.defaultValue,z=E.useRef({state:x,value:H,autoTable:N,defaultValue:b,controlled:a,onChange:e.onChange,toggleNext:e.toggleNext});(0,me.useLayoutEffect)(()=>{z.current={state:x,value:H,autoTable:N,defaultValue:b,controlled:a,onChange:e.onChange,toggleNext:e.toggleNext}});let C=E.useCallback(()=>{let m=z.current;return m.value!==void 0?m.value:m.state==="auto"?m.autoTable[pe()]:void 0},[]),U=E.useCallback(()=>{let m=z.current;return typeof m.defaultValue=="string"?m.defaultValue:Fe(m.defaultValue)?m.autoTable[pe()]:void 0},[]),c=E.useCallback((m,q)=>{let G=z.current;C()!==m&&(G.onChange?.(m,q),G.controlled||B(m))},[C]),h=E.useCallback(m=>{let q=z.current,G=C()??"closed",Q=q.toggleNext?q.toggleNext(G,U()):G==="closed"?"open":"closed";c(Q,m)},[c,C,U]),S=E.useRef(null),R=E.useCallback(m=>{S.current=m},[]);(0,me.useLayoutEffect)(()=>{let m={name:t,id:l,el:S.current,value:H,presentation:I,presentationTable:o,overlayLive:p,size:e.size,setValue:c,toggle:h};return s.entries.set(t,m),$e(s),()=>{s.entries.get(t)===m&&(s.entries.delete(t),$e(s))}},[s,t,l,H,I,o,p,e.size,c,h]);let O=E.useRef({onExpand:e.onExpand,onCollapse:e.onCollapse});(0,me.useLayoutEffect)(()=>{O.current={onExpand:e.onExpand,onCollapse:e.onCollapse}});let A=E.useRef({state:x,shown:w});E.useEffect(()=>{let m=A.current;m.state!==x&&m.shown!==void 0&&w!==void 0&&m.shown!==w&&(w?O.current.onExpand?.():O.current.onCollapse?.()),A.current={state:x,shown:w}},[x,w]),(0,me.useLayoutEffect)(()=>{},[]);let v=E.useRef(a);E.useEffect(()=>{},[a,n,r.controlled]);let X=mt(s,t)&&w===!1&&!_;return{store:s,id:l,state:x,value:H,shown:w,presentation:I,overlaying:_,overlayLive:p,peeking:X,ready:W,breakpoint:j,autoTable:N,setValue:c,toggle:h,defaultHereNow:U,setElement:R}}function Pt(e,t){let{state:n,value:r,presentation:o,shown:i}=e;return{...t,"data-state":n,...n==="auto"?Oe("auto",e.autoTable):{},"data-presentation":o,"data-mode":r===void 0?void 0:r==="closed"?"collapsed":"expanded","data-open":o==="stacked"&&i?"":void 0,"data-peek":e.peeking?"":void 0}}function ht(e,t){let n=Ie(e),r=E.useMemo(()=>fe(e,()=>t),[n,t]),o=E.useMemo(()=>ae(r)===void 0?Oe("presentation",r):{},[r]);return{table:r,attributes:o}}var g=D(require("react")),le=require("radix-ui/internal");function gt(e,t="horizontal"){if(e==null)return;if(typeof e=="number"&&Number.isFinite(e))return e;let n=String(e).trim();if(!n)return;if(n.endsWith("px"))return Number.parseFloat(n);if(n.endsWith("rem")){let o=Number.parseFloat(getComputedStyle(document.documentElement).fontSize||"16")||16;return Number.parseFloat(n)*o}if(n.endsWith("%")){let o=Number.parseFloat(n),i=t==="horizontal"?document.documentElement.clientWidth||window.innerWidth||0:document.documentElement.clientHeight||window.innerHeight||0;return o/100*i}let r=Number.parseFloat(n);return Number.isFinite(r)?r:void 0}var xe=(e,t,n)=>Math.max(t??e,Math.min(n??e,e));function St(e,t,n,r){let[o]=g.useState(()=>{let i=e??t;return typeof i=="number"&&Number.isFinite(i)?`${xe(i,n,r)}px`:void 0});return o}function vt(e){let{name:t,elementRef:n,cssVarName:r,orientation:o,minSize:i,maxSize:s,resizable:d,size:l,defaultSize:a,paneId:u,persistence:P}=e,f=g.useRef(e);(0,le.useLayoutEffect)(()=>{f.current=e});let k=g.useRef(null),F=g.useRef(0);g.useEffect(()=>()=>{k.current&&clearTimeout(k.current)},[]);let B=g.useCallback((p,b)=>{let{onSizeChange:z,sizeUpdate:C,sizeUpdateMs:U}=f.current;if(z){if(C==="debounce"){k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{k.current=null,f.current.onSizeChange?.(p,b)},U);return}if(C==="throttle"){let c=Date.now();if(c-F.current<U)return;F.current=c}z(p,b)}},[]),N=g.useCallback(p=>gt(p,o==="vertical"?"horizontal":"vertical"),[o]),x=g.useRef(!1),V=g.useCallback((p,b)=>{let z=n.current;if(z){z.style.setProperty(r,`${p}px`);for(let C of z.querySelectorAll(":scope > .kui-ShellResizer"))C.setAttribute("aria-valuenow",String(Math.round(p)));b&&(x.current=!0)}},[n,r]);(0,le.useLayoutEffect)(()=>{x.current||V(e.expandedSize,!1)},[e.expandedSize,V]),(0,le.useLayoutEffect)(()=>{if(l!==void 0||a===void 0)return;let p=N(a);if(typeof p!="number"||!Number.isFinite(p))return;let b=xe(p,i,s);V(b,!0),B(b,{reason:"init"})},[]),(0,le.useLayoutEffect)(()=>{if(l===void 0||f.current.overlayingNow())return;let p=N(l);if(typeof p!="number"||!Number.isFinite(p))return;let b=xe(p,i,s);V(b,!0),B(b,{reason:"controlled"})},[l,i,s,e.overlaying,N,V,B]);let j=P!==void 0,W=g.useMemo(()=>{if(j)return{load:()=>f.current.persistence?.load?.(),save:b=>f.current.persistence?.save?.(b)};if(!u)return;let p=`kookie-ui:shell:${t}:${u}`;return{load:()=>{if(!(typeof window>"u"))try{let b=window.localStorage.getItem(p);return b?Number(b):void 0}catch{return}},save:b=>{if(!(typeof window>"u"))try{window.localStorage.setItem(p,String(b))}catch{}}}},[t,u,j]);(0,le.useLayoutEffect)(()=>{if(!d||!W?.load||f.current.overlayingNow())return;let p=!0,b=C=>{if(!p||typeof C!="number"||!Number.isFinite(C))return;let U=xe(C,i,s);V(U,!0),f.current.onResize?.(U)},z=W.load();return z instanceof Promise?z.then(b).catch(C=>{}):b(z),()=>{p=!1}},[d,W,e.overlaying,V,i,s,t]);let ee=g.useCallback(p=>f.current.onResize?.(p),[]),H=g.useCallback(p=>{x.current=!0,f.current.onResizeStart?.(p)},[]),I=g.useCallback(p=>{f.current.onResizeEnd?.(p),B(p,{reason:"resize"}),W?.save?.(p)},[B,W]),_=g.useCallback(()=>f.current.requestCollapse(),[]),w=g.useCallback(()=>f.current.requestToggle(),[]);return g.useMemo(()=>({containerRef:n,controls:e.elementId,cssVarName:r,minSize:i,maxSize:s,defaultSize:e.expandedSize,orientation:o,edge:e.edge,growth:e.growth,onResize:ee,onResizeStart:H,onResizeEnd:I,target:t,collapsible:e.collapsible,snapPoints:e.snapPoints,snapTolerance:e.snapTolerance??8,collapseThreshold:e.collapseThreshold,requestCollapse:_,requestToggle:w}),[n,e.elementId,r,i,s,e.expandedSize,o,e.edge,e.growth,ee,H,I,t,e.collapsible,e.snapPoints,e.snapTolerance,e.collapseThreshold,_,w])}function Rt(e,t){let n=g.Children.toArray(e),r=n.filter(i=>g.isValidElement(i)&&i.type===t),o=n.filter(i=>!(g.isValidElement(i)&&i.type===t));return{handles:r,content:o}}var xt=e=>e==="overlay"?"closed":"open";var Ct=e=>e?-1:1;function Et(e){if(!("height"in e)&&!("resizer"in e))return e;let{height:t,resizer:n,...r}=e;return r}var y=D(require("react")),be=D(require("classnames"));var M=D(require("react")),It=D(require("classnames")),te=require("radix-ui"),$t=require("radix-ui/internal");var wt={asChild:{type:"boolean"}};var Rn=["none","small","medium","large","full"],zt={radius:{type:"enum",values:Rn,default:void 0}};var xn=["vertical","horizontal","both"],Ce={...wt,...zt,scrollbars:{type:"enum",values:xn,default:"both"},fade:{type:"boolean",default:!1}};var Ee=D(require("react"));function je(e){let t=getComputedStyle(e);return{x:t.overflowX==="hidden"?0:Math.max(0,e.scrollWidth-e.clientWidth),y:t.overflowY==="hidden"?0:Math.max(0,e.scrollHeight-e.clientHeight)}}function Tt(e){let[t,n]=Ee.useState(null);return Ee.useEffect(()=>{if(!e||!t)return;let r=0,o=()=>{r=0;let l=je(t),a=Math.max(0,t.scrollTop),u=Math.max(0,l.y-t.scrollTop);t.style.setProperty("--scroll-overflow-start",`${a}px`),t.style.setProperty("--scroll-overflow-end",`${u}px`);let P=Math.abs(t.scrollLeft),f=Math.max(0,l.x-P);t.style.setProperty("--scroll-overflow-x-start",`${P}px`),t.style.setProperty("--scroll-overflow-x-end",`${f}px`)},i=()=>{r||(r=requestAnimationFrame(o))};o(),t.addEventListener("scroll",i,{passive:!0});let s=typeof ResizeObserver>"u"?null:new ResizeObserver(i);s?.observe(t);for(let l of Array.from(t.children))s?.observe(l);let d=typeof MutationObserver>"u"?null:new MutationObserver(i);return d?.observe(t,{childList:!0}),()=>{r&&cancelAnimationFrame(r),t.removeEventListener("scroll",i),s?.disconnect(),d?.disconnect(),t.style.removeProperty("--scroll-overflow-start"),t.style.removeProperty("--scroll-overflow-end"),t.style.removeProperty("--scroll-overflow-x-start"),t.style.removeProperty("--scroll-overflow-x-end")}},[e,t]),n}var we=D(require("react"));function Nt(){let[e,t]=we.useState(null);return we.useEffect(()=>{let n=e?.parentElement;if(!e||!n)return;let r=0,o=()=>{r=0;for(let s of n.querySelectorAll(":scope > .kui-ScrollAreaScrollbar > .kui-ScrollAreaThumb")){let d=s.parentElement,l=getComputedStyle(d);if(d.dataset.orientation==="horizontal"){let a=d.clientWidth-parseFloat(l.paddingLeft)-parseFloat(l.paddingRight),u=kt(e.scrollLeft,e.scrollWidth-e.offsetWidth,a-s.offsetWidth);s.style.transform=`translate3d(${u}px, 0, 0)`}else{let a=d.clientHeight-parseFloat(l.paddingTop)-parseFloat(l.paddingBottom),u=kt(e.scrollTop,e.scrollHeight-e.offsetHeight,a-s.offsetHeight);s.style.transform=`translate3d(0, ${u}px, 0)`}}},i=()=>{r||(r=requestAnimationFrame(o))};return e.addEventListener("scroll",i,{passive:!0}),()=>{r&&cancelAnimationFrame(r),e.removeEventListener("scroll",i)}},[e]),t}function kt(e,t,n){return t<=0||n<=0?0:Math.min(Math.max(e,-t),t)/t*n}var ze=D(require("react"));function Dt(e,t){let{asChild:n,children:r}=e;if(!n)return typeof t=="function"?t(r):t;let o=ze.Children.only(r);return ze.cloneElement(o,{children:typeof t=="function"?t(o.props.children):t})}var At=D(require("classnames"));var Cn=[],En=new Set;function wn(e){let t=Object.assign({},...e),n=[],r=[],o=new Set;for(let i in t){let s=t[i],d=s.values??Cn,l={key:i,type:s.type,default:s.default,hasDefault:s.default!==void 0,responsive:"responsive"in s,className:s.className,customProperties:s.customProperties,parseValue:s.parseValue,values:d,valueSet:d.length>0?new Set(d):En,enumValueSet:s.type==="enum"?new Set([s.default,...d]):void 0};s.className?(n.push(l),o.add(i)):(l.hasDefault||s.type==="enum")&&r.push(l)}return{styling:n,passthrough:r,stylingKeys:o}}var zn={children:new WeakMap};function Vt(e){let t=zn;for(let n=0;n<e.length;n++){let r=e[n],o=t.children.get(r);o===void 0&&(o={children:new WeakMap},t.children.set(r,o)),t=o}return t.compiled??(t.compiled=wn(e))}var Tn=["initial","xs","sm","md","lg","xl"],We=new Set(Tn);function Ue(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var kn=new Set(["initial","xs","sm","md","lg","xl"]);function ie(e){if(typeof e!="object"||e===null)return!1;for(let t in e)if(kn.has(t))return!0;return!1}function Te(e,t,n){return t!==void 0?t.has(n):e.includes(n)}function Mt({className:e,customProperties:t,...n}){let r=qe({allowArbitraryValues:!0,className:e,...n}),o=Nn({customProperties:t,...n});return[r,o]}function qe({allowArbitraryValues:e,value:t,className:n,propValues:r,propValueSet:o,parseValue:i=s=>s}){if(t){if(typeof t=="string")return Te(r,o,t)?Lt(n,t,i):e?n:void 0;if(ie(t)){let s=t,d=[];for(let l in s){if(!Ue(s,l)||!We.has(l))continue;let a=s[l];if(a!==void 0){if(Te(r,o,a)){let u=Lt(n,a,i),P=l==="initial"?u:`${l}:${u}`;d.push(P)}else if(e){let u=l==="initial"?n:`${l}:${n}`;d.push(u)}}}return d.length>0?d.join(" "):""}if(e)return n}}function Lt(e,t,n){let r=e?"-":"",o=n(t),i=o?.startsWith("-"),s=i?"-":"",d=i?o?.substring(1):o;return`${s}${e}${r}${d}`}function Nn({customProperties:e,value:t,propValues:n,propValueSet:r,parseValue:o=i=>i}){if(!t||typeof t=="string"&&Te(n,r,t))return;let i;if(typeof t=="string"){let s=o(t);i={};for(let d of e)i[d]=s;return i}if(ie(t)){let s=t;for(let d in s){if(!Ue(s,d)||!We.has(d))continue;let l=s[d];if(l===void 0||Te(n,r,l))continue;let a=o(l);i??(i={});for(let u of e){let P=d==="initial"?u:`${u}-${d}`;i[P]=a}}}return i??{}}function Ke(...e){let t;for(let n of e)n&&(t===void 0&&(t={}),Object.assign(t,n));return t}function Dn(e,t){let n=e.initial,r=!1;return t.hasDefault&&n===void 0&&(n=t.default,r=!0),t.enumValueSet!==void 0&&!t.enumValueSet.has(n)&&(n=t.default,r=!0),r?{...e,initial:n}:e}function Bt(e,...t){let{styling:n,passthrough:r,stylingKeys:o}=Vt(t),i={};for(let l in e)o.has(l)||(i[l]=e[l]);for(let l=0;l<r.length;l++){let a=r[l],u=i[a.key];if(u===void 0){a.hasDefault&&(i[a.key]=a.default);continue}a.enumValueSet!==void 0&&!a.enumValueSet.has(u)&&!ie(u)&&(i[a.key]=a.default)}let s,d=[];for(let l=0;l<n.length;l++){let a=n[l],u=e[a.key];if(u===void 0&&a.hasDefault&&(u=a.default),a.enumValueSet!==void 0&&!a.enumValueSet.has(u)&&!ie(u)&&(u=a.default),!!u){if(ie(u)){if(!a.responsive)continue;u=Dn(u,a)}if(a.type==="enum"){let P=qe({allowArbitraryValues:!1,value:u,className:a.className,propValues:a.values,propValueSet:a.valueSet,parseValue:a.parseValue});P&&d.push(P);continue}if(a.type==="string"||a.type==="enum | string"){let[P,f]=Mt({className:a.className,customProperties:a.customProperties,propValues:a.type==="string"?[]:a.values,propValueSet:a.type==="string"?void 0:a.valueSet,parseValue:a.parseValue,value:u});f&&(s=Ke(s,f)),P&&d.push(P);continue}if(a.type==="boolean"){d.push(a.className);continue}}}return i.className=(0,At.default)(d.length>0?d.join(" "):void 0,e.className),i.style=Ke(s,e.style),i}var Ht={width:{type:"string",className:"kui-r-w",customProperties:["--width"],responsive:!0},minWidth:{type:"string",className:"kui-r-min-w",customProperties:["--min-width"],responsive:!0},maxWidth:{type:"string",className:"kui-r-max-w",customProperties:["--max-width"],responsive:!0}};var Ot={height:{type:"string",className:"kui-r-h",customProperties:["--height"],responsive:!0},minHeight:{type:"string",className:"kui-r-min-h",customProperties:["--min-height"],responsive:!0},maxHeight:{type:"string",className:"kui-r-max-h",customProperties:["--max-height"],responsive:!0}};var Vn='[role="menu"], [role="listbox"]';function Ln(e,t){M.useEffect(()=>{if(!t||!e||e.closest(Vn))return;let n=0,r=()=>{n=0;let s=je(e);s.x>0||s.y>0?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")},o=()=>{n||(n=requestAnimationFrame(r))};r();let i=typeof ResizeObserver>"u"?null:new ResizeObserver(o);i?.observe(e);for(let s of Array.from(e.children))i?.observe(s);return()=>{n&&cancelAnimationFrame(n),i?.disconnect()}},[e,t])}var ke=M.forwardRef((e,t)=>{let{asChild:n,children:r,className:o,style:i,type:s,scrollHideDelay:d=s!=="scroll"?0:void 0,dir:l,radius:a=Ce.radius.default,scrollbars:u=Ce.scrollbars.default,fade:P=Ce.fade.default,...f}=Bt(e,Ht,Ot),[k,F]=M.useState(null),B=Tt(P),N=Nt(),x=(0,$t.useComposedRefs)(t,B,N,F);Ln(k,f.tabIndex===void 0);let V=f["aria-label"]!==void 0||f["aria-labelledby"]!==void 0;return M.createElement(te.ScrollArea.Root,{type:s,scrollHideDelay:d,dir:l,className:(0,It.default)("kui-ScrollAreaRoot",o),"data-fade":P?"":void 0,style:i,asChild:n},Dt({asChild:n,children:r},j=>M.createElement(M.Fragment,null,M.createElement(te.ScrollArea.Viewport,{role:V?"region":void 0,...f,ref:x,className:"kui-ScrollAreaViewport"},j),M.createElement("div",{className:"kui-ScrollAreaViewportFocusRing"}),u!=="vertical"?M.createElement(te.ScrollArea.Scrollbar,{"data-radius":a,orientation:"horizontal",className:"kui-ScrollAreaScrollbar"},M.createElement(te.ScrollArea.Thumb,{className:"kui-ScrollAreaThumb"})):null,u!=="horizontal"?M.createElement(te.ScrollArea.Scrollbar,{"data-radius":a,orientation:"vertical",className:"kui-ScrollAreaScrollbar"},M.createElement(te.ScrollArea.Thumb,{className:"kui-ScrollAreaThumb"})):null,u==="both"?M.createElement(te.ScrollArea.Corner,{className:"kui-ScrollAreaCorner"}):null)))});ke.displayName="ScrollArea";var Ft=D(require("react")),Ne=Ft.createContext(void 0);var Wt=D(require("react")),Mn="(max-width: 767.98px) and (pointer: coarse)",jt,Ut=()=>jt??(jt=window.matchMedia(Mn));function An(e,t){return typeof e.addEventListener=="function"?(e.addEventListener("change",t),()=>e.removeEventListener("change",t)):(e.addListener?.(t),()=>e.removeListener?.(t))}function Bn(e){return An(Ut(),e)}function qt(){return Wt.useSyncExternalStore(Bn,()=>Ut().matches,()=>!1)}var Kt=y.createContext(null);function _e(){return y.useContext(Kt)}var Ge=y.createContext("2"),Hn=y.createContext(!1),On=y.createContext(!1);function _t({children:e,presentation:t}){let n=y.useContext(Ge),r=y.useMemo(()=>({size:n,menuVariant:"soft",presentation:t}),[n,t]);return y.createElement(Kt.Provider,{value:r},e)}function Qe(){let e=_e(),t=y.useContext(Ge),n=e?.size??t,r=e?.menuVariant??"soft";return["kui-ShellPaneChrome",`kui-r-size-${n}`,`kui-menu-variant-${r}`]}var In={1:"2",2:"3",3:"4",4:"4"};function Gt(){let e=_e(),t=y.useContext(Ge);return In[e?.size??t]}var $n=y.forwardRef(({className:e,float:t,children:n,...r},o)=>{let i=Qe(),s=Gt();return y.createElement("div",{...r,ref:o,"data-float":t||void 0,className:(0,be.default)("kui-ShellPaneHeader","kui-SidebarHeader","kui-SidebarHeader--container",...i,e)},y.createElement(Ne.Provider,{value:s},n))});$n.displayName="Shell.PaneHeader";var Fn=y.forwardRef(({className:e,float:t,children:n,...r},o)=>{let i=Qe(),s=Gt();return y.createElement("div",{...r,ref:o,"data-float":t||void 0,className:(0,be.default)("kui-ShellPaneFooter","kui-SidebarFooter","kui-SidebarFooter--container",...i,e)},y.createElement(Ne.Provider,{value:s},n))});Fn.displayName="Shell.PaneFooter";var jn=y.forwardRef(({className:e,style:t,dir:n,children:r,fade:o=!1,...i},s)=>{let d=Qe(),l=y.useContext(Hn),a=_e(),u=l&&a===null,P=y.useContext(On),f=qt();if(u){let k=i.tabIndex??(P&&f?-1:void 0);return y.createElement(ke,{...i,tabIndex:k,ref:s,type:"hover",fade:o,className:"kui-ShellScroll"},y.createElement("div",{style:t,dir:n,className:(0,be.default)("kui-ShellScrollContent",e)},r))}return y.createElement(ke,{...i,ref:s,type:"hover",fade:o,className:"kui-ShellScroll"},y.createElement("div",{style:t,dir:n,className:(0,be.default)("kui-BaseMenuContent","kui-SidebarContent",...d,e)},y.createElement(Ne.Provider,{value:null},y.createElement("div",{className:"kui-BaseMenuViewport"},r))))});jn.displayName="Shell.Scroll";var Qt=e=>e==="collapsed"?"closed":"open",Wn=e=>e==="closed"?"collapsed":"expanded";function Yt(e){if(e===void 0)return;if(typeof e=="string")return Qt(e);let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=Qt(r));return t}var Un={controlled:"state",default:"defaultState"},qn={initial:"overlay",sm:"fixed"},Ye=K.forwardRef((e,t)=>{let{className:n,presentation:r=qn,expandedSize:o=288,minSize:i=200,maxSize:s=400,resizable:d=!1,collapsible:l=!0,onExpand:a,onCollapse:u,onResize:P,onResizeStart:f,onResizeEnd:k,snapPoints:F,snapTolerance:B,collapseThreshold:N,paneId:x,persistence:V,children:j,style:W,state:ee,defaultState:H,onStateChange:I,size:_,defaultSize:w,onSizeChange:p,sizeUpdate:b,sizeUpdateMs:z=50,inset:C,id:U,...c}=e,{table:h,attributes:S}=ht(r,"fixed"),R=yt({name:"sidebar",label:"Sidebar",propNames:Un,id:U,controlled:Yt(ee),defaultValue:Yt(H),presentationTable:h,builtIn:xt,onChange:(De,Ve)=>I?.(Wn(De),{reason:Ve}),onExpand:a,onCollapse:u,size:o});bt("sidebar",C),K.useEffect(()=>{(F!==void 0||N!==void 0||x!==void 0||V!==void 0)&&void 0},[F,N,x,V]);let O=K.useRef(null),A=(0,Jt.useComposedRefs)(t,R.setElement,O),v=vt({name:"sidebar",elementId:R.id,elementRef:O,cssVarName:"--sidebar-size",orientation:"vertical",edge:"end",growth:Ct,expandedSize:o,minSize:i,maxSize:s,resizable:d,collapsible:l,size:_,defaultSize:w,onSizeChange:p,sizeUpdate:b,sizeUpdateMs:z,onResize:P,onResizeStart:f,onResizeEnd:k,snapPoints:F,snapTolerance:B,collapseThreshold:N,paneId:x,persistence:V,overlaying:R.overlaying,overlayingNow:()=>h[pe()]==="overlay",requestCollapse:()=>R.setValue("closed","toggle"),requestToggle:()=>R.toggle("toggle")}),{handles:X,content:m}=Rt(j,ge),q=d&&R.value!=="closed"&&!R.overlaying?K.createElement(Ae.Provider,{value:v},X.length>0?X:K.createElement(re,null)):null,G=R.peeking?`var(--sidebar-size, ${o}px)`:void 0,Q=St(_,w,i,s);return K.createElement("div",{...Et(c),role:c.role??"navigation",id:R.id,ref:A,className:(0,Xt.default)("kui-ShellPane","kui-ShellSidebar",n),...Pt(R,S),"data-inset":C||void 0,tabIndex:R.overlaying?-1:c.tabIndex,style:{...W,"--sidebar-expanded-size":`${o}px`,...Q?{"--sidebar-size":Q}:{},"--sidebar-min-size":`${i}px`,"--sidebar-max-size":`${s}px`,...G?{"--peek-sidebar-width":G}:{}}},K.createElement("div",{className:"kui-ShellSidebarContent"},K.createElement(_t,null,m)),q)});Ye.displayName="Shell.Sidebar";Ye.Handle=ge;
|
|
3
3
|
//# sourceMappingURL=shell-sidebar.js.map
|