@womp/kookie-ui 0.15.1 → 0.17.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/codemods/space-0.17.py +71 -0
- package/components.css +2253 -3088
- package/dist/cjs/components/_internal/base-button.d.ts +0 -2
- 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.d.ts +0 -17
- package/dist/cjs/components/_internal/base-button.props.d.ts.map +1 -1
- package/dist/cjs/components/_internal/base-button.props.js +1 -1
- package/dist/cjs/components/_internal/base-button.props.js.map +3 -3
- package/dist/cjs/components/_internal/base-menu.props.d.ts +0 -10
- package/dist/cjs/components/_internal/base-menu.props.d.ts.map +1 -1
- package/dist/cjs/components/_internal/base-menu.props.js +1 -1
- package/dist/cjs/components/_internal/base-menu.props.js.map +3 -3
- package/dist/cjs/components/_internal/base-menu.utils.d.ts +3 -9
- package/dist/cjs/components/_internal/base-menu.utils.d.ts.map +1 -1
- package/dist/cjs/components/_internal/base-menu.utils.js +1 -1
- package/dist/cjs/components/_internal/base-menu.utils.js.map +3 -3
- package/dist/cjs/components/_internal/base-tab-list.props.d.ts +0 -5
- package/dist/cjs/components/_internal/base-tab-list.props.d.ts.map +1 -1
- package/dist/cjs/components/_internal/base-tab-list.props.js +1 -1
- package/dist/cjs/components/_internal/base-tab-list.props.js.map +3 -3
- package/dist/cjs/components/_internal/menu-context.d.ts +2 -3
- package/dist/cjs/components/_internal/menu-context.d.ts.map +1 -1
- package/dist/cjs/components/_internal/menu-context.js +1 -1
- package/dist/cjs/components/_internal/menu-context.js.map +4 -4
- package/dist/cjs/components/_internal/pane-chrome.d.ts +25 -2
- package/dist/cjs/components/_internal/pane-chrome.d.ts.map +1 -1
- package/dist/cjs/components/_internal/pane-chrome.js +1 -1
- package/dist/cjs/components/_internal/pane-chrome.js.map +3 -3
- package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
- package/dist/cjs/components/_internal/shell-sidebar.js.map +3 -3
- package/dist/cjs/components/accordion.d.ts.map +1 -1
- package/dist/cjs/components/accordion.js +1 -1
- package/dist/cjs/components/accordion.js.map +3 -3
- package/dist/cjs/components/accordion.props.d.ts +0 -7
- package/dist/cjs/components/accordion.props.d.ts.map +1 -1
- package/dist/cjs/components/accordion.props.js +1 -1
- package/dist/cjs/components/accordion.props.js.map +3 -3
- package/dist/cjs/components/alert-dialog.d.ts.map +1 -1
- package/dist/cjs/components/alert-dialog.js +1 -1
- package/dist/cjs/components/alert-dialog.js.map +3 -3
- package/dist/cjs/components/alert-dialog.props.d.ts +0 -5
- package/dist/cjs/components/alert-dialog.props.d.ts.map +1 -1
- package/dist/cjs/components/alert-dialog.props.js +1 -1
- package/dist/cjs/components/alert-dialog.props.js.map +3 -3
- package/dist/cjs/components/badge.js +1 -1
- package/dist/cjs/components/badge.js.map +3 -3
- package/dist/cjs/components/button.js +2 -2
- 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 +3 -3
- package/dist/cjs/components/card.d.ts.map +1 -1
- package/dist/cjs/components/card.js +1 -1
- package/dist/cjs/components/card.js.map +3 -3
- package/dist/cjs/components/card.props.d.ts +0 -5
- package/dist/cjs/components/card.props.d.ts.map +1 -1
- package/dist/cjs/components/card.props.js +1 -1
- package/dist/cjs/components/card.props.js.map +3 -3
- package/dist/cjs/components/chatbar.d.ts +0 -2
- package/dist/cjs/components/chatbar.d.ts.map +1 -1
- package/dist/cjs/components/chatbar.js +2 -2
- package/dist/cjs/components/chatbar.js.map +3 -3
- package/dist/cjs/components/checkbox-cards.d.ts.map +1 -1
- package/dist/cjs/components/checkbox-cards.js +1 -1
- package/dist/cjs/components/checkbox-cards.js.map +4 -4
- package/dist/cjs/components/checkbox-cards.props.d.ts +0 -5
- package/dist/cjs/components/checkbox-cards.props.d.ts.map +1 -1
- package/dist/cjs/components/checkbox-cards.props.js +1 -1
- package/dist/cjs/components/checkbox-cards.props.js.map +3 -3
- 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.d.ts +0 -9
- package/dist/cjs/components/combobox.props.d.ts.map +1 -1
- package/dist/cjs/components/combobox.props.js +1 -1
- package/dist/cjs/components/combobox.props.js.map +3 -3
- package/dist/cjs/components/context-menu.d.ts.map +1 -1
- package/dist/cjs/components/context-menu.js +1 -1
- package/dist/cjs/components/context-menu.js.map +4 -4
- package/dist/cjs/components/context-menu.props.js +1 -1
- package/dist/cjs/components/context-menu.props.js.map +3 -3
- package/dist/cjs/components/dialog.d.ts.map +1 -1
- package/dist/cjs/components/dialog.js +1 -1
- package/dist/cjs/components/dialog.js.map +3 -3
- package/dist/cjs/components/dialog.props.d.ts +0 -5
- package/dist/cjs/components/dialog.props.d.ts.map +1 -1
- package/dist/cjs/components/dialog.props.js +1 -1
- package/dist/cjs/components/dialog.props.js.map +3 -3
- package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
- package/dist/cjs/components/dropdown-menu.js +1 -1
- package/dist/cjs/components/dropdown-menu.js.map +4 -4
- package/dist/cjs/components/dropdown-menu.props.js +1 -1
- package/dist/cjs/components/dropdown-menu.props.js.map +3 -3
- package/dist/cjs/components/hover-card.js +1 -1
- package/dist/cjs/components/hover-card.js.map +3 -3
- package/dist/cjs/components/icon-button.js +2 -2
- package/dist/cjs/components/icon-button.js.map +3 -3
- package/dist/cjs/components/icon-button.props.js +1 -1
- package/dist/cjs/components/icon-button.props.js.map +3 -3
- package/dist/cjs/components/index.js +5 -5
- package/dist/cjs/components/index.js.map +4 -4
- package/dist/cjs/components/message-scroller.js +2 -2
- package/dist/cjs/components/message-scroller.js.map +3 -3
- package/dist/cjs/components/notice.d.ts +0 -2
- package/dist/cjs/components/notice.d.ts.map +1 -1
- package/dist/cjs/components/notice.js +2 -2
- package/dist/cjs/components/notice.js.map +3 -3
- package/dist/cjs/components/popover.d.ts.map +1 -1
- package/dist/cjs/components/popover.js +1 -1
- package/dist/cjs/components/popover.js.map +3 -3
- package/dist/cjs/components/popover.props.d.ts +0 -5
- package/dist/cjs/components/popover.props.d.ts.map +1 -1
- package/dist/cjs/components/popover.props.js +1 -1
- package/dist/cjs/components/popover.props.js.map +3 -3
- package/dist/cjs/components/radio-cards.d.ts.map +1 -1
- package/dist/cjs/components/radio-cards.js +1 -1
- package/dist/cjs/components/radio-cards.js.map +4 -4
- package/dist/cjs/components/radio-cards.props.d.ts +0 -5
- package/dist/cjs/components/radio-cards.props.d.ts.map +1 -1
- package/dist/cjs/components/radio-cards.props.js +1 -1
- package/dist/cjs/components/radio-cards.props.js.map +3 -3
- package/dist/cjs/components/schemas/base-button.schema.d.ts +0 -4
- package/dist/cjs/components/schemas/base-button.schema.d.ts.map +1 -1
- package/dist/cjs/components/schemas/base-button.schema.js +1 -1
- package/dist/cjs/components/schemas/base-button.schema.js.map +2 -2
- package/dist/cjs/components/schemas/button.schema.d.ts +0 -4
- 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 +2 -2
- package/dist/cjs/components/schemas/icon-button.schema.d.ts +0 -4
- package/dist/cjs/components/schemas/icon-button.schema.d.ts.map +1 -1
- package/dist/cjs/components/schemas/icon-button.schema.js +1 -1
- package/dist/cjs/components/schemas/icon-button.schema.js.map +2 -2
- package/dist/cjs/components/schemas/index.js +1 -1
- package/dist/cjs/components/schemas/index.js.map +2 -2
- package/dist/cjs/components/schemas/toggle-button.schema.d.ts +0 -4
- package/dist/cjs/components/schemas/toggle-button.schema.d.ts.map +1 -1
- package/dist/cjs/components/schemas/toggle-button.schema.js +1 -1
- package/dist/cjs/components/schemas/toggle-button.schema.js.map +2 -2
- package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts +0 -4
- package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts.map +1 -1
- package/dist/cjs/components/schemas/toggle-icon-button.schema.js +1 -1
- package/dist/cjs/components/schemas/toggle-icon-button.schema.js.map +2 -2
- package/dist/cjs/components/segmented-control.d.ts.map +1 -1
- package/dist/cjs/components/segmented-control.js +1 -1
- package/dist/cjs/components/segmented-control.js.map +3 -3
- package/dist/cjs/components/segmented-control.props.d.ts +0 -4
- package/dist/cjs/components/segmented-control.props.d.ts.map +1 -1
- 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.d.ts +0 -4
- package/dist/cjs/components/select.props.d.ts.map +1 -1
- package/dist/cjs/components/select.props.js +1 -1
- package/dist/cjs/components/select.props.js.map +2 -2
- package/dist/cjs/components/sheet.d.ts +0 -1
- package/dist/cjs/components/sheet.d.ts.map +1 -1
- package/dist/cjs/components/sheet.js +1 -1
- package/dist/cjs/components/sheet.js.map +3 -3
- package/dist/cjs/components/shell.js +1 -1
- package/dist/cjs/components/shell.js.map +3 -3
- package/dist/cjs/components/sidebar.js +1 -1
- package/dist/cjs/components/sidebar.js.map +4 -4
- package/dist/cjs/components/switch.js.map +2 -2
- package/dist/cjs/components/switch.props.d.ts.map +1 -1
- package/dist/cjs/components/switch.props.js.map +2 -2
- package/dist/cjs/components/tab-nav.d.ts.map +1 -1
- package/dist/cjs/components/tab-nav.js +1 -1
- package/dist/cjs/components/tab-nav.js.map +3 -3
- package/dist/cjs/components/tab-nav.props.js +1 -1
- package/dist/cjs/components/tab-nav.props.js.map +3 -3
- package/dist/cjs/components/tabs.d.ts.map +1 -1
- package/dist/cjs/components/tabs.js +1 -1
- package/dist/cjs/components/tabs.js.map +3 -3
- package/dist/cjs/components/tabs.props.js +1 -1
- package/dist/cjs/components/tabs.props.js.map +3 -3
- package/dist/cjs/components/text-area.d.ts.map +1 -1
- package/dist/cjs/components/text-area.js +1 -1
- package/dist/cjs/components/text-area.js.map +3 -3
- package/dist/cjs/components/text-area.props.d.ts +0 -5
- package/dist/cjs/components/text-area.props.d.ts.map +1 -1
- package/dist/cjs/components/text-area.props.js +1 -1
- package/dist/cjs/components/text-area.props.js.map +3 -3
- package/dist/cjs/components/text-field.d.ts.map +1 -1
- package/dist/cjs/components/text-field.js +2 -2
- package/dist/cjs/components/text-field.js.map +3 -3
- package/dist/cjs/components/text-field.props.d.ts +0 -5
- package/dist/cjs/components/text-field.props.d.ts.map +1 -1
- package/dist/cjs/components/text-field.props.js +1 -1
- package/dist/cjs/components/text-field.props.js.map +3 -3
- package/dist/cjs/components/theme-panel.d.ts.map +1 -1
- package/dist/cjs/components/theme-panel.js +3 -3
- package/dist/cjs/components/theme-panel.js.map +4 -4
- package/dist/cjs/components/theme.d.ts +0 -6
- package/dist/cjs/components/theme.d.ts.map +1 -1
- package/dist/cjs/components/theme.js +1 -1
- package/dist/cjs/components/theme.js.map +3 -3
- package/dist/cjs/components/theme.props.d.ts +0 -19
- package/dist/cjs/components/theme.props.d.ts.map +1 -1
- package/dist/cjs/components/theme.props.js +1 -1
- package/dist/cjs/components/theme.props.js.map +3 -3
- package/dist/cjs/components/toggle-button.js +3 -3
- package/dist/cjs/components/toggle-button.js.map +3 -3
- package/dist/cjs/components/toggle-icon-button.js +3 -3
- package/dist/cjs/components/toggle-icon-button.js.map +3 -3
- package/dist/cjs/components/toolbar.d.ts +8 -2
- package/dist/cjs/components/toolbar.d.ts.map +1 -1
- package/dist/cjs/components/toolbar.js +2 -2
- package/dist/cjs/components/toolbar.js.map +4 -4
- package/dist/cjs/components/toolbar.props.d.ts +2 -1
- package/dist/cjs/components/toolbar.props.d.ts.map +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 +3 -3
- package/dist/cjs/components/virtual-menu.d.ts.map +1 -1
- package/dist/cjs/components/virtual-menu.js +1 -1
- package/dist/cjs/components/virtual-menu.js.map +4 -4
- package/dist/cjs/index.js +7 -7
- package/dist/cjs/index.js.map +4 -4
- package/dist/cjs/props/index.js +1 -1
- package/dist/cjs/props/index.js.map +3 -3
- package/dist/esm/chunk-2CNQGDY3.js +2 -0
- package/dist/esm/{chunk-MNC2O6QW.js.map → chunk-2CNQGDY3.js.map} +3 -3
- package/dist/esm/chunk-2HUAVZZL.js +2 -0
- package/dist/esm/chunk-2HUAVZZL.js.map +7 -0
- package/dist/esm/chunk-2O3WL25H.js +2 -0
- package/dist/esm/chunk-2O3WL25H.js.map +7 -0
- package/dist/esm/{chunk-MD3QCXRD.js → chunk-4STOJSJZ.js} +2 -2
- package/dist/esm/{chunk-R4CN4Q3G.js → chunk-534LGOWC.js} +2 -2
- package/dist/esm/chunk-5LGWS5QS.js +2 -0
- package/dist/esm/chunk-5LGWS5QS.js.map +7 -0
- package/dist/esm/{chunk-7UW7D77E.js → chunk-5UU2IMGX.js} +2 -2
- package/dist/esm/chunk-655TAWHX.js +2 -0
- package/dist/esm/chunk-655TAWHX.js.map +7 -0
- package/dist/esm/{chunk-MQT3YJKY.js → chunk-6HRBG5H2.js} +2 -2
- package/dist/esm/chunk-6VPYP3VN.js +2 -0
- package/dist/esm/chunk-6VPYP3VN.js.map +7 -0
- package/dist/esm/{chunk-PTEAQFHI.js → chunk-6WFEMPCF.js} +2 -2
- package/dist/esm/chunk-6XHM724Y.js +2 -0
- package/dist/esm/chunk-6XHM724Y.js.map +7 -0
- package/dist/esm/chunk-6YWJUNMB.js +2 -0
- package/dist/esm/chunk-6YWJUNMB.js.map +7 -0
- package/dist/esm/chunk-AHOUZS3V.js +2 -0
- package/dist/esm/chunk-AHOUZS3V.js.map +7 -0
- package/dist/esm/chunk-B6RH4CTY.js +2 -0
- package/dist/esm/chunk-B6RH4CTY.js.map +7 -0
- package/dist/esm/chunk-BOLRYGFQ.js +2 -0
- package/dist/esm/chunk-BOLRYGFQ.js.map +7 -0
- package/dist/esm/chunk-BUEYZEAY.js +2 -0
- package/dist/esm/chunk-BUEYZEAY.js.map +7 -0
- package/dist/esm/chunk-CC4GNSKL.js +2 -0
- package/dist/esm/chunk-CC4GNSKL.js.map +7 -0
- package/dist/esm/chunk-CG54MBMW.js +2 -0
- package/dist/esm/chunk-CG54MBMW.js.map +7 -0
- package/dist/esm/{chunk-2PO6TZ7L.js → chunk-COSHAOEK.js} +2 -2
- package/dist/esm/{chunk-F2XQYWBE.js → chunk-CRYT55SY.js} +2 -2
- package/dist/esm/chunk-DKALDTCN.js +2 -0
- package/dist/esm/chunk-DKALDTCN.js.map +7 -0
- package/dist/esm/{chunk-ELZEAEN2.js → chunk-DP3OWU5T.js} +2 -2
- package/dist/esm/{chunk-UI2EFF6F.js → chunk-E3754NJZ.js} +2 -2
- package/dist/esm/chunk-EJOVE3JH.js +2 -0
- package/dist/esm/chunk-EJOVE3JH.js.map +7 -0
- package/dist/esm/chunk-ENPQJYXZ.js +2 -0
- package/dist/esm/chunk-ENPQJYXZ.js.map +7 -0
- package/dist/esm/chunk-EO7WQYFO.js +2 -0
- package/dist/esm/chunk-EO7WQYFO.js.map +7 -0
- package/dist/esm/chunk-EUSKAXHP.js +2 -0
- package/dist/esm/chunk-EUSKAXHP.js.map +7 -0
- package/dist/esm/chunk-FPDLBLO3.js +2 -0
- package/dist/esm/chunk-FPDLBLO3.js.map +7 -0
- package/dist/esm/{chunk-6ERCPRXX.js → chunk-FSKZAL5H.js} +2 -2
- package/dist/esm/chunk-GOYI2U6F.js +2 -0
- package/dist/esm/chunk-GOYI2U6F.js.map +7 -0
- package/dist/esm/chunk-HSFQO4QM.js +2 -0
- package/dist/esm/chunk-HSFQO4QM.js.map +7 -0
- package/dist/esm/chunk-IF4PYIUV.js +2 -0
- package/dist/esm/chunk-IF4PYIUV.js.map +7 -0
- package/dist/esm/chunk-IGBEDJBC.js +2 -0
- package/dist/esm/chunk-IGBEDJBC.js.map +7 -0
- package/dist/esm/chunk-JCOALADA.js +5 -0
- package/dist/esm/chunk-JCOALADA.js.map +7 -0
- package/dist/esm/{chunk-ZUOK3KFY.js → chunk-K7VO7TND.js} +1 -1
- package/dist/esm/{chunk-ZUOK3KFY.js.map → chunk-K7VO7TND.js.map} +2 -2
- package/dist/esm/{chunk-DIGT74P3.js → chunk-KPACVWV4.js} +1 -1
- package/dist/esm/{chunk-DIGT74P3.js.map → chunk-KPACVWV4.js.map} +2 -2
- package/dist/esm/chunk-KU3LLWFU.js +2 -0
- package/dist/esm/{chunk-UPCRXJB2.js.map → chunk-KU3LLWFU.js.map} +2 -2
- package/dist/esm/chunk-M55KFXYV.js +2 -0
- package/dist/esm/chunk-M55KFXYV.js.map +7 -0
- package/dist/esm/chunk-MAI7FEU7.js +2 -0
- package/dist/esm/chunk-MAI7FEU7.js.map +7 -0
- package/dist/esm/chunk-MDHXSEGH.js +2 -0
- package/dist/esm/chunk-MDHXSEGH.js.map +7 -0
- package/dist/esm/{chunk-YKGLZEXX.js → chunk-MJC4NKYG.js} +2 -2
- package/dist/esm/chunk-MOYLXCMW.js +2 -0
- package/dist/esm/chunk-MOYLXCMW.js.map +7 -0
- package/dist/esm/{chunk-Y4IB7KDZ.js → chunk-MZQDDG5K.js} +2 -2
- package/dist/esm/chunk-NCDOMH5I.js +2 -0
- package/dist/esm/chunk-NCDOMH5I.js.map +7 -0
- package/dist/esm/{chunk-CMQMCGGC.js → chunk-NOSR2XWD.js} +2 -2
- package/dist/esm/chunk-OMUUPPJO.js +2 -0
- package/dist/esm/chunk-OMUUPPJO.js.map +7 -0
- package/dist/esm/{chunk-SEKZGBK3.js → chunk-ORMCQAPS.js} +2 -2
- package/dist/esm/chunk-PNIVUG5D.js +2 -0
- package/dist/esm/chunk-PNIVUG5D.js.map +7 -0
- package/dist/esm/chunk-PYYI64XK.js +2 -0
- package/dist/esm/chunk-PYYI64XK.js.map +7 -0
- package/dist/esm/chunk-Q7S5LQBQ.js +2 -0
- package/dist/esm/chunk-Q7S5LQBQ.js.map +7 -0
- package/dist/esm/chunk-QOPRXQGR.js +2 -0
- package/dist/esm/chunk-QOPRXQGR.js.map +7 -0
- package/dist/esm/{chunk-MLJLEOZ5.js → chunk-R2FUNQTI.js} +2 -2
- package/dist/esm/{chunk-MLJLEOZ5.js.map → chunk-R2FUNQTI.js.map} +2 -2
- package/dist/esm/chunk-RFURPE7W.js +10 -0
- package/dist/esm/chunk-RFURPE7W.js.map +7 -0
- package/dist/esm/chunk-RJ6SA7AY.js +2 -0
- package/dist/esm/chunk-RJ6SA7AY.js.map +7 -0
- package/dist/esm/chunk-RSJSVJ6A.js +2 -0
- package/dist/esm/chunk-RSJSVJ6A.js.map +7 -0
- package/dist/esm/chunk-SM27AC7E.js +2 -0
- package/dist/esm/chunk-SM27AC7E.js.map +7 -0
- package/dist/esm/chunk-WKMJIWFP.js +2 -0
- package/dist/esm/chunk-WKMJIWFP.js.map +7 -0
- package/dist/esm/{chunk-5RHODJDJ.js → chunk-X5KCVLKG.js} +2 -2
- package/dist/esm/chunk-YDRFILTX.js +2 -0
- package/dist/esm/chunk-YDRFILTX.js.map +7 -0
- package/dist/esm/chunk-YGPUKJEB.js +2 -0
- package/dist/esm/chunk-YGPUKJEB.js.map +7 -0
- package/dist/esm/{chunk-MGXXNEMQ.js → chunk-YZABQ4LS.js} +2 -2
- package/dist/esm/components/_internal/base-button.d.ts +0 -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.d.ts +0 -17
- package/dist/esm/components/_internal/base-button.props.d.ts.map +1 -1
- package/dist/esm/components/_internal/base-button.props.js +1 -1
- package/dist/esm/components/_internal/base-menu.props.d.ts +0 -10
- package/dist/esm/components/_internal/base-menu.props.d.ts.map +1 -1
- package/dist/esm/components/_internal/base-menu.props.js +1 -1
- package/dist/esm/components/_internal/base-menu.utils.d.ts +3 -9
- package/dist/esm/components/_internal/base-menu.utils.d.ts.map +1 -1
- package/dist/esm/components/_internal/base-menu.utils.js +1 -1
- package/dist/esm/components/_internal/base-tab-list.props.d.ts +0 -5
- package/dist/esm/components/_internal/base-tab-list.props.d.ts.map +1 -1
- package/dist/esm/components/_internal/base-tab-list.props.js +1 -1
- package/dist/esm/components/_internal/menu-context.d.ts +2 -3
- package/dist/esm/components/_internal/menu-context.d.ts.map +1 -1
- package/dist/esm/components/_internal/menu-context.js +1 -1
- package/dist/esm/components/_internal/pane-chrome.d.ts +25 -2
- package/dist/esm/components/_internal/pane-chrome.d.ts.map +1 -1
- package/dist/esm/components/_internal/pane-chrome.js +1 -1
- package/dist/esm/components/_internal/shell-sidebar.js +1 -1
- package/dist/esm/components/accordion.d.ts.map +1 -1
- package/dist/esm/components/accordion.js +1 -1
- package/dist/esm/components/accordion.props.d.ts +0 -7
- package/dist/esm/components/accordion.props.d.ts.map +1 -1
- package/dist/esm/components/accordion.props.js +1 -1
- package/dist/esm/components/alert-dialog.d.ts.map +1 -1
- package/dist/esm/components/alert-dialog.js +1 -1
- package/dist/esm/components/alert-dialog.props.d.ts +0 -5
- package/dist/esm/components/alert-dialog.props.d.ts.map +1 -1
- package/dist/esm/components/alert-dialog.props.js +1 -1
- package/dist/esm/components/badge.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.d.ts.map +1 -1
- package/dist/esm/components/card.js +1 -1
- package/dist/esm/components/card.props.d.ts +0 -5
- package/dist/esm/components/card.props.d.ts.map +1 -1
- package/dist/esm/components/card.props.js +1 -1
- package/dist/esm/components/chatbar.d.ts +0 -2
- package/dist/esm/components/chatbar.d.ts.map +1 -1
- package/dist/esm/components/chatbar.js +1 -1
- package/dist/esm/components/checkbox-cards.d.ts.map +1 -1
- package/dist/esm/components/checkbox-cards.js +1 -1
- package/dist/esm/components/checkbox-cards.props.d.ts +0 -5
- package/dist/esm/components/checkbox-cards.props.d.ts.map +1 -1
- package/dist/esm/components/checkbox-cards.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.d.ts +0 -9
- package/dist/esm/components/combobox.props.d.ts.map +1 -1
- package/dist/esm/components/combobox.props.js +1 -1
- package/dist/esm/components/context-menu.d.ts.map +1 -1
- package/dist/esm/components/context-menu.js +1 -1
- package/dist/esm/components/context-menu.props.js +1 -1
- package/dist/esm/components/dialog.d.ts.map +1 -1
- package/dist/esm/components/dialog.js +1 -1
- package/dist/esm/components/dialog.props.d.ts +0 -5
- package/dist/esm/components/dialog.props.d.ts.map +1 -1
- package/dist/esm/components/dialog.props.js +1 -1
- package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
- package/dist/esm/components/dropdown-menu.js +1 -1
- package/dist/esm/components/dropdown-menu.props.js +1 -1
- package/dist/esm/components/hover-card.js +1 -1
- package/dist/esm/components/icon-button.js +1 -1
- package/dist/esm/components/icon-button.props.js +1 -1
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/message-scroller.js +1 -1
- package/dist/esm/components/notice.d.ts +0 -2
- package/dist/esm/components/notice.d.ts.map +1 -1
- package/dist/esm/components/notice.js +1 -1
- package/dist/esm/components/popover.d.ts.map +1 -1
- package/dist/esm/components/popover.js +1 -1
- package/dist/esm/components/popover.props.d.ts +0 -5
- package/dist/esm/components/popover.props.d.ts.map +1 -1
- package/dist/esm/components/popover.props.js +1 -1
- package/dist/esm/components/radio-cards.d.ts.map +1 -1
- package/dist/esm/components/radio-cards.js +1 -1
- package/dist/esm/components/radio-cards.props.d.ts +0 -5
- package/dist/esm/components/radio-cards.props.d.ts.map +1 -1
- package/dist/esm/components/radio-cards.props.js +1 -1
- package/dist/esm/components/schemas/base-button.schema.d.ts +0 -4
- package/dist/esm/components/schemas/base-button.schema.d.ts.map +1 -1
- package/dist/esm/components/schemas/base-button.schema.js +1 -1
- package/dist/esm/components/schemas/button.schema.d.ts +0 -4
- 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/icon-button.schema.d.ts +0 -4
- package/dist/esm/components/schemas/icon-button.schema.d.ts.map +1 -1
- package/dist/esm/components/schemas/icon-button.schema.js +1 -1
- package/dist/esm/components/schemas/index.js +1 -1
- package/dist/esm/components/schemas/toggle-button.schema.d.ts +0 -4
- package/dist/esm/components/schemas/toggle-button.schema.d.ts.map +1 -1
- package/dist/esm/components/schemas/toggle-button.schema.js +1 -1
- package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts +0 -4
- package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts.map +1 -1
- package/dist/esm/components/schemas/toggle-icon-button.schema.js +1 -1
- package/dist/esm/components/segmented-control.d.ts.map +1 -1
- package/dist/esm/components/segmented-control.js +1 -1
- package/dist/esm/components/segmented-control.props.d.ts +0 -4
- package/dist/esm/components/segmented-control.props.d.ts.map +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.d.ts +0 -4
- package/dist/esm/components/select.props.d.ts.map +1 -1
- package/dist/esm/components/select.props.js +1 -1
- package/dist/esm/components/sheet.d.ts +0 -1
- package/dist/esm/components/sheet.d.ts.map +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/switch.js +1 -1
- package/dist/esm/components/switch.props.d.ts.map +1 -1
- package/dist/esm/components/switch.props.js +1 -1
- package/dist/esm/components/tab-nav.d.ts.map +1 -1
- package/dist/esm/components/tab-nav.js +1 -1
- package/dist/esm/components/tab-nav.props.js +1 -1
- package/dist/esm/components/tabs.d.ts.map +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.d.ts.map +1 -1
- package/dist/esm/components/text-area.js +1 -1
- package/dist/esm/components/text-area.props.d.ts +0 -5
- package/dist/esm/components/text-area.props.d.ts.map +1 -1
- package/dist/esm/components/text-area.props.js +1 -1
- package/dist/esm/components/text-field.d.ts.map +1 -1
- package/dist/esm/components/text-field.js +1 -1
- package/dist/esm/components/text-field.props.d.ts +0 -5
- package/dist/esm/components/text-field.props.d.ts.map +1 -1
- package/dist/esm/components/text-field.props.js +1 -1
- package/dist/esm/components/theme-panel.d.ts.map +1 -1
- package/dist/esm/components/theme-panel.js +1 -1
- package/dist/esm/components/theme.d.ts +0 -6
- package/dist/esm/components/theme.d.ts.map +1 -1
- package/dist/esm/components/theme.js +1 -1
- package/dist/esm/components/theme.props.d.ts +0 -19
- package/dist/esm/components/theme.props.d.ts.map +1 -1
- package/dist/esm/components/theme.props.js +1 -1
- package/dist/esm/components/toggle-button.js +1 -1
- package/dist/esm/components/toggle-icon-button.js +1 -1
- package/dist/esm/components/toolbar.d.ts +8 -2
- package/dist/esm/components/toolbar.d.ts.map +1 -1
- package/dist/esm/components/toolbar.js +1 -1
- package/dist/esm/components/toolbar.props.d.ts +2 -1
- package/dist/esm/components/toolbar.props.d.ts.map +1 -1
- package/dist/esm/components/toolbar.props.js +1 -1
- package/dist/esm/components/tooltip.js +1 -1
- package/dist/esm/components/virtual-menu.d.ts.map +1 -1
- package/dist/esm/components/virtual-menu.js +1 -1
- package/dist/esm/helpers/index.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/props/index.js +1 -1
- package/layout/components.css +48 -48
- package/layout/tokens.css +65 -31
- package/layout.css +113 -79
- package/package.json +2 -1
- package/schemas/base-button.json +0 -8
- package/schemas/button.json +0 -8
- package/schemas/icon-button.json +0 -8
- package/schemas/index.json +0 -40
- package/schemas/toggle-button.json +0 -8
- package/schemas/toggle-icon-button.json +0 -8
- package/src/components/_internal/base-button.css +19 -100
- package/src/components/_internal/base-button.props.ts +0 -26
- package/src/components/_internal/base-button.tsx +0 -6
- package/src/components/_internal/base-card.css +32 -194
- package/src/components/_internal/base-checkbox.css +16 -53
- package/src/components/_internal/base-dialog.css +13 -45
- package/src/components/_internal/base-menu.css +24 -57
- package/src/components/_internal/base-menu.props.ts +0 -8
- package/src/components/_internal/base-menu.utils.tsx +4 -15
- package/src/components/_internal/base-radio.css +14 -51
- package/src/components/_internal/base-sidebar-menu.css +21 -19
- package/src/components/_internal/base-sidebar.css +2 -3
- package/src/components/_internal/base-tab-list.css +14 -61
- package/src/components/_internal/base-tab-list.props.ts +0 -3
- package/src/components/_internal/menu-context.tsx +6 -10
- package/src/components/_internal/pane-chrome.tsx +73 -13
- package/src/components/accordion.css +17 -263
- package/src/components/accordion.props.tsx +0 -4
- package/src/components/accordion.tsx +1 -4
- package/src/components/alert-dialog.props.tsx +0 -4
- package/src/components/alert-dialog.tsx +1 -14
- package/src/components/avatar.css +19 -57
- package/src/components/badge.css +28 -41
- package/src/components/blockquote.css +2 -2
- package/src/components/button.css +13 -13
- package/src/components/card.props.tsx +0 -3
- package/src/components/card.tsx +1 -3
- package/src/components/chatbar.css +44 -124
- package/src/components/chatbar.tsx +1 -7
- package/src/components/checkbox-cards.css +11 -11
- package/src/components/checkbox-cards.props.tsx +0 -3
- package/src/components/checkbox-cards.tsx +0 -5
- package/src/components/checkbox-group.css +1 -1
- package/src/components/combobox.css +4 -9
- package/src/components/combobox.props.tsx +0 -5
- package/src/components/combobox.tsx +1 -11
- package/src/components/context-menu.tsx +6 -19
- package/src/components/data-list.css +4 -4
- package/src/components/dialog.css +0 -12
- package/src/components/dialog.props.tsx +0 -3
- package/src/components/dialog.tsx +1 -14
- package/src/components/dropdown-menu.css +1 -1
- package/src/components/dropdown-menu.tsx +5 -19
- package/src/components/hover-card.css +3 -3
- package/src/components/icon-button.css +4 -4
- package/src/components/image.css +1 -1
- package/src/components/kbd.css +14 -14
- package/src/components/message-scroller.css +1 -1
- package/src/components/navbar.css +6 -6
- package/src/components/notice.css +9 -15
- package/src/components/notice.tsx +1 -4
- package/src/components/popover.css +15 -37
- package/src/components/popover.props.tsx +0 -3
- package/src/components/popover.tsx +0 -5
- package/src/components/progress.css +0 -69
- package/src/components/radio-cards.css +6 -6
- package/src/components/radio-cards.props.tsx +0 -3
- package/src/components/radio-cards.tsx +0 -5
- package/src/components/radio-group.css +1 -1
- package/src/components/schemas/base-button.schema.ts +0 -9
- package/src/components/scroll-area.css +14 -14
- package/src/components/section.css +8 -8
- package/src/components/segmented-control.css +25 -68
- package/src/components/segmented-control.props.tsx +0 -2
- package/src/components/segmented-control.tsx +0 -4
- package/src/components/select.css +24 -363
- package/src/components/select.props.tsx +0 -2
- package/src/components/select.tsx +0 -2
- package/src/components/separator.css +3 -3
- package/src/components/sheet.css +0 -11
- package/src/components/sheet.tsx +1 -18
- package/src/components/shell.css +135 -11
- package/src/components/sidebar.css +108 -198
- package/src/components/skeleton.css +1 -1
- package/src/components/slider.css +16 -87
- package/src/components/spinner.css +6 -6
- package/src/components/switch.css +10 -37
- package/src/components/switch.props.tsx +0 -8
- package/src/components/tab-nav.tsx +1 -3
- package/src/components/table.css +10 -18
- package/src/components/tabs.tsx +1 -3
- package/src/components/text-area.css +41 -154
- package/src/components/text-area.props.tsx +0 -3
- package/src/components/text-area.tsx +1 -3
- package/src/components/text-field.css +36 -244
- package/src/components/text-field.props.tsx +0 -3
- package/src/components/text-field.tsx +1 -3
- package/src/components/theme-panel.css +4 -4
- package/src/components/theme-panel.tsx +19 -236
- package/src/components/theme.props.tsx +0 -15
- package/src/components/theme.tsx +0 -35
- package/src/components/toolbar.css +15 -9
- package/src/components/toolbar.props.tsx +2 -1
- package/src/components/toolbar.tsx +20 -8
- package/src/components/tooltip.css +1 -1
- package/src/components/virtual-menu.tsx +2 -4
- package/src/styles/tokens/base.css +0 -2
- package/src/styles/tokens/color.css +4 -32
- package/src/styles/tokens/constants.css +23 -51
- package/src/styles/tokens/layout.css +1 -1
- package/src/styles/tokens/radius.css +24 -24
- package/src/styles/tokens/space.css +88 -21
- package/src/styles/tokens/typography.css +39 -39
- package/styles.css +2494 -3395
- package/tokens/base.css +229 -283
- package/tokens.css +252 -318
- package/dist/esm/chunk-23WDP4JG.js +0 -2
- package/dist/esm/chunk-23WDP4JG.js.map +0 -7
- package/dist/esm/chunk-2MYYU7ST.js +0 -2
- package/dist/esm/chunk-2MYYU7ST.js.map +0 -7
- package/dist/esm/chunk-2NNB4ZZ5.js +0 -2
- package/dist/esm/chunk-2NNB4ZZ5.js.map +0 -7
- package/dist/esm/chunk-2NNCZM7P.js +0 -2
- package/dist/esm/chunk-2NNCZM7P.js.map +0 -7
- package/dist/esm/chunk-3PT3AOD5.js +0 -2
- package/dist/esm/chunk-3PT3AOD5.js.map +0 -7
- package/dist/esm/chunk-4EBCFKNC.js +0 -2
- package/dist/esm/chunk-4EBCFKNC.js.map +0 -7
- package/dist/esm/chunk-5PG5YGIW.js +0 -2
- package/dist/esm/chunk-5PG5YGIW.js.map +0 -7
- package/dist/esm/chunk-BDOMLGLZ.js +0 -2
- package/dist/esm/chunk-BDOMLGLZ.js.map +0 -7
- package/dist/esm/chunk-CAUFRKTK.js +0 -2
- package/dist/esm/chunk-CAUFRKTK.js.map +0 -7
- package/dist/esm/chunk-CJ4UZDW5.js +0 -2
- package/dist/esm/chunk-CJ4UZDW5.js.map +0 -7
- package/dist/esm/chunk-DD5QHU6R.js +0 -2
- package/dist/esm/chunk-DD5QHU6R.js.map +0 -7
- package/dist/esm/chunk-DQTJMIRO.js +0 -2
- package/dist/esm/chunk-DQTJMIRO.js.map +0 -7
- package/dist/esm/chunk-E5DJILUI.js +0 -2
- package/dist/esm/chunk-E5DJILUI.js.map +0 -7
- package/dist/esm/chunk-EJG2UNTM.js +0 -2
- package/dist/esm/chunk-EJG2UNTM.js.map +0 -7
- package/dist/esm/chunk-FK6F6ROH.js +0 -2
- package/dist/esm/chunk-FK6F6ROH.js.map +0 -7
- package/dist/esm/chunk-HI3JY3DJ.js +0 -2
- package/dist/esm/chunk-HI3JY3DJ.js.map +0 -7
- package/dist/esm/chunk-IMYZP5OY.js +0 -2
- package/dist/esm/chunk-IMYZP5OY.js.map +0 -7
- package/dist/esm/chunk-IYXR46Q6.js +0 -5
- package/dist/esm/chunk-IYXR46Q6.js.map +0 -7
- package/dist/esm/chunk-JGB6LNTP.js +0 -2
- package/dist/esm/chunk-JGB6LNTP.js.map +0 -7
- package/dist/esm/chunk-JLHJHYVQ.js +0 -2
- package/dist/esm/chunk-JLHJHYVQ.js.map +0 -7
- package/dist/esm/chunk-KLIREDPE.js +0 -2
- package/dist/esm/chunk-KLIREDPE.js.map +0 -7
- package/dist/esm/chunk-LRFAOQK6.js +0 -2
- package/dist/esm/chunk-LRFAOQK6.js.map +0 -7
- package/dist/esm/chunk-LXSARUXD.js +0 -2
- package/dist/esm/chunk-LXSARUXD.js.map +0 -7
- package/dist/esm/chunk-MNC2O6QW.js +0 -2
- package/dist/esm/chunk-MOMYWKIO.js +0 -2
- package/dist/esm/chunk-MOMYWKIO.js.map +0 -7
- package/dist/esm/chunk-PRRJ4WRE.js +0 -2
- package/dist/esm/chunk-PRRJ4WRE.js.map +0 -7
- package/dist/esm/chunk-QE2EF7A7.js +0 -2
- package/dist/esm/chunk-QE2EF7A7.js.map +0 -7
- package/dist/esm/chunk-QJSSCW3B.js +0 -2
- package/dist/esm/chunk-QJSSCW3B.js.map +0 -7
- package/dist/esm/chunk-QPNYHS6A.js +0 -2
- package/dist/esm/chunk-QPNYHS6A.js.map +0 -7
- package/dist/esm/chunk-RA4U6VVZ.js +0 -2
- package/dist/esm/chunk-RA4U6VVZ.js.map +0 -7
- package/dist/esm/chunk-ULSNYQOY.js +0 -2
- package/dist/esm/chunk-ULSNYQOY.js.map +0 -7
- package/dist/esm/chunk-UPCRXJB2.js +0 -2
- package/dist/esm/chunk-URLG45A4.js +0 -2
- package/dist/esm/chunk-URLG45A4.js.map +0 -7
- package/dist/esm/chunk-VASXAV62.js +0 -2
- package/dist/esm/chunk-VASXAV62.js.map +0 -7
- package/dist/esm/chunk-W7VAP3WE.js +0 -2
- package/dist/esm/chunk-W7VAP3WE.js.map +0 -7
- package/dist/esm/chunk-WGNIFXUE.js +0 -2
- package/dist/esm/chunk-WGNIFXUE.js.map +0 -7
- package/dist/esm/chunk-WNSG5P3U.js +0 -2
- package/dist/esm/chunk-WNSG5P3U.js.map +0 -7
- package/dist/esm/chunk-X3UTLDGG.js +0 -2
- package/dist/esm/chunk-X3UTLDGG.js.map +0 -7
- package/dist/esm/chunk-XCDXQLWS.js +0 -2
- package/dist/esm/chunk-XCDXQLWS.js.map +0 -7
- package/dist/esm/chunk-XKAWVGBL.js +0 -2
- package/dist/esm/chunk-XKAWVGBL.js.map +0 -7
- package/dist/esm/chunk-Y3FVBAN2.js +0 -2
- package/dist/esm/chunk-Y3FVBAN2.js.map +0 -7
- package/dist/esm/chunk-YSHEXVBI.js +0 -10
- package/dist/esm/chunk-YSHEXVBI.js.map +0 -7
- package/dist/esm/chunk-Z2LGVLUB.js +0 -2
- package/dist/esm/chunk-Z2LGVLUB.js.map +0 -7
- package/src/styles/tokens/blur.css +0 -63
- package/src/styles/tokens/opacity.css +0 -32
- package/src/styles/tokens/scaling.css +0 -17
- /package/dist/esm/{chunk-MD3QCXRD.js.map → chunk-4STOJSJZ.js.map} +0 -0
- /package/dist/esm/{chunk-R4CN4Q3G.js.map → chunk-534LGOWC.js.map} +0 -0
- /package/dist/esm/{chunk-7UW7D77E.js.map → chunk-5UU2IMGX.js.map} +0 -0
- /package/dist/esm/{chunk-MQT3YJKY.js.map → chunk-6HRBG5H2.js.map} +0 -0
- /package/dist/esm/{chunk-PTEAQFHI.js.map → chunk-6WFEMPCF.js.map} +0 -0
- /package/dist/esm/{chunk-2PO6TZ7L.js.map → chunk-COSHAOEK.js.map} +0 -0
- /package/dist/esm/{chunk-F2XQYWBE.js.map → chunk-CRYT55SY.js.map} +0 -0
- /package/dist/esm/{chunk-ELZEAEN2.js.map → chunk-DP3OWU5T.js.map} +0 -0
- /package/dist/esm/{chunk-UI2EFF6F.js.map → chunk-E3754NJZ.js.map} +0 -0
- /package/dist/esm/{chunk-6ERCPRXX.js.map → chunk-FSKZAL5H.js.map} +0 -0
- /package/dist/esm/{chunk-YKGLZEXX.js.map → chunk-MJC4NKYG.js.map} +0 -0
- /package/dist/esm/{chunk-Y4IB7KDZ.js.map → chunk-MZQDDG5K.js.map} +0 -0
- /package/dist/esm/{chunk-CMQMCGGC.js.map → chunk-NOSR2XWD.js.map} +0 -0
- /package/dist/esm/{chunk-SEKZGBK3.js.map → chunk-ORMCQAPS.js.map} +0 -0
- /package/dist/esm/{chunk-5RHODJDJ.js.map → chunk-X5KCVLKG.js.map} +0 -0
- /package/dist/esm/{chunk-MGXXNEMQ.js.map → chunk-YZABQ4LS.js.map} +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/combobox.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client';\n\n/**\n * Combobox: Radix Popover for positioning, dismissal and focus; cmdk for search,\n * filtering and keyboard navigation.\n *\n * Render path. State is split so an interaction re-renders only what reads it:\n * - `ComboboxContext` (Trigger, Value, Content): config and the selected value.\n * Open state is not in it, so opening and closing re-render no consumer.\n * - `ComboboxSearchContext` (Input only): the search text.\n * - `ComboboxItemContext` (Items): stable values only. Items read \"am I selected\"\n * from a store through `useSyncExternalStore`, so a selection re-renders the old\n * and the new selected item, not all N.\n *\n * Highlight. cmdk's `data-selected` is the single highlight source, driven by both\n * the pointer and the keyboard. There is no separate CSS `:hover` highlight, so two\n * items are never lit at once and Enter always picks the lit item.\n */\n\nimport { warnDeprecated } from '../helpers/warn-deprecated.js';\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Popover as PopoverPrimitive } from 'radix-ui';\nimport { useCallbackRef, useComposedRefs, useControllableState, useLayoutEffect } from 'radix-ui/internal';\nimport { Command as CommandPrimitive, useCommandState } from 'cmdk';\n\nimport { extractProps } from '../helpers/extract-props.js';\nimport { comboboxRootPropDefs, comboboxTriggerPropDefs, comboboxContentPropDefs } from './combobox.props.js';\nimport { marginPropDefs } from '../props/margin.props.js';\nimport { ChevronDownIcon, ThickCheckIcon } from './icons.js';\nimport { Theme, useThemeContext } from './theme.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\nimport * as Popover from './popover.js';\nimport { Slottable } from './slot.js';\nimport { VisuallyHidden } from './visually-hidden.js';\n\nimport type { textFieldRootPropDefs } from './text-field.props.js';\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype TextFieldVariant = (typeof textFieldRootPropDefs.variant.values)[number];\ntype ComboboxValue = string | null;\ntype CommandFilter = (value: string, search: string, keywords?: string[]) => number;\n\n// Hoisted so extractProps' compiled prop-def cache (keyed by object identity) hits.\nconst triggerSizingPropDefs = { size: comboboxRootPropDefs.size };\nconst contentSizePropDefs = { size: comboboxContentPropDefs.size };\n\nconst warned = new Set<string>();\nfunction warnOnce(message: string) {\n if (warned.has(message)) return;\n warned.add(message);\n console.warn(message);\n}\n\n// ============================================================================\n// Selection store\n// ============================================================================\n\ninterface SelectionStore {\n get: () => ComboboxValue;\n set: (value: ComboboxValue) => void;\n subscribe: (listener: () => void) => () => void;\n}\n\nfunction createSelectionStore(initial: ComboboxValue): SelectionStore {\n let current = initial;\n const listeners = new Set<() => void>();\n return {\n get: () => current,\n set: (next) => {\n if (Object.is(next, current)) return;\n current = next;\n listeners.forEach((listener) => listener());\n },\n subscribe: (listener) => {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n },\n };\n}\n\n// ============================================================================\n// Contexts\n// ============================================================================\n\ninterface ComboboxContextValue {\n value: ComboboxValue;\n displayValue?: string;\n setOpen: (open: boolean) => void;\n size?: ComboboxRootOwnProps['size'];\n placeholder?: string;\n searchPlaceholder?: string;\n disabled?: boolean;\n color?: string;\n loop: boolean;\n shouldFilter: boolean;\n filter?: CommandFilter;\n triggerRef: React.RefObject<HTMLButtonElement | null>;\n /** Reads the trigger's accessible name from the DOM (aria-label, aria-labelledby or <label>). */\n getTriggerLabel: () => string | undefined;\n}\n\nconst ComboboxContext = React.createContext<ComboboxContextValue | null>(null);\n\nconst useComboboxContext = (componentName: string) => {\n const ctx = React.useContext(ComboboxContext);\n if (!ctx) {\n throw new Error(`Combobox.${componentName} must be used within Combobox.Root`);\n }\n return ctx;\n};\n\ninterface ComboboxSearchContextValue {\n value: string;\n setValue: (value: string) => void;\n}\n\nconst ComboboxSearchContext = React.createContext<ComboboxSearchContextValue | null>(null);\n\ninterface ComboboxItemContextValue {\n store: SelectionStore;\n onSelect: (value: string) => void;\n disabled?: boolean;\n}\n\nconst ComboboxItemContext = React.createContext<ComboboxItemContextValue | null>(null);\n\n/** Values resolved by Content and read by Input and List. */\ninterface ComboboxContentContextValue {\n sizeClassName?: string;\n color?: string;\n material?: string;\n label?: string;\n}\n\nconst ComboboxContentContext = React.createContext<ComboboxContentContextValue | null>(null);\n\nconst useComboboxContentContext = () => React.useContext(ComboboxContentContext);\n\n// ============================================================================\n// Root\n// ============================================================================\n\ntype ComboboxRootOwnProps = GetPropDefTypes<typeof comboboxRootPropDefs> & {\n value?: ComboboxValue;\n defaultValue?: ComboboxValue;\n onValueChange?: (value: ComboboxValue) => void;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n placeholder?: string;\n searchPlaceholder?: string;\n searchValue?: string;\n defaultSearchValue?: string;\n onSearchValueChange?: (value: string) => void;\n filter?: CommandFilter;\n shouldFilter?: boolean;\n loop?: boolean;\n disabled?: boolean;\n /** Clear the search text when an option is selected. Defaults to true. */\n resetSearchOnSelect?: boolean;\n /** Clear the search text when the popup is dismissed without a selection. Defaults to true. */\n resetSearchOnClose?: boolean;\n color?: (typeof comboboxTriggerPropDefs.color.values)[number];\n /**\n * Text shown in the trigger for the selected value. Without it the raw value is shown.\n * Can be a string or a function that receives the current value. Pass a stable\n * function (module scope or `useCallback`): an inline function runs on every render.\n * @example displayValue={(v) => items.find(i => i.value === v)?.label}\n */\n displayValue?: string | ((value: ComboboxValue) => string | undefined);\n};\n\ntype PopoverRootProps = React.ComponentPropsWithoutRef<typeof Popover.Root>;\ninterface ComboboxRootProps extends PopoverRootProps, ComboboxRootOwnProps {}\n\nfunction readElementLabel(el: HTMLElement): string | undefined {\n const ariaLabel = el.getAttribute('aria-label')?.trim();\n if (ariaLabel) return ariaLabel;\n\n const labelledBy = el.getAttribute('aria-labelledby');\n if (labelledBy) {\n const text = labelledBy\n .split(/\\s+/)\n .map((id) => el.ownerDocument.getElementById(id)?.textContent?.trim())\n .filter(Boolean)\n .join(' ');\n if (text) return text;\n }\n\n const labels = (el as HTMLButtonElement).labels;\n if (labels && labels.length > 0) {\n const text = Array.from(labels)\n .map((label) => label.textContent?.trim())\n .filter(Boolean)\n .join(' ');\n if (text) return text;\n }\n\n return undefined;\n}\n\nconst ComboboxRoot: React.FC<ComboboxRootProps> = (props) => {\n const {\n children,\n size = comboboxRootPropDefs.size.default,\n value: valueProp,\n defaultValue = null,\n onValueChange,\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n placeholder = 'Select an option',\n searchPlaceholder = 'Search...',\n searchValue: searchValueProp,\n defaultSearchValue = '',\n onSearchValueChange,\n filter,\n shouldFilter = true,\n loop = true,\n disabled,\n resetSearchOnSelect = true,\n resetSearchOnClose = true,\n color,\n displayValue: displayValueProp,\n ...rootProps\n } = props;\n\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n const [value, setValue] = useControllableState<ComboboxValue>({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n const [searchValue, setSearchValue] = useControllableState<string>({\n prop: searchValueProp,\n defaultProp: defaultSearchValue,\n onChange: onSearchValueChange,\n });\n\n const resolvedDisplayValue = typeof displayValueProp === 'function' ? displayValueProp(value) : displayValueProp;\n\n // Items subscribe to this store instead of the context, so a selection\n // re-renders only the items whose selected state flips.\n const [store] = React.useState(() => createSelectionStore(value));\n useLayoutEffect(() => {\n store.set(value);\n }, [store, value]);\n\n // The radix setters change identity whenever their controlled prop changes.\n // Reading them through callback refs keeps these handlers stable, so the\n // contexts below do not change on every keystroke or selection.\n const handleOpenChange = useCallbackRef((nextOpen: boolean) => {\n setOpen(nextOpen);\n if (!nextOpen && resetSearchOnClose) setSearchValue('');\n });\n\n const onSelect = useCallbackRef((nextValue: string) => {\n setValue(nextValue);\n setOpen(false);\n if (resetSearchOnSelect) setSearchValue('');\n });\n\n const triggerRef = React.useRef<HTMLButtonElement | null>(null);\n const getTriggerLabel = React.useCallback(() => (triggerRef.current ? readElementLabel(triggerRef.current) : undefined), []);\n\n const contextValue = React.useMemo<ComboboxContextValue>(\n () => ({\n value,\n displayValue: resolvedDisplayValue,\n setOpen: handleOpenChange,\n size,\n placeholder,\n searchPlaceholder,\n disabled,\n color,\n loop,\n shouldFilter,\n filter,\n triggerRef,\n getTriggerLabel,\n }),\n [value, resolvedDisplayValue, handleOpenChange, size, placeholder, searchPlaceholder, disabled, color, loop, shouldFilter, filter, getTriggerLabel],\n );\n\n const searchContextValue = React.useMemo<ComboboxSearchContextValue>(() => ({ value: searchValue, setValue: setSearchValue }), [searchValue, setSearchValue]);\n\n const itemContextValue = React.useMemo<ComboboxItemContextValue>(() => ({ store, onSelect, disabled }), [store, onSelect, disabled]);\n\n return (\n <ComboboxContext.Provider value={contextValue}>\n <ComboboxSearchContext.Provider value={searchContextValue}>\n <ComboboxItemContext.Provider value={itemContextValue}>\n <Popover.Root open={open} onOpenChange={handleOpenChange} {...rootProps}>\n {children}\n </Popover.Root>\n </ComboboxItemContext.Provider>\n </ComboboxSearchContext.Provider>\n </ComboboxContext.Provider>\n );\n};\nComboboxRoot.displayName = 'Combobox.Root';\n\n// ============================================================================\n// Trigger\n// ============================================================================\n\ntype ComboboxTriggerElement = HTMLButtonElement;\ntype ComboboxTriggerOwnProps = GetPropDefTypes<typeof comboboxTriggerPropDefs>;\ntype NativeTriggerProps = Omit<React.ComponentPropsWithoutRef<'button'>, 'color'>;\ninterface ComboboxTriggerProps extends NativeTriggerProps, MarginProps, ComboboxTriggerOwnProps {}\n\nconst ComboboxTrigger = React.forwardRef<ComboboxTriggerElement, ComboboxTriggerProps>((props, forwardedRef) => {\n const ctx = useComboboxContext('Trigger');\n\n const {\n children,\n className,\n placeholder,\n disabled,\n readOnly,\n error,\n loading,\n color,\n radius,\n material,\n onClick,\n onKeyDown,\n type: buttonType,\n ...triggerProps\n } = extractProps({ size: ctx.size, ...props }, triggerSizingPropDefs, comboboxTriggerPropDefs, marginPropDefs);\n\n const resolvedMaterial = material;\n const isDisabled = disabled ?? ctx.disabled;\n const resolvedColor = color ?? ctx.color;\n // Read-only and loading triggers stay focusable but do not open.\n const isBlocked = Boolean(readOnly || loading);\n const isPlaceholder = ctx.value == null && ctx.displayValue == null;\n\n const composedRef = useComposedRefs(forwardedRef, ctx.triggerRef);\n\n const { getTriggerLabel } = ctx;\n React.useEffect(() => {\n if (process.env.NODE_ENV === 'production') return;\n if (!getTriggerLabel()) {\n warnOnce(\n 'Combobox.Trigger has no accessible name. The combobox role does not take its name from its content. Add `aria-label`, `aria-labelledby`, or a `<label htmlFor>` that points at the trigger.',\n );\n }\n }, [getTriggerLabel]);\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n onClick?.(event);\n // Radix skips its open toggle when the event is default-prevented.\n if (isBlocked) event.preventDefault();\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n onKeyDown?.(event);\n if (event.defaultPrevented || isBlocked || isDisabled) return;\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n ctx.setOpen(true);\n }\n };\n\n const defaultContent = (\n <>\n <span className=\"rt-SelectTriggerInner\">\n <span className=\"rt-ComboboxValue\">{ctx.displayValue ?? ctx.value ?? placeholder ?? ctx.placeholder}</span>\n </span>\n {loading ? (\n <div className=\"rt-SelectIcon rt-SelectLoadingIcon\" aria-hidden=\"true\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <circle\n cx=\"8\"\n cy=\"8\"\n r=\"7\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeDasharray=\"32\"\n strokeDashoffset=\"32\"\n className=\"rt-SelectLoadingIconCircle\"\n />\n </svg>\n </div>\n ) : (\n <ChevronDownIcon className=\"rt-SelectIcon\" />\n )}\n </>\n );\n\n // Radix Popover.Trigger supplies aria-expanded, aria-controls (the popup id) and\n // aria-haspopup=\"dialog\", which matches the Popover dialog this opens.\n return (\n <Popover.Trigger disabled={isDisabled}>\n <button\n data-accent-color={resolvedColor}\n data-radius={radius}\n data-material={resolvedMaterial}\n data-error={error}\n data-loading={loading}\n data-disabled={isDisabled || undefined}\n data-read-only={readOnly || undefined}\n data-placeholder={isPlaceholder ? '' : undefined}\n {...triggerProps}\n // eslint-disable-next-line jsx-a11y/role-has-required-aria-props -- Popover.Trigger (Slot) adds aria-expanded and aria-controls\n role=\"combobox\"\n aria-disabled={isDisabled || undefined}\n aria-readonly={readOnly || undefined}\n aria-invalid={error || undefined}\n aria-busy={loading || undefined}\n type={buttonType ?? 'button'}\n disabled={isDisabled}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n ref={composedRef}\n className={classNames('rt-reset', 'rt-SelectTrigger', 'rt-ComboboxTrigger', className)}\n >\n {children ? requireReactElement(children) : defaultContent}\n </button>\n </Popover.Trigger>\n );\n});\nComboboxTrigger.displayName = 'Combobox.Trigger';\n\n// ============================================================================\n// Value (standalone, for custom trigger layouts)\n// ============================================================================\n\ntype ComboboxValueElement = HTMLSpanElement;\ninterface ComboboxValueProps extends React.ComponentPropsWithoutRef<'span'> {\n placeholder?: string;\n}\n\nconst ComboboxValue = React.forwardRef<ComboboxValueElement, ComboboxValueProps>(({ placeholder, children, className, ...valueProps }, forwardedRef) => {\n const ctx = useComboboxContext('Value');\n const display = ctx.displayValue ?? ctx.value ?? undefined;\n return (\n <span {...valueProps} ref={forwardedRef} className={classNames('rt-ComboboxValue', className)}>\n {display ?? children ?? placeholder ?? ctx.placeholder}\n </span>\n );\n});\nComboboxValue.displayName = 'Combobox.Value';\n\n// ============================================================================\n// Content\n// ============================================================================\n\ntype ComboboxContentElement = React.ElementRef<typeof PopoverPrimitive.Content>;\ntype ComboboxContentOwnProps = GetPropDefTypes<typeof comboboxContentPropDefs> & {\n container?: React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Portal>['container'];\n};\ninterface ComboboxContentProps extends Omit<ComponentPropsWithout<typeof PopoverPrimitive.Content, RemovedProps>, 'size'>, ComboboxContentOwnProps {}\n\n/** Announces the filtered result count to screen readers after typing settles. */\nfunction ComboboxAnnouncer() {\n const count = useCommandState((state) => state.filtered.count);\n const search = useCommandState((state) => state.search);\n const [message, setMessage] = React.useState('');\n\n React.useEffect(() => {\n const next = !search ? '' : count === 0 ? 'No results' : `${count} result${count === 1 ? '' : 's'}`;\n const timeout = window.setTimeout(() => setMessage(next), search ? 400 : 0);\n return () => window.clearTimeout(timeout);\n }, [count, search]);\n\n return (\n <VisuallyHidden role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">\n {message}\n </VisuallyHidden>\n );\n}\n\nconst ComboboxContent = React.forwardRef<ComboboxContentElement, ComboboxContentProps>((props, forwardedRef) => {\n const ctx = useComboboxContext('Content');\n const themeContext = useThemeContext();\n\n\n const material = props.material ?? themeContext.material;\n // Menus stop at size 3; a size 4 field opens a size 3 list.\n const rootSize = ctx.size === '4' ? '3' : ctx.size;\n const size = props.size ?? rootSize ?? comboboxContentPropDefs.size.default;\n\n const {\n className,\n children,\n color,\n forceMount,\n container,\n material: _material,\n onOpenAutoFocus,\n 'aria-label': _ariaLabel,\n 'aria-labelledby': ariaLabelledByProp,\n ...contentProps\n } = extractProps({ ...props, size }, comboboxContentPropDefs);\n\n const resolvedColor = color || ctx.color || themeContext.accentColor;\n\n\n // The trigger's name labels the popup, the search field and the listbox.\n // Read once per mount (the content remounts on every open); fall back to a\n // layout effect when the trigger was not attached yet (defaultOpen, forceMount).\n const { getTriggerLabel } = ctx;\n const [triggerLabel, setTriggerLabel] = React.useState(getTriggerLabel);\n useLayoutEffect(() => {\n if (triggerLabel !== undefined) return;\n const label = getTriggerLabel();\n if (label !== undefined) setTriggerLabel(label);\n }, [getTriggerLabel, triggerLabel]);\n\n const label = props['aria-label'] ?? triggerLabel;\n\n const contentContextValue = React.useMemo<ComboboxContentContextValue>(\n () => ({\n // Responsive-aware size class for the search field (never String() a responsive object).\n sizeClassName: extractProps({ size }, contentSizePropDefs).className || undefined,\n color: resolvedColor,\n material,\n label,\n }),\n [size, resolvedColor, material, label],\n );\n\n const commandRef = React.useRef<HTMLDivElement>(null);\n\n // Without a search field, focus would land on the popup itself, outside cmdk's\n // keydown handler. Focus the listbox instead so arrow keys and Enter work.\n const handleOpenAutoFocus = (event: Event) => {\n onOpenAutoFocus?.(event);\n if (event.defaultPrevented) return;\n const command = commandRef.current;\n if (!command || command.querySelector('[cmdk-input]')) return;\n event.preventDefault();\n const list = command.querySelector<HTMLElement>('[cmdk-list]');\n (list ?? command).focus({ preventScroll: true });\n };\n\n // Start the highlight on the selected option (cmdk trims item values).\n const initialHighlight = ctx.value?.trim() || undefined;\n\n return (\n <PopoverPrimitive.Portal container={container} forceMount={forceMount ? true : undefined}>\n <Theme asChild>\n <PopoverPrimitive.Content\n data-accent-color={resolvedColor}\n data-material={material}\n align=\"start\"\n sideOffset={4}\n collisionPadding={10}\n aria-label={ariaLabelledByProp ? undefined : label}\n aria-labelledby={ariaLabelledByProp}\n {...contentProps}\n forceMount={forceMount ? true : undefined}\n onOpenAutoFocus={handleOpenAutoFocus}\n ref={forwardedRef}\n className={classNames('rt-PopperContent', 'rt-BaseMenuContent',\n 'rt-variant-soft', 'rt-ComboboxContent', className)}\n >\n <ComboboxContentContext.Provider value={contentContextValue}>\n <CommandPrimitive\n ref={commandRef}\n loop={ctx.loop}\n shouldFilter={ctx.shouldFilter}\n filter={ctx.filter}\n label={label}\n defaultValue={initialHighlight}\n className=\"rt-ComboboxCommand\"\n >\n {children}\n <ComboboxAnnouncer />\n </CommandPrimitive>\n </ComboboxContentContext.Provider>\n </PopoverPrimitive.Content>\n </Theme>\n </PopoverPrimitive.Portal>\n );\n});\nComboboxContent.displayName = 'Combobox.Content';\n\n// ============================================================================\n// Input\n// ============================================================================\n\ntype ComboboxInputElement = React.ElementRef<typeof CommandPrimitive.Input>;\ninterface ComboboxInputProps extends Omit<React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>, 'value' | 'onValueChange'> {\n startAdornment?: React.ReactNode;\n endAdornment?: React.ReactNode;\n variant?: TextFieldVariant;\n value?: string;\n onValueChange?: (value: string) => void;\n}\n\nconst ComboboxInput = React.forwardRef<ComboboxInputElement, ComboboxInputProps>(\n ({ className, startAdornment, endAdornment, placeholder, variant: inputVariant, value, onValueChange, ...inputProps }, forwardedRef) => {\n const ctx = useComboboxContext('Input');\n const search = React.useContext(ComboboxSearchContext);\n const contentContext = useComboboxContentContext();\n\n const textFieldVariant = inputVariant ?? 'soft';\n\n // The search text lives in Root; only this component subscribes to it.\n const searchValue = value ?? search?.value ?? '';\n const handleSearchChange = onValueChange ?? search?.setValue;\n\n const inputField = (\n <div\n className={classNames('rt-TextFieldRoot', 'rt-ComboboxInputRoot', contentContext?.sizeClassName, `rt-variant-${textFieldVariant}`)}\n data-accent-color={contentContext?.color}\n data-material={contentContext?.material}\n >\n {startAdornment ? <div className=\"rt-TextFieldSlot\">{startAdornment}</div> : null}\n <CommandPrimitive.Input\n {...inputProps}\n ref={forwardedRef}\n value={searchValue}\n onValueChange={handleSearchChange}\n placeholder={placeholder ?? ctx.searchPlaceholder}\n className={classNames('rt-reset', 'rt-TextFieldInput', className)}\n />\n {endAdornment ? (\n <div className=\"rt-TextFieldSlot\" data-side=\"right\">\n {endAdornment}\n </div>\n ) : null}\n </div>\n );\n\n return contentContext ? <div className=\"rt-ComboboxSearch\">{inputField}</div> : inputField;\n },\n);\nComboboxInput.displayName = 'Combobox.Input';\n\n// ============================================================================\n// List\n// ============================================================================\n\ntype ComboboxListElement = React.ElementRef<typeof CommandPrimitive.List>;\ninterface ComboboxListProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive.List> {}\n\n// cmdk's List owns its id (referenced by the input's aria-controls), role and\n// aria-label (set from `label`), so none of them are overridden here.\nconst ComboboxList = React.forwardRef<ComboboxListElement, ComboboxListProps>(({ className, children, label, ...listProps }, forwardedRef) => {\n const contentContext = useComboboxContentContext();\n return (\n <div className=\"rt-ComboboxScrollArea\">\n <div className={classNames('rt-BaseMenuViewport', 'rt-ComboboxViewport')}>\n <CommandPrimitive.List {...listProps} label={label ?? contentContext?.label} ref={forwardedRef} className={classNames('rt-ComboboxList', className)}>\n {children}\n </CommandPrimitive.List>\n </div>\n </div>\n );\n});\nComboboxList.displayName = 'Combobox.List';\n\n// ============================================================================\n// Empty\n// ============================================================================\n\ntype ComboboxEmptyElement = React.ElementRef<typeof CommandPrimitive.Empty>;\ninterface ComboboxEmptyProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty> {}\n\nconst ComboboxEmpty = React.forwardRef<ComboboxEmptyElement, ComboboxEmptyProps>(({ className, ...emptyProps }, forwardedRef) => (\n <CommandPrimitive.Empty {...emptyProps} ref={forwardedRef} className={classNames('rt-ComboboxEmpty', className)} />\n));\nComboboxEmpty.displayName = 'Combobox.Empty';\n\n// ============================================================================\n// Group\n// ============================================================================\n\ntype ComboboxGroupElement = React.ElementRef<typeof CommandPrimitive.Group>;\ninterface ComboboxGroupProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group> {}\n\nconst ComboboxGroup = React.forwardRef<ComboboxGroupElement, ComboboxGroupProps>(({ className, ...groupProps }, forwardedRef) => (\n <CommandPrimitive.Group {...groupProps} ref={forwardedRef} className={classNames('rt-BaseMenuGroup', 'rt-ComboboxGroup', className)} />\n));\nComboboxGroup.displayName = 'Combobox.Group';\n\n// ============================================================================\n// Label\n// ============================================================================\n\ntype ComboboxLabelElement = React.ElementRef<'div'>;\ninterface ComboboxLabelProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst ComboboxLabel = React.forwardRef<ComboboxLabelElement, ComboboxLabelProps>(({ className, id: idProp, ...labelProps }, forwardedRef) => {\n const generatedId = React.useId();\n const id = idProp ?? generatedId;\n const localRef = React.useRef<HTMLDivElement>(null);\n const composedRef = useComposedRefs(forwardedRef, localRef);\n\n // cmdk renders the group's role=\"group\" element itself and gives no way to\n // label it from a child, so name it after this label when inside a Group.\n useLayoutEffect(() => {\n const group = localRef.current?.closest('[cmdk-group-items]');\n if (!group || group.hasAttribute('aria-labelledby')) return;\n group.setAttribute('aria-labelledby', id);\n return () => {\n if (group.getAttribute('aria-labelledby') === id) group.removeAttribute('aria-labelledby');\n };\n }, [id]);\n\n return <div {...labelProps} id={id} ref={composedRef} className={classNames('rt-BaseMenuLabel', 'rt-ComboboxLabel', className)} />;\n});\nComboboxLabel.displayName = 'Combobox.Label';\n\n// ============================================================================\n// Separator\n// ============================================================================\n\ntype ComboboxSeparatorElement = React.ElementRef<typeof CommandPrimitive.Separator>;\ninterface ComboboxSeparatorProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator> {}\n\nconst ComboboxSeparator = React.forwardRef<ComboboxSeparatorElement, ComboboxSeparatorProps>(({ className, ...separatorProps }, forwardedRef) => (\n <CommandPrimitive.Separator {...separatorProps} ref={forwardedRef} className={classNames('rt-BaseMenuSeparator', 'rt-ComboboxSeparator', className)} />\n));\nComboboxSeparator.displayName = 'Combobox.Separator';\n\n// ============================================================================\n// Item\n// ============================================================================\n\n/** Plain text of a React node tree, used as the item's search text. */\nfunction getNodeText(node: React.ReactNode): string {\n if (node == null || typeof node === 'boolean') return '';\n if (typeof node === 'string' || typeof node === 'number') return String(node);\n if (Array.isArray(node)) return node.map(getNodeText).join('');\n if (React.isValidElement<{ children?: React.ReactNode }>(node)) return getNodeText(node.props.children);\n return '';\n}\n\ntype ComboboxItemElement = React.ElementRef<typeof CommandPrimitive.Item>;\ninterface ComboboxItemProps extends Omit<React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>, 'keywords' | 'onSelect'> {\n /**\n * Text matched by search. Defaults to the text of `children`. Set it when the\n * children are components whose text is not in the JSX (it cannot be read).\n */\n label?: string;\n /** Additional keywords for search filtering. */\n keywords?: string[];\n /** Called when the item is selected. */\n onSelect?: (value: string) => void;\n}\n\nconst ComboboxItem = React.forwardRef<ComboboxItemElement, ComboboxItemProps>(\n ({ className, children, label, value, disabled, onSelect, keywords, ...itemProps }, forwardedRef) => {\n const itemContext = React.useContext(ComboboxItemContext);\n if (!itemContext) {\n throw new Error('Combobox.Item must be used within Combobox.Root');\n }\n const { store, onSelect: onSelectFromRoot, disabled: rootDisabled } = itemContext;\n\n // Without `value`, cmdk uses the trimmed text of string children.\n const itemValue = value ?? (typeof children === 'string' ? children.trim() : undefined);\n const getIsSelected = () => itemValue !== undefined && store.get() === itemValue;\n const isSelected = React.useSyncExternalStore(store.subscribe, getIsSelected, getIsSelected);\n\n const onSelectProp = useCallbackRef(onSelect);\n // cmdk passes its resolved value (the `value` prop, or the text when `value` is omitted).\n const handleSelect = React.useCallback(\n (resolvedValue: string) => {\n const nextValue = value ?? resolvedValue;\n onSelectFromRoot(nextValue);\n onSelectProp(nextValue);\n },\n [value, onSelectFromRoot, onSelectProp],\n );\n\n // cmdk matches only `value` and `keywords`, so add the visible text as a keyword.\n const text = (label ?? getNodeText(children)).replace(/\\s+/g, ' ').trim();\n const searchKeywords = text ? (keywords ? [text, ...keywords] : [text]) : keywords;\n // cmdk stores keywords only when `value` changes. Remount the cmdk item when\n // they change so a new label or keyword list is picked up.\n const keywordsKey = searchKeywords ? searchKeywords.join('\u0000') : '';\n\n const isDisabled = disabled ?? rootDisabled ?? false;\n\n return (\n <CommandPrimitive.Item\n key={keywordsKey}\n {...itemProps}\n value={value}\n keywords={searchKeywords}\n // cmdk owns aria-selected (the highlighted option); the chosen option is aria-checked.\n aria-checked={isSelected}\n disabled={isDisabled || undefined}\n ref={forwardedRef}\n onSelect={handleSelect}\n className={classNames('rt-reset', 'rt-BaseMenuItem', 'rt-ComboboxItem', className)}\n >\n {isSelected ? (\n <span className={classNames('rt-BaseMenuItemIndicator', 'rt-ComboboxItemIndicator')}>\n <ThickCheckIcon className={classNames('rt-BaseMenuItemIndicatorIcon', 'rt-ComboboxItemIndicatorIcon')} />\n </span>\n ) : null}\n <Slottable>{children}</Slottable>\n </CommandPrimitive.Item>\n );\n },\n);\nComboboxItem.displayName = 'Combobox.Item';\n\n// ============================================================================\n// Exports\n// ============================================================================\n\nexport {\n ComboboxRoot as Root,\n ComboboxTrigger as Trigger,\n ComboboxValue as Value,\n ComboboxContent as Content,\n ComboboxInput as Input,\n ComboboxList as List,\n ComboboxEmpty as Empty,\n ComboboxGroup as Group,\n ComboboxLabel as Label,\n ComboboxSeparator as Separator,\n ComboboxItem as Item,\n};\n\nexport type {\n ComboboxRootProps as RootProps,\n ComboboxTriggerProps as TriggerProps,\n ComboboxValueProps as ValueProps,\n ComboboxContentProps as ContentProps,\n ComboboxInputProps as InputProps,\n ComboboxListProps as ListProps,\n ComboboxEmptyProps as EmptyProps,\n ComboboxGroupProps as GroupProps,\n ComboboxLabelProps as LabelProps,\n ComboboxSeparatorProps as SeparatorProps,\n ComboboxItemProps as ItemProps,\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["combobox_exports", "__export", "ComboboxContent", "ComboboxEmpty", "ComboboxGroup", "ComboboxInput", "ComboboxItem", "ComboboxLabel", "ComboboxList", "ComboboxRoot", "ComboboxSeparator", "ComboboxTrigger", "ComboboxValue", "React", "classNames", "PopoverPrimitive", "useCallbackRef", "useComposedRefs", "useControllableState", "useLayoutEffect", "CommandPrimitive", "useCommandState", "triggerSizingPropDefs", "comboboxRootPropDefs", "contentSizePropDefs", "comboboxContentPropDefs", "warned", "warnOnce", "message", "createSelectionStore", "initial", "current", "listeners", "next", "listener", "ComboboxContext", "useComboboxContext", "componentName", "ctx", "ComboboxSearchContext", "ComboboxItemContext", "ComboboxContentContext", "useComboboxContentContext", "readElementLabel", "el", "ariaLabel", "labelledBy", "text", "id", "labels", "label", "ComboboxRoot", "props", "children", "size", "valueProp", "defaultValue", "onValueChange", "openProp", "defaultOpen", "onOpenChange", "placeholder", "searchPlaceholder", "searchValueProp", "defaultSearchValue", "onSearchValueChange", "filter", "shouldFilter", "loop", "disabled", "resetSearchOnSelect", "resetSearchOnClose", "color", "displayValueProp", "rootProps", "open", "setOpen", "useControllableState", "value", "setValue", "searchValue", "setSearchValue", "resolvedDisplayValue", "store", "useLayoutEffect", "handleOpenChange", "useCallbackRef", "nextOpen", "onSelect", "nextValue", "triggerRef", "getTriggerLabel", "contextValue", "searchContextValue", "itemContextValue", "PopoverRoot", "ComboboxTrigger", "forwardedRef", "className", "readOnly", "error", "loading", "radius", "material", "onClick", "onKeyDown", "buttonType", "triggerProps", "extractProps", "comboboxTriggerPropDefs", "marginPropDefs", "resolvedMaterial", "isDisabled", "resolvedColor", "isBlocked", "isPlaceholder", "composedRef", "useComposedRefs", "handleClick", "event", "handleKeyDown", "defaultContent", "ChevronDownIcon", "PopoverTrigger", "classNames", "requireReactElement", "ComboboxValue", "valueProps", "display", "ComboboxAnnouncer", "count", "useCommandState", "state", "search", "setMessage", "timeout", "VisuallyHidden", "ComboboxContent", "themeContext", "useThemeContext", "rootSize", "forceMount", "container", "_material", "onOpenAutoFocus", "_ariaLabel", "ariaLabelledByProp", "contentProps", "triggerLabel", "setTriggerLabel", "contentContextValue", "commandRef", "handleOpenAutoFocus", "command", "initialHighlight", "PopoverPrimitive", "Theme", "CommandPrimitive", "ComboboxInput", "startAdornment", "endAdornment", "inputVariant", "inputProps", "contentContext", "textFieldVariant", "handleSearchChange", "inputField", "ComboboxList", "listProps", "ComboboxEmpty", "emptyProps", "ComboboxGroup", "groupProps", "ComboboxLabel", "idProp", "labelProps", "generatedId", "localRef", "group", "ComboboxSeparator", "separatorProps", "getNodeText", "node", "ComboboxItem", "keywords", "itemProps", "itemContext", "onSelectFromRoot", "rootDisabled", "itemValue", "getIsSelected", "isSelected", "onSelectProp", "handleSelect", "resolvedValue", "searchKeywords", "keywordsKey", "ThickCheckIcon", "Slottable"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as A,b as f,c as g,d as R,e as y}from"./chunk-IMYZP5OY.js";import{a as i}from"./chunk-UBSLEGQZ.js";import{a as w}from"./chunk-OS3FCYZY.js";var x={};w(x,{Content:()=>E,Header:()=>T,Item:()=>C,Root:()=>u,Trigger:()=>v});import*as o from"react";import p from"classnames";import{Accordion as m}from"radix-ui";var u=o.forwardRef((r,t)=>{let{className:e,material:c,flush:s,radius:l,color:a,...H}=i(r,A),n=H,I=c;n.type==="single"&&n.collapsible===void 0&&(n.collapsible=!0);let N=o.useCallback(d=>{if(n.type==="multiple"){let P=d.currentTarget.querySelectorAll("[data-radix-accordion-item]");d.key==="Home"?(d.preventDefault(),P[0]?.querySelector("[data-radix-accordion-trigger]")?.focus()):d.key==="End"&&(d.preventDefault(),P[P.length-1]?.querySelector("[data-radix-accordion-trigger]")?.focus())}},[n.type]);return o.createElement(m.Root,{...n,ref:t,className:p("rt-AccordionRoot",e),"data-accent-color":a,"data-material":I,"data-flush":s||void 0,"data-radius":l,onKeyDown:N})});u.displayName="Accordion.Root";var C=o.forwardRef((r,t)=>{let{className:e,...c}=i(r,f);return o.createElement(m.Item,{...c,ref:t,className:p("rt-AccordionItem",e)})});C.displayName="Accordion.Item";var T=o.forwardRef((r,t)=>{let{className:e,...c}=i(r,g);return o.createElement(m.Header,{...c,ref:t,className:p("rt-AccordionHeader",e)})});T.displayName="Accordion.Header";var v=o.forwardRef(({children:r,...t},e)=>{let{className:c,...s}=i(t,R),l=o.useRef(null);return o.createElement(m.Trigger,{...s,ref:a=>{l.current=a,typeof e=="function"?e(a):e&&(e.current=a)},className:p("rt-AccordionTrigger",c)},r)});v.displayName="Accordion.Trigger";var E=o.forwardRef((r,t)=>{let{className:e,children:c,...s}=i(r,y);return o.createElement(m.Content,{...s,ref:t,className:p("rt-AccordionContent",e),"aria-live":"polite"},o.createElement("div",{className:"rt-AccordionContentInner"},c))});E.displayName="Accordion.Content";export{u as a,C as b,T as c,v as d,E as e,x as f};
|
|
2
|
-
//# sourceMappingURL=chunk-WNSG5P3U.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/accordion.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Accordion as AccordionPrimitive } from 'radix-ui';\n\nimport {\n accordionRootPropDefs,\n accordionItemPropDefs,\n accordionHeaderPropDefs,\n accordionTriggerPropDefs,\n accordionContentPropDefs,\n} from './accordion.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\n\nimport type {\n AccordionRootOwnProps,\n AccordionItemOwnProps,\n AccordionHeaderOwnProps,\n AccordionTriggerOwnProps,\n AccordionContentOwnProps,\n} from './accordion.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\n\n// Root component\ntype AccordionRootElement = React.ElementRef<typeof AccordionPrimitive.Root>;\ninterface AccordionRootProps\n extends ComponentPropsWithout<typeof AccordionPrimitive.Root, RemovedProps>,\n AccordionRootOwnProps {}\n\nconst AccordionRoot = React.forwardRef<AccordionRootElement, AccordionRootProps>(\n (props, forwardedRef) => {\n const { className, material, flush, radius, color, ...extractedRadixProps } =\n extractProps(props, accordionRootPropDefs);\n\n const radixProps = extractedRadixProps as React.ComponentPropsWithoutRef<\n typeof AccordionPrimitive.Root\n >;\n\n\n const effectiveMaterial = material;\n\n // Ensure single accordions can collapse by default unless explicitly set\n if (radixProps.type === 'single' && radixProps.collapsible === undefined) {\n radixProps.collapsible = true;\n }\n\n // Handle Home/End key navigation for multi-item accordions\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (radixProps.type === 'multiple') {\n const items = event.currentTarget.querySelectorAll('[data-radix-accordion-item]');\n\n if (event.key === 'Home') {\n event.preventDefault();\n const firstTrigger = items[0]?.querySelector(\n '[data-radix-accordion-trigger]',\n ) as HTMLElement;\n firstTrigger?.focus();\n } else if (event.key === 'End') {\n event.preventDefault();\n const lastTrigger = items[items.length - 1]?.querySelector(\n '[data-radix-accordion-trigger]',\n ) as HTMLElement;\n lastTrigger?.focus();\n }\n }\n },\n [radixProps.type],\n );\n\n return (\n <AccordionPrimitive.Root\n {...radixProps}\n ref={forwardedRef}\n className={classNames('rt-AccordionRoot', className)}\n data-accent-color={color}\n data-material={effectiveMaterial}\n data-flush={flush || undefined}\n data-radius={radius}\n onKeyDown={handleKeyDown}\n />\n );\n },\n);\nAccordionRoot.displayName = 'Accordion.Root';\n\n// Item component\ntype AccordionItemElement = React.ElementRef<typeof AccordionPrimitive.Item>;\ninterface AccordionItemProps\n extends ComponentPropsWithout<typeof AccordionPrimitive.Item, RemovedProps>,\n AccordionItemOwnProps {}\n\nconst AccordionItem = React.forwardRef<AccordionItemElement, AccordionItemProps>(\n (props, forwardedRef) => {\n const { className, ...itemProps } = extractProps(props, accordionItemPropDefs);\n\n return (\n <AccordionPrimitive.Item\n {...itemProps}\n ref={forwardedRef}\n className={classNames('rt-AccordionItem', className)}\n />\n );\n },\n);\nAccordionItem.displayName = 'Accordion.Item';\n\n// Header component\ntype AccordionHeaderElement = React.ElementRef<typeof AccordionPrimitive.Header>;\ninterface AccordionHeaderProps\n extends ComponentPropsWithout<typeof AccordionPrimitive.Header, RemovedProps>,\n AccordionHeaderOwnProps {}\n\nconst AccordionHeader = React.forwardRef<AccordionHeaderElement, AccordionHeaderProps>(\n (props, forwardedRef) => {\n const { className, ...headerProps } = extractProps(props, accordionHeaderPropDefs);\n\n return (\n <AccordionPrimitive.Header\n {...headerProps}\n ref={forwardedRef}\n className={classNames('rt-AccordionHeader', className)}\n />\n );\n },\n);\nAccordionHeader.displayName = 'Accordion.Header';\n\n// Trigger component\ntype AccordionTriggerElement = React.ElementRef<typeof AccordionPrimitive.Trigger>;\ninterface AccordionTriggerProps\n extends ComponentPropsWithout<typeof AccordionPrimitive.Trigger, RemovedProps>,\n AccordionTriggerOwnProps {}\n\nconst AccordionTrigger = React.forwardRef<AccordionTriggerElement, AccordionTriggerProps>(\n ({ children, ...props }, forwardedRef) => {\n const { className, ...triggerProps } = extractProps(props, accordionTriggerPropDefs);\n\n // Radix UI handles focus management automatically\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n\n return (\n <AccordionPrimitive.Trigger\n {...triggerProps}\n ref={(node) => {\n triggerRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n }}\n className={classNames('rt-AccordionTrigger', className)}\n >\n {children}\n </AccordionPrimitive.Trigger>\n );\n },\n);\nAccordionTrigger.displayName = 'Accordion.Trigger';\n\n// Content component\ntype AccordionContentElement = React.ElementRef<typeof AccordionPrimitive.Content>;\ninterface AccordionContentProps\n extends ComponentPropsWithout<typeof AccordionPrimitive.Content, RemovedProps>,\n AccordionContentOwnProps {}\n\nconst AccordionContent = React.forwardRef<AccordionContentElement, AccordionContentProps>(\n (props, forwardedRef) => {\n const { className, children, ...contentProps } = extractProps(props, accordionContentPropDefs);\n\n return (\n <AccordionPrimitive.Content\n {...contentProps}\n ref={forwardedRef}\n className={classNames('rt-AccordionContent', className)}\n aria-live=\"polite\"\n >\n <div className=\"rt-AccordionContentInner\">{children}</div>\n </AccordionPrimitive.Content>\n );\n },\n);\nAccordionContent.displayName = 'Accordion.Content';\n\nexport {\n AccordionRoot as Root,\n AccordionItem as Item,\n AccordionHeader as Header,\n AccordionTrigger as Trigger,\n AccordionContent as Content,\n};\n\nexport type {\n AccordionRootProps as RootProps,\n AccordionItemProps as ItemProps,\n AccordionHeaderProps as HeaderProps,\n AccordionTriggerProps as TriggerProps,\n AccordionContentProps as ContentProps,\n};\n"],
|
|
5
|
-
"mappings": "oJAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,WAAAC,EAAA,SAAAC,EAAA,SAAAC,EAAA,YAAAC,IAAA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,aAAaC,MAA0B,WA0BhD,IAAMC,EAAsB,aAC1B,CAACC,EAAOC,IAAiB,CACvB,GAAM,CAAE,UAAAC,EAAW,SAAAC,EAAU,MAAAC,EAAO,OAAAC,EAAQ,MAAAC,EAAO,GAAGC,CAAoB,EACxEC,EAAaR,EAAOS,CAAqB,EAErCC,EAAaH,EAKbI,EAAoBR,EAGtBO,EAAW,OAAS,UAAYA,EAAW,cAAgB,SAC7DA,EAAW,YAAc,IAI3B,IAAME,EAAsB,cACzBC,GAA+B,CAC9B,GAAIH,EAAW,OAAS,WAAY,CAClC,IAAMI,EAAQD,EAAM,cAAc,iBAAiB,6BAA6B,EAE5EA,EAAM,MAAQ,QAChBA,EAAM,eAAe,EACAC,EAAM,CAAC,GAAG,cAC7B,gCACF,GACc,MAAM,GACXD,EAAM,MAAQ,QACvBA,EAAM,eAAe,EACDC,EAAMA,EAAM,OAAS,CAAC,GAAG,cAC3C,gCACF,GACa,MAAM,EAEvB,CACF,EACA,CAACJ,EAAW,IAAI,CAClB,EAEA,OACE,gBAACK,EAAmB,KAAnB,CACE,GAAGL,EACJ,IAAKT,EACL,UAAWe,EAAW,mBAAoBd,CAAS,EACnD,oBAAmBI,EACnB,gBAAeK,EACf,aAAYP,GAAS,OACrB,cAAaC,EACb,UAAWO,EACb,CAEJ,CACF,EACAb,EAAc,YAAc,iBAQ5B,IAAMkB,EAAsB,aAC1B,CAACjB,EAAOC,IAAiB,CACvB,GAAM,CAAE,UAAAC,EAAW,GAAGgB,CAAU,EAAIV,EAAaR,EAAOmB,CAAqB,EAE7E,OACE,gBAACJ,EAAmB,KAAnB,CACE,GAAGG,EACJ,IAAKjB,EACL,UAAWe,EAAW,mBAAoBd,CAAS,EACrD,CAEJ,CACF,EACAe,EAAc,YAAc,iBAQ5B,IAAMG,EAAwB,aAC5B,CAACpB,EAAOC,IAAiB,CACvB,GAAM,CAAE,UAAAC,EAAW,GAAGmB,CAAY,EAAIb,EAAaR,EAAOsB,CAAuB,EAEjF,OACE,gBAACP,EAAmB,OAAnB,CACE,GAAGM,EACJ,IAAKpB,EACL,UAAWe,EAAW,qBAAsBd,CAAS,EACvD,CAEJ,CACF,EACAkB,EAAgB,YAAc,mBAQ9B,IAAMG,EAAyB,aAC7B,CAAC,CAAE,SAAAC,EAAU,GAAGxB,CAAM,EAAGC,IAAiB,CACxC,GAAM,CAAE,UAAAC,EAAW,GAAGuB,CAAa,EAAIjB,EAAaR,EAAO0B,CAAwB,EAG7EC,EAAmB,SAA0B,IAAI,EAEvD,OACE,gBAACZ,EAAmB,QAAnB,CACE,GAAGU,EACJ,IAAMG,GAAS,CACbD,EAAW,QAAUC,EACjB,OAAO3B,GAAiB,WAC1BA,EAAa2B,CAAI,EACR3B,IACTA,EAAa,QAAU2B,EAE3B,EACA,UAAWZ,EAAW,sBAAuBd,CAAS,GAErDsB,CACH,CAEJ,CACF,EACAD,EAAiB,YAAc,oBAQ/B,IAAMM,EAAyB,aAC7B,CAAC7B,EAAOC,IAAiB,CACvB,GAAM,CAAE,UAAAC,EAAW,SAAAsB,EAAU,GAAGM,CAAa,EAAItB,EAAaR,EAAO+B,CAAwB,EAE7F,OACE,gBAAChB,EAAmB,QAAnB,CACE,GAAGe,EACJ,IAAK7B,EACL,UAAWe,EAAW,sBAAuBd,CAAS,EACtD,YAAU,UAEV,gBAAC,OAAI,UAAU,4BAA4BsB,CAAS,CACtD,CAEJ,CACF,EACAK,EAAiB,YAAc",
|
|
6
|
-
"names": ["accordion_exports", "__export", "AccordionContent", "AccordionHeader", "AccordionItem", "AccordionRoot", "AccordionTrigger", "React", "classNames", "AccordionPrimitive", "AccordionRoot", "props", "forwardedRef", "className", "material", "flush", "radius", "color", "extractedRadixProps", "extractProps", "accordionRootPropDefs", "radixProps", "effectiveMaterial", "handleKeyDown", "event", "items", "AccordionPrimitive", "classNames", "AccordionItem", "itemProps", "accordionItemPropDefs", "AccordionHeader", "headerProps", "accordionHeaderPropDefs", "AccordionTrigger", "children", "triggerProps", "accordionTriggerPropDefs", "triggerRef", "node", "AccordionContent", "contentProps", "accordionContentPropDefs"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b as E,d as L}from"./chunk-2NNB4ZZ5.js";import{b as N}from"./chunk-PRRJ4WRE.js";import*as e from"react";import S from"classnames";import{useVirtualizer as J}from"@tanstack/react-virtual";var Q=e.memo(function({label:r,isHighlighted:o,id:u,style:x,tabIndex:y,"data-highlighted":m,"data-index":p,onMouseEnter:f,onMouseLeave:v,onClick:h,onKeyDown:g}){return e.createElement("div",{id:u,role:"menuitem",className:S("rt-reset","rt-BaseMenuItem","rt-VirtualMenuItem"),style:x,tabIndex:y,"data-highlighted":m,"data-index":p,onMouseEnter:f,onMouseLeave:v,onClick:h,onKeyDown:g},r)},(n,r)=>!(n.label!==r.label||n["data-highlighted"]!==r["data-highlighted"]||n.style.height!==r.style.height||n.style.transform!==r.style.transform||n.tabIndex!==r.tabIndex||n.id!==r.id));function w({items:n,itemLabel:r,renderItem:o,size:u,estimatedItemSize:x,overscan:y=5,onSelect:m,className:p,style:f,"aria-label":v}){let h=e.useId(),g=e.useRef(null),[T,l]=e.useState(-1),{isInsideMenu:K,size:P,itemHeight:$}=L(),{scaling:k}=N(),I=x??(u?E(u,k):$??E(P??"2",k));if(!r&&!o)throw new Error("VirtualMenu requires either itemLabel or renderItem prop");let A=e.useMemo(()=>r?typeof r=="function"?r:t=>t[r]:null,[r]),c=e.useMemo(()=>n.length===0||T<0?-1:Math.min(T,n.length-1),[T,n.length]),B=e.useMemo(()=>typeof I=="function"?I:()=>I,[I]),M=J({count:n.length,getScrollElement:()=>g.current,estimateSize:B,overscan:y}),j=M.getVirtualItems(),R=e.useRef(n),b=e.useRef(m);R.current=n,b.current=m;let d=e.useRef(M.scrollToIndex);d.current=M.scrollToIndex;let H=e.useRef(c);H.current=c;let q=e.useCallback(t=>{let s=t.currentTarget.dataset.index;s!=null&&l(Number(s))},[]),O=e.useCallback(t=>{let s=t.currentTarget.dataset.index;if(s!=null){let a=Number(s),i=R.current;a>=0&&a<i.length&&b.current?.(i[a],a)}},[]),U=e.useCallback(()=>{},[]),W=e.useCallback(t=>{if(t.key==="Enter"||t.key===" "){t.preventDefault();let s=t.currentTarget.dataset.index;if(s!=null){let a=Number(s),i=R.current;a>=0&&a<i.length&&b.current?.(i[a],a)}}},[]),Y=e.useCallback(t=>{let s=R.current,a=H.current;switch(t.key){case"ArrowDown":{t.preventDefault();let i=a<s.length-1?a+1:0;l(i),d.current(i,{align:"auto"});break}case"ArrowUp":{t.preventDefault();let i=a>0?a-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(),a>=0&&a<s.length&&b.current?.(s[a],a);break}case"Tab":{t.preventDefault();break}case"Escape":{t.currentTarget.blur();break}}},[]),V=e.useCallback(t=>`${h}-item-${t}`,[h]),_=e.useMemo(()=>({overflow:"auto",position:"relative",...f}),[f]),C=M.getTotalSize(),F=e.useMemo(()=>({height:`${C}px`,width:"100%",position:"relative"}),[C]);return e.createElement("div",{ref:g,role:K?"group":"menu","aria-label":v,"aria-activedescendant":c>=0?V(c):void 0,tabIndex:0,onKeyDown:Y,className:S("rt-VirtualMenuRoot",p),style:_},e.createElement("div",{className:"rt-VirtualMenuViewport",style:F},j.map(t=>{let s=n[t.index],a=t.index,i=c===a,G={height:t.size,transform:`translateY(${t.start}px)`},D={id:V(a),isHighlighted:i,style:G,tabIndex:i?0:-1,"data-highlighted":i?!0:void 0,"data-index":a,onMouseEnter:q,onMouseLeave:U,onClick:O,onKeyDown:W};return o?e.createElement(o,{key:t.key,item:s,index:a,...D}):e.createElement(Q,{key:t.key,label:A(s),...D})})))}w.displayName="VirtualMenu";var z=e.forwardRef(({className:n,children:r,...o},u)=>e.createElement("div",{ref:u,role:"menuitem",className:S("rt-reset","rt-BaseMenuItem","rt-VirtualMenuItem",n),...o},r));z.displayName="VirtualMenu.Item";var X=e.memo(z,(n,r)=>{let o=n.style,u=r.style;return!(o?.height!==u?.height||o?.transform!==u?.transform||n["data-highlighted"]!==r["data-highlighted"]||n.tabIndex!==r.tabIndex||n.id!==r.id||n.className!==r.className||n.children!==r.children)}),re=Object.assign(w,{Item:X});export{re as a};
|
|
2
|
-
//# sourceMappingURL=chunk-X3UTLDGG.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
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';\nimport { useThemeContext } from './theme.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?: '1' | '2';\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('rt-reset', 'rt-BaseMenuItem', 'rt-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 const { scaling } = useThemeContext();\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, scaling)\n : (contextItemHeight ?? getMenuItemHeight(contextSize ?? '2', scaling)));\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('rt-VirtualMenuRoot', className)}\n style={rootStyle}\n >\n <div className=\"rt-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('rt-reset', 'rt-BaseMenuItem', 'rt-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", "scaling", "useThemeContext", "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 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-UBSLEGQZ.js";import{a as p}from"./chunk-GSTOGDAJ.js";import{a as m}from"./chunk-E5DJILUI.js";import{a as R}from"./chunk-OS3FCYZY.js";var y={};R(y,{Content:()=>g,List:()=>P,Root:()=>b,Trigger:()=>f});import*as e from"react";import i from"classnames";import{Tabs as n}from"radix-ui";var b=e.forwardRef((s,r)=>{let{className:o,...t}=a(s,p);return e.createElement(n.Root,{...t,ref:r,className:i("rt-TabsRoot",o)})});b.displayName="Tabs.Root";var P=e.forwardRef((s,r)=>{let{className:o,color:t,material:T,...l}=a(s,m,p),c=T;return e.createElement(n.List,{"data-accent-color":t,"data-material":c,...l,asChild:!1,ref:r,className:i("rt-BaseTabList","rt-TabsList",o)})});P.displayName="Tabs.List";var f=e.forwardRef((s,r)=>{let{className:o,children:t,...T}=s;return e.createElement(n.Trigger,{...T,asChild:!1,ref:r,className:i("rt-reset","rt-BaseTabListTrigger","rt-TabsTrigger",o)},e.createElement("span",{className:"rt-BaseTabListTriggerInner rt-TabsTriggerInner"},t),e.createElement("span",{className:"rt-BaseTabListTriggerInnerHidden rt-TabsTriggerInnerHidden"},t))});f.displayName="Tabs.Trigger";var g=e.forwardRef((s,r)=>{let{className:o,...t}=a(s,p);return e.createElement(n.Content,{...t,ref:r,className:i("rt-TabsContent",o),"aria-live":"polite","aria-atomic":"true"})});g.displayName="Tabs.Content";export{b as a,P as b,f as c,g as d,y as e};
|
|
2
|
-
//# sourceMappingURL=chunk-XCDXQLWS.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/tabs.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Tabs as TabsPrimitive } from 'radix-ui';\n\nimport { tabsListPropDefs } from './tabs.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { marginPropDefs } from '../props/margin.props.js';\n\nimport type { tabsContentPropDefs, tabsRootPropDefs } from './tabs.props.js';\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype TabsRootElement = React.ElementRef<typeof TabsPrimitive.Root>;\ntype TabsRootOwnProps = GetPropDefTypes<typeof tabsRootPropDefs>;\ninterface TabsRootProps\n extends ComponentPropsWithout<typeof TabsPrimitive.Root, 'asChild' | 'color' | 'defaultChecked'>,\n MarginProps,\n TabsRootOwnProps {}\nconst TabsRoot = React.forwardRef<TabsRootElement, TabsRootProps>((props, forwardedRef) => {\n const { className, ...rootProps } = extractProps(props, marginPropDefs);\n return (\n <TabsPrimitive.Root\n {...rootProps}\n ref={forwardedRef}\n className={classNames('rt-TabsRoot', className)}\n />\n );\n});\nTabsRoot.displayName = 'Tabs.Root';\n\ntype TabsListElement = React.ElementRef<typeof TabsPrimitive.List>;\ntype TabsListOwnProps = GetPropDefTypes<typeof tabsListPropDefs>;\ninterface TabsListProps\n extends ComponentPropsWithout<typeof TabsPrimitive.List, RemovedProps>,\n MarginProps,\n TabsListOwnProps {}\nconst TabsList = React.forwardRef<TabsListElement, TabsListProps>((props, forwardedRef) => {\n const { className, color, material: materialProp, ...listProps } = extractProps(\n props,\n tabsListPropDefs,\n marginPropDefs,\n );\n const material = materialProp;\n return (\n <TabsPrimitive.List\n data-accent-color={color}\n data-material={material}\n {...listProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-BaseTabList', 'rt-TabsList', className)}\n />\n );\n});\nTabsList.displayName = 'Tabs.List';\n\ntype TabsTriggerElement = React.ElementRef<typeof TabsPrimitive.Trigger>;\ninterface TabsTriggerProps\n extends ComponentPropsWithout<typeof TabsPrimitive.Trigger, RemovedProps> {}\nconst TabsTrigger = React.forwardRef<TabsTriggerElement, TabsTriggerProps>(\n (props, forwardedRef) => {\n const { className, children, ...triggerProps } = props;\n return (\n <TabsPrimitive.Trigger\n {...triggerProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-BaseTabListTrigger', 'rt-TabsTrigger', className)}\n >\n <span className=\"rt-BaseTabListTriggerInner rt-TabsTriggerInner\">{children}</span>\n <span className=\"rt-BaseTabListTriggerInnerHidden rt-TabsTriggerInnerHidden\">\n {children}\n </span>\n </TabsPrimitive.Trigger>\n );\n },\n);\nTabsTrigger.displayName = 'Tabs.Trigger';\n\ntype TabsContentElement = React.ElementRef<typeof TabsPrimitive.Content>;\ntype TabsContentOwnProps = GetPropDefTypes<typeof tabsContentPropDefs>;\ninterface TabsContentProps\n extends ComponentPropsWithout<typeof TabsPrimitive.Content, RemovedProps>,\n MarginProps,\n TabsContentOwnProps {}\nconst TabsContent = React.forwardRef<TabsContentElement, TabsContentProps>(\n (props, forwardedRef) => {\n const { className, ...contentProps } = extractProps(props, marginPropDefs);\n return (\n <TabsPrimitive.Content\n {...contentProps}\n ref={forwardedRef}\n className={classNames('rt-TabsContent', className)}\n aria-live=\"polite\"\n aria-atomic=\"true\"\n />\n );\n },\n);\nTabsContent.displayName = 'Tabs.Content';\n\nexport { TabsRoot as Root, TabsList as List, TabsTrigger as Trigger, TabsContent as Content };\nexport type {\n TabsRootProps as RootProps,\n TabsListProps as ListProps,\n TabsTriggerProps as TriggerProps,\n TabsContentProps as ContentProps,\n};\n"],
|
|
5
|
-
"mappings": "2JAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,SAAAC,EAAA,SAAAC,EAAA,YAAAC,IAAA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,QAAQC,MAAqB,WAiBtC,IAAMC,EAAiB,aAA2C,CAACC,EAAOC,IAAiB,CACzF,GAAM,CAAE,UAAAC,EAAW,GAAGC,CAAU,EAAIC,EAAaJ,EAAOK,CAAc,EACtE,OACE,gBAACC,EAAc,KAAd,CACE,GAAGH,EACJ,IAAKF,EACL,UAAWM,EAAW,cAAeL,CAAS,EAChD,CAEJ,CAAC,EACDH,EAAS,YAAc,YAQvB,IAAMS,EAAiB,aAA2C,CAACR,EAAOC,IAAiB,CACzF,GAAM,CAAE,UAAAC,EAAW,MAAAO,EAAO,SAAUC,EAAc,GAAGC,CAAU,EAAIP,EACjEJ,EACAY,EACAP,CACF,EACMQ,EAAWH,EACjB,OACE,gBAACJ,EAAc,KAAd,CACC,oBAAmBG,EACnB,gBAAeI,EACd,GAAGF,EACJ,QAAS,GACT,IAAKV,EACL,UAAWM,EAAW,iBAAkB,cAAeL,CAAS,EAClE,CAEJ,CAAC,EACDM,EAAS,YAAc,YAKvB,IAAMM,EAAoB,aACxB,CAACd,EAAOC,IAAiB,CACvB,GAAM,CAAE,UAAAC,EAAW,SAAAa,EAAU,GAAGC,CAAa,EAAIhB,EACjD,OACE,gBAACM,EAAc,QAAd,CACE,GAAGU,EACJ,QAAS,GACT,IAAKf,EACL,UAAWM,EAAW,WAAY,wBAAyB,iBAAkBL,CAAS,GAEtF,gBAAC,QAAK,UAAU,kDAAkDa,CAAS,EAC3E,gBAAC,QAAK,UAAU,8DACbA,CACH,CACF,CAEJ,CACF,EACAD,EAAY,YAAc,eAQ1B,IAAMG,EAAoB,aACxB,CAACjB,EAAOC,IAAiB,CACvB,GAAM,CAAE,UAAAC,EAAW,GAAGgB,CAAa,EAAId,EAAaJ,EAAOK,CAAc,EACzE,OACE,gBAACC,EAAc,QAAd,CACE,GAAGY,EACJ,IAAKjB,EACL,UAAWM,EAAW,iBAAkBL,CAAS,EACjD,YAAU,SACV,cAAY,OACd,CAEJ,CACF,EACAe,EAAY,YAAc",
|
|
6
|
-
"names": ["tabs_exports", "__export", "TabsContent", "TabsList", "TabsRoot", "TabsTrigger", "React", "classNames", "TabsPrimitive", "TabsRoot", "props", "forwardedRef", "className", "rootProps", "extractProps", "marginPropDefs", "TabsPrimitive", "classNames", "TabsList", "color", "materialProp", "listProps", "baseTabListPropDefs", "material", "TabsTrigger", "children", "triggerProps", "TabsContent", "contentProps"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b as o}from"./chunk-KRJTW535.js";import{a as e}from"./chunk-NZJGC6ZW.js";import{d as a}from"./chunk-34KVYDF6.js";var s=["1","2","3","4"],t=["raised","solid","soft","surface","outline","ghost"],r=["solid","translucent"],i={...e,size:{type:"enum",className:"rt-r-size",values:s,default:"2",responsive:!0},variant:{type:"enum",className:"rt-variant",values:t,default:"solid"},...a,...o,loading:{type:"boolean",className:"rt-loading",default:!1},fullWidth:{type:"boolean",className:"rt-full-width",default:!1},material:{type:"enum",values:r,default:void 0},flush:{type:"boolean",default:!1}};export{i as a};
|
|
2
|
-
//# sourceMappingURL=chunk-XKAWVGBL.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/_internal/base-button.props.ts"],
|
|
4
|
-
"sourcesContent": ["import { asChildPropDef } from '../../props/as-child.prop.js';\nimport { accentColorPropDef } from '../../props/color.prop.js';\nimport { radiusPropDef } from '../../props/radius.prop.js';\n\nimport type { PropDef } from '../../props/prop-def.js';\n\n/**\n * Available button sizes for responsive design\n * Size 1: 24px - Compact for toolbars and dense interfaces\n * Size 2: 32px - Standard for most interface contexts\n * Size 3: 40px - Large for important actions and mobile touch targets\n * Size 4: 48px - Extra large for hero sections and maximum impact\n */\nconst sizes = ['1', '2', '3', '4'] as const;\n\n/**\n * Available button variants for different visual contexts\n * - raised: lifted off its ground, with an edge and a shadow\n * - solid: Primary actions that should be noticed first (the default)\n * - soft: Content-heavy interfaces, natural integration\n * - surface: Elevated appearance with subtle depth\n * - outline: Secondary actions that support primary actions\n * - ghost: Utility functions that don't compete for attention\n */\nconst variants = ['raised', 'solid', 'soft', 'surface', 'outline', 'ghost'] as const;\n\n/**\n * Available panel background options (deprecated)\n * @deprecated Use `materials` instead\n */\n\n/**\n * Available material options for visual rendering\n * - solid: Opaque backgrounds and borders\n * - translucent: Elevated effects with depth and visual separation\n */\nconst materials = ['solid', 'translucent'] as const;\n\n/**\n * Base button prop definitions that define the component's API\n * \n * These props are used by all button variants (Button, IconButton, etc.)\n * to ensure consistent behavior and styling across the design system.\n * \n * Key features:\n * - Responsive sizing with mobile-first approach\n * - Six visual variants for different interface contexts\n * - Comprehensive color system with semantic meanings\n * - Loading states with automatic accessibility\n * - Material system for visual depth and elevation\n * - Polymorphic rendering support via asChild\n * \n * @example\n * ```tsx\n * // Basic button with default props\n * <BaseButton>Click me</BaseButton>\n * \n * // Button with custom size and variant\n * <BaseButton size=\"3\" variant=\"solid\">Primary Action</BaseButton>\n * \n * // Button with loading state\n * <BaseButton loading>Processing...</BaseButton>\n * \n * // Button with translucent material\n * <BaseButton material=\"translucent\">Elevated Button</BaseButton>\n * ```\n */\nconst baseButtonPropDefs = {\n ...asChildPropDef,\n /**\n * Button size for responsive design and interface density\n * Supports responsive objects: { initial: '1', sm: '2', md: '3', lg: '4' }\n */\n size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '2', responsive: true },\n /**\n * Visual variant that determines the button's appearance and context\n */\n variant: { type: 'enum', className: 'rt-variant', values: variants, default: 'solid' },\n ...accentColorPropDef,\n ...radiusPropDef,\n /**\n * Loading state that shows a spinner and disables interaction\n * Automatically sets disabled=true and provides accessibility announcements\n */\n loading: { type: 'boolean', className: 'rt-loading', default: false },\n /**\n * Full width mode that expands the button to fill its container\n * Useful for mobile layouts and form submissions\n */\n fullWidth: { type: 'boolean', className: 'rt-full-width', default: false },\n /**\n * Material type for visual rendering and depth effects\n * Controls how the button renders its visual elements\n */\n material: { type: 'enum', values: materials, default: undefined },\n /**\n * Panel background type (deprecated)\n * @deprecated Use `material` prop instead. This prop will be removed in a future version.\n */\n /**\n * Flush mode that removes visual padding for seamless text integration\n * Only effective with ghost variant\n */\n flush: { type: 'boolean', default: false },\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n loading: PropDef<boolean>;\n fullWidth: PropDef<boolean>;\n material: PropDef<(typeof materials)[number] | undefined>;\n flush: PropDef<boolean>;\n};\n\nexport { baseButtonPropDefs };\n"],
|
|
5
|
-
"mappings": "wHAaA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,GAAG,EAW3BC,EAAW,CAAC,SAAU,QAAS,OAAQ,UAAW,UAAW,OAAO,EAYpEC,EAAY,CAAC,QAAS,aAAa,EA+BnCC,EAAqB,CACzB,GAAGC,EAKH,KAAM,CAAE,KAAM,OAAQ,UAAW,YAAa,OAAQJ,EAAO,QAAS,IAAK,WAAY,EAAK,EAI5F,QAAS,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQC,EAAU,QAAS,OAAQ,EACrF,GAAGI,EACH,GAAGC,EAKH,QAAS,CAAE,KAAM,UAAW,UAAW,aAAc,QAAS,EAAM,EAKpE,UAAW,CAAE,KAAM,UAAW,UAAW,gBAAiB,QAAS,EAAM,EAKzE,SAAU,CAAE,KAAM,OAAQ,OAAQJ,EAAW,QAAS,MAAU,EAShE,MAAO,CAAE,KAAM,UAAW,QAAS,EAAM,CAC3C",
|
|
6
|
-
"names": ["sizes", "variants", "materials", "baseButtonPropDefs", "asChildPropDef", "accentColorPropDef", "radiusPropDef"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b as r}from"./chunk-KRJTW535.js";import{c as e}from"./chunk-34KVYDF6.js";var s=["1","2","3","4"],a=["raised","surface","soft","outline","ghost"],t=["none","vertical","horizontal","both"],o=["solid","translucent"],f={size:{type:"enum",className:"rt-r-size",values:s,default:"2",responsive:!0},variant:{type:"enum",className:"rt-variant",values:a,default:"raised"},resize:{type:"enum",className:"rt-r-resize",values:t,responsive:!0},material:{type:"enum",values:o,default:void 0},error:{type:"boolean",default:!1},errorMessage:{type:"string",default:void 0},required:{type:"boolean",default:!1},"aria-describedby":{type:"string",default:void 0},"aria-labelledby":{type:"string",default:void 0},...e,...r};export{f as a};
|
|
2
|
-
//# sourceMappingURL=chunk-Y3FVBAN2.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/text-area.props.tsx"],
|
|
4
|
-
"sourcesContent": ["import { colorPropDef } from '../props/color.prop.js';\nimport { radiusPropDef } from '../props/radius.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4'] as const;\nconst variants = ['raised', 'surface', 'soft', 'outline', 'ghost'] as const;\nconst resizeValues = ['none', 'vertical', 'horizontal', 'both'] as const;\nconst materials = ['solid', 'translucent'] as const;\n\n// prettier-ignore\nconst textAreaPropDefs = {\n size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '2', responsive: true },\n variant: { type: 'enum', className: 'rt-variant', values: variants, default: 'raised' },\n resize: { type: 'enum', className: 'rt-r-resize', values: resizeValues, responsive: true },\n material: { type: 'enum', values: materials, default: undefined },\n // Error and validation props\n error: { type: 'boolean', default: false },\n errorMessage: { type: 'string', default: undefined },\n required: { type: 'boolean', default: false },\n // Accessibility props\n 'aria-describedby': { type: 'string', default: undefined },\n 'aria-labelledby': { type: 'string', default: undefined },\n ...colorPropDef,\n ...radiusPropDef,\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n resize: PropDef<(typeof resizeValues)[number]>;\n material: PropDef<(typeof materials)[number] | undefined>;\n error: PropDef<boolean>;\n errorMessage: PropDef<string | undefined>;\n required: PropDef<boolean>;\n 'aria-describedby': PropDef<string | undefined>;\n 'aria-labelledby': PropDef<string | undefined>;\n};\n\nexport { textAreaPropDefs };\n"],
|
|
5
|
-
"mappings": "gFAKA,IAAMA,EAAQ,CAAC,IAAK,IAAK,IAAK,GAAG,EAC3BC,EAAW,CAAC,SAAU,UAAW,OAAQ,UAAW,OAAO,EAC3DC,EAAe,CAAC,OAAQ,WAAY,aAAc,MAAM,EACxDC,EAAY,CAAC,QAAS,aAAa,EAGnCC,EAAmB,CACvB,KAAM,CAAE,KAAM,OAAQ,UAAW,YAAa,OAAQJ,EAAO,QAAS,IAAK,WAAY,EAAK,EAC5F,QAAS,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQC,EAAU,QAAS,QAAS,EACtF,OAAQ,CAAE,KAAM,OAAQ,UAAW,cAAe,OAAQC,EAAe,WAAY,EAAK,EAC1F,SAAU,CAAE,KAAM,OAAQ,OAAQC,EAAW,QAAS,MAAU,EAEhE,MAAO,CAAE,KAAM,UAAW,QAAS,EAAM,EACzC,aAAc,CAAE,KAAM,SAAU,QAAS,MAAU,EACnD,SAAU,CAAE,KAAM,UAAW,QAAS,EAAM,EAE5C,mBAAoB,CAAE,KAAM,SAAU,QAAS,MAAU,EACzD,kBAAmB,CAAE,KAAM,SAAU,QAAS,MAAU,EACxD,GAAGE,EACH,GAAGC,CACL",
|
|
6
|
-
"names": ["sizes", "variants", "resizeValues", "materials", "textAreaPropDefs", "colorPropDef", "radiusPropDef"]
|
|
7
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import{a as Q}from"./chunk-IBF5U4QW.js";import{a as X,b as q,c as J}from"./chunk-QE2EF7A7.js";import{a as T}from"./chunk-K5SC3CZZ.js";import{a as U}from"./chunk-MQT3YJKY.js";import{a as W}from"./chunk-Y4IB7KDZ.js";import{a as w}from"./chunk-TGRRQHLQ.js";import{a as x}from"./chunk-ELZEAEN2.js";import{a as D}from"./chunk-ERNM3KVF.js";import{a as K}from"./chunk-BFLO4IVZ.js";import{a as v}from"./chunk-O6K6RZXY.js";import{b as F,c as R}from"./chunk-PRRJ4WRE.js";import{a as O}from"./chunk-F22ZRNWL.js";import{a as r}from"./chunk-CAUFRKTK.js";import{a as j}from"./chunk-HKRQ3E3I.js";import{a as i}from"./chunk-7CBZFHSQ.js";import{a as G}from"./chunk-XHKL4PG7.js";import*as e from"react";import{useCallbackRef as ie}from"radix-ui/internal";import{flushSync as re}from"react-dom";var Y=`
|
|
2
|
-
[contenteditable],
|
|
3
|
-
[role="combobox"],
|
|
4
|
-
[role="listbox"],
|
|
5
|
-
[role="menu"],
|
|
6
|
-
input:not([type="radio"], [type="checkbox"]),
|
|
7
|
-
select,
|
|
8
|
-
textarea
|
|
9
|
-
`,se=e.forwardRef(({defaultOpen:o=!0,...n},s)=>{let[u,d]=e.useState(o),h=e.useRef(null),l=e.useRef(null);return e.useEffect(()=>{function C(c){let k=c.altKey||c.ctrlKey||c.shiftKey||c.metaKey,f=document.activeElement?.closest(Y);if(c.key?.toUpperCase()==="T"&&!k&&!f){let g=!1;re(()=>{d(M=>(g=!M,g))}),g?(l.current=document.activeElement,h.current?.focus()):l.current?.focus()}}return document.addEventListener("keydown",C),()=>document.removeEventListener("keydown",C)},[]),e.createElement(_,{...n,ref:s,triggerRef:h,open:u,shortcut:e.createElement(x,{content:"Press T to show/hide the Theme Panel",side:"bottom",sideOffset:6},e.createElement(G,{asChild:!0,size:"3",tabIndex:0,className:"rt-ThemePanelShortcut"},e.createElement("button",{type:"button",onClick:()=>d(C=>!C),ref:h,"aria-label":"Toggle the Theme Panel"},"T")))})});se.displayName="ThemePanel";var _=e.forwardRef((o,n)=>{let{open:s,onAppearanceChange:u,shortcut:d,triggerRef:h,...l}=o,C=F();return e.createElement(R,{asChild:!0,radius:"medium",scaling:"100%"},e.createElement(i,{direction:"column",position:"fixed",top:"0",right:"0",mr:{initial:"2",sm:"4"},mt:{initial:"2",sm:"4"},width:{initial:"360px"},maxHeight:{initial:"calc(100svh - var(--space-2) - var(--space-2))",sm:"calc(100svh - var(--space-4) - var(--space-4))"},maxWidth:{initial:"calc(100svw - var(--space-2) - var(--space-2))",sm:"calc(100svw - var(--space-4) - var(--space-4))"},inert:s?void 0:Q,...l,ref:n,style:{zIndex:999999999,overflow:"hidden",borderRadius:"var(--radius-4)",backgroundColor:"var(--color-panel-solid)",transformOrigin:"top center",transform:s?"none":"translateX(105%)",boxShadow:s?"var(--shadow-5)":"var(--shadow-2)",...o.style}},e.createElement(j,null,e.createElement(T,{flexGrow:"1",p:{initial:"4",xs:"5"},position:"relative"},!!d&&e.createElement(T,{position:"absolute",top:"0",right:"0",m:"2"},d),e.createElement(ee,{onAppearanceChange:u,context:C})))))});_.displayName="ThemePanelImpl";var ee=e.forwardRef((o,n)=>{let{onAppearanceChange:s,context:u,...d}=o,h=F(),{appearance:l,onAppearanceChange:C,accentColor:c,onAccentColorChange:k,grayColor:f,onGrayColorChange:N,material:g,onMaterialChange:M,radius:H,onRadiusChange:te,scaling:Z,onScalingChange:ae}=u??h,[E,S]=e.useState(l==="inherit"?null:l),B=s!==void 0,$=ie(s),A=e.useCallback(t=>{let a=ce();if(l!=="inherit"){C(t);return}B?$(t):(S(t),de(t)),a()},[l,C,B,$]),I=O(c),z=f==="auto"?I:f,[oe,V]=e.useState("idle");async function ne(){let t={appearance:l===r.appearance.default?void 0:l,accentColor:c===r.accentColor.default?void 0:c,grayColor:f===r.grayColor.default?void 0:f,material:g===r.material.default?void 0:g,radius:H===r.radius.default?void 0:H,scaling:Z===r.scaling.default?void 0:Z},a=Object.keys(t).filter(p=>t[p]!==void 0).map(p=>`${p}="${t[p]}"`).join(" "),y=a?`<Theme ${a}>`:"<Theme>";V("copying"),await navigator.clipboard.writeText(y),V("copied"),setTimeout(()=>V("idle"),2e3)}return e.useEffect(()=>{function t(a){let y=a.altKey||a.ctrlKey||a.shiftKey||a.metaKey,p=document.activeElement?.closest(Y);a.key?.toUpperCase()==="D"&&!y&&!p&&A(E==="light"?"dark":"light")}return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[A,E]),e.useEffect(()=>{let t=document.documentElement,a=document.body;function y(){let b=t.classList.contains("dark")||t.classList.contains("dark-theme")||a.classList.contains("dark")||a.classList.contains("dark-theme");S(l==="inherit"?b?"dark":"light":l)}let p=new MutationObserver(function(b){b.forEach(function(le){le.attributeName==="class"&&y()})});return y(),l==="inherit"&&(p.observe(t,{attributes:!0}),p.observe(a,{attributes:!0})),()=>p.disconnect()},[l]),e.createElement(i,{direction:"column",gap:"5",...d,ref:n},e.createElement(K,{size:{initial:"3",sm:"5"},trim:"both",as:"h2"},"Theme"),e.createElement(i,{direction:"column",gap:"5"},e.createElement(P,null,e.createElement(L,{id:"accent-color-title"},"Accent color"),e.createElement(i,{wrap:"wrap",gap:"2",role:"group","aria-labelledby":"accent-color-title"},r.accentColor.values.map(t=>e.createElement(T,{asChild:!0,key:t},e.createElement("label",{className:"rt-ThemePanelSwatch","aria-label":m(t),style:{backgroundColor:`var(--${t}-9)`}},e.createElement(x,{content:`${m(t)}${c==="gray"&&z!=="gray"?` (${m(z)})`:""}`},e.createElement("input",{className:"rt-ThemePanelSwatchInput",type:"radio",name:"accentColor",value:t,checked:c===t,onChange:a=>k(a.target.value)}))))))),e.createElement(P,null,e.createElement(L,{id:"gray-color-title"},"Gray color"),e.createElement(i,{wrap:"wrap",gap:"2",role:"group","aria-labelledby":"gray-color-title"},r.grayColor.values.map(t=>e.createElement(i,{key:t,asChild:!0,align:"center",justify:"center"},e.createElement("label",{className:"rt-ThemePanelSwatch","aria-label":m(t),style:{backgroundColor:t==="auto"?`var(--${I}-9)`:t==="gray"?"var(--gray-9)":`var(--${t}-9)`,filter:t==="gray"?"saturate(0)":void 0}},e.createElement(x,{content:`${m(t)}${t==="auto"?` (${m(I)})`:""}`},e.createElement("input",{className:"rt-ThemePanelSwatchInput",type:"radio",name:"grayColor",value:t,checked:f===t,onChange:a=>N(a.target.value)}))))))),e.createElement(P,null,e.createElement(L,{id:"appearance-title"},"Appearance"),e.createElement(w,{columns:"2",gap:"2",role:"group","aria-labelledby":"appearance-title"},["light","dark"].map(t=>e.createElement("label",{key:t,className:"rt-ThemePanelRadioCard"},e.createElement("input",{className:"rt-ThemePanelRadioCardInput",type:"radio",name:"appearance",value:t,checked:E===t,onChange:a=>A(a.target.value)}),e.createElement(i,{align:"center",justify:"center",height:"32px",gap:"2"},t==="light"?e.createElement("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{margin:"0 -1px"}},e.createElement("path",{d:"M7.5 0C7.77614 0 8 0.223858 8 0.5V2.5C8 2.77614 7.77614 3 7.5 3C7.22386 3 7 2.77614 7 2.5V0.5C7 0.223858 7.22386 0 7.5 0ZM2.1967 2.1967C2.39196 2.00144 2.70854 2.00144 2.90381 2.1967L4.31802 3.61091C4.51328 3.80617 4.51328 4.12276 4.31802 4.31802C4.12276 4.51328 3.80617 4.51328 3.61091 4.31802L2.1967 2.90381C2.00144 2.70854 2.00144 2.39196 2.1967 2.1967ZM0.5 7C0.223858 7 0 7.22386 0 7.5C0 7.77614 0.223858 8 0.5 8H2.5C2.77614 8 3 7.77614 3 7.5C3 7.22386 2.77614 7 2.5 7H0.5ZM2.1967 12.8033C2.00144 12.608 2.00144 12.2915 2.1967 12.0962L3.61091 10.682C3.80617 10.4867 4.12276 10.4867 4.31802 10.682C4.51328 10.8772 4.51328 11.1938 4.31802 11.3891L2.90381 12.8033C2.70854 12.9986 2.39196 12.9986 2.1967 12.8033ZM12.5 7C12.2239 7 12 7.22386 12 7.5C12 7.77614 12.2239 8 12.5 8H14.5C14.7761 8 15 7.77614 15 7.5C15 7.22386 14.7761 7 14.5 7H12.5ZM10.682 4.31802C10.4867 4.12276 10.4867 3.80617 10.682 3.61091L12.0962 2.1967C12.2915 2.00144 12.608 2.00144 12.8033 2.1967C12.9986 2.39196 12.9986 2.70854 12.8033 2.90381L11.3891 4.31802C11.1938 4.51328 10.8772 4.51328 10.682 4.31802ZM8 12.5C8 12.2239 7.77614 12 7.5 12C7.22386 12 7 12.2239 7 12.5V14.5C7 14.7761 7.22386 15 7.5 15C7.77614 15 8 14.7761 8 14.5V12.5ZM10.682 10.682C10.8772 10.4867 11.1938 10.4867 11.3891 10.682L12.8033 12.0962C12.9986 12.2915 12.9986 12.608 12.8033 12.8033C12.608 12.9986 12.2915 12.9986 12.0962 12.8033L10.682 11.3891C10.4867 11.1938 10.4867 10.8772 10.682 10.682ZM5.5 7.5C5.5 6.39543 6.39543 5.5 7.5 5.5C8.60457 5.5 9.5 6.39543 9.5 7.5C9.5 8.60457 8.60457 9.5 7.5 9.5C6.39543 9.5 5.5 8.60457 5.5 7.5ZM7.5 4.5C5.84315 4.5 4.5 5.84315 4.5 7.5C4.5 9.15685 5.84315 10.5 7.5 10.5C9.15685 10.5 10.5 9.15685 10.5 7.5C10.5 5.84315 9.15685 4.5 7.5 4.5Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"})):e.createElement("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{margin:"0 -1px"}},e.createElement("path",{d:"M2.89998 0.499976C2.89998 0.279062 2.72089 0.0999756 2.49998 0.0999756C2.27906 0.0999756 2.09998 0.279062 2.09998 0.499976V1.09998H1.49998C1.27906 1.09998 1.09998 1.27906 1.09998 1.49998C1.09998 1.72089 1.27906 1.89998 1.49998 1.89998H2.09998V2.49998C2.09998 2.72089 2.27906 2.89998 2.49998 2.89998C2.72089 2.89998 2.89998 2.72089 2.89998 2.49998V1.89998H3.49998C3.72089 1.89998 3.89998 1.72089 3.89998 1.49998C3.89998 1.27906 3.72089 1.09998 3.49998 1.09998H2.89998V0.499976ZM5.89998 3.49998C5.89998 3.27906 5.72089 3.09998 5.49998 3.09998C5.27906 3.09998 5.09998 3.27906 5.09998 3.49998V4.09998H4.49998C4.27906 4.09998 4.09998 4.27906 4.09998 4.49998C4.09998 4.72089 4.27906 4.89998 4.49998 4.89998H5.09998V5.49998C5.09998 5.72089 5.27906 5.89998 5.49998 5.89998C5.72089 5.89998 5.89998 5.72089 5.89998 5.49998V4.89998H6.49998C6.72089 4.89998 6.89998 4.72089 6.89998 4.49998C6.89998 4.27906 6.72089 4.09998 6.49998 4.09998H5.89998V3.49998ZM1.89998 6.49998C1.89998 6.27906 1.72089 6.09998 1.49998 6.09998C1.27906 6.09998 1.09998 6.27906 1.09998 6.49998V7.09998H0.499976C0.279062 7.09998 0.0999756 7.27906 0.0999756 7.49998C0.0999756 7.72089 0.279062 7.89998 0.499976 7.89998H1.09998V8.49998C1.09998 8.72089 1.27906 8.89997 1.49998 8.89997C1.72089 8.89997 1.89998 8.72089 1.89998 8.49998V7.89998H2.49998C2.72089 7.89998 2.89998 7.72089 2.89998 7.49998C2.89998 7.27906 2.72089 7.09998 2.49998 7.09998H1.89998V6.49998ZM8.54406 0.98184L8.24618 0.941586C8.03275 0.917676 7.90692 1.1655 8.02936 1.34194C8.17013 1.54479 8.29981 1.75592 8.41754 1.97445C8.91878 2.90485 9.20322 3.96932 9.20322 5.10022C9.20322 8.37201 6.82247 11.0878 3.69887 11.6097C3.45736 11.65 3.20988 11.6772 2.96008 11.6906C2.74563 11.702 2.62729 11.9535 2.77721 12.1072C2.84551 12.1773 2.91535 12.2458 2.98667 12.3128L3.05883 12.3795L3.31883 12.6045L3.50684 12.7532L3.62796 12.8433L3.81491 12.9742L3.99079 13.089C4.11175 13.1651 4.23536 13.2375 4.36157 13.3059L4.62496 13.4412L4.88553 13.5607L5.18837 13.6828L5.43169 13.7686C5.56564 13.8128 5.70149 13.8529 5.83857 13.8885C5.94262 13.9155 6.04767 13.9401 6.15405 13.9622C6.27993 13.9883 6.40713 14.0109 6.53544 14.0298L6.85241 14.0685L7.11934 14.0892C7.24637 14.0965 7.37436 14.1002 7.50322 14.1002C11.1483 14.1002 14.1032 11.1453 14.1032 7.50023C14.1032 7.25044 14.0893 7.00389 14.0623 6.76131L14.0255 6.48407C13.991 6.26083 13.9453 6.04129 13.8891 5.82642C13.8213 5.56709 13.7382 5.31398 13.6409 5.06881L13.5279 4.80132L13.4507 4.63542L13.3766 4.48666C13.2178 4.17773 13.0353 3.88295 12.8312 3.60423L12.6782 3.40352L12.4793 3.16432L12.3157 2.98361L12.1961 2.85951L12.0355 2.70246L11.8134 2.50184L11.4925 2.24191L11.2483 2.06498L10.9562 1.87446L10.6346 1.68894L10.3073 1.52378L10.1938 1.47176L9.95488 1.3706L9.67791 1.2669L9.42566 1.1846L9.10075 1.09489L8.83599 1.03486L8.54406 0.98184ZM10.4032 5.30023C10.4032 4.27588 10.2002 3.29829 9.83244 2.40604C11.7623 3.28995 13.1032 5.23862 13.1032 7.50023C13.1032 10.593 10.596 13.1002 7.50322 13.1002C6.63646 13.1002 5.81597 12.9036 5.08355 12.5522C6.5419 12.0941 7.81081 11.2082 8.74322 10.0416C8.87963 10.2284 9.10028 10.3497 9.34928 10.3497C9.76349 10.3497 10.0993 10.0139 10.0993 9.59971C10.0993 9.24256 9.84965 8.94373 9.51535 8.86816C9.57741 8.75165 9.63653 8.63334 9.6926 8.51332C9.88358 8.63163 10.1088 8.69993 10.35 8.69993C11.0403 8.69993 11.6 8.14028 11.6 7.44993C11.6 6.75976 11.0406 6.20024 10.3505 6.19993C10.3853 5.90487 10.4032 5.60464 10.4032 5.30023Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"})),e.createElement(v,{size:"1",weight:"medium"},m(t))))))),e.createElement(P,null,e.createElement(L,{id:"radius-title"},"Radius"),e.createElement(i,{gap:"2",role:"group","aria-labelledby":"radius-title",wrap:"wrap"},r.radius.values.map(t=>e.createElement(i,{key:t,direction:"column",align:"center"},e.createElement("label",{className:"rt-ThemePanelRadioCard"},e.createElement("input",{className:"rt-ThemePanelRadioCardInput",type:"radio",name:"radius",id:`theme-panel-radius-${t}`,value:t,checked:H===t,onChange:a=>te(a.target.value)}),e.createElement(R,{asChild:!0,radius:t},e.createElement(T,{m:"3",width:{initial:"24px",sm:"32px"},height:{initial:"24px",sm:"32px"},style:{borderTopLeftRadius:t==="full"?"80%":"var(--radius-5)",backgroundImage:"linear-gradient(to bottom right, var(--accent-3), var(--accent-4))",borderTop:"2px solid var(--accent-a8)",borderLeft:"2px solid var(--accent-a8)"}}))),e.createElement(T,{asChild:!0,pt:"2"},e.createElement(v,{asChild:!0,size:"1",emphasis:"medium"},e.createElement("label",{htmlFor:`theme-panel-radius-${t}`},m(t)))))))),e.createElement(P,null,e.createElement(L,{id:"scaling-title"},"Scaling"),e.createElement(w,{columns:{initial:"repeat(3, 1fr)",sm:"5"},gap:"2",role:"group","aria-labelledby":"scaling-title"},r.scaling.values.map(t=>e.createElement("label",{key:t,className:"rt-ThemePanelRadioCard","aria-label":`Scaling ${t}`},e.createElement("input",{className:"rt-ThemePanelRadioCardInput",type:"radio",name:"scaling",value:t,checked:Z===t,onChange:a=>ae(a.target.value)}),e.createElement(i,{align:"center",justify:"center",height:"32px"},e.createElement(R,{asChild:!0,scaling:t},e.createElement(i,{align:"center",justify:"center"},e.createElement(v,{size:"1",weight:"medium"},m(t))))))))),e.createElement(P,null,e.createElement(i,{align:"center",gap:"2"},e.createElement(L,{id:"material-title"},"Material"),e.createElement(X,null,e.createElement(q,null,e.createElement(U,{size:"1",variant:"ghost",color:"gray"},e.createElement(D,{label:"Learn more about panel background options"},e.createElement("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M7.49991 0.876892C3.84222 0.876892 0.877075 3.84204 0.877075 7.49972C0.877075 11.1574 3.84222 14.1226 7.49991 14.1226C11.1576 14.1226 14.1227 11.1574 14.1227 7.49972C14.1227 3.84204 11.1576 0.876892 7.49991 0.876892ZM1.82707 7.49972C1.82707 4.36671 4.36689 1.82689 7.49991 1.82689C10.6329 1.82689 13.1727 4.36671 13.1727 7.49972C13.1727 10.6327 10.6329 13.1726 7.49991 13.1726C4.36689 13.1726 1.82707 10.6327 1.82707 7.49972ZM8.24992 4.49999C8.24992 4.9142 7.91413 5.24999 7.49992 5.24999C7.08571 5.24999 6.74992 4.9142 6.74992 4.49999C6.74992 4.08577 7.08571 3.74999 7.49992 3.74999C7.91413 3.74999 8.24992 4.08577 8.24992 4.49999ZM6.00003 5.99999H6.50003H7.50003C7.77618 5.99999 8.00003 6.22384 8.00003 6.49999V9.99999H8.50003H9.00003V11H8.50003H7.50003H6.50003H6.00003V9.99999H6.50003H7.00003V6.99999H6.50003H6.00003V5.99999Z",fillRule:"evenodd",clipRule:"evenodd"}))))),e.createElement(J,{size:"1",width:"220px",maxWidth:"90svw",minWidth:"0",side:"top",align:"center"},e.createElement(v,{as:"p",size:"1"},"Whether Card and Table panels are translucent, showing some of the background behind them.")))),e.createElement(w,{columns:{initial:"1",sm:"2"},rows:{initial:"2",sm:"1"},gap:"2",role:"group","aria-labelledby":"material-title"},r.material.values.map(t=>e.createElement("label",{key:t,className:"rt-ThemePanelRadioCard"},e.createElement("input",{className:"rt-ThemePanelRadioCardInput",type:"radio",name:"material",value:t,checked:g===t,onChange:a=>M(a.target.value)}),e.createElement(i,{align:"center",justify:"center",height:"32px",gap:"2"},t==="solid"?e.createElement("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{margin:"0 -2px"}},e.createElement("path",{d:"M0.877075 7.49988C0.877075 3.84219 3.84222 0.877045 7.49991 0.877045C11.1576 0.877045 14.1227 3.84219 14.1227 7.49988C14.1227 11.1575 11.1576 14.1227 7.49991 14.1227C3.84222 14.1227 0.877075 11.1575 0.877075 7.49988ZM7.49991 1.82704C4.36689 1.82704 1.82708 4.36686 1.82708 7.49988C1.82708 10.6329 4.36689 13.1727 7.49991 13.1727C10.6329 13.1727 13.1727 10.6329 13.1727 7.49988C13.1727 4.36686 10.6329 1.82704 7.49991 1.82704Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"})):e.createElement("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{margin:"0 -2px"}},e.createElement("path",{opacity:".05",d:"M6.78296 13.376C8.73904 9.95284 8.73904 5.04719 6.78296 1.62405L7.21708 1.37598C9.261 4.95283 9.261 10.0472 7.21708 13.624L6.78296 13.376Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}),e.createElement("path",{opacity:".1",d:"M7.28204 13.4775C9.23929 9.99523 9.23929 5.00475 7.28204 1.52248L7.71791 1.2775C9.76067 4.9119 9.76067 10.0881 7.71791 13.7225L7.28204 13.4775Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}),e.createElement("path",{opacity:".15",d:"M7.82098 13.5064C9.72502 9.99523 9.72636 5.01411 7.82492 1.50084L8.26465 1.26285C10.2465 4.92466 10.2451 10.085 8.26052 13.7448L7.82098 13.5064Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}),e.createElement("path",{opacity:".2",d:"M8.41284 13.429C10.1952 9.92842 10.1957 5.07537 8.41435 1.57402L8.85999 1.34729C10.7139 4.99113 10.7133 10.0128 8.85841 13.6559L8.41284 13.429Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}),e.createElement("path",{opacity:".25",d:"M9.02441 13.2956C10.6567 9.8379 10.6586 5.17715 9.03005 1.71656L9.48245 1.50366C11.1745 5.09919 11.1726 9.91629 9.47657 13.5091L9.02441 13.2956Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}),e.createElement("path",{opacity:".3",d:"M9.66809 13.0655C11.1097 9.69572 11.1107 5.3121 9.67088 1.94095L10.1307 1.74457C11.6241 5.24121 11.6231 9.76683 10.1278 13.2622L9.66809 13.0655Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}),e.createElement("path",{opacity:".35",d:"M10.331 12.7456C11.5551 9.52073 11.5564 5.49103 10.3347 2.26444L10.8024 2.0874C12.0672 5.42815 12.0659 9.58394 10.7985 12.9231L10.331 12.7456Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}),e.createElement("path",{opacity:".4",d:"M11.0155 12.2986C11.9938 9.29744 11.9948 5.71296 11.0184 2.71067L11.4939 2.55603C12.503 5.6589 12.502 9.35178 11.4909 12.4535L11.0155 12.2986Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}),e.createElement("path",{opacity:".45",d:"M11.7214 11.668C12.4254 9.01303 12.4262 5.99691 11.7237 3.34116L12.2071 3.21329C12.9318 5.95292 12.931 9.05728 12.2047 11.7961L11.7214 11.668Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}),e.createElement("path",{opacity:".5",d:"M12.4432 10.752C12.8524 8.63762 12.8523 6.36089 12.4429 4.2466L12.9338 4.15155C13.3553 6.32861 13.3554 8.66985 12.9341 10.847L12.4432 10.752Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}),e.createElement("path",{d:"M0.877075 7.49988C0.877075 3.84219 3.84222 0.877045 7.49991 0.877045C11.1576 0.877045 14.1227 3.84219 14.1227 7.49988C14.1227 11.1575 11.1576 14.1227 7.49991 14.1227C3.84222 14.1227 0.877075 11.1575 0.877075 7.49988ZM7.49991 1.82704C4.36689 1.82704 1.82708 4.36686 1.82708 7.49988C1.82708 10.6329 4.36689 13.1727 7.49991 13.1727C10.6329 13.1727 13.1727 10.6329 13.1727 7.49988C13.1727 4.36686 10.6329 1.82704 7.49991 1.82704Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"})),e.createElement(v,{size:"1",weight:"medium"},m(t)))))))),e.createElement(W,{style:{width:"100%"},onClick:ne},oe==="copied"?"Copied":"Copy Theme"))});ee.displayName="ThemePanelContent";function P(o){return e.createElement(i,{direction:"column",gap:"3",asChild:!0,...o},e.createElement("section",null,o.children))}function L(o){return e.createElement(K,{as:"h3",size:{initial:"1",sm:"2"},...o})}function ce(){let o=document.createElement("style");return o.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(o),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(o)},1)}}function m(o){return o.charAt(0).toUpperCase()+o.slice(1)}function de(o){let n=document.documentElement,s=n.classList.contains("light-theme"),u=n.classList.contains("dark-theme"),d=n.classList.contains("light"),h=n.classList.contains("dark");(s||u)&&(n.classList.remove("light-theme","dark-theme"),n.style.colorScheme=o,n.classList.add(`${o}-theme`)),(d||h)&&(n.classList.remove("light","dark"),n.style.colorScheme=o,n.classList.add(o)),!s&&!u&&!d&&!h&&(n.style.colorScheme=o,n.classList.add(o))}export{se as a,ee as b};
|
|
10
|
-
//# sourceMappingURL=chunk-YSHEXVBI.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/theme-panel.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport { useCallbackRef } from 'radix-ui/internal';\nimport { flushSync } from 'react-dom';\n\nimport { AccessibleIcon } from './accessible-icon.js';\nimport { Box } from './box.js';\nimport { Button } from './button.js';\nimport { Flex } from './flex.js';\nimport { Grid } from './grid.js';\nimport { Heading } from './heading.js';\nimport { IconButton } from './icon-button.js';\nimport { Kbd } from './kbd.js';\nimport * as Popover from './popover.js';\nimport { ScrollArea } from './scroll-area.js';\nimport { Text } from './text.js';\nimport { Tooltip } from './tooltip.js';\nimport { Theme, useThemeContext, type ThemeContextValue } from './theme.js';\nimport { inert } from '../helpers/inert.js';\nimport { getMatchingGrayColor } from '../helpers/get-matching-gray-color.js';\nimport { themePropDefs } from './theme.props.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ninterface ThemePanelProps extends Omit<ThemePanelImplProps, keyof ThemePanelImplPrivateProps> {\n onAppearanceChange?: (value: 'light' | 'dark') => void;\n defaultOpen?: boolean;\n}\n\nconst keyboardInputElement = `\n [contenteditable],\n [role=\"combobox\"],\n [role=\"listbox\"],\n [role=\"menu\"],\n input:not([type=\"radio\"], [type=\"checkbox\"]),\n select,\n textarea\n `;\n\nconst ThemePanel = React.forwardRef<ThemePanelImplElement, ThemePanelProps>(\n ({ defaultOpen = true, ...props }, forwardedRef) => {\n const [open, setOpen] = React.useState(defaultOpen);\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const previouslyFocusedElementRef = React.useRef<HTMLElement | null>(null);\n\n // quickly show/hide using \"T\" keypress\n React.useEffect(() => {\n function handleKeydown(event: KeyboardEvent) {\n const isModifierActive = event.altKey || event.ctrlKey || event.shiftKey || event.metaKey;\n const isKeyboardInputActive = document.activeElement?.closest(keyboardInputElement);\n const isKeyT = event.key?.toUpperCase() === 'T' && !isModifierActive;\n if (isKeyT && !isKeyboardInputActive) {\n let isOpen = false;\n flushSync(() => {\n setOpen((open) => {\n isOpen = !open;\n return isOpen;\n });\n });\n if (isOpen) {\n previouslyFocusedElementRef.current = document.activeElement as HTMLElement | null;\n triggerRef.current?.focus();\n } else {\n previouslyFocusedElementRef.current?.focus();\n }\n }\n }\n document.addEventListener('keydown', handleKeydown);\n return () => document.removeEventListener('keydown', handleKeydown);\n }, []);\n\n return (\n <ThemePanelImpl\n {...props}\n ref={forwardedRef}\n triggerRef={triggerRef}\n open={open}\n shortcut={\n <Tooltip content=\"Press T to show/hide the Theme Panel\" side=\"bottom\" sideOffset={6}>\n <Kbd asChild size=\"3\" tabIndex={0} className=\"rt-ThemePanelShortcut\">\n <button\n type=\"button\"\n onClick={() => setOpen((open) => !open)}\n ref={triggerRef}\n aria-label=\"Toggle the Theme Panel\"\n >\n T\n </button>\n </Kbd>\n </Tooltip>\n }\n />\n );\n },\n);\nThemePanel.displayName = 'ThemePanel';\n\ntype ThemePanelImplElement = React.ElementRef<'div'>;\ninterface ThemePanelImplPrivateProps {\n open: boolean;\n shortcut: React.ReactNode;\n triggerRef: React.RefObject<HTMLButtonElement | null>;\n}\ninterface ThemePanelImplProps\n extends ComponentPropsWithout<'div', RemovedProps>, ThemePanelImplPrivateProps {\n onAppearanceChange?: (value: 'light' | 'dark') => void;\n}\nconst ThemePanelImpl = React.forwardRef<ThemePanelImplElement, ThemePanelImplProps>(\n (props, forwardedRef) => {\n const { open, onAppearanceChange, shortcut, triggerRef, ...panelProps } = props;\n const themeContext = useThemeContext();\n return (\n <Theme asChild radius=\"medium\" scaling=\"100%\">\n <Flex\n direction=\"column\"\n position=\"fixed\"\n top=\"0\"\n right=\"0\"\n mr={{ initial: '2', sm: '4' }}\n mt={{ initial: '2', sm: '4' }}\n width={{ initial: '360px' }}\n maxHeight={{\n initial: 'calc(100svh - var(--space-2) - var(--space-2))',\n sm: 'calc(100svh - var(--space-4) - var(--space-4))',\n }}\n maxWidth={{\n initial: 'calc(100svw - var(--space-2) - var(--space-2))',\n sm: 'calc(100svw - var(--space-4) - var(--space-4))',\n }}\n inert={open ? undefined : inert}\n {...panelProps}\n ref={forwardedRef}\n style={{\n zIndex: 999999999,\n overflow: 'hidden',\n borderRadius: 'var(--radius-4)',\n backgroundColor: 'var(--color-panel-solid)',\n transformOrigin: 'top center',\n transform: open ? 'none' : 'translateX(105%)',\n boxShadow: open ? 'var(--shadow-5)' : 'var(--shadow-2)',\n ...props.style,\n }}\n >\n <ScrollArea>\n <Box flexGrow=\"1\" p={{ initial: '4', xs: '5' }} position=\"relative\">\n {!!shortcut && (\n <Box position=\"absolute\" top=\"0\" right=\"0\" m=\"2\">\n {shortcut}\n </Box>\n )}\n <ThemePanelContent onAppearanceChange={onAppearanceChange} context={themeContext} />\n </Box>\n </ScrollArea>\n </Flex>\n </Theme>\n );\n },\n);\nThemePanelImpl.displayName = 'ThemePanelImpl';\n\ntype ThemePanelContentElement = React.ElementRef<typeof Flex>;\ninterface ThemePanelContentProps extends ComponentPropsWithout<\n typeof Flex,\n RemovedProps | 'direction'\n> {\n onAppearanceChange?: (value: 'light' | 'dark') => void;\n context?: ThemeContextValue;\n}\nconst ThemePanelContent = React.forwardRef<ThemePanelContentElement, ThemePanelContentProps>(\n (props, forwardedRef) => {\n const {\n onAppearanceChange: onAppearanceChangeProp,\n context: contextProp,\n ...contentProps\n } = props;\n\n const themeContext = useThemeContext();\n\n const {\n appearance,\n onAppearanceChange,\n accentColor,\n onAccentColorChange,\n grayColor,\n onGrayColorChange,\n material,\n onMaterialChange,\n radius,\n onRadiusChange,\n scaling,\n onScalingChange,\n } = contextProp ?? themeContext;\n\n const [resolvedAppearance, setResolvedAppearance] = React.useState<'light' | 'dark' | null>(\n appearance === 'inherit' ? null : appearance,\n );\n const hasOnAppearanceChangeProp = onAppearanceChangeProp !== undefined;\n const handleAppearanceChangeProp = useCallbackRef(onAppearanceChangeProp);\n const handleAppearanceChange = React.useCallback(\n (value: 'light' | 'dark') => {\n const cleanup = disableAnimation();\n\n if (appearance !== 'inherit') {\n onAppearanceChange(value);\n return;\n }\n\n if (hasOnAppearanceChangeProp) {\n handleAppearanceChangeProp(value);\n } else {\n setResolvedAppearance(value);\n updateRootAppearanceClass(value);\n }\n\n cleanup();\n },\n [appearance, onAppearanceChange, hasOnAppearanceChangeProp, handleAppearanceChangeProp],\n );\n\n const autoMatchedGray = getMatchingGrayColor(accentColor);\n const resolvedGrayColor = grayColor === 'auto' ? autoMatchedGray : grayColor;\n\n const [copyState, setCopyState] = React.useState<'idle' | 'copying' | 'copied'>('idle');\n async function handleCopyThemeConfig() {\n const theme = {\n appearance: appearance === themePropDefs.appearance.default ? undefined : appearance,\n accentColor: accentColor === themePropDefs.accentColor.default ? undefined : accentColor,\n grayColor: grayColor === themePropDefs.grayColor.default ? undefined : grayColor,\n material: material === themePropDefs.material.default ? undefined : material,\n radius: radius === themePropDefs.radius.default ? undefined : radius,\n scaling: scaling === themePropDefs.scaling.default ? undefined : scaling,\n } satisfies GetPropDefTypes<typeof themePropDefs>;\n\n const props = Object.keys(theme)\n .filter((key) => theme[key as keyof typeof theme] !== undefined)\n .map((key) => `${key}=\"${theme[key as keyof typeof theme]}\"`)\n .join(' ');\n\n const textToCopy = props ? `<Theme ${props}>` : '<Theme>';\n\n setCopyState('copying');\n await navigator.clipboard.writeText(textToCopy);\n setCopyState('copied');\n setTimeout(() => setCopyState('idle'), 2000);\n }\n\n // quickly toggle appearance using \"D\" keypress\n React.useEffect(() => {\n function handleKeydown(event: KeyboardEvent) {\n const isModifierActive = event.altKey || event.ctrlKey || event.shiftKey || event.metaKey;\n const isKeyboardInputActive = document.activeElement?.closest(keyboardInputElement);\n const isKeyD = event.key?.toUpperCase() === 'D' && !isModifierActive;\n if (isKeyD && !isKeyboardInputActive) {\n handleAppearanceChange(resolvedAppearance === 'light' ? 'dark' : 'light');\n }\n }\n document.addEventListener('keydown', handleKeydown);\n return () => document.removeEventListener('keydown', handleKeydown);\n }, [handleAppearanceChange, resolvedAppearance]);\n\n React.useEffect(() => {\n const root = document.documentElement;\n const body = document.body;\n\n function update() {\n const hasDarkClass =\n root.classList.contains('dark') ||\n root.classList.contains('dark-theme') ||\n body.classList.contains('dark') ||\n body.classList.contains('dark-theme');\n\n if (appearance === 'inherit') {\n setResolvedAppearance(hasDarkClass ? 'dark' : 'light');\n } else {\n setResolvedAppearance(appearance);\n }\n }\n\n const classNameObserver = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n if (mutation.attributeName === 'class') {\n update();\n }\n });\n });\n\n update();\n\n // Observe <html> and <body> for `class` changes only when the appearance is inherited from them\n if (appearance === 'inherit') {\n classNameObserver.observe(root, { attributes: true });\n classNameObserver.observe(body, { attributes: true });\n }\n\n return () => classNameObserver.disconnect();\n }, [appearance]);\n\n return (\n <Flex direction=\"column\" gap=\"5\" {...contentProps} ref={forwardedRef}>\n <Heading size={{ initial: '3', sm: '5' }} trim=\"both\" as=\"h2\">\n Theme\n </Heading>\n <Flex direction=\"column\" gap=\"5\">\n {/* Accent color */}\n <ThemePanelSection>\n <ThemePanelHeading id=\"accent-color-title\">Accent color</ThemePanelHeading>\n <Flex wrap=\"wrap\" gap=\"2\" role=\"group\" aria-labelledby=\"accent-color-title\">\n {themePropDefs.accentColor.values.map((color) => (\n <Box asChild key={color}>\n <label\n className=\"rt-ThemePanelSwatch\"\n aria-label={upperFirst(color)}\n style={{ backgroundColor: `var(--${color}-9)` }}\n >\n <Tooltip\n content={`${upperFirst(color)}${\n accentColor === 'gray' && resolvedGrayColor !== 'gray'\n ? ` (${upperFirst(resolvedGrayColor)})`\n : ''\n }`}\n >\n <input\n className=\"rt-ThemePanelSwatchInput\"\n type=\"radio\"\n name=\"accentColor\"\n value={color}\n checked={accentColor === color}\n onChange={(event) =>\n onAccentColorChange(event.target.value as typeof accentColor)\n }\n />\n </Tooltip>\n </label>\n </Box>\n ))}\n </Flex>\n </ThemePanelSection>\n\n {/* Gray color */}\n <ThemePanelSection>\n <ThemePanelHeading id=\"gray-color-title\">Gray color</ThemePanelHeading>\n <Flex wrap=\"wrap\" gap=\"2\" role=\"group\" aria-labelledby=\"gray-color-title\">\n {themePropDefs.grayColor.values.map((gray) => (\n <Flex key={gray} asChild align=\"center\" justify=\"center\">\n <label\n className=\"rt-ThemePanelSwatch\"\n aria-label={upperFirst(gray)}\n style={{\n backgroundColor:\n gray === 'auto'\n ? `var(--${autoMatchedGray}-9)`\n : gray === 'gray'\n ? 'var(--gray-9)'\n : `var(--${gray}-9)`,\n // we override --gray so pure gray doesn't exist anymore\n // recover something as close as possible by desaturating\n filter: gray === 'gray' ? 'saturate(0)' : undefined,\n }}\n >\n <Tooltip\n content={`${upperFirst(gray)}${\n gray === 'auto' ? ` (${upperFirst(autoMatchedGray)})` : ''\n }`}\n >\n <input\n className=\"rt-ThemePanelSwatchInput\"\n type=\"radio\"\n name=\"grayColor\"\n value={gray}\n checked={grayColor === gray}\n onChange={(event) =>\n onGrayColorChange(event.target.value as typeof grayColor)\n }\n />\n </Tooltip>\n </label>\n </Flex>\n ))}\n </Flex>\n </ThemePanelSection>\n\n {/* Appearance */}\n <ThemePanelSection>\n <ThemePanelHeading id=\"appearance-title\">Appearance</ThemePanelHeading>\n <Grid columns=\"2\" gap=\"2\" role=\"group\" aria-labelledby=\"appearance-title\">\n {(['light', 'dark'] as const).map((value) => (\n <label key={value} className=\"rt-ThemePanelRadioCard\">\n <input\n className=\"rt-ThemePanelRadioCardInput\"\n type=\"radio\"\n name=\"appearance\"\n value={value}\n checked={resolvedAppearance === value}\n onChange={(event) =>\n handleAppearanceChange(event.target.value as 'light' | 'dark')\n }\n />\n <Flex align=\"center\" justify=\"center\" height=\"32px\" gap=\"2\">\n {value === 'light' ? (\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ margin: '0 -1px' }}\n >\n <path\n d=\"M7.5 0C7.77614 0 8 0.223858 8 0.5V2.5C8 2.77614 7.77614 3 7.5 3C7.22386 3 7 2.77614 7 2.5V0.5C7 0.223858 7.22386 0 7.5 0ZM2.1967 2.1967C2.39196 2.00144 2.70854 2.00144 2.90381 2.1967L4.31802 3.61091C4.51328 3.80617 4.51328 4.12276 4.31802 4.31802C4.12276 4.51328 3.80617 4.51328 3.61091 4.31802L2.1967 2.90381C2.00144 2.70854 2.00144 2.39196 2.1967 2.1967ZM0.5 7C0.223858 7 0 7.22386 0 7.5C0 7.77614 0.223858 8 0.5 8H2.5C2.77614 8 3 7.77614 3 7.5C3 7.22386 2.77614 7 2.5 7H0.5ZM2.1967 12.8033C2.00144 12.608 2.00144 12.2915 2.1967 12.0962L3.61091 10.682C3.80617 10.4867 4.12276 10.4867 4.31802 10.682C4.51328 10.8772 4.51328 11.1938 4.31802 11.3891L2.90381 12.8033C2.70854 12.9986 2.39196 12.9986 2.1967 12.8033ZM12.5 7C12.2239 7 12 7.22386 12 7.5C12 7.77614 12.2239 8 12.5 8H14.5C14.7761 8 15 7.77614 15 7.5C15 7.22386 14.7761 7 14.5 7H12.5ZM10.682 4.31802C10.4867 4.12276 10.4867 3.80617 10.682 3.61091L12.0962 2.1967C12.2915 2.00144 12.608 2.00144 12.8033 2.1967C12.9986 2.39196 12.9986 2.70854 12.8033 2.90381L11.3891 4.31802C11.1938 4.51328 10.8772 4.51328 10.682 4.31802ZM8 12.5C8 12.2239 7.77614 12 7.5 12C7.22386 12 7 12.2239 7 12.5V14.5C7 14.7761 7.22386 15 7.5 15C7.77614 15 8 14.7761 8 14.5V12.5ZM10.682 10.682C10.8772 10.4867 11.1938 10.4867 11.3891 10.682L12.8033 12.0962C12.9986 12.2915 12.9986 12.608 12.8033 12.8033C12.608 12.9986 12.2915 12.9986 12.0962 12.8033L10.682 11.3891C10.4867 11.1938 10.4867 10.8772 10.682 10.682ZM5.5 7.5C5.5 6.39543 6.39543 5.5 7.5 5.5C8.60457 5.5 9.5 6.39543 9.5 7.5C9.5 8.60457 8.60457 9.5 7.5 9.5C6.39543 9.5 5.5 8.60457 5.5 7.5ZM7.5 4.5C5.84315 4.5 4.5 5.84315 4.5 7.5C4.5 9.15685 5.84315 10.5 7.5 10.5C9.15685 10.5 10.5 9.15685 10.5 7.5C10.5 5.84315 9.15685 4.5 7.5 4.5Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n ) : (\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ margin: '0 -1px' }}\n >\n <path\n d=\"M2.89998 0.499976C2.89998 0.279062 2.72089 0.0999756 2.49998 0.0999756C2.27906 0.0999756 2.09998 0.279062 2.09998 0.499976V1.09998H1.49998C1.27906 1.09998 1.09998 1.27906 1.09998 1.49998C1.09998 1.72089 1.27906 1.89998 1.49998 1.89998H2.09998V2.49998C2.09998 2.72089 2.27906 2.89998 2.49998 2.89998C2.72089 2.89998 2.89998 2.72089 2.89998 2.49998V1.89998H3.49998C3.72089 1.89998 3.89998 1.72089 3.89998 1.49998C3.89998 1.27906 3.72089 1.09998 3.49998 1.09998H2.89998V0.499976ZM5.89998 3.49998C5.89998 3.27906 5.72089 3.09998 5.49998 3.09998C5.27906 3.09998 5.09998 3.27906 5.09998 3.49998V4.09998H4.49998C4.27906 4.09998 4.09998 4.27906 4.09998 4.49998C4.09998 4.72089 4.27906 4.89998 4.49998 4.89998H5.09998V5.49998C5.09998 5.72089 5.27906 5.89998 5.49998 5.89998C5.72089 5.89998 5.89998 5.72089 5.89998 5.49998V4.89998H6.49998C6.72089 4.89998 6.89998 4.72089 6.89998 4.49998C6.89998 4.27906 6.72089 4.09998 6.49998 4.09998H5.89998V3.49998ZM1.89998 6.49998C1.89998 6.27906 1.72089 6.09998 1.49998 6.09998C1.27906 6.09998 1.09998 6.27906 1.09998 6.49998V7.09998H0.499976C0.279062 7.09998 0.0999756 7.27906 0.0999756 7.49998C0.0999756 7.72089 0.279062 7.89998 0.499976 7.89998H1.09998V8.49998C1.09998 8.72089 1.27906 8.89997 1.49998 8.89997C1.72089 8.89997 1.89998 8.72089 1.89998 8.49998V7.89998H2.49998C2.72089 7.89998 2.89998 7.72089 2.89998 7.49998C2.89998 7.27906 2.72089 7.09998 2.49998 7.09998H1.89998V6.49998ZM8.54406 0.98184L8.24618 0.941586C8.03275 0.917676 7.90692 1.1655 8.02936 1.34194C8.17013 1.54479 8.29981 1.75592 8.41754 1.97445C8.91878 2.90485 9.20322 3.96932 9.20322 5.10022C9.20322 8.37201 6.82247 11.0878 3.69887 11.6097C3.45736 11.65 3.20988 11.6772 2.96008 11.6906C2.74563 11.702 2.62729 11.9535 2.77721 12.1072C2.84551 12.1773 2.91535 12.2458 2.98667 12.3128L3.05883 12.3795L3.31883 12.6045L3.50684 12.7532L3.62796 12.8433L3.81491 12.9742L3.99079 13.089C4.11175 13.1651 4.23536 13.2375 4.36157 13.3059L4.62496 13.4412L4.88553 13.5607L5.18837 13.6828L5.43169 13.7686C5.56564 13.8128 5.70149 13.8529 5.83857 13.8885C5.94262 13.9155 6.04767 13.9401 6.15405 13.9622C6.27993 13.9883 6.40713 14.0109 6.53544 14.0298L6.85241 14.0685L7.11934 14.0892C7.24637 14.0965 7.37436 14.1002 7.50322 14.1002C11.1483 14.1002 14.1032 11.1453 14.1032 7.50023C14.1032 7.25044 14.0893 7.00389 14.0623 6.76131L14.0255 6.48407C13.991 6.26083 13.9453 6.04129 13.8891 5.82642C13.8213 5.56709 13.7382 5.31398 13.6409 5.06881L13.5279 4.80132L13.4507 4.63542L13.3766 4.48666C13.2178 4.17773 13.0353 3.88295 12.8312 3.60423L12.6782 3.40352L12.4793 3.16432L12.3157 2.98361L12.1961 2.85951L12.0355 2.70246L11.8134 2.50184L11.4925 2.24191L11.2483 2.06498L10.9562 1.87446L10.6346 1.68894L10.3073 1.52378L10.1938 1.47176L9.95488 1.3706L9.67791 1.2669L9.42566 1.1846L9.10075 1.09489L8.83599 1.03486L8.54406 0.98184ZM10.4032 5.30023C10.4032 4.27588 10.2002 3.29829 9.83244 2.40604C11.7623 3.28995 13.1032 5.23862 13.1032 7.50023C13.1032 10.593 10.596 13.1002 7.50322 13.1002C6.63646 13.1002 5.81597 12.9036 5.08355 12.5522C6.5419 12.0941 7.81081 11.2082 8.74322 10.0416C8.87963 10.2284 9.10028 10.3497 9.34928 10.3497C9.76349 10.3497 10.0993 10.0139 10.0993 9.59971C10.0993 9.24256 9.84965 8.94373 9.51535 8.86816C9.57741 8.75165 9.63653 8.63334 9.6926 8.51332C9.88358 8.63163 10.1088 8.69993 10.35 8.69993C11.0403 8.69993 11.6 8.14028 11.6 7.44993C11.6 6.75976 11.0406 6.20024 10.3505 6.19993C10.3853 5.90487 10.4032 5.60464 10.4032 5.30023Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n )}\n <Text size=\"1\" weight=\"medium\">\n {upperFirst(value)}\n </Text>\n </Flex>\n </label>\n ))}\n </Grid>\n </ThemePanelSection>\n\n {/* Radius */}\n <ThemePanelSection>\n <ThemePanelHeading id=\"radius-title\">Radius</ThemePanelHeading>\n <Flex gap=\"2\" role=\"group\" aria-labelledby=\"radius-title\" wrap=\"wrap\">\n {themePropDefs.radius.values.map((value) => (\n <Flex key={value} direction=\"column\" align=\"center\">\n <label className=\"rt-ThemePanelRadioCard\">\n <input\n className=\"rt-ThemePanelRadioCardInput\"\n type=\"radio\"\n name=\"radius\"\n id={`theme-panel-radius-${value}`}\n value={value}\n checked={radius === value}\n onChange={(event) => onRadiusChange(event.target.value as typeof radius)}\n />\n <Theme asChild radius={value}>\n <Box\n m=\"3\"\n width={{ initial: '24px', sm: '32px' }}\n height={{ initial: '24px', sm: '32px' }}\n style={{\n borderTopLeftRadius: value === 'full' ? '80%' : 'var(--radius-5)',\n backgroundImage:\n 'linear-gradient(to bottom right, var(--accent-3), var(--accent-4))',\n borderTop: '2px solid var(--accent-a8)',\n borderLeft: '2px solid var(--accent-a8)',\n }}\n />\n </Theme>\n </label>\n <Box asChild pt=\"2\">\n <Text asChild size=\"1\" emphasis=\"medium\">\n <label htmlFor={`theme-panel-radius-${value}`}>{upperFirst(value)}</label>\n </Text>\n </Box>\n </Flex>\n ))}\n </Flex>\n </ThemePanelSection>\n\n {/* Scaling */}\n <ThemePanelSection>\n <ThemePanelHeading id=\"scaling-title\">Scaling</ThemePanelHeading>\n <Grid\n columns={{\n initial: 'repeat(3, 1fr)',\n sm: '5',\n }}\n gap=\"2\"\n role=\"group\"\n aria-labelledby=\"scaling-title\"\n >\n {themePropDefs.scaling.values.map((value) => (\n <label key={value} className=\"rt-ThemePanelRadioCard\" aria-label={`Scaling ${value}`}>\n <input\n className=\"rt-ThemePanelRadioCardInput\"\n type=\"radio\"\n name=\"scaling\"\n value={value}\n checked={scaling === value}\n onChange={(event) => onScalingChange(event.target.value as typeof scaling)}\n />\n\n <Flex align=\"center\" justify=\"center\" height=\"32px\">\n <Theme asChild scaling={value}>\n <Flex align=\"center\" justify=\"center\">\n <Text size=\"1\" weight=\"medium\">\n {upperFirst(value)}\n </Text>\n </Flex>\n </Theme>\n </Flex>\n </label>\n ))}\n </Grid>\n </ThemePanelSection>\n\n {/* Panel background */}\n <ThemePanelSection>\n <Flex align=\"center\" gap=\"2\">\n <ThemePanelHeading id=\"material-title\">Material</ThemePanelHeading>\n <Popover.Root>\n <Popover.Trigger>\n <IconButton size=\"1\" variant=\"ghost\" color=\"gray\">\n <AccessibleIcon label=\"Learn more about panel background options\">\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7.49991 0.876892C3.84222 0.876892 0.877075 3.84204 0.877075 7.49972C0.877075 11.1574 3.84222 14.1226 7.49991 14.1226C11.1576 14.1226 14.1227 11.1574 14.1227 7.49972C14.1227 3.84204 11.1576 0.876892 7.49991 0.876892ZM1.82707 7.49972C1.82707 4.36671 4.36689 1.82689 7.49991 1.82689C10.6329 1.82689 13.1727 4.36671 13.1727 7.49972C13.1727 10.6327 10.6329 13.1726 7.49991 13.1726C4.36689 13.1726 1.82707 10.6327 1.82707 7.49972ZM8.24992 4.49999C8.24992 4.9142 7.91413 5.24999 7.49992 5.24999C7.08571 5.24999 6.74992 4.9142 6.74992 4.49999C6.74992 4.08577 7.08571 3.74999 7.49992 3.74999C7.91413 3.74999 8.24992 4.08577 8.24992 4.49999ZM6.00003 5.99999H6.50003H7.50003C7.77618 5.99999 8.00003 6.22384 8.00003 6.49999V9.99999H8.50003H9.00003V11H8.50003H7.50003H6.50003H6.00003V9.99999H6.50003H7.00003V6.99999H6.50003H6.00003V5.99999Z\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n />\n </svg>\n </AccessibleIcon>\n </IconButton>\n </Popover.Trigger>\n <Popover.Content\n size=\"1\"\n width=\"220px\"\n maxWidth=\"90svw\"\n minWidth=\"0\"\n side=\"top\"\n align=\"center\"\n >\n <Text as=\"p\" size=\"1\">\n Whether Card and Table panels are translucent, showing some of the background\n behind them.\n </Text>\n </Popover.Content>\n </Popover.Root>\n </Flex>\n <Grid\n columns={{ initial: '1', sm: '2' }}\n rows={{ initial: '2', sm: '1' }}\n gap=\"2\"\n role=\"group\"\n aria-labelledby=\"material-title\"\n >\n {themePropDefs.material.values.map((value) => (\n <label key={value} className=\"rt-ThemePanelRadioCard\">\n <input\n className=\"rt-ThemePanelRadioCardInput\"\n type=\"radio\"\n name=\"material\"\n value={value}\n checked={material === value}\n onChange={(event) =>\n onMaterialChange(event.target.value as typeof material)\n }\n />\n <Flex align=\"center\" justify=\"center\" height=\"32px\" gap=\"2\">\n {value === 'solid' ? (\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ margin: '0 -2px' }}\n >\n <path\n d=\"M0.877075 7.49988C0.877075 3.84219 3.84222 0.877045 7.49991 0.877045C11.1576 0.877045 14.1227 3.84219 14.1227 7.49988C14.1227 11.1575 11.1576 14.1227 7.49991 14.1227C3.84222 14.1227 0.877075 11.1575 0.877075 7.49988ZM7.49991 1.82704C4.36689 1.82704 1.82708 4.36686 1.82708 7.49988C1.82708 10.6329 4.36689 13.1727 7.49991 13.1727C10.6329 13.1727 13.1727 10.6329 13.1727 7.49988C13.1727 4.36686 10.6329 1.82704 7.49991 1.82704Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n ) : (\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ margin: '0 -2px' }}\n >\n <path\n opacity=\".05\"\n d=\"M6.78296 13.376C8.73904 9.95284 8.73904 5.04719 6.78296 1.62405L7.21708 1.37598C9.261 4.95283 9.261 10.0472 7.21708 13.624L6.78296 13.376Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n ></path>\n <path\n opacity=\".1\"\n d=\"M7.28204 13.4775C9.23929 9.99523 9.23929 5.00475 7.28204 1.52248L7.71791 1.2775C9.76067 4.9119 9.76067 10.0881 7.71791 13.7225L7.28204 13.4775Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n ></path>\n <path\n opacity=\".15\"\n d=\"M7.82098 13.5064C9.72502 9.99523 9.72636 5.01411 7.82492 1.50084L8.26465 1.26285C10.2465 4.92466 10.2451 10.085 8.26052 13.7448L7.82098 13.5064Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n ></path>\n <path\n opacity=\".2\"\n d=\"M8.41284 13.429C10.1952 9.92842 10.1957 5.07537 8.41435 1.57402L8.85999 1.34729C10.7139 4.99113 10.7133 10.0128 8.85841 13.6559L8.41284 13.429Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n ></path>\n <path\n opacity=\".25\"\n d=\"M9.02441 13.2956C10.6567 9.8379 10.6586 5.17715 9.03005 1.71656L9.48245 1.50366C11.1745 5.09919 11.1726 9.91629 9.47657 13.5091L9.02441 13.2956Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n ></path>\n <path\n opacity=\".3\"\n d=\"M9.66809 13.0655C11.1097 9.69572 11.1107 5.3121 9.67088 1.94095L10.1307 1.74457C11.6241 5.24121 11.6231 9.76683 10.1278 13.2622L9.66809 13.0655Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n ></path>\n <path\n opacity=\".35\"\n d=\"M10.331 12.7456C11.5551 9.52073 11.5564 5.49103 10.3347 2.26444L10.8024 2.0874C12.0672 5.42815 12.0659 9.58394 10.7985 12.9231L10.331 12.7456Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n ></path>\n <path\n opacity=\".4\"\n d=\"M11.0155 12.2986C11.9938 9.29744 11.9948 5.71296 11.0184 2.71067L11.4939 2.55603C12.503 5.6589 12.502 9.35178 11.4909 12.4535L11.0155 12.2986Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n ></path>\n <path\n opacity=\".45\"\n d=\"M11.7214 11.668C12.4254 9.01303 12.4262 5.99691 11.7237 3.34116L12.2071 3.21329C12.9318 5.95292 12.931 9.05728 12.2047 11.7961L11.7214 11.668Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n ></path>\n <path\n opacity=\".5\"\n d=\"M12.4432 10.752C12.8524 8.63762 12.8523 6.36089 12.4429 4.2466L12.9338 4.15155C13.3553 6.32861 13.3554 8.66985 12.9341 10.847L12.4432 10.752Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n ></path>\n <path\n d=\"M0.877075 7.49988C0.877075 3.84219 3.84222 0.877045 7.49991 0.877045C11.1576 0.877045 14.1227 3.84219 14.1227 7.49988C14.1227 11.1575 11.1576 14.1227 7.49991 14.1227C3.84222 14.1227 0.877075 11.1575 0.877075 7.49988ZM7.49991 1.82704C4.36689 1.82704 1.82708 4.36686 1.82708 7.49988C1.82708 10.6329 4.36689 13.1727 7.49991 13.1727C10.6329 13.1727 13.1727 10.6329 13.1727 7.49988C13.1727 4.36686 10.6329 1.82704 7.49991 1.82704Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n )}\n <Text size=\"1\" weight=\"medium\">\n {upperFirst(value)}\n </Text>\n </Flex>\n </label>\n ))}\n </Grid>\n </ThemePanelSection>\n </Flex>\n <Button style={{ width: '100%' }} onClick={handleCopyThemeConfig}>\n {copyState === 'copied' ? 'Copied' : 'Copy Theme'}\n </Button>\n </Flex>\n );\n },\n);\nThemePanelContent.displayName = 'ThemePanelContent';\n\nfunction ThemePanelSection(\n props: Omit<React.ComponentPropsWithoutRef<typeof Flex>, 'asChild' | 'direction' | 'gap'>,\n) {\n return (\n <Flex direction=\"column\" gap=\"3\" asChild {...props}>\n <section>{props.children}</section>\n </Flex>\n );\n}\n\nfunction ThemePanelHeading(props: React.ComponentPropsWithoutRef<typeof Heading>) {\n return <Heading as=\"h3\" size={{ initial: '1', sm: '2' }} {...props} />;\n}\n\n// https://github.com/pacocoursey/next-themes/blob/main/packages/next-themes/src/index.tsx#L285\nfunction disableAnimation() {\n const css = document.createElement('style');\n css.appendChild(\n document.createTextNode(\n `*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}`,\n ),\n );\n document.head.appendChild(css);\n\n return () => {\n // Force restyle\n (() => window.getComputedStyle(document.body))();\n\n // Wait for next tick before removing\n setTimeout(() => {\n document.head.removeChild(css);\n }, 1);\n };\n}\n\nfunction upperFirst(string: string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nfunction updateRootAppearanceClass(appearance: 'light' | 'dark') {\n const root = document.documentElement;\n const hasLightTheme = root.classList.contains('light-theme');\n const hasDarkTheme = root.classList.contains('dark-theme');\n const hasLight = root.classList.contains('light');\n const hasDark = root.classList.contains('dark');\n\n if (hasLightTheme || hasDarkTheme) {\n root.classList.remove('light-theme', 'dark-theme');\n root.style.colorScheme = appearance;\n root.classList.add(`${appearance}-theme`);\n }\n\n if (hasLight || hasDark) {\n root.classList.remove('light', 'dark');\n root.style.colorScheme = appearance;\n root.classList.add(appearance);\n }\n\n if (!hasLightTheme && !hasDarkTheme && !hasLight && !hasDark) {\n root.style.colorScheme = appearance;\n root.classList.add(appearance);\n }\n}\n\nexport { ThemePanel, ThemePanelContent };\nexport type { ThemePanelProps, ThemePanelContentProps };\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["React", "useCallbackRef", "flushSync", "keyboardInputElement", "ThemePanel", "defaultOpen", "props", "forwardedRef", "open", "setOpen", "triggerRef", "previouslyFocusedElementRef", "handleKeydown", "event", "isModifierActive", "isKeyboardInputActive", "isOpen", "flushSync", "ThemePanelImpl", "Tooltip", "Kbd", "onAppearanceChange", "shortcut", "panelProps", "themeContext", "useThemeContext", "Theme", "Flex", "inert", "ScrollArea", "Box", "ThemePanelContent", "onAppearanceChangeProp", "contextProp", "contentProps", "appearance", "accentColor", "onAccentColorChange", "grayColor", "onGrayColorChange", "material", "onMaterialChange", "radius", "onRadiusChange", "scaling", "onScalingChange", "resolvedAppearance", "setResolvedAppearance", "hasOnAppearanceChangeProp", "handleAppearanceChangeProp", "useCallbackRef", "handleAppearanceChange", "value", "cleanup", "disableAnimation", "updateRootAppearanceClass", "autoMatchedGray", "getMatchingGrayColor", "resolvedGrayColor", "copyState", "setCopyState", "handleCopyThemeConfig", "theme", "themePropDefs", "key", "textToCopy", "root", "body", "update", "hasDarkClass", "classNameObserver", "mutations", "mutation", "Heading", "ThemePanelSection", "ThemePanelHeading", "color", "upperFirst", "gray", "Grid", "Text", "PopoverRoot", "PopoverTrigger", "IconButton", "AccessibleIcon", "PopoverContent", "Button", "css", "string", "hasLightTheme", "hasDarkTheme", "hasLight", "hasDark"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as l}from"./chunk-PS6NEG5A.js";import{a as N}from"./chunk-UBSLEGQZ.js";import{a as v}from"./chunk-GSTOGDAJ.js";import{a as f}from"./chunk-E5DJILUI.js";import{a as P}from"./chunk-OS3FCYZY.js";var d={};P(d,{Link:()=>c,Root:()=>T});import*as a from"react";import b from"classnames";import{NavigationMenu as r}from"radix-ui";var T=a.forwardRef((n,s)=>{let{children:e,className:p,color:i,material:o,...m}=N(n,f,v),t=o;return a.createElement(r.Root,{className:"rt-TabNavRoot","data-accent-color":i,...m,asChild:!1,ref:s},a.createElement(r.List,{className:b("rt-reset","rt-BaseTabList","rt-TabNavList",p),"data-material":t},e))});T.displayName="TabNav.Root";var c=a.forwardRef((n,s)=>{let{asChild:e,children:p,className:i,active:o,...m}=n;return a.createElement(r.Item,{className:"rt-TabNavItem"},a.createElement(r.Link,{...m,ref:s,className:b("rt-reset","rt-BaseTabListTrigger","rt-TabNavLink",i),onSelect:void 0,asChild:e,"aria-current":o?"page":void 0,"data-active":o||void 0},l({asChild:e,children:p},t=>a.createElement(a.Fragment,null,a.createElement("span",{className:"rt-BaseTabListTriggerInner rt-TabNavLinkInner"},t),a.createElement("span",{className:"rt-BaseTabListTriggerInnerHidden rt-TabNavLinkInnerHidden"},t)))))});c.displayName="TabNav.Link";export{T as a,c as b,d as c};
|
|
2
|
-
//# sourceMappingURL=chunk-Z2LGVLUB.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/tab-nav.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { NavigationMenu } from 'radix-ui';\n\nimport { tabNavRootPropDefs } from './tab-nav.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { getSubtree } from '../helpers/get-subtree.js';\nimport { marginPropDefs } from '../props/margin.props.js';\n\nimport type { tabNavLinkPropDefs } from './tab-nav.props.js';\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype TabNavRootElement = React.ElementRef<typeof NavigationMenu.Root>;\ntype TabNavRootElementProps = ComponentPropsWithout<'nav', RemovedProps>;\ntype TabNavOwnProps = GetPropDefTypes<typeof tabNavRootPropDefs>;\ninterface TabNavRootProps\n extends Omit<TabNavRootElementProps, 'defaultValue' | 'dir' | 'color'>,\n MarginProps,\n TabNavOwnProps {}\nconst TabNavRoot = React.forwardRef<TabNavRootElement, TabNavRootProps>((props, forwardedRef) => {\n const { children, className, color, material: materialProp, ...rootProps } = extractProps(\n props,\n tabNavRootPropDefs,\n marginPropDefs,\n );\n const material = materialProp;\n return (\n <NavigationMenu.Root\n className=\"rt-TabNavRoot\"\n data-accent-color={color}\n {...rootProps}\n asChild={false}\n ref={forwardedRef}\n >\n <NavigationMenu.List\n className={classNames('rt-reset', 'rt-BaseTabList', 'rt-TabNavList', className)}\n data-material={material}\n >\n {children}\n </NavigationMenu.List>\n </NavigationMenu.Root>\n );\n});\nTabNavRoot.displayName = 'TabNav.Root';\n\ntype TabNavLinkElement = React.ElementRef<typeof NavigationMenu.Link>;\ntype TabNavLinkOwnProps = GetPropDefTypes<typeof tabNavLinkPropDefs>;\ninterface TabNavLinkProps\n extends ComponentPropsWithout<typeof NavigationMenu.Link, RemovedProps | 'onSelect'>,\n TabNavLinkOwnProps {}\nconst TabNavLink = React.forwardRef<TabNavLinkElement, TabNavLinkProps>((props, forwardedRef) => {\n const { asChild, children, className, active, ...linkProps } = props;\n\n return (\n <NavigationMenu.Item className=\"rt-TabNavItem\">\n <NavigationMenu.Link\n {...linkProps}\n ref={forwardedRef}\n className={classNames('rt-reset', 'rt-BaseTabListTrigger', 'rt-TabNavLink', className)}\n onSelect={undefined}\n asChild={asChild}\n aria-current={active ? 'page' : undefined}\n data-active={active || undefined}\n >\n {getSubtree({ asChild, children }, (children) => (\n <>\n <span className=\"rt-BaseTabListTriggerInner rt-TabNavLinkInner\">{children}</span>\n <span className=\"rt-BaseTabListTriggerInnerHidden rt-TabNavLinkInnerHidden\">\n {children}\n </span>\n </>\n ))}\n </NavigationMenu.Link>\n </NavigationMenu.Item>\n );\n});\nTabNavLink.displayName = 'TabNav.Link';\n\nexport { TabNavRoot as Root, TabNavLink as Link };\nexport type { TabNavRootProps as RootProps, TabNavLinkProps as LinkProps };\n"],
|
|
5
|
-
"mappings": "wMAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,UAAAE,EAAA,SAAAC,IAAA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,kBAAAC,MAAsB,WAmB/B,IAAMC,EAAmB,aAA+C,CAACC,EAAOC,IAAiB,CAC/F,GAAM,CAAE,SAAAC,EAAU,UAAAC,EAAW,MAAAC,EAAO,SAAUC,EAAc,GAAGC,CAAU,EAAIC,EAC3EP,EACAQ,EACAC,CACF,EACMC,EAAWL,EACjB,OACE,gBAACM,EAAe,KAAf,CACC,UAAU,gBACV,oBAAmBP,EAClB,GAAGE,EACJ,QAAS,GACT,IAAKL,GAEL,gBAACU,EAAe,KAAf,CACC,UAAWC,EAAW,WAAY,iBAAkB,gBAAiBT,CAAS,EAC9E,gBAAeO,GAEdR,CACH,CACF,CAEJ,CAAC,EACDH,EAAW,YAAc,cAOzB,IAAMc,EAAmB,aAA+C,CAACb,EAAOC,IAAiB,CAC/F,GAAM,CAAE,QAAAa,EAAS,SAAAZ,EAAU,UAAAC,EAAW,OAAAY,EAAQ,GAAGC,CAAU,EAAIhB,EAE/D,OACE,gBAACW,EAAe,KAAf,CAAoB,UAAU,iBAC7B,gBAACA,EAAe,KAAf,CACE,GAAGK,EACJ,IAAKf,EACL,UAAWW,EAAW,WAAY,wBAAyB,gBAAiBT,CAAS,EACrF,SAAU,OACV,QAASW,EACT,eAAcC,EAAS,OAAS,OAChC,cAAaA,GAAU,QAEtBE,EAAW,CAAE,QAAAH,EAAS,SAAAZ,CAAS,EAAIA,GAClC,gCACE,gBAAC,QAAK,UAAU,iDAAiDA,CAAS,EAC1E,gBAAC,QAAK,UAAU,6DACbA,CACH,CACF,CACD,CACH,CACF,CAEJ,CAAC,EACDW,EAAW,YAAc",
|
|
6
|
-
"names": ["tab_nav_exports", "__export", "TabNavLink", "TabNavRoot", "React", "classNames", "NavigationMenu", "TabNavRoot", "props", "forwardedRef", "children", "className", "color", "materialProp", "rootProps", "extractProps", "baseTabListPropDefs", "marginPropDefs", "material", "NavigationMenu", "classNames", "TabNavLink", "asChild", "active", "linkProps", "getSubtree"]
|
|
7
|
-
}
|