@womp/kookie-ui 0.7.0 → 0.8.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 +538 -493
- package/dist/cjs/components/_internal/base-menu.utils.js +1 -1
- package/dist/cjs/components/_internal/base-menu.utils.js.map +3 -3
- package/dist/cjs/components/_internal/menu-context.js +1 -1
- package/dist/cjs/components/_internal/menu-context.js.map +3 -3
- package/dist/cjs/components/_internal/shell-bottom.d.ts +6 -7
- package/dist/cjs/components/_internal/shell-bottom.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-bottom.js +1 -1
- package/dist/cjs/components/_internal/shell-bottom.js.map +4 -4
- package/dist/cjs/components/_internal/shell-handles.d.ts +9 -0
- package/dist/cjs/components/_internal/shell-handles.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-handles.js +1 -1
- package/dist/cjs/components/_internal/shell-handles.js.map +3 -3
- package/dist/cjs/components/_internal/shell-inspector.d.ts +4 -6
- package/dist/cjs/components/_internal/shell-inspector.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-inspector.js +1 -1
- package/dist/cjs/components/_internal/shell-inspector.js.map +4 -4
- package/dist/cjs/components/_internal/shell-pane.d.ts +70 -0
- package/dist/cjs/components/_internal/shell-pane.d.ts.map +1 -0
- package/dist/cjs/components/_internal/shell-pane.js +2 -0
- package/dist/cjs/components/_internal/shell-pane.js.map +7 -0
- package/dist/cjs/components/_internal/shell-resizable.d.ts +48 -0
- package/dist/cjs/components/_internal/shell-resizable.d.ts.map +1 -0
- package/dist/cjs/components/_internal/shell-resizable.js +2 -0
- package/dist/cjs/components/_internal/shell-resizable.js.map +7 -0
- package/dist/cjs/components/_internal/shell-resize.d.ts +11 -3
- package/dist/cjs/components/_internal/shell-resize.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-resize.js +1 -1
- package/dist/cjs/components/_internal/shell-resize.js.map +2 -2
- package/dist/cjs/components/_internal/shell-rest.d.ts +27 -0
- package/dist/cjs/components/_internal/shell-rest.d.ts.map +1 -0
- package/dist/cjs/components/_internal/shell-rest.js +2 -0
- package/dist/cjs/components/_internal/shell-rest.js.map +7 -0
- package/dist/cjs/components/_internal/shell-sidebar.d.ts +7 -12
- package/dist/cjs/components/_internal/shell-sidebar.d.ts.map +1 -1
- 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/_internal/shell-store.d.ts +99 -0
- package/dist/cjs/components/_internal/shell-store.d.ts.map +1 -0
- package/dist/cjs/components/_internal/shell-store.js +2 -0
- package/dist/cjs/components/_internal/shell-store.js.map +7 -0
- package/dist/cjs/components/context-menu.js +1 -1
- package/dist/cjs/components/context-menu.js.map +3 -3
- package/dist/cjs/components/dropdown-menu.js +1 -1
- package/dist/cjs/components/dropdown-menu.js.map +3 -3
- package/dist/cjs/components/index.js +5 -5
- package/dist/cjs/components/index.js.map +4 -4
- package/dist/cjs/components/schemas/index.js +1 -1
- package/dist/cjs/components/schemas/index.js.map +3 -3
- package/dist/cjs/components/schemas/shell.schema.d.ts +277 -229
- 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 +3 -3
- package/dist/cjs/components/shell.context.d.ts +25 -114
- package/dist/cjs/components/shell.context.d.ts.map +1 -1
- package/dist/cjs/components/shell.context.js +1 -1
- package/dist/cjs/components/shell.context.js.map +4 -4
- package/dist/cjs/components/shell.d.ts +42 -21
- package/dist/cjs/components/shell.d.ts.map +1 -1
- package/dist/cjs/components/shell.hooks.d.ts +7 -23
- package/dist/cjs/components/shell.hooks.d.ts.map +1 -1
- package/dist/cjs/components/shell.hooks.js +1 -1
- package/dist/cjs/components/shell.hooks.js.map +4 -4
- package/dist/cjs/components/shell.js +1 -1
- package/dist/cjs/components/shell.js.map +4 -4
- package/dist/cjs/components/shell.types.d.ts +19 -2
- package/dist/cjs/components/shell.types.d.ts.map +1 -1
- package/dist/cjs/components/shell.types.js +1 -1
- package/dist/cjs/components/shell.types.js.map +3 -3
- package/dist/cjs/components/sidebar.js.map +3 -3
- package/dist/cjs/hooks/use-breakpoint.d.ts +5 -0
- package/dist/cjs/hooks/use-breakpoint.d.ts.map +1 -1
- package/dist/cjs/hooks/use-breakpoint.js +1 -1
- package/dist/cjs/hooks/use-breakpoint.js.map +3 -3
- package/dist/cjs/index.js +5 -5
- package/dist/cjs/index.js.map +4 -4
- package/dist/esm/{chunk-HJU4I34X.js → chunk-25X75TI7.js} +2 -2
- package/dist/esm/{chunk-4XKK32M4.js → chunk-26I257HE.js} +2 -2
- package/dist/esm/chunk-2EQWBT2S.js +2 -0
- package/dist/esm/chunk-2EQWBT2S.js.map +7 -0
- package/dist/esm/{chunk-GLERJXVS.js → chunk-2Q7BJ7YG.js} +2 -2
- package/dist/esm/{chunk-CJ27XP5Z.js → chunk-3AOFY2B4.js} +2 -2
- package/dist/esm/chunk-3J6AUDID.js +2 -0
- package/dist/esm/chunk-3J6AUDID.js.map +7 -0
- package/dist/esm/{chunk-7EWFBWBS.js → chunk-3PTSRBVY.js} +2 -2
- package/dist/esm/chunk-3XSB7YIM.js +2 -0
- package/dist/esm/{chunk-FMBECDL4.js.map → chunk-3XSB7YIM.js.map} +3 -3
- package/dist/esm/{chunk-O2U6RJTB.js → chunk-44JZYS7A.js} +2 -2
- package/dist/esm/{chunk-CTA5ODAO.js → chunk-4WU2WKUJ.js} +2 -2
- package/dist/esm/{chunk-KZWNGWIM.js → chunk-5M7STAH3.js} +2 -2
- package/dist/esm/{chunk-5WRCK4R7.js → chunk-5TAHT6VC.js} +2 -2
- package/dist/esm/{chunk-RNTCHVFI.js → chunk-6J6YX2VX.js} +2 -2
- package/dist/esm/{chunk-AGSSWWFI.js → chunk-7FKKGUHK.js} +2 -2
- package/dist/esm/{chunk-WHFJ4JUN.js → chunk-7NYODT3Z.js} +2 -2
- package/dist/esm/{chunk-NVDXXGVW.js → chunk-7PMMYHZV.js} +2 -2
- package/dist/esm/chunk-A2XVR7GL.js +2 -0
- package/dist/esm/chunk-A2XVR7GL.js.map +7 -0
- package/dist/esm/chunk-ADXZNG4F.js +2 -0
- package/dist/esm/chunk-ADXZNG4F.js.map +7 -0
- package/dist/esm/chunk-AGNIFHOE.js +2 -0
- package/dist/esm/chunk-AGNIFHOE.js.map +7 -0
- package/dist/esm/{chunk-KJUDZCYK.js → chunk-AIHQ3MVK.js} +2 -2
- package/dist/esm/{chunk-UBOOUDS4.js → chunk-AO32NT75.js} +2 -2
- package/dist/esm/chunk-BZZXXZ3O.js +2 -0
- package/dist/esm/chunk-BZZXXZ3O.js.map +7 -0
- package/dist/esm/{chunk-JDGJSNWT.js → chunk-C5RVO3C3.js} +2 -2
- package/dist/esm/{chunk-IHK3H2OM.js → chunk-CBNTPHYK.js} +2 -2
- package/dist/esm/{chunk-BBJUB52V.js → chunk-CRBOJ7N7.js} +2 -2
- package/dist/esm/{chunk-VHECAEUP.js → chunk-DCIQHXAR.js} +2 -2
- package/dist/esm/{chunk-43A5GUSI.js → chunk-EHBAK3LQ.js} +2 -2
- package/dist/esm/{chunk-K3UAS7RW.js → chunk-F3AXE27Q.js} +2 -2
- package/dist/esm/{chunk-KFR3CK24.js → chunk-FB3PD4Z3.js} +2 -2
- package/dist/esm/{chunk-MCPRXVKZ.js → chunk-FEAOFF77.js} +2 -2
- package/dist/esm/{chunk-VZSQATP6.js → chunk-G4YKBAZT.js} +2 -2
- package/dist/esm/{chunk-ECXGQQJB.js → chunk-GDAKJS64.js} +2 -2
- package/dist/esm/{chunk-VR7ZAFYN.js → chunk-GGSJXOKR.js} +2 -2
- package/dist/esm/chunk-GM7KMQDI.js +2 -0
- package/dist/esm/chunk-GMHA5CFH.js +2 -0
- package/dist/esm/chunk-GMHA5CFH.js.map +7 -0
- package/dist/esm/{chunk-CESYMTJQ.js → chunk-H4GR4262.js} +2 -2
- package/dist/esm/{chunk-WXQIIKWV.js → chunk-HBIF43PT.js} +2 -2
- package/dist/esm/chunk-HCNO7PX6.js +2 -0
- package/dist/esm/chunk-HCNO7PX6.js.map +7 -0
- package/dist/esm/{chunk-2264DHUW.js → chunk-HMSSFU6I.js} +2 -2
- package/dist/esm/chunk-HWQ3NTJP.js +2 -0
- package/dist/esm/chunk-HWQ3NTJP.js.map +7 -0
- package/dist/esm/{chunk-S5C5YRBS.js → chunk-IDUVJJYG.js} +2 -2
- package/dist/esm/{chunk-CIYF56YS.js → chunk-IK3MQHA5.js} +2 -2
- package/dist/esm/{chunk-CKMMUHKE.js → chunk-JDEBKA56.js} +2 -2
- package/dist/esm/{chunk-E67CIG6A.js → chunk-JDWCQ2XP.js} +2 -2
- package/dist/esm/{chunk-L3BWTV7I.js → chunk-JQSZF3E2.js} +2 -2
- package/dist/esm/{chunk-MEO7MJMQ.js → chunk-JQW4XYBS.js} +2 -2
- package/dist/esm/{chunk-KMPE7TJ6.js → chunk-JRFZ535T.js} +2 -2
- package/dist/esm/{chunk-CDG5WH4U.js → chunk-KEEPKI2X.js} +2 -2
- package/dist/esm/{chunk-GAV3NHYL.js → chunk-KV4SZP3F.js} +2 -2
- package/dist/esm/{chunk-FG7XM7KJ.js → chunk-LJCUPAOI.js} +2 -2
- package/dist/esm/{chunk-N4GTDLRD.js → chunk-MBCQA7UZ.js} +2 -2
- package/dist/esm/chunk-MM5IHQFM.js +2 -0
- package/dist/esm/{chunk-Y5RCH23Z.js → chunk-NQXRWBQM.js} +2 -2
- package/dist/esm/{chunk-CSKZZOI2.js → chunk-NTNMJX5M.js} +2 -2
- package/dist/esm/{chunk-V27ZAN3E.js → chunk-NV3P2CKH.js} +2 -2
- package/dist/esm/{chunk-4ME6O27S.js → chunk-O4CSXNST.js} +2 -2
- package/dist/esm/chunk-ODCVOXEV.js +2 -0
- package/dist/esm/{chunk-W2FOBR5Q.js → chunk-OEEF6KJG.js} +2 -2
- package/dist/esm/{chunk-ABSKRHVM.js → chunk-OJSOX3AX.js} +2 -2
- package/dist/esm/{chunk-JGLAE5G7.js → chunk-OQU2SKLN.js} +2 -2
- package/dist/esm/{chunk-PZ7OYATT.js → chunk-OTKQN2KY.js} +2 -2
- package/dist/esm/{chunk-QWVU2TW4.js → chunk-P27KV2LS.js} +2 -2
- package/dist/esm/{chunk-JUY7CBSL.js → chunk-PBFSBHBS.js} +2 -2
- package/dist/esm/{chunk-DSJY5RI3.js → chunk-PDUHBDFC.js} +2 -2
- package/dist/esm/{chunk-MTOLKA6S.js → chunk-POG3YABW.js} +2 -2
- package/dist/esm/chunk-PYHEBG5I.js +2 -0
- package/dist/esm/chunk-PYHEBG5I.js.map +7 -0
- package/dist/esm/{chunk-GO7OHBHW.js → chunk-PYXMGEO7.js} +2 -2
- package/dist/esm/{chunk-VNH7BJOA.js → chunk-QEGEUD4D.js} +2 -2
- package/dist/esm/chunk-QEL55MLF.js +2 -0
- package/dist/esm/{chunk-MS5J4MF6.js → chunk-QJVAS7AK.js} +2 -2
- package/dist/esm/chunk-ROSWI2CL.js +2 -0
- package/dist/esm/chunk-ROSWI2CL.js.map +7 -0
- package/dist/esm/{chunk-KCWESYMR.js → chunk-RY67WG3O.js} +2 -2
- package/dist/esm/{chunk-IFM4EMZB.js → chunk-TLGXIWAS.js} +2 -2
- package/dist/esm/{chunk-6FLLFCBU.js → chunk-UBSLEGQZ.js} +2 -2
- package/dist/esm/{chunk-VBI3AWPT.js → chunk-UNWPH3SO.js} +2 -2
- package/dist/esm/chunk-V5ZSDDVZ.js +2 -0
- package/dist/esm/chunk-V5ZSDDVZ.js.map +7 -0
- package/dist/esm/{chunk-X7V3V3W4.js → chunk-VTIL55SR.js} +2 -2
- package/dist/esm/{chunk-ALWNS44Q.js → chunk-W2LD2YE6.js} +2 -2
- package/dist/esm/{chunk-2I7QRVJ5.js → chunk-WGWUEU4K.js} +2 -2
- package/dist/esm/{chunk-EPTYNVCU.js → chunk-WIDJYVZF.js} +2 -2
- package/dist/esm/{chunk-OLAWVEAI.js → chunk-WJBOOAIO.js} +2 -2
- package/dist/esm/{chunk-7FC7HF76.js → chunk-WQCB7KSH.js} +2 -2
- package/dist/esm/{chunk-YBSRX63K.js → chunk-WZFVTC7P.js} +2 -2
- package/dist/esm/chunk-XDDKT4NF.js +2 -0
- package/dist/esm/{chunk-KFA53SVQ.js → chunk-YA5DF67M.js} +2 -2
- package/dist/esm/chunk-YA5DF67M.js.map +7 -0
- package/dist/esm/chunk-YAQBIO2B.js +2 -0
- package/dist/esm/chunk-YAQBIO2B.js.map +7 -0
- package/dist/esm/{chunk-OFUNVHZ5.js → chunk-YG66IRW4.js} +2 -2
- package/dist/esm/{chunk-WGYUWEQV.js → chunk-YVSM2LGS.js} +2 -2
- package/dist/esm/{chunk-4NTGF22C.js → chunk-Z7AZNMNX.js} +2 -2
- package/dist/esm/chunk-ZJ33QP5N.js +2 -0
- package/dist/esm/{chunk-OGXZHAQL.js → chunk-ZW26J2SA.js} +2 -2
- package/dist/esm/components/_internal/base-button.js +1 -1
- package/dist/esm/components/_internal/base-menu.utils.js +1 -1
- package/dist/esm/components/_internal/menu-context.js +1 -1
- package/dist/esm/components/_internal/shell-bottom.d.ts +6 -7
- package/dist/esm/components/_internal/shell-bottom.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-bottom.js +1 -1
- package/dist/esm/components/_internal/shell-handles.d.ts +9 -0
- package/dist/esm/components/_internal/shell-handles.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-handles.js +1 -1
- package/dist/esm/components/_internal/shell-inspector.d.ts +4 -6
- package/dist/esm/components/_internal/shell-inspector.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-inspector.js +1 -1
- package/dist/esm/components/_internal/shell-pane.d.ts +70 -0
- package/dist/esm/components/_internal/shell-pane.d.ts.map +1 -0
- package/dist/esm/components/_internal/shell-pane.js +2 -0
- package/dist/esm/components/_internal/shell-resizable.d.ts +48 -0
- package/dist/esm/components/_internal/shell-resizable.d.ts.map +1 -0
- package/dist/esm/components/_internal/shell-resizable.js +2 -0
- package/dist/esm/components/_internal/shell-resizable.js.map +7 -0
- package/dist/esm/components/_internal/shell-resize.d.ts +11 -3
- package/dist/esm/components/_internal/shell-resize.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-resize.js +1 -1
- package/dist/esm/components/_internal/shell-rest.d.ts +27 -0
- package/dist/esm/components/_internal/shell-rest.d.ts.map +1 -0
- package/dist/esm/components/_internal/shell-rest.js +2 -0
- package/dist/esm/components/_internal/shell-rest.js.map +7 -0
- package/dist/esm/components/_internal/shell-sidebar.d.ts +7 -12
- package/dist/esm/components/_internal/shell-sidebar.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-sidebar.js +1 -1
- package/dist/esm/components/_internal/shell-store.d.ts +99 -0
- package/dist/esm/components/_internal/shell-store.d.ts.map +1 -0
- package/dist/esm/components/_internal/shell-store.js +2 -0
- package/dist/esm/components/_internal/shell-store.js.map +7 -0
- 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/badge.js +1 -1
- package/dist/esm/components/blockquote.js +1 -1
- package/dist/esm/components/blockquote.props.js +1 -1
- package/dist/esm/components/box.js +1 -1
- package/dist/esm/components/button.js +1 -1
- package/dist/esm/components/callout.js +1 -1
- package/dist/esm/components/card.js +1 -1
- package/dist/esm/components/chatbar.js +1 -1
- package/dist/esm/components/checkbox-cards.js +1 -1
- package/dist/esm/components/checkbox-group.js +1 -1
- package/dist/esm/components/checkbox.js +1 -1
- package/dist/esm/components/code.js +1 -1
- package/dist/esm/components/code.props.js +1 -1
- package/dist/esm/components/combobox.js +1 -1
- package/dist/esm/components/container.js +1 -1
- package/dist/esm/components/context-menu.js +1 -1
- package/dist/esm/components/data-list.js +1 -1
- package/dist/esm/components/dialog.js +1 -1
- package/dist/esm/components/dropdown-menu.js +1 -1
- package/dist/esm/components/em.js +1 -1
- package/dist/esm/components/em.props.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/heading.props.js +1 -1
- package/dist/esm/components/hover-card.js +1 -1
- package/dist/esm/components/icon-button.js +1 -1
- package/dist/esm/components/image.js +1 -1
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/inset.js +1 -1
- package/dist/esm/components/kbd.js +1 -1
- package/dist/esm/components/link.js +1 -1
- package/dist/esm/components/link.props.js +1 -1
- package/dist/esm/components/navbar.js +1 -1
- package/dist/esm/components/popover.js +1 -1
- package/dist/esm/components/progress.js +1 -1
- package/dist/esm/components/quote.js +1 -1
- package/dist/esm/components/quote.props.js +1 -1
- package/dist/esm/components/radio-cards.js +1 -1
- package/dist/esm/components/radio-group.js +1 -1
- package/dist/esm/components/radio.js +1 -1
- package/dist/esm/components/schemas/index.js +1 -1
- package/dist/esm/components/schemas/shell.schema.d.ts +277 -229
- 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/section.js +1 -1
- package/dist/esm/components/segmented-control.js +1 -1
- package/dist/esm/components/select.js +1 -1
- package/dist/esm/components/separator.js +1 -1
- package/dist/esm/components/sheet.js +1 -1
- package/dist/esm/components/shell.context.d.ts +25 -114
- package/dist/esm/components/shell.context.d.ts.map +1 -1
- package/dist/esm/components/shell.context.js +1 -1
- package/dist/esm/components/shell.d.ts +42 -21
- package/dist/esm/components/shell.d.ts.map +1 -1
- package/dist/esm/components/shell.hooks.d.ts +7 -23
- package/dist/esm/components/shell.hooks.d.ts.map +1 -1
- package/dist/esm/components/shell.hooks.js +1 -1
- package/dist/esm/components/shell.js +1 -1
- package/dist/esm/components/shell.types.d.ts +19 -2
- package/dist/esm/components/shell.types.d.ts.map +1 -1
- package/dist/esm/components/shell.types.js +1 -1
- package/dist/esm/components/sidebar.js +1 -1
- package/dist/esm/components/skeleton.js +1 -1
- package/dist/esm/components/slider.js +1 -1
- package/dist/esm/components/spinner.js +1 -1
- package/dist/esm/components/strong.js +1 -1
- package/dist/esm/components/strong.props.js +1 -1
- package/dist/esm/components/switch.js +1 -1
- package/dist/esm/components/tab-nav.js +1 -1
- package/dist/esm/components/table.js +1 -1
- package/dist/esm/components/tabs.js +1 -1
- package/dist/esm/components/text-area.js +1 -1
- package/dist/esm/components/text-field.js +1 -1
- package/dist/esm/components/text.js +1 -1
- package/dist/esm/components/text.props.js +1 -1
- package/dist/esm/components/theme-panel.js +1 -1
- package/dist/esm/components/toggle-button.js +1 -1
- package/dist/esm/components/toggle-icon-button.js +1 -1
- package/dist/esm/components/toolbar.js +1 -1
- package/dist/esm/components/tooltip.js +1 -1
- package/dist/esm/components/user-card.js +1 -1
- package/dist/esm/components/virtual-menu.js +1 -1
- package/dist/esm/helpers/extract-props.js +1 -1
- package/dist/esm/helpers/get-margin-styles.js +1 -1
- package/dist/esm/helpers/get-responsive-styles.js +1 -1
- package/dist/esm/helpers/index.js +1 -1
- package/dist/esm/hooks/index.js +1 -1
- package/dist/esm/hooks/use-breakpoint.d.ts +5 -0
- package/dist/esm/hooks/use-breakpoint.d.ts.map +1 -1
- package/dist/esm/hooks/use-breakpoint.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/props/index.js +1 -1
- package/package.json +7 -2
- package/schemas/index.json +1655 -0
- package/schemas/shell-bottom.d.ts +2 -0
- package/schemas/shell-bottom.json +180 -76
- package/schemas/shell-content.d.ts +2 -0
- package/schemas/shell-content.json +11 -5
- package/schemas/shell-handle.d.ts +2 -0
- package/schemas/shell-handle.json +7 -5
- package/schemas/shell-header.d.ts +2 -0
- package/schemas/shell-header.json +9 -10
- package/schemas/shell-inspector.d.ts +2 -0
- package/schemas/shell-inspector.json +183 -79
- package/schemas/shell-panel.d.ts +2 -0
- package/schemas/shell-panel.json +180 -76
- package/schemas/shell-rail.d.ts +2 -0
- package/schemas/shell-rail.json +137 -64
- package/schemas/shell-root.d.ts +2 -0
- package/schemas/shell-root.json +11 -9
- package/schemas/shell-sidebar.d.ts +2 -0
- package/schemas/shell-sidebar.json +274 -85
- package/schemas/shell-trigger.d.ts +2 -0
- package/schemas/shell-trigger.json +29 -17
- package/src/components/_internal/shell-bottom.tsx +92 -361
- package/src/components/_internal/shell-handles.tsx +193 -108
- package/src/components/_internal/shell-inspector.tsx +93 -360
- package/src/components/_internal/shell-pane.tsx +283 -0
- package/src/components/_internal/shell-resizable.tsx +263 -0
- package/src/components/_internal/shell-resize.tsx +11 -3
- package/src/components/_internal/shell-rest.ts +45 -0
- package/src/components/_internal/shell-sidebar.tsx +130 -441
- package/src/components/_internal/shell-store.tsx +204 -0
- package/src/components/schemas/shell.schema.ts +162 -153
- package/src/components/shell.context.tsx +112 -124
- package/src/components/shell.css +637 -496
- package/src/components/shell.hooks.ts +12 -170
- package/src/components/shell.tsx +566 -1497
- package/src/components/shell.types.ts +22 -2
- package/src/hooks/use-breakpoint.ts +9 -0
- package/styles.css +538 -493
- package/dist/cjs/components/_internal/shell-prop-helpers.d.ts +0 -7
- package/dist/cjs/components/_internal/shell-prop-helpers.d.ts.map +0 -1
- package/dist/cjs/components/_internal/shell-prop-helpers.js +0 -2
- package/dist/cjs/components/_internal/shell-prop-helpers.js.map +0 -7
- package/dist/esm/chunk-2SZZ75RJ.js +0 -2
- package/dist/esm/chunk-2SZZ75RJ.js.map +0 -7
- package/dist/esm/chunk-4JQZUQY7.js +0 -2
- package/dist/esm/chunk-5LXFJMFB.js +0 -2
- package/dist/esm/chunk-5LXFJMFB.js.map +0 -7
- package/dist/esm/chunk-CECQNGUL.js +0 -2
- package/dist/esm/chunk-CECQNGUL.js.map +0 -7
- package/dist/esm/chunk-CEIK5U6C.js +0 -2
- package/dist/esm/chunk-CEIK5U6C.js.map +0 -7
- package/dist/esm/chunk-EE2IH2GL.js +0 -2
- package/dist/esm/chunk-EE2IH2GL.js.map +0 -7
- package/dist/esm/chunk-FMBECDL4.js +0 -2
- package/dist/esm/chunk-HSAG7C53.js +0 -2
- package/dist/esm/chunk-JJKQ7CGI.js +0 -2
- package/dist/esm/chunk-KFA53SVQ.js.map +0 -7
- package/dist/esm/chunk-KRDP5SQ7.js +0 -2
- package/dist/esm/chunk-KRDP5SQ7.js.map +0 -7
- package/dist/esm/chunk-M6DJRFJZ.js +0 -2
- package/dist/esm/chunk-M6DJRFJZ.js.map +0 -7
- package/dist/esm/chunk-MCQCG6AS.js +0 -2
- package/dist/esm/chunk-NIQT45PJ.js +0 -2
- package/dist/esm/chunk-NNO7M466.js +0 -2
- package/dist/esm/chunk-NNO7M466.js.map +0 -7
- package/dist/esm/chunk-SNHEJU2S.js +0 -2
- package/dist/esm/chunk-SNHEJU2S.js.map +0 -7
- package/dist/esm/chunk-TLWTUKKL.js +0 -2
- package/dist/esm/chunk-TLWTUKKL.js.map +0 -7
- package/dist/esm/chunk-XI5YXUCK.js +0 -2
- package/dist/esm/components/_internal/shell-prop-helpers.d.ts +0 -7
- package/dist/esm/components/_internal/shell-prop-helpers.d.ts.map +0 -1
- package/dist/esm/components/_internal/shell-prop-helpers.js +0 -2
- package/src/components/_internal/shell-prop-helpers.ts +0 -54
- /package/dist/esm/{chunk-HJU4I34X.js.map → chunk-25X75TI7.js.map} +0 -0
- /package/dist/esm/{chunk-4XKK32M4.js.map → chunk-26I257HE.js.map} +0 -0
- /package/dist/esm/{chunk-GLERJXVS.js.map → chunk-2Q7BJ7YG.js.map} +0 -0
- /package/dist/esm/{chunk-CJ27XP5Z.js.map → chunk-3AOFY2B4.js.map} +0 -0
- /package/dist/esm/{chunk-7EWFBWBS.js.map → chunk-3PTSRBVY.js.map} +0 -0
- /package/dist/esm/{chunk-O2U6RJTB.js.map → chunk-44JZYS7A.js.map} +0 -0
- /package/dist/esm/{chunk-CTA5ODAO.js.map → chunk-4WU2WKUJ.js.map} +0 -0
- /package/dist/esm/{chunk-KZWNGWIM.js.map → chunk-5M7STAH3.js.map} +0 -0
- /package/dist/esm/{chunk-5WRCK4R7.js.map → chunk-5TAHT6VC.js.map} +0 -0
- /package/dist/esm/{chunk-RNTCHVFI.js.map → chunk-6J6YX2VX.js.map} +0 -0
- /package/dist/esm/{chunk-AGSSWWFI.js.map → chunk-7FKKGUHK.js.map} +0 -0
- /package/dist/esm/{chunk-WHFJ4JUN.js.map → chunk-7NYODT3Z.js.map} +0 -0
- /package/dist/esm/{chunk-NVDXXGVW.js.map → chunk-7PMMYHZV.js.map} +0 -0
- /package/dist/esm/{chunk-KJUDZCYK.js.map → chunk-AIHQ3MVK.js.map} +0 -0
- /package/dist/esm/{chunk-UBOOUDS4.js.map → chunk-AO32NT75.js.map} +0 -0
- /package/dist/esm/{chunk-JDGJSNWT.js.map → chunk-C5RVO3C3.js.map} +0 -0
- /package/dist/esm/{chunk-IHK3H2OM.js.map → chunk-CBNTPHYK.js.map} +0 -0
- /package/dist/esm/{chunk-BBJUB52V.js.map → chunk-CRBOJ7N7.js.map} +0 -0
- /package/dist/esm/{chunk-VHECAEUP.js.map → chunk-DCIQHXAR.js.map} +0 -0
- /package/dist/esm/{chunk-43A5GUSI.js.map → chunk-EHBAK3LQ.js.map} +0 -0
- /package/dist/esm/{chunk-K3UAS7RW.js.map → chunk-F3AXE27Q.js.map} +0 -0
- /package/dist/esm/{chunk-KFR3CK24.js.map → chunk-FB3PD4Z3.js.map} +0 -0
- /package/dist/esm/{chunk-MCPRXVKZ.js.map → chunk-FEAOFF77.js.map} +0 -0
- /package/dist/esm/{chunk-VZSQATP6.js.map → chunk-G4YKBAZT.js.map} +0 -0
- /package/dist/esm/{chunk-ECXGQQJB.js.map → chunk-GDAKJS64.js.map} +0 -0
- /package/dist/esm/{chunk-VR7ZAFYN.js.map → chunk-GGSJXOKR.js.map} +0 -0
- /package/dist/esm/{chunk-4JQZUQY7.js.map → chunk-GM7KMQDI.js.map} +0 -0
- /package/dist/esm/{chunk-CESYMTJQ.js.map → chunk-H4GR4262.js.map} +0 -0
- /package/dist/esm/{chunk-WXQIIKWV.js.map → chunk-HBIF43PT.js.map} +0 -0
- /package/dist/esm/{chunk-2264DHUW.js.map → chunk-HMSSFU6I.js.map} +0 -0
- /package/dist/esm/{chunk-S5C5YRBS.js.map → chunk-IDUVJJYG.js.map} +0 -0
- /package/dist/esm/{chunk-CIYF56YS.js.map → chunk-IK3MQHA5.js.map} +0 -0
- /package/dist/esm/{chunk-CKMMUHKE.js.map → chunk-JDEBKA56.js.map} +0 -0
- /package/dist/esm/{chunk-E67CIG6A.js.map → chunk-JDWCQ2XP.js.map} +0 -0
- /package/dist/esm/{chunk-L3BWTV7I.js.map → chunk-JQSZF3E2.js.map} +0 -0
- /package/dist/esm/{chunk-MEO7MJMQ.js.map → chunk-JQW4XYBS.js.map} +0 -0
- /package/dist/esm/{chunk-KMPE7TJ6.js.map → chunk-JRFZ535T.js.map} +0 -0
- /package/dist/esm/{chunk-CDG5WH4U.js.map → chunk-KEEPKI2X.js.map} +0 -0
- /package/dist/esm/{chunk-GAV3NHYL.js.map → chunk-KV4SZP3F.js.map} +0 -0
- /package/dist/esm/{chunk-FG7XM7KJ.js.map → chunk-LJCUPAOI.js.map} +0 -0
- /package/dist/esm/{chunk-N4GTDLRD.js.map → chunk-MBCQA7UZ.js.map} +0 -0
- /package/dist/esm/{chunk-JJKQ7CGI.js.map → chunk-MM5IHQFM.js.map} +0 -0
- /package/dist/esm/{chunk-Y5RCH23Z.js.map → chunk-NQXRWBQM.js.map} +0 -0
- /package/dist/esm/{chunk-CSKZZOI2.js.map → chunk-NTNMJX5M.js.map} +0 -0
- /package/dist/esm/{chunk-V27ZAN3E.js.map → chunk-NV3P2CKH.js.map} +0 -0
- /package/dist/esm/{chunk-4ME6O27S.js.map → chunk-O4CSXNST.js.map} +0 -0
- /package/dist/esm/{chunk-HSAG7C53.js.map → chunk-ODCVOXEV.js.map} +0 -0
- /package/dist/esm/{chunk-W2FOBR5Q.js.map → chunk-OEEF6KJG.js.map} +0 -0
- /package/dist/esm/{chunk-ABSKRHVM.js.map → chunk-OJSOX3AX.js.map} +0 -0
- /package/dist/esm/{chunk-JGLAE5G7.js.map → chunk-OQU2SKLN.js.map} +0 -0
- /package/dist/esm/{chunk-PZ7OYATT.js.map → chunk-OTKQN2KY.js.map} +0 -0
- /package/dist/esm/{chunk-QWVU2TW4.js.map → chunk-P27KV2LS.js.map} +0 -0
- /package/dist/esm/{chunk-JUY7CBSL.js.map → chunk-PBFSBHBS.js.map} +0 -0
- /package/dist/esm/{chunk-DSJY5RI3.js.map → chunk-PDUHBDFC.js.map} +0 -0
- /package/dist/esm/{chunk-MTOLKA6S.js.map → chunk-POG3YABW.js.map} +0 -0
- /package/dist/esm/{chunk-GO7OHBHW.js.map → chunk-PYXMGEO7.js.map} +0 -0
- /package/dist/esm/{chunk-VNH7BJOA.js.map → chunk-QEGEUD4D.js.map} +0 -0
- /package/dist/esm/{chunk-MCQCG6AS.js.map → chunk-QEL55MLF.js.map} +0 -0
- /package/dist/esm/{chunk-MS5J4MF6.js.map → chunk-QJVAS7AK.js.map} +0 -0
- /package/dist/esm/{chunk-KCWESYMR.js.map → chunk-RY67WG3O.js.map} +0 -0
- /package/dist/esm/{chunk-IFM4EMZB.js.map → chunk-TLGXIWAS.js.map} +0 -0
- /package/dist/esm/{chunk-6FLLFCBU.js.map → chunk-UBSLEGQZ.js.map} +0 -0
- /package/dist/esm/{chunk-VBI3AWPT.js.map → chunk-UNWPH3SO.js.map} +0 -0
- /package/dist/esm/{chunk-X7V3V3W4.js.map → chunk-VTIL55SR.js.map} +0 -0
- /package/dist/esm/{chunk-ALWNS44Q.js.map → chunk-W2LD2YE6.js.map} +0 -0
- /package/dist/esm/{chunk-2I7QRVJ5.js.map → chunk-WGWUEU4K.js.map} +0 -0
- /package/dist/esm/{chunk-EPTYNVCU.js.map → chunk-WIDJYVZF.js.map} +0 -0
- /package/dist/esm/{chunk-OLAWVEAI.js.map → chunk-WJBOOAIO.js.map} +0 -0
- /package/dist/esm/{chunk-7FC7HF76.js.map → chunk-WQCB7KSH.js.map} +0 -0
- /package/dist/esm/{chunk-YBSRX63K.js.map → chunk-WZFVTC7P.js.map} +0 -0
- /package/dist/esm/{chunk-XI5YXUCK.js.map → chunk-XDDKT4NF.js.map} +0 -0
- /package/dist/esm/{chunk-OFUNVHZ5.js.map → chunk-YG66IRW4.js.map} +0 -0
- /package/dist/esm/{chunk-WGYUWEQV.js.map → chunk-YVSM2LGS.js.map} +0 -0
- /package/dist/esm/{chunk-4NTGF22C.js.map → chunk-Z7AZNMNX.js.map} +0 -0
- /package/dist/esm/{chunk-NIQT45PJ.js.map → chunk-ZJ33QP5N.js.map} +0 -0
- /package/dist/esm/{chunk-OGXZHAQL.js.map → chunk-ZW26J2SA.js.map} +0 -0
- /package/dist/esm/components/_internal/{shell-prop-helpers.js.map → shell-pane.js.map} +0 -0
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* The resize handle: the WAI-ARIA window splitter. `role="separator"` with a
|
|
4
|
+
* value, focusable because it is operable, `aria-controls` naming its pane.
|
|
5
|
+
*
|
|
6
|
+
* A drag writes the size variable directly on the pane and sets no React
|
|
7
|
+
* state, so nothing re-renders per move. `onResize` is called at most once per
|
|
8
|
+
* animation frame, and once more with the final size when the drag ends. The
|
|
9
|
+
* direction and the ceiling are read once, when the drag starts.
|
|
10
|
+
*/
|
|
2
11
|
export declare const PaneHandle: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
3
12
|
export declare const PanelHandle: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
4
13
|
export declare const SidebarHandle: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-handles.d.ts","sourceRoot":"","sources":["../../../../src/components/_internal/shell-handles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"shell-handles.d.ts","sourceRoot":"","sources":["../../../../src/components/_internal/shell-handles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,mKAoTrB,CAAC;AAGH,eAAO,MAAM,WAAW,mKAA+H,CAAC;AAGxJ,eAAO,MAAM,aAAa,mKAA+H,CAAC;AAG1J,eAAO,MAAM,eAAe,mKAA+H,CAAC;AAG5J,eAAO,MAAM,YAAY,mKAA+H,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var be=Object.create;var F=Object.defineProperty;var ge=Object.getOwnPropertyDescriptor;var we=Object.getOwnPropertyNames;var ye=Object.getPrototypeOf,Se=Object.prototype.hasOwnProperty;var Ce=(t,r)=>{for(var l in r)F(t,l,{get:r[l],enumerable:!0})},te=(t,r,l,L)=>{if(r&&typeof r=="object"||typeof r=="function")for(let u of we(r))!Se.call(t,u)&&u!==l&&F(t,u,{get:()=>r[u],enumerable:!(L=ge(r,u))||L.enumerable});return t};var W=(t,r,l)=>(l=t!=null?be(ye(t)):{},te(r||!t||!t.__esModule?F(l,"default",{value:t,enumerable:!0}):l,t)),ze=t=>te(F({},"__esModule",{value:!0}),t);var Pe={};Ce(Pe,{BottomHandle:()=>se,InspectorHandle:()=>ae,PaneHandle:()=>w,PanelHandle:()=>oe,SidebarHandle:()=>ie});module.exports=ze(Pe);var n=W(require("react")),re=W(require("classnames"));var B=W(require("react")),xe=B.createContext(null);function ne(){let t=B.useContext(xe);if(!t)throw new Error("Shell.Handle must be used within a resizable pane");return t}var w=n.forwardRef(({className:t,children:r,...l},L)=>{let{containerRef:u,controls:le,cssVarName:H,minSize:h,maxSize:y,defaultSize:T,orientation:f,edge:ce,growth:A,onResize:S,onResizeStart:j,onResizeEnd:D,snapPoints:N,snapTolerance:ue,collapseThreshold:U,collapsible:O,target:X,requestCollapse:de,requestToggle:me}=ne(),C=n.useRef(null),ve=n.useCallback(e=>{C.current=e,typeof L=="function"?L(e):L&&(L.current=e)},[L]),z=n.useRef(null);n.useEffect(()=>()=>{z.current?.(),z.current=null},[]);let V=n.useCallback(()=>{let e=u.current;if(!e)return T;let o=Number.parseFloat(getComputedStyle(e).getPropertyValue(H));return Number.isFinite(o)?o:T},[u,H,T]),q=n.useCallback(()=>{let e=u.current,o=C.current,i=e?.closest(".rt-ShellRoot")?.getBoundingClientRect();if(!e||!i||!o)return y;let v=e.getBoundingClientRect(),E=o.getBoundingClientRect(),d=A(getComputedStyle(e).direction==="rtl"),a;f==="vertical"?a=d>0?i.right-v.left:v.right-i.left:a=d>0?i.bottom-v.top:v.bottom-i.top;let P=f==="vertical"?E.width:E.height;return!(i.width>0&&i.height>0)||!Number.isFinite(a)?y:Math.max(h,Math.min(y,Math.round(a-P)))},[u,A,y,h,f]),pe=()=>{C.current?.setAttribute("aria-valuemax",String(q()))};n.useLayoutEffect(()=>{C.current?.setAttribute("aria-valuenow",String(Math.round(V())))},[V]);let x=(e,o)=>{e.style.setProperty(H,`${o}px`),C.current?.setAttribute("aria-valuenow",String(Math.round(o)))},fe=X.charAt(0).toUpperCase()+X.slice(1);return n.createElement("div",{ref:ve,className:(0,re.default)("rt-ShellResizer",t),"data-orientation":f,"data-edge":ce,role:"separator",tabIndex:0,"aria-label":`Resize ${fe} pane`,"aria-controls":le,"aria-orientation":f,"aria-valuemin":h,"aria-valuemax":y,...l,onPointerDown:e=>{l.onPointerDown?.(e);let o=u.current;if(!o||e.defaultPrevented||e.button!==0)return;e.preventDefault();let i=e.currentTarget,v=e.pointerId;z.current?.();try{i.setPointerCapture(v)}catch{}let E=getComputedStyle(o),d=Number.parseFloat(E.getPropertyValue(H)),a=Number.isFinite(d)?d:T,P=f==="vertical"?e.clientX:e.clientY,Ee=A(E.direction==="rtl"),Y=q();i.setAttribute("aria-valuemax",String(Y));let $=s=>Math.min(Math.max(s,h),Y);o.setAttribute("data-resizing",""),i.setAttribute("data-dragging","");let b=document.body,Le=b.style.cursor,Re=b.style.userSelect;b.style.cursor=f==="vertical"?"col-resize":"row-resize",b.style.userSelect="none",j?.(a);let R=a,I=a,m=0,M=null,G=()=>{if(m=0,M===null)return;let s=M;M=null,S?.(s)},J=null,Q=!1,he=(s,g)=>{if(s.type===g)Q=!0;else if(Q)return!1;return!0},p=s=>{if(!he(s,"pointermove")||s===J)return;J=s;let g=f==="vertical"?s.clientX:s.clientY;I=a+(g-P)*Ee,R=$(I),x(o,R),M=R,m||(m=requestAnimationFrame(G))},k=()=>{m&&cancelAnimationFrame(m),m=0;try{i.releasePointerCapture(v)}catch{}window.removeEventListener("pointermove",p),document.removeEventListener("pointermove",p),window.removeEventListener("mousemove",p),document.removeEventListener("mousemove",p),i.removeEventListener("pointermove",p),window.removeEventListener("pointerup",c),document.removeEventListener("pointerup",c),window.removeEventListener("mouseup",c),document.removeEventListener("mouseup",c),window.removeEventListener("pointercancel",c),document.removeEventListener("pointercancel",c),window.removeEventListener("keydown",Z),i.removeEventListener("lostpointercapture",c),o.removeAttribute("data-resizing"),i.removeAttribute("data-dragging"),b.style.cursor=Le,b.style.userSelect=Re,z.current=null},K=!1,c=()=>{if(K)return;if(K=!0,m&&cancelAnimationFrame(m),G(),O&&typeof U=="number"&&I<=U){x(o,a),S?.(a),k(),de?.(),D?.(a);return}let s=R;if(N&&N.length){let g=N.reduce((_,ee)=>Math.abs(ee-R)<Math.abs(_-R)?ee:_,N[0]);Math.abs(g-R)<=ue&&(s=$(g),x(o,s),S?.(s))}D?.(s),k()},Z=s=>{s.key==="Escape"&&(m&&cancelAnimationFrame(m),m=0,M=null,x(o,a),S?.(a),K=!0,D?.(a),k())};window.addEventListener("pointermove",p),document.addEventListener("pointermove",p),window.addEventListener("mousemove",p),document.addEventListener("mousemove",p),i.addEventListener("pointermove",p),window.addEventListener("pointerup",c),document.addEventListener("pointerup",c),window.addEventListener("mouseup",c),document.addEventListener("mouseup",c),window.addEventListener("pointercancel",c),document.addEventListener("pointercancel",c),window.addEventListener("keydown",Z),i.addEventListener("lostpointercapture",c),z.current=k},onDoubleClick:e=>{l.onDoubleClick?.(e),!e.defaultPrevented&&O&&me?.()},onFocus:e=>{l.onFocus?.(e),pe()},onKeyDown:e=>{l.onKeyDown?.(e);let o=u.current;if(!o||e.defaultPrevented)return;let i=V(),v=q(),E=a=>Math.min(Math.max(a,h),v),d;if(e.key==="Home")d=E(h);else if(e.key==="End")d=E(v);else{let a=f==="vertical"?e.key==="ArrowRight"?1:e.key==="ArrowLeft"?-1:0:e.key==="ArrowDown"?1:e.key==="ArrowUp"?-1:0;if(a===0)return;let P=e.shiftKey?32:8;d=E(i+a*P*A(getComputedStyle(o).direction==="rtl"))}e.preventDefault(),j?.(i),x(o,d),S?.(d),D?.(d)}},r)});w.displayName="Shell.Handle";var oe=n.forwardRef((t,r)=>n.createElement(w,{...t,ref:r}));oe.displayName="Shell.Panel.Handle";var ie=n.forwardRef((t,r)=>n.createElement(w,{...t,ref:r}));ie.displayName="Shell.Sidebar.Handle";var ae=n.forwardRef((t,r)=>n.createElement(w,{...t,ref:r}));ae.displayName="Shell.Inspector.Handle";var se=n.forwardRef((t,r)=>n.createElement(w,{...t,ref:r}));se.displayName="Shell.Bottom.Handle";
|
|
2
2
|
//# sourceMappingURL=shell-handles.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/_internal/shell-handles.tsx", "../../../../src/components/_internal/shell-resize.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { usePaneResize } from './shell-resize.js';\n\nexport const PaneHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>(({ className, children, ...props }, ref) => {\n const {\n containerRef,\n cssVarName,\n minSize,\n maxSize,\n defaultSize,\n orientation,\n edge,\n computeNext,\n onResize,\n onResizeStart,\n onResizeEnd,\n snapPoints,\n snapTolerance,\n collapseThreshold,\n collapsible,\n target,\n requestCollapse,\n requestToggle,\n } = usePaneResize();\n\n const activeCleanupRef = React.useRef<(() => void) | null>(null);\n React.useEffect(\n () => () => {\n try {\n activeCleanupRef.current?.();\n } catch {}\n activeCleanupRef.current = null;\n },\n [],\n );\n\n const ariaOrientation = orientation;\n\n // Generate accessible label from target\n const targetLabel = target.charAt(0).toUpperCase() + target.slice(1);\n const ariaLabel = `Resize ${targetLabel} pane`;\n\n return (\n <div\n {...props}\n ref={ref}\n className={classNames('rt-ShellResizer', className)}\n data-orientation={orientation}\n data-edge={edge}\n role=\"slider\"\n aria-label={ariaLabel}\n aria-orientation={ariaOrientation}\n aria-valuemin={minSize}\n aria-valuemax={maxSize}\n aria-valuenow={defaultSize}\n tabIndex={0}\n onPointerDown={(e) => {\n if (!containerRef.current) return;\n e.preventDefault();\n const container = containerRef.current;\n const handleEl = e.currentTarget as HTMLElement;\n const pointerId = e.pointerId;\n try {\n activeCleanupRef.current?.();\n } catch {}\n container.setAttribute('data-resizing', '');\n try {\n handleEl.setPointerCapture(pointerId);\n } catch {}\n const startClient = orientation === 'vertical' ? e.clientX : e.clientY;\n const startSize = parseFloat(getComputedStyle(container).getPropertyValue(cssVarName) || `${defaultSize}`);\n const clamp = (v: number) => Math.min(Math.max(v, minSize), maxSize);\n const body = document.body;\n const prevCursor = body.style.cursor;\n const prevUserSelect = body.style.userSelect;\n body.style.cursor = orientation === 'vertical' ? 'col-resize' : 'row-resize';\n body.style.userSelect = 'none';\n onResizeStart?.(startSize);\n\n // The move handler is attached to the handle, the document and the\n // window so the drag survives environments where PointerEvent does not\n // reach all three. A real move therefore arrives here several times:\n // once per node it propagates through, plus again as the compatibility\n // mouse event. Doing the work more than once per movement is pure waste\n // on the most latency-sensitive interaction in the shell, so ignore the\n // repeats.\n let lastHandledMove: Event | null = null;\n let seenPointerEvent = false;\n\n const shouldHandle = (ev: Event, pointerType: string) => {\n if (ev.type === pointerType) seenPointerEvent = true;\n // Once pointer events are known to work, the mouse fallbacks are\n // duplicates of an event we have already handled.\n else if (seenPointerEvent) return false;\n return true;\n };\n\n const handleMove = (ev: PointerEvent) => {\n if (!shouldHandle(ev, 'pointermove')) return;\n if (ev === lastHandledMove) return;\n lastHandledMove = ev;\n\n const client = orientation === 'vertical' ? ev.clientX : ev.clientY;\n const next = clamp(computeNext(client, startClient, startSize));\n container.style.setProperty(cssVarName, `${next}px`);\n handleEl.setAttribute('aria-valuenow', String(next));\n onResize?.(next);\n };\n const cleanup = () => {\n try {\n handleEl.releasePointerCapture(pointerId);\n } catch {}\n window.removeEventListener('pointermove', handleMove as EventListener);\n document.removeEventListener('pointermove', handleMove as EventListener);\n window.removeEventListener('mousemove', handleMove as EventListener);\n document.removeEventListener('mousemove', handleMove as EventListener);\n handleEl.removeEventListener('pointermove', handleMove as EventListener);\n window.removeEventListener('pointerup', handleUp as EventListener);\n document.removeEventListener('pointerup', handleUp as EventListener);\n window.removeEventListener('mouseup', handleUp as EventListener);\n document.removeEventListener('mouseup', handleUp as EventListener);\n window.removeEventListener('pointercancel', handleUp as EventListener);\n document.removeEventListener('pointercancel', handleUp as EventListener);\n window.removeEventListener('keydown', handleKey as EventListener);\n handleEl.removeEventListener('lostpointercapture', handleUp as EventListener);\n container.removeAttribute('data-resizing');\n body.style.cursor = prevCursor;\n body.style.userSelect = prevUserSelect;\n activeCleanupRef.current = null;\n };\n let finished = false;\n const handleUp = () => {\n if (finished) return;\n finished = true;\n\n const finalSize = parseFloat(getComputedStyle(container).getPropertyValue(cssVarName) || `${defaultSize}`);\n let snapped = finalSize;\n if (snapPoints && snapPoints.length) {\n const nearest = snapPoints.reduce((acc, p) => (Math.abs(p - finalSize) < Math.abs(acc - finalSize) ? p : acc), snapPoints[0]);\n if (Math.abs(nearest - finalSize) <= (snapTolerance ?? 8)) {\n snapped = nearest;\n container.style.setProperty(cssVarName, `${snapped}px`);\n handleEl.setAttribute('aria-valuenow', String(snapped));\n onResize?.(snapped);\n }\n }\n if (collapsible && typeof collapseThreshold === 'number' && finalSize <= collapseThreshold) {\n requestCollapse?.();\n }\n onResizeEnd?.(snapped);\n cleanup();\n };\n const handleKey = (kev: KeyboardEvent) => {\n if (kev.key === 'Escape') {\n container.style.setProperty(cssVarName, `${startSize}px`);\n handleEl.setAttribute('aria-valuenow', String(startSize));\n onResizeEnd?.(startSize);\n cleanup();\n }\n };\n window.addEventListener('pointermove', handleMove as EventListener);\n document.addEventListener('pointermove', handleMove as EventListener);\n // Fallbacks for environments that don't fully support PointerEvent on window\n window.addEventListener('mousemove', handleMove as EventListener);\n document.addEventListener('mousemove', handleMove as EventListener);\n handleEl.addEventListener('pointermove', handleMove as EventListener);\n window.addEventListener('pointerup', handleUp as EventListener);\n document.addEventListener('pointerup', handleUp as EventListener);\n window.addEventListener('mouseup', handleUp as EventListener);\n document.addEventListener('mouseup', handleUp as EventListener);\n window.addEventListener('pointercancel', handleUp as EventListener);\n document.addEventListener('pointercancel', handleUp as EventListener);\n window.addEventListener('keydown', handleKey as EventListener);\n handleEl.addEventListener('lostpointercapture', handleUp as EventListener);\n activeCleanupRef.current = cleanup;\n }}\n onDoubleClick={() => {\n if (collapsible) requestToggle?.();\n }}\n onKeyDown={(e) => {\n if (!containerRef.current) return;\n const container = containerRef.current;\n const rawCurrent = getComputedStyle(container).getPropertyValue(cssVarName);\n const parsedCurrent = Number.parseFloat(rawCurrent.trim());\n const current = Number.isFinite(parsedCurrent) ? parsedCurrent : defaultSize;\n const clamp = (v: number) => Math.min(Math.max(v, minSize), maxSize);\n const step = e.shiftKey ? 32 : 8;\n let delta = 0;\n if (orientation === 'vertical') {\n const docDir = typeof document !== 'undefined' ? document.dir : undefined;\n const cssDir = getComputedStyle(container).direction;\n const hasRtlAncestor = !!(container.closest && container.closest('[dir=\"rtl\"]'));\n const isRtl = docDir === 'rtl' || cssDir === 'rtl' || hasRtlAncestor;\n if (e.key === 'ArrowRight')\n delta = isRtl ? -step : step; // inline-end\n else if (e.key === 'ArrowLeft') delta = isRtl ? step : -step; // inline-start\n } else {\n if (e.key === 'ArrowDown') delta = step;\n else if (e.key === 'ArrowUp') delta = -step;\n }\n if (e.key === 'Home') {\n e.preventDefault();\n onResizeStart?.(current);\n const next = clamp(minSize);\n container.style.setProperty(cssVarName, `${next}px`);\n (e.currentTarget as HTMLElement).setAttribute('aria-valuenow', String(next));\n onResize?.(next);\n onResizeEnd?.(next);\n return;\n }\n if (e.key === 'End') {\n e.preventDefault();\n onResizeStart?.(current);\n const next = clamp(maxSize);\n container.style.setProperty(cssVarName, `${next}px`);\n (e.currentTarget as HTMLElement).setAttribute('aria-valuenow', String(next));\n onResize?.(next);\n onResizeEnd?.(next);\n return;\n }\n if (delta !== 0) {\n e.preventDefault();\n onResizeStart?.(current);\n const signedDelta = orientation === 'vertical' ? (edge === 'start' ? -delta : delta) : delta;\n const next = clamp(current + signedDelta);\n container.style.setProperty(cssVarName, `${next}px`);\n (e.currentTarget as HTMLElement).setAttribute('aria-valuenow', String(next));\n onResize?.(next);\n onResizeEnd?.(next);\n }\n }}\n >\n {children}\n </div>\n );\n});\nPaneHandle.displayName = 'Shell.Handle';\n\nexport const PanelHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>((props, ref) => <PaneHandle {...props} ref={ref} />);\nPanelHandle.displayName = 'Shell.Panel.Handle';\n\nexport const SidebarHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>((props, ref) => <PaneHandle {...props} ref={ref} />);\nSidebarHandle.displayName = 'Shell.Sidebar.Handle';\n\nexport const InspectorHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>((props, ref) => <PaneHandle {...props} ref={ref} />);\nInspectorHandle.displayName = 'Shell.Inspector.Handle';\n\nexport const BottomHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>((props, ref) => <PaneHandle {...props} ref={ref} />);\nBottomHandle.displayName = 'Shell.Bottom.Handle';\n", "import * as React from 'react';\n\nexport interface PaneResizeContextValue {\n containerRef: React.RefObject<HTMLDivElement | null>;\n cssVarName: string;\n minSize: number;\n maxSize: number;\n defaultSize: number;\n orientation: 'vertical' | 'horizontal';\n edge: 'start' | 'end';\n computeNext: (clientPos: number, startClientPos: number, startSize: number) => number;\n onResize?: (size: number) => void;\n onResizeStart?: (size: number) => void;\n onResizeEnd?: (size: number) => void;\n target: 'left' | 'rail' | 'panel' | 'sidebar' | 'inspector' | 'bottom';\n collapsible: boolean;\n snapPoints?: number[];\n snapTolerance: number;\n collapseThreshold?: number;\n requestCollapse?: () => void;\n requestToggle?: () => void;\n}\n\nexport const PaneResizeContext = React.createContext<PaneResizeContextValue | null>(null);\n\nexport function usePaneResize() {\n const ctx = React.useContext(PaneResizeContext);\n if (!ctx) throw new Error('Shell.Handle must be used within a resizable pane');\n return ctx;\n}\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["shell_handles_exports", "__export", "BottomHandle", "InspectorHandle", "PaneHandle", "PanelHandle", "SidebarHandle", "__toCommonJS", "React", "import_classnames", "React", "PaneResizeContext", "usePaneResize", "ctx", "PaneHandle", "className", "children", "props", "ref", "containerRef", "cssVarName", "minSize", "maxSize", "defaultSize", "orientation", "edge", "
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { usePaneResize } from './shell-resize.js';\n\n/**\n * The resize handle: the WAI-ARIA window splitter. `role=\"separator\"` with a\n * value, focusable because it is operable, `aria-controls` naming its pane.\n *\n * A drag writes the size variable directly on the pane and sets no React\n * state, so nothing re-renders per move. `onResize` is called at most once per\n * animation frame, and once more with the final size when the drag ends. The\n * direction and the ceiling are read once, when the drag starts.\n */\nexport const PaneHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>(({ className, children, ...props }, ref) => {\n const {\n containerRef,\n controls,\n cssVarName,\n minSize,\n maxSize,\n defaultSize,\n orientation,\n edge,\n growth,\n onResize,\n onResizeStart,\n onResizeEnd,\n snapPoints,\n snapTolerance,\n collapseThreshold,\n collapsible,\n target,\n requestCollapse,\n requestToggle,\n } = usePaneResize();\n\n const handleRef = React.useRef<HTMLDivElement | null>(null);\n const setRef = React.useCallback(\n (node: HTMLDivElement | null) => {\n handleRef.current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref) (ref as React.MutableRefObject<HTMLDivElement | null>).current = node;\n },\n [ref],\n );\n\n const activeCleanupRef = React.useRef<(() => void) | null>(null);\n React.useEffect(\n () => () => {\n activeCleanupRef.current?.();\n activeCleanupRef.current = null;\n },\n [],\n );\n\n /** The pane's size as the stylesheet sees it. Read at the edges of a gesture, never during one. */\n const readSize = React.useCallback(() => {\n const container = containerRef.current;\n if (!container) return defaultSize;\n const parsed = Number.parseFloat(getComputedStyle(container).getPropertyValue(cssVarName));\n return Number.isFinite(parsed) ? parsed : defaultSize;\n }, [containerRef, cssVarName, defaultSize]);\n\n /**\n * The largest size a resize may reach: the stated maximum, and never so\n * large that the handle leaves the frame. The room is measured from the\n * pane's anchored edge, which does not move, to the far edge of the frame,\n * so a pane that starts after a Rail has less room than the frame's width.\n * Without the cap a pane with a generous `maxSize` could be resized until\n * its own handle was off screen.\n */\n const ceiling = React.useCallback(() => {\n const container = containerRef.current;\n const handle = handleRef.current;\n const frame = container?.closest('.rt-ShellRoot')?.getBoundingClientRect();\n if (!container || !frame || !handle) return maxSize;\n const pane = container.getBoundingClientRect();\n const hitBox = handle.getBoundingClientRect();\n const sign = growth(getComputedStyle(container).direction === 'rtl');\n let room: number;\n if (orientation === 'vertical') room = sign > 0 ? frame.right - pane.left : pane.right - frame.left;\n else room = sign > 0 ? frame.bottom - pane.top : pane.bottom - frame.top;\n const hit = orientation === 'vertical' ? hitBox.width : hitBox.height;\n if (!(frame.width > 0 && frame.height > 0) || !Number.isFinite(room)) return maxSize;\n return Math.max(minSize, Math.min(maxSize, Math.round(room - hit)));\n }, [containerRef, growth, maxSize, minSize, orientation]);\n\n // The announced maximum is what a resize can reach now, not only the prop.\n const announceCeiling = () => {\n handleRef.current?.setAttribute('aria-valuemax', String(ceiling()));\n };\n\n // The announced value is seeded from the real size once the pane has a box.\n React.useLayoutEffect(() => {\n handleRef.current?.setAttribute('aria-valuenow', String(Math.round(readSize())));\n }, [readSize]);\n\n const write = (container: HTMLElement, size: number) => {\n container.style.setProperty(cssVarName, `${size}px`);\n handleRef.current?.setAttribute('aria-valuenow', String(Math.round(size)));\n };\n\n const targetLabel = target.charAt(0).toUpperCase() + target.slice(1);\n\n return (\n // A focusable separator with a value is the WAI-ARIA window splitter, an\n // interactive widget; jsx-a11y classes every separator as static.\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n <div\n ref={setRef}\n className={classNames('rt-ShellResizer', className)}\n data-orientation={orientation}\n data-edge={edge}\n role=\"separator\"\n // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n tabIndex={0}\n aria-label={`Resize ${targetLabel} pane`}\n aria-controls={controls}\n aria-orientation={orientation}\n aria-valuemin={minSize}\n aria-valuemax={maxSize}\n {...props}\n onPointerDown={(e) => {\n props.onPointerDown?.(e);\n const container = containerRef.current;\n if (!container || e.defaultPrevented || e.button !== 0) return;\n e.preventDefault();\n const handleEl = e.currentTarget as HTMLElement;\n const pointerId = e.pointerId;\n activeCleanupRef.current?.();\n try {\n handleEl.setPointerCapture(pointerId);\n } catch {\n // Capture can fail for a pointer that is already gone; the window listeners below still carry the drag.\n }\n\n // Everything a move needs is read here, once.\n const startStyle = getComputedStyle(container);\n const parsedStart = Number.parseFloat(startStyle.getPropertyValue(cssVarName));\n const startSize = Number.isFinite(parsedStart) ? parsedStart : defaultSize;\n const startClient = orientation === 'vertical' ? e.clientX : e.clientY;\n const sign = growth(startStyle.direction === 'rtl');\n const cap = ceiling();\n handleEl.setAttribute('aria-valuemax', String(cap));\n const clamp = (v: number) => Math.min(Math.max(v, minSize), cap);\n\n container.setAttribute('data-resizing', '');\n handleEl.setAttribute('data-dragging', '');\n const body = document.body;\n const prevCursor = body.style.cursor;\n const prevUserSelect = body.style.userSelect;\n body.style.cursor = orientation === 'vertical' ? 'col-resize' : 'row-resize';\n body.style.userSelect = 'none';\n onResizeStart?.(startSize);\n\n let current = startSize;\n // The unclamped size, so `collapseThreshold` is compared before the\n // clamp: a threshold below `minSize` can then still collapse the pane.\n let raw = startSize;\n let frame = 0;\n let pending: number | null = null;\n const flush = () => {\n frame = 0;\n if (pending === null) return;\n const size = pending;\n pending = null;\n onResize?.(size);\n };\n\n // The move handler listens on the handle, the document and the window,\n // so a drag survives environments where pointer events do not reach\n // all three. One movement can therefore arrive several times: once per\n // node it propagates through, and again as the compatibility mouse\n // event. Only the first copy does any work.\n let lastHandledMove: Event | null = null;\n let seenPointerEvent = false;\n const shouldHandle = (ev: Event, pointerType: string) => {\n if (ev.type === pointerType) seenPointerEvent = true;\n else if (seenPointerEvent) return false;\n return true;\n };\n\n const handleMove = (ev: PointerEvent) => {\n if (!shouldHandle(ev, 'pointermove')) return;\n if (ev === lastHandledMove) return;\n lastHandledMove = ev;\n const client = orientation === 'vertical' ? ev.clientX : ev.clientY;\n raw = startSize + (client - startClient) * sign;\n current = clamp(raw);\n write(container, current);\n pending = current;\n if (!frame) frame = requestAnimationFrame(flush);\n };\n\n const cleanup = () => {\n if (frame) cancelAnimationFrame(frame);\n frame = 0;\n try {\n handleEl.releasePointerCapture(pointerId);\n } catch {\n // Already released.\n }\n window.removeEventListener('pointermove', handleMove as EventListener);\n document.removeEventListener('pointermove', handleMove as EventListener);\n window.removeEventListener('mousemove', handleMove as EventListener);\n document.removeEventListener('mousemove', handleMove as EventListener);\n handleEl.removeEventListener('pointermove', handleMove as EventListener);\n window.removeEventListener('pointerup', handleUp as EventListener);\n document.removeEventListener('pointerup', handleUp as EventListener);\n window.removeEventListener('mouseup', handleUp as EventListener);\n document.removeEventListener('mouseup', handleUp as EventListener);\n window.removeEventListener('pointercancel', handleUp as EventListener);\n document.removeEventListener('pointercancel', handleUp as EventListener);\n window.removeEventListener('keydown', handleKey as EventListener);\n handleEl.removeEventListener('lostpointercapture', handleUp as EventListener);\n container.removeAttribute('data-resizing');\n handleEl.removeAttribute('data-dragging');\n body.style.cursor = prevCursor;\n body.style.userSelect = prevUserSelect;\n activeCleanupRef.current = null;\n };\n\n let finished = false;\n const handleUp = () => {\n if (finished) return;\n finished = true;\n // The last move's size is delivered now rather than on the next frame.\n if (frame) cancelAnimationFrame(frame);\n flush();\n\n if (collapsible && typeof collapseThreshold === 'number' && raw <= collapseThreshold) {\n // A drag past the threshold closes the pane and keeps no size: the\n // pane opens again at the size it had before the drag. The drag\n // still ends, at that size, so a consumer that started something\n // in onResizeStart can stop it.\n write(container, startSize);\n onResize?.(startSize);\n cleanup();\n requestCollapse?.();\n onResizeEnd?.(startSize);\n return;\n }\n\n let settled = current;\n if (snapPoints && snapPoints.length) {\n const nearest = snapPoints.reduce((acc, p) => (Math.abs(p - current) < Math.abs(acc - current) ? p : acc), snapPoints[0]);\n if (Math.abs(nearest - current) <= snapTolerance) {\n settled = clamp(nearest);\n write(container, settled);\n onResize?.(settled);\n }\n }\n onResizeEnd?.(settled);\n cleanup();\n };\n\n const handleKey = (kev: KeyboardEvent) => {\n if (kev.key !== 'Escape') return;\n if (frame) cancelAnimationFrame(frame);\n frame = 0;\n pending = null;\n write(container, startSize);\n onResize?.(startSize);\n finished = true;\n onResizeEnd?.(startSize);\n cleanup();\n };\n\n window.addEventListener('pointermove', handleMove as EventListener);\n document.addEventListener('pointermove', handleMove as EventListener);\n window.addEventListener('mousemove', handleMove as EventListener);\n document.addEventListener('mousemove', handleMove as EventListener);\n handleEl.addEventListener('pointermove', handleMove as EventListener);\n window.addEventListener('pointerup', handleUp as EventListener);\n document.addEventListener('pointerup', handleUp as EventListener);\n window.addEventListener('mouseup', handleUp as EventListener);\n document.addEventListener('mouseup', handleUp as EventListener);\n window.addEventListener('pointercancel', handleUp as EventListener);\n document.addEventListener('pointercancel', handleUp as EventListener);\n window.addEventListener('keydown', handleKey as EventListener);\n handleEl.addEventListener('lostpointercapture', handleUp as EventListener);\n activeCleanupRef.current = cleanup;\n }}\n onDoubleClick={(e) => {\n props.onDoubleClick?.(e);\n if (!e.defaultPrevented && collapsible) requestToggle?.();\n }}\n onFocus={(e) => {\n props.onFocus?.(e);\n announceCeiling();\n }}\n onKeyDown={(e) => {\n props.onKeyDown?.(e);\n const container = containerRef.current;\n if (!container || e.defaultPrevented) return;\n const current = readSize();\n // The keys reach as far as a drag does: the frame caps both.\n const cap = ceiling();\n const clamp = (v: number) => Math.min(Math.max(v, minSize), cap);\n let next: number | undefined;\n if (e.key === 'Home') next = clamp(minSize);\n else if (e.key === 'End') next = clamp(cap);\n else {\n // The key moves the boundary along its axis; the pane grows or\n // shrinks the way a drag in that direction would, so Bottom's\n // ArrowUp grows it and an end-anchored pane mirrors in RTL.\n const along = orientation === 'vertical' ? (e.key === 'ArrowRight' ? 1 : e.key === 'ArrowLeft' ? -1 : 0) : e.key === 'ArrowDown' ? 1 : e.key === 'ArrowUp' ? -1 : 0;\n if (along === 0) return;\n const step = e.shiftKey ? 32 : 8;\n next = clamp(current + along * step * growth(getComputedStyle(container).direction === 'rtl'));\n }\n e.preventDefault();\n onResizeStart?.(current);\n write(container, next);\n onResize?.(next);\n onResizeEnd?.(next);\n }}\n >\n {children}\n </div>\n );\n});\nPaneHandle.displayName = 'Shell.Handle';\n\nexport const PanelHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>((props, ref) => <PaneHandle {...props} ref={ref} />);\nPanelHandle.displayName = 'Shell.Panel.Handle';\n\nexport const SidebarHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>((props, ref) => <PaneHandle {...props} ref={ref} />);\nSidebarHandle.displayName = 'Shell.Sidebar.Handle';\n\nexport const InspectorHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>((props, ref) => <PaneHandle {...props} ref={ref} />);\nInspectorHandle.displayName = 'Shell.Inspector.Handle';\n\nexport const BottomHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>((props, ref) => <PaneHandle {...props} ref={ref} />);\nBottomHandle.displayName = 'Shell.Bottom.Handle';\n", "import * as React from 'react';\nimport type { PaneName } from '../shell.types.js';\n\nexport interface PaneResizeContextValue {\n containerRef: React.RefObject<HTMLElement | null>;\n /** The pane the handle resizes, for `aria-controls`. */\n controls: string;\n cssVarName: string;\n minSize: number;\n maxSize: number;\n defaultSize: number;\n orientation: 'vertical' | 'horizontal';\n edge: 'start' | 'end';\n /**\n * +1 when moving the pointer toward the end of its axis grows the pane, -1\n * when it shrinks it. Read once when a drag starts, with the pane's\n * resolved direction, so no move pays for a style read.\n */\n growth: (isRtl: boolean) => 1 | -1;\n onResize?: (size: number) => void;\n onResizeStart?: (size: number) => void;\n onResizeEnd?: (size: number) => void;\n target: PaneName;\n collapsible: boolean;\n snapPoints?: number[];\n snapTolerance: number;\n collapseThreshold?: number;\n requestCollapse?: () => void;\n requestToggle?: () => void;\n}\n\nexport const PaneResizeContext = React.createContext<PaneResizeContextValue | null>(null);\n\nexport function usePaneResize() {\n const ctx = React.useContext(PaneResizeContext);\n if (!ctx) throw new Error('Shell.Handle must be used within a resizable pane');\n return ctx;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["shell_handles_exports", "__export", "BottomHandle", "InspectorHandle", "PaneHandle", "PanelHandle", "SidebarHandle", "__toCommonJS", "React", "import_classnames", "React", "PaneResizeContext", "usePaneResize", "ctx", "PaneHandle", "className", "children", "props", "ref", "containerRef", "controls", "cssVarName", "minSize", "maxSize", "defaultSize", "orientation", "edge", "growth", "onResize", "onResizeStart", "onResizeEnd", "snapPoints", "snapTolerance", "collapseThreshold", "collapsible", "target", "requestCollapse", "requestToggle", "usePaneResize", "handleRef", "setRef", "node", "activeCleanupRef", "readSize", "container", "parsed", "ceiling", "handle", "frame", "pane", "hitBox", "sign", "room", "hit", "announceCeiling", "write", "size", "targetLabel", "classNames", "handleEl", "pointerId", "startStyle", "parsedStart", "startSize", "startClient", "cap", "clamp", "v", "body", "prevCursor", "prevUserSelect", "current", "raw", "pending", "flush", "lastHandledMove", "seenPointerEvent", "shouldHandle", "ev", "pointerType", "handleMove", "client", "cleanup", "handleUp", "handleKey", "finished", "settled", "nearest", "acc", "p", "kev", "next", "along", "step", "PanelHandle", "SidebarHandle", "InspectorHandle", "BottomHandle"]
|
|
7
7
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { InspectorHandle } from './shell-handles.js';
|
|
3
|
+
import { type SizeChangeMeta } from './shell-resizable.js';
|
|
3
4
|
import type { Breakpoint, PaneBaseProps } from '../shell.types.js';
|
|
4
5
|
type InspectorOpenChangeMeta = {
|
|
5
|
-
reason: 'init' | 'toggle' | 'responsive';
|
|
6
|
+
reason: 'init' | 'toggle' | 'responsive' | 'dismiss';
|
|
6
7
|
};
|
|
7
8
|
type InspectorControlledProps = {
|
|
8
9
|
open: boolean | Partial<Record<Breakpoint, boolean>>;
|
|
@@ -14,9 +15,6 @@ type InspectorUncontrolledProps = {
|
|
|
14
15
|
onOpenChange?: (open: boolean, meta: InspectorOpenChangeMeta) => void;
|
|
15
16
|
open?: never;
|
|
16
17
|
};
|
|
17
|
-
type InspectorSizeChangeMeta = {
|
|
18
|
-
reason: 'init' | 'resize' | 'controlled';
|
|
19
|
-
};
|
|
20
18
|
type InspectorSizeControlledProps = {
|
|
21
19
|
size: number | string;
|
|
22
20
|
defaultSize?: never;
|
|
@@ -26,10 +24,10 @@ type InspectorSizeUncontrolledProps = {
|
|
|
26
24
|
size?: never;
|
|
27
25
|
};
|
|
28
26
|
type InspectorPublicProps = PaneBaseProps & (InspectorControlledProps | InspectorUncontrolledProps) & (InspectorSizeControlledProps | InspectorSizeUncontrolledProps) & {
|
|
29
|
-
onSizeChange?: (size: number, meta:
|
|
27
|
+
onSizeChange?: (size: number, meta: SizeChangeMeta) => void;
|
|
30
28
|
sizeUpdate?: 'throttle' | 'debounce';
|
|
31
29
|
sizeUpdateMs?: number;
|
|
32
|
-
/** When true, adds margin and triggers gray backdrop on Shell. */
|
|
30
|
+
/** When true, adds margin and triggers the gray backdrop on the Shell. */
|
|
33
31
|
inset?: boolean;
|
|
34
32
|
};
|
|
35
33
|
type InspectorComponent = React.ForwardRefExoticComponent<InspectorPublicProps & React.RefAttributes<HTMLDivElement>> & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-inspector.d.ts","sourceRoot":"","sources":["../../../../src/components/_internal/shell-inspector.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shell-inspector.d.ts","sourceRoot":"","sources":["../../../../src/components/_internal/shell-inspector.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,eAAe,EAAc,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAkC,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3F,OAAO,KAAK,EAAE,UAAU,EAAyB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE1F,KAAK,uBAAuB,GAAG;IAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAA;CAAE,CAAC;AACxF,KAAK,wBAAwB,GAAG;IAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAAC,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AACrL,KAAK,0BAA0B,GAAG;IAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AACxL,KAAK,4BAA4B,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AACnF,KAAK,8BAA8B,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AACtF,KAAK,oBAAoB,GAAG,aAAa,GACvC,CAAC,wBAAwB,GAAG,0BAA0B,CAAC,GACvD,CAAC,4BAA4B,GAAG,8BAA8B,CAAC,GAAG;IAChE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5D,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEJ,KAAK,kBAAkB,GAAG,KAAK,CAAC,yBAAyB,CAAC,oBAAoB,GAAG,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,OAAO,eAAe,CAAA;CAAE,CAAC;AAO3J,eAAO,MAAM,SAAS,EAqHhB,kBAAkB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var pn=Object.create;var De=Object.defineProperty;var ln=Object.getOwnPropertyDescriptor;var cn=Object.getOwnPropertyNames;var dn=Object.getPrototypeOf,un=Object.prototype.hasOwnProperty;var mn=(e,t)=>{for(var n in t)De(e,n,{get:t[n],enumerable:!0})},Rt=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of cn(t))!un.call(e,s)&&s!==n&&De(e,s,{get:()=>t[s],enumerable:!(o=ln(t,s))||o.enumerable});return e};var N=(e,t,n)=>(n=e!=null?pn(dn(e)):{},Rt(t||!e||!e.__esModule?De(n,"default",{value:e,enumerable:!0}):n,e)),fn=e=>Rt(De({},"__esModule",{value:!0}),e);var uo={};mn(uo,{Inspector:()=>ut});module.exports=fn(uo);var d=N(require("react")),on=N(require("classnames"));var P=N(require("react")),Wt=N(require("classnames")),oe=require("radix-ui");var se={asChild:{type:"boolean"}};var Ee={width:{type:"string",className:"rt-r-w",customProperties:["--width"],responsive:!0},minWidth:{type:"string",className:"rt-r-min-w",customProperties:["--min-width"],responsive:!0},maxWidth:{type:"string",className:"rt-r-max-w",customProperties:["--max-width"],responsive:!0}};var bt={height:{type:"string",className:"rt-r-h",customProperties:["--height"],responsive:!0},minHeight:{type:"string",className:"rt-r-min-h",customProperties:["--min-height"],responsive:!0},maxHeight:{type:"string",className:"rt-r-max-h",customProperties:["--max-height"],responsive:!0}};var yn=["1","2","3","4"],Pn=["solid","translucent"],gn=["solid","translucent"],Ct={...se,align:{type:"enum",className:"rt-r-align",values:["start","center"],default:"center"},size:{type:"enum",className:"rt-r-size",values:yn,default:"3",responsive:!0},panelBackground:{type:"enum",values:Pn,default:void 0},material:{type:"enum",values:gn,default:void 0},width:Ee.width,minWidth:Ee.minWidth,maxWidth:{...Ee.maxWidth,default:"600px"},...bt};var x=N(require("react")),kt=N(require("classnames")),ye=require("radix-ui"),Me=require("radix-ui/internal");function xt(e){switch(e){case"tomato":case"red":case"ruby":case"crimson":case"pink":case"plum":case"purple":case"violet":return"mauve";case"iris":case"indigo":case"blue":case"sky":case"cyan":return"slate";case"teal":case"jade":case"mint":case"green":return"sage";case"grass":case"lime":return"olive";case"yellow":case"amber":case"orange":case"brown":case"gold":case"bronze":return"sand";case"gray":return"gray"}}var $e=N(require("react"));function ee(e){let[t,n]=$e.useState(e),[o,s]=$e.useState(e);return Object.is(e,o)||(s(e),n(e)),[t,n]}var St=N(require("react")),hn="Warning: The `panelBackground` prop is deprecated and will be removed in a future version. Use `material` prop instead.",Tt=new Set;function vn(e){Tt.has(e)||(Tt.add(e),console.warn(e))}function we(e){St.useEffect(()=>{},[e])}var Ue=["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"],Dt=["auto","gray","mauve","slate","sage","olive","sand"],ke={color:{type:"enum",values:Ue,default:void 0}};var Et=["none","small","medium","large","full"];var Rn=["inherit","light","dark"],bn=["solid","translucent"],Cn=["solid","translucent"],xn=["90%","95%","100%","105%","110%"],wt=["sans","mono","serif"],y={...se,hasBackground:{type:"boolean",default:!0},appearance:{type:"enum",values:Rn,default:"inherit"},accentColor:{type:"enum",values:Ue,default:"blue"},grayColor:{type:"enum",values:Dt,default:"slate"},material:{type:"enum",values:Cn,default:"translucent"},panelBackground:{type:"enum",values:bn,default:"translucent"},radius:{type:"enum",values:Et,default:"full"},scaling:{type:"enum",values:xn,default:"100%"},fontFamily:{type:"enum",values:wt,default:"sans"},headingFontFamily:{type:"enum",values:wt}};var z=()=>{},Lo={appearance:y.appearance.default,accentColor:y.accentColor.default,grayColor:y.grayColor.default,resolvedGrayColor:y.grayColor.default,material:y.material.default,panelBackground:y.panelBackground.default,radius:y.radius.default,scaling:y.scaling.default,fontFamily:y.fontFamily.default,headingFontFamily:void 0,onAppearanceChange:z,onAccentColorChange:z,onGrayColorChange:z,onMaterialChange:z,onPanelBackgroundChange:z,onRadiusChange:z,onScalingChange:z,onFontFamilyChange:z,onHeadingFontFamilyChange:z},_e=x.createContext(void 0);var qe=x.forwardRef((e,t)=>x.useContext(_e)===void 0?x.createElement(ye.Tooltip.Provider,{delayDuration:200},x.createElement(ye.Direction.Provider,{dir:"ltr"},x.createElement(Mt,{...e,ref:t}))):x.createElement(Ye,{...e,ref:t}));qe.displayName="Theme";var Mt=x.forwardRef((e,t)=>{let{appearance:n=y.appearance.default,accentColor:o=y.accentColor.default,grayColor:s=y.grayColor.default,material:r=y.material.default,panelBackground:p=y.panelBackground.default,radius:l=y.radius.default,scaling:i=y.scaling.default,fontFamily:a=y.fontFamily.default,headingFontFamily:u,hasBackground:m=y.hasBackground.default,...g}=e;we(e.panelBackground);let[E,T]=ee(n),[B,_]=ee(o),[$,R]=ee(s),I=r!==y.material.default?r:p,[H,G]=ee(I),[W,U]=ee(H),[Q,te]=ee(l),[f,C]=ee(i),[M,K]=ee(a),[q,h]=ee(u);return x.createElement(Ye,{...g,ref:t,isRoot:!0,hasBackground:m,appearance:E,accentColor:B,grayColor:$,material:H,panelBackground:W,radius:Q,scaling:f,fontFamily:M,headingFontFamily:q,onAppearanceChange:T,onAccentColorChange:_,onGrayColorChange:R,onMaterialChange:G,onPanelBackgroundChange:U,onRadiusChange:te,onScalingChange:C,onFontFamilyChange:K,onHeadingFontFamilyChange:h})});Mt.displayName="ThemeRoot";function Tn(){if(typeof navigator>"u")return;let e=navigator.userAgent;if(e.includes("Win"))return"windows";if(e.includes("Mac"))return"macos";if(e.includes("Linux"))return"linux"}var Ye=x.forwardRef((e,t)=>{let n=x.useContext(_e),{asChild:o,isRoot:s,hasBackground:r,appearance:p=e.appearance??n?.appearance??y.appearance.default,accentColor:l=e.accentColor??n?.accentColor??y.accentColor.default,grayColor:i=e.grayColor??n?.resolvedGrayColor??y.grayColor.default,material:a=e.material??n?.material??y.material.default,panelBackground:u=e.panelBackground??n?.panelBackground??y.panelBackground.default,radius:m=e.radius??n?.radius??y.radius.default,scaling:g=e.scaling??n?.scaling??y.scaling.default,fontFamily:E=e.fontFamily??n?.fontFamily??y.fontFamily.default,headingFontFamily:T=e.headingFontFamily??n?.headingFontFamily,onAppearanceChange:B=z,onAccentColorChange:_=z,onGrayColorChange:$=z,onMaterialChange:R=z,onPanelBackgroundChange:I=z,onRadiusChange:H=z,onScalingChange:G=z,onFontFamilyChange:W=z,onHeadingFontFamilyChange:U=z,...Q}=e,te=o?ye.Slot.Root:"div",f=i==="auto"?xt(l):i,C=e.appearance==="light"||e.appearance==="dark",M=r===void 0?s||C:r,K=x.useRef(null),q=(0,Me.useComposedRefs)(t,K),h="data-os"in Q;return(0,Me.useLayoutEffect)(()=>{if(!s||h)return;let F=K.current;if(!F)return;let v=Tn();if(v)return F.setAttribute("data-os",v),()=>F.removeAttribute("data-os")},[s,h]),x.createElement(_e.Provider,{value:x.useMemo(()=>({appearance:p,accentColor:l,grayColor:i,resolvedGrayColor:f,material:a,panelBackground:u,radius:m,scaling:g,fontFamily:E,headingFontFamily:T,onAppearanceChange:B,onAccentColorChange:_,onGrayColorChange:$,onMaterialChange:R,onPanelBackgroundChange:I,onRadiusChange:H,onScalingChange:G,onFontFamilyChange:W,onHeadingFontFamilyChange:U}),[p,l,i,f,a,u,m,g,E,T,B,_,$,R,I,H,G,W,U])},x.createElement(te,{"data-is-root-theme":s?"true":"false","data-accent-color":l,"data-gray-color":f,"data-has-background":M?"true":"false","data-material":a,"data-panel-background":u,"data-radius":m,"data-scaling":g,"data-font-family":E,"data-heading-font-family":T,ref:q,...Q,className:(0,kt.default)("radix-themes",{light:p==="light",dark:p==="dark"},Q.className)}))});Ye.displayName="ThemeImpl";var de=N(require("react")),Ht=require("radix-ui");var Sn=["loud","medium","quiet"],Ne={emphasis:{type:"enum",className:"rt-emphasis",values:Sn,default:void 0}};var Dn=["normal","start","end","both"],ze={trim:{type:"enum",className:"rt-r-lt",values:Dn,responsive:!0}};var En=["left","center","right"],Ie={align:{type:"enum",className:"rt-r-ta",values:En,responsive:!0}};var wn=["wrap","nowrap","pretty","balance"],Le={wrap:{type:"enum",className:"rt-r-tw",values:wn,responsive:!0}};var Be={truncate:{type:"boolean",className:"rt-truncate"}};var kn=["sans","mono","serif"],He={font:{type:"enum",className:"rt-r-ff",values:kn}};var Mn=["thin","extralight","light","regular","medium","semibold","bold","extrabold"],Fe={weight:{type:"enum",className:"rt-r-weight",values:Mn,responsive:!0}};var Nn=["h1","h2","h3","h4","h5","h6"],zn=["0","1","2","3","4","5","6","7","8","9","10","11","12"],Nt={as:{type:"enum",values:Nn,default:"h1"},...se,size:{type:"enum",className:"rt-r-size",values:zn,default:"6",responsive:!0},...He,...Fe,...Ie,...ze,...Be,...Le,...ke,...Ne};var Bt=N(require("classnames"));var In=[],Ln=new Set;function Bn(e){let t=Object.assign({},...e),n=[],o=[],s=new Set;for(let r in t){let p=t[r],l=p.values??In,i={key:r,type:p.type,default:p.default,hasDefault:p.default!==void 0,responsive:"responsive"in p,className:p.className,customProperties:p.customProperties,parseValue:p.parseValue,values:l,valueSet:l.length>0?new Set(l):Ln,enumValueSet:p.type==="enum"?new Set([p.default,...l]):void 0};p.className?(n.push(i),s.add(r)):(i.hasDefault||p.type==="enum")&&o.push(i)}return{styling:n,passthrough:o,stylingKeys:s}}var Hn={children:new WeakMap};function zt(e){let t=Hn;for(let n=0;n<e.length;n++){let o=e[n],s=t.children.get(o);s===void 0&&(s={children:new WeakMap},t.children.set(o,s)),t=s}return t.compiled??(t.compiled=Bn(e))}var Fn=["initial","xs","sm","md","lg","xl"],Xe=new Set(Fn);function Je(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var Vn=new Set(["initial","xs","sm","md","lg","xl"]);function pe(e){if(typeof e!="object"||e===null)return!1;for(let t in e)if(Vn.has(t))return!0;return!1}function Ve(e,t,n){return t!==void 0?t.has(n):e.includes(n)}function Lt({className:e,customProperties:t,...n}){let o=Qe({allowArbitraryValues:!0,className:e,...n}),s=On({customProperties:t,...n});return[o,s]}function Qe({allowArbitraryValues:e,value:t,className:n,propValues:o,propValueSet:s,parseValue:r=p=>p}){if(t){if(typeof t=="string")return Ve(o,s,t)?It(n,t,r):e?n:void 0;if(pe(t)){let p=t,l=[];for(let i in p){if(!Je(p,i)||!Xe.has(i))continue;let a=p[i];if(a!==void 0){if(Ve(o,s,a)){let u=It(n,a,r),m=i==="initial"?u:`${i}:${u}`;l.push(m)}else if(e){let u=i==="initial"?n:`${i}:${n}`;l.push(u)}}}return l.length>0?l.join(" "):""}if(e)return n}}function It(e,t,n){let o=e?"-":"",s=n(t),r=s?.startsWith("-"),p=r?"-":"",l=r?s?.substring(1):s;return`${p}${e}${o}${l}`}function On({customProperties:e,value:t,propValues:n,propValueSet:o,parseValue:s=r=>r}){if(!t||typeof t=="string"&&Ve(n,o,t))return;let r;if(typeof t=="string"){let p=s(t);r={};for(let l of e)r[l]=p;return r}if(pe(t)){let p=t;for(let l in p){if(!Je(p,l)||!Xe.has(l))continue;let i=p[l];if(i===void 0||Ve(n,o,i))continue;let a=s(i);r??(r={});for(let u of e){let m=l==="initial"?u:`${u}-${l}`;r[m]=a}}}return r??{}}function Ze(...e){let t;for(let n of e)n&&(t===void 0&&(t={}),Object.assign(t,n));return t}function An(e,t){let n=e.initial,o=!1;return t.hasDefault&&n===void 0&&(n=t.default,o=!0),t.enumValueSet!==void 0&&!t.enumValueSet.has(n)&&(n=t.default,o=!0),o?{...e,initial:n}:e}function le(e,...t){let{styling:n,passthrough:o,stylingKeys:s}=zt(t),r={};for(let i in e)s.has(i)||(r[i]=e[i]);for(let i=0;i<o.length;i++){let a=o[i],u=r[a.key];if(u===void 0){a.hasDefault&&(r[a.key]=a.default);continue}a.enumValueSet!==void 0&&!a.enumValueSet.has(u)&&!pe(u)&&(r[a.key]=a.default)}let p,l=[];for(let i=0;i<n.length;i++){let a=n[i],u=e[a.key];if(u===void 0&&a.hasDefault&&(u=a.default),a.enumValueSet!==void 0&&!a.enumValueSet.has(u)&&!pe(u)&&(u=a.default),!!u){if(pe(u)){if(!a.responsive)continue;u=An(u,a)}if(a.type==="enum"){let m=Qe({allowArbitraryValues:!1,value:u,className:a.className,propValues:a.values,propValueSet:a.valueSet,parseValue:a.parseValue});m&&l.push(m);continue}if(a.type==="string"||a.type==="enum | string"){let[m,g]=Lt({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});g&&(p=Ze(p,g)),m&&l.push(m);continue}if(a.type==="boolean"){l.push(a.className);continue}}}return r.className=(0,Bt.default)(l.length>0?l.join(" "):void 0,e.className),r.style=Ze(p,e.style),r}var ce=["0","1","2","3","4","5","6","7","8","9","10","11","12","-1","-2","-3","-4","-5","-6","-7","-8","-9","-10","-11","-12"],Oe={m:{type:"enum | string",values:ce,responsive:!0,className:"rt-r-m",customProperties:["--m"]},mx:{type:"enum | string",values:ce,responsive:!0,className:"rt-r-mx",customProperties:["--ml","--mr"]},my:{type:"enum | string",values:ce,responsive:!0,className:"rt-r-my",customProperties:["--mt","--mb"]},mt:{type:"enum | string",values:ce,responsive:!0,className:"rt-r-mt",customProperties:["--mt"]},mr:{type:"enum | string",values:ce,responsive:!0,className:"rt-r-mr",customProperties:["--mr"]},mb:{type:"enum | string",values:ce,responsive:!0,className:"rt-r-mb",customProperties:["--mb"]},ml:{type:"enum | string",values:ce,responsive:!0,className:"rt-r-ml",customProperties:["--ml"]}};var Wn={...Nt,...Oe},et=de.memo(de.forwardRef((e,t)=>{let{children:n,className:o,asChild:s,as:r="h1",color:p,...l}=le(e,Wn),i=o?`rt-Heading ${o}`:"rt-Heading";return s?de.createElement(Ht.Slot.Root,{"data-accent-color":p,...l,ref:t,className:i},n):de.createElement(r,{"data-accent-color":p,...l,ref:t,className:i},n)}));et.displayName="Heading";var ue=N(require("react")),Vt=require("radix-ui");var jn=["span","div","label","p"],Gn=["0","1","2","3","4","5","6","7","8","9","10","11","12"],Ft={as:{type:"enum",values:jn,default:"span"},...se,size:{type:"enum",className:"rt-r-size",values:Gn,responsive:!0},...He,...Fe,...Ie,...ze,...Be,...Le,...ke,...Ne};var Kn={...Ft,...Oe},tt=ue.memo(ue.forwardRef((e,t)=>{let{children:n,className:o,asChild:s,as:r="span",color:p,...l}=le(e,Kn),i=o?`rt-Text ${o}`:"rt-Text";return s?ue.createElement(Vt.Slot.Root,{"data-accent-color":p,...l,ref:t,className:i},n):ue.createElement(r,{"data-accent-color":p,...l,ref:t,className:i},n)}));tt.displayName="Text";var Ae=N(require("react")),nt=e=>{if(!Ae.isValidElement(e))throw Error(`Expected a single React Element child, but got: ${Ae.Children.toArray(e).map(n=>typeof n=="object"&&"type"in n&&typeof n.type=="string"?n.type:typeof n).join(", ")}`);return e};var Ot=N(require("react")),ot=!1;function At(){Ot.useEffect(()=>{if(typeof document>"u"||ot)return;ot=!0;let e=new Set,t=(u,m)=>{let g=setTimeout(()=>{e.delete(g),u()},m);e.add(g)},n=()=>{let u=!!document.querySelector('[role="dialog"][aria-modal="true"], [role="alertdialog"][aria-modal="true"]'),m=!!document.querySelector('[data-radix-popper-content-wrapper], [data-state="open"]');return u||m},o=()=>{document.body.style.pointerEvents==="none"&&(console.log("[KookieUI] Force cleaning stuck pointer-events: none from body"),document.body.style.pointerEvents="",document.body.removeAttribute("data-scroll-locked"),document.body.removeAttribute("data-remove-scroll"),document.body.classList.remove("ReactModal__Body--open"))},s=()=>{document.body.style.pointerEvents==="none"&&!n()&&(console.log("[KookieUI] Safe cleaning stuck pointer-events: none from body"),document.body.style.pointerEvents="")},r=u=>{let m=u.target;m&&!m.closest('[role="dialog"], [role="alertdialog"], [data-radix-popper-content-wrapper]')&&t(o,100)},p=u=>{u.key==="Escape"&&t(o,200)},l=()=>{t(s,50)};document.addEventListener("click",r,!0),document.addEventListener("keydown",p,!0),document.addEventListener("pointerup",l,!0),document.addEventListener("transitionend",l,!0),document.addEventListener("animationend",l,!0);let i=new MutationObserver(()=>{t(s,0)});i.observe(document.body,{childList:!0,subtree:!0,attributes:!0});let a=setInterval(()=>{document.body.style.pointerEvents==="none"&&!n()&&(console.log("[KookieUI] Periodic cleanup of stuck pointer-events"),document.body.style.pointerEvents="")},1e3);return t(s,100),()=>{clearInterval(a),e.forEach(clearTimeout),e.clear(),i.disconnect(),document.removeEventListener("click",r,!0),document.removeEventListener("keydown",p,!0),document.removeEventListener("pointerup",l,!0),document.removeEventListener("transitionend",l,!0),document.removeEventListener("animationend",l,!0),ot=!1}},[])}var rt=e=>P.createElement(oe.Dialog.Root,{...e,modal:!0});rt.displayName="Sheet.Root";var $n=P.forwardRef(({children:e,...t},n)=>P.createElement(oe.Dialog.Trigger,{...t,ref:n,asChild:!0},nt(e)));$n.displayName="Sheet.Trigger";var{align:jr,panelBackground:Un,material:_n,...jt}=Ct,qn={panelBackground:Un,material:_n},{default:Gr,...Yn}=jt.maxWidth,Xn={...jt,maxWidth:Yn},st=P.forwardRef((e,t)=>{let{side:n="start",forceMount:o,container:s,className:r,panelBackground:p,material:l,...i}=e,u={left:"start",right:"end",start:"start",end:"end",top:"top",bottom:"bottom"}[n],{panelBackground:m,material:g}=le({panelBackground:p,material:l},qn);we(p);let E=g??m,{className:T,...B}=le(i,Xn),_=P.useRef(null),$=P.useMemo(()=>R=>{_.current=R,typeof t=="function"?t(R):t&&(t.current=R)},[t]);return At(),P.useEffect(()=>{if(typeof window>"u")return;let R=_.current;if(!R)return;let I=R.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(I.length===0)return;let H=I[0],G=I[I.length-1],W=U=>{U.key==="Tab"&&(U.shiftKey?document.activeElement===H&&(U.preventDefault(),G.focus()):document.activeElement===G&&(U.preventDefault(),H.focus()))};return R.addEventListener("keydown",W),H.focus(),()=>{R.removeEventListener("keydown",W)}},[]),P.createElement(oe.Dialog.Portal,{container:s,forceMount:o},P.createElement(qe,{asChild:!0},P.createElement(oe.Dialog.Overlay,{className:"rt-BaseDialogOverlay rt-DialogOverlay rt-SheetOverlay"},P.createElement(oe.Dialog.Content,{...B,ref:$,className:(0,Wt.default)("rt-BaseDialogContent","rt-SheetContent",r,T),"data-side":u,"data-material":E,"data-panel-background":E,tabIndex:-1,role:"dialog","aria-modal":"true"}))))});st.displayName="Sheet.Content";var at=P.forwardRef(({size:e="4",weight:t="medium",...n},o)=>P.createElement(oe.Dialog.Title,{asChild:!0},P.createElement(et,{ref:o,size:e,weight:t,...n})));at.displayName="Sheet.Title";var Jn=P.forwardRef(({size:e="2",emphasis:t="medium",...n},o)=>P.createElement(oe.Dialog.Description,{asChild:!0},P.createElement(tt,{ref:o,size:e,emphasis:t,...n})));Jn.displayName="Sheet.Description";var Qn=P.forwardRef(({children:e,...t},n)=>P.createElement(oe.Dialog.Close,{...t,ref:n,asChild:!0},nt(e)));Qn.displayName="Sheet.Close";var it=require("radix-ui"),Gt=it.VisuallyHidden.Root,Kr=it.VisuallyHidden.Root;var D=N(require("react")),eo=D.createContext(null);function pt(){let e=D.useContext(eo);if(!e)throw new Error("Shell components must be used within <Shell.Root>");return e}var Ur=D.createContext(null);var _r=D.createContext(null);var qr=D.createContext(null);var to=D.createContext(null);function Kt(){let e=D.useContext(to);if(!e)throw new Error("useInspectorMode must be used within Shell.Root");return e}var Yr=D.createContext(null);var no=D.createContext(null);function $t(){let e=D.useContext(no);if(!e)throw new Error("usePresentation must be used within Shell.Root");return e}var oo=D.createContext(null);function Ut(){let e=D.useContext(oo);if(!e)throw new Error("usePeek must be used within Shell.Root");return e}var ro=D.createContext(null);function _t(){let e=D.useContext(ro);if(!e)throw new Error("useShellActions must be used within Shell.Root");return e}var Xr=D.createContext(null);var so=D.createContext(null);function qt(){let e=D.useContext(so);if(!e)throw new Error("useInset must be used within Shell.Root");return e}var O=N(require("react"));var lt={xs:"(min-width: 520px)",sm:"(min-width: 768px)",md:"(min-width: 1024px)",lg:"(min-width: 1280px)",xl:"(min-width: 1640px)"};function Xt(e){let{currentBreakpoint:t}=pt();return O.useMemo(()=>{if(typeof e=="string")return e;if(e[t])return e[t];let o=[...Object.keys(lt)].reverse().concat("initial"),s=o.indexOf(t);for(let r=s+1;r<o.length;r++){let p=o[r];if(e[p])return e[p]}return"fixed"},[e,t])}function Yt(e){let{currentBreakpoint:t}=pt();return O.useMemo(()=>{if(e==null)return;if(typeof e!="object")return e;let n=e;if(n[t]!==void 0)return n[t];let s=[...Object.keys(lt)].reverse().concat("initial"),r=s.indexOf(t);for(let p=r+1;p<s.length;p++){let l=s[p];if(n[l]!==void 0)return n[l]}},[e,t])}function Jt({controlledValue:e,defaultValue:t,currentValue:n,setValue:o,breakpointReady:s,onInit:r,onResponsiveChange:p,controlledIsResponsive:l=!1}){let i=Yt(e),a=Yt(t),u=O.useRef(void 0),m=O.useRef(null),g=O.useRef(i),E=O.useRef(n),T=O.useRef(o);O.useLayoutEffect(()=>{g.current=i,E.current=n,T.current=o}),O.useEffect(()=>{if(i===void 0)return;let $=u.current!==i;if(u.current=i,n===i){m.current&&(clearTimeout(m.current),m.current=null),l&&p?.(i);return}if($){m.current&&(clearTimeout(m.current),m.current=null),o(i),l&&p?.(i);return}m.current||(m.current=setTimeout(()=>{m.current=null;let R=g.current,I=E.current;R!==void 0&&I!==R&&T.current(R)},0))},[i,n,o,p,l]),O.useEffect(()=>()=>{m.current&&(clearTimeout(m.current),m.current=null)},[]);let B=O.useRef(!1);return O.useEffect(()=>{B.current||s&&(typeof e<"u"||a!==void 0&&(B.current=!0,n!==a&&o(a),r?.(a)))},[s,e,a,n,o,r]),{resolvedControlled:i,resolvedDefault:a}}var We=N(require("react")),ct=We.createContext(null);function Qt(){let e=We.useContext(ct);if(!e)throw new Error("Shell.Handle must be used within a resizable pane");return e}var A=N(require("react")),Zt=N(require("classnames"));var me=A.forwardRef(({className:e,children:t,...n},o)=>{let{containerRef:s,cssVarName:r,minSize:p,maxSize:l,defaultSize:i,orientation:a,edge:u,computeNext:m,onResize:g,onResizeStart:E,onResizeEnd:T,snapPoints:B,snapTolerance:_,collapseThreshold:$,collapsible:R,target:I,requestCollapse:H,requestToggle:G}=Qt(),W=A.useRef(null);A.useEffect(()=>()=>{try{W.current?.()}catch{}W.current=null},[]);let U=a,te=`Resize ${I.charAt(0).toUpperCase()+I.slice(1)} pane`;return A.createElement("div",{...n,ref:o,className:(0,Zt.default)("rt-ShellResizer",e),"data-orientation":a,"data-edge":u,role:"slider","aria-label":te,"aria-orientation":U,"aria-valuemin":p,"aria-valuemax":l,"aria-valuenow":i,tabIndex:0,onPointerDown:f=>{if(!s.current)return;f.preventDefault();let C=s.current,M=f.currentTarget,K=f.pointerId;try{W.current?.()}catch{}C.setAttribute("data-resizing","");try{M.setPointerCapture(K)}catch{}let q=a==="vertical"?f.clientX:f.clientY,h=parseFloat(getComputedStyle(C).getPropertyValue(r)||`${i}`),F=S=>Math.min(Math.max(S,p),l),v=document.body,w=v.style.cursor,Z=v.style.userSelect;v.style.cursor=a==="vertical"?"col-resize":"row-resize",v.style.userSelect="none",E?.(h);let ae=null,re=!1,Pe=(S,X)=>{if(S.type===X)re=!0;else if(re)return!1;return!0},j=S=>{if(!Pe(S,"pointermove")||S===ae)return;ae=S;let X=a==="vertical"?S.clientX:S.clientY,J=F(m(X,q,h));C.style.setProperty(r,`${J}px`),M.setAttribute("aria-valuenow",String(J)),g?.(J)},ge=()=>{try{M.releasePointerCapture(K)}catch{}window.removeEventListener("pointermove",j),document.removeEventListener("pointermove",j),window.removeEventListener("mousemove",j),document.removeEventListener("mousemove",j),M.removeEventListener("pointermove",j),window.removeEventListener("pointerup",V),document.removeEventListener("pointerup",V),window.removeEventListener("mouseup",V),document.removeEventListener("mouseup",V),window.removeEventListener("pointercancel",V),document.removeEventListener("pointercancel",V),window.removeEventListener("keydown",he),M.removeEventListener("lostpointercapture",V),C.removeAttribute("data-resizing"),v.style.cursor=w,v.style.userSelect=Z,W.current=null},Y=!1,V=()=>{if(Y)return;Y=!0;let S=parseFloat(getComputedStyle(C).getPropertyValue(r)||`${i}`),X=S;if(B&&B.length){let J=B.reduce((fe,be)=>Math.abs(be-S)<Math.abs(fe-S)?be:fe,B[0]);Math.abs(J-S)<=(_??8)&&(X=J,C.style.setProperty(r,`${X}px`),M.setAttribute("aria-valuenow",String(X)),g?.(X))}R&&typeof $=="number"&&S<=$&&H?.(),T?.(X),ge()},he=S=>{S.key==="Escape"&&(C.style.setProperty(r,`${h}px`),M.setAttribute("aria-valuenow",String(h)),T?.(h),ge())};window.addEventListener("pointermove",j),document.addEventListener("pointermove",j),window.addEventListener("mousemove",j),document.addEventListener("mousemove",j),M.addEventListener("pointermove",j),window.addEventListener("pointerup",V),document.addEventListener("pointerup",V),window.addEventListener("mouseup",V),document.addEventListener("mouseup",V),window.addEventListener("pointercancel",V),document.addEventListener("pointercancel",V),window.addEventListener("keydown",he),M.addEventListener("lostpointercapture",V),W.current=ge},onDoubleClick:()=>{R&&G?.()},onKeyDown:f=>{if(!s.current)return;let C=s.current,M=getComputedStyle(C).getPropertyValue(r),K=Number.parseFloat(M.trim()),q=Number.isFinite(K)?K:i,h=w=>Math.min(Math.max(w,p),l),F=f.shiftKey?32:8,v=0;if(a==="vertical"){let w=typeof document<"u"?document.dir:void 0,Z=getComputedStyle(C).direction,ae=!!(C.closest&&C.closest('[dir="rtl"]')),re=w==="rtl"||Z==="rtl"||ae;f.key==="ArrowRight"?v=re?-F:F:f.key==="ArrowLeft"&&(v=re?F:-F)}else f.key==="ArrowDown"?v=F:f.key==="ArrowUp"&&(v=-F);if(f.key==="Home"){f.preventDefault(),E?.(q);let w=h(p);C.style.setProperty(r,`${w}px`),f.currentTarget.setAttribute("aria-valuenow",String(w)),g?.(w),T?.(w);return}if(f.key==="End"){f.preventDefault(),E?.(q);let w=h(l);C.style.setProperty(r,`${w}px`),f.currentTarget.setAttribute("aria-valuenow",String(w)),g?.(w),T?.(w);return}if(v!==0){f.preventDefault(),E?.(q);let w=a==="vertical"&&u==="start"?-v:v,Z=h(q+w);C.style.setProperty(r,`${Z}px`),f.currentTarget.setAttribute("aria-valuenow",String(Z)),g?.(Z),T?.(Z)}}},t)});me.displayName="Shell.Handle";var ao=A.forwardRef((e,t)=>A.createElement(me,{...e,ref:t}));ao.displayName="Shell.Panel.Handle";var io=A.forwardRef((e,t)=>A.createElement(me,{...e,ref:t}));io.displayName="Shell.Sidebar.Handle";var Re=A.forwardRef((e,t)=>A.createElement(me,{...e,ref:t}));Re.displayName="Shell.Inspector.Handle";var po=A.forwardRef((e,t)=>A.createElement(me,{...e,ref:t}));po.displayName="Shell.Bottom.Handle";function lo(e,t){let n=new Set(t),o={};return Object.keys(e).forEach(s=>{n.has(s)||(o[s]=e[s])}),o}var en=["presentation","expandedSize","minSize","maxSize","resizable","collapsible","onExpand","onCollapse","onResize","resizer","onResizeStart","onResizeEnd","snapPoints","snapTolerance","collapseThreshold","paneId","persistence","inset"];function tn(e,t){let n=t?[...en,...t]:[...en];return lo(e,n)}function dt(e){if(e!=null){if(typeof e=="object"){let t={};return Object.entries(e).forEach(([n,o])=>{typeof o=="boolean"&&(t[n]=o?"expanded":"collapsed")}),t}return e?"expanded":"collapsed"}}function nn(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 s=Number.parseFloat(getComputedStyle(document.documentElement).fontSize||"16")||16;return Number.parseFloat(n)*s}if(n.endsWith("%")){let s=Number.parseFloat(n),r=t==="horizontal"?document.documentElement.clientWidth||window.innerWidth||0:document.documentElement.clientHeight||window.innerHeight||0;return s/100*r}let o=Number.parseFloat(n);return Number.isFinite(o)?o:void 0}var co=["className","children","defaultOpen","open","onOpenChange","size","defaultSize","onSizeChange","sizeUpdate","sizeUpdateMs","style","inset"],ut=d.forwardRef((e,t)=>{let{className:n,presentation:o={initial:"overlay",lg:"fixed"},defaultOpen:s,open:r,onOpenChange:p,expandedSize:l=320,minSize:i=200,maxSize:a=500,resizable:u=!1,collapsible:m=!0,onExpand:g,onCollapse:E,onResize:T,onResizeStart:B,onResizeEnd:_,snapPoints:$,snapTolerance:R,collapseThreshold:I,paneId:H,persistence:G,children:W,style:U,onSizeChange:Q,sizeUpdate:te,sizeUpdateMs:f=50,size:C,defaultSize:M,inset:K}=e,q=tn(e,co),{inspectorMode:h,setInspectorMode:F}=Kt(),{currentBreakpointReady:v}=$t(),{peekTarget:w}=Ut(),{togglePane:Z}=_t(),{registerInset:ae,unregisterInset:re}=qt();d.useLayoutEffect(()=>{if(K)return ae("inspector"),()=>re("inspector")},[K,ae,re]);let Pe=Xt(o),j=Pe==="overlay",ge=Pe==="stacked",Y=d.useRef(null),V=d.useCallback(c=>{Y.current=c,typeof t=="function"?t(c):t&&(t.current=c)},[t]),he=d.Children.toArray(W),S=he.filter(c=>d.isValidElement(c)&&c.type===Re),X=he.filter(c=>!(d.isValidElement(c)&&c.type===Re)),J=d.useRef(p),fe=d.useRef(r);d.useLayoutEffect(()=>{J.current=p,fe.current=r});let be=d.useMemo(()=>dt(r),[r]),rn=d.useMemo(()=>dt(s),[s]),sn=typeof r=="object"&&r!==null,{resolvedControlled:ve}=Jt({controlledValue:be,defaultValue:rn,currentValue:h,setValue:F,breakpointReady:v,controlledIsResponsive:sn,onResponsiveChange:c=>J.current?.(c==="expanded",{reason:"responsive"}),onInit:c=>{typeof fe.current>"u"&&J.current?.(c==="expanded",{reason:"init"})}}),ie=d.useRef(null);d.useEffect(()=>()=>{ie.current&&(clearTimeout(ie.current),ie.current=null)},[Q,te,f]);let Ce=d.useMemo(()=>{let c=Q,k=te,L=f??50;if(!c)return()=>{};if(k==="debounce")return(b,ne)=>{ie.current&&clearTimeout(ie.current),ie.current=setTimeout(()=>{c(b,ne),ie.current=null},L)};if(k==="throttle"){let b=0;return(ne,ht)=>{let vt=Date.now();vt-b>=L&&(b=vt,c(ne,ht))}}return(b,ne)=>c(b,ne)},[Q,te,f]),xe=d.useRef(null);d.useEffect(()=>{let c=typeof r<"u";if(xe.current===null){xe.current=c;return}xe.current!==c&&(console.warn("Shell.Inspector: Switching between controlled and uncontrolled `open` is not supported."),xe.current=c)},[r]);let mt=d.useRef(null),ft=d.useRef(void 0);d.useEffect(()=>{let c=mt.current,L=ft.current!==ve;if(c!==null&&c!==h){let b=h==="expanded";(!(typeof fe.current<"u")||!L&&b!==(ve===void 0?void 0:ve==="expanded"))&&J.current?.(b,{reason:"toggle"})}mt.current=h,ft.current=ve},[h,ve]);let yt=d.useRef(g),Pt=d.useRef(E);d.useLayoutEffect(()=>{yt.current=g,Pt.current=E});let Te=d.useRef(null),gt=d.useRef(!1);d.useEffect(()=>{let c=h;if(!v){Te.current=c;return}if(!gt.current){gt.current=!0,Te.current=c;return}let k=Te.current;k!==null&&k!==c&&(c==="expanded"?yt.current?.():c==="collapsed"&&Pt.current?.(),Te.current=c)},[h,v]);let je=h==="expanded",Se=d.useMemo(()=>{if(!H||G)return G;let c=`kookie-ui:shell:inspector:${H}`;return{load:()=>{if(!(typeof window>"u"))try{let L=window.localStorage.getItem(c);return L?Number(L):void 0}catch{return}},save:L=>{if(!(typeof window>"u"))try{window.localStorage.setItem(c,String(L))}catch{}}}},[H,G]);d.useEffect(()=>{let c=!0;if(!u||!Se?.load||j)return;let k=Se.load(),L=b=>{!c||typeof b!="number"||!Y.current||(Y.current.style.setProperty("--inspector-size",`${b}px`),T?.(b))};return k instanceof Promise?k.then(L).catch(b=>{}):L(k),()=>{c=!1}},[u,Se,T,j]);let an=u&&!j&&je?d.createElement(ct.Provider,{value:{containerRef:Y,cssVarName:"--inspector-size",minSize:i,maxSize:a,defaultSize:l,orientation:"vertical",edge:"start",computeNext:(c,k,L)=>{let b=getComputedStyle(Y.current).direction==="rtl",ne=c-k;return L+(b?ne:-ne)},onResize:T,onResizeStart:B,onResizeEnd:c=>{_?.(c),Ce(c,{reason:"resize"}),Se?.save?.(c)},target:"inspector",collapsible:m,snapPoints:$,snapTolerance:R??8,collapseThreshold:I,requestCollapse:()=>F("collapsed"),requestToggle:()=>Z("inspector")}},S.length>0?S.map((c,k)=>d.cloneElement(c,{key:c.key??k})):d.createElement(me,null)):null,Ge=d.useCallback(c=>nn(c,"horizontal"),[]);d.useEffect(()=>{if(Y.current&&typeof C>"u"&&typeof M<"u"){let c=Ge(M);if(typeof c=="number"&&Number.isFinite(c)){let b=Math.min((typeof a=="number"?a:void 0)??c,Math.max((typeof i=="number"?i:void 0)??c,c));Y.current.style.setProperty("--inspector-size",`${b}px`),Ce(b,{reason:"init"})}}},[]);let Ke=C;return d.useEffect(()=>{if(!Y.current||typeof Ke>"u")return;let c=Ge(Ke);if(typeof c=="number"&&Number.isFinite(c)){let b=Math.min((typeof a=="number"?a:void 0)??c,Math.max((typeof i=="number"?i:void 0)??c,c));Y.current.style.setProperty("--inspector-size",`${b}px`),Ce(b,{reason:"controlled"})}},[Ke,i,a,Ge,Ce]),j?d.createElement(rt,{open:h==="expanded",onOpenChange:k=>F(k?"expanded":"collapsed")},d.createElement(st,{side:"end",style:{padding:0},"aria-label":"Inspector","aria-describedby":void 0,width:{initial:`${l}px`}},d.createElement(Gt,null,d.createElement(at,null,"Inspector")),X)):d.createElement("div",{...q,ref:V,className:(0,on.default)("rt-ShellInspector",n),"data-mode":h,"data-peek":w==="inspector"||void 0,"data-presentation":v?Pe:void 0,"data-open":v&&ge&&je||void 0,"data-inset":K||void 0,style:{...U,"--inspector-size":`${l}px`,"--inspector-min-size":`${i}px`,"--inspector-max-size":`${a}px`}},d.createElement("div",{className:"rt-ShellInspectorContent","data-visible":je||void 0},X),an)});ut.displayName="Shell.Inspector";ut.Handle=Re;
|
|
1
|
+
"use strict";"use client";var an=Object.create;var ce=Object.defineProperty;var sn=Object.getOwnPropertyDescriptor;var ln=Object.getOwnPropertyNames;var un=Object.getPrototypeOf,cn=Object.prototype.hasOwnProperty;var dn=(e,n)=>{for(var t in n)ce(e,t,{get:n[t],enumerable:!0})},Me=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of ln(n))!cn.call(e,o)&&o!==t&&ce(e,o,{get:()=>n[o],enumerable:!(r=sn(n,o))||r.enumerable});return e};var J=(e,n,t)=>(t=e!=null?an(un(e)):{},Me(n||!e||!e.__esModule?ce(t,"default",{value:e,enumerable:!0}):t,e)),pn=e=>Me(ce({},"__esModule",{value:!0}),e);var Ln={};dn(Ln,{Inspector:()=>Ce});module.exports=pn(Ln);var _=J(require("react")),en=J(require("classnames")),nn=require("radix-ui/internal");var de=J(require("react")),ve=de.createContext(null);function Be(){let e=de.useContext(ve);if(!e)throw new Error("Shell.Handle must be used within a resizable pane");return e}var h=J(require("react")),Oe=J(require("classnames"));var ee=h.forwardRef(({className:e,children:n,...t},r)=>{let{containerRef:o,controls:p,cssVarName:b,minSize:V,maxSize:w,defaultSize:E,orientation:P,edge:A,growth:v,onResize:T,onResizeStart:Y,onResizeEnd:M,snapPoints:L,snapTolerance:g,collapseThreshold:B,collapsible:N,target:D,requestCollapse:U,requestToggle:O}=Be(),I=h.useRef(null),q=h.useCallback(i=>{I.current=i,typeof r=="function"?r(i):r&&(r.current=i)},[r]),a=h.useRef(null);h.useEffect(()=>()=>{a.current?.(),a.current=null},[]);let u=h.useCallback(()=>{let i=o.current;if(!i)return E;let c=Number.parseFloat(getComputedStyle(i).getPropertyValue(b));return Number.isFinite(c)?c:E},[o,b,E]),y=h.useCallback(()=>{let i=o.current,c=I.current,f=i?.closest(".rt-ShellRoot")?.getBoundingClientRect();if(!i||!f||!c)return w;let R=i.getBoundingClientRect(),k=c.getBoundingClientRect(),C=v(getComputedStyle(i).direction==="rtl"),m;P==="vertical"?m=C>0?f.right-R.left:R.right-f.left:m=C>0?f.bottom-R.top:R.bottom-f.top;let W=P==="vertical"?k.width:k.height;return!(f.width>0&&f.height>0)||!Number.isFinite(m)?w:Math.max(V,Math.min(w,Math.round(m-W)))},[o,v,w,V,P]),S=()=>{I.current?.setAttribute("aria-valuemax",String(y()))};h.useLayoutEffect(()=>{I.current?.setAttribute("aria-valuenow",String(Math.round(u())))},[u]);let x=(i,c)=>{i.style.setProperty(b,`${c}px`),I.current?.setAttribute("aria-valuenow",String(Math.round(c)))},K=D.charAt(0).toUpperCase()+D.slice(1);return h.createElement("div",{ref:q,className:(0,Oe.default)("rt-ShellResizer",e),"data-orientation":P,"data-edge":A,role:"separator",tabIndex:0,"aria-label":`Resize ${K} pane`,"aria-controls":p,"aria-orientation":P,"aria-valuemin":V,"aria-valuemax":w,...t,onPointerDown:i=>{t.onPointerDown?.(i);let c=o.current;if(!c||i.defaultPrevented||i.button!==0)return;i.preventDefault();let f=i.currentTarget,R=i.pointerId;a.current?.();try{f.setPointerCapture(R)}catch{}let k=getComputedStyle(c),C=Number.parseFloat(k.getPropertyValue(b)),m=Number.isFinite(C)?C:E,W=P==="vertical"?i.clientX:i.clientY,s=v(k.direction==="rtl"),$=y();f.setAttribute("aria-valuemax",String($));let Q=z=>Math.min(Math.max(z,V),$);c.setAttribute("data-resizing",""),f.setAttribute("data-dragging","");let G=document.body,tn=G.style.cursor,rn=G.style.userSelect;G.style.cursor=P==="vertical"?"col-resize":"row-resize",G.style.userSelect="none",Y?.(m);let Z=m,Re=m,j=0,oe=null,Te=()=>{if(j=0,oe===null)return;let z=oe;oe=null,T?.(z)},Le=null,ke=!1,on=(z,te)=>{if(z.type===te)ke=!0;else if(ke)return!1;return!0},X=z=>{if(!on(z,"pointermove")||z===Le)return;Le=z;let te=P==="vertical"?z.clientX:z.clientY;Re=m+(te-W)*s,Z=Q(Re),x(c,Z),oe=Z,j||(j=requestAnimationFrame(Te))},ue=()=>{j&&cancelAnimationFrame(j),j=0;try{f.releasePointerCapture(R)}catch{}window.removeEventListener("pointermove",X),document.removeEventListener("pointermove",X),window.removeEventListener("mousemove",X),document.removeEventListener("mousemove",X),f.removeEventListener("pointermove",X),window.removeEventListener("pointerup",H),document.removeEventListener("pointerup",H),window.removeEventListener("mouseup",H),document.removeEventListener("mouseup",H),window.removeEventListener("pointercancel",H),document.removeEventListener("pointercancel",H),window.removeEventListener("keydown",Ve),f.removeEventListener("lostpointercapture",H),c.removeAttribute("data-resizing"),f.removeAttribute("data-dragging"),G.style.cursor=tn,G.style.userSelect=rn,a.current=null},he=!1,H=()=>{if(he)return;if(he=!0,j&&cancelAnimationFrame(j),Te(),N&&typeof B=="number"&&Re<=B){x(c,m),T?.(m),ue(),U?.(),M?.(m);return}let z=Z;if(L&&L.length){let te=L.reduce((Ne,Ie)=>Math.abs(Ie-Z)<Math.abs(Ne-Z)?Ie:Ne,L[0]);Math.abs(te-Z)<=g&&(z=Q(te),x(c,z),T?.(z))}M?.(z),ue()},Ve=z=>{z.key==="Escape"&&(j&&cancelAnimationFrame(j),j=0,oe=null,x(c,m),T?.(m),he=!0,M?.(m),ue())};window.addEventListener("pointermove",X),document.addEventListener("pointermove",X),window.addEventListener("mousemove",X),document.addEventListener("mousemove",X),f.addEventListener("pointermove",X),window.addEventListener("pointerup",H),document.addEventListener("pointerup",H),window.addEventListener("mouseup",H),document.addEventListener("mouseup",H),window.addEventListener("pointercancel",H),document.addEventListener("pointercancel",H),window.addEventListener("keydown",Ve),f.addEventListener("lostpointercapture",H),a.current=ue},onDoubleClick:i=>{t.onDoubleClick?.(i),!i.defaultPrevented&&N&&O?.()},onFocus:i=>{t.onFocus?.(i),S()},onKeyDown:i=>{t.onKeyDown?.(i);let c=o.current;if(!c||i.defaultPrevented)return;let f=u(),R=y(),k=m=>Math.min(Math.max(m,V),R),C;if(i.key==="Home")C=k(V);else if(i.key==="End")C=k(R);else{let m=P==="vertical"?i.key==="ArrowRight"?1:i.key==="ArrowLeft"?-1:0:i.key==="ArrowDown"?1:i.key==="ArrowUp"?-1:0;if(m===0)return;let W=i.shiftKey?32:8;C=k(f+m*W*v(getComputedStyle(c).direction==="rtl"))}i.preventDefault(),Y?.(f),x(c,C),T?.(C),M?.(C)}},n)});ee.displayName="Shell.Handle";var fn=h.forwardRef((e,n)=>h.createElement(ee,{...e,ref:n}));fn.displayName="Shell.Panel.Handle";var mn=h.forwardRef((e,n)=>h.createElement(ee,{...e,ref:n}));mn.displayName="Shell.Sidebar.Handle";var pe=h.forwardRef((e,n)=>h.createElement(ee,{...e,ref:n}));pe.displayName="Shell.Inspector.Handle";var bn=h.forwardRef((e,n)=>h.createElement(ee,{...e,ref:n}));bn.displayName="Shell.Bottom.Handle";var d=J(require("react"));var ie=J(require("react"));var He={xs:"(min-width: 520px)",sm:"(min-width: 768px)",md:"(min-width: 1024px)",lg:"(min-width: 1280px)",xl:"(min-width: 1640px)"},fe=["initial","xs","sm","md","lg","xl"];var Rn=Object.entries(He),ge=null,ae=new Set,ne=null;function Pe(){return ge??(ge=Rn.map(([e,n])=>[e,window.matchMedia(n)])),ge}function be(){let e="initial";for(let[n,t]of Pe())t.matches&&(e=n);return e}function me(){let e=be();e!==ne&&(ne=e,ae.forEach(n=>n()))}function Ae(e){if(typeof window>"u")return()=>{};if(ae.size===0){ne=be();for(let[,n]of Pe())typeof n.addEventListener=="function"?n.addEventListener("change",me):n.addListener?.(me)}return ae.add(e),()=>{if(ae.delete(e),!(ae.size>0)){for(let[,n]of Pe())try{typeof n.removeEventListener=="function"?n.removeEventListener("change",me):n.removeListener?.(me)}catch{}ne=null}}}function hn(){return typeof window>"u"?"initial":(ne??(ne=be()),ne)}function vn(){return"initial"}function se(){return typeof window>"u"?"initial":be()}var gn=()=>!0,Pn=()=>!1,De=()=>()=>{},yn=()=>"initial";function $e(e=!0){let n=ie.useSyncExternalStore(e?Ae:De,e?hn:yn,vn),t=ie.useSyncExternalStore(e?Ae:De,gn,Pn);return ie.useMemo(()=>({breakpoint:n,ready:t}),[n,t])}var F=J(require("react"));function Fe(e){return typeof e=="object"&&e!==null}function le(e,n){let t={},r=null;for(let o of fe){if(e!==void 0&&!Fe(e)){t[o]=e;continue}let p=Fe(e)?e[o]:void 0;p!==void 0&&(r={value:p}),t[o]=r?r.value:n(o)}return t}function re(e){let n=e.initial;return fe.every(t=>e[t]===n)?n:void 0}function ye(e,n){let t=re(n);if(t!==void 0)return{[`data-${e}`]:t};let r={};for(let o of fe)r[`data-${e}-${o}`]=n[o];return r}function Se(e){return typeof e=="object"&&e!==null?JSON.stringify(e):String(e)}var An=le("fixed",()=>"fixed");function xe(e){e.version+=1;for(let n of e.listeners)n()}function Sn(e,n){return e.listeners.add(n),()=>{e.listeners.delete(n)}}var xn=F.createContext(null);function Ue(e){let n=F.useContext(xn);if(!n)throw new Error(`${e} must be used within <Shell.Root>`);return n}function je(e,n){let t=F.useCallback(r=>Sn(e,r),[e]);return F.useSyncExternalStore(t,()=>e.peek===n,()=>!1)}var En=F.createContext(null);function _e(e,n){let t=F.useContext(En);if(!t)throw new Error("Shell panes must be used within <Shell.Root>");let{registerInset:r,unregisterInset:o}=t;F.useLayoutEffect(()=>{if(n)return r(e),()=>o(e)},[e,n,r,o])}var Ee=e=>typeof e=="object"&&e!==null;function wn(e){for(let n of["initial","xs","sm","md","lg","xl"]){let t=e[n];if(t!==void 0)return t}return"closed"}function qe(e){let{name:n,label:t,propNames:r,presentationTable:o,builtIn:p}=e,b=Ue(`Shell.${t}`),V=d.useId(),w=e.id??`shell-${n}${V}`,E=e.controlled!==void 0,P=Ee(e.controlled);P&&(`${t}${r.controlled}${r.default}`,void 0);let A=P?e.controlled:void 0,v=A??(Ee(e.defaultValue)?e.defaultValue:void 0),T=Se(v),[Y,M]=d.useState(()=>typeof e.defaultValue=="string"?e.defaultValue:"auto"),L=d.useMemo(()=>A?le(A,()=>wn(A)):le(v,s=>p(o[s])),[T,P,o,p]),g=Y;E&&(g=A?"auto":e.controlled);let B=re(o)===void 0||g==="auto"&&re(L)===void 0,{breakpoint:N,ready:D}=$e(B),U=s=>{let $=re(s);return $!==void 0?$:D?s[N]:void 0},O=g==="auto"?U(L):g,I=U(o),q=I==="overlay",a=O===void 0?void 0:O!=="closed",u=a===!0&&q,y=e.defaultValue,S=d.useRef({state:g,value:O,autoTable:L,defaultValue:y,controlled:E,onChange:e.onChange,toggleNext:e.toggleNext});d.useLayoutEffect(()=>{S.current={state:g,value:O,autoTable:L,defaultValue:y,controlled:E,onChange:e.onChange,toggleNext:e.toggleNext}});let x=d.useCallback(()=>{let s=S.current;return s.value!==void 0?s.value:s.state==="auto"?s.autoTable[se()]:void 0},[]),K=d.useCallback(()=>{let s=S.current;return typeof s.defaultValue=="string"?s.defaultValue:Ee(s.defaultValue)?s.autoTable[se()]:void 0},[]),i=d.useCallback((s,$)=>{let Q=S.current;x()!==s&&(Q.onChange?.(s,$),Q.controlled||M(s))},[x]),c=d.useCallback(s=>{let $=S.current,Q=x()??"closed",G=$.toggleNext?$.toggleNext(Q,K()):Q==="closed"?"open":"closed";i(G,s)},[i,x,K]),f=d.useRef(null),R=d.useCallback(s=>{f.current=s},[]);d.useLayoutEffect(()=>{let s={name:n,id:w,el:f.current,value:O,presentation:I,presentationTable:o,overlayLive:u,size:e.size,setValue:i,toggle:c};return b.entries.set(n,s),xe(b),()=>{b.entries.get(n)===s&&(b.entries.delete(n),xe(b))}},[b,n,w,O,I,o,u,e.size,i,c]);let k=d.useRef({onExpand:e.onExpand,onCollapse:e.onCollapse});d.useLayoutEffect(()=>{k.current={onExpand:e.onExpand,onCollapse:e.onCollapse}});let C=d.useRef({state:g,shown:a});d.useEffect(()=>{let s=C.current;s.state!==g&&s.shown!==void 0&&a!==void 0&&s.shown!==a&&(a?k.current.onExpand?.():k.current.onCollapse?.()),C.current={state:g,shown:a}},[g,a]),d.useLayoutEffect(()=>{},[]);let m=d.useRef(E);d.useEffect(()=>{},[E,t,r.controlled]);let W=je(b,n)&&a===!1&&!q;return{store:b,id:w,state:g,value:O,shown:a,presentation:I,overlaying:q,overlayLive:u,peeking:W,ready:D,breakpoint:N,autoTable:L,setValue:i,toggle:c,defaultHereNow:K,setElement:R}}function Ke(e,n){let{state:t,value:r,presentation:o,shown:p}=e;return{...n,"data-state":t==="thin"?"open":t,"data-thin":t==="thin"?"":void 0,...t==="auto"?ye("auto",e.autoTable):{},"data-presentation":o,"data-mode":r===void 0?void 0:r==="closed"?"collapsed":r==="thin"?"thin":"expanded","data-open":o==="stacked"&&p?"":void 0,"data-peek":e.peeking?"":void 0}}function We(e,n){let t=Se(e),r=d.useMemo(()=>le(e,()=>n),[t,n]),o=d.useMemo(()=>re(r)===void 0?ye("presentation",r):{},[r]);return{table:r,attributes:o}}var l=J(require("react"));function Qe(e,n="horizontal"){if(e==null)return;if(typeof e=="number"&&Number.isFinite(e))return e;let t=String(e).trim();if(!t)return;if(t.endsWith("px"))return Number.parseFloat(t);if(t.endsWith("rem")){let o=Number.parseFloat(getComputedStyle(document.documentElement).fontSize||"16")||16;return Number.parseFloat(t)*o}if(t.endsWith("%")){let o=Number.parseFloat(t),p=n==="horizontal"?document.documentElement.clientWidth||window.innerWidth||0:document.documentElement.clientHeight||window.innerHeight||0;return o/100*p}let r=Number.parseFloat(t);return Number.isFinite(r)?r:void 0}var ze=(e,n,t)=>Math.max(n??e,Math.min(t??e,e));function Ge(e){let{name:n,elementRef:t,cssVarName:r,orientation:o,minSize:p,maxSize:b,resizable:V,size:w,defaultSize:E,paneId:P,persistence:A}=e,v=l.useRef(e);l.useLayoutEffect(()=>{v.current=e});let T=l.useRef(null),Y=l.useRef(0);l.useEffect(()=>()=>{T.current&&clearTimeout(T.current)},[]);let M=l.useCallback((a,u)=>{let{onSizeChange:y,sizeUpdate:S,sizeUpdateMs:x}=v.current;if(y){if(S==="debounce"){T.current&&clearTimeout(T.current),T.current=setTimeout(()=>{T.current=null,v.current.onSizeChange?.(a,u)},x);return}if(S==="throttle"){let K=Date.now();if(K-Y.current<x)return;Y.current=K}y(a,u)}},[]),L=l.useCallback(a=>Qe(a,o==="vertical"?"horizontal":"vertical"),[o]),g=l.useRef(!1),B=l.useCallback((a,u)=>{let y=t.current;if(y){y.style.setProperty(r,`${a}px`);for(let S of y.querySelectorAll(":scope > .rt-ShellResizer"))S.setAttribute("aria-valuenow",String(Math.round(a)));u&&(g.current=!0)}},[t,r]);l.useLayoutEffect(()=>{g.current||B(e.expandedSize,!1)},[e.expandedSize,B]),l.useLayoutEffect(()=>{if(w!==void 0||E===void 0)return;let a=L(E);if(typeof a!="number"||!Number.isFinite(a))return;let u=ze(a,p,b);B(u,!0),M(u,{reason:"init"})},[]),l.useLayoutEffect(()=>{if(w===void 0||v.current.overlayingNow())return;let a=L(w);if(typeof a!="number"||!Number.isFinite(a))return;let u=ze(a,p,b);B(u,!0),M(u,{reason:"controlled"})},[w,p,b,e.overlaying,L,B,M]);let N=l.useMemo(()=>{if(!P||A)return A;let a=`kookie-ui:shell:${n}:${P}`;return{load:()=>{if(!(typeof window>"u"))try{let u=window.localStorage.getItem(a);return u?Number(u):void 0}catch{return}},save:u=>{if(!(typeof window>"u"))try{window.localStorage.setItem(a,String(u))}catch{}}}},[n,P,A]);l.useLayoutEffect(()=>{if(!V||!N?.load||v.current.overlayingNow())return;let a=!0,u=S=>{if(!a||typeof S!="number"||!Number.isFinite(S))return;let x=ze(S,p,b);B(x,!0),v.current.onResize?.(x)},y=N.load();return y instanceof Promise?y.then(u).catch(S=>{}):u(y),()=>{a=!1}},[V,N,e.overlaying,B,p,b,n]);let D=l.useCallback(a=>v.current.onResize?.(a),[]),U=l.useCallback(a=>{g.current=!0,v.current.onResizeStart?.(a)},[]),O=l.useCallback(a=>{v.current.onResizeEnd?.(a),M(a,{reason:"resize"}),N?.save?.(a)},[M,N]),I=l.useCallback(()=>v.current.requestCollapse(),[]),q=l.useCallback(()=>v.current.requestToggle(),[]);return l.useMemo(()=>({containerRef:t,controls:e.elementId,cssVarName:r,minSize:p,maxSize:b,defaultSize:e.expandedSize,orientation:o,edge:e.edge,growth:e.growth,onResize:D,onResizeStart:U,onResizeEnd:O,target:n,collapsible:e.collapsible,snapPoints:e.snapPoints,snapTolerance:e.snapTolerance??8,collapseThreshold:e.collapseThreshold,requestCollapse:I,requestToggle:q}),[t,e.elementId,r,p,b,e.expandedSize,o,e.edge,e.growth,D,U,O,n,e.collapsible,e.snapPoints,e.snapTolerance,e.collapseThreshold,I,q])}function Xe(e,n){let t=l.Children.toArray(e),r=t.filter(p=>l.isValidElement(p)&&p.type===n),o=t.filter(p=>!(l.isValidElement(p)&&p.type===n));return{handles:r,content:o}}function we(e){if(e===void 0)return;if(typeof e=="boolean")return e?"open":"closed";let n={};for(let[t,r]of Object.entries(e))typeof r=="boolean"&&(n[t]=r?"open":"closed");return n}var Ye=()=>"closed";var Je=e=>e?1:-1;function Ze(e){if(!("height"in e)&&!("resizer"in e))return e;let{height:n,resizer:t,...r}=e;return r}var Cn={controlled:"open",default:"defaultOpen"},Tn={initial:"overlay",sm:"fixed"},Ce=_.forwardRef((e,n)=>{let{className:t,presentation:r=Tn,defaultOpen:o,open:p,onOpenChange:b,expandedSize:V=320,minSize:w=200,maxSize:E=500,resizable:P=!1,collapsible:A=!0,onExpand:v,onCollapse:T,onResize:Y,onResizeStart:M,onResizeEnd:L,snapPoints:g,snapTolerance:B,collapseThreshold:N,paneId:D,persistence:U,children:O,style:I,onSizeChange:q,sizeUpdate:a,sizeUpdateMs:u=50,size:y,defaultSize:S,inset:x,id:K,...i}=e,{table:c,attributes:f}=We(r,"fixed"),R=qe({name:"inspector",label:"Inspector",propNames:Cn,id:K,controlled:we(p),defaultValue:we(o),presentationTable:c,builtIn:Ye,onChange:(Q,G)=>b?.(Q!=="closed",{reason:G}),onExpand:v,onCollapse:T,size:V});_e("inspector",x),_.useEffect(()=>{(g!==void 0||N!==void 0||D!==void 0||U!==void 0)&&void 0},[g,N,D,U]);let k=_.useRef(null),C=(0,nn.useComposedRefs)(n,R.setElement,k),m=Ge({name:"inspector",elementId:R.id,elementRef:k,cssVarName:"--inspector-size",orientation:"vertical",edge:"start",growth:Je,expandedSize:V,minSize:w,maxSize:E,resizable:P,collapsible:A,size:y,defaultSize:S,onSizeChange:q,sizeUpdate:a,sizeUpdateMs:u,onResize:Y,onResizeStart:M,onResizeEnd:L,snapPoints:g,snapTolerance:B,collapseThreshold:N,paneId:D,persistence:U,overlaying:R.overlaying,overlayingNow:()=>c[se()]==="overlay",requestCollapse:()=>R.setValue("closed","toggle"),requestToggle:()=>R.toggle("toggle")}),{handles:W,content:s}=Xe(O,pe),$=P&&R.shown!==!1&&!R.overlaying?_.createElement(ve.Provider,{value:m},W.length>0?W:_.createElement(ee,null)):null;return _.createElement("div",{...Ze(i),id:R.id,ref:C,className:(0,en.default)("rt-ShellPane","rt-ShellInspector",t),...Ke(R,f),"data-inset":x||void 0,tabIndex:R.overlaying?-1:i.tabIndex,style:{...I,"--inspector-expanded-size":`${V}px`,"--inspector-min-size":`${w}px`,"--inspector-max-size":`${E}px`}},_.createElement("div",{className:"rt-ShellInspectorContent"},s),$)});Ce.displayName="Shell.Inspector";Ce.Handle=pe;
|
|
2
2
|
//# sourceMappingURL=shell-inspector.js.map
|