@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,2 +1,2 @@
|
|
|
1
|
-
import{a as C}from"./chunk-VJSZG35J.js";import{a as s}from"./chunk-MJJ7XDIP.js";import{c as p}from"./chunk-SEY4NA45.js";import{a as i}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as C}from"./chunk-VJSZG35J.js";import{a as s}from"./chunk-MJJ7XDIP.js";import{c as p}from"./chunk-SEY4NA45.js";import{a as i}from"./chunk-UBSLEGQZ.js";import{a as c}from"./chunk-OS3FCYZY.js";var g={};c(g,{Content:()=>P,Root:()=>d,Trigger:()=>v});import*as r from"react";import m from"classnames";import{HoverCard as o}from"radix-ui";var d=e=>r.createElement(o.Root,{closeDelay:150,openDelay:200,...e});d.displayName="HoverCard.Root";var v=r.forwardRef(({children:e,className:t,...a},n)=>r.createElement(o.Trigger,{ref:n,className:m("rt-HoverCardTrigger",t),...a,asChild:!0},s(e)));v.displayName="HoverCard.Trigger";var P=r.forwardRef((e,t)=>{let{className:a,forceMount:n,container:f,...H}=i(e,C);return r.createElement(o.Portal,{container:f,forceMount:n},r.createElement(p,{asChild:!0},r.createElement(o.Content,{align:"start",sideOffset:8,collisionPadding:10,...H,ref:t,className:m("rt-PopperContent","rt-HoverCardContent",a)})))});P.displayName="HoverCard.Content";export{d as a,v as b,P as c,g as d};
|
|
2
|
+
//# sourceMappingURL=chunk-JQW4XYBS.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as d}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as d}from"./chunk-WJBOOAIO.js";import{a as m}from"./chunk-QQ62LO3X.js";import{a as l}from"./chunk-5TXQLK4G.js";import{a as n}from"./chunk-GSTOGDAJ.js";import{a as i}from"./chunk-UBSLEGQZ.js";import*as o from"react";import v from"classnames";import{Slot as T}from"radix-ui";var M=o.forwardRef((c,f)=>{let{asChild:t,className:g,children:P,color:u,radius:b,material:r,panelBackground:e,tooltip:a,tooltipSide:B="top",tooltipAlign:y="center",tooltipDelayDuration:D,tooltipDisableHoverableContent:R,...C}=i(c,m,n),p=o.useMemo(()=>r??e,[r,e]);l(e);let h=o.useMemo(()=>t?T.Root:"span",[t]),s=o.createElement(h,{"data-accent-color":u,"data-radius":b,"data-material":p,"data-panel-background":p,...C,ref:f,className:v("rt-reset","rt-Badge",g)},P);return a?o.createElement(d,{content:a,side:B,align:y,delayDuration:D,disableHoverableContent:R},s):s});M.displayName="Badge";export{M as a};
|
|
2
|
+
//# sourceMappingURL=chunk-JRFZ535T.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as p}from"./chunk-5XV4QEP5.js";import{a as t}from"./chunk-GSTOGDAJ.js";import{a as s}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as p}from"./chunk-5XV4QEP5.js";import{a as t}from"./chunk-GSTOGDAJ.js";import{a as s}from"./chunk-UBSLEGQZ.js";import{a as e}from"./chunk-E23RKOQJ.js";import*as o from"react";import l from"classnames";import{Progress as m}from"radix-ui";var c=o.forwardRef((i,a)=>{let{className:n,style:P,color:f,radius:g,duration:d,...r}=s(i,p,t);return o.createElement(m.Root,{"data-accent-color":f,"data-radius":g,ref:a,className:l("rt-ProgressRoot",n),style:e({"--progress-duration":"value"in r?void 0:d,"--progress-value":"value"in r?r.value:void 0,"--progress-max":"max"in r?r.max:void 0},P),...r,asChild:!1},o.createElement(m.Indicator,{className:"rt-ProgressIndicator"}))});c.displayName="Progress";export{c as a};
|
|
2
|
+
//# sourceMappingURL=chunk-KEEPKI2X.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as f}from"./chunk-2N2AQNJH.js";import{a as d}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as f}from"./chunk-2N2AQNJH.js";import{a as d}from"./chunk-WJBOOAIO.js";import{a as p}from"./chunk-VTIL55SR.js";import*as r from"react";import h from"classnames";var w=r.forwardRef(({className:b,style:s,tooltip:a,tooltipSide:m="top",tooltipAlign:B="center",tooltipDelayDuration:y,tooltipDisableHoverableContent:g,overrideStyles:e,...v},O)=>{let{tooltipId:R,hasTooltip:S,accessibilityProps:P}=f(a),u=r.useMemo(()=>{if(!e)return;let c={},o=(n,t)=>{t!==void 0&&(c[n]=t)},i=(n,t)=>{t&&(o(`--button-override-${n}color`,t.color),o(`--button-override-${n}background`,t.background),o(`--button-override-${n}background-color`,t.backgroundColor),o(`--button-override-${n}box-shadow`,t.boxShadow),o(`--button-override-${n}filter`,t.filter),o(`--button-override-${n}outline`,t.outline),o(`--button-override-${n}outline-offset`,t.outlineOffset),o(`--button-override-${n}opacity`,t.opacity))};return i("",e.normal),i("hover-",e.hover),i("active-",e.active),i("pressed-",e.pressed),i("open-",e.open),i("disabled-",e.disabled),e.focus&&(o("--button-override-focus-outline",e.focus.outline),o("--button-override-focus-outline-offset",e.focus.outlineOffset)),c},[e]),C=r.useMemo(()=>u?{...u,...s}:s,[u,s]),l=r.createElement(p,{...v,...P,ref:O,className:h("rt-Button",b),style:C});return S?r.createElement(d,{content:a,side:m,align:B,delayDuration:y,disableHoverableContent:g,id:R},l):l});w.displayName="Button";export{w as a};
|
|
2
|
+
//# sourceMappingURL=chunk-KV4SZP3F.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as p}from"./chunk-FC2DBBJ3.js";import{a as l}from"./chunk-GSTOGDAJ.js";import{a as m}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as p}from"./chunk-FC2DBBJ3.js";import{a as l}from"./chunk-GSTOGDAJ.js";import{a as m}from"./chunk-UBSLEGQZ.js";import{a as v}from"./chunk-OS3FCYZY.js";var y={};v(y,{Item:()=>f,Root:()=>g});import*as e from"react";import d from"classnames";import{ToggleGroup as i}from"radix-ui";import{useControllableState as I}from"radix-ui/internal";var g=e.forwardRef((o,t)=>{let{className:r,children:n,radius:a,value:u,defaultValue:P,onValueChange:C,...c}=m(o,p,l),[S,R]=I({prop:u,onChange:C,defaultProp:P??""});return e.createElement(i.Root,{"data-disabled":o.disabled||void 0,"data-radius":a,ref:t,className:d("rt-SegmentedControlRoot",r),onValueChange:s=>{s&&R(s)},...c,type:"single",value:S,asChild:!1,disabled:!!o.disabled},n,e.createElement("div",{className:"rt-SegmentedControlIndicator"}))});g.displayName="SegmentedControl.Root";var f=e.forwardRef(({children:o,className:t,iconOnly:r,...n},a)=>e.createElement(i.Item,{ref:a,className:d("rt-reset","rt-SegmentedControlItem",t),"data-icon-only":r||void 0,...n,disabled:!1,asChild:!1},e.createElement("span",{className:"rt-SegmentedControlItemSeparator"}),e.createElement("span",{className:"rt-SegmentedControlItemLabel"},e.createElement("span",{className:"rt-SegmentedControlItemLabelActive"},o),e.createElement("span",{className:"rt-SegmentedControlItemLabelInactive","aria-hidden":!0},o))));f.displayName="SegmentedControl.Item";export{g as a,f as b,y as c};
|
|
2
|
+
//# sourceMappingURL=chunk-LJCUPAOI.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as s}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as s}from"./chunk-5M7STAH3.js";import{a as t}from"./chunk-GSTOGDAJ.js";import{a as p}from"./chunk-UBSLEGQZ.js";import*as o from"react";import i from"classnames";import{Slot as P}from"radix-ui";var C=o.forwardRef((e,m)=>{let{asChild:d,className:n,color:r,...a}=p(e,s,t),c=e.variant==="ghost"?r||void 0:r,f=d?P.Root:"code";return o.createElement(f,{"data-accent-color":c,...a,ref:m,className:i("rt-reset","rt-Code",n)})});C.displayName="Code";export{C as a};
|
|
2
|
+
//# sourceMappingURL=chunk-MBCQA7UZ.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as e}from"./chunk-FGORMEAO.js";import{b as t}from"./chunk-FWB47YCH.js";import{a as r}from"./chunk-K53W3ELO.js";import{a as s}from"./chunk-GSTOGDAJ.js";import{a as p}from"./chunk-UBSLEGQZ.js";import*as o from"react";import f from"classnames";var B=o.forwardRef((m,a)=>{let{className:n,asChild:i,as:P="div",...x}=p(m,e,r,s);return o.createElement(i?t:P,{...x,ref:a,className:f("rt-Box",n)})});B.displayName="Box";export{B as a};
|
|
2
|
+
//# sourceMappingURL=chunk-MM5IHQFM.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as g,b as R,c as u,d as y,e as C}from"./chunk-EDKQURDU.js";import{a as f}from"./chunk-5TXQLK4G.js";import{a as i}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as g,b as R,c as u,d as y,e as C}from"./chunk-EDKQURDU.js";import{a as f}from"./chunk-5TXQLK4G.js";import{a as i}from"./chunk-UBSLEGQZ.js";import{a as D}from"./chunk-OS3FCYZY.js";var O={};D(O,{Content:()=>I,Header:()=>E,Item:()=>v,Root:()=>T,Trigger:()=>H});import*as o from"react";import p from"classnames";import{Accordion as m}from"radix-ui";var T=o.forwardRef((r,t)=>{let{className:e,panelBackground:c,material:a,flush:l,radius:s,color:N,...h}=i(r,g),n=h;f(r.panelBackground);let A=a??c;n.type==="single"&&n.collapsible===void 0&&(n.collapsible=!0);let w=o.useCallback(d=>{if(n.type==="multiple"){let P=d.currentTarget.querySelectorAll("[data-radix-accordion-item]");d.key==="Home"?(d.preventDefault(),P[0]?.querySelector("[data-radix-accordion-trigger]")?.focus()):d.key==="End"&&(d.preventDefault(),P[P.length-1]?.querySelector("[data-radix-accordion-trigger]")?.focus())}},[n.type]);return o.createElement(m.Root,{...n,ref:t,className:p("rt-AccordionRoot",e),"data-accent-color":N,"data-panel-background":A,"data-material":A,"data-flush":l||void 0,"data-radius":s,onKeyDown:w})});T.displayName="Accordion.Root";var v=o.forwardRef((r,t)=>{let{className:e,...c}=i(r,R);return o.createElement(m.Item,{...c,ref:t,className:p("rt-AccordionItem",e)})});v.displayName="Accordion.Item";var E=o.forwardRef((r,t)=>{let{className:e,...c}=i(r,u);return o.createElement(m.Header,{...c,ref:t,className:p("rt-AccordionHeader",e)})});E.displayName="Accordion.Header";var H=o.forwardRef(({children:r,...t},e)=>{let{className:c,...a}=i(t,y),l=o.useRef(null);return o.createElement(m.Trigger,{...a,ref:s=>{l.current=s,typeof e=="function"?e(s):e&&(e.current=s)},className:p("rt-AccordionTrigger",c)},r)});H.displayName="Accordion.Trigger";var I=o.forwardRef((r,t)=>{let{className:e,children:c,...a}=i(r,C);return o.createElement(m.Content,{...a,ref:t,className:p("rt-AccordionContent",e),"aria-live":"polite"},o.createElement("div",{className:"rt-AccordionContentInner"},c))});I.displayName="Accordion.Content";export{T as a,v as b,E as c,H as d,I as e,O as f};
|
|
2
|
+
//# sourceMappingURL=chunk-NQXRWBQM.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as r}from"./chunk-JAMLW534.js";import{a as t}from"./chunk-GSTOGDAJ.js";import{a as o}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as r}from"./chunk-JAMLW534.js";import{a as t}from"./chunk-GSTOGDAJ.js";import{a as o}from"./chunk-UBSLEGQZ.js";import*as e from"react";import a from"classnames";import{Slot as P}from"radix-ui";var c=e.forwardRef((p,s)=>{let{asChild:n,className:m,...i}=o(p,r,t),f=n?P.Root:"div";return e.createElement(f,{...i,ref:s,className:a("rt-Inset",m)})});c.displayName="Inset";export{c as a};
|
|
2
|
+
//# sourceMappingURL=chunk-NTNMJX5M.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as B}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as B}from"./chunk-4WU2WKUJ.js";import{b as O,d as _,f as A}from"./chunk-IX5HIHVI.js";import{a as V}from"./chunk-MJJ7XDIP.js";import{c as k}from"./chunk-UNWPH3SO.js";import{b as T,c as N}from"./chunk-SEY4NA45.js";import{a as b}from"./chunk-5TXQLK4G.js";import{c as m,d as W,e as D,f as L}from"./chunk-3KSGRY6I.js";import{b as v,c as S,d as g,e as h,f as y}from"./chunk-7PMMYHZV.js";import{a as I}from"./chunk-UBSLEGQZ.js";import{a as ne}from"./chunk-OS3FCYZY.js";var re={};ne(re,{CheckboxItem:()=>X,Content:()=>q,Group:()=>J,Item:()=>H,Label:()=>K,RadioGroup:()=>Q,RadioItem:()=>U,Root:()=>j,Separator:()=>ee,Sub:()=>Y,SubContent:()=>$,SubTrigger:()=>Z,Trigger:()=>F});import*as e from"react";import s from"classnames";import{ContextMenu as a,Slot as G}from"radix-ui";var j=t=>e.createElement(a.Root,{...t});j.displayName="ContextMenu.Root";var F=e.forwardRef(({children:t,...n},o)=>e.createElement(a.Trigger,{...n,ref:o,asChild:!0},V(t)));F.displayName="ContextMenu.Trigger";var E=e.createContext({}),q=e.forwardRef((t,n)=>{let o=T();b(t.panelBackground);let i=S(t.material,t.panelBackground,o),{size:r=m.size.default,variant:u=m.variant.default}=t,{className:C,children:p,color:x,container:M,forceMount:d,material:w,panelBackground:te,submenuBehavior:oe,virtualized:z=!1,...P}=I(t,m),c=x||o.accentColor,f=v(r,m.size.default),R=e.useMemo(()=>({size:r,variant:u,color:c,material:i}),[r,u,c,i]),l=e.createElement(k,{size:r},e.createElement(E.Provider,{value:R},p));return e.createElement(a.Portal,{container:M,forceMount:d},e.createElement(N,{asChild:!0},e.createElement(a.Content,{"data-accent-color":c,"data-material":i,"data-panel-background":i,alignOffset:g(f,o.scaling),collisionPadding:10,...P,asChild:!1,ref:n,className:s("rt-PopperContent","rt-BaseMenuContent","rt-ContextMenuContent",C)},z?e.createElement("div",{className:s("rt-BaseMenuViewport","rt-ContextMenuViewport","rt-virtualized")},l):e.createElement(B,{type:"auto",scrollbars:"vertical"},e.createElement("div",{className:s("rt-BaseMenuViewport","rt-ContextMenuViewport")},l)))))});q.displayName="ContextMenu.Content";var K=e.forwardRef(({className:t,...n},o)=>e.createElement(a.Label,{...n,asChild:!1,ref:o,className:s("rt-BaseMenuLabel","rt-ContextMenuLabel",t)}));K.displayName="ContextMenu.Label";var H=e.forwardRef((t,n)=>{let{className:o,children:i,color:r=W.color.default,shortcut:u,...C}=t;return e.createElement(a.Item,{"data-accent-color":r,"aria-keyshortcuts":u?h(u):void 0,...C,ref:n,className:s("rt-reset","rt-BaseMenuItem","rt-ContextMenuItem",o)},e.createElement(G.Slottable,null,i),u&&e.createElement(y,{shortcut:u,className:"rt-ContextMenuShortcut"}))});H.displayName="ContextMenu.Item";var J=e.forwardRef(({className:t,...n},o)=>e.createElement(a.Group,{...n,asChild:!1,ref:o,className:s("rt-BaseMenuGroup","rt-ContextMenuGroup",t)}));J.displayName="ContextMenu.Group";var Q=e.forwardRef(({className:t,...n},o)=>e.createElement(a.RadioGroup,{...n,asChild:!1,ref:o,className:s("rt-BaseMenuRadioGroup","rt-ContextMenuRadioGroup",t)}));Q.displayName="ContextMenu.RadioGroup";var U=e.forwardRef((t,n)=>{let{children:o,className:i,color:r=L.color.default,...u}=t;return e.createElement(a.RadioItem,{...u,asChild:!1,ref:n,"data-accent-color":r,className:s("rt-BaseMenuItem","rt-BaseMenuRadioItem","rt-ContextMenuItem","rt-ContextMenuRadioItem",i)},e.createElement(G.Slottable,null,o),e.createElement(a.ItemIndicator,{className:"rt-BaseMenuItemIndicator rt-ContextMenuItemIndicator"},e.createElement(A,{className:"rt-BaseMenuItemIndicatorIcon rt-ContextMenuItemIndicatorIcon"})))});U.displayName="ContextMenu.RadioItem";var X=e.forwardRef((t,n)=>{let{children:o,className:i,shortcut:r,color:u=D.color.default,...C}=t;return e.createElement(a.CheckboxItem,{"aria-keyshortcuts":r?h(r):void 0,...C,asChild:!1,ref:n,"data-accent-color":u,className:s("rt-BaseMenuItem","rt-BaseMenuCheckboxItem","rt-ContextMenuItem","rt-ContextMenuCheckboxItem",i)},e.createElement(G.Slottable,null,o),e.createElement(a.ItemIndicator,{className:"rt-BaseMenuItemIndicator rt-ContextMenuItemIndicator"},e.createElement(O,{className:"rt-BaseMenuItemIndicatorIcon rt-ContextMenuItemIndicatorIcon"})),r&&e.createElement(y,{shortcut:r,className:"rt-ContextMenuShortcut"}))});X.displayName="ContextMenu.CheckboxItem";var Y=t=>e.createElement(a.Sub,{...t});Y.displayName="ContextMenu.Sub";var Z=e.forwardRef((t,n)=>{let{className:o,children:i,...r}=t;return e.createElement(a.SubTrigger,{...r,asChild:!1,ref:n,className:s("rt-BaseMenuItem","rt-BaseMenuSubTrigger","rt-ContextMenuItem","rt-ContextMenuSubTrigger",o)},i,e.createElement("div",{className:"rt-BaseMenuShortcut rt-ContextMenuShortcut"},e.createElement(_,{className:"rt-BaseMenuSubTriggerIcon rt-ContextMenuSubTriggerIcon"})))});Z.displayName="ContextMenu.SubTrigger";var $=e.forwardRef((t,n)=>{let o=e.useContext(E),i=T();b(t.panelBackground);let r=t.size??o.size,u=t.variant??o.variant,C=t.color??o.color,p=t.material??t.panelBackground??o.material??S(void 0,void 0,i),{className:x,children:M,container:d,forceMount:w,color:te,material:oe,panelBackground:z,virtualized:P=!1,...c}=I({...t,size:r,variant:u},m),f=v(r,m.size.default),R=e.useMemo(()=>({size:r,variant:u,color:C,material:p}),[r,u,C,p]),l=e.createElement(k,{size:r},e.createElement(E.Provider,{value:R},M));return e.createElement(a.Portal,{container:d,forceMount:w},e.createElement(N,{asChild:!0},e.createElement(a.SubContent,{"data-accent-color":C,"data-material":p,"data-panel-background":p,alignOffset:g(f,i.scaling),sideOffset:1,collisionPadding:10,...c,asChild:!1,ref:n,className:s("rt-PopperContent","rt-BaseMenuContent","rt-BaseMenuSubContent","rt-ContextMenuContent","rt-ContextMenuSubContent",x)},P?e.createElement("div",{className:s("rt-BaseMenuViewport","rt-ContextMenuViewport","rt-virtualized")},l):e.createElement(B,{type:"auto",scrollbars:"vertical"},e.createElement("div",{className:s("rt-BaseMenuViewport","rt-ContextMenuViewport")},l)))))});$.displayName="ContextMenu.SubContent";var ee=e.forwardRef(({className:t,...n},o)=>e.createElement(a.Separator,{...n,asChild:!1,ref:o,className:s("rt-BaseMenuSeparator","rt-ContextMenuSeparator",t)}));ee.displayName="ContextMenu.Separator";export{j as a,F as b,q as c,K as d,H as e,J as f,Q as g,U as h,X as i,Y as j,Z as k,$ as l,ee as m,re as n};
|
|
2
|
+
//# sourceMappingURL=chunk-NV3P2CKH.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as m}from"./chunk-PPNWGWN3.js";import{a as i}from"./chunk-PS6NEG5A.js";import{a as n}from"./chunk-K53W3ELO.js";import{a as e}from"./chunk-VX44UTQ5.js";import{a as p}from"./chunk-ERGJN7FJ.js";import{a as s}from"./chunk-GSTOGDAJ.js";import{a as r}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as m}from"./chunk-PPNWGWN3.js";import{a as i}from"./chunk-PS6NEG5A.js";import{a as n}from"./chunk-K53W3ELO.js";import{a as e}from"./chunk-VX44UTQ5.js";import{a as p}from"./chunk-ERGJN7FJ.js";import{a as s}from"./chunk-GSTOGDAJ.js";import{a as r}from"./chunk-UBSLEGQZ.js";import*as o from"react";import a from"classnames";import{Slot as w}from"radix-ui";var x=o.forwardRef(({width:f,minWidth:P,maxWidth:c,height:l,minHeight:C,maxHeight:y,...d},h)=>{let{asChild:t,children:u,className:R,...v}=r(d,m,n,s),{className:N,style:g}=r({width:f,minWidth:P,maxWidth:c,height:l,minHeight:C,maxHeight:y},p,e),D=t?w.Root:"div";return o.createElement(D,{...v,ref:h,className:a("rt-Container",R)},i({asChild:t,children:u},j=>o.createElement("div",{className:a("rt-ContainerInner",N),style:g},j)))});x.displayName="Container";export{x as a};
|
|
2
|
+
//# sourceMappingURL=chunk-O4CSXNST.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as e}from"./chunk-HAGKI7NA.js";import{b as t}from"./chunk-FWB47YCH.js";import{a as p}from"./chunk-K53W3ELO.js";import{a as s}from"./chunk-GSTOGDAJ.js";import{a as o}from"./chunk-UBSLEGQZ.js";import*as r from"react";import f from"classnames";var G=r.forwardRef((i,m)=>{let{className:a,asChild:d,as:n="div",...P}=o(i,e,p,s);return r.createElement(d?t:n,{...P,ref:m,className:f("rt-Grid",a)})});G.displayName="Grid";export{G as a};
|
|
2
|
+
//# sourceMappingURL=chunk-ODCVOXEV.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{a as l}from"./chunk-2N2AQNJH.js";import{a as r}from"./chunk-
|
|
1
|
+
import{a as l}from"./chunk-2N2AQNJH.js";import{a as r}from"./chunk-WJBOOAIO.js";import{a}from"./chunk-VTIL55SR.js";import*as t from"react";import R from"classnames";var P=t.forwardRef(({className:i,tooltip:o,tooltipSide:s="top",tooltipAlign:c="center",tooltipDelayDuration:p,tooltipDisableHoverableContent:b,...e},u)=>{let{tooltipId:m,hasTooltip:d,accessibilityProps:B}=l(o),y="aria-label"in e&&e["aria-label"],f="aria-labelledby"in e&&e["aria-labelledby"],I="children"in e&&e.children;!y&&!f&&!I&&console.error(`IconButton: Icon buttons must have an accessible name. Please provide either:
|
|
2
2
|
- aria-label prop with descriptive text
|
|
3
3
|
- aria-labelledby prop referencing a label element
|
|
4
4
|
- or visible text children`);let n=t.createElement(a,{...e,...B,ref:u,className:R("rt-IconButton",i)});return d?t.createElement(r,{content:o,side:s,align:c,delayDuration:p,disableHoverableContent:b,id:m},n):n});P.displayName="IconButton";export{P as a};
|
|
5
|
-
//# sourceMappingURL=chunk-
|
|
5
|
+
//# sourceMappingURL=chunk-OEEF6KJG.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as p,b as R,c as n}from"./chunk-BALS3AVM.js";import{a as b}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as p,b as R,c as n}from"./chunk-BALS3AVM.js";import{a as b}from"./chunk-4WU2WKUJ.js";import{a as d}from"./chunk-GSTOGDAJ.js";import{a as s}from"./chunk-UBSLEGQZ.js";import{b as m}from"./chunk-PBFSBHBS.js";import{a as h}from"./chunk-OS3FCYZY.js";var v={};h(v,{Body:()=>c,Cell:()=>C,ColumnHeaderCell:()=>y,Header:()=>T,Root:()=>P,Row:()=>f,RowHeaderCell:()=>i});import*as e from"react";import t from"classnames";var P=e.forwardRef((o,l)=>{let{layout:a,...r}=p,{className:w,children:u,layout:H,...N}=s(o,r,d),E=m({value:H,className:p.layout.className,propValues:p.layout.values});return e.createElement("div",{ref:l,className:t("rt-TableRoot",w),...N},e.createElement(b,null,e.createElement("table",{className:t("rt-TableRootTable",E)},u)))});P.displayName="Table.Root";var T=e.forwardRef(({className:o,...l},a)=>e.createElement("thead",{...l,ref:a,className:t("rt-TableHeader",o)}));T.displayName="Table.Header";var c=e.forwardRef(({className:o,...l},a)=>e.createElement("tbody",{...l,ref:a,className:t("rt-TableBody",o)}));c.displayName="Table.Body";var f=e.forwardRef((o,l)=>{let{className:a,...r}=s(o,R);return e.createElement("tr",{...r,ref:l,className:t("rt-TableRow",a)})});f.displayName="Table.Row";var C=e.forwardRef((o,l)=>{let{className:a,...r}=s(o,n);return e.createElement("td",{className:t("rt-TableCell",a),ref:l,...r})});C.displayName="Table.Cell";var y=e.forwardRef((o,l)=>{let{className:a,...r}=s(o,n);return e.createElement("th",{className:t("rt-TableCell","rt-TableColumnHeaderCell",a),scope:"col",ref:l,...r})});y.displayName="Table.ColumnHeaderCell";var i=e.forwardRef((o,l)=>{let{className:a,...r}=s(o,n);return e.createElement("th",{className:t("rt-TableCell","rt-TableRowHeaderCell",a),scope:"row",ref:l,...r})});i.displayName="Table.RowHeaderCell";export{P as a,T as b,c,f as d,C as e,y as f,i as g,v as h};
|
|
2
|
+
//# sourceMappingURL=chunk-OJSOX3AX.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as t}from"./chunk-3KB2XWBE.js";import{a as r}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as t}from"./chunk-3KB2XWBE.js";import{a as r}from"./chunk-ZJ33QP5N.js";import{a}from"./chunk-GSTOGDAJ.js";import{a as s}from"./chunk-UBSLEGQZ.js";import*as e from"react";import c from"classnames";var d=e.forwardRef((i,o)=>{let{className:m,children:n,loading:f,...l}=s(i,t,a);if(!f)return n;let p=e.createElement("span",{...l,ref:o,className:c("rt-Spinner",m)},e.createElement("span",{className:"rt-SpinnerLeaf"}),e.createElement("span",{className:"rt-SpinnerLeaf"}),e.createElement("span",{className:"rt-SpinnerLeaf"}),e.createElement("span",{className:"rt-SpinnerLeaf"}),e.createElement("span",{className:"rt-SpinnerLeaf"}),e.createElement("span",{className:"rt-SpinnerLeaf"}),e.createElement("span",{className:"rt-SpinnerLeaf"}),e.createElement("span",{className:"rt-SpinnerLeaf"}));return n===void 0?p:e.createElement(r,{asChild:!0,position:"relative",align:"center",justify:"center"},e.createElement("span",null,e.createElement("span",{"aria-hidden":!0,style:{display:"contents",visibility:"hidden"},inert:void 0},n),e.createElement(r,{asChild:!0,align:"center",justify:"center",position:"absolute",inset:"0"},e.createElement("span",null,p))))});d.displayName="Spinner";export{d as a};
|
|
2
|
+
//# sourceMappingURL=chunk-OQU2SKLN.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as t}from"./chunk-G2CKYO2I.js";import{a as m}from"./chunk-AXUDFYLY.js";import{a as p}from"./chunk-KNQBAOMV.js";import{a as i}from"./chunk-FD2TR343.js";import{a as
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as t}from"./chunk-G2CKYO2I.js";import{a as m}from"./chunk-AXUDFYLY.js";import{a as p}from"./chunk-KNQBAOMV.js";import{a as i}from"./chunk-FD2TR343.js";import{a as f}from"./chunk-ZE2KAVXW.js";import{a as s}from"./chunk-WYADYDPN.js";import{b as e}from"./chunk-ZWZGUBL4.js";import{a as o}from"./chunk-NZJGC6ZW.js";import{c as r}from"./chunk-ZNK6AH2G.js";var a=["h1","h2","h3","h4","h5","h6"],n=["0","1","2","3","4","5","6","7","8","9","10","11","12"],g={as:{type:"enum",values:a,default:"h1"},...o,size:{type:"enum",className:"rt-r-size",values:n,default:"6",responsive:!0},...m,...i,...t,...p,...f,...s,...r,...e};export{g as a};
|
|
2
|
+
//# sourceMappingURL=chunk-OTKQN2KY.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as C}from"./chunk-MHANZINI.js";import{a as D}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as C}from"./chunk-MHANZINI.js";import{a as D}from"./chunk-PYXMGEO7.js";import{a as d}from"./chunk-MJJ7XDIP.js";import{a as R}from"./chunk-5TAHT6VC.js";import{a as S}from"./chunk-GCUGJXI2.js";import{c as y}from"./chunk-SEY4NA45.js";import{a as u}from"./chunk-5TXQLK4G.js";import{a as c}from"./chunk-UBSLEGQZ.js";import{a as F}from"./chunk-OS3FCYZY.js";var J={};F(J,{Close:()=>k,Content:()=>b,Description:()=>N,Root:()=>T,Title:()=>x,Trigger:()=>v});import*as e from"react";import K from"classnames";import{Dialog as a}from"radix-ui";var T=o=>e.createElement(a.Root,{...o,modal:!0});T.displayName="Sheet.Root";var v=e.forwardRef(({children:o,...t},r)=>e.createElement(a.Trigger,{...t,ref:r,asChild:!0},d(o)));v.displayName="Sheet.Trigger";var{align:ae,panelBackground:V,material:_,...E}=S,q={panelBackground:V,material:_},{default:ne,...I}=E.maxWidth,G={...E,maxWidth:I},b=e.forwardRef((o,t)=>{let{side:r="start",forceMount:n,container:M,className:B,panelBackground:f,material:W,...w}=o,H={left:"start",right:"end",start:"start",end:"end",top:"top",bottom:"bottom"}[r],{panelBackground:L,material:O}=c({panelBackground:f,material:W},q);u(f);let h=O??L,{className:z,...j}=c(w,G),g=e.useRef(null),A=e.useMemo(()=>i=>{g.current=i,typeof t=="function"?t(i):t&&(t.current=i)},[t]);return C(),e.useEffect(()=>{if(typeof window>"u")return;let i=g.current;if(!i)return;let s=i.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(s.length===0)return;let l=s[0],m=s[s.length-1],P=p=>{p.key==="Tab"&&(p.shiftKey?document.activeElement===l&&(p.preventDefault(),m.focus()):document.activeElement===m&&(p.preventDefault(),l.focus()))};return i.addEventListener("keydown",P),l.focus(),()=>{i.removeEventListener("keydown",P)}},[]),e.createElement(a.Portal,{container:M,forceMount:n},e.createElement(y,{asChild:!0},e.createElement(a.Overlay,{className:"rt-BaseDialogOverlay rt-DialogOverlay rt-SheetOverlay"},e.createElement(a.Content,{...j,ref:A,className:K("rt-BaseDialogContent","rt-SheetContent",B,z),"data-side":H,"data-material":h,"data-panel-background":h,tabIndex:-1,role:"dialog","aria-modal":"true"}))))});b.displayName="Sheet.Content";var x=e.forwardRef(({size:o="4",weight:t="medium",...r},n)=>e.createElement(a.Title,{asChild:!0},e.createElement(D,{ref:n,size:o,weight:t,...r})));x.displayName="Sheet.Title";var N=e.forwardRef(({size:o="2",emphasis:t="medium",...r},n)=>e.createElement(a.Description,{asChild:!0},e.createElement(R,{ref:n,size:o,emphasis:t,...r})));N.displayName="Sheet.Description";var k=e.forwardRef(({children:o,...t},r)=>e.createElement(a.Close,{...t,ref:r,asChild:!0},d(o)));k.displayName="Sheet.Close";export{T as a,v as b,b as c,x as d,N as e,k as f,J as g};
|
|
2
|
+
//# sourceMappingURL=chunk-P27KV2LS.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as c}from"./chunk-WRWNN2NW.js";import{a as
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as c}from"./chunk-WRWNN2NW.js";import{a as m}from"./chunk-RZCX6IBE.js";import{a as l}from"./chunk-QM3RCK5P.js";function g(i,n,e){return n!==void 0?n.has(e):i.includes(e)}function h({className:i,customProperties:n,...e}){let f=y({allowArbitraryValues:!0,className:i,...e}),r=v({customProperties:n,...e});return[f,r]}function y({allowArbitraryValues:i,value:n,className:e,propValues:f,propValueSet:r,parseValue:s=o=>o}){if(n){if(typeof n=="string")return g(f,r,n)?R(e,n,s):i?e:void 0;if(m(n)){let o=n,t=[];for(let p in o){if(!l(o,p)||!c.has(p))continue;let d=o[p];if(d!==void 0){if(g(f,r,d)){let u=R(e,d,s),a=p==="initial"?u:`${p}:${u}`;t.push(a)}else if(i){let u=p==="initial"?e:`${p}:${e}`;t.push(u)}}}return t.length>0?t.join(" "):""}if(i)return e}}function R(i,n,e){let f=i?"-":"",r=e(n),s=r?.startsWith("-"),o=s?"-":"",t=s?r?.substring(1):r;return`${o}${i}${f}${t}`}function v({customProperties:i,value:n,propValues:e,propValueSet:f,parseValue:r=s=>s}){if(!n||typeof n=="string"&&g(e,f,n))return;let s;if(typeof n=="string"){let o=r(n);s={};for(let t of i)s[t]=o;return s}if(m(n)){let o=n;for(let t in o){if(!l(o,t)||!c.has(t))continue;let p=o[t];if(p===void 0||g(e,f,p))continue;let d=r(p);s??(s={});for(let u of i){let a=t==="initial"?u:`${u}-${t}`;s[a]=d}}}return s??{}}export{h as a,y as b,v as c};
|
|
2
|
+
//# sourceMappingURL=chunk-PBFSBHBS.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as v}from"./chunk-MHANZINI.js";import{a as C}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as v}from"./chunk-MHANZINI.js";import{a as C}from"./chunk-PYXMGEO7.js";import{a as g}from"./chunk-MJJ7XDIP.js";import{a as y}from"./chunk-5TAHT6VC.js";import{a as u}from"./chunk-GCUGJXI2.js";import{c as d}from"./chunk-SEY4NA45.js";import{a as P}from"./chunk-5TXQLK4G.js";import{a as n}from"./chunk-UBSLEGQZ.js";import{a as O}from"./chunk-OS3FCYZY.js";var I={};O(I,{Close:()=>k,Content:()=>E,Description:()=>B,Root:()=>R,Title:()=>h,Trigger:()=>T});import*as e from"react";import S from"classnames";import{Dialog as r}from"radix-ui";var R=t=>e.createElement(r.Root,{...t,modal:!0});R.displayName="Dialog.Root";var T=e.forwardRef(({children:t,...o},a)=>e.createElement(r.Trigger,{...o,ref:a,asChild:!0},g(t)));T.displayName="Dialog.Trigger";var{align:A,panelBackground:K,material:_,...j}=u,q={align:A},z={panelBackground:K},F={material:_},E=e.forwardRef(({align:t,...o},a)=>{let{className:x}=n({align:t},q),{panelBackground:N}=n({panelBackground:o.panelBackground},z),{material:b}=n({material:o.material},F);P(o.panelBackground);let m=b??N,{className:M,forceMount:w,container:H,panelBackground:V,material:$,...W}=n(o,j),c=e.useRef(null),L=e.useMemo(()=>i=>{c.current=i,typeof a=="function"?a(i):a&&(a.current=i)},[a]);return v(),e.useEffect(()=>{if(typeof window>"u")return;let i=c.current;if(!i)return;let l=i.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(l.length===0)return;let p=l[0],D=l[l.length-1],f=s=>{s.key==="Tab"&&(s.shiftKey?document.activeElement===p&&(s.preventDefault(),D.focus()):document.activeElement===D&&(s.preventDefault(),p.focus()))};return i.addEventListener("keydown",f),p.focus(),()=>{i.removeEventListener("keydown",f)}},[]),e.createElement(r.Portal,{container:H,forceMount:w},e.createElement(d,{asChild:!0},e.createElement(r.Overlay,{className:"rt-BaseDialogOverlay rt-DialogOverlay"},e.createElement("div",{className:"rt-BaseDialogScroll rt-DialogScroll"},e.createElement("div",{className:`rt-BaseDialogScrollPadding rt-DialogScrollPadding ${x}`},e.createElement(r.Content,{...W,ref:L,className:S("rt-BaseDialogContent","rt-DialogContent",M),"data-material":m,"data-panel-background":m,tabIndex:-1,role:"dialog","aria-modal":"true",onCloseAutoFocus:i=>{i.preventDefault(),document.body.style.pointerEvents=""}}),e.createElement("div",{"aria-live":"polite","aria-atomic":"true",className:"rt-sr-only",id:"dialog-announcement"}))))))});E.displayName="Dialog.Content";var h=e.forwardRef((t,o)=>e.createElement(r.Title,{asChild:!0},e.createElement(C,{size:"5",mb:"3",trim:"start",...t,asChild:!1,ref:o})));h.displayName="Dialog.Title";var B=e.forwardRef((t,o)=>e.createElement(r.Description,{asChild:!0},e.createElement(y,{as:"p",size:"3",...t,asChild:!1,ref:o})));B.displayName="Dialog.Description";var k=e.forwardRef(({children:t,...o},a)=>e.createElement(r.Close,{...o,ref:a,asChild:!0},g(t)));k.displayName="Dialog.Close";export{R as a,T as b,E as c,h as d,B as e,k as f,I as g};
|
|
2
|
+
//# sourceMappingURL=chunk-PDUHBDFC.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as c}from"./chunk-VK7RNXUO.js";import{a}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as c}from"./chunk-VK7RNXUO.js";import{a}from"./chunk-OEEF6KJG.js";import*as e from"react";import{Toggle as b}from"radix-ui";var m=e.forwardRef(({pressed:l,onPressedChange:i,defaultPressed:g,...s},p)=>{let{"aria-label":r,"aria-labelledby":o,children:t}=s,n=e.useRef(null);e.useEffect(()=>{n.current=null},[o]);let u=e.useCallback(()=>{if(r)return r;if(o){if(n.current===null){let f=document.getElementById(o);n.current=f?.textContent||"Toggle icon button"}return n.current}return typeof t=="string"?t:e.isValidElement(t)&&typeof t.props?.children=="string"?t.props.children:"Toggle icon button"},[r,o,t]),{handlePressedChange:d}=c({pressed:l,onPressedChange:i,getAccessibleName:u,componentName:"ToggleIconButton"});return e.createElement(b.Root,{pressed:l,onPressedChange:d,defaultPressed:g,asChild:!0},e.createElement(a,{...s,ref:p}))});m.displayName="ToggleIconButton";export{m as a};
|
|
2
|
+
//# sourceMappingURL=chunk-POG3YABW.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as xe,b as He}from"./chunk-ADXZNG4F.js";import{a as we}from"./chunk-2EQWBT2S.js";import{a as ze}from"./chunk-ROSWI2CL.js";import{a as Le}from"./chunk-YAQBIO2B.js";import{a as Te}from"./chunk-AGNIFHOE.js";import{a as Re,b as ne}from"./chunk-HCNO7PX6.js";import{a as re,b as se,c as ie}from"./chunk-GMHA5CFH.js";import{e as oe,f as he,h as Pe,i as Q,j as ve,k as le,l as ae,n as ge,o as Y}from"./chunk-A2XVR7GL.js";import{a as be,b as Se}from"./chunk-BZZXXZ3O.js";import{a as me}from"./chunk-HWQ3NTJP.js";import{a as _,b as Ee,c as Ce,d as ye,g as Me}from"./chunk-3J6AUDID.js";import{a as fe}from"./chunk-3XSB7YIM.js";import{a as Ve}from"./chunk-OS3FCYZY.js";var Ke={};Ve(Ke,{Bottom:()=>Le,Content:()=>Fe,Header:()=>Oe,Inspector:()=>Te,Left:()=>Ae,Panel:()=>pe,Rail:()=>De,Root:()=>Ie,Sidebar:()=>ze,Trigger:()=>Be,useResponsivePresentation:()=>we,useShell:()=>He,useSidebarMode:()=>xe});import*as e from"react";import $ from"classnames";import{useComposedRefs as ue}from"radix-ui/internal";var ce=0;function Ne(r){ce=Math.max(0,ce+r);let s=document.documentElement;ce>0?s.setAttribute("data-rt-shell-lock",""):s.removeAttribute("data-rt-shell-lock")}var de="data-rt-shell-inert",Ue=30;function K(r,s){return s===null||s===r||s===r.body||s===r.documentElement}function ke(r,s,i){for(let d of r.querySelectorAll("[data-shell-trigger][aria-controls]"))if(!(d.getAttribute("aria-controls")!==s||d.closest("[inert]"))&&!(i&&!i.some(h=>h.contains(d))))return d;return null}var Ie=e.forwardRef(({className:r,children:s,height:i="full",style:d,onKeyDown:h,onFocus:I,...H},w)=>{let[u]=e.useState(he),m=e.useCallback(t=>Pe(u,t),[u]);e.useSyncExternalStore(m,()=>u.version,()=>0);let p=e.useRef(null),b=ue(w,p),[S,E]=e.useState(()=>new Set),T=e.useCallback(t=>{E(n=>n.has(t)?n:new Set(n).add(t))},[]),C=e.useCallback(t=>{E(n=>{if(!n.has(t))return n;let l=new Set(n);return l.delete(t),l})},[]),P=e.useMemo(()=>({registerInset:T,unregisterInset:C}),[T,C]),f=e.useCallback(()=>{for(let t of u.entries.values())t.overlayLive&&t.setValue("closed","dismiss")},[u]),g=e.useCallback(()=>[...u.entries.values()].filter(t=>t.overlayLive&&t.el).map(t=>({name:t.name,id:t.id,el:t.el})),[u]),v=[...u.entries.values()].filter(t=>t.overlayLive&&t.el).length,B=i!=="full"&&i!=="auto",y=e.useCallback(()=>{let t=p.current;if(!t)return;let n=g().map(l=>l.el);for(let l of t.children){if(!(l instanceof HTMLElement)||l.classList.contains("rt-ShellScrim"))continue;let a=n.some(M=>l===M||l.contains(M));n.length===0||a?l.hasAttribute(de)&&(l.removeAttribute(de),l.inert=!1):l.inert||(l.setAttribute(de,""),l.inert=!0)}},[g]),N=e.useRef(null),O=e.useRef([]),q=e.useRef(null),A=e.useRef(!1),z=e.useRef(0),D=e.useCallback(()=>{z.current&&cancelAnimationFrame(z.current),z.current=0},[]),j=e.useCallback((t,n)=>{D();let l=0,a=()=>{if(z.current=0,!!t.isConnected){if(n(t.ownerDocument.activeElement)){t.focus({preventScroll:!0});return}l+=1,l<Ue&&(z.current=requestAnimationFrame(a))}};z.current=requestAnimationFrame(a)},[D]);e.useEffect(()=>()=>{D(),A.current&&(A.current=!1,Ne(-1))},[D]),e.useEffect(()=>{let t=p.current;if(!t)return;let n=t.ownerDocument,l=g(),a=l.map(o=>o.el),M=!B&&l.length>0;M!==A.current&&(A.current=M,Ne(M?1:-1));let U=O.current;O.current=l;let k=U.filter(o=>{if(a.includes(o.el))return!1;let c=u.entries.get(o.name);return!o.el.isConnected||!c||c.el!==o.el||c.value==="closed"}),F=o=>o!==null&&k.some(c=>c.el.contains(o));if(U.length===0&&l.length>0){let o=n.activeElement,c=o instanceof HTMLElement&&!K(n,o)&&!a.some(R=>R.contains(o))?o:null;if(c&&!t.contains(c)){let R=q.current;R&&R.isConnected&&!a.some(J=>J.contains(R))&&(c=R)}N.current=c}if(y(),l.length===0){let o=N.current;if(N.current=null,k.length===0)return;let R=(L=>L!==null&&L.isConnected&&!L.closest("[inert]")&&!F(L))(o)?o:null;for(let L of k)R??(R=ke(n,L.id));if(!R)return;let J=L=>K(n,L)||F(L);J(n.activeElement)?R.focus({preventScroll:!0}):j(R,J);return}if(k.length>0){let o=n.activeElement;if(K(n,o)||F(o)){let c=null;for(let R of k)c??(c=ke(n,R.id,a));(c??a[a.length-1]).focus({preventScroll:!0})}}let W=a.filter(o=>!U.some(c=>c.el===o)),te=n.activeElement;W.length>0&&!a.some(o=>o.contains(te))&&(W[0].focus({preventScroll:!0}),j(W[0],o=>K(n,o)||o instanceof Element&&o.closest("[inert]")!==null))}),e.useEffect(()=>{let t=p.current;if(!t||v===0||typeof MutationObserver>"u")return;let n=new MutationObserver(y);return n.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["inert"]}),()=>n.disconnect()},[v,y]);let G=t=>{h?.(t),!(t.key!=="Escape"||t.defaultPrevented||v===0)&&(f(),t.stopPropagation())};e.useEffect(()=>{let t=p.current;if(!t||v===0)return;let n=t.ownerDocument,l=a=>{a.key!=="Escape"||a.defaultPrevented||!K(n,a.target)||f()};return n.addEventListener("keydown",l),()=>n.removeEventListener("keydown",l)},[v,f]);let Z=t=>{I?.(t),t.target instanceof HTMLElement&&p.current?.contains(t.target)&&(q.current=t.target)},x=u.entries.get("rail"),X=x!==void 0&&x.value!==void 0&&x.value!=="closed"?S.has("rail")?`calc(${x.size}px + 2 * var(--shell-inset-gap))`:`${x.size}px`:void 0,V=i==="full"?{}:i==="auto"?{height:"auto"}:typeof i=="number"?{height:`${i}px`}:{height:i};return e.createElement(ve.Provider,{value:u},e.createElement(ge.Provider,{value:P},e.createElement("div",{...H,ref:b,className:$("rt-ShellRoot",r),"data-height":i==="auto"?"auto":void 0,"data-has-inset":S.size>0||void 0,"data-overlay-live":v>0||void 0,onKeyDown:G,onFocus:Z,style:{...V,...X?{"--shell-rail-offset":X}:{},...d}},s,e.createElement("div",{className:"rt-ShellScrim","aria-hidden":!0,onClick:f}))))});Ie.displayName="Shell.Root";var Oe=e.forwardRef(({className:r,height:s=64,style:i,...d},h)=>e.createElement("header",{...d,ref:h,className:$("rt-ShellHeader",r),style:{...i,"--shell-header-height":`${s}px`}}));Oe.displayName="Shell.Header";var Ae=e.forwardRef(({children:r},s)=>(e.useEffect(()=>{},[]),e.createElement(e.Fragment,null,r)));Ae.displayName="Shell.Left";var We={controlled:"open",default:"defaultOpen"},De=e.forwardRef((r,s)=>{let{className:i,presentation:d,expandedSize:h=64,collapsible:I,onExpand:H,onCollapse:w,children:u,style:m,open:p,defaultOpen:b,onOpenChange:S,inset:E,id:T,...C}=r,{table:P,attributes:f}=ie(d,"fixed"),g=re({name:"rail",label:"Rail",propNames:We,id:T,controlled:_(p),defaultValue:_(b),presentationTable:P,builtIn:Ee,onChange:(B,y)=>S?.(B!=="closed",{reason:y}),onExpand:H,onCollapse:w,size:h});Y("rail",E);let v=ue(s,g.setElement);return e.createElement("div",{...C,id:g.id,ref:v,className:$("rt-ShellPane","rt-ShellRail",i),...se(g,f),"data-inset":E||void 0,tabIndex:g.overlaying?-1:C.tabIndex,style:{...m,"--rail-size":`${h}px`}},e.createElement("div",{className:"rt-ShellRailContent"},u))});De.displayName="Shell.Rail";var _e={controlled:"open",default:"defaultOpen"},pe=e.forwardRef((r,s)=>{let{className:i,presentation:d,defaultOpen:h,open:I,onOpenChange:H,size:w,defaultSize:u,expandedSize:m=288,minSize:p=100,maxSize:b=800,resizable:S=!1,collapsible:E=!0,onExpand:T,onCollapse:C,onResize:P,onResizeStart:f,onResizeEnd:g,snapPoints:v,snapTolerance:B,collapseThreshold:y,paneId:N,persistence:O,children:q,style:A,onSizeChange:z,sizeUpdate:D,sizeUpdateMs:j=50,inset:G,id:Z,...x}=r,ee=le("Shell.Panel"),X=ae(ee,"rail"),V=ie(d,"fixed"),t=d===void 0,n=t?X?.presentationTable??oe:V.table,l=t?{"data-presentation-follows":""}:V.attributes,a=re({name:"panel",label:"Panel",propNames:_e,id:Z,controlled:_(I),defaultValue:_(h),presentationTable:n,builtIn:Ce,onChange:(o,c)=>H?.(o!=="closed",{reason:c}),onExpand:T,onCollapse:C,size:m});Y("panel",G),e.useEffect(()=>{(v!==void 0||y!==void 0||N!==void 0||O!==void 0)&&void 0},[v,y,N,O]);let M=e.useRef(null),U=ue(s,a.setElement,M),k=be({name:"panel",elementId:a.id,elementRef:M,cssVarName:"--panel-size",orientation:"vertical",edge:"end",growth:ye,expandedSize:m,minSize:p,maxSize:b,resizable:S,collapsible:E,size:w,defaultSize:u,onSizeChange:z,sizeUpdate:D,sizeUpdateMs:j,onResize:P,onResizeStart:f,onResizeEnd:g,snapPoints:v,snapTolerance:B,collapseThreshold:y,paneId:N,persistence:O,overlaying:a.overlaying,overlayingNow:()=>(t?ee.entries.get("rail")?.presentationTable??oe:V.table)[fe()]==="overlay",requestCollapse:()=>a.setValue("closed","toggle"),requestToggle:()=>a.toggle("toggle")}),{handles:F,content:W}=Se(q,ne),te=S&&a.shown!==!1&&!a.overlaying?e.createElement(me.Provider,{value:k},F.length>0?F:e.createElement(Re,null)):null;return e.createElement("div",{...Me(x),id:a.id,ref:U,className:$("rt-ShellPane","rt-ShellPanel",i),...se(a,l),"data-inset":G||void 0,tabIndex:a.overlaying?-1:x.tabIndex,style:{...A,"--panel-expanded-size":`${m}px`}},e.createElement("div",{className:"rt-ShellPanelContent"},W),te)});pe.displayName="Shell.Panel";pe.Handle=ne;var Fe=e.forwardRef(({className:r,inset:s,...i},d)=>(Y("content",s),e.createElement("main",{...i,ref:d,className:$("rt-ShellContent",r),"data-inset":s||void 0})));Fe.displayName="Shell.Content";var Be=e.forwardRef(({target:r,action:s="toggle",peekOnHover:i,onClick:d,onMouseEnter:h,onMouseLeave:I,children:H,...w},u)=>{let m=le("Shell.Trigger");e.useEffect(()=>{r==="left"&&void 0,i&&void 0},[r,i]);let p=r==="left"?"rail":r,b=ae(m,p),S=b?.value===void 0?void 0:b.value!=="closed",E=P=>{if(d?.(P),P.defaultPrevented)return;let f=m.entries.get(p);f&&(m.peek===p&&Q(m,null),s==="toggle"?f.toggle("toggle"):s==="expand"?f.setValue("open","toggle"):f.setValue("closed","toggle"))},T=P=>{if(h?.(P),!i)return;let f=m.entries.get(p);f&&f.value==="closed"&&f.presentation!=="overlay"&&Q(m,p)},C=P=>{I?.(P),i&&m.peek===p&&Q(m,null)};return e.createElement("button",{type:"button","aria-controls":b?.id,"aria-expanded":S,...w,ref:u,onClick:E,onMouseEnter:T,onMouseLeave:C,"data-shell-trigger":r,"data-shell-action":s},H)});Be.displayName="Shell.Trigger";export{Ie as a,Oe as b,Ae as c,De as d,pe as e,Fe as f,Be as g,Ke as h};
|
|
2
|
+
//# sourceMappingURL=chunk-PYHEBG5I.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/shell.tsx"],
|
|
4
|
+
"sourcesContent": ["/**\n * Shell: the app frame.\n *\n * Since 0.8.0 the Shell is built on kookie-ui-v2's model, behind v1's API:\n *\n * - The Root is a CSS grid and renders its children as given, in JSX order.\n * Each pane claims its own grid area, so the Root never scans or reorders\n * children, any child renders, and a pane mounted after the Root works.\n * - State lives on each pane: `auto` (untouched), `open` or `closed`, and the\n * Sidebar's `thin`. An untouched pane follows the window, resolved by the\n * stylesheet, so first paint needs no script and no open-state callback\n * fires on mount or on a resize.\n * - A pane is one element at every width. `overlay` is a posture of that\n * element, not a Sheet swapped in: crossing a breakpoint keeps its scroll\n * position, its focus and its children's state.\n * - The Root owns what an overlay needs: one scrim, `inert` on everything\n * else, focus moved in and returned, Escape, and a scroll lock.\n * - Nothing links panes to each other. A Rail closing no longer closes the\n * Panel; an app that wants that writes it in `onOpenChange`.\n */\n'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useComposedRefs } from 'radix-ui/internal';\nimport { PaneResizeContext } from './_internal/shell-resize.js';\nimport { PaneHandle, PanelHandle } from './_internal/shell-handles.js';\nimport { Sidebar } from './_internal/shell-sidebar.js';\nimport { Bottom } from './_internal/shell-bottom.js';\nimport { Inspector } from './_internal/shell-inspector.js';\nimport { usePane, paneAttributes, usePresentationTable } from './_internal/shell-pane.js';\nimport { splitHandles, useResizablePane } from './_internal/shell-resizable.js';\nimport {\n FIXED_TABLE,\n ShellInsetContext,\n ShellStoreContext,\n createShellStore,\n setShellPeek,\n subscribeShellStore,\n useInsetRegistration,\n usePaneEntry,\n useShellStore,\n warnOnce,\n type InsetPaneId,\n} from './_internal/shell-store.js';\nimport { navigationRest, detailRest, toPaneValue, startAnchoredGrowth, withoutRemovedPaneProps } from './_internal/shell-rest.js';\nimport { useShell, useSidebarMode } from './shell.context.js';\nimport { useResponsivePresentation } from './shell.hooks.js';\nimport { readBreakpoint } from '../hooks/use-breakpoint.js';\nimport type { Breakpoint, CSSPropertiesWithVars, PaneBaseProps, PaneMode, PaneName, PaneTarget, ResponsivePresentation, SidebarMode } from './shell.types.js';\n\n/* \u2500\u2500 Root \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\nexport interface ShellRootProps extends React.ComponentPropsWithoutRef<'div'> {\n children: React.ReactNode;\n height?: 'full' | 'auto' | string | number;\n}\n\n/**\n * Every Shell with a live overlay holds the page still, counted across Shells,\n * through an attribute the stylesheet reads. Saving and restoring the\n * document's inline `overflow` would fight any other scroll lock on the page.\n */\nlet pageLockHolders = 0;\nfunction updatePageLock(delta: 1 | -1) {\n pageLockHolders = Math.max(0, pageLockHolders + delta);\n const doc = document.documentElement;\n if (pageLockHolders > 0) doc.setAttribute('data-rt-shell-lock', '');\n else doc.removeAttribute('data-rt-shell-lock');\n}\n\n/** Marks a child the Root made inert, so closing removes only what the Root added. */\nconst INERT_MARK = 'data-rt-shell-inert';\n\n/** How many frames a focus rescue watches after an overlay opens or closes. */\nconst RESCUE_FRAMES = 30;\n\n/** Focus that is nowhere useful: the document, or nothing at all. */\nfunction isNowhere(doc: Document, el: Element | EventTarget | null): boolean {\n return el === null || el === doc || el === doc.body || el === doc.documentElement;\n}\n\n/** A Trigger that drives the pane with this id and can take focus, optionally only inside `within`. */\nfunction triggerFor(doc: Document, id: string, within?: HTMLElement[]): HTMLElement | null {\n for (const el of doc.querySelectorAll<HTMLElement>('[data-shell-trigger][aria-controls]')) {\n if (el.getAttribute('aria-controls') !== id || el.closest('[inert]')) continue;\n if (within && !within.some((pane) => pane.contains(el))) continue;\n return el;\n }\n return null;\n}\n\ntype LivePane = { name: PaneName; id: string; el: HTMLElement };\n\nconst Root = React.forwardRef<HTMLDivElement, ShellRootProps>(({ className, children, height = 'full', style, onKeyDown, onFocus, ...props }, ref) => {\n const [store] = React.useState(createShellStore);\n const subscribe = React.useCallback((listener: () => void) => subscribeShellStore(store, listener), [store]);\n // Subscribed for the re-render, not for a value: a pane opening or closing\n // must bring the Root back so containment and the scrim follow it.\n React.useSyncExternalStore(\n subscribe,\n () => store.version,\n () => 0,\n );\n\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const composedRef = useComposedRefs(ref, rootRef);\n\n // Inset: the Root paints the backdrop while any pane is inset.\n const [insetPanes, setInsetPanes] = React.useState<ReadonlySet<InsetPaneId>>(() => new Set());\n const registerInset = React.useCallback((id: InsetPaneId) => {\n setInsetPanes((prev) => (prev.has(id) ? prev : new Set(prev).add(id)));\n }, []);\n const unregisterInset = React.useCallback((id: InsetPaneId) => {\n setInsetPanes((prev) => {\n if (!prev.has(id)) return prev;\n const next = new Set(prev);\n next.delete(id);\n return next;\n });\n }, []);\n const insetContext = React.useMemo(() => ({ registerInset, unregisterInset }), [registerInset, unregisterInset]);\n\n const closeOverlays = React.useCallback(() => {\n for (const entry of store.entries.values()) {\n if (entry.overlayLive) entry.setValue('closed', 'dismiss');\n }\n }, [store]);\n\n const livePanes = React.useCallback(\n (): LivePane[] => [...store.entries.values()].filter((entry) => entry.overlayLive && entry.el).map((entry) => ({ name: entry.name, id: entry.id, el: entry.el as HTMLElement })),\n [store],\n );\n const liveCount = [...store.entries.values()].filter((entry) => entry.overlayLive && entry.el).length;\n\n // A Shell given a height of its own sits inside a page, and its overlays\n // cover only its box: it holds no page lock. `full` is the page, and\n // `auto` grows with its content, so its overlays are placed on the window.\n const contained = height !== 'full' && height !== 'auto';\n\n /*\n * Containment is the Root's, not the pane's. Only the Root can see every live\n * overlay and every child at once. A per-pane effect, given two overlays,\n * inerts the other live overlay and restores values the other effect wrote,\n * which can leave the whole frame inert for good.\n *\n * Exempt are the scrim and each root child that CONTAINS a live overlay, so\n * a pane wrapped in a plain element is not inerted with its wrapper. A child\n * the Root inerts is marked, and closing clears only marked children, so\n * `inert` the app sets on a child is the app's before, during and after.\n */\n const contain = React.useCallback(() => {\n const rootEl = rootRef.current;\n if (!rootEl) return;\n const liveEls = livePanes().map((pane) => pane.el);\n for (const child of rootEl.children) {\n if (!(child instanceof HTMLElement) || child.classList.contains('rt-ShellScrim')) continue;\n const holdsLive = liveEls.some((el) => child === el || child.contains(el));\n if (liveEls.length === 0 || holdsLive) {\n if (child.hasAttribute(INERT_MARK)) {\n child.removeAttribute(INERT_MARK);\n child.inert = false;\n }\n } else if (!child.inert) {\n child.setAttribute(INERT_MARK, '');\n child.inert = true;\n }\n }\n }, [livePanes]);\n\n const returnFocusTo = React.useRef<HTMLElement | null>(null);\n const lastLive = React.useRef<LivePane[]>([]);\n const lastFocusInRoot = React.useRef<HTMLElement | null>(null);\n const holdsLock = React.useRef(false);\n\n /*\n * Focus can be taken away after the commit that moved it: a menu that\n * opened or closed a pane restores focus to its own trigger when it\n * finishes closing, which may be inert or hidden by then. For a few frames\n * after an overlay opens or closes, focus that ends up nowhere useful is\n * put back where it belongs.\n */\n const rescueFrame = React.useRef(0);\n const cancelRescue = React.useCallback(() => {\n if (rescueFrame.current) cancelAnimationFrame(rescueFrame.current);\n rescueFrame.current = 0;\n }, []);\n const rescueFocus = React.useCallback(\n (target: HTMLElement, lost: (active: Element | null) => boolean) => {\n cancelRescue();\n let frames = 0;\n const tick = () => {\n rescueFrame.current = 0;\n if (!target.isConnected) return;\n if (lost(target.ownerDocument.activeElement)) {\n target.focus({ preventScroll: true });\n return;\n }\n frames += 1;\n if (frames < RESCUE_FRAMES) rescueFrame.current = requestAnimationFrame(tick);\n };\n rescueFrame.current = requestAnimationFrame(tick);\n },\n [cancelRescue],\n );\n\n React.useEffect(\n () => () => {\n cancelRescue();\n if (holdsLock.current) {\n holdsLock.current = false;\n updatePageLock(-1);\n }\n },\n [cancelRescue],\n );\n\n // No dependency array, on purpose: a pane opening or closing is a render\n // of this component, and so is a child appearing through the Root.\n React.useEffect(() => {\n const rootEl = rootRef.current;\n if (!rootEl) return;\n const doc = rootEl.ownerDocument;\n const live = livePanes();\n const liveEls = live.map((pane) => pane.el);\n\n const wantsLock = !contained && live.length > 0;\n if (wantsLock !== holdsLock.current) {\n holdsLock.current = wantsLock;\n updatePageLock(wantsLock ? 1 : -1);\n }\n\n const previous = lastLive.current;\n lastLive.current = live;\n // A pane that left the live set because it closed, as opposed to one\n // that is still open but stopped being an overlay at a breakpoint.\n const closed = previous.filter((pane) => {\n if (liveEls.includes(pane.el)) return false;\n const entry = store.entries.get(pane.name);\n return !pane.el.isConnected || !entry || entry.el !== pane.el || entry.value === 'closed';\n });\n const inClosed = (active: Element | null) => active !== null && closed.some((pane) => pane.el.contains(active));\n\n // The return target is taken on the opening edge, before inerting: inerting\n // the subtree that holds the trigger blurs it. Focus already inside the\n // overlay (a pane that became one at a breakpoint) is no place to return\n // to, and an opener in a portal (a menu item) goes away with its menu, so\n // the last place focus held inside the frame stands in for it.\n if (previous.length === 0 && live.length > 0) {\n const active = doc.activeElement;\n let target = active instanceof HTMLElement && !isNowhere(doc, active) && !liveEls.some((el) => el.contains(active)) ? active : null;\n if (target && !rootEl.contains(target)) {\n const inRoot = lastFocusInRoot.current;\n if (inRoot && inRoot.isConnected && !liveEls.some((el) => el.contains(inRoot))) target = inRoot;\n }\n returnFocusTo.current = target;\n }\n\n contain();\n\n if (live.length === 0) {\n const before = returnFocusTo.current;\n returnFocusTo.current = null;\n // Every overlay that left only stopped being one: focus stays where it is.\n if (closed.length === 0) return;\n const usable = (el: HTMLElement | null) => el !== null && el.isConnected && !el.closest('[inert]') && !inClosed(el);\n let target = usable(before) ? before : null;\n for (const pane of closed) target ??= triggerFor(doc, pane.id);\n if (!target) return;\n const lost = (active: Element | null) => isNowhere(doc, active) || inClosed(active);\n if (lost(doc.activeElement)) target.focus({ preventScroll: true });\n else rescueFocus(target, lost);\n return;\n }\n\n // Some overlays closed while others stay: focus left in a closed one goes\n // to the Trigger that opened it, if a live pane holds it, or to the pane\n // on top.\n if (closed.length > 0) {\n const active = doc.activeElement;\n if (isNowhere(doc, active) || inClosed(active)) {\n let target: HTMLElement | null = null;\n for (const pane of closed) target ??= triggerFor(doc, pane.id, liveEls);\n (target ?? liveEls[liveEls.length - 1]).focus({ preventScroll: true });\n }\n }\n\n // Focus moves in on the opening edge and nowhere else, and only when it\n // is not already somewhere the user put it inside the live set.\n const opened = liveEls.filter((el) => !previous.some((pane) => pane.el === el));\n const active = doc.activeElement;\n if (opened.length > 0 && !liveEls.some((el) => el.contains(active))) {\n opened[0].focus({ preventScroll: true });\n rescueFocus(opened[0], (now) => isNowhere(doc, now) || (now instanceof Element && now.closest('[inert]') !== null));\n }\n });\n\n // A child that appears through its own state while an overlay is live does\n // not render the Root, so the Root watches its children while one is.\n React.useEffect(() => {\n const rootEl = rootRef.current;\n if (!rootEl || liveCount === 0 || typeof MutationObserver === 'undefined') return;\n const observer = new MutationObserver(contain);\n observer.observe(rootEl, { childList: true, subtree: true, attributes: true, attributeFilter: ['inert'] });\n return () => observer.disconnect();\n }, [liveCount, contain]);\n\n /*\n * Escape closes the overlays. It is handled as a React event on the Root, so\n * a component inside a pane that answers Escape in its own onKeyDown runs\n * first, and its preventDefault() or stopPropagation() keeps the pane open.\n * When the Root closes something it stops the event there, so a React\n * Escape handler above the Shell does not act on it too. A layer that\n * listens on the document in the capture phase (Radix dialogs, menus and\n * popovers) answers first and calls preventDefault() when it closes, so an\n * enclosing Kookie Dialog closes before a Shell inside it is asked.\n */\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(event);\n if (event.key !== 'Escape' || event.defaultPrevented || liveCount === 0) return;\n closeOverlays();\n event.stopPropagation();\n };\n\n // With focus on the document itself (a pane closed under it, or a menu that\n // closed and took focus with it), the Root never sees the key. While an\n // overlay is live the document answers that one case.\n React.useEffect(() => {\n const rootEl = rootRef.current;\n if (!rootEl || liveCount === 0) return;\n const doc = rootEl.ownerDocument;\n const onDocumentKeyDown = (event: KeyboardEvent) => {\n if (event.key !== 'Escape' || event.defaultPrevented || !isNowhere(doc, event.target)) return;\n closeOverlays();\n };\n doc.addEventListener('keydown', onDocumentKeyDown);\n return () => doc.removeEventListener('keydown', onDocumentKeyDown);\n }, [liveCount, closeOverlays]);\n\n const handleFocus = (event: React.FocusEvent<HTMLDivElement>) => {\n onFocus?.(event);\n if (event.target instanceof HTMLElement && rootRef.current?.contains(event.target)) lastFocusInRoot.current = event.target;\n };\n\n // A floating Panel sits beside the Rail when the Rail is showing, and\n // beside its card when the Rail is inset.\n const rail = store.entries.get('rail');\n const railShown = rail !== undefined && rail.value !== undefined && rail.value !== 'closed';\n const railOffset = railShown ? (insetPanes.has('rail') ? `calc(${rail.size}px + 2 * var(--shell-inset-gap))` : `${rail.size}px`) : undefined;\n\n // `full` writes no inline height: the stylesheet states it as 100vh with a\n // 100dvh override where supported, and an inline value would beat both.\n const heightStyle: React.CSSProperties = height === 'full' ? {} : height === 'auto' ? { height: 'auto' } : typeof height === 'number' ? { height: `${height}px` } : { height };\n\n return (\n <ShellStoreContext.Provider value={store}>\n <ShellInsetContext.Provider value={insetContext}>\n {/* The Root is not a widget: it hears Escape bubbling up from the panes,\n after their own handlers, to close the overlays. */}\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div\n {...props}\n ref={composedRef}\n className={classNames('rt-ShellRoot', className)}\n data-height={height === 'auto' ? 'auto' : undefined}\n data-has-inset={insetPanes.size > 0 || undefined}\n data-overlay-live={liveCount > 0 || undefined}\n onKeyDown={handleKeyDown}\n onFocus={handleFocus}\n style={{ ...heightStyle, ...(railOffset ? ({ '--shell-rail-offset': railOffset } as CSSPropertiesWithVars) : {}), ...style }}\n >\n {children}\n {/* Root-owned and always mounted. The stylesheet shows it while an\n overlay is live; containment takes the rest of the frame out of\n the accessibility tree, so the scrim itself is hidden from it. */}\n <div className=\"rt-ShellScrim\" aria-hidden onClick={closeOverlays} />\n </div>\n </ShellInsetContext.Provider>\n </ShellStoreContext.Provider>\n );\n});\nRoot.displayName = 'Shell.Root';\n\n/* \u2500\u2500 Header \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ninterface ShellHeaderProps extends React.ComponentPropsWithoutRef<'header'> {\n height?: number;\n}\n\nconst Header = React.forwardRef<HTMLElement, ShellHeaderProps>(({ className, height = 64, style, ...props }, ref) => (\n <header\n {...props}\n ref={ref}\n className={classNames('rt-ShellHeader', className)}\n style={\n {\n ...style,\n '--shell-header-height': `${height}px`,\n } as CSSPropertiesWithVars\n }\n />\n));\nHeader.displayName = 'Shell.Header';\n\n/* \u2500\u2500 Left (deprecated) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ninterface LeftProps extends React.ComponentPropsWithoutRef<'div'> {\n presentation?: ResponsivePresentation;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean, meta: { reason: 'init' | 'toggle' | 'panel' | 'responsive' | 'dismiss' }) => void;\n collapsible?: boolean;\n onExpand?: () => void;\n onCollapse?: () => void;\n inset?: boolean;\n}\n\n/**\n * @deprecated The Root no longer wraps the Rail and Panel in a Left\n * container: each is its own pane. `Shell.Left` renders its children and\n * ignores its own props. Removed in 1.0.\n */\nconst Left = React.forwardRef<HTMLDivElement, LeftProps>(({ children }, _ref) => {\n React.useEffect(() => {\n warnOnce('Shell.Left is deprecated and is removed in 1.0. Render Shell.Rail and Shell.Panel directly in Shell.Root.');\n }, []);\n return <>{children}</>;\n});\nLeft.displayName = 'Shell.Left';\n\n/* \u2500\u2500 Rail \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ntype RailOpenChangeMeta = { reason: 'init' | 'toggle' | 'responsive' | 'panel' | 'dismiss' };\n\ntype RailControlledProps = { open: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: RailOpenChangeMeta) => void; defaultOpen?: never };\ntype RailUncontrolledProps = { defaultOpen?: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: RailOpenChangeMeta) => void; open?: never };\n\ntype RailProps = React.ComponentPropsWithoutRef<'div'> & {\n presentation?: ResponsivePresentation;\n expandedSize?: number;\n collapsible?: boolean;\n /** @deprecated Use `onOpenChange`. */\n onExpand?: () => void;\n /** @deprecated Use `onOpenChange`. */\n onCollapse?: () => void;\n /** When true, adds margin and triggers the gray backdrop on the Shell. */\n inset?: boolean;\n} & (RailControlledProps | RailUncontrolledProps);\n\nconst RAIL_PROP_NAMES = { controlled: 'open', default: 'defaultOpen' };\n\nconst Rail = React.forwardRef<HTMLDivElement, RailProps>((props, ref) => {\n const { className, presentation, expandedSize = 64, collapsible: _collapsible, onExpand, onCollapse, children, style, open, defaultOpen, onOpenChange, inset, id, ...domProps } = props;\n const { table, attributes } = usePresentationTable(presentation, 'fixed');\n const pane = usePane({\n name: 'rail',\n label: 'Rail',\n propNames: RAIL_PROP_NAMES,\n id,\n controlled: toPaneValue(open),\n defaultValue: toPaneValue(defaultOpen),\n presentationTable: table,\n builtIn: navigationRest,\n onChange: (value, reason) => onOpenChange?.(value !== 'closed', { reason }),\n onExpand,\n onCollapse,\n size: expandedSize,\n });\n useInsetRegistration('rail', inset);\n const composedRef = useComposedRefs(ref, pane.setElement);\n\n return (\n <div\n {...domProps}\n id={pane.id}\n ref={composedRef}\n className={classNames('rt-ShellPane', 'rt-ShellRail', className)}\n {...paneAttributes(pane, attributes)}\n data-inset={inset || undefined}\n tabIndex={pane.overlaying ? -1 : domProps.tabIndex}\n style={{ ...style, '--rail-size': `${expandedSize}px` } as CSSPropertiesWithVars}\n >\n <div className=\"rt-ShellRailContent\">{children}</div>\n </div>\n );\n});\nRail.displayName = 'Shell.Rail';\n\n/* \u2500\u2500 Panel \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ntype HandleComponent = React.ForwardRefExoticComponent<React.ComponentPropsWithoutRef<'div'> & React.RefAttributes<HTMLDivElement>>;\n\ntype PanelOpenChangeMeta = { reason: 'toggle' | 'left' | 'init' | 'responsive' | 'dismiss' };\ntype PanelControlledProps = { open: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: PanelOpenChangeMeta) => void; defaultOpen?: never };\ntype PanelUncontrolledProps = { defaultOpen?: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: PanelOpenChangeMeta) => void; open?: never };\n\ntype PanelSizeControlledProps = { size: number | string; defaultSize?: never };\ntype PanelSizeUncontrolledProps = { defaultSize?: number | string; size?: never };\n\ntype PanelSizeChangeMeta = { reason: 'init' | 'resize' | 'controlled' };\ntype PanelPublicProps = PaneBaseProps &\n (PanelControlledProps | PanelUncontrolledProps) &\n (PanelSizeControlledProps | PanelSizeUncontrolledProps) & {\n onSizeChange?: (size: number, meta: PanelSizeChangeMeta) => void;\n sizeUpdate?: 'throttle' | 'debounce';\n sizeUpdateMs?: number;\n /** When true, adds margin and triggers the gray backdrop on the Shell. */\n inset?: boolean;\n };\ntype PanelComponent = React.ForwardRefExoticComponent<PanelPublicProps & React.RefAttributes<HTMLDivElement>> & {\n Handle: HandleComponent;\n};\n\nconst PANEL_PROP_NAMES = { controlled: 'open', default: 'defaultOpen' };\n\n/**\n * A Panel with a `presentation` of its own uses it. One without follows the\n * Rail rendered before it, which is how 0.7 placed a Panel; the stylesheet\n * reads the Rail's attributes for the first paint and the registry carries\n * the Rail's table for the JS mirror.\n */\nconst Panel = React.forwardRef<HTMLDivElement, PanelPublicProps>((props, ref) => {\n const {\n className,\n presentation,\n defaultOpen,\n open,\n onOpenChange,\n size,\n defaultSize,\n expandedSize = 288,\n minSize = 100,\n maxSize = 800,\n resizable = false,\n collapsible = true,\n onExpand,\n onCollapse,\n onResize,\n onResizeStart,\n onResizeEnd,\n snapPoints,\n snapTolerance,\n collapseThreshold,\n paneId,\n persistence,\n children,\n style,\n onSizeChange,\n sizeUpdate,\n sizeUpdateMs = 50,\n inset,\n id,\n ...domProps\n } = props;\n const store = useShellStore('Shell.Panel');\n const rail = usePaneEntry(store, 'rail');\n const own = usePresentationTable(presentation, 'fixed');\n const followsRail = presentation === undefined;\n const presentationTable = followsRail ? (rail?.presentationTable ?? FIXED_TABLE) : own.table;\n const presentationAttributes = followsRail ? { 'data-presentation-follows': '' } : own.attributes;\n\n const pane = usePane({\n name: 'panel',\n label: 'Panel',\n propNames: PANEL_PROP_NAMES,\n id,\n controlled: toPaneValue(open),\n defaultValue: toPaneValue(defaultOpen),\n presentationTable,\n builtIn: detailRest,\n onChange: (value, reason) => onOpenChange?.(value !== 'closed', { reason }),\n onExpand,\n onCollapse,\n size: expandedSize,\n });\n useInsetRegistration('panel', inset);\n\n React.useEffect(() => {\n if (snapPoints !== undefined || collapseThreshold !== undefined || paneId !== undefined || persistence !== undefined) {\n warnOnce('Shell.Panel: `snapPoints`, `collapseThreshold`, `paneId` and `persistence` are deprecated and are removed in 1.0. Keep the size in your own state with `size`/`onSizeChange`.');\n }\n }, [snapPoints, collapseThreshold, paneId, persistence]);\n\n const elementRef = React.useRef<HTMLElement | null>(null);\n const composedRef = useComposedRefs(ref, pane.setElement, elementRef);\n\n const resize = useResizablePane({\n name: 'panel',\n elementId: pane.id,\n elementRef,\n cssVarName: '--panel-size',\n orientation: 'vertical',\n edge: 'end',\n growth: startAnchoredGrowth,\n expandedSize,\n minSize,\n maxSize,\n resizable,\n collapsible,\n size,\n defaultSize,\n onSizeChange,\n sizeUpdate,\n sizeUpdateMs,\n onResize,\n onResizeStart,\n onResizeEnd,\n snapPoints,\n snapTolerance,\n collapseThreshold,\n paneId,\n persistence,\n overlaying: pane.overlaying,\n // Asked when the effect runs: the Rail registers its table after this\n // Panel first renders, so the render's answer can be out of date.\n overlayingNow: () => {\n const table = followsRail ? (store.entries.get('rail')?.presentationTable ?? FIXED_TABLE) : own.table;\n return table[readBreakpoint()] === 'overlay';\n },\n requestCollapse: () => pane.setValue('closed', 'toggle'),\n requestToggle: () => pane.toggle('toggle'),\n });\n\n const { handles, content } = splitHandles(children, PanelHandle);\n const handle = resizable && pane.shown !== false && !pane.overlaying ? <PaneResizeContext.Provider value={resize}>{handles.length > 0 ? handles : <PaneHandle />}</PaneResizeContext.Provider> : null;\n\n return (\n <div\n {...withoutRemovedPaneProps(domProps)}\n id={pane.id}\n ref={composedRef}\n className={classNames('rt-ShellPane', 'rt-ShellPanel', className)}\n {...paneAttributes(pane, presentationAttributes)}\n data-inset={inset || undefined}\n tabIndex={pane.overlaying ? -1 : domProps.tabIndex}\n style={\n {\n ...style,\n '--panel-expanded-size': `${expandedSize}px`,\n } as CSSPropertiesWithVars\n }\n >\n <div className=\"rt-ShellPanelContent\">{content}</div>\n {handle}\n </div>\n );\n}) as PanelComponent;\nPanel.displayName = 'Shell.Panel';\nPanel.Handle = PanelHandle;\n\n/* \u2500\u2500 Content \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ninterface ShellContentProps extends React.ComponentPropsWithoutRef<'main'> {\n /** When true, adds margin and triggers the gray backdrop on the Shell. */\n inset?: boolean;\n}\n\nconst Content = React.forwardRef<HTMLElement, ShellContentProps>(({ className, inset, ...props }, ref) => {\n useInsetRegistration('content', inset);\n return <main {...props} ref={ref} className={classNames('rt-ShellContent', className)} data-inset={inset || undefined} />;\n});\nContent.displayName = 'Shell.Content';\n\n/* \u2500\u2500 Trigger \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ntype TriggerAction = 'toggle' | 'expand' | 'collapse';\n\ninterface TriggerProps extends React.ComponentPropsWithoutRef<'button'> {\n target: PaneTarget;\n action?: TriggerAction;\n /**\n * Whether to show a preview of the target pane on hover while it is closed\n * and not an overlay. Defaults to false.\n *\n * @deprecated Removed in 1.0. A preview reachable only by mouse hover has no\n * keyboard or touch equivalent; open the pane instead.\n */\n peekOnHover?: boolean;\n}\n\n/**\n * A button that drives a pane by name, through the registry. It sets\n * `aria-controls` and `aria-expanded` (left off while an untouched pane\n * cannot know its state yet), renders `type=\"button\"`, and runs the\n * consumer's `onClick` first: calling `preventDefault()` there cancels it.\n */\nconst Trigger = React.forwardRef<HTMLButtonElement, TriggerProps>(({ target, action = 'toggle', peekOnHover, onClick, onMouseEnter, onMouseLeave, children, ...props }, ref) => {\n const store = useShellStore('Shell.Trigger');\n React.useEffect(() => {\n if (target === 'left') warnOnce('Shell.Trigger target=\"left\" is deprecated and is removed in 1.0. Use target=\"rail\".');\n if (peekOnHover) warnOnce('Shell.Trigger: `peekOnHover` is deprecated and is removed in 1.0.');\n }, [target, peekOnHover]);\n const name: PaneName = target === 'left' ? 'rail' : target;\n // Subscribes to its own pane only.\n const entry = usePaneEntry(store, name);\n const shown = entry?.value === undefined ? undefined : entry.value !== 'closed';\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n onClick?.(event);\n if (event.defaultPrevented) return;\n const current = store.entries.get(name);\n if (!current) return;\n if (store.peek === name) setShellPeek(store, null);\n if (action === 'toggle') current.toggle('toggle');\n else if (action === 'expand') current.setValue('open', 'toggle');\n else current.setValue('closed', 'toggle');\n };\n\n const handleMouseEnter = (event: React.MouseEvent<HTMLButtonElement>) => {\n onMouseEnter?.(event);\n if (!peekOnHover) return;\n const current = store.entries.get(name);\n if (current && current.value === 'closed' && current.presentation !== 'overlay') setShellPeek(store, name);\n };\n\n const handleMouseLeave = (event: React.MouseEvent<HTMLButtonElement>) => {\n onMouseLeave?.(event);\n if (peekOnHover && store.peek === name) setShellPeek(store, null);\n };\n\n return (\n <button\n // A button's default type is `submit`. Stated before the spread, so a consumer's own wins.\n type=\"button\"\n aria-controls={entry?.id}\n aria-expanded={shown}\n {...props}\n ref={ref}\n onClick={handleClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n data-shell-trigger={target}\n data-shell-action={action}\n >\n {children}\n </button>\n );\n});\nTrigger.displayName = 'Shell.Trigger';\n\n// Exports\nexport {\n Root,\n Header,\n Left,\n Rail,\n Panel,\n Sidebar,\n Content,\n Inspector,\n Bottom,\n Trigger,\n useShell,\n useSidebarMode,\n useResponsivePresentation,\n type PaneMode,\n type SidebarMode,\n type ResponsivePresentation,\n type PaneTarget,\n type TriggerAction,\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["shell_exports", "__export", "Bottom", "Content", "Header", "Inspector", "Left", "Panel", "Rail", "Root", "Sidebar", "Trigger", "useResponsivePresentation", "useShell", "useSidebarMode", "React", "classNames", "useComposedRefs", "pageLockHolders", "updatePageLock", "delta", "doc", "INERT_MARK", "RESCUE_FRAMES", "isNowhere", "el", "triggerFor", "id", "within", "pane", "Root", "className", "children", "height", "style", "onKeyDown", "onFocus", "props", "ref", "store", "createShellStore", "subscribe", "listener", "subscribeShellStore", "rootRef", "composedRef", "useComposedRefs", "insetPanes", "setInsetPanes", "registerInset", "prev", "unregisterInset", "next", "insetContext", "closeOverlays", "entry", "livePanes", "liveCount", "contained", "contain", "rootEl", "liveEls", "child", "holdsLive", "returnFocusTo", "lastLive", "lastFocusInRoot", "holdsLock", "rescueFrame", "cancelRescue", "rescueFocus", "target", "lost", "frames", "tick", "live", "wantsLock", "previous", "closed", "inClosed", "active", "inRoot", "before", "opened", "now", "observer", "handleKeyDown", "event", "onDocumentKeyDown", "handleFocus", "rail", "railOffset", "heightStyle", "ShellStoreContext", "ShellInsetContext", "classNames", "Header", "Left", "_ref", "RAIL_PROP_NAMES", "Rail", "presentation", "expandedSize", "_collapsible", "onExpand", "onCollapse", "open", "defaultOpen", "onOpenChange", "inset", "domProps", "table", "attributes", "usePresentationTable", "usePane", "toPaneValue", "navigationRest", "value", "reason", "useInsetRegistration", "paneAttributes", "PANEL_PROP_NAMES", "Panel", "size", "defaultSize", "minSize", "maxSize", "resizable", "collapsible", "onResize", "onResizeStart", "onResizeEnd", "snapPoints", "snapTolerance", "collapseThreshold", "paneId", "persistence", "onSizeChange", "sizeUpdate", "sizeUpdateMs", "useShellStore", "usePaneEntry", "own", "followsRail", "presentationTable", "FIXED_TABLE", "presentationAttributes", "detailRest", "elementRef", "resize", "useResizablePane", "startAnchoredGrowth", "readBreakpoint", "handles", "content", "splitHandles", "PanelHandle", "handle", "PaneResizeContext", "PaneHandle", "withoutRemovedPaneProps", "Content", "Trigger", "action", "peekOnHover", "onClick", "onMouseEnter", "onMouseLeave", "name", "shown", "handleClick", "current", "setShellPeek", "handleMouseEnter", "handleMouseLeave"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as m}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as m}from"./chunk-OTKQN2KY.js";import{a as i}from"./chunk-GSTOGDAJ.js";import{a as n}from"./chunk-UBSLEGQZ.js";import*as o from"react";import{Slot as g}from"radix-ui";var h={...m,...i},c=o.memo(o.forwardRef((d,e)=>{let{children:p,className:r,asChild:P,as:H="h1",color:t,...s}=n(d,h),a=r?`rt-Heading ${r}`:"rt-Heading";return P?o.createElement(g.Root,{"data-accent-color":t,...s,ref:e,className:a},p):o.createElement(H,{"data-accent-color":t,...s,ref:e,className:a},p)}));c.displayName="Heading";export{c as a};
|
|
2
|
+
//# sourceMappingURL=chunk-PYXMGEO7.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as p}from"./chunk-GSTOGDAJ.js";import{a}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as p}from"./chunk-GSTOGDAJ.js";import{a}from"./chunk-UBSLEGQZ.js";import{a as m}from"./chunk-CFNESRYI.js";import{a as l}from"./chunk-OS3FCYZY.js";var R={};l(R,{Content:()=>g,List:()=>P,Root:()=>b,Trigger:()=>f});import*as e from"react";import i from"classnames";import{Tabs as n}from"radix-ui";var b=e.forwardRef((s,o)=>{let{className:r,...t}=a(s,p);return e.createElement(n.Root,{...t,ref:o,className:i("rt-TabsRoot",r)})});b.displayName="Tabs.Root";var P=e.forwardRef((s,o)=>{let{className:r,color:t,panelBackground:T,...c}=a(s,m,p);return e.createElement(n.List,{"data-accent-color":t,"data-panel-background":T,...c,asChild:!1,ref:o,className:i("rt-BaseTabList","rt-TabsList",r)})});P.displayName="Tabs.List";var f=e.forwardRef((s,o)=>{let{className:r,children:t,...T}=s;return e.createElement(n.Trigger,{...T,asChild:!1,ref:o,className:i("rt-reset","rt-BaseTabListTrigger","rt-TabsTrigger",r)},e.createElement("span",{className:"rt-BaseTabListTriggerInner rt-TabsTriggerInner"},t),e.createElement("span",{className:"rt-BaseTabListTriggerInnerHidden rt-TabsTriggerInnerHidden"},t))});f.displayName="Tabs.Trigger";var g=e.forwardRef((s,o)=>{let{className:r,...t}=a(s,p);return e.createElement(n.Content,{...t,ref:o,className:i("rt-TabsContent",r),"aria-live":"polite","aria-atomic":"true"})});g.displayName="Tabs.Content";export{b as a,P as b,f as c,g as d,R as e};
|
|
2
|
+
//# sourceMappingURL=chunk-QEGEUD4D.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as e}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as e}from"./chunk-5TAHT6VC.js";import*as o from"react";import n from"classnames";import{Slot as u}from"radix-ui";var a=o.forwardRef((t,p)=>{let{asChild:r,children:s,className:m,...c}=t,l=r?u.Root:"blockquote";return o.createElement(e,{asChild:!0,...c,ref:p,className:n("rt-Blockquote",m)},o.createElement(l,null,s))});a.displayName="Blockquote";export{a};
|
|
2
|
+
//# sourceMappingURL=chunk-QJVAS7AK.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as y,c as u}from"./chunk-HCNO7PX6.js";import{a as V,b as E,c as N}from"./chunk-GMHA5CFH.js";import{o as x}from"./chunk-A2XVR7GL.js";import{a as T,b as w}from"./chunk-BZZXXZ3O.js";import{a as M}from"./chunk-HWQ3NTJP.js";import{b as B,d as H,g as I}from"./chunk-3J6AUDID.js";import{a as C}from"./chunk-3XSB7YIM.js";import*as t from"react";import ue from"classnames";import{useComposedRefs as ce}from"radix-ui/internal";var k=e=>e==="collapsed"?"closed":e==="thin"?"thin":"open",be=e=>e==="closed"?"collapsed":e==="thin"?"thin":"expanded";function A(e){if(e===void 0)return;if(typeof e=="string")return k(e);let i={};for(let[n,o]of Object.entries(e))o!==void 0&&(i[n]=k(o));return i}var Se={controlled:"state",default:"defaultState"},me={initial:"overlay",sm:"fixed"},U=e=>e==="closed"?"thin":e==="thin"?"open":"closed",$=(e,i)=>{let n=i==="thin"?"thin":"open";return e==="closed"?n:e===n?"closed":n},D=t.forwardRef((e,i)=>{let{className:n,presentation:o=me,expandedSize:s=288,minSize:c=200,maxSize:b=400,resizable:S=!1,collapsible:L=!0,onExpand:O,onCollapse:_,onResize:W,onResizeStart:j,onResizeEnd:q,snapPoints:r,snapTolerance:F,collapseThreshold:d,paneId:l,persistence:p,children:G,style:K,thinSize:m=64,toggleModes:f="both",state:J,defaultState:Q,onStateChange:X,size:Y,defaultSize:Z,onSizeChange:ee,sizeUpdate:ae,sizeUpdateMs:te=50,inset:h,id:ne,...g}=e,{table:P,attributes:ie}=N(o,"fixed"),a=V({name:"sidebar",label:"Sidebar",propNames:Se,id:ne,controlled:A(J),defaultValue:A(Q),presentationTable:P,builtIn:B,onChange:(le,pe)=>X?.(be(le),{reason:pe}),toggleNext:f==="single"?$:U,onExpand:O,onCollapse:_,size:s});x("sidebar",h),t.useEffect(()=>{(r!==void 0||d!==void 0||l!==void 0||p!==void 0)&&void 0},[r,d,l,p]);let z=t.useRef(null),oe=ce(i,a.setElement,z),se=T({name:"sidebar",elementId:a.id,elementRef:z,cssVarName:"--sidebar-size",orientation:"vertical",edge:"end",growth:H,expandedSize:s,minSize:c,maxSize:b,resizable:S,collapsible:L,size:Y,defaultSize:Z,onSizeChange:ee,sizeUpdate:ae,sizeUpdateMs:te,onResize:W,onResizeStart:j,onResizeEnd:q,snapPoints:r,snapTolerance:F,collapseThreshold:d,paneId:l,persistence:p,overlaying:a.overlaying,overlayingNow:()=>P[C()]==="overlay",requestCollapse:()=>a.setValue("closed","toggle"),requestToggle:()=>a.toggle("toggle")}),{handles:R,content:re}=w(G,u),de=S&&a.value!=="closed"&&a.value!=="thin"&&!a.overlaying?t.createElement(M.Provider,{value:se},R.length>0?R:t.createElement(y,null)):null,v=a.peeking?(f==="single"?$:U)("closed",a.defaultHereNow())==="thin"?`${m}px`:`var(--sidebar-size, ${s}px)`:void 0;return t.createElement("div",{...I(g),id:a.id,ref:oe,className:ue("rt-ShellPane","rt-ShellSidebar",n),...E(a,ie),"data-inset":h||void 0,tabIndex:a.overlaying?-1:g.tabIndex,style:{...K,"--sidebar-expanded-size":`${s}px`,"--sidebar-thin-size":`${m}px`,"--sidebar-min-size":`${c}px`,"--sidebar-max-size":`${b}px`,...v?{"--peek-sidebar-width":v}:{}}},t.createElement("div",{className:"rt-ShellSidebarContent"},re),de)});D.displayName="Shell.Sidebar";D.Handle=u;export{D as a};
|
|
2
|
+
//# sourceMappingURL=chunk-ROSWI2CL.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/_internal/shell-sidebar.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useComposedRefs } from 'radix-ui/internal';\nimport { PaneResizeContext } from './shell-resize.js';\nimport { PaneHandle, SidebarHandle } from './shell-handles.js';\nimport { usePane, paneAttributes, usePresentationTable } from './shell-pane.js';\nimport { splitHandles, useResizablePane, type SizeChangeMeta } from './shell-resizable.js';\nimport { useInsetRegistration, warnOnce, type PaneValue } from './shell-store.js';\nimport { navigationRest, startAnchoredGrowth, withoutRemovedPaneProps } from './shell-rest.js';\nimport { readBreakpoint } from '../../hooks/use-breakpoint.js';\nimport type { Breakpoint, CSSPropertiesWithVars, PaneBaseProps, Responsive, SidebarMode } from '../shell.types.js';\n\ntype SidebarStateChangeMeta = { reason: 'init' | 'toggle' | 'responsive' | 'dismiss' };\ntype SidebarControlledProps = { state: Responsive<SidebarMode>; onStateChange?: (state: SidebarMode, meta: SidebarStateChangeMeta) => void; defaultState?: never };\ntype SidebarUncontrolledProps = { defaultState?: SidebarMode | Partial<Record<Breakpoint, SidebarMode>>; onStateChange?: (state: SidebarMode, meta: SidebarStateChangeMeta) => void; state?: never };\ntype SidebarPublicProps = PaneBaseProps & {\n thinSize?: number;\n /** `both` toggles through collapsed, thin and expanded; `single` between collapsed and the default. */\n toggleModes?: 'both' | 'single';\n size?: number | string;\n defaultSize?: number | string;\n onSizeChange?: (size: number, meta: SizeChangeMeta) => void;\n sizeUpdate?: 'throttle' | 'debounce';\n sizeUpdateMs?: number;\n /** When true, adds margin and triggers the gray backdrop on the Shell. */\n inset?: boolean;\n} & (SidebarControlledProps | SidebarUncontrolledProps);\n\ntype SidebarComponent = React.ForwardRefExoticComponent<SidebarPublicProps & React.RefAttributes<HTMLDivElement>> & { Handle: typeof SidebarHandle };\n\nconst toValue = (mode: SidebarMode): PaneValue => (mode === 'collapsed' ? 'closed' : mode === 'thin' ? 'thin' : 'open');\nconst toMode = (value: PaneValue): SidebarMode => (value === 'closed' ? 'collapsed' : value === 'thin' ? 'thin' : 'expanded');\n\nfunction modeToValue(state: Responsive<SidebarMode> | undefined): PaneValue | Partial<Record<Breakpoint, PaneValue>> | undefined {\n if (state === undefined) return undefined;\n if (typeof state === 'string') return toValue(state);\n const map: Partial<Record<Breakpoint, PaneValue>> = {};\n for (const [bp, mode] of Object.entries(state) as Array<[Breakpoint, SidebarMode | undefined]>) {\n if (mode !== undefined) map[bp] = toValue(mode);\n }\n return map;\n}\n\nconst SIDEBAR_PROP_NAMES = { controlled: 'state', default: 'defaultState' };\n\n/** Since 0.8.0 the Sidebar is in the frame from 768px up, the boundary kookie-ui-v2 uses everywhere. It was 1024px. */\nconst SIDEBAR_DEFAULT_PRESENTATION = { initial: 'overlay', sm: 'fixed' } as const;\n\nconst toggleBoth = (current: PaneValue): PaneValue => (current === 'closed' ? 'thin' : current === 'thin' ? 'open' : 'closed');\nconst toggleSingle = (current: PaneValue, defaultHere: PaneValue | undefined): PaneValue => {\n const target: PaneValue = defaultHere === 'thin' ? 'thin' : 'open';\n if (current === 'closed') return target;\n return current === target ? 'closed' : target;\n};\n\nexport const Sidebar = React.forwardRef<HTMLDivElement, SidebarPublicProps>((props, ref) => {\n const {\n className,\n presentation = SIDEBAR_DEFAULT_PRESENTATION,\n expandedSize = 288,\n minSize = 200,\n maxSize = 400,\n resizable = false,\n collapsible = true,\n onExpand,\n onCollapse,\n onResize,\n onResizeStart,\n onResizeEnd,\n snapPoints,\n snapTolerance,\n collapseThreshold,\n paneId,\n persistence,\n children,\n style,\n thinSize = 64,\n toggleModes = 'both',\n state,\n defaultState,\n onStateChange,\n size,\n defaultSize,\n onSizeChange,\n sizeUpdate,\n sizeUpdateMs = 50,\n inset,\n id,\n ...domProps\n } = props;\n\n const { table, attributes } = usePresentationTable(presentation, 'fixed');\n const pane = usePane({\n name: 'sidebar',\n label: 'Sidebar',\n propNames: SIDEBAR_PROP_NAMES,\n id,\n controlled: modeToValue(state),\n defaultValue: modeToValue(defaultState),\n presentationTable: table,\n builtIn: navigationRest,\n onChange: (value, reason) => onStateChange?.(toMode(value), { reason }),\n toggleNext: toggleModes === 'single' ? toggleSingle : toggleBoth,\n onExpand,\n onCollapse,\n size: expandedSize,\n });\n useInsetRegistration('sidebar', inset);\n\n React.useEffect(() => {\n if (snapPoints !== undefined || collapseThreshold !== undefined || paneId !== undefined || persistence !== undefined) {\n warnOnce('Shell.Sidebar: `snapPoints`, `collapseThreshold`, `paneId` and `persistence` are deprecated and are removed in 1.0. Keep the size in your own state with `size`/`onSizeChange`.');\n }\n }, [snapPoints, collapseThreshold, paneId, persistence]);\n\n const elementRef = React.useRef<HTMLElement | null>(null);\n const composedRef = useComposedRefs(ref, pane.setElement, elementRef);\n\n const resize = useResizablePane({\n name: 'sidebar',\n elementId: pane.id,\n elementRef,\n cssVarName: '--sidebar-size',\n orientation: 'vertical',\n edge: 'end',\n growth: startAnchoredGrowth,\n expandedSize,\n minSize,\n maxSize,\n resizable,\n collapsible,\n size,\n defaultSize,\n onSizeChange,\n sizeUpdate,\n sizeUpdateMs,\n onResize,\n onResizeStart,\n onResizeEnd,\n snapPoints,\n snapTolerance,\n collapseThreshold,\n paneId,\n persistence,\n overlaying: pane.overlaying,\n overlayingNow: () => table[readBreakpoint()] === 'overlay',\n requestCollapse: () => pane.setValue('closed', 'toggle'),\n requestToggle: () => pane.toggle('toggle'),\n });\n\n const { handles, content } = splitHandles(children, SidebarHandle);\n // A thin sidebar has no handle: the thin width is a mode, not a size.\n const handle =\n resizable && pane.value !== 'closed' && pane.value !== 'thin' && !pane.overlaying ? (\n <PaneResizeContext.Provider value={resize}>{handles.length > 0 ? handles : <PaneHandle />}</PaneResizeContext.Provider>\n ) : null;\n\n // A peek previews the width the next toggle would open to.\n const peekWidth = pane.peeking\n ? (toggleModes === 'single' ? toggleSingle : toggleBoth)('closed', pane.defaultHereNow()) === 'thin'\n ? `${thinSize}px`\n : `var(--sidebar-size, ${expandedSize}px)`\n : undefined;\n\n return (\n <div\n {...withoutRemovedPaneProps(domProps)}\n id={pane.id}\n ref={composedRef}\n className={classNames('rt-ShellPane', 'rt-ShellSidebar', className)}\n {...paneAttributes(pane, attributes)}\n data-inset={inset || undefined}\n tabIndex={pane.overlaying ? -1 : domProps.tabIndex}\n style={\n {\n ...style,\n '--sidebar-expanded-size': `${expandedSize}px`,\n '--sidebar-thin-size': `${thinSize}px`,\n '--sidebar-min-size': `${minSize}px`,\n '--sidebar-max-size': `${maxSize}px`,\n ...(peekWidth ? { '--peek-sidebar-width': peekWidth } : {}),\n } as CSSPropertiesWithVars\n }\n >\n <div className=\"rt-ShellSidebarContent\">{content}</div>\n {handle}\n </div>\n );\n}) as SidebarComponent;\n\nSidebar.displayName = 'Shell.Sidebar';\nSidebar.Handle = SidebarHandle;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "classNames", "useComposedRefs", "toValue", "mode", "toMode", "value", "modeToValue", "state", "map", "bp", "SIDEBAR_PROP_NAMES", "SIDEBAR_DEFAULT_PRESENTATION", "toggleBoth", "current", "toggleSingle", "defaultHere", "target", "Sidebar", "props", "ref", "className", "presentation", "expandedSize", "minSize", "maxSize", "resizable", "collapsible", "onExpand", "onCollapse", "onResize", "onResizeStart", "onResizeEnd", "snapPoints", "snapTolerance", "collapseThreshold", "paneId", "persistence", "children", "style", "thinSize", "toggleModes", "defaultState", "onStateChange", "size", "defaultSize", "onSizeChange", "sizeUpdate", "sizeUpdateMs", "inset", "id", "domProps", "table", "attributes", "usePresentationTable", "pane", "usePane", "navigationRest", "reason", "useInsetRegistration", "elementRef", "composedRef", "useComposedRefs", "resize", "useResizablePane", "startAnchoredGrowth", "readBreakpoint", "handles", "content", "splitHandles", "SidebarHandle", "handle", "PaneResizeContext", "PaneHandle", "peekWidth", "withoutRemovedPaneProps", "classNames", "paneAttributes"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as re,b as ae}from"./chunk-WHFJ4JUN.js";import{a as A,b as te,c as k}from"./chunk-RDAMYQFF.js";import{b as ee,c as oe}from"./chunk-IX5HIHVI.js";import{a as Z}from"./chunk-MJJ7XDIP.js";import{b as X,c as Y}from"./chunk-SEY4NA45.js";import{c as J}from"./chunk-FWB47YCH.js";import{a as Q}from"./chunk-AGAQC4HH.js";import{a as U}from"./chunk-5TXQLK4G.js";import{a as $}from"./chunk-GSTOGDAJ.js";import{a as M}from"./chunk-6FLLFCBU.js";import{a as Ie}from"./chunk-OS3FCYZY.js";var Me={};Ie(Me,{Content:()=>xe,Empty:()=>Re,Group:()=>ve,Input:()=>ge,Item:()=>Se,Label:()=>he,List:()=>Pe,Root:()=>de,Separator:()=>ye,Trigger:()=>Ce,Value:()=>fe});import*as e from"react";import u from"classnames";import{Popover as ne}from"radix-ui";import{useCallbackRef as H,useComposedRefs as ie,useControllableState as W,useLayoutEffect as K}from"radix-ui/internal";import{Command as L,useCommandState as se}from"cmdk";var Ne={size:A.size},Le={size:k.size},le=new Set;function we(o){le.has(o)||(le.add(o),console.warn(o))}function ke(o){let r=o,t=new Set;return{get:()=>r,set:a=>{Object.is(a,r)||(r=a,t.forEach(n=>n()))},subscribe:a=>(t.add(a),()=>{t.delete(a)})}}var me=e.createContext(null),B=o=>{let r=e.useContext(me);if(!r)throw new Error(`Combobox.${o} must be used within Combobox.Root`);return r},ce=e.createContext(null),be=e.createContext(null),pe=e.createContext(null),ue=()=>e.useContext(pe);function De(o){let r=o.getAttribute("aria-label")?.trim();if(r)return r;let t=o.getAttribute("aria-labelledby");if(t){let n=t.split(/\s+/).map(s=>o.ownerDocument.getElementById(s)?.textContent?.trim()).filter(Boolean).join(" ");if(n)return n}let a=o.labels;if(a&&a.length>0){let n=Array.from(a).map(s=>s.textContent?.trim()).filter(Boolean).join(" ");if(n)return n}}var de=o=>{let{children:r,size:t=A.size.default,value:a,defaultValue:n=null,onValueChange:s,open:l,defaultOpen:d=!1,onOpenChange:m,placeholder:p="Select an option",searchPlaceholder:C="Search...",searchValue:c,defaultSearchValue:T="",onSearchValueChange:E,filter:g,shouldFilter:R=!0,loop:f=!0,disabled:v,resetSearchOnSelect:x=!0,resetSearchOnClose:b=!0,color:h,displayValue:y,...S}=o,[I,N]=W({prop:l,defaultProp:d,onChange:m}),[V,w]=W({prop:a,defaultProp:n,onChange:s}),[P,i]=W({prop:c,defaultProp:T,onChange:E}),F=typeof y=="function"?y(V):y,[D]=e.useState(()=>ke(V));K(()=>{D.set(V)},[D,V]);let z=H(O=>{N(O),!O&&b&&i("")}),q=H(O=>{w(O),N(!1),x&&i("")}),G=e.useRef(null),_=e.useCallback(()=>G.current?De(G.current):void 0,[]),Ve=e.useMemo(()=>({value:V,displayValue:F,setOpen:z,size:t,placeholder:p,searchPlaceholder:C,disabled:v,color:h,loop:f,shouldFilter:R,filter:g,triggerRef:G,getTriggerLabel:_}),[V,F,z,t,p,C,v,h,f,R,g,_]),Ee=e.useMemo(()=>({value:P,setValue:i}),[P,i]),Te=e.useMemo(()=>({store:D,onSelect:q,disabled:v}),[D,q,v]);return e.createElement(me.Provider,{value:Ve},e.createElement(ce.Provider,{value:Ee},e.createElement(be.Provider,{value:Te},e.createElement(re,{open:I,onOpenChange:z,...S},r))))};de.displayName="Combobox.Root";var Ce=e.forwardRef((o,r)=>{let t=B("Trigger"),{children:a,className:n,placeholder:s,disabled:l,readOnly:d,error:m,loading:p,color:C,radius:c,material:T,onClick:E,onKeyDown:g,type:R,...f}=M({size:t.size,...o},Ne,te,$),{panelBackground:v}=o,x=T??v,b=l??t.disabled,h=C??t.color,y=!!(d||p),S=t.value==null&&t.displayValue==null,I=ie(r,t.triggerRef),{getTriggerLabel:N}=t;e.useEffect(()=>{},[N]);let V=i=>{E?.(i),y&&i.preventDefault()},w=i=>{g?.(i),!(i.defaultPrevented||y||b)&&i.key==="ArrowDown"&&(i.preventDefault(),t.setOpen(!0))},P=e.createElement(e.Fragment,null,e.createElement("span",{className:"rt-SelectTriggerInner"},e.createElement("span",{className:"rt-ComboboxValue"},t.displayValue??t.value??s??t.placeholder)),p?e.createElement("div",{className:"rt-SelectIcon rt-SelectLoadingIcon","aria-hidden":"true"},e.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none"},e.createElement("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeDasharray:"32",strokeDashoffset:"32",className:"rt-SelectLoadingIconCircle"}))):e.createElement(oe,{className:"rt-SelectIcon"}));return e.createElement(ae,{disabled:b},e.createElement("button",{"data-accent-color":h,"data-radius":c,"data-panel-background":x,"data-material":x,"data-error":m,"data-loading":p,"data-disabled":b||void 0,"data-read-only":d||void 0,"data-placeholder":S?"":void 0,...f,role:"combobox","aria-disabled":b||void 0,"aria-readonly":d||void 0,"aria-invalid":m||void 0,"aria-busy":p||void 0,type:R??"button",disabled:b,onClick:V,onKeyDown:w,ref:I,className:u("rt-reset","rt-SelectTrigger","rt-ComboboxTrigger",n)},a?Z(a):P))});Ce.displayName="Combobox.Trigger";var fe=e.forwardRef(({placeholder:o,children:r,className:t,...a},n)=>{let s=B("Value"),l=s.displayValue??s.value??void 0;return e.createElement("span",{...a,ref:n,className:u("rt-ComboboxValue",t)},l??r??o??s.placeholder)});fe.displayName="Combobox.Value";function Oe(){let o=se(n=>n.filtered.count),r=se(n=>n.search),[t,a]=e.useState("");return e.useEffect(()=>{let n=r?o===0?"No results":`${o} result${o===1?"":"s"}`:"",s=window.setTimeout(()=>a(n),r?400:0);return()=>window.clearTimeout(s)},[o,r]),e.createElement(Q,{role:"status","aria-live":"polite","aria-atomic":"true"},t)}var xe=e.forwardRef((o,r)=>{let t=B("Content"),a=X();U(o.panelBackground);let n=o.material??o.panelBackground??a.material??a.panelBackground,s=o.size??t.size??k.size.default,l=o.variant??k.variant.default,{className:d,children:m,color:p,forceMount:C,container:c,material:T,panelBackground:E,onOpenAutoFocus:g,"aria-label":R,"aria-labelledby":f,...v}=M({...o,size:s,variant:l},k),x=p||t.color||a.accentColor,{getTriggerLabel:b}=t,[h,y]=e.useState(b);K(()=>{if(h!==void 0)return;let P=b();P!==void 0&&y(P)},[b,h]);let S=o["aria-label"]??h,I=e.useMemo(()=>({variant:l,sizeClassName:M({size:s},Le).className||void 0,color:x,material:n,label:S}),[l,s,x,n,S]),N=e.useRef(null),V=P=>{if(g?.(P),P.defaultPrevented)return;let i=N.current;if(!i||i.querySelector("[cmdk-input]"))return;P.preventDefault(),(i.querySelector("[cmdk-list]")??i).focus({preventScroll:!0})},w=t.value?.trim()||void 0;return e.createElement(ne.Portal,{container:c,forceMount:C?!0:void 0},e.createElement(Y,{asChild:!0},e.createElement(ne.Content,{"data-accent-color":x,"data-material":n,"data-panel-background":n,align:"start",sideOffset:4,collisionPadding:10,"aria-label":f?void 0:S,"aria-labelledby":f,...v,forceMount:C?!0:void 0,onOpenAutoFocus:V,ref:r,className:u("rt-PopperContent","rt-BaseMenuContent","rt-ComboboxContent",d)},e.createElement(pe.Provider,{value:I},e.createElement(L,{ref:N,loop:t.loop,shouldFilter:t.shouldFilter,filter:t.filter,label:S,defaultValue:w,className:"rt-ComboboxCommand"},m,e.createElement(Oe,null))))))});xe.displayName="Combobox.Content";var ge=e.forwardRef(({className:o,startAdornment:r,endAdornment:t,placeholder:a,variant:n,value:s,onValueChange:l,...d},m)=>{let p=B("Input"),C=e.useContext(ce),c=ue(),T=c?.variant??"solid",E=n??(T==="solid"?"surface":"soft"),g=s??C?.value??"",R=l??C?.setValue,f=e.createElement("div",{className:u("rt-TextFieldRoot","rt-ComboboxInputRoot",c?.sizeClassName,`rt-variant-${E}`),"data-accent-color":c?.color,"data-material":c?.material,"data-panel-background":c?.material},r?e.createElement("div",{className:"rt-TextFieldSlot"},r):null,e.createElement(L.Input,{...d,ref:m,value:g,onValueChange:R,placeholder:a??p.searchPlaceholder,className:u("rt-reset","rt-TextFieldInput",o)}),t?e.createElement("div",{className:"rt-TextFieldSlot","data-side":"right"},t):null);return c?e.createElement("div",{className:"rt-ComboboxSearch"},f):f});ge.displayName="Combobox.Input";var Pe=e.forwardRef(({className:o,children:r,label:t,...a},n)=>{let s=ue();return e.createElement("div",{className:"rt-ComboboxScrollArea"},e.createElement("div",{className:u("rt-BaseMenuViewport","rt-ComboboxViewport")},e.createElement(L.List,{...a,label:t??s?.label,ref:n,className:u("rt-ComboboxList",o)},r)))});Pe.displayName="Combobox.List";var Re=e.forwardRef(({className:o,...r},t)=>e.createElement(L.Empty,{...r,ref:t,className:u("rt-ComboboxEmpty",o)}));Re.displayName="Combobox.Empty";var ve=e.forwardRef(({className:o,...r},t)=>e.createElement(L.Group,{...r,ref:t,className:u("rt-BaseMenuGroup","rt-ComboboxGroup",o)}));ve.displayName="Combobox.Group";var he=e.forwardRef(({className:o,id:r,...t},a)=>{let n=e.useId(),s=r??n,l=e.useRef(null),d=ie(a,l);return K(()=>{let m=l.current?.closest("[cmdk-group-items]");if(!(!m||m.hasAttribute("aria-labelledby")))return m.setAttribute("aria-labelledby",s),()=>{m.getAttribute("aria-labelledby")===s&&m.removeAttribute("aria-labelledby")}},[s]),e.createElement("div",{...t,id:s,ref:d,className:u("rt-BaseMenuLabel","rt-ComboboxLabel",o)})});he.displayName="Combobox.Label";var ye=e.forwardRef(({className:o,...r},t)=>e.createElement(L.Separator,{...r,ref:t,className:u("rt-BaseMenuSeparator","rt-ComboboxSeparator",o)}));ye.displayName="Combobox.Separator";function j(o){return o==null||typeof o=="boolean"?"":typeof o=="string"||typeof o=="number"?String(o):Array.isArray(o)?o.map(j).join(""):e.isValidElement(o)?j(o.props.children):""}var Se=e.forwardRef(({className:o,children:r,label:t,value:a,disabled:n,onSelect:s,keywords:l,...d},m)=>{let p=e.useContext(be);if(!p)throw new Error("Combobox.Item must be used within Combobox.Root");let{store:C,onSelect:c,disabled:T}=p,E=a??(typeof r=="string"?r.trim():void 0),g=()=>E!==void 0&&C.get()===E,R=e.useSyncExternalStore(C.subscribe,g,g),f=H(s),v=e.useCallback(S=>{let I=a??S;c(I),f(I)},[a,c,f]),x=(t??j(r)).replace(/\s+/g," ").trim(),b=x?l?[x,...l]:[x]:l,h=b?b.join("\0"):"",y=n??T??!1;return e.createElement(L.Item,{key:h,...d,value:a,keywords:b,"aria-checked":R,disabled:y||void 0,ref:m,onSelect:v,className:u("rt-reset","rt-BaseMenuItem","rt-ComboboxItem",o)},R?e.createElement("span",{className:u("rt-BaseMenuItemIndicator","rt-ComboboxItemIndicator")},e.createElement(ee,{className:u("rt-BaseMenuItemIndicatorIcon","rt-ComboboxItemIndicatorIcon")})):null,e.createElement(J,null,r))});Se.displayName="Combobox.Item";export{de as a,Ce as b,fe as c,xe as d,ge as e,Pe as f,Re as g,ve as h,he as i,ye as j,Se as k,Me as l};
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as re,b as ae}from"./chunk-7NYODT3Z.js";import{a as A,b as te,c as k}from"./chunk-RDAMYQFF.js";import{b as ee,c as oe}from"./chunk-IX5HIHVI.js";import{a as Z}from"./chunk-MJJ7XDIP.js";import{b as X,c as Y}from"./chunk-SEY4NA45.js";import{a as Q}from"./chunk-AGAQC4HH.js";import{c as J}from"./chunk-FWB47YCH.js";import{a as U}from"./chunk-5TXQLK4G.js";import{a as $}from"./chunk-GSTOGDAJ.js";import{a as M}from"./chunk-UBSLEGQZ.js";import{a as Ie}from"./chunk-OS3FCYZY.js";var Me={};Ie(Me,{Content:()=>xe,Empty:()=>Re,Group:()=>ve,Input:()=>ge,Item:()=>Se,Label:()=>he,List:()=>Pe,Root:()=>de,Separator:()=>ye,Trigger:()=>Ce,Value:()=>fe});import*as e from"react";import u from"classnames";import{Popover as ne}from"radix-ui";import{useCallbackRef as H,useComposedRefs as ie,useControllableState as W,useLayoutEffect as K}from"radix-ui/internal";import{Command as L,useCommandState as se}from"cmdk";var Ne={size:A.size},Le={size:k.size},le=new Set;function we(o){le.has(o)||(le.add(o),console.warn(o))}function ke(o){let r=o,t=new Set;return{get:()=>r,set:a=>{Object.is(a,r)||(r=a,t.forEach(n=>n()))},subscribe:a=>(t.add(a),()=>{t.delete(a)})}}var me=e.createContext(null),B=o=>{let r=e.useContext(me);if(!r)throw new Error(`Combobox.${o} must be used within Combobox.Root`);return r},ce=e.createContext(null),be=e.createContext(null),pe=e.createContext(null),ue=()=>e.useContext(pe);function De(o){let r=o.getAttribute("aria-label")?.trim();if(r)return r;let t=o.getAttribute("aria-labelledby");if(t){let n=t.split(/\s+/).map(s=>o.ownerDocument.getElementById(s)?.textContent?.trim()).filter(Boolean).join(" ");if(n)return n}let a=o.labels;if(a&&a.length>0){let n=Array.from(a).map(s=>s.textContent?.trim()).filter(Boolean).join(" ");if(n)return n}}var de=o=>{let{children:r,size:t=A.size.default,value:a,defaultValue:n=null,onValueChange:s,open:l,defaultOpen:d=!1,onOpenChange:m,placeholder:p="Select an option",searchPlaceholder:C="Search...",searchValue:c,defaultSearchValue:T="",onSearchValueChange:E,filter:g,shouldFilter:R=!0,loop:f=!0,disabled:v,resetSearchOnSelect:x=!0,resetSearchOnClose:b=!0,color:h,displayValue:y,...S}=o,[I,N]=W({prop:l,defaultProp:d,onChange:m}),[V,w]=W({prop:a,defaultProp:n,onChange:s}),[P,i]=W({prop:c,defaultProp:T,onChange:E}),F=typeof y=="function"?y(V):y,[D]=e.useState(()=>ke(V));K(()=>{D.set(V)},[D,V]);let z=H(O=>{N(O),!O&&b&&i("")}),q=H(O=>{w(O),N(!1),x&&i("")}),G=e.useRef(null),_=e.useCallback(()=>G.current?De(G.current):void 0,[]),Ve=e.useMemo(()=>({value:V,displayValue:F,setOpen:z,size:t,placeholder:p,searchPlaceholder:C,disabled:v,color:h,loop:f,shouldFilter:R,filter:g,triggerRef:G,getTriggerLabel:_}),[V,F,z,t,p,C,v,h,f,R,g,_]),Ee=e.useMemo(()=>({value:P,setValue:i}),[P,i]),Te=e.useMemo(()=>({store:D,onSelect:q,disabled:v}),[D,q,v]);return e.createElement(me.Provider,{value:Ve},e.createElement(ce.Provider,{value:Ee},e.createElement(be.Provider,{value:Te},e.createElement(re,{open:I,onOpenChange:z,...S},r))))};de.displayName="Combobox.Root";var Ce=e.forwardRef((o,r)=>{let t=B("Trigger"),{children:a,className:n,placeholder:s,disabled:l,readOnly:d,error:m,loading:p,color:C,radius:c,material:T,onClick:E,onKeyDown:g,type:R,...f}=M({size:t.size,...o},Ne,te,$),{panelBackground:v}=o,x=T??v,b=l??t.disabled,h=C??t.color,y=!!(d||p),S=t.value==null&&t.displayValue==null,I=ie(r,t.triggerRef),{getTriggerLabel:N}=t;e.useEffect(()=>{},[N]);let V=i=>{E?.(i),y&&i.preventDefault()},w=i=>{g?.(i),!(i.defaultPrevented||y||b)&&i.key==="ArrowDown"&&(i.preventDefault(),t.setOpen(!0))},P=e.createElement(e.Fragment,null,e.createElement("span",{className:"rt-SelectTriggerInner"},e.createElement("span",{className:"rt-ComboboxValue"},t.displayValue??t.value??s??t.placeholder)),p?e.createElement("div",{className:"rt-SelectIcon rt-SelectLoadingIcon","aria-hidden":"true"},e.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none"},e.createElement("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeDasharray:"32",strokeDashoffset:"32",className:"rt-SelectLoadingIconCircle"}))):e.createElement(oe,{className:"rt-SelectIcon"}));return e.createElement(ae,{disabled:b},e.createElement("button",{"data-accent-color":h,"data-radius":c,"data-panel-background":x,"data-material":x,"data-error":m,"data-loading":p,"data-disabled":b||void 0,"data-read-only":d||void 0,"data-placeholder":S?"":void 0,...f,role:"combobox","aria-disabled":b||void 0,"aria-readonly":d||void 0,"aria-invalid":m||void 0,"aria-busy":p||void 0,type:R??"button",disabled:b,onClick:V,onKeyDown:w,ref:I,className:u("rt-reset","rt-SelectTrigger","rt-ComboboxTrigger",n)},a?Z(a):P))});Ce.displayName="Combobox.Trigger";var fe=e.forwardRef(({placeholder:o,children:r,className:t,...a},n)=>{let s=B("Value"),l=s.displayValue??s.value??void 0;return e.createElement("span",{...a,ref:n,className:u("rt-ComboboxValue",t)},l??r??o??s.placeholder)});fe.displayName="Combobox.Value";function Oe(){let o=se(n=>n.filtered.count),r=se(n=>n.search),[t,a]=e.useState("");return e.useEffect(()=>{let n=r?o===0?"No results":`${o} result${o===1?"":"s"}`:"",s=window.setTimeout(()=>a(n),r?400:0);return()=>window.clearTimeout(s)},[o,r]),e.createElement(Q,{role:"status","aria-live":"polite","aria-atomic":"true"},t)}var xe=e.forwardRef((o,r)=>{let t=B("Content"),a=X();U(o.panelBackground);let n=o.material??o.panelBackground??a.material??a.panelBackground,s=o.size??t.size??k.size.default,l=o.variant??k.variant.default,{className:d,children:m,color:p,forceMount:C,container:c,material:T,panelBackground:E,onOpenAutoFocus:g,"aria-label":R,"aria-labelledby":f,...v}=M({...o,size:s,variant:l},k),x=p||t.color||a.accentColor,{getTriggerLabel:b}=t,[h,y]=e.useState(b);K(()=>{if(h!==void 0)return;let P=b();P!==void 0&&y(P)},[b,h]);let S=o["aria-label"]??h,I=e.useMemo(()=>({variant:l,sizeClassName:M({size:s},Le).className||void 0,color:x,material:n,label:S}),[l,s,x,n,S]),N=e.useRef(null),V=P=>{if(g?.(P),P.defaultPrevented)return;let i=N.current;if(!i||i.querySelector("[cmdk-input]"))return;P.preventDefault(),(i.querySelector("[cmdk-list]")??i).focus({preventScroll:!0})},w=t.value?.trim()||void 0;return e.createElement(ne.Portal,{container:c,forceMount:C?!0:void 0},e.createElement(Y,{asChild:!0},e.createElement(ne.Content,{"data-accent-color":x,"data-material":n,"data-panel-background":n,align:"start",sideOffset:4,collisionPadding:10,"aria-label":f?void 0:S,"aria-labelledby":f,...v,forceMount:C?!0:void 0,onOpenAutoFocus:V,ref:r,className:u("rt-PopperContent","rt-BaseMenuContent","rt-ComboboxContent",d)},e.createElement(pe.Provider,{value:I},e.createElement(L,{ref:N,loop:t.loop,shouldFilter:t.shouldFilter,filter:t.filter,label:S,defaultValue:w,className:"rt-ComboboxCommand"},m,e.createElement(Oe,null))))))});xe.displayName="Combobox.Content";var ge=e.forwardRef(({className:o,startAdornment:r,endAdornment:t,placeholder:a,variant:n,value:s,onValueChange:l,...d},m)=>{let p=B("Input"),C=e.useContext(ce),c=ue(),T=c?.variant??"solid",E=n??(T==="solid"?"surface":"soft"),g=s??C?.value??"",R=l??C?.setValue,f=e.createElement("div",{className:u("rt-TextFieldRoot","rt-ComboboxInputRoot",c?.sizeClassName,`rt-variant-${E}`),"data-accent-color":c?.color,"data-material":c?.material,"data-panel-background":c?.material},r?e.createElement("div",{className:"rt-TextFieldSlot"},r):null,e.createElement(L.Input,{...d,ref:m,value:g,onValueChange:R,placeholder:a??p.searchPlaceholder,className:u("rt-reset","rt-TextFieldInput",o)}),t?e.createElement("div",{className:"rt-TextFieldSlot","data-side":"right"},t):null);return c?e.createElement("div",{className:"rt-ComboboxSearch"},f):f});ge.displayName="Combobox.Input";var Pe=e.forwardRef(({className:o,children:r,label:t,...a},n)=>{let s=ue();return e.createElement("div",{className:"rt-ComboboxScrollArea"},e.createElement("div",{className:u("rt-BaseMenuViewport","rt-ComboboxViewport")},e.createElement(L.List,{...a,label:t??s?.label,ref:n,className:u("rt-ComboboxList",o)},r)))});Pe.displayName="Combobox.List";var Re=e.forwardRef(({className:o,...r},t)=>e.createElement(L.Empty,{...r,ref:t,className:u("rt-ComboboxEmpty",o)}));Re.displayName="Combobox.Empty";var ve=e.forwardRef(({className:o,...r},t)=>e.createElement(L.Group,{...r,ref:t,className:u("rt-BaseMenuGroup","rt-ComboboxGroup",o)}));ve.displayName="Combobox.Group";var he=e.forwardRef(({className:o,id:r,...t},a)=>{let n=e.useId(),s=r??n,l=e.useRef(null),d=ie(a,l);return K(()=>{let m=l.current?.closest("[cmdk-group-items]");if(!(!m||m.hasAttribute("aria-labelledby")))return m.setAttribute("aria-labelledby",s),()=>{m.getAttribute("aria-labelledby")===s&&m.removeAttribute("aria-labelledby")}},[s]),e.createElement("div",{...t,id:s,ref:d,className:u("rt-BaseMenuLabel","rt-ComboboxLabel",o)})});he.displayName="Combobox.Label";var ye=e.forwardRef(({className:o,...r},t)=>e.createElement(L.Separator,{...r,ref:t,className:u("rt-BaseMenuSeparator","rt-ComboboxSeparator",o)}));ye.displayName="Combobox.Separator";function j(o){return o==null||typeof o=="boolean"?"":typeof o=="string"||typeof o=="number"?String(o):Array.isArray(o)?o.map(j).join(""):e.isValidElement(o)?j(o.props.children):""}var Se=e.forwardRef(({className:o,children:r,label:t,value:a,disabled:n,onSelect:s,keywords:l,...d},m)=>{let p=e.useContext(be);if(!p)throw new Error("Combobox.Item must be used within Combobox.Root");let{store:C,onSelect:c,disabled:T}=p,E=a??(typeof r=="string"?r.trim():void 0),g=()=>E!==void 0&&C.get()===E,R=e.useSyncExternalStore(C.subscribe,g,g),f=H(s),v=e.useCallback(S=>{let I=a??S;c(I),f(I)},[a,c,f]),x=(t??j(r)).replace(/\s+/g," ").trim(),b=x?l?[x,...l]:[x]:l,h=b?b.join("\0"):"",y=n??T??!1;return e.createElement(L.Item,{key:h,...d,value:a,keywords:b,"aria-checked":R,disabled:y||void 0,ref:m,onSelect:v,className:u("rt-reset","rt-BaseMenuItem","rt-ComboboxItem",o)},R?e.createElement("span",{className:u("rt-BaseMenuItemIndicator","rt-ComboboxItemIndicator")},e.createElement(ee,{className:u("rt-BaseMenuItemIndicatorIcon","rt-ComboboxItemIndicatorIcon")})):null,e.createElement(J,null,r))});Se.displayName="Combobox.Item";export{de as a,Ce as b,fe as c,xe as d,ge as e,Pe as f,Re as g,ve as h,he as i,ye as j,Se as k,Me as l};
|
|
2
|
+
//# sourceMappingURL=chunk-RY67WG3O.js.map
|