@womp/kookie-ui 0.21.0 → 0.22.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/README.md +7 -6
- package/codemods/_shared.py +314 -0
- package/codemods/components-0.21.py +98 -42
- package/codemods/names-0.22.py +65 -0
- package/codemods/space-0.17.py +47 -23
- package/codemods/test_codemods.py +220 -0
- package/codemods/type-0.20.py +60 -31
- package/components.css +3527 -3516
- package/dist/cjs/components/_internal/base-button.d.ts.map +1 -1
- package/dist/cjs/components/_internal/base-button.js +1 -1
- package/dist/cjs/components/_internal/base-button.js.map +3 -3
- package/dist/cjs/components/_internal/base-button.props.js +1 -1
- package/dist/cjs/components/_internal/base-button.props.js.map +2 -2
- package/dist/cjs/components/_internal/base-checkbox.props.js +1 -1
- package/dist/cjs/components/_internal/base-checkbox.props.js.map +2 -2
- package/dist/cjs/components/_internal/base-menu.props.js +1 -1
- package/dist/cjs/components/_internal/base-menu.props.js.map +2 -2
- package/dist/cjs/components/_internal/base-menu.utils.js +1 -1
- package/dist/cjs/components/_internal/base-menu.utils.js.map +2 -2
- package/dist/cjs/components/_internal/base-radio.props.js +1 -1
- package/dist/cjs/components/_internal/base-radio.props.js.map +2 -2
- package/dist/cjs/components/_internal/base-tab-list.props.js +1 -1
- package/dist/cjs/components/_internal/base-tab-list.props.js.map +2 -2
- package/dist/cjs/components/_internal/dropdown-menu-drill-down.js +1 -1
- package/dist/cjs/components/_internal/dropdown-menu-drill-down.js.map +2 -2
- package/dist/cjs/components/_internal/menu-context.js.map +1 -1
- package/dist/cjs/components/_internal/pane-chrome.js +1 -1
- package/dist/cjs/components/_internal/pane-chrome.js.map +2 -2
- package/dist/cjs/components/_internal/shell-bottom.js +1 -1
- package/dist/cjs/components/_internal/shell-bottom.js.map +2 -2
- package/dist/cjs/components/_internal/shell-handles.js +1 -1
- package/dist/cjs/components/_internal/shell-handles.js.map +2 -2
- package/dist/cjs/components/_internal/shell-inspector.js +1 -1
- package/dist/cjs/components/_internal/shell-inspector.js.map +2 -2
- package/dist/cjs/components/_internal/shell-resizable.js +1 -1
- package/dist/cjs/components/_internal/shell-resizable.js.map +2 -2
- package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
- package/dist/cjs/components/_internal/shell-sidebar.js.map +2 -2
- package/dist/cjs/components/accordion.js +1 -1
- package/dist/cjs/components/accordion.js.map +2 -2
- package/dist/cjs/components/accordion.props.js +1 -1
- package/dist/cjs/components/accordion.props.js.map +2 -2
- package/dist/cjs/components/alert-dialog.js +1 -1
- package/dist/cjs/components/alert-dialog.js.map +2 -2
- package/dist/cjs/components/alert-dialog.props.js +1 -1
- package/dist/cjs/components/alert-dialog.props.js.map +2 -2
- package/dist/cjs/components/avatar.d.ts.map +1 -1
- package/dist/cjs/components/avatar.js +1 -1
- package/dist/cjs/components/avatar.js.map +4 -4
- package/dist/cjs/components/avatar.props.d.ts +1 -1
- package/dist/cjs/components/avatar.props.d.ts.map +1 -1
- package/dist/cjs/components/avatar.props.js +1 -1
- package/dist/cjs/components/avatar.props.js.map +2 -2
- package/dist/cjs/components/blockquote.js +1 -1
- package/dist/cjs/components/blockquote.js.map +2 -2
- package/dist/cjs/components/blockquote.props.js +1 -1
- package/dist/cjs/components/blockquote.props.js.map +2 -2
- package/dist/cjs/components/box.js +1 -1
- package/dist/cjs/components/box.js.map +2 -2
- package/dist/cjs/components/box.props.js +1 -1
- package/dist/cjs/components/box.props.js.map +2 -2
- package/dist/cjs/components/button.js +1 -1
- package/dist/cjs/components/button.js.map +3 -3
- package/dist/cjs/components/button.props.js +1 -1
- package/dist/cjs/components/button.props.js.map +2 -2
- package/dist/cjs/components/card.js +1 -1
- package/dist/cjs/components/card.js.map +2 -2
- package/dist/cjs/components/card.props.js +1 -1
- package/dist/cjs/components/card.props.js.map +2 -2
- package/dist/cjs/components/chatbar.js +1 -1
- package/dist/cjs/components/chatbar.js.map +3 -3
- package/dist/cjs/components/checkbox-group.js +1 -1
- package/dist/cjs/components/checkbox-group.js.map +2 -2
- package/dist/cjs/components/checkbox-group.props.js +1 -1
- package/dist/cjs/components/checkbox-group.props.js.map +2 -2
- package/dist/cjs/components/checkbox.js +1 -1
- package/dist/cjs/components/checkbox.js.map +3 -3
- package/dist/cjs/components/checkbox.props.js +1 -1
- package/dist/cjs/components/checkbox.props.js.map +2 -2
- package/dist/cjs/components/chip.js +1 -1
- package/dist/cjs/components/chip.js.map +2 -2
- package/dist/cjs/components/chip.props.js +1 -1
- package/dist/cjs/components/chip.props.js.map +2 -2
- package/dist/cjs/components/code.js +1 -1
- package/dist/cjs/components/code.js.map +2 -2
- package/dist/cjs/components/code.props.js +1 -1
- package/dist/cjs/components/code.props.js.map +2 -2
- package/dist/cjs/components/combobox.d.ts.map +1 -1
- package/dist/cjs/components/combobox.js +1 -1
- package/dist/cjs/components/combobox.js.map +3 -3
- package/dist/cjs/components/combobox.props.js +1 -1
- package/dist/cjs/components/combobox.props.js.map +2 -2
- package/dist/cjs/components/context-menu.js +1 -1
- package/dist/cjs/components/context-menu.js.map +2 -2
- package/dist/cjs/components/context-menu.props.js +1 -1
- package/dist/cjs/components/context-menu.props.js.map +2 -2
- package/dist/cjs/components/dialog.js +1 -1
- package/dist/cjs/components/dialog.js.map +2 -2
- package/dist/cjs/components/dialog.props.js +1 -1
- package/dist/cjs/components/dialog.props.js.map +2 -2
- package/dist/cjs/components/dropdown-menu.js +1 -1
- package/dist/cjs/components/dropdown-menu.js.map +3 -3
- package/dist/cjs/components/dropdown-menu.props.js +1 -1
- package/dist/cjs/components/dropdown-menu.props.js.map +2 -2
- package/dist/cjs/components/flex.js +1 -1
- package/dist/cjs/components/flex.js.map +2 -2
- package/dist/cjs/components/flex.props.js +1 -1
- package/dist/cjs/components/flex.props.js.map +2 -2
- package/dist/cjs/components/grid.js +1 -1
- package/dist/cjs/components/grid.js.map +2 -2
- package/dist/cjs/components/grid.props.js +1 -1
- package/dist/cjs/components/grid.props.js.map +2 -2
- package/dist/cjs/components/heading.js +1 -1
- package/dist/cjs/components/heading.js.map +2 -2
- package/dist/cjs/components/heading.props.js +1 -1
- package/dist/cjs/components/heading.props.js.map +2 -2
- package/dist/cjs/components/index.js +5 -5
- package/dist/cjs/components/index.js.map +3 -3
- package/dist/cjs/components/kbd.js +1 -1
- package/dist/cjs/components/kbd.js.map +2 -2
- package/dist/cjs/components/kbd.props.js +1 -1
- package/dist/cjs/components/kbd.props.js.map +2 -2
- package/dist/cjs/components/link.js +1 -1
- package/dist/cjs/components/link.js.map +2 -2
- package/dist/cjs/components/link.props.js +1 -1
- package/dist/cjs/components/link.props.js.map +2 -2
- package/dist/cjs/components/message-scroller.js +1 -1
- package/dist/cjs/components/message-scroller.js.map +3 -3
- package/dist/cjs/components/navbar.js +1 -1
- package/dist/cjs/components/navbar.js.map +2 -2
- package/dist/cjs/components/notice.js +1 -1
- package/dist/cjs/components/notice.js.map +3 -3
- package/dist/cjs/components/popover.js +1 -1
- package/dist/cjs/components/popover.js.map +2 -2
- package/dist/cjs/components/popover.props.js +1 -1
- package/dist/cjs/components/popover.props.js.map +2 -2
- package/dist/cjs/components/progress.js +1 -1
- package/dist/cjs/components/progress.js.map +2 -2
- package/dist/cjs/components/progress.props.js +1 -1
- package/dist/cjs/components/progress.props.js.map +2 -2
- package/dist/cjs/components/radio-group.js +1 -1
- package/dist/cjs/components/radio-group.js.map +2 -2
- package/dist/cjs/components/radio-group.props.js +1 -1
- package/dist/cjs/components/radio-group.props.js.map +2 -2
- package/dist/cjs/components/radio.js +1 -1
- package/dist/cjs/components/radio.js.map +2 -2
- package/dist/cjs/components/radio.props.js +1 -1
- package/dist/cjs/components/radio.props.js.map +2 -2
- package/dist/cjs/components/reset.js +1 -1
- package/dist/cjs/components/reset.js.map +2 -2
- package/dist/cjs/components/schemas/button.schema.d.ts +146 -0
- package/dist/cjs/components/schemas/button.schema.d.ts.map +1 -1
- package/dist/cjs/components/schemas/button.schema.js +1 -1
- package/dist/cjs/components/schemas/button.schema.js.map +3 -3
- package/dist/cjs/components/schemas/index.js +1 -1
- package/dist/cjs/components/schemas/index.js.map +3 -3
- package/dist/cjs/components/schemas/toggle.schema.js +1 -1
- package/dist/cjs/components/schemas/toggle.schema.js.map +3 -3
- package/dist/cjs/components/scroll-area.js +1 -1
- package/dist/cjs/components/scroll-area.js.map +2 -2
- package/dist/cjs/components/segmented-control.js +1 -1
- package/dist/cjs/components/segmented-control.js.map +2 -2
- package/dist/cjs/components/segmented-control.props.js +1 -1
- package/dist/cjs/components/segmented-control.props.js.map +2 -2
- package/dist/cjs/components/select.d.ts.map +1 -1
- package/dist/cjs/components/select.js +1 -1
- package/dist/cjs/components/select.js.map +3 -3
- package/dist/cjs/components/select.props.js +1 -1
- package/dist/cjs/components/select.props.js.map +2 -2
- package/dist/cjs/components/separator.js +1 -1
- package/dist/cjs/components/separator.js.map +2 -2
- package/dist/cjs/components/separator.props.js +1 -1
- package/dist/cjs/components/separator.props.js.map +2 -2
- package/dist/cjs/components/sheet.js +1 -1
- package/dist/cjs/components/sheet.js.map +2 -2
- package/dist/cjs/components/shell.js +1 -1
- package/dist/cjs/components/shell.js.map +2 -2
- package/dist/cjs/components/sidebar.js +1 -1
- package/dist/cjs/components/sidebar.js.map +2 -2
- package/dist/cjs/components/slider.js +1 -1
- package/dist/cjs/components/slider.js.map +2 -2
- package/dist/cjs/components/slider.props.js +1 -1
- package/dist/cjs/components/slider.props.js.map +2 -2
- package/dist/cjs/components/spinner.js +1 -1
- package/dist/cjs/components/spinner.js.map +2 -2
- package/dist/cjs/components/switch.js +1 -1
- package/dist/cjs/components/switch.js.map +2 -2
- package/dist/cjs/components/switch.props.js +1 -1
- package/dist/cjs/components/switch.props.js.map +2 -2
- package/dist/cjs/components/table.js +1 -1
- package/dist/cjs/components/table.js.map +3 -3
- package/dist/cjs/components/table.props.js +1 -1
- package/dist/cjs/components/table.props.js.map +2 -2
- package/dist/cjs/components/tabs.js +1 -1
- package/dist/cjs/components/tabs.js.map +2 -2
- package/dist/cjs/components/tabs.props.js +1 -1
- package/dist/cjs/components/tabs.props.js.map +2 -2
- package/dist/cjs/components/text-area.js +1 -1
- package/dist/cjs/components/text-area.js.map +2 -2
- package/dist/cjs/components/text-area.props.js +1 -1
- package/dist/cjs/components/text-area.props.js.map +2 -2
- package/dist/cjs/components/text-field.js +4 -4
- package/dist/cjs/components/text-field.js.map +2 -2
- package/dist/cjs/components/text-field.props.js +1 -1
- package/dist/cjs/components/text-field.props.js.map +2 -2
- package/dist/cjs/components/text.js +1 -1
- package/dist/cjs/components/text.js.map +2 -2
- package/dist/cjs/components/text.props.js +1 -1
- package/dist/cjs/components/text.props.js.map +2 -2
- package/dist/cjs/components/theme.js +1 -1
- package/dist/cjs/components/theme.js.map +2 -2
- package/dist/cjs/components/toggle.js +2 -2
- package/dist/cjs/components/toggle.js.map +3 -3
- package/dist/cjs/components/toolbar.js +1 -1
- package/dist/cjs/components/toolbar.js.map +3 -3
- package/dist/cjs/components/toolbar.props.js +1 -1
- package/dist/cjs/components/toolbar.props.js.map +2 -2
- package/dist/cjs/components/tooltip.js +1 -1
- package/dist/cjs/components/tooltip.js.map +2 -2
- package/dist/cjs/components/tooltip.props.js +1 -1
- package/dist/cjs/components/tooltip.props.js.map +2 -2
- package/dist/cjs/components/virtual-menu.js +1 -1
- package/dist/cjs/components/virtual-menu.js.map +2 -2
- package/dist/cjs/helpers/font-config.d.ts.map +1 -1
- package/dist/cjs/helpers/font-config.js +3 -3
- package/dist/cjs/helpers/font-config.js.map +2 -2
- package/dist/cjs/helpers/get-margin-styles.js +1 -1
- package/dist/cjs/helpers/get-margin-styles.js.map +2 -2
- package/dist/cjs/helpers/index.js +3 -3
- package/dist/cjs/helpers/index.js.map +2 -2
- package/dist/cjs/hooks/index.js +2 -2
- package/dist/cjs/hooks/index.js.map +2 -2
- package/dist/cjs/hooks/use-live-announcer.js +2 -2
- package/dist/cjs/hooks/use-live-announcer.js.map +2 -2
- package/dist/cjs/hooks/use-thumb-sync.js +1 -1
- package/dist/cjs/hooks/use-thumb-sync.js.map +2 -2
- package/dist/cjs/hooks/use-toggle-state.js +2 -2
- package/dist/cjs/hooks/use-toggle-state.js.map +2 -2
- package/dist/cjs/index.js +6 -6
- package/dist/cjs/index.js.map +3 -3
- package/dist/cjs/props/emphasis.prop.js +1 -1
- package/dist/cjs/props/emphasis.prop.js.map +2 -2
- package/dist/cjs/props/font-family.prop.js +1 -1
- package/dist/cjs/props/font-family.prop.js.map +2 -2
- package/dist/cjs/props/gap.props.js +1 -1
- package/dist/cjs/props/gap.props.js.map +2 -2
- package/dist/cjs/props/height.props.js +1 -1
- package/dist/cjs/props/height.props.js.map +2 -2
- package/dist/cjs/props/index.js +1 -1
- package/dist/cjs/props/index.js.map +2 -2
- package/dist/cjs/props/layout.props.d.ts +5 -5
- package/dist/cjs/props/layout.props.js +1 -1
- package/dist/cjs/props/layout.props.js.map +2 -2
- package/dist/cjs/props/leading-trim.prop.js +1 -1
- package/dist/cjs/props/leading-trim.prop.js.map +2 -2
- package/dist/cjs/props/margin.props.js +1 -1
- package/dist/cjs/props/margin.props.js.map +2 -2
- package/dist/cjs/props/padding.props.js +1 -1
- package/dist/cjs/props/padding.props.js.map +2 -2
- package/dist/cjs/props/shadow.props.js +1 -1
- package/dist/cjs/props/shadow.props.js.map +2 -2
- package/dist/cjs/props/text-align.prop.js +1 -1
- package/dist/cjs/props/text-align.prop.js.map +2 -2
- package/dist/cjs/props/text-wrap.prop.js +1 -1
- package/dist/cjs/props/text-wrap.prop.js.map +2 -2
- package/dist/cjs/props/truncate.prop.js +1 -1
- package/dist/cjs/props/truncate.prop.js.map +2 -2
- package/dist/cjs/props/weight.prop.js +1 -1
- package/dist/cjs/props/weight.prop.js.map +2 -2
- package/dist/cjs/props/width.props.js +1 -1
- package/dist/cjs/props/width.props.js.map +2 -2
- package/dist/esm/chunk-23KT3D2Z.js +2 -0
- package/dist/esm/{chunk-DL6F2TIU.js.map → chunk-23KT3D2Z.js.map} +2 -2
- package/dist/esm/chunk-25FNCKUM.js +2 -0
- package/dist/esm/chunk-25FNCKUM.js.map +7 -0
- package/dist/esm/chunk-2E4P5XQL.js +2 -0
- package/dist/esm/chunk-2E4P5XQL.js.map +7 -0
- package/dist/esm/chunk-3BUQ7ADW.js +2 -0
- package/dist/esm/{chunk-OA2BZDKL.js.map → chunk-3BUQ7ADW.js.map} +2 -2
- package/dist/esm/chunk-3JA7SJDT.js +2 -0
- package/dist/esm/chunk-3JA7SJDT.js.map +7 -0
- package/dist/esm/{chunk-PEP6MQJ2.js → chunk-3KQE2PSJ.js} +2 -2
- package/dist/esm/chunk-3QZBWH2A.js +2 -0
- package/dist/esm/chunk-3QZBWH2A.js.map +7 -0
- package/dist/esm/chunk-3XHTJZNP.js +2 -0
- package/dist/esm/chunk-3XHTJZNP.js.map +7 -0
- package/dist/esm/chunk-3YWVE5GL.js +2 -0
- package/dist/esm/chunk-3YWVE5GL.js.map +7 -0
- package/dist/esm/chunk-4BU4R7UM.js +2 -0
- package/dist/esm/{chunk-XEW4BRIL.js.map → chunk-4BU4R7UM.js.map} +2 -2
- package/dist/esm/chunk-4P6TKZCA.js +2 -0
- package/dist/esm/{chunk-P3WB3K2M.js.map → chunk-4P6TKZCA.js.map} +2 -2
- package/dist/esm/{chunk-HZNOHY6O.js → chunk-63PQNLFJ.js} +2 -2
- package/dist/esm/{chunk-HZNOHY6O.js.map → chunk-63PQNLFJ.js.map} +2 -2
- package/dist/esm/chunk-677CX2QF.js +2 -0
- package/dist/esm/{chunk-MQWH2IFO.js.map → chunk-677CX2QF.js.map} +2 -2
- package/dist/esm/chunk-6CK7UTNH.js +2 -0
- package/dist/esm/{chunk-TCSPZ27B.js.map → chunk-6CK7UTNH.js.map} +2 -2
- package/dist/esm/chunk-6RK26HIY.js +2 -0
- package/dist/esm/chunk-6RK26HIY.js.map +7 -0
- package/dist/esm/chunk-7CUQMU3T.js +2 -0
- package/dist/esm/chunk-7CUQMU3T.js.map +7 -0
- package/dist/esm/chunk-7ESWH773.js +2 -0
- package/dist/esm/{chunk-7QPXLSVR.js.map → chunk-7ESWH773.js.map} +2 -2
- package/dist/esm/chunk-7FTUTUMD.js +2 -0
- package/dist/esm/chunk-7FTUTUMD.js.map +7 -0
- package/dist/esm/chunk-7SS4UUJH.js +2 -0
- package/dist/esm/{chunk-T4L4QDBG.js.map → chunk-7SS4UUJH.js.map} +2 -2
- package/dist/esm/chunk-A3YQIJDA.js +2 -0
- package/dist/esm/{chunk-MC3GY6ET.js.map → chunk-A3YQIJDA.js.map} +2 -2
- package/dist/esm/chunk-AB3QCCUM.js +2 -0
- package/dist/esm/chunk-AB3QCCUM.js.map +7 -0
- package/dist/esm/{chunk-GBFGUOFS.js → chunk-BE7LMBBC.js} +2 -2
- package/dist/esm/chunk-BEP4AH5V.js +2 -0
- package/dist/esm/chunk-BEP4AH5V.js.map +7 -0
- package/dist/esm/{chunk-FGORMEAO.js → chunk-BIITGC3Z.js} +2 -2
- package/dist/esm/{chunk-FGORMEAO.js.map → chunk-BIITGC3Z.js.map} +2 -2
- package/dist/esm/{chunk-4VBH3W2S.js → chunk-BJUCBOGU.js} +2 -2
- package/dist/esm/{chunk-4VBH3W2S.js.map → chunk-BJUCBOGU.js.map} +2 -2
- package/dist/esm/chunk-BWLCTTTN.js +2 -0
- package/dist/esm/{chunk-5P4JTWBK.js.map → chunk-BWLCTTTN.js.map} +2 -2
- package/dist/esm/chunk-CLZW2IDD.js +2 -0
- package/dist/esm/{chunk-R2FUNQTI.js.map → chunk-CLZW2IDD.js.map} +2 -2
- package/dist/esm/chunk-DBROSD2J.js +2 -0
- package/dist/esm/chunk-DBROSD2J.js.map +7 -0
- package/dist/esm/chunk-DFGY2NZB.js +2 -0
- package/dist/esm/chunk-DNOQ6E3W.js +2 -0
- package/dist/esm/{chunk-24CVW6P7.js.map → chunk-DNOQ6E3W.js.map} +2 -2
- package/dist/esm/chunk-DSPYHO3L.js +2 -0
- package/dist/esm/{chunk-ZCWDURKJ.js.map → chunk-DSPYHO3L.js.map} +2 -2
- package/dist/esm/chunk-E2D2VWUI.js +2 -0
- package/dist/esm/chunk-E2D2VWUI.js.map +7 -0
- package/dist/esm/chunk-EKTVL6SS.js +2 -0
- package/dist/esm/chunk-EKTVL6SS.js.map +7 -0
- package/dist/esm/chunk-EMNSA65L.js +2 -0
- package/dist/esm/chunk-EMNSA65L.js.map +7 -0
- package/dist/esm/chunk-ETQNRMHU.js +2 -0
- package/dist/esm/chunk-ETQNRMHU.js.map +7 -0
- package/dist/esm/chunk-FDHWAC6W.js +2 -0
- package/dist/esm/{chunk-HGG3ULNK.js.map → chunk-FDHWAC6W.js.map} +2 -2
- package/dist/esm/chunk-FFG32ERA.js +5 -0
- package/dist/esm/chunk-FFG32ERA.js.map +7 -0
- package/dist/esm/chunk-FHPHEIYJ.js +2 -0
- package/dist/esm/chunk-FHPHEIYJ.js.map +7 -0
- package/dist/esm/chunk-FJFBM7HW.js +2 -0
- package/dist/esm/{chunk-IQBSUN5B.js.map → chunk-FJFBM7HW.js.map} +2 -2
- package/dist/esm/chunk-FNAE6HUI.js +2 -0
- package/dist/esm/chunk-FNAE6HUI.js.map +7 -0
- package/dist/esm/{chunk-VA5A4MHU.js → chunk-FQ3QJOYE.js} +4 -4
- package/dist/esm/{chunk-VA5A4MHU.js.map → chunk-FQ3QJOYE.js.map} +2 -2
- package/dist/esm/chunk-FVY44PTM.js +2 -0
- package/dist/esm/{chunk-KRDRQU4G.js.map → chunk-FVY44PTM.js.map} +2 -2
- package/dist/esm/chunk-GBQZ4Z2H.js +2 -0
- package/dist/esm/chunk-GBQZ4Z2H.js.map +7 -0
- package/dist/esm/chunk-GNTNGLYR.js +2 -0
- package/dist/esm/{chunk-IZPDJN6O.js.map → chunk-GNTNGLYR.js.map} +2 -2
- package/dist/esm/{chunk-BPVVFHYD.js → chunk-H3IAGAEL.js} +2 -2
- package/dist/esm/chunk-HCBR74BW.js +2 -0
- package/dist/esm/chunk-HCBR74BW.js.map +7 -0
- package/dist/esm/chunk-HIKMKGPT.js +2 -0
- package/dist/esm/{chunk-EGSMLRSO.js.map → chunk-HIKMKGPT.js.map} +2 -2
- package/dist/esm/chunk-HKPXDQ2B.js +2 -0
- package/dist/esm/{chunk-5WLSAUNJ.js.map → chunk-HKPXDQ2B.js.map} +2 -2
- package/dist/esm/chunk-IAEAXIBI.js +2 -0
- package/dist/esm/chunk-IAEAXIBI.js.map +7 -0
- package/dist/esm/chunk-IDOZJVO6.js +2 -0
- package/dist/esm/{chunk-VCU6VCPH.js.map → chunk-IDOZJVO6.js.map} +2 -2
- package/dist/esm/chunk-IJRBX6EV.js +2 -0
- package/dist/esm/chunk-IJRBX6EV.js.map +7 -0
- package/dist/esm/chunk-IVQHRM33.js +2 -0
- package/dist/esm/chunk-IVQHRM33.js.map +7 -0
- package/dist/esm/chunk-IWCFJJBI.js +2 -0
- package/dist/esm/{chunk-DDFONGSM.js.map → chunk-IWCFJJBI.js.map} +2 -2
- package/dist/esm/chunk-JBHRV364.js +2 -0
- package/dist/esm/{chunk-A2NG5NRN.js.map → chunk-JBHRV364.js.map} +2 -2
- package/dist/esm/chunk-KEWNXANF.js +2 -0
- package/dist/esm/{chunk-KNQBAOMV.js.map → chunk-KEWNXANF.js.map} +2 -2
- package/dist/esm/chunk-KKMOGHIY.js +2 -0
- package/dist/esm/chunk-KKMOGHIY.js.map +7 -0
- package/dist/esm/chunk-KL73COYX.js +2 -0
- package/dist/esm/{chunk-K7VO7TND.js.map → chunk-KL73COYX.js.map} +2 -2
- package/dist/esm/chunk-KMDXIZAG.js +2 -0
- package/dist/esm/{chunk-YB7CENHH.js.map → chunk-KMDXIZAG.js.map} +2 -2
- package/dist/esm/chunk-KS4U4VPH.js +2 -0
- package/dist/esm/chunk-KS4U4VPH.js.map +7 -0
- package/dist/esm/chunk-KT2CMUS5.js +2 -0
- package/dist/esm/{chunk-LNFN35ZE.js.map → chunk-KT2CMUS5.js.map} +2 -2
- package/dist/esm/{chunk-EOWG5SIY.js → chunk-KZEZDBE7.js} +2 -2
- package/dist/esm/{chunk-EOWG5SIY.js.map → chunk-KZEZDBE7.js.map} +2 -2
- package/dist/esm/{chunk-4I4NJNYO.js → chunk-LC5AK2ZD.js} +2 -2
- package/dist/esm/{chunk-4I4NJNYO.js.map → chunk-LC5AK2ZD.js.map} +2 -2
- package/dist/esm/chunk-LHIS3UKQ.js +2 -0
- package/dist/esm/{chunk-36GV4H3C.js.map → chunk-LHIS3UKQ.js.map} +2 -2
- package/dist/esm/chunk-LUNWI377.js +2 -0
- package/dist/esm/chunk-LUNWI377.js.map +7 -0
- package/dist/esm/chunk-LVCUY2OS.js +2 -0
- package/dist/esm/{chunk-LVCP5WGX.js.map → chunk-LVCUY2OS.js.map} +2 -2
- package/dist/esm/chunk-LXTGEI62.js +2 -0
- package/dist/esm/chunk-LXTGEI62.js.map +7 -0
- package/dist/esm/chunk-MPTTUBFU.js +2 -0
- package/dist/esm/{chunk-7MPFZIZX.js.map → chunk-MPTTUBFU.js.map} +2 -2
- package/dist/esm/chunk-N6KH2EOU.js +2 -0
- package/dist/esm/{chunk-2WSD2H23.js.map → chunk-N6KH2EOU.js.map} +2 -2
- package/dist/esm/chunk-NA237RHQ.js +2 -0
- package/dist/esm/chunk-NA237RHQ.js.map +7 -0
- package/dist/esm/chunk-NLXJZJNN.js +2 -0
- package/dist/esm/{chunk-DSV3XBHM.js.map → chunk-NLXJZJNN.js.map} +2 -2
- package/dist/esm/chunk-NNZTSXKH.js +2 -0
- package/dist/esm/{chunk-UEHCCJYY.js.map → chunk-NNZTSXKH.js.map} +2 -2
- package/dist/esm/chunk-NUVUXNHF.js +2 -0
- package/dist/esm/chunk-NUVUXNHF.js.map +7 -0
- package/dist/esm/{chunk-672FI4OH.js → chunk-OJQNLROL.js} +2 -2
- package/dist/esm/{chunk-672FI4OH.js.map → chunk-OJQNLROL.js.map} +2 -2
- package/dist/esm/chunk-OSSNMF5U.js +2 -0
- package/dist/esm/{chunk-E4KCVRBQ.js.map → chunk-OSSNMF5U.js.map} +2 -2
- package/dist/esm/chunk-OY5NT7VT.js +2 -0
- package/dist/esm/chunk-OY5NT7VT.js.map +7 -0
- package/dist/esm/chunk-P7VSZYG3.js +2 -0
- package/dist/esm/chunk-P7VSZYG3.js.map +7 -0
- package/dist/esm/chunk-PJR6GRZC.js +2 -0
- package/dist/esm/chunk-PJR6GRZC.js.map +7 -0
- package/dist/esm/chunk-PNAB6KCN.js +2 -0
- package/dist/esm/chunk-PNAB6KCN.js.map +7 -0
- package/dist/esm/{chunk-RGZKWVJC.js → chunk-PPZY7PJA.js} +2 -2
- package/dist/esm/{chunk-RGZKWVJC.js.map → chunk-PPZY7PJA.js.map} +2 -2
- package/dist/esm/chunk-PSPENFPH.js +2 -0
- package/dist/esm/{chunk-VOEZ5HJL.js.map → chunk-PSPENFPH.js.map} +2 -2
- package/dist/esm/{chunk-AYZRLA7F.js → chunk-Q4IA622Q.js} +2 -2
- package/dist/esm/{chunk-AYZRLA7F.js.map → chunk-Q4IA622Q.js.map} +2 -2
- package/dist/esm/chunk-QOHJIF25.js +2 -0
- package/dist/esm/{chunk-MYO2E46Z.js.map → chunk-QOHJIF25.js.map} +2 -2
- package/dist/esm/{chunk-RBTTIDON.js → chunk-QWDCLL6R.js} +2 -2
- package/dist/esm/chunk-QWDCLL6R.js.map +7 -0
- package/dist/esm/chunk-R4XJNQX5.js +2 -0
- package/dist/esm/{chunk-7XWAXYZD.js.map → chunk-R4XJNQX5.js.map} +2 -2
- package/dist/esm/chunk-RAVZ7F5L.js +2 -0
- package/dist/esm/{chunk-RDS3AJWW.js.map → chunk-RAVZ7F5L.js.map} +2 -2
- package/dist/esm/chunk-RWTSGUVJ.js +2 -0
- package/dist/esm/{chunk-LHYX53XA.js.map → chunk-RWTSGUVJ.js.map} +2 -2
- package/dist/esm/chunk-S6GWR6EZ.js +2 -0
- package/dist/esm/{chunk-4ZAJVYU6.js.map → chunk-S6GWR6EZ.js.map} +2 -2
- package/dist/esm/chunk-SBRPXQWH.js +2 -0
- package/dist/esm/{chunk-WYADYDPN.js.map → chunk-SBRPXQWH.js.map} +2 -2
- package/dist/esm/chunk-SJXV4BWZ.js +2 -0
- package/dist/esm/{chunk-ZE2KAVXW.js.map → chunk-SJXV4BWZ.js.map} +2 -2
- package/dist/esm/chunk-SKOYHBIE.js +2 -0
- package/dist/esm/{chunk-TKSG7KBZ.js.map → chunk-SKOYHBIE.js.map} +2 -2
- package/dist/esm/chunk-SUPFDIJL.js +10 -0
- package/dist/esm/chunk-SUPFDIJL.js.map +7 -0
- package/dist/esm/{chunk-IN6ZEGDK.js → chunk-T62PRLPN.js} +2 -2
- package/dist/esm/{chunk-IN6ZEGDK.js.map → chunk-T62PRLPN.js.map} +2 -2
- package/dist/esm/chunk-THUBY6L2.js +2 -0
- package/dist/esm/{chunk-UMIDPKFZ.js.map → chunk-THUBY6L2.js.map} +2 -2
- package/dist/esm/chunk-TJL47GIO.js +2 -0
- package/dist/esm/chunk-TJL47GIO.js.map +7 -0
- package/dist/esm/chunk-VCV7RACK.js +2 -0
- package/dist/esm/{chunk-AXUDFYLY.js.map → chunk-VCV7RACK.js.map} +2 -2
- package/dist/esm/chunk-VPSMETY2.js +2 -0
- package/dist/esm/chunk-VS2ZWRGO.js +2 -0
- package/dist/esm/{chunk-WWF3IU3P.js.map → chunk-VS2ZWRGO.js.map} +2 -2
- package/dist/esm/chunk-VVWYAVHM.js +2 -0
- package/dist/esm/{chunk-IAC5IOPN.js.map → chunk-VVWYAVHM.js.map} +2 -2
- package/dist/esm/chunk-VW46DG7H.js +2 -0
- package/dist/esm/chunk-VW46DG7H.js.map +7 -0
- package/dist/esm/chunk-VXQQ6KXI.js +2 -0
- package/dist/esm/{chunk-BZZXXZ3O.js.map → chunk-VXQQ6KXI.js.map} +2 -2
- package/dist/esm/chunk-WKSXMFFF.js +2 -0
- package/dist/esm/{chunk-5B6JDZ3S.js.map → chunk-WKSXMFFF.js.map} +2 -2
- package/dist/esm/chunk-WTCZAUFY.js +2 -0
- package/dist/esm/{chunk-G2CKYO2I.js.map → chunk-WTCZAUFY.js.map} +2 -2
- package/dist/esm/chunk-X4A3XRBY.js +2 -0
- package/dist/esm/{chunk-K6QKUX3C.js.map → chunk-X4A3XRBY.js.map} +2 -2
- package/dist/esm/chunk-XKSU3NLG.js +2 -0
- package/dist/esm/{chunk-TDQTMR5T.js.map → chunk-XKSU3NLG.js.map} +2 -2
- package/dist/esm/{chunk-FHEHX7CE.js → chunk-XTDXXQTB.js} +2 -2
- package/dist/esm/{chunk-FHEHX7CE.js.map → chunk-XTDXXQTB.js.map} +2 -2
- package/dist/esm/chunk-XZQSSRTG.js +2 -0
- package/dist/esm/{chunk-M4M4OZTS.js.map → chunk-XZQSSRTG.js.map} +2 -2
- package/dist/esm/chunk-Y3JYEEFB.js +2 -0
- package/dist/esm/chunk-Y3JYEEFB.js.map +7 -0
- package/dist/esm/chunk-YEHM3FZN.js +2 -0
- package/dist/esm/{chunk-JMBCX5XR.js.map → chunk-YEHM3FZN.js.map} +2 -2
- package/dist/esm/chunk-YHYPIJCR.js +2 -0
- package/dist/esm/{chunk-K4BDLRCC.js.map → chunk-YHYPIJCR.js.map} +2 -2
- package/dist/esm/chunk-YK3ZUMRQ.js +2 -0
- package/dist/esm/chunk-YK3ZUMRQ.js.map +7 -0
- package/dist/esm/chunk-YLDV2HKZ.js +2 -0
- package/dist/esm/chunk-YLDV2HKZ.js.map +7 -0
- package/dist/esm/chunk-YXLDRDHW.js +2 -0
- package/dist/esm/chunk-YXLDRDHW.js.map +7 -0
- package/dist/esm/chunk-YZM54IJE.js +2 -0
- package/dist/esm/{chunk-LPVDR7V3.js.map → chunk-YZM54IJE.js.map} +2 -2
- package/dist/esm/chunk-ZJI2IK7C.js +2 -0
- package/dist/esm/chunk-ZJI2IK7C.js.map +7 -0
- package/dist/esm/chunk-ZNDCZM5A.js +2 -0
- package/dist/esm/{chunk-W7YHNMAO.js.map → chunk-ZNDCZM5A.js.map} +2 -2
- package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
- package/dist/esm/components/_internal/base-button.js +1 -1
- package/dist/esm/components/_internal/base-button.props.js +1 -1
- package/dist/esm/components/_internal/base-checkbox.props.js +1 -1
- package/dist/esm/components/_internal/base-menu.props.js +1 -1
- package/dist/esm/components/_internal/base-menu.utils.js +1 -1
- package/dist/esm/components/_internal/base-radio.props.js +1 -1
- package/dist/esm/components/_internal/base-tab-list.props.js +1 -1
- package/dist/esm/components/_internal/dropdown-menu-drill-down.js +1 -1
- package/dist/esm/components/_internal/menu-context.js +1 -1
- package/dist/esm/components/_internal/pane-chrome.js +1 -1
- package/dist/esm/components/_internal/shell-bottom.js +1 -1
- package/dist/esm/components/_internal/shell-handles.js +1 -1
- package/dist/esm/components/_internal/shell-inspector.js +1 -1
- package/dist/esm/components/_internal/shell-resizable.js +1 -1
- package/dist/esm/components/_internal/shell-sidebar.js +1 -1
- package/dist/esm/components/accordion.js +1 -1
- package/dist/esm/components/accordion.props.js +1 -1
- package/dist/esm/components/alert-dialog.js +1 -1
- package/dist/esm/components/alert-dialog.props.js +1 -1
- package/dist/esm/components/avatar.d.ts.map +1 -1
- package/dist/esm/components/avatar.js +1 -1
- package/dist/esm/components/avatar.props.d.ts +1 -1
- package/dist/esm/components/avatar.props.d.ts.map +1 -1
- package/dist/esm/components/avatar.props.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/box.props.js +1 -1
- package/dist/esm/components/button.js +1 -1
- package/dist/esm/components/button.props.js +1 -1
- package/dist/esm/components/card.js +1 -1
- package/dist/esm/components/card.props.js +1 -1
- package/dist/esm/components/chatbar.js +1 -1
- package/dist/esm/components/checkbox-group.js +1 -1
- package/dist/esm/components/checkbox-group.props.js +1 -1
- package/dist/esm/components/checkbox.js +1 -1
- package/dist/esm/components/checkbox.props.js +1 -1
- package/dist/esm/components/chip.js +1 -1
- package/dist/esm/components/chip.props.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.d.ts.map +1 -1
- package/dist/esm/components/combobox.js +1 -1
- package/dist/esm/components/combobox.props.js +1 -1
- package/dist/esm/components/context-menu.js +1 -1
- package/dist/esm/components/context-menu.props.js +1 -1
- package/dist/esm/components/dialog.js +1 -1
- package/dist/esm/components/dialog.props.js +1 -1
- package/dist/esm/components/dropdown-menu.js +1 -1
- package/dist/esm/components/dropdown-menu.props.js +1 -1
- package/dist/esm/components/flex.js +1 -1
- package/dist/esm/components/flex.props.js +1 -1
- package/dist/esm/components/grid.js +1 -1
- package/dist/esm/components/grid.props.js +1 -1
- package/dist/esm/components/heading.js +1 -1
- package/dist/esm/components/heading.props.js +1 -1
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/kbd.js +1 -1
- package/dist/esm/components/kbd.props.js +1 -1
- package/dist/esm/components/link.js +1 -1
- package/dist/esm/components/link.props.js +1 -1
- package/dist/esm/components/message-scroller.js +1 -1
- package/dist/esm/components/navbar.js +1 -1
- package/dist/esm/components/notice.js +1 -1
- package/dist/esm/components/popover.js +1 -1
- package/dist/esm/components/popover.props.js +1 -1
- package/dist/esm/components/progress.js +1 -1
- package/dist/esm/components/progress.props.js +1 -1
- package/dist/esm/components/radio-group.js +1 -1
- package/dist/esm/components/radio-group.props.js +1 -1
- package/dist/esm/components/radio.js +1 -1
- package/dist/esm/components/radio.props.js +1 -1
- package/dist/esm/components/reset.js +1 -1
- package/dist/esm/components/schemas/button.schema.d.ts +146 -0
- package/dist/esm/components/schemas/button.schema.d.ts.map +1 -1
- package/dist/esm/components/schemas/button.schema.js +1 -1
- package/dist/esm/components/schemas/index.js +1 -1
- package/dist/esm/components/schemas/toggle.schema.js +1 -1
- package/dist/esm/components/scroll-area.js +1 -1
- package/dist/esm/components/segmented-control.js +1 -1
- package/dist/esm/components/segmented-control.props.js +1 -1
- package/dist/esm/components/select.d.ts.map +1 -1
- package/dist/esm/components/select.js +1 -1
- package/dist/esm/components/select.props.js +1 -1
- package/dist/esm/components/separator.js +1 -1
- package/dist/esm/components/separator.props.js +1 -1
- package/dist/esm/components/sheet.js +1 -1
- package/dist/esm/components/shell.js +1 -1
- package/dist/esm/components/sidebar.js +1 -1
- package/dist/esm/components/slider.js +1 -1
- package/dist/esm/components/slider.props.js +1 -1
- package/dist/esm/components/spinner.js +1 -1
- package/dist/esm/components/switch.js +1 -1
- package/dist/esm/components/switch.props.js +1 -1
- package/dist/esm/components/table.js +1 -1
- package/dist/esm/components/table.props.js +1 -1
- package/dist/esm/components/tabs.js +1 -1
- package/dist/esm/components/tabs.props.js +1 -1
- package/dist/esm/components/text-area.js +1 -1
- package/dist/esm/components/text-area.props.js +1 -1
- package/dist/esm/components/text-field.js +1 -1
- package/dist/esm/components/text-field.props.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.js +1 -1
- package/dist/esm/components/toggle.js +1 -1
- package/dist/esm/components/toolbar.js +1 -1
- package/dist/esm/components/toolbar.props.js +1 -1
- package/dist/esm/components/tooltip.js +1 -1
- package/dist/esm/components/tooltip.props.js +1 -1
- package/dist/esm/components/virtual-menu.js +1 -1
- package/dist/esm/helpers/font-config.d.ts.map +1 -1
- package/dist/esm/helpers/font-config.js +1 -1
- package/dist/esm/helpers/get-margin-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-live-announcer.js +1 -1
- package/dist/esm/hooks/use-thumb-sync.js +1 -1
- package/dist/esm/hooks/use-toggle-state.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/props/emphasis.prop.js +1 -1
- package/dist/esm/props/font-family.prop.js +1 -1
- package/dist/esm/props/gap.props.js +1 -1
- package/dist/esm/props/height.props.js +1 -1
- package/dist/esm/props/index.js +1 -1
- package/dist/esm/props/layout.props.d.ts +5 -5
- package/dist/esm/props/layout.props.js +1 -1
- package/dist/esm/props/leading-trim.prop.js +1 -1
- package/dist/esm/props/margin.props.js +1 -1
- package/dist/esm/props/padding.props.js +1 -1
- package/dist/esm/props/shadow.props.js +1 -1
- package/dist/esm/props/text-align.prop.js +1 -1
- package/dist/esm/props/text-wrap.prop.js +1 -1
- package/dist/esm/props/truncate.prop.js +1 -1
- package/dist/esm/props/weight.prop.js +1 -1
- package/dist/esm/props/width.props.js +1 -1
- package/layout/components.css +3 -3
- package/layout/tokens.css +1 -1
- package/layout/utilities.css +4716 -4446
- package/layout.css +4720 -4450
- package/package.json +1 -1
- package/postcss-breakpoints.cjs +10 -10
- package/src/components/_internal/base-button.css +36 -36
- package/src/components/_internal/base-button.props.ts +4 -4
- package/src/components/_internal/base-button.tsx +54 -27
- package/src/components/_internal/base-card.css +44 -44
- package/src/components/_internal/base-checkbox.css +45 -45
- package/src/components/_internal/base-checkbox.props.ts +2 -2
- package/src/components/_internal/base-dialog.css +17 -15
- package/src/components/_internal/base-menu.css +54 -54
- package/src/components/_internal/base-menu.props.ts +1 -1
- package/src/components/_internal/base-menu.utils.tsx +1 -1
- package/src/components/_internal/base-radio.css +33 -33
- package/src/components/_internal/base-radio.props.ts +2 -2
- package/src/components/_internal/base-sidebar-menu.css +25 -25
- package/src/components/_internal/base-sidebar.css +9 -12
- package/src/components/_internal/base-tab-list.css +37 -37
- package/src/components/_internal/base-tab-list.props.ts +3 -3
- package/src/components/_internal/dropdown-menu-drill-down.tsx +4 -4
- package/src/components/_internal/pane-chrome.tsx +6 -6
- package/src/components/_internal/shell-bottom.tsx +2 -2
- package/src/components/_internal/shell-handles.tsx +2 -2
- package/src/components/_internal/shell-inspector.tsx +2 -2
- package/src/components/_internal/shell-resizable.tsx +1 -1
- package/src/components/_internal/shell-sidebar.tsx +2 -2
- package/src/components/accordion.css +55 -55
- package/src/components/accordion.props.tsx +2 -2
- package/src/components/accordion.tsx +6 -6
- package/src/components/alert-dialog.css +1 -1
- package/src/components/alert-dialog.tsx +5 -5
- package/src/components/avatar.css +84 -84
- package/src/components/avatar.props.tsx +3 -3
- package/src/components/avatar.tsx +12 -9
- package/src/components/blockquote.css +1 -1
- package/src/components/blockquote.props.tsx +1 -1
- package/src/components/blockquote.tsx +1 -1
- package/src/components/box.css +1 -1
- package/src/components/box.props.tsx +1 -1
- package/src/components/box.tsx +1 -1
- package/src/components/button.css +6 -6
- package/src/components/button.tsx +1 -1
- package/src/components/card.css +16 -2
- package/src/components/card.props.tsx +2 -2
- package/src/components/card.tsx +1 -1
- package/src/components/chatbar.css +94 -94
- package/src/components/chatbar.tsx +26 -26
- package/src/components/checkbox-group.css +5 -5
- package/src/components/checkbox-group.tsx +7 -7
- package/src/components/checkbox.css +2 -2
- package/src/components/checkbox.tsx +2 -2
- package/src/components/chip.css +23 -23
- package/src/components/chip.props.tsx +2 -2
- package/src/components/chip.tsx +1 -1
- package/src/components/code.css +29 -29
- package/src/components/code.props.tsx +2 -2
- package/src/components/code.tsx +1 -1
- package/src/components/combobox.css +22 -22
- package/src/components/combobox.props.tsx +4 -4
- package/src/components/combobox.tsx +27 -28
- package/src/components/context-menu.css +1 -1
- package/src/components/context-menu.tsx +39 -39
- package/src/components/dialog.css +1 -1
- package/src/components/dialog.props.tsx +2 -2
- package/src/components/dialog.tsx +5 -5
- package/src/components/dropdown-menu.css +18 -18
- package/src/components/dropdown-menu.tsx +56 -56
- package/src/components/flex.css +1 -1
- package/src/components/flex.props.tsx +5 -5
- package/src/components/flex.tsx +1 -1
- package/src/components/grid.css +1 -1
- package/src/components/grid.props.tsx +9 -9
- package/src/components/grid.tsx +1 -1
- package/src/components/heading.css +22 -22
- package/src/components/heading.props.tsx +1 -1
- package/src/components/heading.tsx +1 -1
- package/src/components/index.css +1 -1
- package/src/components/kbd.css +39 -39
- package/src/components/kbd.props.tsx +2 -2
- package/src/components/kbd.tsx +1 -1
- package/src/components/link.css +11 -11
- package/src/components/link.props.tsx +2 -2
- package/src/components/link.tsx +1 -1
- package/src/components/message-scroller.css +7 -7
- package/src/components/message-scroller.tsx +5 -5
- package/src/components/navbar.css +14 -14
- package/src/components/navbar.tsx +8 -8
- package/src/components/notice.css +16 -14
- package/src/components/notice.tsx +6 -6
- package/src/components/popover.css +16 -14
- package/src/components/popover.props.tsx +1 -1
- package/src/components/popover.tsx +7 -7
- package/src/components/progress.css +15 -15
- package/src/components/progress.props.tsx +1 -1
- package/src/components/progress.tsx +2 -2
- package/src/components/radio-group.css +3 -3
- package/src/components/radio-group.props.tsx +2 -2
- package/src/components/radio-group.tsx +4 -4
- package/src/components/radio.tsx +1 -1
- package/src/components/reset.css +1 -1
- package/src/components/reset.tsx +1 -1
- package/src/components/schemas/button.schema.ts +13 -1
- package/src/components/schemas/toggle.schema.ts +2 -2
- package/src/components/scroll-area.css +16 -16
- package/src/components/scroll-area.tsx +8 -8
- package/src/components/segmented-control.css +97 -97
- package/src/components/segmented-control.props.tsx +2 -2
- package/src/components/segmented-control.tsx +7 -7
- package/src/components/select.css +78 -78
- package/src/components/select.props.tsx +2 -2
- package/src/components/select.tsx +39 -29
- package/src/components/separator.css +5 -5
- package/src/components/separator.props.tsx +2 -2
- package/src/components/separator.tsx +1 -1
- package/src/components/sheet.css +6 -6
- package/src/components/sheet.tsx +3 -3
- package/src/components/shell.css +456 -456
- package/src/components/shell.tsx +12 -12
- package/src/components/sidebar.css +199 -199
- package/src/components/sidebar.tsx +37 -37
- package/src/components/slider.css +50 -50
- package/src/components/slider.props.tsx +4 -4
- package/src/components/slider.tsx +9 -9
- package/src/components/spinner.css +6 -6
- package/src/components/spinner.tsx +9 -9
- package/src/components/switch.css +28 -28
- package/src/components/switch.props.tsx +2 -2
- package/src/components/switch.tsx +2 -2
- package/src/components/table.css +28 -28
- package/src/components/table.props.tsx +5 -5
- package/src/components/table.tsx +8 -8
- package/src/components/tabs.css +2 -2
- package/src/components/tabs.tsx +6 -6
- package/src/components/text-area.css +84 -84
- package/src/components/text-area.props.tsx +3 -3
- package/src/components/text-area.tsx +4 -4
- package/src/components/text-field.css +112 -107
- package/src/components/text-field.props.tsx +2 -2
- package/src/components/text-field.tsx +8 -8
- package/src/components/text.css +23 -23
- package/src/components/text.props.tsx +1 -1
- package/src/components/text.tsx +1 -1
- package/src/components/theme.tsx +1 -1
- package/src/components/toggle.tsx +1 -1
- package/src/components/toolbar.css +15 -15
- package/src/components/toolbar.props.tsx +1 -1
- package/src/components/toolbar.tsx +4 -4
- package/src/components/tooltip.css +6 -6
- package/src/components/tooltip.tsx +3 -3
- package/src/components/virtual-menu.css +6 -6
- package/src/components/virtual-menu.tsx +4 -4
- package/src/helpers/font-config.ts +4 -4
- package/src/helpers/get-margin-styles.ts +7 -7
- package/src/hooks/use-live-announcer.ts +4 -4
- package/src/hooks/use-thumb-sync.ts +1 -1
- package/src/props/emphasis.prop.ts +1 -1
- package/src/props/font-family.prop.ts +1 -1
- package/src/props/gap.props.ts +3 -3
- package/src/props/height.props.ts +3 -3
- package/src/props/layout.props.ts +22 -22
- package/src/props/leading-trim.prop.ts +1 -1
- package/src/props/margin.props.ts +7 -7
- package/src/props/padding.props.ts +7 -7
- package/src/props/shadow.props.ts +1 -1
- package/src/props/text-align.prop.ts +1 -1
- package/src/props/text-wrap.prop.ts +1 -1
- package/src/props/truncate.prop.ts +1 -1
- package/src/props/weight.prop.ts +1 -1
- package/src/props/width.props.ts +3 -3
- package/src/styles/scrollbar.css +3 -3
- package/src/styles/tokens/color.css +241 -235
- package/src/styles/tokens/constants.css +1 -1
- package/src/styles/tokens/cursor.css +1 -1
- package/src/styles/tokens/font-family.css +4 -4
- package/src/styles/tokens/radius.css +12 -12
- package/src/styles/tokens/shadow.css +28 -28
- package/src/styles/tokens/space.css +1 -1
- package/src/styles/tokens/typography.css +2 -2
- package/src/styles/utilities/align-content.css +8 -8
- package/src/styles/utilities/align-items.css +5 -5
- package/src/styles/utilities/align-self.css +5 -5
- package/src/styles/utilities/display.css +9 -9
- package/src/styles/utilities/flex-basis.css +6 -6
- package/src/styles/utilities/flex-direction.css +4 -4
- package/src/styles/utilities/flex-grow.css +9 -9
- package/src/styles/utilities/flex-shrink.css +9 -9
- package/src/styles/utilities/flex-wrap.css +3 -3
- package/src/styles/utilities/font-weight.css +3 -3
- package/src/styles/utilities/gap.css +60 -60
- package/src/styles/utilities/grid-area.css +6 -6
- package/src/styles/utilities/grid-auto-flow.css +5 -5
- package/src/styles/utilities/grid-column-end.css +16 -16
- package/src/styles/utilities/grid-column-start.css +16 -16
- package/src/styles/utilities/grid-column.css +16 -16
- package/src/styles/utilities/grid-row-end.css +16 -16
- package/src/styles/utilities/grid-row-start.css +16 -16
- package/src/styles/utilities/grid-row.css +16 -16
- package/src/styles/utilities/grid-template-areas.css +6 -6
- package/src/styles/utilities/grid-template-columns.css +16 -16
- package/src/styles/utilities/grid-template-rows.css +16 -16
- package/src/styles/utilities/height.css +6 -6
- package/src/styles/utilities/inset.css +130 -85
- package/src/styles/utilities/justify-content.css +4 -4
- package/src/styles/utilities/justify-items.css +5 -5
- package/src/styles/utilities/justify-self.css +5 -5
- package/src/styles/utilities/leading-trim.css +12 -12
- package/src/styles/utilities/margin.css +420 -420
- package/src/styles/utilities/max-height.css +6 -6
- package/src/styles/utilities/max-width.css +6 -6
- package/src/styles/utilities/min-height.css +6 -6
- package/src/styles/utilities/min-width.css +6 -6
- package/src/styles/utilities/overflow.css +15 -15
- package/src/styles/utilities/padding.css +140 -140
- package/src/styles/utilities/position.css +5 -5
- package/src/styles/utilities/resize.css +4 -4
- package/src/styles/utilities/table-layout.css +2 -2
- package/src/styles/utilities/text-align.css +3 -3
- package/src/styles/utilities/text-wrap.css +4 -4
- package/src/styles/utilities/truncate.css +1 -1
- package/src/styles/utilities/vertical-align.css +4 -4
- package/src/styles/utilities/width.css +6 -6
- package/styles.css +8937 -8648
- package/tokens/base.css +490 -482
- package/tokens.css +485 -477
- package/utilities.css +4909 -4639
- package/dist/esm/chunk-24CVW6P7.js +0 -2
- package/dist/esm/chunk-2FPJ6Q2N.js +0 -2
- package/dist/esm/chunk-2FPJ6Q2N.js.map +0 -7
- package/dist/esm/chunk-2KZ44I6T.js +0 -2
- package/dist/esm/chunk-2KZ44I6T.js.map +0 -7
- package/dist/esm/chunk-2WSD2H23.js +0 -2
- package/dist/esm/chunk-36GV4H3C.js +0 -2
- package/dist/esm/chunk-4ITIXBIP.js +0 -2
- package/dist/esm/chunk-4ITIXBIP.js.map +0 -7
- package/dist/esm/chunk-4YQXYWDQ.js +0 -2
- package/dist/esm/chunk-4YQXYWDQ.js.map +0 -7
- package/dist/esm/chunk-4ZAJVYU6.js +0 -2
- package/dist/esm/chunk-5B6JDZ3S.js +0 -2
- package/dist/esm/chunk-5P4JTWBK.js +0 -2
- package/dist/esm/chunk-5WLSAUNJ.js +0 -2
- package/dist/esm/chunk-6WANXT2G.js +0 -2
- package/dist/esm/chunk-6WANXT2G.js.map +0 -7
- package/dist/esm/chunk-72FU5FEC.js +0 -2
- package/dist/esm/chunk-7AXEPJYF.js +0 -2
- package/dist/esm/chunk-7AXEPJYF.js.map +0 -7
- package/dist/esm/chunk-7FPLWHMT.js +0 -2
- package/dist/esm/chunk-7FPLWHMT.js.map +0 -7
- package/dist/esm/chunk-7MPFZIZX.js +0 -2
- package/dist/esm/chunk-7OQXCYCW.js +0 -2
- package/dist/esm/chunk-7OQXCYCW.js.map +0 -7
- package/dist/esm/chunk-7QPXLSVR.js +0 -2
- package/dist/esm/chunk-7XWAXYZD.js +0 -2
- package/dist/esm/chunk-A2NG5NRN.js +0 -2
- package/dist/esm/chunk-AXUDFYLY.js +0 -2
- package/dist/esm/chunk-BHGES72S.js +0 -2
- package/dist/esm/chunk-BHGES72S.js.map +0 -7
- package/dist/esm/chunk-BQD7XS4K.js +0 -2
- package/dist/esm/chunk-BQD7XS4K.js.map +0 -7
- package/dist/esm/chunk-BZZXXZ3O.js +0 -2
- package/dist/esm/chunk-CTZ467AB.js +0 -2
- package/dist/esm/chunk-CTZ467AB.js.map +0 -7
- package/dist/esm/chunk-CYO6CRMQ.js +0 -2
- package/dist/esm/chunk-CYO6CRMQ.js.map +0 -7
- package/dist/esm/chunk-DDFONGSM.js +0 -2
- package/dist/esm/chunk-DL6F2TIU.js +0 -2
- package/dist/esm/chunk-DSV3XBHM.js +0 -2
- package/dist/esm/chunk-E4KCVRBQ.js +0 -2
- package/dist/esm/chunk-EDEYYJ3Q.js +0 -2
- package/dist/esm/chunk-EDEYYJ3Q.js.map +0 -7
- package/dist/esm/chunk-EDP2TJVB.js +0 -2
- package/dist/esm/chunk-EDP2TJVB.js.map +0 -7
- package/dist/esm/chunk-EE54S7YV.js +0 -10
- package/dist/esm/chunk-EE54S7YV.js.map +0 -7
- package/dist/esm/chunk-EGSMLRSO.js +0 -2
- package/dist/esm/chunk-ENPQJYXZ.js +0 -2
- package/dist/esm/chunk-ENPQJYXZ.js.map +0 -7
- package/dist/esm/chunk-ERGJN7FJ.js +0 -2
- package/dist/esm/chunk-ERGJN7FJ.js.map +0 -7
- package/dist/esm/chunk-FSMUCDLI.js +0 -2
- package/dist/esm/chunk-FSMUCDLI.js.map +0 -7
- package/dist/esm/chunk-G2CKYO2I.js +0 -2
- package/dist/esm/chunk-G46OLCM2.js +0 -2
- package/dist/esm/chunk-G46OLCM2.js.map +0 -7
- package/dist/esm/chunk-GOV5I7I2.js +0 -2
- package/dist/esm/chunk-GOV5I7I2.js.map +0 -7
- package/dist/esm/chunk-GWGQ73PU.js +0 -2
- package/dist/esm/chunk-GWGQ73PU.js.map +0 -7
- package/dist/esm/chunk-HAGKI7NA.js +0 -2
- package/dist/esm/chunk-HAGKI7NA.js.map +0 -7
- package/dist/esm/chunk-HCNO7PX6.js +0 -2
- package/dist/esm/chunk-HCNO7PX6.js.map +0 -7
- package/dist/esm/chunk-HELY5CSU.js +0 -2
- package/dist/esm/chunk-HELY5CSU.js.map +0 -7
- package/dist/esm/chunk-HGG3ULNK.js +0 -2
- package/dist/esm/chunk-IAC5IOPN.js +0 -2
- package/dist/esm/chunk-IQBSUN5B.js +0 -2
- package/dist/esm/chunk-IZPDJN6O.js +0 -2
- package/dist/esm/chunk-JMBCX5XR.js +0 -2
- package/dist/esm/chunk-JSW6J6RS.js +0 -2
- package/dist/esm/chunk-JSW6J6RS.js.map +0 -7
- package/dist/esm/chunk-K4BDLRCC.js +0 -2
- package/dist/esm/chunk-K53W3ELO.js +0 -2
- package/dist/esm/chunk-K53W3ELO.js.map +0 -7
- package/dist/esm/chunk-K6QKUX3C.js +0 -2
- package/dist/esm/chunk-K6WT5ZEA.js +0 -2
- package/dist/esm/chunk-K6WT5ZEA.js.map +0 -7
- package/dist/esm/chunk-K7VO7TND.js +0 -2
- package/dist/esm/chunk-KIYCILXL.js +0 -2
- package/dist/esm/chunk-KIYCILXL.js.map +0 -7
- package/dist/esm/chunk-KNQBAOMV.js +0 -2
- package/dist/esm/chunk-KRDRQU4G.js +0 -2
- package/dist/esm/chunk-KRZL245C.js +0 -2
- package/dist/esm/chunk-KRZL245C.js.map +0 -7
- package/dist/esm/chunk-LHYX53XA.js +0 -2
- package/dist/esm/chunk-LNFN35ZE.js +0 -2
- package/dist/esm/chunk-LPVDR7V3.js +0 -2
- package/dist/esm/chunk-LVCP5WGX.js +0 -2
- package/dist/esm/chunk-M4M4OZTS.js +0 -2
- package/dist/esm/chunk-MC3GY6ET.js +0 -2
- package/dist/esm/chunk-MKY2IRPO.js +0 -2
- package/dist/esm/chunk-MKY2IRPO.js.map +0 -7
- package/dist/esm/chunk-MQWH2IFO.js +0 -2
- package/dist/esm/chunk-MYO2E46Z.js +0 -2
- package/dist/esm/chunk-OA2BZDKL.js +0 -2
- package/dist/esm/chunk-P3WB3K2M.js +0 -2
- package/dist/esm/chunk-QQVA2PJ3.js +0 -2
- package/dist/esm/chunk-QQVA2PJ3.js.map +0 -7
- package/dist/esm/chunk-QWLKMVZY.js +0 -2
- package/dist/esm/chunk-QZ6OCMH4.js +0 -2
- package/dist/esm/chunk-QZ6OCMH4.js.map +0 -7
- package/dist/esm/chunk-R2FUNQTI.js +0 -2
- package/dist/esm/chunk-RBTTIDON.js.map +0 -7
- package/dist/esm/chunk-RDS3AJWW.js +0 -2
- package/dist/esm/chunk-SMGDH54W.js +0 -2
- package/dist/esm/chunk-SMGDH54W.js.map +0 -7
- package/dist/esm/chunk-SNR5VFWG.js +0 -2
- package/dist/esm/chunk-SNR5VFWG.js.map +0 -7
- package/dist/esm/chunk-T4L4QDBG.js +0 -2
- package/dist/esm/chunk-TCSPZ27B.js +0 -2
- package/dist/esm/chunk-TDQTMR5T.js +0 -2
- package/dist/esm/chunk-TKSG7KBZ.js +0 -2
- package/dist/esm/chunk-TTFUM47A.js +0 -2
- package/dist/esm/chunk-TTFUM47A.js.map +0 -7
- package/dist/esm/chunk-UEHCCJYY.js +0 -2
- package/dist/esm/chunk-UMIDPKFZ.js +0 -2
- package/dist/esm/chunk-UW5IJ64A.js +0 -5
- package/dist/esm/chunk-UW5IJ64A.js.map +0 -7
- package/dist/esm/chunk-VCU6VCPH.js +0 -2
- package/dist/esm/chunk-VJOJGAGA.js +0 -2
- package/dist/esm/chunk-VJOJGAGA.js.map +0 -7
- package/dist/esm/chunk-VNONKPH7.js +0 -2
- package/dist/esm/chunk-VNONKPH7.js.map +0 -7
- package/dist/esm/chunk-VOEZ5HJL.js +0 -2
- package/dist/esm/chunk-VX44UTQ5.js +0 -2
- package/dist/esm/chunk-VX44UTQ5.js.map +0 -7
- package/dist/esm/chunk-W7YHNMAO.js +0 -2
- package/dist/esm/chunk-WQT6UULR.js +0 -2
- package/dist/esm/chunk-WQT6UULR.js.map +0 -7
- package/dist/esm/chunk-WW7WTPM6.js +0 -2
- package/dist/esm/chunk-WW7WTPM6.js.map +0 -7
- package/dist/esm/chunk-WWF3IU3P.js +0 -2
- package/dist/esm/chunk-WYADYDPN.js +0 -2
- package/dist/esm/chunk-XEW4BRIL.js +0 -2
- package/dist/esm/chunk-YB7CENHH.js +0 -2
- package/dist/esm/chunk-YEIZ43KW.js +0 -2
- package/dist/esm/chunk-YEIZ43KW.js.map +0 -7
- package/dist/esm/chunk-ZCWDURKJ.js +0 -2
- package/dist/esm/chunk-ZE2KAVXW.js +0 -2
- /package/dist/esm/{chunk-PEP6MQJ2.js.map → chunk-3KQE2PSJ.js.map} +0 -0
- /package/dist/esm/{chunk-GBFGUOFS.js.map → chunk-BE7LMBBC.js.map} +0 -0
- /package/dist/esm/{chunk-QWLKMVZY.js.map → chunk-DFGY2NZB.js.map} +0 -0
- /package/dist/esm/{chunk-BPVVFHYD.js.map → chunk-H3IAGAEL.js.map} +0 -0
- /package/dist/esm/{chunk-72FU5FEC.js.map → chunk-VPSMETY2.js.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/sidebar.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Slot } from './slot.js';\nimport * as Accordion from '@radix-ui/react-accordion';\nimport * as DropdownMenu from './dropdown-menu.js';\nimport * as Popover from './popover.js';\n\nimport { Separator } from './separator.js';\nimport { ThickChevronRightIcon } from './icons.js';\nimport { Kbd } from './kbd.js';\nimport { Chip } from './chip.js';\nimport { useSidebarVisual } from './_internal/pane-chrome.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { ChipProps } from './chip.js';\n\n// Chip configuration for the `badge` slot of sidebar menu buttons\ntype BadgeConfig = {\n content: React.ReactNode;\n variant?: ChipProps['variant'];\n size?: ChipProps['size'];\n color?: ChipProps['color'];\n radius?: ChipProps['radius'];\n};\n\n// Sidebar separator\ninterface SidebarSeparatorProps extends ComponentPropsWithout<typeof Separator, RemovedProps> {}\n\nconst SidebarSeparator = React.forwardRef<React.ComponentRef<typeof Separator>, SidebarSeparatorProps>(({ className, ...props }, forwardedRef) => (\n <Separator {...props} ref={forwardedRef} className={classNames('kui-SidebarSeparator', className)} />\n));\nSidebarSeparator.displayName = 'Sidebar.Separator';\n\n// Menu components - styled like dropdown menus, but semantically a navigation list.\n// No menu/menuitem roles: those promise an application menu, which a list of links is not.\ninterface SidebarMenuProps extends React.ComponentPropsWithoutRef<'ul'> {}\n\nconst SidebarMenu = React.forwardRef<HTMLUListElement, SidebarMenuProps>(({ className, ...props }, forwardedRef) => (\n <ul {...props} ref={forwardedRef} className={classNames('kui-SidebarMenu', className)} />\n));\nSidebarMenu.displayName = 'Sidebar.Menu';\n\ninterface SidebarMenuItemProps extends React.ComponentPropsWithoutRef<'li'> {}\n\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, SidebarMenuItemProps>(({ className, ...props }, forwardedRef) => (\n <li {...props} ref={forwardedRef} className={classNames('kui-SidebarMenuItem', className)} />\n));\nSidebarMenuItem.displayName = 'Sidebar.MenuItem';\n\ninterface SidebarMenuButtonProps extends React.ComponentPropsWithoutRef<'button'> {\n asChild?: boolean;\n isActive?: boolean;\n shortcut?: React.ReactNode;\n badge?: string | BadgeConfig;\n}\n\n// Extracted to module scope to avoid re-creation on every render\nfunction separateIconsAndLabels(node: React.ReactNode): { icons: React.ReactNode[]; labels: React.ReactNode[] } {\n const icons: React.ReactNode[] = [];\n const labels: React.ReactNode[] = [];\n\n React.Children.forEach(node, (child) => {\n if (typeof child === 'string' || typeof child === 'number') {\n labels.push(<span key={labels.length} className=\"kui-SidebarMenuLabel\">{child}</span>);\n } else if (React.isValidElement(child)) {\n const el = child as React.ReactElement<any>;\n if (el.type === 'svg' || (el.props && el.props.icon) || (typeof el.type === 'function' && ((el.type as any).displayName?.includes('Icon') || (el.type as any).name?.includes('Icon')))) {\n icons.push(child);\n } else {\n labels.push(child);\n }\n } else if (child) {\n labels.push(child);\n }\n });\n\n return { icons, labels };\n}\n\nfunction wrapTextNodes(node: React.ReactNode): React.ReactNode {\n if (typeof node === 'string' || typeof node === 'number') {\n return <span className=\"kui-SidebarMenuLabel\">{node}</span>;\n }\n if (Array.isArray(node)) {\n return node.map((child, index) => <React.Fragment key={index}>{wrapTextNodes(child)}</React.Fragment>);\n }\n if (React.isValidElement(node)) {\n const el = node as React.ReactElement<any>;\n const className: string = (el.props && (el.props as any).className) || '';\n const isAlreadyLabel = typeof el.type === 'string' && className.split(' ').includes('kui-SidebarMenuLabel');\n if (isAlreadyLabel) return el;\n const newChildren = wrapTextNodes((el.props as any)?.children);\n return React.cloneElement(el, { ...(el.props as any) }, newChildren);\n }\n return node;\n}\n\nconst SidebarMenuButton = React.forwardRef<HTMLButtonElement, SidebarMenuButtonProps>(\n ({ asChild = false, isActive = false, shortcut, badge, className, children, onKeyDown, ...props }, forwardedRef) => {\n const visual = useSidebarVisual();\n const sidebarSize = visual?.size ?? '2';\n const isThinMode = visual?.presentation === 'thin';\n\n const Comp = asChild ? Slot : 'button';\n\n // Enter and Space are left to the native button or link. Arrow keys move between\n // the visible buttons of the same sidebar, as a convenience on top of Tab.\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n const scope = event.currentTarget.closest('.kui-SidebarContent, .kui-SidebarSearchPopover');\n const buttons = scope\n ? Array.from(scope.querySelectorAll<HTMLElement>('.kui-SidebarMenuButton')).filter((el) => el.offsetParent !== null)\n : [];\n const index = buttons.indexOf(event.currentTarget);\n const next = buttons[index + (event.key === 'ArrowDown' ? 1 : -1)];\n if (index !== -1 && next) {\n event.preventDefault();\n next.focus();\n }\n }\n onKeyDown?.(event);\n },\n [onKeyDown],\n );\n\n // Memoize child processing to avoid re-traversal on every render\n const processedChildren = React.useMemo(() => wrapTextNodes(children), [children]);\n\n // For thin mode, separate icons into a wrapper for targeted background styling\n const { icons, labels } = React.useMemo(\n () => isThinMode ? separateIconsAndLabels(children) : { icons: [] as React.ReactNode[], labels: [] as React.ReactNode[] },\n [isThinMode, children],\n );\n\n // When rendering asChild, Slot expects a single child element. We still want to\n // append optional badge/shortcut inside that element so they render with Link.\n const slottedChildren = React.useMemo(() => {\n if (!asChild) return null;\n try {\n const onlyChild = React.Children.only(processedChildren as React.ReactElement<any>) as React.ReactElement<any>;\n const originalInnerChildren = (onlyChild.props as any)?.children;\n const enhancedInnerChildren = (\n <>\n {originalInnerChildren}\n {badge && (\n <div className=\"kui-SidebarMenuBadge\">\n {typeof badge === 'string' ? (\n <Chip size={sidebarSize} variant=\"soft\">\n {badge}\n </Chip>\n ) : (\n <Chip size={badge.size || sidebarSize} variant={badge.variant || 'soft'} color={badge.color} radius={badge.radius}>\n {badge.content}\n </Chip>\n )}\n </div>\n )}\n {shortcut && (\n <div className=\"kui-BaseMenuShortcut kui-SidebarMenuShortcut\">\n <Kbd size={sidebarSize}>{shortcut}</Kbd>\n </div>\n )}\n </>\n );\n return React.cloneElement(onlyChild, { ...(onlyChild.props as any) }, enhancedInnerChildren);\n } catch {\n // Fallback: if multiple children were passed incorrectly, just return processedChildren\n return processedChildren as React.ReactNode;\n }\n }, [asChild, processedChildren, badge, shortcut, sidebarSize]);\n\n return (\n <Comp\n {...props}\n ref={forwardedRef}\n aria-current={isActive ? 'page' : undefined}\n className={classNames('kui-reset', 'kui-BaseMenuItem', 'kui-SidebarMenuButton', className)}\n data-active={isActive || undefined}\n onKeyDown={handleKeyDown}\n >\n {asChild ? (\n slottedChildren\n ) : isThinMode && icons.length > 0 ? (\n <>\n <span className=\"kui-SidebarMenuIconWrapper\">{icons}</span>\n {labels.map((label, index) => (\n <React.Fragment key={index}>\n {typeof label === 'string' || typeof label === 'number' ? (\n <span className=\"kui-SidebarMenuLabel\">{label}</span>\n ) : (\n label\n )}\n </React.Fragment>\n ))}\n </>\n ) : (\n <>\n {processedChildren}\n {badge && (\n <div className=\"kui-SidebarMenuBadge\">\n {typeof badge === 'string' ? (\n <Chip size={sidebarSize} variant=\"soft\">\n {badge}\n </Chip>\n ) : (\n <Chip size={badge.size || sidebarSize} variant={badge.variant || 'soft'} color={badge.color} radius={badge.radius}>\n {badge.content}\n </Chip>\n )}\n </div>\n )}\n {shortcut && (\n <div className=\"kui-BaseMenuShortcut kui-SidebarMenuShortcut\">\n <Kbd size={sidebarSize}>{shortcut}</Kbd>\n </div>\n )}\n </>\n )}\n </Comp>\n );\n },\n);\nSidebarMenuButton.displayName = 'Sidebar.MenuButton';\n\n// Sub-menu components: Accordion in expanded, Dropdown in thin\nconst SidebarSubMenuModeContext = React.createContext<'accordion' | 'dropdown'>('accordion');\ninterface SidebarMenuSubProps extends React.ComponentPropsWithoutRef<'div'> {\n defaultOpen?: boolean;\n}\n\nconst SidebarMenuSub = React.forwardRef<HTMLDivElement, SidebarMenuSubProps>(({ defaultOpen = false, children, ...props }, forwardedRef) => {\n const visual = useSidebarVisual();\n const mode: 'accordion' | 'dropdown' = visual?.presentation === 'thin' ? 'dropdown' : 'accordion';\n\n if (mode === 'dropdown') {\n return (\n <div {...props} ref={forwardedRef}>\n <DropdownMenu.Root>\n <SidebarSubMenuModeContext.Provider value=\"dropdown\">{children}</SidebarSubMenuModeContext.Provider>\n </DropdownMenu.Root>\n </div>\n );\n }\n\n return (\n <div {...props} ref={forwardedRef}>\n <SidebarSubMenuModeContext.Provider value=\"accordion\">\n <Accordion.Root type=\"single\" collapsible defaultValue={defaultOpen ? 'item' : undefined}>\n <Accordion.Item value=\"item\">{children}</Accordion.Item>\n </Accordion.Root>\n </SidebarSubMenuModeContext.Provider>\n </div>\n );\n});\nSidebarMenuSub.displayName = 'Sidebar.MenuSub';\n\ninterface SidebarMenuSubTriggerProps extends React.ComponentPropsWithoutRef<typeof Accordion.Trigger> {\n asChild?: boolean;\n}\n\nconst SidebarMenuSubTrigger = React.forwardRef<React.ElementRef<typeof Accordion.Trigger>, SidebarMenuSubTriggerProps>(\n ({ asChild = false, className, children, ...props }, forwardedRef) => {\n const mode = React.useContext(SidebarSubMenuModeContext);\n\n if (mode === 'dropdown') {\n return (\n <DropdownMenu.Trigger>\n <button\n {...(props as any)}\n ref={forwardedRef as any}\n type=\"button\"\n aria-haspopup=\"menu\"\n className={classNames('kui-reset', 'kui-BaseMenuItem', 'kui-SidebarMenuButton', 'kui-SidebarMenuSubTrigger', className)}\n >\n {children}\n </button>\n </DropdownMenu.Trigger>\n );\n }\n\n return (\n <Accordion.Header asChild>\n <div>\n <Accordion.Trigger\n {...props}\n ref={forwardedRef}\n asChild={asChild}\n className={classNames('kui-reset', 'kui-BaseMenuItem', 'kui-SidebarMenuButton', 'kui-SidebarMenuSubTrigger', className)}\n >\n {asChild ? (\n children\n ) : (\n <>\n {children}\n <ThickChevronRightIcon className={classNames('kui-BaseMenuSubTriggerIcon', 'kui-SidebarMenuSubTriggerIcon')} />\n </>\n )}\n </Accordion.Trigger>\n </div>\n </Accordion.Header>\n );\n },\n);\nSidebarMenuSubTrigger.displayName = 'Sidebar.MenuSubTrigger';\n\ninterface SidebarMenuSubContentProps extends React.ComponentPropsWithoutRef<typeof Accordion.Content> {}\n\nconst SidebarMenuSubContent = React.forwardRef<React.ElementRef<typeof Accordion.Content>, SidebarMenuSubContentProps>(({ className, children, ...props }, forwardedRef) => {\n const visual = useSidebarVisual();\n const mode = React.useContext(SidebarSubMenuModeContext);\n\n if (mode === 'dropdown') {\n const unwrapMenuButton = (node: React.ReactNode): React.ReactNode => {\n if (Array.isArray(node)) {\n return node.map((n, i) => <React.Fragment key={i}>{unwrapMenuButton(n)}</React.Fragment>);\n }\n if (React.isValidElement(node)) {\n const typeDisplay = (node.type as any)?.displayName;\n if (typeDisplay === 'Sidebar.MenuButton') {\n return (node.props as any)?.children;\n }\n const child = (node.props as any)?.children;\n if (child !== undefined) {\n return React.cloneElement(node as any, { ...(node.props as any), children: unwrapMenuButton(child) });\n }\n }\n return node;\n };\n\n const normalized = React.Children.map(children as React.ReactNode, (child, index) => {\n if (React.isValidElement(child) && (child.type as any)?.displayName === 'Sidebar.MenuItem') {\n const itemChildren = (child.props as any)?.children;\n const content = unwrapMenuButton(itemChildren);\n return (\n <DropdownMenu.Item key={index} asChild>\n {content as any}\n </DropdownMenu.Item>\n );\n }\n // Fallback: wrap raw nodes too for consistent menu styling\n return (\n <DropdownMenu.Item key={index} asChild>\n {unwrapMenuButton(child) as any}\n </DropdownMenu.Item>\n );\n });\n\n return (\n <DropdownMenu.Content size={visual?.size} className={classNames(className)}>\n <DropdownMenu.Group>{normalized}</DropdownMenu.Group>\n </DropdownMenu.Content>\n );\n }\n\n return (\n <Accordion.Content {...props} ref={forwardedRef} className={classNames('kui-SidebarMenuSubContent', className)}>\n <div className=\"kui-SidebarMenuSubList\">{children}</div>\n </Accordion.Content>\n );\n});\nSidebarMenuSubContent.displayName = 'Sidebar.MenuSubContent';\n\n// Group components. The label is plain text: no role, so it isn't announced as an empty group.\ninterface SidebarGroupProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst SidebarGroup = React.forwardRef<HTMLDivElement, SidebarGroupProps>(({ className, ...props }, forwardedRef) => (\n <div {...props} ref={forwardedRef} className={classNames('kui-BaseMenuGroup', 'kui-SidebarGroup', className)} />\n));\nSidebarGroup.displayName = 'Sidebar.Group';\n\ninterface SidebarGroupLabelProps extends React.ComponentPropsWithoutRef<'div'> {\n asChild?: boolean;\n}\n\nconst SidebarGroupLabel = React.forwardRef<HTMLDivElement, SidebarGroupLabelProps>(({ asChild = false, className, ...props }, forwardedRef) => {\n const Comp = asChild ? Slot : 'div';\n\n return <Comp {...props} ref={forwardedRef} className={classNames('kui-BaseMenuLabel', 'kui-SidebarGroupLabel', className)} />;\n});\nSidebarGroupLabel.displayName = 'Sidebar.GroupLabel';\n\ninterface SidebarGroupContentProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, SidebarGroupContentProps>(({ className, ...props }, forwardedRef) => (\n <div {...props} ref={forwardedRef} className={classNames('kui-SidebarGroupContent', className)} />\n));\nSidebarGroupContent.displayName = 'Sidebar.GroupContent';\n\n// Search component: inline input in expanded, popover trigger in thin\ninterface SidebarSearchProps extends React.ComponentPropsWithoutRef<'div'> {\n value: string;\n onValueChange: (value: string) => void;\n placeholder?: string;\n children?: React.ReactNode;\n}\n\nconst SearchIcon = ({ className }: { className?: string }) => (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n);\n\nconst ClearIcon = ({ className }: { className?: string }) => (\n <svg className={className} width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n </svg>\n);\n\nconst SidebarSearch = React.forwardRef<HTMLDivElement, SidebarSearchProps>(\n ({ value, onValueChange, placeholder = 'Search...', children, className, ...props }, forwardedRef) => {\n const visual = useSidebarVisual();\n const isThin = visual?.presentation === 'thin';\n const inputRef = React.useRef<HTMLInputElement>(null);\n const popoverRef = React.useRef<HTMLDivElement>(null);\n const searchId = React.useId();\n const resultsId = `${searchId}-results`;\n\n // Stable refs for values used in callbacks \u2014 avoids recreating handlers on every keystroke\n const valueRef = React.useRef(value);\n valueRef.current = value;\n const onValueChangeRef = React.useRef(onValueChange);\n onValueChangeRef.current = onValueChange;\n\n // Derive a clean aria-label from placeholder (strip trailing dots/ellipsis)\n const searchLabel = placeholder.replace(/\\.+$/, '');\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Escape' && valueRef.current) {\n e.preventDefault();\n e.stopPropagation();\n onValueChangeRef.current('');\n inputRef.current?.focus();\n }\n },\n [],\n );\n\n // Arrow key navigation within the popover (input \u2194 results)\n const handlePopoverKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLDivElement>) => {\n const container = popoverRef.current;\n if (!container) return;\n\n const resultsGroup = container.querySelector('[role=\"group\"]');\n if (!resultsGroup) return;\n\n const items = Array.from(\n resultsGroup.querySelectorAll<HTMLElement>('a, button'),\n );\n if (items.length === 0) return;\n\n const active = document.activeElement as HTMLElement;\n const isOnInput = active === inputRef.current;\n const currentIndex = items.indexOf(active);\n\n // Typing while a result is focused \u2192 redirect focus to input\n if (\n e.key.length === 1 &&\n !e.ctrlKey &&\n !e.metaKey &&\n !e.altKey &&\n !isOnInput &&\n currentIndex !== -1\n ) {\n inputRef.current?.focus();\n return;\n }\n\n switch (e.key) {\n case 'ArrowDown': {\n e.preventDefault();\n if (isOnInput || currentIndex === -1) {\n items[0]?.focus();\n } else if (currentIndex < items.length - 1) {\n items[currentIndex + 1]?.focus();\n }\n break;\n }\n case 'ArrowUp': {\n e.preventDefault();\n if (currentIndex <= 0) {\n inputRef.current?.focus();\n } else {\n items[currentIndex - 1]?.focus();\n }\n break;\n }\n case 'Home': {\n // Only intercept when focused on a result, not the input (where Home moves cursor)\n if (!isOnInput) {\n e.preventDefault();\n items[0]?.focus();\n }\n break;\n }\n case 'End': {\n if (!isOnInput) {\n e.preventDefault();\n items[items.length - 1]?.focus();\n }\n break;\n }\n }\n },\n [],\n );\n\n if (isThin) {\n return (\n <div {...props} ref={forwardedRef} className={classNames('kui-SidebarSearch', 'kui-SidebarSearch--thin', className)}>\n <Popover.Root>\n <Popover.Trigger>\n <button\n type=\"button\"\n className={classNames('kui-reset', 'kui-BaseMenuItem', 'kui-SidebarMenuButton', 'kui-SidebarSearchTrigger')}\n aria-label={searchLabel}\n >\n <span className=\"kui-SidebarMenuIconWrapper\">\n <SearchIcon />\n </span>\n <span className=\"kui-SidebarMenuLabel\">Search</span>\n </button>\n </Popover.Trigger>\n <Popover.Content side=\"right\" align=\"start\" size=\"2\" width=\"280px\" aria-label={searchLabel}>\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions -- keyDown manages arrow-key navigation between input and results, which is accessibility-enhancing */}\n <div\n ref={popoverRef}\n className=\"kui-SidebarSearchPopover\"\n role=\"search\"\n onKeyDown={handlePopoverKeyDown}\n >\n <div className=\"kui-SidebarSearchInputWrapper\">\n <SearchIcon className=\"kui-SidebarSearchIcon\" />\n <input\n ref={inputRef}\n type=\"search\"\n className=\"kui-SidebarSearchInput\"\n value={value}\n onChange={(e) => onValueChange(e.target.value)}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n aria-label={searchLabel}\n aria-controls={children ? resultsId : undefined}\n // eslint-disable-next-line jsx-a11y/no-autofocus -- intentional: popover opens on user action, focusing the input is expected UX\n autoFocus\n />\n {value && (\n <button\n type=\"button\"\n className=\"kui-reset kui-SidebarSearchClear\"\n onClick={() => {\n onValueChange('');\n inputRef.current?.focus();\n }}\n aria-label=\"Clear search\"\n >\n <ClearIcon />\n </button>\n )}\n </div>\n {children && (\n <div id={resultsId} role=\"group\" aria-label=\"Search results\">\n {children}\n </div>\n )}\n </div>\n </Popover.Content>\n </Popover.Root>\n </div>\n );\n }\n\n // Expanded mode: inline input\n return (\n <div {...props} ref={forwardedRef} className={classNames('kui-SidebarSearch', 'kui-SidebarSearch--expanded', 'kui-ShellPaneChrome', `kui-r-size-${visual?.size ?? '2'}`, className)} role=\"search\">\n <div className=\"kui-SidebarSearchInputWrapper\">\n <SearchIcon className=\"kui-SidebarSearchIcon\" />\n <input\n ref={inputRef}\n type=\"search\"\n className=\"kui-SidebarSearchInput\"\n value={value}\n onChange={(e) => onValueChange(e.target.value)}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n aria-label={searchLabel}\n />\n {value && (\n <button\n type=\"button\"\n className=\"kui-reset kui-SidebarSearchClear\"\n onClick={() => {\n onValueChange('');\n inputRef.current?.focus();\n }}\n aria-label=\"Clear search\"\n >\n <ClearIcon />\n </button>\n )}\n </div>\n </div>\n );\n },\n);\nSidebarSearch.displayName = 'Sidebar.Search';\n\n// Export all components following shadcn's pattern\nexport {\n SidebarSeparator as Separator,\n SidebarMenu as Menu,\n SidebarMenuItem as MenuItem,\n SidebarMenuButton as MenuButton,\n SidebarMenuSub as MenuSub,\n SidebarMenuSubTrigger as MenuSubTrigger,\n SidebarMenuSubContent as MenuSubContent,\n SidebarGroup as Group,\n SidebarGroupLabel as GroupLabel,\n SidebarGroupContent as GroupContent,\n SidebarSearch as Search,\n};\n\nexport type { BadgeConfig };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["sidebar_exports", "__export", "SidebarGroup", "SidebarGroupContent", "SidebarGroupLabel", "SidebarMenu", "SidebarMenuButton", "SidebarMenuItem", "SidebarMenuSub", "SidebarMenuSubContent", "SidebarMenuSubTrigger", "SidebarSearch", "SidebarSeparator", "React", "classNames", "Accordion", "SidebarSeparator", "className", "props", "forwardedRef", "Separator", "classNames", "SidebarMenu", "SidebarMenuItem", "separateIconsAndLabels", "node", "icons", "labels", "child", "el", "wrapTextNodes", "index", "newChildren", "SidebarMenuButton", "asChild", "isActive", "shortcut", "badge", "children", "onKeyDown", "visual", "useSidebarVisual", "sidebarSize", "isThinMode", "Comp", "Slot", "handleKeyDown", "event", "scope", "buttons", "next", "processedChildren", "slottedChildren", "onlyChild", "originalInnerChildren", "enhancedInnerChildren", "Chip", "Kbd", "label", "SidebarSubMenuModeContext", "SidebarMenuSub", "defaultOpen", "DropdownMenuRoot", "SidebarMenuSubTrigger", "DropdownMenuTrigger", "ThickChevronRightIcon", "SidebarMenuSubContent", "unwrapMenuButton", "n", "i", "normalized", "itemChildren", "content", "DropdownMenuItem", "DropdownMenuContent", "DropdownMenuGroup", "SidebarGroup", "SidebarGroupLabel", "SidebarGroupContent", "SearchIcon", "ClearIcon", "SidebarSearch", "value", "onValueChange", "placeholder", "isThin", "inputRef", "popoverRef", "resultsId", "valueRef", "onValueChangeRef", "searchLabel", "e", "handlePopoverKeyDown", "container", "resultsGroup", "items", "active", "isOnInput", "currentIndex", "PopoverRoot", "PopoverTrigger", "PopoverContent"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as Z}from"./chunk-HWQ3NTJP.js";import*as t from"react";import de from"classnames";var x=t.forwardRef(({className:d,children:m,...R},g)=>{let{containerRef:E,controls:_,cssVarName:A,minSize:L,maxSize:b,defaultSize:D,orientation:v,edge:ee,growth:k,onResize:y,onResizeStart:W,onResizeEnd:z,snapPoints:T,snapTolerance:te,collapseThreshold:U,collapsible:q,target:V,requestCollapse:ne,requestToggle:re}=Z(),S=t.useRef(null),oe=t.useCallback(e=>{S.current=e,typeof g=="function"?g(e):g&&(g.current=e)},[g]),C=t.useRef(null);t.useEffect(()=>()=>{C.current?.(),C.current=null},[]);let F=t.useCallback(()=>{let e=E.current;if(!e)return D;let n=Number.parseFloat(getComputedStyle(e).getPropertyValue(A));return Number.isFinite(n)?n:D},[E,A,D]),B=t.useCallback(()=>{let e=E.current,n=S.current,r=e?.closest(".kui-ShellRoot")?.getBoundingClientRect();if(!e||!r||!n)return b;let c=e.getBoundingClientRect(),p=n.getBoundingClientRect(),s=k(getComputedStyle(e).direction==="rtl"),o;v==="vertical"?o=s>0?r.right-c.left:c.right-r.left:o=s>0?r.bottom-c.top:c.bottom-r.top;let H=v==="vertical"?p.width:p.height;return!(r.width>0&&r.height>0)||!Number.isFinite(o)?b:Math.max(L,Math.min(b,Math.round(o-H)))},[E,k,b,L,v]),ie=()=>{S.current?.setAttribute("aria-valuemax",String(B()))};t.useLayoutEffect(()=>{S.current?.setAttribute("aria-valuenow",String(Math.round(F())))},[F]);let M=(e,n)=>{e.style.setProperty(A,`${n}px`),S.current?.setAttribute("aria-valuenow",String(Math.round(n)))},ae=V.charAt(0).toUpperCase()+V.slice(1);return t.createElement("div",{ref:oe,className:de("kui-ShellResizer",d),"data-orientation":v,"data-edge":ee,role:"separator",tabIndex:0,"aria-label":`Resize ${ae} pane`,"aria-controls":_,"aria-orientation":v,"aria-valuemin":L,"aria-valuemax":b,...R,onPointerDown:e=>{R.onPointerDown?.(e);let n=E.current;if(!n||e.defaultPrevented||e.button!==0)return;e.preventDefault();let r=e.currentTarget,c=e.pointerId;C.current?.();try{r.setPointerCapture(c)}catch{}let p=getComputedStyle(n),s=Number.parseFloat(p.getPropertyValue(A)),o=Number.isFinite(s)?s:D,H=v==="vertical"?e.clientX:e.clientY,se=k(p.direction==="rtl"),j=B();r.setAttribute("aria-valuemax",String(j));let X=i=>Math.min(Math.max(i,L),j);n.setAttribute("data-resizing",""),r.setAttribute("data-dragging","");let h=document.body,le=h.style.cursor,ce=h.style.userSelect;h.style.cursor=v==="vertical"?"col-resize":"row-resize",h.style.userSelect="none",W?.(o);let f=o,I=o,l=0,P=null,Y=()=>{if(l=0,P===null)return;let i=P;P=null,y?.(i)},$=null,O=!1,ue=(i,w)=>{if(i.type===w)O=!0;else if(O)return!1;return!0},u=i=>{if(!ue(i,"pointermove")||i===$)return;$=i;let w=v==="vertical"?i.clientX:i.clientY;I=o+(w-H)*se,f=X(I),M(n,f),P=f,l||(l=requestAnimationFrame(Y))},N=()=>{l&&cancelAnimationFrame(l),l=0;try{r.releasePointerCapture(c)}catch{}window.removeEventListener("pointermove",u),document.removeEventListener("pointermove",u),window.removeEventListener("mousemove",u),document.removeEventListener("mousemove",u),r.removeEventListener("pointermove",u),window.removeEventListener("pointerup",a),document.removeEventListener("pointerup",a),window.removeEventListener("mouseup",a),document.removeEventListener("mouseup",a),window.removeEventListener("pointercancel",a),document.removeEventListener("pointercancel",a),window.removeEventListener("keydown",G),r.removeEventListener("lostpointercapture",a),n.removeAttribute("data-resizing"),r.removeAttribute("data-dragging"),h.style.cursor=le,h.style.userSelect=ce,C.current=null},K=!1,a=()=>{if(K)return;if(K=!0,l&&cancelAnimationFrame(l),Y(),q&&typeof U=="number"&&I<=U){M(n,o),y?.(o),N(),ne?.(),z?.(o);return}let i=f;if(T&&T.length){let w=T.reduce((J,Q)=>Math.abs(Q-f)<Math.abs(J-f)?Q:J,T[0]);Math.abs(w-f)<=te&&(i=X(w),M(n,i),y?.(i))}z?.(i),N()},G=i=>{i.key==="Escape"&&(l&&cancelAnimationFrame(l),l=0,P=null,M(n,o),y?.(o),K=!0,z?.(o),N())};window.addEventListener("pointermove",u),document.addEventListener("pointermove",u),window.addEventListener("mousemove",u),document.addEventListener("mousemove",u),r.addEventListener("pointermove",u),window.addEventListener("pointerup",a),document.addEventListener("pointerup",a),window.addEventListener("mouseup",a),document.addEventListener("mouseup",a),window.addEventListener("pointercancel",a),document.addEventListener("pointercancel",a),window.addEventListener("keydown",G),r.addEventListener("lostpointercapture",a),C.current=N},onDoubleClick:e=>{R.onDoubleClick?.(e),!e.defaultPrevented&&q&&re?.()},onFocus:e=>{R.onFocus?.(e),ie()},onKeyDown:e=>{R.onKeyDown?.(e);let n=E.current;if(!n||e.defaultPrevented)return;let r=F(),c=B(),p=o=>Math.min(Math.max(o,L),c),s;if(e.key==="Home")s=p(L);else if(e.key==="End")s=p(c);else{let o=v==="vertical"?e.key==="ArrowRight"?1:e.key==="ArrowLeft"?-1:0:e.key==="ArrowDown"?1:e.key==="ArrowUp"?-1:0;if(o===0)return;let H=e.shiftKey?32:8;s=p(r+o*H*k(getComputedStyle(n).direction==="rtl"))}e.preventDefault(),W?.(r),M(n,s),y?.(s),z?.(s)}},m)});x.displayName="Shell.Handle";var me=t.forwardRef((d,m)=>t.createElement(x,{...d,ref:m}));me.displayName="Shell.Panel.Handle";var ve=t.forwardRef((d,m)=>t.createElement(x,{...d,ref:m}));ve.displayName="Shell.Sidebar.Handle";var pe=t.forwardRef((d,m)=>t.createElement(x,{...d,ref:m}));pe.displayName="Shell.Inspector.Handle";var fe=t.forwardRef((d,m)=>t.createElement(x,{...d,ref:m}));fe.displayName="Shell.Bottom.Handle";export{x as a,me as b,ve as c,pe as d,fe as e};
|
|
2
|
+
//# sourceMappingURL=chunk-7CUQMU3T.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/_internal/shell-handles.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { usePaneResize } from './shell-resize.js';\n\n/**\n * The resize handle: the WAI-ARIA window splitter. `role=\"separator\"` with a\n * value, focusable because it is operable, `aria-controls` naming its pane.\n *\n * A drag writes the size variable directly on the pane and sets no React\n * state, so nothing re-renders per move. `onResize` is called at most once per\n * animation frame, and once more with the final size when the drag ends. The\n * direction and the ceiling are read once, when the drag starts.\n */\nexport const PaneHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>(({ className, children, ...props }, ref) => {\n const {\n containerRef,\n controls,\n cssVarName,\n minSize,\n maxSize,\n defaultSize,\n orientation,\n edge,\n growth,\n onResize,\n onResizeStart,\n onResizeEnd,\n snapPoints,\n snapTolerance,\n collapseThreshold,\n collapsible,\n target,\n requestCollapse,\n requestToggle,\n } = usePaneResize();\n\n const handleRef = React.useRef<HTMLDivElement | null>(null);\n const setRef = React.useCallback(\n (node: HTMLDivElement | null) => {\n handleRef.current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref) (ref as React.MutableRefObject<HTMLDivElement | null>).current = node;\n },\n [ref],\n );\n\n const activeCleanupRef = React.useRef<(() => void) | null>(null);\n React.useEffect(\n () => () => {\n activeCleanupRef.current?.();\n activeCleanupRef.current = null;\n },\n [],\n );\n\n /** The pane's size as the stylesheet sees it. Read at the edges of a gesture, never during one. */\n const readSize = React.useCallback(() => {\n const container = containerRef.current;\n if (!container) return defaultSize;\n const parsed = Number.parseFloat(getComputedStyle(container).getPropertyValue(cssVarName));\n return Number.isFinite(parsed) ? parsed : defaultSize;\n }, [containerRef, cssVarName, defaultSize]);\n\n /**\n * The largest size a resize may reach: the stated maximum, and never so\n * large that the handle leaves the frame. The room is measured from the\n * pane's anchored edge, which does not move, to the far edge of the frame,\n * so a pane that starts after a Rail has less room than the frame's width.\n * Without the cap a pane with a generous `maxSize` could be resized until\n * its own handle was off screen.\n */\n const ceiling = React.useCallback(() => {\n const container = containerRef.current;\n const handle = handleRef.current;\n const frame = container?.closest('.kui-ShellRoot')?.getBoundingClientRect();\n if (!container || !frame || !handle) return maxSize;\n const pane = container.getBoundingClientRect();\n const hitBox = handle.getBoundingClientRect();\n const sign = growth(getComputedStyle(container).direction === 'rtl');\n let room: number;\n if (orientation === 'vertical') room = sign > 0 ? frame.right - pane.left : pane.right - frame.left;\n else room = sign > 0 ? frame.bottom - pane.top : pane.bottom - frame.top;\n const hit = orientation === 'vertical' ? hitBox.width : hitBox.height;\n if (!(frame.width > 0 && frame.height > 0) || !Number.isFinite(room)) return maxSize;\n return Math.max(minSize, Math.min(maxSize, Math.round(room - hit)));\n }, [containerRef, growth, maxSize, minSize, orientation]);\n\n // The announced maximum is what a resize can reach now, not only the prop.\n const announceCeiling = () => {\n handleRef.current?.setAttribute('aria-valuemax', String(ceiling()));\n };\n\n // The announced value is seeded from the real size once the pane has a box.\n React.useLayoutEffect(() => {\n handleRef.current?.setAttribute('aria-valuenow', String(Math.round(readSize())));\n }, [readSize]);\n\n const write = (container: HTMLElement, size: number) => {\n container.style.setProperty(cssVarName, `${size}px`);\n handleRef.current?.setAttribute('aria-valuenow', String(Math.round(size)));\n };\n\n const targetLabel = target.charAt(0).toUpperCase() + target.slice(1);\n\n return (\n // A focusable separator with a value is the WAI-ARIA window splitter, an\n // interactive widget; jsx-a11y classes every separator as static.\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n <div\n ref={setRef}\n className={classNames('kui-ShellResizer', className)}\n data-orientation={orientation}\n data-edge={edge}\n role=\"separator\"\n // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n tabIndex={0}\n aria-label={`Resize ${targetLabel} pane`}\n aria-controls={controls}\n aria-orientation={orientation}\n aria-valuemin={minSize}\n aria-valuemax={maxSize}\n {...props}\n onPointerDown={(e) => {\n props.onPointerDown?.(e);\n const container = containerRef.current;\n if (!container || e.defaultPrevented || e.button !== 0) return;\n e.preventDefault();\n const handleEl = e.currentTarget as HTMLElement;\n const pointerId = e.pointerId;\n activeCleanupRef.current?.();\n try {\n handleEl.setPointerCapture(pointerId);\n } catch {\n // Capture can fail for a pointer that is already gone; the window listeners below still carry the drag.\n }\n\n // Everything a move needs is read here, once.\n const startStyle = getComputedStyle(container);\n const parsedStart = Number.parseFloat(startStyle.getPropertyValue(cssVarName));\n const startSize = Number.isFinite(parsedStart) ? parsedStart : defaultSize;\n const startClient = orientation === 'vertical' ? e.clientX : e.clientY;\n const sign = growth(startStyle.direction === 'rtl');\n const cap = ceiling();\n handleEl.setAttribute('aria-valuemax', String(cap));\n const clamp = (v: number) => Math.min(Math.max(v, minSize), cap);\n\n container.setAttribute('data-resizing', '');\n handleEl.setAttribute('data-dragging', '');\n const body = document.body;\n const prevCursor = body.style.cursor;\n const prevUserSelect = body.style.userSelect;\n body.style.cursor = orientation === 'vertical' ? 'col-resize' : 'row-resize';\n body.style.userSelect = 'none';\n onResizeStart?.(startSize);\n\n let current = startSize;\n // The unclamped size, so `collapseThreshold` is compared before the\n // clamp: a threshold below `minSize` can then still collapse the pane.\n let raw = startSize;\n let frame = 0;\n let pending: number | null = null;\n const flush = () => {\n frame = 0;\n if (pending === null) return;\n const size = pending;\n pending = null;\n onResize?.(size);\n };\n\n // The move handler listens on the handle, the document and the window,\n // so a drag survives environments where pointer events do not reach\n // all three. One movement can therefore arrive several times: once per\n // node it propagates through, and again as the compatibility mouse\n // event. Only the first copy does any work.\n let lastHandledMove: Event | null = null;\n let seenPointerEvent = false;\n const shouldHandle = (ev: Event, pointerType: string) => {\n if (ev.type === pointerType) seenPointerEvent = true;\n else if (seenPointerEvent) return false;\n return true;\n };\n\n const handleMove = (ev: PointerEvent) => {\n if (!shouldHandle(ev, 'pointermove')) return;\n if (ev === lastHandledMove) return;\n lastHandledMove = ev;\n const client = orientation === 'vertical' ? ev.clientX : ev.clientY;\n raw = startSize + (client - startClient) * sign;\n current = clamp(raw);\n write(container, current);\n pending = current;\n if (!frame) frame = requestAnimationFrame(flush);\n };\n\n const cleanup = () => {\n if (frame) cancelAnimationFrame(frame);\n frame = 0;\n try {\n handleEl.releasePointerCapture(pointerId);\n } catch {\n // Already released.\n }\n window.removeEventListener('pointermove', handleMove as EventListener);\n document.removeEventListener('pointermove', handleMove as EventListener);\n window.removeEventListener('mousemove', handleMove as EventListener);\n document.removeEventListener('mousemove', handleMove as EventListener);\n handleEl.removeEventListener('pointermove', handleMove as EventListener);\n window.removeEventListener('pointerup', handleUp as EventListener);\n document.removeEventListener('pointerup', handleUp as EventListener);\n window.removeEventListener('mouseup', handleUp as EventListener);\n document.removeEventListener('mouseup', handleUp as EventListener);\n window.removeEventListener('pointercancel', handleUp as EventListener);\n document.removeEventListener('pointercancel', handleUp as EventListener);\n window.removeEventListener('keydown', handleKey as EventListener);\n handleEl.removeEventListener('lostpointercapture', handleUp as EventListener);\n container.removeAttribute('data-resizing');\n handleEl.removeAttribute('data-dragging');\n body.style.cursor = prevCursor;\n body.style.userSelect = prevUserSelect;\n activeCleanupRef.current = null;\n };\n\n let finished = false;\n const handleUp = () => {\n if (finished) return;\n finished = true;\n // The last move's size is delivered now rather than on the next frame.\n if (frame) cancelAnimationFrame(frame);\n flush();\n\n if (collapsible && typeof collapseThreshold === 'number' && raw <= collapseThreshold) {\n // A drag past the threshold closes the pane and keeps no size: the\n // pane opens again at the size it had before the drag. The drag\n // still ends, at that size, so a consumer that started something\n // in onResizeStart can stop it.\n write(container, startSize);\n onResize?.(startSize);\n cleanup();\n requestCollapse?.();\n onResizeEnd?.(startSize);\n return;\n }\n\n let settled = current;\n if (snapPoints && snapPoints.length) {\n const nearest = snapPoints.reduce((acc, p) => (Math.abs(p - current) < Math.abs(acc - current) ? p : acc), snapPoints[0]);\n if (Math.abs(nearest - current) <= snapTolerance) {\n settled = clamp(nearest);\n write(container, settled);\n onResize?.(settled);\n }\n }\n onResizeEnd?.(settled);\n cleanup();\n };\n\n const handleKey = (kev: KeyboardEvent) => {\n if (kev.key !== 'Escape') return;\n if (frame) cancelAnimationFrame(frame);\n frame = 0;\n pending = null;\n write(container, startSize);\n onResize?.(startSize);\n finished = true;\n onResizeEnd?.(startSize);\n cleanup();\n };\n\n window.addEventListener('pointermove', handleMove as EventListener);\n document.addEventListener('pointermove', handleMove as EventListener);\n window.addEventListener('mousemove', handleMove as EventListener);\n document.addEventListener('mousemove', handleMove as EventListener);\n handleEl.addEventListener('pointermove', handleMove as EventListener);\n window.addEventListener('pointerup', handleUp as EventListener);\n document.addEventListener('pointerup', handleUp as EventListener);\n window.addEventListener('mouseup', handleUp as EventListener);\n document.addEventListener('mouseup', handleUp as EventListener);\n window.addEventListener('pointercancel', handleUp as EventListener);\n document.addEventListener('pointercancel', handleUp as EventListener);\n window.addEventListener('keydown', handleKey as EventListener);\n handleEl.addEventListener('lostpointercapture', handleUp as EventListener);\n activeCleanupRef.current = cleanup;\n }}\n onDoubleClick={(e) => {\n props.onDoubleClick?.(e);\n if (!e.defaultPrevented && collapsible) requestToggle?.();\n }}\n onFocus={(e) => {\n props.onFocus?.(e);\n announceCeiling();\n }}\n onKeyDown={(e) => {\n props.onKeyDown?.(e);\n const container = containerRef.current;\n if (!container || e.defaultPrevented) return;\n const current = readSize();\n // The keys reach as far as a drag does: the frame caps both.\n const cap = ceiling();\n const clamp = (v: number) => Math.min(Math.max(v, minSize), cap);\n let next: number | undefined;\n if (e.key === 'Home') next = clamp(minSize);\n else if (e.key === 'End') next = clamp(cap);\n else {\n // The key moves the boundary along its axis; the pane grows or\n // shrinks the way a drag in that direction would, so Bottom's\n // ArrowUp grows it and an end-anchored pane mirrors in RTL.\n const along = orientation === 'vertical' ? (e.key === 'ArrowRight' ? 1 : e.key === 'ArrowLeft' ? -1 : 0) : e.key === 'ArrowDown' ? 1 : e.key === 'ArrowUp' ? -1 : 0;\n if (along === 0) return;\n const step = e.shiftKey ? 32 : 8;\n next = clamp(current + along * step * growth(getComputedStyle(container).direction === 'rtl'));\n }\n e.preventDefault();\n onResizeStart?.(current);\n write(container, next);\n onResize?.(next);\n onResizeEnd?.(next);\n }}\n >\n {children}\n </div>\n );\n});\nPaneHandle.displayName = 'Shell.Handle';\n\nexport const PanelHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>((props, ref) => <PaneHandle {...props} ref={ref} />);\nPanelHandle.displayName = 'Shell.Panel.Handle';\n\nexport const SidebarHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>((props, ref) => <PaneHandle {...props} ref={ref} />);\nSidebarHandle.displayName = 'Shell.Sidebar.Handle';\n\nexport const InspectorHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>((props, ref) => <PaneHandle {...props} ref={ref} />);\nInspectorHandle.displayName = 'Shell.Inspector.Handle';\n\nexport const BottomHandle = React.forwardRef<HTMLDivElement, React.ComponentPropsWithoutRef<'div'>>((props, ref) => <PaneHandle {...props} ref={ref} />);\nBottomHandle.displayName = 'Shell.Bottom.Handle';\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "classNames", "PaneHandle", "className", "children", "props", "ref", "containerRef", "controls", "cssVarName", "minSize", "maxSize", "defaultSize", "orientation", "edge", "growth", "onResize", "onResizeStart", "onResizeEnd", "snapPoints", "snapTolerance", "collapseThreshold", "collapsible", "target", "requestCollapse", "requestToggle", "usePaneResize", "handleRef", "setRef", "node", "activeCleanupRef", "readSize", "container", "parsed", "ceiling", "handle", "frame", "pane", "hitBox", "sign", "room", "hit", "announceCeiling", "write", "size", "targetLabel", "classNames", "handleEl", "pointerId", "startStyle", "parsedStart", "startSize", "startClient", "cap", "clamp", "v", "body", "prevCursor", "prevUserSelect", "current", "raw", "pending", "flush", "lastHandledMove", "seenPointerEvent", "shouldHandle", "ev", "pointerType", "handleMove", "client", "cleanup", "handleUp", "handleKey", "finished", "settled", "nearest", "acc", "p", "kev", "next", "along", "step", "PanelHandle", "SidebarHandle", "InspectorHandle", "BottomHandle"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as P}from"./chunk-MPTTUBFU.js";import{a as s}from"./chunk-MJJ7XDIP.js";import{c as u}from"./chunk-PPZY7PJA.js";import{a as d}from"./chunk-4P6TKZCA.js";import{a as f}from"./chunk-DFGY2NZB.js";import{e as A}from"./chunk-3YLYGKFB.js";import{a as c}from"./chunk-ELAW7ZUG.js";import{a as L}from"./chunk-OS3FCYZY.js";var B={};L(B,{Action:()=>h,Cancel:()=>N,Content:()=>v,Description:()=>E,Root:()=>y,Title:()=>T,Trigger:()=>R});import*as e from"react";import O from"classnames";import{AlertDialog as l}from"radix-ui";var y=t=>e.createElement(l.Root,{...t});y.displayName="AlertDialog.Root";var R=e.forwardRef(({children:t,...o},i)=>e.createElement(l.Trigger,{...o,ref:i,asChild:!0},s(t)));R.displayName="AlertDialog.Trigger";var{align:S,...C}=f,z={align:S},v=e.forwardRef(({align:t,...o},i)=>{let x=A(o,C.size),{className:k}=c({align:t},z),{className:b,forceMount:w,container:H,...M}=c(x,C),g=e.useRef(null),W=e.useMemo(()=>r=>{g.current=r,typeof i=="function"?i(r):i&&(i.current=r)},[i]);return e.useEffect(()=>{if(typeof window>"u")return;let r=g.current;if(!r)return;let a=r.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(a.length===0)return;let p=a[0],m=a[a.length-1],D=n=>{n.key==="Tab"&&(n.shiftKey?document.activeElement===p&&(n.preventDefault(),m.focus()):document.activeElement===m&&(n.preventDefault(),p.focus()))};return r.addEventListener("keydown",D),p.focus(),()=>{r.removeEventListener("keydown",D)}},[]),e.createElement(l.Portal,{container:H,forceMount:w},e.createElement(u,{asChild:!0},e.createElement(l.Overlay,{className:"kui-BaseDialogOverlay kui-AlertDialogOverlay"},e.createElement("div",{className:"kui-BaseDialogScroll kui-AlertDialogScroll"},e.createElement("div",{className:`kui-BaseDialogScrollPadding kui-AlertDialogScrollPadding ${k}`},e.createElement(l.Content,{...M,ref:W,className:O("kui-BaseDialogContent","kui-AlertDialogContent",b),tabIndex:-1,role:"alertdialog","aria-modal":"true","aria-describedby":"alert-dialog-description",onCloseAutoFocus:r=>{r.preventDefault(),document.body.style.pointerEvents=""}}),e.createElement("div",{"aria-live":"assertive","aria-atomic":"true",className:"kui-sr-only",id:"alert-dialog-announcement"}))))))});v.displayName="AlertDialog.Content";var T=e.forwardRef((t,o)=>e.createElement(l.Title,{asChild:!0},e.createElement(P,{size:"5",trim:"start",...t,asChild:!1,ref:o})));T.displayName="AlertDialog.Title";var E=e.forwardRef((t,o)=>e.createElement(l.Description,{asChild:!0},e.createElement(d,{as:"p",size:"3",...t,asChild:!1,ref:o})));E.displayName="AlertDialog.Description";var h=e.forwardRef(({children:t,...o},i)=>e.createElement(l.Action,{...o,ref:i,asChild:!0},s(t)));h.displayName="AlertDialog.Action";var N=e.forwardRef(({children:t,...o},i)=>e.createElement(l.Cancel,{...o,ref:i,asChild:!0},s(t)));N.displayName="AlertDialog.Cancel";export{y as a,R as b,v as c,T as d,E as e,h as f,N as g,B as h};
|
|
2
|
+
//# sourceMappingURL=chunk-7ESWH773.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/alert-dialog.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { AlertDialog as AlertDialogPrimitive } from 'radix-ui';\n\nimport { alertDialogContentPropDefs } from './alert-dialog.props.js';\nimport { Heading } from './heading.js';\nimport { Text } from './text.js';\nimport { Theme } from './theme.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\n\nimport type { AlertDialogContentOwnProps } from './alert-dialog.props.js';\nimport type {\n ComponentPropsWithout,\n RemovedProps,\n ComponentPropsAs,\n} from '../helpers/component-props.js';\n\ninterface AlertDialogRootProps\n extends React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Root> {}\nconst AlertDialogRoot: React.FC<AlertDialogRootProps> = (props) => (\n <AlertDialogPrimitive.Root {...props} />\n);\nAlertDialogRoot.displayName = 'AlertDialog.Root';\n\ntype AlertDialogTriggerElement = React.ElementRef<typeof AlertDialogPrimitive.Trigger>;\ninterface AlertDialogTriggerProps\n extends ComponentPropsWithout<typeof AlertDialogPrimitive.Trigger, RemovedProps> {}\nconst AlertDialogTrigger = React.forwardRef<AlertDialogTriggerElement, AlertDialogTriggerProps>(\n ({ children, ...props }, forwardedRef) => (\n <AlertDialogPrimitive.Trigger {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </AlertDialogPrimitive.Trigger>\n ),\n);\nAlertDialogTrigger.displayName = 'AlertDialog.Trigger';\n\n// Split once at module scope. `extractProps` memoises on the identity of the\n// prop def objects it is handed, so rebuilding these per render would recompile\n// them on every render.\nconst {\n align: alignPropDef,\n ...contentPropDefs\n} = alertDialogContentPropDefs;\nconst alignPropDefs = { align: alignPropDef };\n\ntype AlertDialogContentElement = React.ElementRef<typeof AlertDialogPrimitive.Content>;\ninterface AlertDialogContentProps\n extends ComponentPropsWithout<typeof AlertDialogPrimitive.Content, RemovedProps>,\n AlertDialogContentOwnProps {\n container?: React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Portal>['container'];\n}\nconst AlertDialogContent = React.forwardRef<AlertDialogContentElement, AlertDialogContentProps>(\n ({ align, ...ownProps }, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, contentPropDefs.size);\n const { className: alignClassName } = extractProps({ align }, alignPropDefs);\n\n const {\n className,\n forceMount,\n container,\n ...contentProps\n } = extractProps(props, contentPropDefs);\n\n // Focus management\n const contentRef = React.useRef<HTMLDivElement>(null);\n const combinedRef = React.useMemo(\n () => (node: HTMLDivElement | null) => {\n contentRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n },\n [forwardedRef],\n );\n\n // Focus trap effect\n React.useEffect(() => {\n // SSR safety - only run on client\n if (typeof window === 'undefined') return;\n\n const content = contentRef.current;\n if (!content) return;\n\n const focusableElements = content.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n );\n\n if (focusableElements.length === 0) return;\n\n const firstElement = focusableElements[0] as HTMLElement;\n const lastElement = focusableElements[focusableElements.length - 1] as HTMLElement;\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Tab') {\n if (event.shiftKey) {\n if (document.activeElement === firstElement) {\n event.preventDefault();\n lastElement.focus();\n }\n } else {\n if (document.activeElement === lastElement) {\n event.preventDefault();\n firstElement.focus();\n }\n }\n }\n };\n\n content.addEventListener('keydown', handleKeyDown);\n\n // Focus first element when dialog opens\n firstElement.focus();\n\n return () => {\n content.removeEventListener('keydown', handleKeyDown);\n };\n }, []);\n\n return (\n <AlertDialogPrimitive.Portal container={container} forceMount={forceMount}>\n <Theme asChild>\n <AlertDialogPrimitive.Overlay className=\"
|
|
5
|
-
"mappings": "gUAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,YAAAE,EAAA,WAAAC,EAAA,YAAAC,EAAA,gBAAAC,EAAA,SAAAC,EAAA,UAAAC,EAAA,YAAAC,IAAA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,eAAeC,MAA4B,WAmBpD,IAAMC,EAAmDC,GACvD,gBAACC,EAAqB,KAArB,CAA2B,GAAGD,EAAO,EAExCD,EAAgB,YAAc,mBAK9B,IAAMG,EAA2B,aAC/B,CAAC,CAAE,SAAAC,EAAU,GAAGH,CAAM,EAAGI,IACvB,gBAACH,EAAqB,QAArB,CAA8B,GAAGD,EAAO,IAAKI,EAAc,QAAO,IAChEC,EAAoBF,CAAQ,CAC/B,CAEJ,EACAD,EAAmB,YAAc,sBAKjC,GAAM,CACJ,MAAOI,EACP,GAAGC,CACL,EAAIC,EACEC,EAAgB,CAAE,MAAOH,CAAa,EAQtCI,EAA2B,aAC/B,CAAC,CAAE,MAAAC,EAAO,GAAGC,CAAS,EAAGR,IAAiB,CACxC,IAAMJ,EAAQa,EAAkBD,EAAUL,EAAgB,IAAI,EACxD,CAAE,UAAWO,CAAe,EAAIC,EAAa,CAAE,MAAAJ,CAAM,EAAGF,CAAa,EAErE,CACJ,UAAAO,EACA,WAAAC,EACA,UAAAC,EACA,GAAGC,CACL,EAAIJ,EAAaf,EAAOO,CAAe,EAGjCa,EAAmB,SAAuB,IAAI,EAC9CC,EAAoB,UACxB,IAAOC,GAAgC,CACrCF,EAAW,QAAUE,EACjB,OAAOlB,GAAiB,WAC1BA,EAAakB,CAAI,EACRlB,IACTA,EAAa,QAAUkB,EAE3B,EACA,CAAClB,CAAY,CACf,EAGA,OAAM,YAAU,IAAM,CAEpB,GAAI,OAAO,OAAW,IAAa,OAEnC,IAAMmB,EAAUH,EAAW,QAC3B,GAAI,CAACG,EAAS,OAEd,IAAMC,EAAoBD,EAAQ,iBAChC,0EACF,EAEA,GAAIC,EAAkB,SAAW,EAAG,OAEpC,IAAMC,EAAeD,EAAkB,CAAC,EAClCE,EAAcF,EAAkBA,EAAkB,OAAS,CAAC,EAE5DG,EAAiBC,GAAyB,CAC1CA,EAAM,MAAQ,QACZA,EAAM,SACJ,SAAS,gBAAkBH,IAC7BG,EAAM,eAAe,EACrBF,EAAY,MAAM,GAGhB,SAAS,gBAAkBA,IAC7BE,EAAM,eAAe,EACrBH,EAAa,MAAM,GAI3B,EAEA,OAAAF,EAAQ,iBAAiB,UAAWI,CAAa,EAGjDF,EAAa,MAAM,EAEZ,IAAM,CACXF,EAAQ,oBAAoB,UAAWI,CAAa,CACtD,CACF,EAAG,CAAC,CAAC,EAGH,gBAAC1B,EAAqB,OAArB,CAA4B,UAAWiB,EAAW,WAAYD,GAC7D,gBAACY,EAAA,CAAM,QAAO,IACZ,gBAAC5B,EAAqB,QAArB,CAA6B,UAAU,
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { AlertDialog as AlertDialogPrimitive } from 'radix-ui';\n\nimport { alertDialogContentPropDefs } from './alert-dialog.props.js';\nimport { Heading } from './heading.js';\nimport { Text } from './text.js';\nimport { Theme } from './theme.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\n\nimport type { AlertDialogContentOwnProps } from './alert-dialog.props.js';\nimport type {\n ComponentPropsWithout,\n RemovedProps,\n ComponentPropsAs,\n} from '../helpers/component-props.js';\n\ninterface AlertDialogRootProps\n extends React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Root> {}\nconst AlertDialogRoot: React.FC<AlertDialogRootProps> = (props) => (\n <AlertDialogPrimitive.Root {...props} />\n);\nAlertDialogRoot.displayName = 'AlertDialog.Root';\n\ntype AlertDialogTriggerElement = React.ElementRef<typeof AlertDialogPrimitive.Trigger>;\ninterface AlertDialogTriggerProps\n extends ComponentPropsWithout<typeof AlertDialogPrimitive.Trigger, RemovedProps> {}\nconst AlertDialogTrigger = React.forwardRef<AlertDialogTriggerElement, AlertDialogTriggerProps>(\n ({ children, ...props }, forwardedRef) => (\n <AlertDialogPrimitive.Trigger {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </AlertDialogPrimitive.Trigger>\n ),\n);\nAlertDialogTrigger.displayName = 'AlertDialog.Trigger';\n\n// Split once at module scope. `extractProps` memoises on the identity of the\n// prop def objects it is handed, so rebuilding these per render would recompile\n// them on every render.\nconst {\n align: alignPropDef,\n ...contentPropDefs\n} = alertDialogContentPropDefs;\nconst alignPropDefs = { align: alignPropDef };\n\ntype AlertDialogContentElement = React.ElementRef<typeof AlertDialogPrimitive.Content>;\ninterface AlertDialogContentProps\n extends ComponentPropsWithout<typeof AlertDialogPrimitive.Content, RemovedProps>,\n AlertDialogContentOwnProps {\n container?: React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Portal>['container'];\n}\nconst AlertDialogContent = React.forwardRef<AlertDialogContentElement, AlertDialogContentProps>(\n ({ align, ...ownProps }, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, contentPropDefs.size);\n const { className: alignClassName } = extractProps({ align }, alignPropDefs);\n\n const {\n className,\n forceMount,\n container,\n ...contentProps\n } = extractProps(props, contentPropDefs);\n\n // Focus management\n const contentRef = React.useRef<HTMLDivElement>(null);\n const combinedRef = React.useMemo(\n () => (node: HTMLDivElement | null) => {\n contentRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n },\n [forwardedRef],\n );\n\n // Focus trap effect\n React.useEffect(() => {\n // SSR safety - only run on client\n if (typeof window === 'undefined') return;\n\n const content = contentRef.current;\n if (!content) return;\n\n const focusableElements = content.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n );\n\n if (focusableElements.length === 0) return;\n\n const firstElement = focusableElements[0] as HTMLElement;\n const lastElement = focusableElements[focusableElements.length - 1] as HTMLElement;\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Tab') {\n if (event.shiftKey) {\n if (document.activeElement === firstElement) {\n event.preventDefault();\n lastElement.focus();\n }\n } else {\n if (document.activeElement === lastElement) {\n event.preventDefault();\n firstElement.focus();\n }\n }\n }\n };\n\n content.addEventListener('keydown', handleKeyDown);\n\n // Focus first element when dialog opens\n firstElement.focus();\n\n return () => {\n content.removeEventListener('keydown', handleKeyDown);\n };\n }, []);\n\n return (\n <AlertDialogPrimitive.Portal container={container} forceMount={forceMount}>\n <Theme asChild>\n <AlertDialogPrimitive.Overlay className=\"kui-BaseDialogOverlay kui-AlertDialogOverlay\">\n <div className=\"kui-BaseDialogScroll kui-AlertDialogScroll\">\n <div\n className={`kui-BaseDialogScrollPadding kui-AlertDialogScrollPadding ${alignClassName}`}\n >\n <AlertDialogPrimitive.Content\n {...contentProps}\n ref={combinedRef}\n className={classNames('kui-BaseDialogContent', 'kui-AlertDialogContent', className)}\n tabIndex={-1}\n role=\"alertdialog\"\n aria-modal=\"true\"\n aria-describedby=\"alert-dialog-description\"\n onCloseAutoFocus={(event) => {\n // Prevent default focus behavior\n event.preventDefault();\n // Restore pointer-events to body (Radix UI fix for issue #1241)\n document.body.style.pointerEvents = '';\n }}\n />\n {/* ARIA live region for screen reader announcements */}\n <div\n aria-live=\"assertive\"\n aria-atomic=\"true\"\n className=\"kui-sr-only\"\n id=\"alert-dialog-announcement\"\n />\n </div>\n </div>\n </AlertDialogPrimitive.Overlay>\n </Theme>\n </AlertDialogPrimitive.Portal>\n );\n },\n);\nAlertDialogContent.displayName = 'AlertDialog.Content';\n\ntype AlertDialogTitleElement = React.ElementRef<typeof Heading>;\ntype AlertDialogTitleProps = ComponentPropsWithout<typeof Heading, 'asChild'>;\nconst AlertDialogTitle = React.forwardRef<AlertDialogTitleElement, AlertDialogTitleProps>(\n (props, forwardedRef) => (\n <AlertDialogPrimitive.Title asChild>\n <Heading size=\"5\" trim=\"start\" {...props} asChild={false} ref={forwardedRef} />\n </AlertDialogPrimitive.Title>\n ),\n);\nAlertDialogTitle.displayName = 'AlertDialog.Title';\n\ntype AlertDialogDescriptionElement = HTMLParagraphElement;\ntype AlertDialogDescriptionProps = ComponentPropsAs<typeof Text, 'p'>;\nconst AlertDialogDescription = React.forwardRef<\n AlertDialogDescriptionElement,\n AlertDialogDescriptionProps\n>((props, forwardedRef) => (\n <AlertDialogPrimitive.Description asChild>\n <Text as=\"p\" size=\"3\" {...props} asChild={false} ref={forwardedRef} />\n </AlertDialogPrimitive.Description>\n));\nAlertDialogDescription.displayName = 'AlertDialog.Description';\n\ntype AlertDialogActionElement = React.ElementRef<typeof AlertDialogPrimitive.Action>;\ninterface AlertDialogActionProps\n extends ComponentPropsWithout<typeof AlertDialogPrimitive.Action, RemovedProps> {}\nconst AlertDialogAction = React.forwardRef<AlertDialogActionElement, AlertDialogActionProps>(\n ({ children, ...props }, forwardedRef) => (\n <AlertDialogPrimitive.Action {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </AlertDialogPrimitive.Action>\n ),\n);\nAlertDialogAction.displayName = 'AlertDialog.Action';\n\ntype AlertDialogCancelElement = React.ElementRef<typeof AlertDialogPrimitive.Cancel>;\ninterface AlertDialogCancelProps\n extends ComponentPropsWithout<typeof AlertDialogPrimitive.Cancel, RemovedProps> {}\nconst AlertDialogCancel = React.forwardRef<AlertDialogCancelElement, AlertDialogCancelProps>(\n ({ children, ...props }, forwardedRef) => (\n <AlertDialogPrimitive.Cancel {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </AlertDialogPrimitive.Cancel>\n ),\n);\nAlertDialogCancel.displayName = 'AlertDialog.Cancel';\n\nexport {\n AlertDialogRoot as Root,\n AlertDialogTrigger as Trigger,\n AlertDialogContent as Content,\n AlertDialogTitle as Title,\n AlertDialogDescription as Description,\n AlertDialogAction as Action,\n AlertDialogCancel as Cancel,\n};\n\nexport type {\n AlertDialogRootProps as RootProps,\n AlertDialogTriggerProps as TriggerProps,\n AlertDialogContentProps as ContentProps,\n AlertDialogTitleProps as TitleProps,\n AlertDialogDescriptionProps as DescriptionProps,\n AlertDialogActionProps as ActionProps,\n AlertDialogCancelProps as CancelProps,\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["alert_dialog_exports", "__export", "AlertDialogAction", "AlertDialogCancel", "AlertDialogContent", "AlertDialogDescription", "AlertDialogRoot", "AlertDialogTitle", "AlertDialogTrigger", "React", "classNames", "AlertDialogPrimitive", "AlertDialogRoot", "props", "AlertDialogPrimitive", "AlertDialogTrigger", "children", "forwardedRef", "requireReactElement", "alignPropDef", "contentPropDefs", "alertDialogContentPropDefs", "alignPropDefs", "AlertDialogContent", "align", "ownProps", "useThemeSizeProps", "alignClassName", "extractProps", "className", "forceMount", "container", "contentProps", "contentRef", "combinedRef", "node", "content", "focusableElements", "firstElement", "lastElement", "handleKeyDown", "event", "Theme", "classNames", "AlertDialogTitle", "Heading", "AlertDialogDescription", "Text", "AlertDialogAction", "AlertDialogCancel"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as r}from"./chunk-P7VSZYG3.js";import{a as o}from"./chunk-NUVUXNHF.js";import{a as t}from"./chunk-EKTVL6SS.js";var s=["visible","hidden","clip","scroll","auto"],i=["static","relative","absolute","fixed","sticky"],e=["0","1","2","3","4","5","6","7","8","9","10","11","12","-1","-2","-3","-4","-5","-6","-7","-8","-9"],p=["0","1"],u=["0","1"],n=["start","center","end","baseline","stretch"],a=["start","center","end","baseline","stretch"],g={...r,...t,...o,position:{type:"enum",className:"kui-r-position",values:i,responsive:!0},inset:{type:"enum | string",className:"kui-r-inset",customProperties:["--inset"],values:e,responsive:!0},top:{type:"enum | string",className:"kui-r-top",customProperties:["--top"],values:e,responsive:!0},right:{type:"enum | string",className:"kui-r-right",customProperties:["--right"],values:e,responsive:!0},bottom:{type:"enum | string",className:"kui-r-bottom",customProperties:["--bottom"],values:e,responsive:!0},left:{type:"enum | string",className:"kui-r-left",customProperties:["--left"],values:e,responsive:!0},overflow:{type:"enum",className:"kui-r-overflow",values:s,responsive:!0},overflowX:{type:"enum",className:"kui-r-ox",values:s,responsive:!0},overflowY:{type:"enum",className:"kui-r-oy",values:s,responsive:!0},flexBasis:{type:"string",className:"kui-r-fb",customProperties:["--flex-basis"],responsive:!0},flexShrink:{type:"enum | string",className:"kui-r-fs",customProperties:["--flex-shrink"],values:p,responsive:!0},flexGrow:{type:"enum | string",className:"kui-r-fg",customProperties:["--flex-grow"],values:u,responsive:!0},gridArea:{type:"string",className:"kui-r-ga",customProperties:["--grid-area"],responsive:!0},gridColumn:{type:"string",className:"kui-r-gc",customProperties:["--grid-column"],responsive:!0},gridColumnStart:{type:"string",className:"kui-r-gcs",customProperties:["--grid-column-start"],responsive:!0},gridColumnEnd:{type:"string",className:"kui-r-gce",customProperties:["--grid-column-end"],responsive:!0},gridRow:{type:"string",className:"kui-r-gr",customProperties:["--grid-row"],responsive:!0},gridRowStart:{type:"string",className:"kui-r-grs",customProperties:["--grid-row-start"],responsive:!0},gridRowEnd:{type:"string",className:"kui-r-gre",customProperties:["--grid-row-end"],responsive:!0},alignSelf:{type:"enum",className:"kui-r-as",values:n,responsive:!0},justifySelf:{type:"enum",className:"kui-r-js",values:a,responsive:!0}};export{g as a};
|
|
2
|
+
//# sourceMappingURL=chunk-7FTUTUMD.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/props/layout.props.ts"],
|
|
4
|
+
"sourcesContent": ["import { paddingPropDefs } from './padding.props.js';\nimport { heightPropDefs } from './height.props.js';\nimport { widthPropDefs } from './width.props.js';\n\nimport type { PropDef, GetPropDefTypes } from './prop-def.js';\n\nconst overflowValues = ['visible', 'hidden', 'clip', 'scroll', 'auto'] as const;\nconst positionValues = ['static', 'relative', 'absolute', 'fixed', 'sticky'] as const;\n// prettier-ignore\nconst positionEdgeValues = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '-1', '-2', '-3', '-4', '-5', '-6', '-7', '-8', '-9'] as const;\nconst flexShrinkValues = ['0', '1'] as const;\nconst flexGrowValues = ['0', '1'] as const;\nconst alignSelfValues = ['start', 'center', 'end', 'baseline', 'stretch'] as const;\nconst justifySelfValues = ['start', 'center', 'end', 'baseline', 'stretch'] as const;\n\nconst layoutPropDefs = {\n ...paddingPropDefs,\n ...widthPropDefs,\n ...heightPropDefs,\n /**\n * Sets the CSS **position** property.\n * Supports the corresponding CSS values and responsive objects.\n *\n * @example\n * position=\"absolute\"\n * position={{ sm: 'absolute', lg: 'sticky' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/position\n */\n position: {\n type: 'enum',\n className: 'kui-r-position',\n values: positionValues,\n responsive: true,\n },\n /**\n * Sets the CSS **inset** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * inset=\"4\"\n * inset=\"100px\"\n * inset={{ sm: '0', lg: '50%' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/inset\n */\n inset: {\n type: 'enum | string',\n className: 'kui-r-inset',\n customProperties: ['--inset'],\n values: positionEdgeValues,\n responsive: true,\n },\n /**\n * Sets the CSS **top** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * top=\"4\"\n * top=\"100px\"\n * top={{ sm: '0', lg: '50%' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/top\n */\n top: {\n type: 'enum | string',\n className: 'kui-r-top',\n customProperties: ['--top'],\n values: positionEdgeValues,\n responsive: true,\n },\n /**\n * Sets the CSS **right** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * right=\"4\"\n * right=\"100px\"\n * right={{ sm: '0', lg: '50%' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/right\n */\n right: {\n type: 'enum | string',\n className: 'kui-r-right',\n customProperties: ['--right'],\n values: positionEdgeValues,\n responsive: true,\n },\n /**\n * Sets the CSS **bottom** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * bottom=\"4\"\n * bottom=\"100px\"\n * bottom={{ sm: '0', lg: '50%' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/bottom\n */\n bottom: {\n type: 'enum | string',\n className: 'kui-r-bottom',\n customProperties: ['--bottom'],\n values: positionEdgeValues,\n responsive: true,\n },\n /**\n * Sets the CSS **left** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * left=\"4\"\n * left=\"100px\"\n * left={{ sm: '0', lg: '50%' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/left\n */\n left: {\n type: 'enum | string',\n className: 'kui-r-left',\n customProperties: ['--left'],\n values: positionEdgeValues,\n responsive: true,\n },\n /**\n * Sets the CSS **overflow** property.\n * Supports the corresponding CSS values and responsive objects.\n *\n * @example\n * overflow=\"hidden\"\n * overflow={{ sm: 'hidden', lg: 'visible' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow\n */\n overflow: {\n type: 'enum',\n className: 'kui-r-overflow',\n values: overflowValues,\n responsive: true,\n },\n /**\n * Sets the CSS **overflow-x** property.\n * Supports the corresponding CSS values and responsive objects.\n *\n * @example\n * overflowX=\"hidden\"\n * overflowX={{ sm: 'hidden', md: 'visible' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow\n */\n overflowX: {\n type: 'enum',\n className: 'kui-r-ox',\n values: overflowValues,\n responsive: true,\n },\n /**\n * Sets the CSS **overflow-y** property.\n * Supports the corresponding CSS values and responsive objects.\n *\n * @example\n * overflowY=\"hidden\"\n * overflowY={{ sm: 'hidden', md: 'visible' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow\n */\n overflowY: {\n type: 'enum',\n className: 'kui-r-oy',\n values: overflowValues,\n responsive: true,\n },\n /**\n * Sets the CSS **flex-basis** property.\n * Supports CSS strings and responsive objects.\n *\n * @example\n * flexBasis=\"0\"\n * flexBasis=\"100%\"\n * flexBasis={{ sm: '200px', lg: 'auto' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/flex-basis\n */\n flexBasis: {\n type: 'string',\n className: 'kui-r-fb',\n customProperties: ['--flex-basis'],\n responsive: true,\n },\n /**\n * Sets the CSS **flex-shrink** property.\n * Supports CSS strings and responsive objects.\n *\n * @example\n * flexShrink=\"0\"\n * flexShrink=\"1\"\n * flexShrink={{ sm: '0', lg: '1' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/flex-shrink\n */\n flexShrink: {\n type: 'enum | string',\n className: 'kui-r-fs',\n customProperties: ['--flex-shrink'],\n values: flexShrinkValues,\n responsive: true,\n },\n /**\n * Sets the CSS **flex-grow** property.\n * Supports CSS strings and responsive objects.\n *\n * @example\n * flexGrow=\"0\"\n * flexGrow=\"1\"\n * flexGrow={{ sm: '0', lg: '1' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/flex-grow\n */\n flexGrow: {\n type: 'enum | string',\n className: 'kui-r-fg',\n customProperties: ['--flex-grow'],\n values: flexGrowValues,\n responsive: true,\n },\n /**\n * Sets the CSS **grid-area** property.\n * Supports CSS strings and responsive objects.\n *\n * @example\n * gridArea=\"header\"\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/grid-area\n */\n gridArea: {\n type: 'string',\n className: 'kui-r-ga',\n customProperties: ['--grid-area'],\n responsive: true,\n },\n /**\n * Sets the CSS **grid-column** property.\n * Supports CSS strings and responsive objects.\n *\n * @example\n * gridColumn=\"1\"\n * gridColumn=\"1 / -1\"\n * gridColumn={{ sm: '1 / 3', lg: 'span 3' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column\n */\n gridColumn: {\n type: 'string',\n className: 'kui-r-gc',\n customProperties: ['--grid-column'],\n responsive: true,\n },\n /**\n * Sets the CSS **grid-column-start** property.\n * Supports CSS strings and responsive objects.\n *\n * @example\n * gridColumnStart=\"1\"\n * gridColumnStart=\"auto\"\n * gridColumnStart={{ sm: '2', lg: 'span 3' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column-start\n */\n gridColumnStart: {\n type: 'string',\n className: 'kui-r-gcs',\n customProperties: ['--grid-column-start'],\n responsive: true,\n },\n /**\n * Sets the CSS **grid-column-end** property.\n * Supports CSS strings and responsive objects.\n *\n * @example\n * gridColumnEnd=\"1\"\n * gridColumnEnd=\"auto\"\n * gridColumnEnd={{ sm: '2', lg: 'span 3' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column-end\n */\n gridColumnEnd: {\n type: 'string',\n className: 'kui-r-gce',\n customProperties: ['--grid-column-end'],\n responsive: true,\n },\n /**\n * Sets the CSS **grid-row** property.\n * Supports CSS strings and responsive objects.\n *\n * @example\n * gridRow=\"1\"\n * gridRow=\"auto\"\n * gridRow={{ sm: '2', lg: 'span 3' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row\n */\n gridRow: {\n type: 'string',\n className: 'kui-r-gr',\n customProperties: ['--grid-row'],\n responsive: true,\n },\n /**\n * Sets the CSS **grid-row-start** property.\n * Supports CSS strings and responsive objects.\n *\n * @example\n * gridRowStart=\"1\"\n * gridRowStart=\"auto\"\n * gridRowStart={{ sm: '2', lg: 'span 3' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row-start\n */\n gridRowStart: {\n type: 'string',\n className: 'kui-r-grs',\n customProperties: ['--grid-row-start'],\n responsive: true,\n },\n /**\n * Sets the CSS **grid-row-end** property.\n * Supports CSS strings and responsive objects.\n *\n * @example\n * gridRowEnd=\"1\"\n * gridRowEnd=\"auto\"\n * gridRowEnd={{ sm: '2', lg: 'span 3' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row-end\n */\n gridRowEnd: {\n type: 'string',\n className: 'kui-r-gre',\n customProperties: ['--grid-row-end'],\n responsive: true,\n },\n /**\n * Sets the CSS **align-self** property.\n * Supports a subset of the corresponding CSS values and responsive objects.\n *\n * @example\n * alignSelf=\"center\"\n * alignSelf={{ sm: 'start', lg: 'center' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/align-self\n */\n alignSelf: {\n type: 'enum',\n className: 'kui-r-as',\n values: alignSelfValues,\n responsive: true,\n },\n /**\n * Sets the CSS **justify-self** property.\n * Supports a subset of the corresponding CSS values and responsive objects.\n *\n * @example\n * justifySelf=\"center\"\n * justifySelf={{ sm: 'start', lg: 'center' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/justify-self\n */\n justifySelf: {\n type: 'enum',\n className: 'kui-r-js',\n values: justifySelfValues,\n responsive: true,\n },\n} satisfies {\n position: PropDef<(typeof positionValues)[number]>;\n inset: PropDef<(typeof positionEdgeValues)[number]>;\n top: PropDef<(typeof positionEdgeValues)[number]>;\n right: PropDef<(typeof positionEdgeValues)[number]>;\n bottom: PropDef<(typeof positionEdgeValues)[number]>;\n left: PropDef<(typeof positionEdgeValues)[number]>;\n overflow: PropDef<(typeof overflowValues)[number]>;\n overflowX: PropDef<(typeof overflowValues)[number]>;\n overflowY: PropDef<(typeof overflowValues)[number]>;\n flexBasis: PropDef<string>;\n flexShrink: PropDef<(typeof flexShrinkValues)[number]>;\n flexGrow: PropDef<(typeof flexGrowValues)[number]>;\n gridColumn: PropDef<string>;\n gridColumnStart: PropDef<string>;\n gridColumnEnd: PropDef<string>;\n gridRow: PropDef<string>;\n gridRowStart: PropDef<string>;\n gridRowEnd: PropDef<string>;\n gridArea: PropDef<string>;\n alignSelf: PropDef<(typeof alignSelfValues)[number]>;\n justifySelf: PropDef<(typeof justifySelfValues)[number]>;\n};\n\n// Use all of the imported prop defs to ensure that JSDoc works\ntype LayoutProps = GetPropDefTypes<\n typeof paddingPropDefs & typeof widthPropDefs & typeof heightPropDefs & typeof layoutPropDefs\n>;\n\nexport { layoutPropDefs };\nexport type { LayoutProps };\n"],
|
|
5
|
+
"mappings": "wHAMA,IAAMA,EAAiB,CAAC,UAAW,SAAU,OAAQ,SAAU,MAAM,EAC/DC,EAAiB,CAAC,SAAU,WAAY,WAAY,QAAS,QAAQ,EAErEC,EAAqB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAI,EAC9IC,EAAmB,CAAC,IAAK,GAAG,EAC5BC,EAAiB,CAAC,IAAK,GAAG,EAC1BC,EAAkB,CAAC,QAAS,SAAU,MAAO,WAAY,SAAS,EAClEC,EAAoB,CAAC,QAAS,SAAU,MAAO,WAAY,SAAS,EAEpEC,EAAiB,CACrB,GAAGC,EACH,GAAGC,EACH,GAAGC,EAYH,SAAU,CACR,KAAM,OACN,UAAW,iBACX,OAAQT,EACR,WAAY,EACd,EAaA,MAAO,CACL,KAAM,gBACN,UAAW,cACX,iBAAkB,CAAC,SAAS,EAC5B,OAAQC,EACR,WAAY,EACd,EAaA,IAAK,CACH,KAAM,gBACN,UAAW,YACX,iBAAkB,CAAC,OAAO,EAC1B,OAAQA,EACR,WAAY,EACd,EAaA,MAAO,CACL,KAAM,gBACN,UAAW,cACX,iBAAkB,CAAC,SAAS,EAC5B,OAAQA,EACR,WAAY,EACd,EAaA,OAAQ,CACN,KAAM,gBACN,UAAW,eACX,iBAAkB,CAAC,UAAU,EAC7B,OAAQA,EACR,WAAY,EACd,EAaA,KAAM,CACJ,KAAM,gBACN,UAAW,aACX,iBAAkB,CAAC,QAAQ,EAC3B,OAAQA,EACR,WAAY,EACd,EAYA,SAAU,CACR,KAAM,OACN,UAAW,iBACX,OAAQF,EACR,WAAY,EACd,EAYA,UAAW,CACT,KAAM,OACN,UAAW,WACX,OAAQA,EACR,WAAY,EACd,EAYA,UAAW,CACT,KAAM,OACN,UAAW,WACX,OAAQA,EACR,WAAY,EACd,EAaA,UAAW,CACT,KAAM,SACN,UAAW,WACX,iBAAkB,CAAC,cAAc,EACjC,WAAY,EACd,EAaA,WAAY,CACV,KAAM,gBACN,UAAW,WACX,iBAAkB,CAAC,eAAe,EAClC,OAAQG,EACR,WAAY,EACd,EAaA,SAAU,CACR,KAAM,gBACN,UAAW,WACX,iBAAkB,CAAC,aAAa,EAChC,OAAQC,EACR,WAAY,EACd,EAWA,SAAU,CACR,KAAM,SACN,UAAW,WACX,iBAAkB,CAAC,aAAa,EAChC,WAAY,EACd,EAaA,WAAY,CACV,KAAM,SACN,UAAW,WACX,iBAAkB,CAAC,eAAe,EAClC,WAAY,EACd,EAaA,gBAAiB,CACf,KAAM,SACN,UAAW,YACX,iBAAkB,CAAC,qBAAqB,EACxC,WAAY,EACd,EAaA,cAAe,CACb,KAAM,SACN,UAAW,YACX,iBAAkB,CAAC,mBAAmB,EACtC,WAAY,EACd,EAaA,QAAS,CACP,KAAM,SACN,UAAW,WACX,iBAAkB,CAAC,YAAY,EAC/B,WAAY,EACd,EAaA,aAAc,CACZ,KAAM,SACN,UAAW,YACX,iBAAkB,CAAC,kBAAkB,EACrC,WAAY,EACd,EAaA,WAAY,CACV,KAAM,SACN,UAAW,YACX,iBAAkB,CAAC,gBAAgB,EACnC,WAAY,EACd,EAYA,UAAW,CACT,KAAM,OACN,UAAW,WACX,OAAQC,EACR,WAAY,EACd,EAYA,YAAa,CACX,KAAM,OACN,UAAW,WACX,OAAQC,EACR,WAAY,EACd,CACF",
|
|
6
|
+
"names": ["overflowValues", "positionValues", "positionEdgeValues", "flexShrinkValues", "flexGrowValues", "alignSelfValues", "justifySelfValues", "layoutPropDefs", "paddingPropDefs", "widthPropDefs", "heightPropDefs"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as t}from"./chunk-SKOYHBIE.js";import{a as s}from"./chunk-ELAW7ZUG.js";import{a as o}from"./chunk-E23RKOQJ.js";import*as e from"react";import g from"classnames";import{Progress as p}from"radix-ui";var l=e.forwardRef((i,m)=>{let{className:a,style:P,color:n,radius:f,duration:d,...r}=s(i,t);return e.createElement(p.Root,{"data-accent-color":n,"data-radius":f,ref:m,className:g("kui-ProgressRoot",a),style:o({"--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},e.createElement(p.Indicator,{className:"kui-ProgressIndicator"}))});l.displayName="Progress";export{l as a};
|
|
2
|
+
//# sourceMappingURL=chunk-7SS4UUJH.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/progress.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Progress as ProgressPrimitive } from 'radix-ui';\n\nimport { progressPropDefs } from './progress.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { mergeStyles } from '../helpers/merge-styles.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype ProgressElement = React.ElementRef<typeof ProgressPrimitive.Root>;\ntype ProgressOwnProps = GetPropDefTypes<typeof progressPropDefs>;\ninterface ProgressProps\n extends ComponentPropsWithout<typeof ProgressPrimitive.Root, RemovedProps | 'children'>,\n ProgressOwnProps {\n duration?: `${number}s` | `${number}ms`;\n}\nconst Progress = React.forwardRef<ProgressElement, ProgressProps>((props, forwardedRef) => {\n const { className, style, color, radius, duration, ...progressProps } = extractProps(\n props,\n progressPropDefs\n );\n\n return (\n <ProgressPrimitive.Root\n data-accent-color={color}\n data-radius={radius}\n ref={forwardedRef}\n className={classNames('
|
|
5
|
-
"mappings": "wHAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,YAAYC,MAAyB,WAgB9C,IAAMC,EAAiB,aAA2C,CAACC,EAAOC,IAAiB,CACzF,GAAM,CAAE,UAAAC,EAAW,MAAAC,EAAO,MAAAC,EAAO,OAAAC,EAAQ,SAAAC,EAAU,GAAGC,CAAc,EAAIC,EACtER,EACAS,CACF,EAEA,OACE,gBAACC,EAAkB,KAAlB,CACC,oBAAmBN,EACnB,cAAaC,EACb,IAAKJ,EACL,UAAWU,EAAW,
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Progress as ProgressPrimitive } from 'radix-ui';\n\nimport { progressPropDefs } from './progress.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { mergeStyles } from '../helpers/merge-styles.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype ProgressElement = React.ElementRef<typeof ProgressPrimitive.Root>;\ntype ProgressOwnProps = GetPropDefTypes<typeof progressPropDefs>;\ninterface ProgressProps\n extends ComponentPropsWithout<typeof ProgressPrimitive.Root, RemovedProps | 'children'>,\n ProgressOwnProps {\n duration?: `${number}s` | `${number}ms`;\n}\nconst Progress = React.forwardRef<ProgressElement, ProgressProps>((props, forwardedRef) => {\n const { className, style, color, radius, duration, ...progressProps } = extractProps(\n props,\n progressPropDefs\n );\n\n return (\n <ProgressPrimitive.Root\n data-accent-color={color}\n data-radius={radius}\n ref={forwardedRef}\n className={classNames('kui-ProgressRoot', className)}\n style={mergeStyles(\n {\n '--progress-duration': 'value' in progressProps ? undefined : duration,\n '--progress-value': 'value' in progressProps ? progressProps.value : undefined,\n '--progress-max': 'max' in progressProps ? progressProps.max : undefined,\n },\n style\n )}\n {...progressProps}\n asChild={false}\n >\n <ProgressPrimitive.Indicator className=\"kui-ProgressIndicator\" />\n </ProgressPrimitive.Root>\n );\n});\nProgress.displayName = 'Progress';\n\nexport { Progress };\nexport type { ProgressProps };\n"],
|
|
5
|
+
"mappings": "wHAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,YAAYC,MAAyB,WAgB9C,IAAMC,EAAiB,aAA2C,CAACC,EAAOC,IAAiB,CACzF,GAAM,CAAE,UAAAC,EAAW,MAAAC,EAAO,MAAAC,EAAO,OAAAC,EAAQ,SAAAC,EAAU,GAAGC,CAAc,EAAIC,EACtER,EACAS,CACF,EAEA,OACE,gBAACC,EAAkB,KAAlB,CACC,oBAAmBN,EACnB,cAAaC,EACb,IAAKJ,EACL,UAAWU,EAAW,mBAAoBT,CAAS,EACnD,MAAOU,EACL,CACE,sBAAuB,UAAWL,EAAgB,OAAYD,EAC9D,mBAAoB,UAAWC,EAAgBA,EAAc,MAAQ,OACrE,iBAAkB,QAASA,EAAgBA,EAAc,IAAM,MACjE,EACAJ,CACF,EACC,GAAGI,EACJ,QAAS,IAET,gBAACG,EAAkB,UAAlB,CAA4B,UAAU,wBAAwB,CACjE,CAEJ,CAAC,EACDX,EAAS,YAAc",
|
|
6
6
|
"names": ["React", "classNames", "ProgressPrimitive", "Progress", "props", "forwardedRef", "className", "style", "color", "radius", "duration", "progressProps", "extractProps", "progressPropDefs", "ProgressPrimitive", "classNames", "mergeStyles"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as i}from"./chunk-HIEGLLY7.js";import{a as p}from"./chunk-BJUCBOGU.js";import{a as r}from"./chunk-ELAW7ZUG.js";import*as e from"react";import l from"classnames";var c=e.forwardRef((a,o)=>{let{className:t,children:n,loading:m,...f}=r(a,i);if(!m)return n;let s=e.createElement("span",{...f,ref:o,className:l("kui-Spinner",t)},e.createElement("span",{className:"kui-SpinnerLeaf"}),e.createElement("span",{className:"kui-SpinnerLeaf"}),e.createElement("span",{className:"kui-SpinnerLeaf"}),e.createElement("span",{className:"kui-SpinnerLeaf"}),e.createElement("span",{className:"kui-SpinnerLeaf"}),e.createElement("span",{className:"kui-SpinnerLeaf"}),e.createElement("span",{className:"kui-SpinnerLeaf"}),e.createElement("span",{className:"kui-SpinnerLeaf"}));return n===void 0?s:e.createElement(p,{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(p,{asChild:!0,align:"center",justify:"center",position:"absolute",inset:"0"},e.createElement("span",null,s))))});c.displayName="Spinner";export{c as a};
|
|
2
|
+
//# sourceMappingURL=chunk-A3YQIJDA.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/spinner.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\n\nimport { Flex } from './flex.js';\nimport { spinnerPropDefs } from './spinner.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype SpinnerElement = React.ElementRef<'span'>;\ntype SpinnerOwnProps = GetPropDefTypes<typeof spinnerPropDefs>;\ninterface SpinnerProps\n extends ComponentPropsWithout<'span', RemovedProps>,\n SpinnerOwnProps {}\nconst Spinner = React.forwardRef<SpinnerElement, SpinnerProps>((props, forwardedRef) => {\n const { className, children, loading, ...spinnerProps } = extractProps(\n props,\n spinnerPropDefs\n );\n\n if (!loading) return children;\n\n const spinner = (\n <span {...spinnerProps} ref={forwardedRef} className={classNames('
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\n\nimport { Flex } from './flex.js';\nimport { spinnerPropDefs } from './spinner.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype SpinnerElement = React.ElementRef<'span'>;\ntype SpinnerOwnProps = GetPropDefTypes<typeof spinnerPropDefs>;\ninterface SpinnerProps\n extends ComponentPropsWithout<'span', RemovedProps>,\n SpinnerOwnProps {}\nconst Spinner = React.forwardRef<SpinnerElement, SpinnerProps>((props, forwardedRef) => {\n const { className, children, loading, ...spinnerProps } = extractProps(\n props,\n spinnerPropDefs\n );\n\n if (!loading) return children;\n\n const spinner = (\n <span {...spinnerProps} ref={forwardedRef} className={classNames('kui-Spinner', className)}>\n <span className=\"kui-SpinnerLeaf\" />\n <span className=\"kui-SpinnerLeaf\" />\n <span className=\"kui-SpinnerLeaf\" />\n <span className=\"kui-SpinnerLeaf\" />\n <span className=\"kui-SpinnerLeaf\" />\n <span className=\"kui-SpinnerLeaf\" />\n <span className=\"kui-SpinnerLeaf\" />\n <span className=\"kui-SpinnerLeaf\" />\n </span>\n );\n\n if (children === undefined) return spinner;\n\n return (\n <Flex asChild position=\"relative\" align=\"center\" justify=\"center\">\n <span>\n {/**\n * `display: contents` removes the content from the accessibility tree in some browsers,\n * so we force remove it with `aria-hidden`\n */}\n <span aria-hidden style={{ display: 'contents', visibility: 'hidden' }} inert={undefined}>\n {children}\n </span>\n\n <Flex asChild align=\"center\" justify=\"center\" position=\"absolute\" inset=\"0\">\n <span>{spinner}</span>\n </Flex>\n </span>\n </Flex>\n );\n});\nSpinner.displayName = 'Spinner';\n\nexport { Spinner };\nexport type { SpinnerProps };\n"],
|
|
5
|
+
"mappings": "wHAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aAcvB,IAAMC,EAAgB,aAAyC,CAACC,EAAOC,IAAiB,CACtF,GAAM,CAAE,UAAAC,EAAW,SAAAC,EAAU,QAAAC,EAAS,GAAGC,CAAa,EAAIC,EACxDN,EACAO,CACF,EAEA,GAAI,CAACH,EAAS,OAAOD,EAErB,IAAMK,EACJ,gBAAC,QAAM,GAAGH,EAAc,IAAKJ,EAAc,UAAWQ,EAAW,cAAeP,CAAS,GACvF,gBAAC,QAAK,UAAU,kBAAkB,EAClC,gBAAC,QAAK,UAAU,kBAAkB,EAClC,gBAAC,QAAK,UAAU,kBAAkB,EAClC,gBAAC,QAAK,UAAU,kBAAkB,EAClC,gBAAC,QAAK,UAAU,kBAAkB,EAClC,gBAAC,QAAK,UAAU,kBAAkB,EAClC,gBAAC,QAAK,UAAU,kBAAkB,EAClC,gBAAC,QAAK,UAAU,kBAAkB,CACpC,EAGF,OAAIC,IAAa,OAAkBK,EAGjC,gBAACE,EAAA,CAAK,QAAO,GAAC,SAAS,WAAW,MAAM,SAAS,QAAQ,UACvD,gBAAC,YAKC,gBAAC,QAAK,cAAW,GAAC,MAAO,CAAE,QAAS,WAAY,WAAY,QAAS,EAAG,MAAO,QAC5EP,CACH,EAEA,gBAACO,EAAA,CAAK,QAAO,GAAC,MAAM,SAAS,QAAQ,SAAS,SAAS,WAAW,MAAM,KACtE,gBAAC,YAAMF,CAAQ,CACjB,CACF,CACF,CAEJ,CAAC,EACDT,EAAQ,YAAc",
|
|
6
6
|
"names": ["React", "classNames", "Spinner", "props", "forwardedRef", "className", "children", "loading", "spinnerProps", "extractProps", "spinnerPropDefs", "spinner", "classNames", "Flex"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as S}from"./chunk-R4XJNQX5.js";import*as e from"react";import d from"classnames";var P=e.createContext(null);function f(){return e.useContext(P)}var c=e.createContext("2");function h({children:t,presentation:a}){let n=e.useContext(c),o=e.useMemo(()=>({size:n,menuVariant:"soft",presentation:a}),[n,a]);return e.createElement(P.Provider,{value:o},t)}function u(){let t=f(),a=e.useContext(c),n=t?.size??a,o=t?.menuVariant??"soft";return["kui-ShellPaneChrome",`kui-r-size-${n}`,`kui-menu-variant-${o}`]}var p={1:"2",2:"3",3:"4",4:"4"},s=e.createContext(null);function b(){return e.useContext(s)}function m(){let t=f(),a=e.useContext(c);return p[t?.size??a]}var v=e.forwardRef(({className:t,float:a,children:n,...o},r)=>{let i=u(),l=m();return e.createElement("div",{...o,ref:r,"data-float":a||void 0,className:d("kui-ShellPaneHeader","kui-SidebarHeader","kui-SidebarHeader--container",...i,t)},e.createElement(s.Provider,{value:l},n))});v.displayName="Shell.PaneHeader";var C=e.forwardRef(({className:t,float:a,children:n,...o},r)=>{let i=u(),l=m();return e.createElement("div",{...o,ref:r,"data-float":a||void 0,className:d("kui-ShellPaneFooter","kui-SidebarFooter","kui-SidebarFooter--container",...i,t)},e.createElement(s.Provider,{value:l},n))});C.displayName="Shell.PaneFooter";var x=e.forwardRef(({className:t,children:a,fade:n=!1,...o},r)=>{let i=u();return e.createElement(S,{type:"hover",fade:n,className:"kui-ShellScroll"},e.createElement("div",{...o,ref:r,className:d("kui-BaseMenuContent","kui-SidebarContent",...i,t)},e.createElement(s.Provider,{value:null},e.createElement("div",{className:"kui-BaseMenuViewport"},a))))});x.displayName="Shell.Scroll";export{P as a,f as b,c,h as d,p as e,b as f,v as g,C as h,x as i};
|
|
2
|
+
//# sourceMappingURL=chunk-AB3QCCUM.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/_internal/pane-chrome.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client';\n\n/**\n * A pane's own chrome: a header row, a scrolling region and a footer row.\n *\n * Shell.Sidebar and Shell.Panel render these as `Shell.PaneHeader`, `Shell.Scroll` and\n * `Shell.PaneFooter`. The pane renders anything; with these parts it is the presentation, so\n * Sidebar's menu parts work inside it with no `Sidebar.Root`. The index comes from the nearest\n * Shell (`Shell.Root size`), or from a deprecated `Sidebar.Root` that still wraps them.\n */\n\nimport * as React from 'react';\nimport classNames from 'classnames';\n\nimport { ScrollArea } from '../scroll-area.js';\n\ntype PaneSize = '1' | '2' | '3';\n\ntype SidebarVisualContextValue = {\n size: PaneSize;\n menuVariant: 'solid' | 'soft';\n presentation?: 'thin' | 'expanded';\n color?: string;\n};\n\n/** Size, menu highlight and presentation for the Sidebar parts. Internal: not exported. */\nconst SidebarVisualContext = React.createContext<SidebarVisualContextValue | null>(null);\n\nfunction useSidebarVisual() {\n return React.useContext(SidebarVisualContext);\n}\n\n/** The Shell's index. `Shell.Root size` sets it; panes hand it to their chrome. */\nconst ShellSizeContext = React.createContext<PaneSize>('2');\n\n/**\n * Gives a Shell pane's children the Shell's index, so Sidebar parts size themselves. In a Rail\n * the rows are `thin`: icon tiles with a small label, sub-menus as dropdowns.\n */\nfunction PaneChromeScope({ children, presentation }: { children: React.ReactNode; presentation?: 'thin' }) {\n const size = React.useContext(ShellSizeContext);\n const value = React.useMemo<SidebarVisualContextValue>(() => ({ size, menuVariant: 'soft', presentation }), [size, presentation]);\n return <SidebarVisualContext.Provider value={value}>{children}</SidebarVisualContext.Provider>;\n}\n\nfunction useChromeClasses() {\n const visual = useSidebarVisual();\n // A pane with no scope (Inspector, Bottom) still takes the Shell's index.\n const shellSize = React.useContext(ShellSizeContext);\n const size = visual?.size ?? shellSize;\n const menuVariant = visual?.menuVariant ?? 'soft';\n return ['kui-ShellPaneChrome', `kui-r-size-${size}`, `kui-menu-variant-${menuVariant}`];\n}\n\ntype BandSize = '1' | '2' | '3' | '4';\n\n/**\n * The index a Toolbar in a pane's header or footer rests at when it states none: one step above\n * the Shell's, so the band reads as chrome over the rows (v2 BAND_STEP). 4 has no step above.\n */\nconst BAND_STEP = { '1': '2', '2': '3', '3': '4', '4': '4' } as const satisfies Record<BandSize, BandSize>;\n\n/** Set by `Shell.PaneHeader` and `Shell.PaneFooter`; read by Toolbar as its fallback size. Null elsewhere. */\nconst PaneBandSizeContext = React.createContext<BandSize | null>(null);\n\nfunction usePaneBandSize() {\n return React.useContext(PaneBandSizeContext);\n}\n\nfunction useBandSize(): BandSize {\n const visual = useSidebarVisual();\n const shellSize = React.useContext(ShellSizeContext);\n return BAND_STEP[visual?.size ?? shellSize];\n}\n\ninterface PaneHeaderProps extends React.ComponentPropsWithoutRef<'div'> {\n /**\n * Floats the row over the top of `Shell.Scroll`, so the list scrolls behind it. The list\n * starts below the row, and `Shell.Scroll fade` fades it out under the row. The row paints\n * nothing and lets clicks through between its controls; a `Toolbar backdrop` in it keeps\n * the controls readable.\n */\n float?: boolean;\n}\n\n/** A pane's header row, pinned above its scrolling region. */\nconst PaneHeader = React.forwardRef<HTMLDivElement, PaneHeaderProps>(({ className, float, children, ...props }, forwardedRef) => {\n const chrome = useChromeClasses();\n const band = useBandSize();\n return (\n <div\n {...props}\n ref={forwardedRef}\n data-float={float || undefined}\n className={classNames('kui-ShellPaneHeader', 'kui-SidebarHeader', 'kui-SidebarHeader--container', ...chrome, className)}\n >\n <PaneBandSizeContext.Provider value={band}>{children}</PaneBandSizeContext.Provider>\n </div>\n );\n});\nPaneHeader.displayName = 'Shell.PaneHeader';\n\ninterface PaneFooterProps extends React.ComponentPropsWithoutRef<'div'> {\n /** Floats the row over the bottom of `Shell.Scroll`, the way `Shell.PaneHeader float` does at the top. */\n float?: boolean;\n}\n\n/** A pane's footer row, pinned below its scrolling region. */\nconst PaneFooter = React.forwardRef<HTMLDivElement, PaneFooterProps>(({ className, float, children, ...props }, forwardedRef) => {\n const chrome = useChromeClasses();\n const band = useBandSize();\n return (\n <div\n {...props}\n ref={forwardedRef}\n data-float={float || undefined}\n className={classNames('kui-ShellPaneFooter', 'kui-SidebarFooter', 'kui-SidebarFooter--container', ...chrome, className)}\n >\n <PaneBandSizeContext.Provider value={band}>{children}</PaneBandSizeContext.Provider>\n </div>\n );\n});\nPaneFooter.displayName = 'Shell.PaneFooter';\n\ninterface ScrollProps extends React.ComponentPropsWithoutRef<'div'> {\n /** Fades the list out toward an edge with more past it, and under a floating header or footer. */\n fade?: boolean;\n}\n\n/**\n * The one region of a pane that scrolls; it takes the room the header and footer leave.\n * It is not a landmark: for navigation, pass `role=\"navigation\"` and an `aria-label`.\n */\nconst Scroll = React.forwardRef<HTMLDivElement, ScrollProps>(({ className, children, fade = false, ...props }, forwardedRef) => {\n const chrome = useChromeClasses();\n return (\n <ScrollArea type=\"hover\" fade={fade} className=\"kui-ShellScroll\">\n <div {...props} ref={forwardedRef} className={classNames('kui-BaseMenuContent', 'kui-SidebarContent', ...chrome, className)}>\n {/* A header's band does not reach a Toolbar in the scrolling list. */}\n <PaneBandSizeContext.Provider value={null}>\n <div className=\"kui-BaseMenuViewport\">{children}</div>\n </PaneBandSizeContext.Provider>\n </div>\n </ScrollArea>\n );\n});\nScroll.displayName = 'Shell.Scroll';\n\nexport { SidebarVisualContext, useSidebarVisual, ShellSizeContext, PaneChromeScope, PaneHeader, PaneFooter, Scroll, BAND_STEP, usePaneBandSize };\nexport type { SidebarVisualContextValue, PaneSize, BandSize, PaneHeaderProps, PaneFooterProps, ScrollProps };\n"],
|
|
5
|
+
"mappings": "wCAWA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aAcvB,IAAMC,EAA6B,gBAAgD,IAAI,EAEvF,SAASC,GAAmB,CAC1B,OAAa,aAAWD,CAAoB,CAC9C,CAGA,IAAME,EAAyB,gBAAwB,GAAG,EAM1D,SAASC,EAAgB,CAAE,SAAAC,EAAU,aAAAC,CAAa,EAAyD,CACzG,IAAMC,EAAa,aAAWJ,CAAgB,EACxCK,EAAc,UAAmC,KAAO,CAAE,KAAAD,EAAM,YAAa,OAAQ,aAAAD,CAAa,GAAI,CAACC,EAAMD,CAAY,CAAC,EAChI,OAAO,gBAACL,EAAqB,SAArB,CAA8B,MAAOO,GAAQH,CAAS,CAChE,CAEA,SAASI,GAAmB,CAC1B,IAAMC,EAASR,EAAiB,EAE1BS,EAAkB,aAAWR,CAAgB,EAC7CI,EAAOG,GAAQ,MAAQC,EACvBC,EAAcF,GAAQ,aAAe,OAC3C,MAAO,CAAC,sBAAuB,cAAcH,CAAI,GAAI,oBAAoBK,CAAW,EAAE,CACxF,CAQA,IAAMC,EAAY,CAAE,EAAK,IAAK,EAAK,IAAK,EAAK,IAAK,EAAK,GAAI,EAGrDC,EAA4B,gBAA+B,IAAI,EAErE,SAASC,GAAkB,CACzB,OAAa,aAAWD,CAAmB,CAC7C,CAEA,SAASE,GAAwB,CAC/B,IAAMN,EAASR,EAAiB,EAC1BS,EAAkB,aAAWR,CAAgB,EACnD,OAAOU,EAAUH,GAAQ,MAAQC,CAAS,CAC5C,CAaA,IAAMM,EAAmB,aAA4C,CAAC,CAAE,UAAAC,EAAW,MAAAC,EAAO,SAAAd,EAAU,GAAGe,CAAM,EAAGC,IAAiB,CAC/H,IAAMC,EAASb,EAAiB,EAC1Bc,EAAOP,EAAY,EACzB,OACE,gBAAC,OACE,GAAGI,EACJ,IAAKC,EACL,aAAYF,GAAS,OACrB,UAAWK,EAAW,sBAAuB,oBAAqB,+BAAgC,GAAGF,EAAQJ,CAAS,GAEtH,gBAACJ,EAAoB,SAApB,CAA6B,MAAOS,GAAOlB,CAAS,CACvD,CAEJ,CAAC,EACDY,EAAW,YAAc,mBAQzB,IAAMQ,EAAmB,aAA4C,CAAC,CAAE,UAAAP,EAAW,MAAAC,EAAO,SAAAd,EAAU,GAAGe,CAAM,EAAGC,IAAiB,CAC/H,IAAMC,EAASb,EAAiB,EAC1Bc,EAAOP,EAAY,EACzB,OACE,gBAAC,OACE,GAAGI,EACJ,IAAKC,EACL,aAAYF,GAAS,OACrB,UAAWK,EAAW,sBAAuB,oBAAqB,+BAAgC,GAAGF,EAAQJ,CAAS,GAEtH,gBAACJ,EAAoB,SAApB,CAA6B,MAAOS,GAAOlB,CAAS,CACvD,CAEJ,CAAC,EACDoB,EAAW,YAAc,mBAWzB,IAAMC,EAAe,aAAwC,CAAC,CAAE,UAAAR,EAAW,SAAAb,EAAU,KAAAsB,EAAO,GAAO,GAAGP,CAAM,EAAGC,IAAiB,CAC9H,IAAMC,EAASb,EAAiB,EAChC,OACE,gBAACmB,EAAA,CAAW,KAAK,QAAQ,KAAMD,EAAM,UAAU,mBAC7C,gBAAC,OAAK,GAAGP,EAAO,IAAKC,EAAc,UAAWG,EAAW,sBAAuB,qBAAsB,GAAGF,EAAQJ,CAAS,GAExH,gBAACJ,EAAoB,SAApB,CAA6B,MAAO,MACnC,gBAAC,OAAI,UAAU,wBAAwBT,CAAS,CAClD,CACF,CACF,CAEJ,CAAC,EACDqB,EAAO,YAAc",
|
|
6
|
+
"names": ["React", "classNames", "SidebarVisualContext", "useSidebarVisual", "ShellSizeContext", "PaneChromeScope", "children", "presentation", "size", "value", "useChromeClasses", "visual", "shellSize", "menuVariant", "BAND_STEP", "PaneBandSizeContext", "usePaneBandSize", "useBandSize", "PaneHeader", "className", "float", "props", "forwardedRef", "chrome", "band", "classNames", "PaneFooter", "Scroll", "fade", "ScrollArea"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a}from"./chunk-SUPFDIJL.js";import*as e from"react";function p({pressed:r,onPressedChange:n,getAccessibleName:o,componentName:d}){let t=a(),i=e.useRef(!1),c=e.useCallback(s=>{let u=o();t(`${u} ${s?"pressed":"unpressed"}`),n?.(s)},[t,n,o]);return e.useEffect(()=>{},[r,n,d]),{handlePressedChange:c}}export{p as a};
|
|
2
|
+
//# sourceMappingURL=chunk-BE7LMBBC.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as S,d as D}from"./chunk-3KQE2PSJ.js";import*as e from"react";import E from"classnames";import{useVirtualizer as F}from"@tanstack/react-virtual";var G=e.memo(function({label:a,isHighlighted:o,id:u,style:y,tabIndex:x,"data-highlighted":m,"data-index":p,onMouseEnter:f,onMouseLeave:v,onClick:h,onKeyDown:g}){return e.createElement("div",{id:u,role:"menuitem",className:E("kui-reset","kui-BaseMenuItem","kui-VirtualMenuItem"),style:y,tabIndex:x,"data-highlighted":m,"data-index":p,onMouseEnter:f,onMouseLeave:v,onClick:h,onKeyDown:g},a)},(n,a)=>!(n.label!==a.label||n["data-highlighted"]!==a["data-highlighted"]||n.style.height!==a.style.height||n.style.transform!==a.style.transform||n.tabIndex!==a.tabIndex||n.id!==a.id));function N({items:n,itemLabel:a,renderItem:o,size:u,estimatedItemSize:y,overscan:x=5,onSelect:m,className:p,style:f,"aria-label":v}){let h=e.useId(),g=e.useRef(null),[k,l]=e.useState(-1),{isInsideMenu:L,size:w,itemHeight:K}=D(),M=y??(u?S(u):K??S(w??"2"));if(!a&&!o)throw new Error("VirtualMenu requires either itemLabel or renderItem prop");let P=e.useMemo(()=>a?typeof a=="function"?a:t=>t[a]:null,[a]),c=e.useMemo(()=>n.length===0||k<0?-1:Math.min(k,n.length-1),[k,n.length]),$=e.useMemo(()=>typeof M=="function"?M:()=>M,[M]),I=F({count:n.length,getScrollElement:()=>g.current,estimateSize:$,overscan:x}),j=I.getVirtualItems(),R=e.useRef(n),b=e.useRef(m);R.current=n,b.current=m;let d=e.useRef(I.scrollToIndex);d.current=I.scrollToIndex;let T=e.useRef(c);T.current=c;let A=e.useCallback(t=>{let s=t.currentTarget.dataset.index;s!=null&&l(Number(s))},[]),B=e.useCallback(t=>{let s=t.currentTarget.dataset.index;if(s!=null){let r=Number(s),i=R.current;r>=0&&r<i.length&&b.current?.(i[r],r)}},[]),_=e.useCallback(()=>{},[]),q=e.useCallback(t=>{if(t.key==="Enter"||t.key===" "){t.preventDefault();let s=t.currentTarget.dataset.index;if(s!=null){let r=Number(s),i=R.current;r>=0&&r<i.length&&b.current?.(i[r],r)}}},[]),O=e.useCallback(t=>{let s=R.current,r=T.current;switch(t.key){case"ArrowDown":{t.preventDefault();let i=r<s.length-1?r+1:0;l(i),d.current(i,{align:"auto"});break}case"ArrowUp":{t.preventDefault();let i=r>0?r-1:s.length-1;l(i),d.current(i,{align:"auto"});break}case"Home":{t.preventDefault(),l(0),d.current(0,{align:"start"});break}case"End":{t.preventDefault();let i=s.length-1;l(i),d.current(i,{align:"end"});break}case"Enter":case" ":{t.preventDefault(),r>=0&&r<s.length&&b.current?.(s[r],r);break}case"Tab":{t.preventDefault();break}case"Escape":{t.currentTarget.blur();break}}},[]),H=e.useCallback(t=>`${h}-item-${t}`,[h]),U=e.useMemo(()=>({overflow:"auto",position:"relative",...f}),[f]),V=I.getTotalSize(),W=e.useMemo(()=>({height:`${V}px`,width:"100%",position:"relative"}),[V]);return e.createElement("div",{ref:g,role:L?"group":"menu","aria-label":v,"aria-activedescendant":c>=0?H(c):void 0,tabIndex:0,onKeyDown:O,className:E("kui-VirtualMenuRoot",p),style:U},e.createElement("div",{className:"kui-VirtualMenuViewport",style:W},j.map(t=>{let s=n[t.index],r=t.index,i=c===r,Y={height:t.size,transform:`translateY(${t.start}px)`},C={id:H(r),isHighlighted:i,style:Y,tabIndex:i?0:-1,"data-highlighted":i?!0:void 0,"data-index":r,onMouseEnter:A,onMouseLeave:_,onClick:B,onKeyDown:q};return o?e.createElement(o,{key:t.key,item:s,index:r,...C}):e.createElement(G,{key:t.key,label:P(s),...C})})))}N.displayName="VirtualMenu";var z=e.forwardRef(({className:n,children:a,...o},u)=>e.createElement("div",{ref:u,role:"menuitem",className:E("kui-reset","kui-BaseMenuItem","kui-VirtualMenuItem",n),...o},a));z.displayName="VirtualMenu.Item";var J=e.memo(z,(n,a)=>{let o=n.style,u=a.style;return!(o?.height!==u?.height||o?.transform!==u?.transform||n["data-highlighted"]!==a["data-highlighted"]||n.tabIndex!==a.tabIndex||n.id!==a.id||n.className!==a.className||n.children!==a.children)}),ee=Object.assign(N,{Item:J});export{ee as a};
|
|
2
|
+
//# sourceMappingURL=chunk-BEP4AH5V.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/virtual-menu.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useVirtualizer } from '@tanstack/react-virtual';\nimport { useMenuContext, getMenuItemHeight } from './_internal/menu-context.js';\n\nimport type { MenuSize } from './_internal/menu-context.js';\n\n/**\n * VirtualMenu - A virtualized menu component for rendering large lists efficiently.\n *\n * Uses TanStack Virtual to render only visible items.\n * Works inside any container (DropdownMenu.Content, Popover.Content, etc.)\n *\n * @example\n * // Simple usage with itemLabel\n * <VirtualMenu\n * items={items}\n * itemLabel={(item) => item.name}\n * onSelect={handleSelect}\n * />\n *\n * @example\n * // Custom rendering with renderItem\n * const UserItem = React.memo(({ item, ...props }) => (\n * <VirtualMenu.Item {...props}>\n * <Avatar src={item.avatar} />\n * {item.name}\n * </VirtualMenu.Item>\n * ));\n *\n * <VirtualMenu items={users} renderItem={UserItem} onSelect={handleSelect} />\n */\n\n// ============================================================================\n// Types\n// ============================================================================\n\n/** Props passed to custom renderItem components */\ninterface VirtualMenuRenderItemProps<T> {\n /** The item data */\n item: T;\n /** Index in the items array */\n index: number;\n /** Whether this item is currently highlighted */\n isHighlighted: boolean;\n /** Unique ID for accessibility */\n id: string;\n /** Positioning styles - must be applied */\n style: React.CSSProperties;\n /** Tab index for focus management */\n tabIndex: number;\n /** Data attribute for CSS styling */\n 'data-highlighted': true | undefined;\n /** Data attribute for event delegation */\n 'data-index': number;\n /** Mouse enter handler */\n onMouseEnter: (e: React.MouseEvent<HTMLElement>) => void;\n /** Mouse leave handler */\n onMouseLeave: () => void;\n /** Click handler */\n onClick: (e: React.MouseEvent<HTMLElement>) => void;\n /** Keyboard handler for Enter/Space activation */\n onKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ninterface VirtualMenuProps<T> {\n /** Array of items to render */\n items: T[];\n /**\n * Simple label accessor for basic text items.\n * Can be a property key or a function.\n * @example\n * itemLabel=\"name\"\n * itemLabel={(item) => item.name}\n */\n itemLabel?: keyof T | ((item: T) => React.ReactNode);\n /**\n * Custom component for rendering items.\n * Must be memoized (React.memo) for optimal performance.\n * @example\n * const MyItem = React.memo(({ item, ...props }) => (\n * <VirtualMenu.Item {...props}>{item.name}</VirtualMenu.Item>\n * ));\n * <VirtualMenu items={items} renderItem={MyItem} />\n */\n renderItem?: React.ComponentType<VirtualMenuRenderItemProps<T>>;\n /**\n * Menu size - controls item height.\n * Automatically inherited from parent DropdownMenu.Content/ContextMenu.Content.\n * Only set manually when using VirtualMenu outside of a menu context.\n * @default '2' (or inherited from context)\n */\n size?: MenuSize;\n /**\n * Estimated height of each item in pixels.\n * Can be a number (same for all) or a function (per-item).\n * Usually not needed - height is automatically derived from size prop/context.\n * Use this only for custom item heights (e.g., variable height items).\n */\n estimatedItemSize?: number | ((index: number) => number);\n /** Number of items to render outside visible area */\n overscan?: number;\n /** Callback when an item is selected */\n onSelect?: (item: T, index: number) => void;\n /** Additional class name */\n className?: string;\n /** Additional styles */\n style?: React.CSSProperties;\n /** Accessible label for the menu */\n 'aria-label'?: string;\n}\n\n// ============================================================================\n// Internal Memoized Item Component\n// ============================================================================\n\ninterface SimpleItemProps {\n label: React.ReactNode;\n isHighlighted: boolean;\n id: string;\n style: React.CSSProperties;\n tabIndex: number;\n 'data-highlighted': true | undefined;\n 'data-index': number;\n onMouseEnter: (e: React.MouseEvent<HTMLElement>) => void;\n onMouseLeave: () => void;\n onClick: (e: React.MouseEvent<HTMLElement>) => void;\n onKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;\n}\n\nconst SimpleItem = React.memo(\n function SimpleItem({\n label,\n isHighlighted: _isHighlighted,\n id,\n style,\n tabIndex,\n 'data-highlighted': dataHighlighted,\n 'data-index': dataIndex,\n onMouseEnter,\n onMouseLeave,\n onClick,\n onKeyDown,\n }: SimpleItemProps) {\n return (\n <div\n id={id}\n role=\"menuitem\"\n className={classNames('kui-reset', 'kui-BaseMenuItem', 'kui-VirtualMenuItem')}\n style={style}\n tabIndex={tabIndex}\n data-highlighted={dataHighlighted}\n data-index={dataIndex}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onClick={onClick}\n onKeyDown={onKeyDown}\n >\n {label}\n </div>\n );\n },\n (prev, next) => {\n // Custom comparison - only re-render if these change\n if (prev.label !== next.label) return false;\n if (prev['data-highlighted'] !== next['data-highlighted']) return false;\n if (prev.style.height !== next.style.height) return false;\n if (prev.style.transform !== next.style.transform) return false;\n if (prev.tabIndex !== next.tabIndex) return false;\n if (prev.id !== next.id) return false;\n // Event handlers are stable, skip comparison\n return true;\n },\n);\n\n// ============================================================================\n// VirtualMenu Component\n// ============================================================================\n\nfunction VirtualMenuRoot<T>({\n items,\n itemLabel,\n renderItem: RenderItem,\n size: sizeProp,\n estimatedItemSize: estimatedItemSizeProp,\n overscan = 5,\n onSelect,\n className,\n style,\n 'aria-label': ariaLabel,\n}: VirtualMenuProps<T>) {\n const menuId = React.useId();\n const parentRef = React.useRef<HTMLDivElement>(null);\n const [highlightedIndex, setHighlightedIndex] = React.useState<number>(-1);\n const { isInsideMenu, size: contextSize, itemHeight: contextItemHeight } = useMenuContext();\n\n // Resolve item height: explicit prop > own size > parent menu > default size '2'.\n // Heights follow the theme scaling, like the --base-menu-item-height token.\n const estimatedItemSize =\n estimatedItemSizeProp ??\n (sizeProp\n ? getMenuItemHeight(sizeProp)\n : (contextItemHeight ?? getMenuItemHeight(contextSize ?? '2')));\n\n // Validate props\n if (!itemLabel && !RenderItem) {\n throw new Error('VirtualMenu requires either itemLabel or renderItem prop');\n }\n\n // Normalize itemLabel to a function\n const getLabel = React.useMemo(() => {\n if (!itemLabel) return null;\n if (typeof itemLabel === 'function') return itemLabel;\n return (item: T) => item[itemLabel] as React.ReactNode;\n }, [itemLabel]);\n\n // Derive safe highlighted index\n const safeHighlightedIndex = React.useMemo(() => {\n if (items.length === 0) return -1;\n if (highlightedIndex < 0) return -1;\n return Math.min(highlightedIndex, items.length - 1);\n }, [highlightedIndex, items.length]);\n\n // Normalize estimatedItemSize to a function\n const getItemSize = React.useMemo(\n () =>\n typeof estimatedItemSize === 'function'\n ? estimatedItemSize\n : () => estimatedItemSize,\n [estimatedItemSize],\n );\n\n const virtualizer = useVirtualizer({\n count: items.length,\n getScrollElement: () => parentRef.current,\n estimateSize: getItemSize,\n overscan,\n });\n\n const virtualItems = virtualizer.getVirtualItems();\n\n // Refs for stable handler references\n const itemsRef = React.useRef(items);\n const onSelectRef = React.useRef(onSelect);\n itemsRef.current = items;\n onSelectRef.current = onSelect;\n\n const scrollToIndexRef = React.useRef(virtualizer.scrollToIndex);\n scrollToIndexRef.current = virtualizer.scrollToIndex;\n\n const highlightedIndexRef = React.useRef(safeHighlightedIndex);\n highlightedIndexRef.current = safeHighlightedIndex;\n\n // Stable event handlers\n const handleItemMouseEnter = React.useCallback((e: React.MouseEvent<HTMLElement>) => {\n const index = e.currentTarget.dataset.index;\n if (index != null) {\n setHighlightedIndex(Number(index));\n }\n }, []);\n\n const handleItemClick = React.useCallback((e: React.MouseEvent<HTMLElement>) => {\n const index = e.currentTarget.dataset.index;\n if (index != null) {\n const idx = Number(index);\n const currentItems = itemsRef.current;\n if (idx >= 0 && idx < currentItems.length) {\n onSelectRef.current?.(currentItems[idx], idx);\n }\n }\n }, []);\n\n const noop = React.useCallback(() => {}, []);\n\n // Item-level keyboard handler for Enter/Space activation (satisfies a11y lint rule)\n const handleItemKeyDown = React.useCallback((e: React.KeyboardEvent<HTMLElement>) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n const index = e.currentTarget.dataset.index;\n if (index != null) {\n const idx = Number(index);\n const currentItems = itemsRef.current;\n if (idx >= 0 && idx < currentItems.length) {\n onSelectRef.current?.(currentItems[idx], idx);\n }\n }\n }\n }, []);\n\n // Keyboard navigation\n const handleKeyDown = React.useCallback((e: React.KeyboardEvent) => {\n const currentItems = itemsRef.current;\n const currentHighlightedIndex = highlightedIndexRef.current;\n\n switch (e.key) {\n case 'ArrowDown': {\n e.preventDefault();\n const nextIndex =\n currentHighlightedIndex < currentItems.length - 1 ? currentHighlightedIndex + 1 : 0;\n setHighlightedIndex(nextIndex);\n scrollToIndexRef.current(nextIndex, { align: 'auto' });\n break;\n }\n case 'ArrowUp': {\n e.preventDefault();\n const prevIndex =\n currentHighlightedIndex > 0 ? currentHighlightedIndex - 1 : currentItems.length - 1;\n setHighlightedIndex(prevIndex);\n scrollToIndexRef.current(prevIndex, { align: 'auto' });\n break;\n }\n case 'Home': {\n e.preventDefault();\n setHighlightedIndex(0);\n scrollToIndexRef.current(0, { align: 'start' });\n break;\n }\n case 'End': {\n e.preventDefault();\n const lastIndex = currentItems.length - 1;\n setHighlightedIndex(lastIndex);\n scrollToIndexRef.current(lastIndex, { align: 'end' });\n break;\n }\n case 'Enter':\n case ' ': {\n e.preventDefault();\n if (currentHighlightedIndex >= 0 && currentHighlightedIndex < currentItems.length) {\n onSelectRef.current?.(currentItems[currentHighlightedIndex], currentHighlightedIndex);\n }\n break;\n }\n case 'Tab': {\n e.preventDefault();\n break;\n }\n case 'Escape': {\n (e.currentTarget as HTMLElement).blur();\n break;\n }\n }\n }, []);\n\n // Item ID generator\n const getItemId = React.useCallback(\n (index: number) => `${menuId}-item-${index}`,\n [menuId],\n );\n\n // Memoize styles\n const rootStyle = React.useMemo(\n () => ({\n overflow: 'auto' as const,\n position: 'relative' as const,\n ...style,\n }),\n [style],\n );\n\n const totalSize = virtualizer.getTotalSize();\n const viewportStyle = React.useMemo(\n () => ({\n height: `${totalSize}px`,\n width: '100%' as const,\n position: 'relative' as const,\n }),\n [totalSize],\n );\n\n return (\n <div\n ref={parentRef}\n role={isInsideMenu ? 'group' : 'menu'}\n aria-label={ariaLabel}\n aria-activedescendant={safeHighlightedIndex >= 0 ? getItemId(safeHighlightedIndex) : undefined}\n tabIndex={0}\n onKeyDown={handleKeyDown}\n className={classNames('kui-VirtualMenuRoot', className)}\n style={rootStyle}\n >\n <div className=\"kui-VirtualMenuViewport\" style={viewportStyle}>\n {virtualItems.map((virtualRow) => {\n const item = items[virtualRow.index];\n const index = virtualRow.index;\n const isHighlighted = safeHighlightedIndex === index;\n\n const itemStyle: React.CSSProperties = {\n height: virtualRow.size,\n transform: `translateY(${virtualRow.start}px)`,\n };\n\n const commonProps = {\n id: getItemId(index),\n isHighlighted,\n style: itemStyle,\n tabIndex: isHighlighted ? 0 : -1,\n 'data-highlighted': isHighlighted ? true as const : undefined,\n 'data-index': index,\n onMouseEnter: handleItemMouseEnter,\n onMouseLeave: noop,\n onClick: handleItemClick,\n onKeyDown: handleItemKeyDown,\n };\n\n // Use renderItem if provided, otherwise use SimpleItem with itemLabel\n if (RenderItem) {\n return (\n <RenderItem\n key={virtualRow.key}\n item={item}\n index={index}\n {...commonProps}\n />\n );\n }\n\n return (\n <SimpleItem\n key={virtualRow.key}\n label={getLabel!(item)}\n {...commonProps}\n />\n );\n })}\n </div>\n </div>\n );\n}\n\nVirtualMenuRoot.displayName = 'VirtualMenu';\n\n// ============================================================================\n// VirtualMenu.Item Component (for custom renderItem usage)\n// ============================================================================\n\ninterface VirtualMenuItemProps extends React.ComponentPropsWithoutRef<'div'> {\n children: React.ReactNode;\n /** Data attribute for highlight styling */\n 'data-highlighted'?: true | undefined;\n /** Data attribute for event delegation */\n 'data-index'?: number;\n}\n\nconst VirtualMenuItemInner = React.forwardRef<HTMLDivElement, VirtualMenuItemProps>(\n ({ className, children, ...props }, forwardedRef) => {\n return (\n <div\n ref={forwardedRef}\n role=\"menuitem\"\n className={classNames('kui-reset', 'kui-BaseMenuItem', 'kui-VirtualMenuItem', className)}\n {...props}\n >\n {children}\n </div>\n );\n },\n);\n\nVirtualMenuItemInner.displayName = 'VirtualMenu.Item';\n\n// Memoized with custom comparison\nconst VirtualMenuItem = React.memo(VirtualMenuItemInner, (prevProps, nextProps) => {\n const prevStyle = prevProps.style as React.CSSProperties | undefined;\n const nextStyle = nextProps.style as React.CSSProperties | undefined;\n if (prevStyle?.height !== nextStyle?.height) return false;\n if (prevStyle?.transform !== nextStyle?.transform) return false;\n if (prevProps['data-highlighted'] !== nextProps['data-highlighted']) return false;\n if (prevProps.tabIndex !== nextProps.tabIndex) return false;\n if (prevProps.id !== nextProps.id) return false;\n if (prevProps.className !== nextProps.className) return false;\n if (prevProps.children !== nextProps.children) return false;\n return true;\n});\n\n// ============================================================================\n// Exports\n// ============================================================================\n\nconst VirtualMenu = Object.assign(VirtualMenuRoot, {\n Item: VirtualMenuItem,\n});\n\nexport { VirtualMenu };\nexport type { VirtualMenuProps, VirtualMenuItemProps, VirtualMenuRenderItemProps };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "classNames", "useVirtualizer", "SimpleItem", "label", "_isHighlighted", "id", "style", "tabIndex", "dataHighlighted", "dataIndex", "onMouseEnter", "onMouseLeave", "onClick", "onKeyDown", "classNames", "prev", "next", "VirtualMenuRoot", "items", "itemLabel", "RenderItem", "sizeProp", "estimatedItemSizeProp", "overscan", "onSelect", "className", "ariaLabel", "menuId", "parentRef", "highlightedIndex", "setHighlightedIndex", "isInsideMenu", "contextSize", "contextItemHeight", "useMenuContext", "estimatedItemSize", "getMenuItemHeight", "getLabel", "item", "safeHighlightedIndex", "getItemSize", "virtualizer", "useVirtualizer", "virtualItems", "itemsRef", "onSelectRef", "scrollToIndexRef", "highlightedIndexRef", "handleItemMouseEnter", "e", "index", "handleItemClick", "idx", "currentItems", "noop", "handleItemKeyDown", "handleKeyDown", "currentHighlightedIndex", "nextIndex", "prevIndex", "lastIndex", "getItemId", "rootStyle", "totalSize", "viewportStyle", "virtualRow", "isHighlighted", "itemStyle", "commonProps", "VirtualMenuItemInner", "children", "props", "forwardedRef", "VirtualMenuItem", "prevProps", "nextProps", "prevStyle", "nextStyle", "VirtualMenu"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as e}from"./chunk-NZJGC6ZW.js";var s=["div","span"],o=["none","inline","inline-block","block","contents"],t={as:{type:"enum",values:s,default:"div"},...e,display:{type:"enum",className:"
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as e}from"./chunk-NZJGC6ZW.js";var s=["div","span"],o=["none","inline","inline-block","block","contents"],t={as:{type:"enum",values:s,default:"div"},...e,display:{type:"enum",className:"kui-r-display",values:o,responsive:!0}};export{t as a};
|
|
2
|
+
//# sourceMappingURL=chunk-BIITGC3Z.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/box.props.tsx"],
|
|
4
|
-
"sourcesContent": ["import { asChildPropDef } from '../props/as-child.prop.js';\n\nimport type { PropDef, GetPropDefTypes } from '../props/prop-def.js';\n\nconst as = ['div', 'span'] as const;\nconst displayValues = ['none', 'inline', 'inline-block', 'block', 'contents'] as const;\n\nconst boxPropDefs = {\n /**\n * Controls whether to render **div** or **span**\n *\n * @example\n * as=\"div\"\n * as=\"span\"\n */\n as: { type: 'enum', values: as, default: 'div' },\n ...asChildPropDef,\n /**\n * Sets the CSS **display** property.\n * Supports a subset of the corresponding CSS values and responsive objects.\n *\n * @example\n * display=\"inline-block\"\n * display={{ sm: 'none', lg: 'block' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/display\n */\n display: {\n type: 'enum',\n className: '
|
|
5
|
-
"mappings": "wCAIA,IAAMA,EAAK,CAAC,MAAO,MAAM,EACnBC,EAAgB,CAAC,OAAQ,SAAU,eAAgB,QAAS,UAAU,EAEtEC,EAAc,CAQlB,GAAI,CAAE,KAAM,OAAQ,OAAQF,EAAI,QAAS,KAAM,EAC/C,GAAGG,EAYH,QAAS,CACP,KAAM,OACN,UAAW,
|
|
4
|
+
"sourcesContent": ["import { asChildPropDef } from '../props/as-child.prop.js';\n\nimport type { PropDef, GetPropDefTypes } from '../props/prop-def.js';\n\nconst as = ['div', 'span'] as const;\nconst displayValues = ['none', 'inline', 'inline-block', 'block', 'contents'] as const;\n\nconst boxPropDefs = {\n /**\n * Controls whether to render **div** or **span**\n *\n * @example\n * as=\"div\"\n * as=\"span\"\n */\n as: { type: 'enum', values: as, default: 'div' },\n ...asChildPropDef,\n /**\n * Sets the CSS **display** property.\n * Supports a subset of the corresponding CSS values and responsive objects.\n *\n * @example\n * display=\"inline-block\"\n * display={{ sm: 'none', lg: 'block' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/display\n */\n display: {\n type: 'enum',\n className: 'kui-r-display',\n values: displayValues,\n responsive: true,\n },\n} satisfies {\n as: PropDef<(typeof as)[number]>;\n display: PropDef<(typeof displayValues)[number]>;\n};\n\n// Use all of the imported prop defs to ensure that JSDoc works\ntype BoxOwnProps = GetPropDefTypes<typeof boxPropDefs & typeof asChildPropDef>;\n\nexport { boxPropDefs };\nexport type { BoxOwnProps };\n"],
|
|
5
|
+
"mappings": "wCAIA,IAAMA,EAAK,CAAC,MAAO,MAAM,EACnBC,EAAgB,CAAC,OAAQ,SAAU,eAAgB,QAAS,UAAU,EAEtEC,EAAc,CAQlB,GAAI,CAAE,KAAM,OAAQ,OAAQF,EAAI,QAAS,KAAM,EAC/C,GAAGG,EAYH,QAAS,CACP,KAAM,OACN,UAAW,gBACX,OAAQF,EACR,WAAY,EACd,CACF",
|
|
6
6
|
"names": ["as", "displayValues", "boxPropDefs", "asChildPropDef"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as t}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as t}from"./chunk-KKMOGHIY.js";import{a as r}from"./chunk-7FTUTUMD.js";import{a as e}from"./chunk-YLDV2HKZ.js";import{b as s}from"./chunk-FWB47YCH.js";import{a as p}from"./chunk-ELAW7ZUG.js";import*as o from"react";import x from"classnames";var f=o.forwardRef((m,a)=>{let{className:l,asChild:n,as:i="div",...P}=p(m,t,r,e);return o.createElement(n?s:i,{...P,ref:a,className:x("kui-Flex",l)})});f.displayName="Flex";export{f as a};
|
|
2
|
+
//# sourceMappingURL=chunk-BJUCBOGU.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/flex.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\n\nimport { extractProps } from '../helpers/extract-props.js';\nimport { layoutPropDefs } from '../props/layout.props.js';\nimport { marginPropDefs } from '../props/margin.props.js';\nimport { Slot } from './slot.js';\nimport { flexPropDefs } from './flex.props.js';\n\nimport type { FlexOwnProps } from './flex.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { LayoutProps } from '../props/layout.props.js';\nimport type { MarginProps } from '../props/margin.props.js';\n\ntype FlexElement = React.ElementRef<'div'>;\ninterface CommonFlexProps extends MarginProps, LayoutProps, FlexOwnProps {}\ntype FlexDivProps = { as?: 'div' } & ComponentPropsWithout<'div', RemovedProps>;\ntype FlexSpanProps = { as: 'span' } & ComponentPropsWithout<'span', RemovedProps>;\ntype FlexProps = CommonFlexProps & (FlexSpanProps | FlexDivProps);\n\nconst Flex = React.forwardRef<FlexElement, FlexProps>((props, forwardedRef) => {\n const {\n className,\n asChild,\n as: Tag = 'div',\n ...flexProps\n } = extractProps(props, flexPropDefs, layoutPropDefs, marginPropDefs);\n const Comp = asChild ? Slot : Tag;\n return <Comp {...flexProps} ref={forwardedRef} className={classNames('
|
|
5
|
-
"mappings": "wMAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aAmBvB,IAAMC,EAAa,aAAmC,CAACC,EAAOC,IAAiB,CAC7E,GAAM,CACJ,UAAAC,EACA,QAAAC,EACA,GAAIC,EAAM,MACV,GAAGC,CACL,EAAIC,EAAaN,EAAOO,EAAcC,EAAgBC,CAAc,EAEpE,OAAO,gBADMN,EAAUO,EAAON,EACtB,CAAM,GAAGC,EAAW,IAAKJ,EAAc,UAAWU,EAAW,
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\n\nimport { extractProps } from '../helpers/extract-props.js';\nimport { layoutPropDefs } from '../props/layout.props.js';\nimport { marginPropDefs } from '../props/margin.props.js';\nimport { Slot } from './slot.js';\nimport { flexPropDefs } from './flex.props.js';\n\nimport type { FlexOwnProps } from './flex.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { LayoutProps } from '../props/layout.props.js';\nimport type { MarginProps } from '../props/margin.props.js';\n\ntype FlexElement = React.ElementRef<'div'>;\ninterface CommonFlexProps extends MarginProps, LayoutProps, FlexOwnProps {}\ntype FlexDivProps = { as?: 'div' } & ComponentPropsWithout<'div', RemovedProps>;\ntype FlexSpanProps = { as: 'span' } & ComponentPropsWithout<'span', RemovedProps>;\ntype FlexProps = CommonFlexProps & (FlexSpanProps | FlexDivProps);\n\nconst Flex = React.forwardRef<FlexElement, FlexProps>((props, forwardedRef) => {\n const {\n className,\n asChild,\n as: Tag = 'div',\n ...flexProps\n } = extractProps(props, flexPropDefs, layoutPropDefs, marginPropDefs);\n const Comp = asChild ? Slot : Tag;\n return <Comp {...flexProps} ref={forwardedRef} className={classNames('kui-Flex', className)} />;\n});\nFlex.displayName = 'Flex';\n\nexport { Flex };\nexport type { FlexProps };\n"],
|
|
5
|
+
"mappings": "wMAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aAmBvB,IAAMC,EAAa,aAAmC,CAACC,EAAOC,IAAiB,CAC7E,GAAM,CACJ,UAAAC,EACA,QAAAC,EACA,GAAIC,EAAM,MACV,GAAGC,CACL,EAAIC,EAAaN,EAAOO,EAAcC,EAAgBC,CAAc,EAEpE,OAAO,gBADMN,EAAUO,EAAON,EACtB,CAAM,GAAGC,EAAW,IAAKJ,EAAc,UAAWU,EAAW,WAAYT,CAAS,EAAG,CAC/F,CAAC,EACDH,EAAK,YAAc",
|
|
6
6
|
"names": ["React", "classNames", "Flex", "props", "forwardedRef", "className", "asChild", "Tag", "flexProps", "extractProps", "flexPropDefs", "layoutPropDefs", "marginPropDefs", "Slot", "classNames"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as s}from"./chunk-KRJTW535.js";import{a as e}from"./chunk-NZJGC6ZW.js";import{d as o}from"./chunk-CUNKWFKA.js";var a=["1","2","3","4"],t=["raised","solid","soft","surface","outline","ghost"],f={...e,size:{type:"enum",className:"kui-r-size",values:a,default:"2",responsive:!0},variant:{type:"enum",className:"kui-variant",values:t,default:"solid"},...o,...s,loading:{type:"boolean",className:"kui-loading",default:!1},fullWidth:{type:"boolean",className:"kui-full-width",default:!1}};export{f as a};
|
|
2
|
+
//# sourceMappingURL=chunk-BWLCTTTN.js.map
|