@logicplanes/kaeso-ui 0.4.4 → 0.4.6
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/ai/component-guides.md +250 -98
- package/ai/component-registry.json +264 -236
- package/ai/component-registry.md +222 -218
- package/ai/icons.md +1 -1
- package/ai/tokens.md +18 -14
- package/dist/blocks/delete-resource.js +3 -3
- package/dist/blocks/delete-resource.js.map +1 -1
- package/dist/blocks/pages.js +47 -42
- package/dist/blocks/pages.js.map +1 -1
- package/dist/blocks/resource-list.js +68 -55
- package/dist/blocks/resource-list.js.map +1 -1
- package/dist/chunks/agent-avatar-DHieggHK.js +188 -0
- package/dist/chunks/agent-avatar-DHieggHK.js.map +1 -0
- package/dist/chunks/app-frame-DysOel2X.js +232 -0
- package/dist/chunks/app-frame-DysOel2X.js.map +1 -0
- package/dist/chunks/arrow-focus-B0KdRFX8.js +20 -0
- package/dist/chunks/arrow-focus-B0KdRFX8.js.map +1 -0
- package/dist/chunks/avatar-CYNMK7uY.js +110 -0
- package/dist/chunks/avatar-CYNMK7uY.js.map +1 -0
- package/dist/chunks/badge-C0GC3B9X.js +27 -0
- package/dist/chunks/badge-C0GC3B9X.js.map +1 -0
- package/dist/chunks/banner-B3DGLTBu.js +88 -0
- package/dist/chunks/banner-B3DGLTBu.js.map +1 -0
- package/dist/chunks/button-IblhXUyZ.js +202 -0
- package/dist/chunks/button-IblhXUyZ.js.map +1 -0
- package/dist/chunks/{calendar-BWaf2MXc.js → calendar-Dc6_dl0f.js} +4 -4
- package/dist/chunks/calendar-Dc6_dl0f.js.map +1 -0
- package/dist/chunks/checkbox-9tbimmF3.js +141 -0
- package/dist/chunks/checkbox-9tbimmF3.js.map +1 -0
- package/dist/chunks/{cn-Dj6sRgkF.js → cn-BjnOAUrA.js} +45 -4
- package/dist/chunks/cn-BjnOAUrA.js.map +1 -0
- package/dist/chunks/code-block-64e-Cy1S.js +346 -0
- package/dist/chunks/code-block-64e-Cy1S.js.map +1 -0
- package/dist/chunks/{code-block-DdNPHEzI.js → code-block-KIvuE8jg.js} +122 -114
- package/dist/chunks/code-block-KIvuE8jg.js.map +1 -0
- package/dist/chunks/{code-tqj0uhBL.js → code-xqjww4Pv.js} +5 -6
- package/dist/chunks/code-xqjww4Pv.js.map +1 -0
- package/dist/chunks/combobox-DkcjkWc6.js +352 -0
- package/dist/chunks/combobox-DkcjkWc6.js.map +1 -0
- package/dist/chunks/command-list-CypqsC4T.js +456 -0
- package/dist/chunks/command-list-CypqsC4T.js.map +1 -0
- package/dist/chunks/{copy-button-FJvPJn72.js → copy-button-CwU8t_9_.js} +22 -15
- package/dist/chunks/copy-button-CwU8t_9_.js.map +1 -0
- package/dist/chunks/core-CmK-8ObW.js +505 -0
- package/dist/chunks/core-CmK-8ObW.js.map +1 -0
- package/dist/chunks/data-table-CqY8_6IS.js +581 -0
- package/dist/chunks/data-table-CqY8_6IS.js.map +1 -0
- package/dist/chunks/date-popup-DAnjptFt.js +58 -0
- package/dist/chunks/date-popup-DAnjptFt.js.map +1 -0
- package/dist/chunks/{de-D_0mmG-k.js → de-CqC4aSIV.js} +74 -40
- package/dist/chunks/de-CqC4aSIV.js.map +1 -0
- package/dist/chunks/{dialog-Cg9A_6SF.js → dialog-2zb6ClNR.js} +156 -134
- package/dist/chunks/dialog-2zb6ClNR.js.map +1 -0
- package/dist/chunks/disclosure-BtYRTDO3.js +22 -0
- package/dist/chunks/disclosure-BtYRTDO3.js.map +1 -0
- package/dist/chunks/domain-obd_w9xk.js +28 -0
- package/dist/chunks/domain-obd_w9xk.js.map +1 -0
- package/dist/chunks/{empty-DvhyMXQq.js → empty-BpiUgGzm.js} +2 -2
- package/dist/chunks/{empty-DvhyMXQq.js.map → empty-BpiUgGzm.js.map} +1 -1
- package/dist/chunks/{field-TviMvYa2.js → field-D7m-yl-D.js} +37 -34
- package/dist/chunks/field-D7m-yl-D.js.map +1 -0
- package/dist/chunks/{icon-D7ja-_Yk.js → icon-CBzOwqrX.js} +7 -6
- package/dist/chunks/{icon-D7ja-_Yk.js.map → icon-CBzOwqrX.js.map} +1 -1
- package/dist/chunks/{icon-button-CrdF_eMG.js → icon-button-Dfwpvmav.js} +7 -6
- package/dist/chunks/icon-button-Dfwpvmav.js.map +1 -0
- package/dist/chunks/{identity-BmhQ6BQ-.js → identity-3Foi5F8w.js} +7 -7
- package/dist/chunks/{identity-BmhQ6BQ-.js.map → identity-3Foi5F8w.js.map} +1 -1
- package/dist/chunks/{input-2VJuj_M4.js → input-Bo5-UZg2.js} +15 -9
- package/dist/chunks/input-Bo5-UZg2.js.map +1 -0
- package/dist/chunks/{input-group-DQ_4DoXg.js → input-group-jPcK9T_a.js} +42 -29
- package/dist/chunks/input-group-jPcK9T_a.js.map +1 -0
- package/dist/chunks/iso-field-DoqHBg8n.js +52 -0
- package/dist/chunks/iso-field-DoqHBg8n.js.map +1 -0
- package/dist/chunks/json-view-DZ2nL2Ir.js +253 -0
- package/dist/chunks/json-view-DZ2nL2Ir.js.map +1 -0
- package/dist/chunks/{kbd-BF1vKXJf.js → kbd-8A0ML_up.js} +30 -28
- package/dist/chunks/kbd-8A0ML_up.js.map +1 -0
- package/dist/chunks/label-DW24Aj0Z.js +26 -0
- package/dist/chunks/label-DW24Aj0Z.js.map +1 -0
- package/dist/chunks/{link-KWI7PevW.js → link-CMjkcLQK.js} +14 -14
- package/dist/chunks/link-CMjkcLQK.js.map +1 -0
- package/dist/chunks/list-B4G-sWwV.js +540 -0
- package/dist/chunks/list-B4G-sWwV.js.map +1 -0
- package/dist/chunks/{loader-DCfPndXa.js → loader-zo8CCIGJ.js} +2 -2
- package/dist/chunks/{loader-DCfPndXa.js.map → loader-zo8CCIGJ.js.map} +1 -1
- package/dist/chunks/markdown-C565aBR7.js +338 -0
- package/dist/chunks/markdown-C565aBR7.js.map +1 -0
- package/dist/chunks/menu-Clvv6ftq.js +485 -0
- package/dist/chunks/menu-Clvv6ftq.js.map +1 -0
- package/dist/chunks/merge-refs-BN1FyQt9.js +20 -0
- package/dist/chunks/merge-refs-BN1FyQt9.js.map +1 -0
- package/dist/chunks/meter-CASMHlxl.js +100 -0
- package/dist/chunks/meter-CASMHlxl.js.map +1 -0
- package/dist/chunks/nav-sheet-Dt6JSvzX.js +67 -0
- package/dist/chunks/nav-sheet-Dt6JSvzX.js.map +1 -0
- package/dist/chunks/{nav-wordmark-_pjheAsZ.js → nav-wordmark-J4pB_vjr.js} +4 -8
- package/dist/chunks/nav-wordmark-J4pB_vjr.js.map +1 -0
- package/dist/chunks/page-header-kS5tdmvb.js +45 -0
- package/dist/chunks/page-header-kS5tdmvb.js.map +1 -0
- package/dist/chunks/pagination-D7fAm8qg.js +147 -0
- package/dist/chunks/pagination-D7fAm8qg.js.map +1 -0
- package/dist/chunks/picker-popover-1FHb1LQG.js +119 -0
- package/dist/chunks/picker-popover-1FHb1LQG.js.map +1 -0
- package/dist/chunks/popover-Bl5QYqnh.js +51 -0
- package/dist/chunks/popover-Bl5QYqnh.js.map +1 -0
- package/dist/chunks/{portal-context-BBbzDKmY.js → portal-context-CTatR2Z8.js} +14 -4
- package/dist/chunks/portal-context-CTatR2Z8.js.map +1 -0
- package/dist/chunks/{radio-CDDFpdtL.js → radio-C6GtzF_t.js} +38 -23
- package/dist/chunks/radio-C6GtzF_t.js.map +1 -0
- package/dist/chunks/range-popup-lGiZsG3s.js +160 -0
- package/dist/chunks/range-popup-lGiZsG3s.js.map +1 -0
- package/dist/chunks/reasoning-frame-C3HdQRRS.js +51 -0
- package/dist/chunks/reasoning-frame-C3HdQRRS.js.map +1 -0
- package/dist/chunks/release-art-ChiT4T2S.js +582 -0
- package/dist/chunks/release-art-ChiT4T2S.js.map +1 -0
- package/dist/chunks/rights-B68ocZuq.js +312 -0
- package/dist/chunks/rights-B68ocZuq.js.map +1 -0
- package/dist/chunks/{scroll-area-D8MD7Vpo.js → scroll-area-_Ljh4-bG.js} +11 -6
- package/dist/chunks/scroll-area-_Ljh4-bG.js.map +1 -0
- package/dist/chunks/section-CFBYhsUi.js +77 -0
- package/dist/chunks/section-CFBYhsUi.js.map +1 -0
- package/dist/chunks/section-header-DU1Q4Tdf.js +28 -0
- package/dist/chunks/section-header-DU1Q4Tdf.js.map +1 -0
- package/dist/chunks/segmented-D9i1avik.js +119 -0
- package/dist/chunks/segmented-D9i1avik.js.map +1 -0
- package/dist/chunks/select-BqjmQOqx.js +222 -0
- package/dist/chunks/select-BqjmQOqx.js.map +1 -0
- package/dist/chunks/{separator-D7TzNHmX.js → separator-BNWf6BBj.js} +13 -8
- package/dist/chunks/separator-BNWf6BBj.js.map +1 -0
- package/dist/chunks/sidebar-Dq7oGOje.js +664 -0
- package/dist/chunks/sidebar-Dq7oGOje.js.map +1 -0
- package/dist/chunks/{sidebar-menu-BN3jkTlK.js → sidebar-menu-QSSNu1jJ.js} +2 -2
- package/dist/chunks/{sidebar-menu-BN3jkTlK.js.map → sidebar-menu-QSSNu1jJ.js.map} +1 -1
- package/dist/chunks/{skeleton-Dcz57Zyp.js → skeleton-D-qk3mes.js} +3 -3
- package/dist/chunks/skeleton-D-qk3mes.js.map +1 -0
- package/dist/chunks/slider-CcE8GtuV.js +58 -0
- package/dist/chunks/slider-CcE8GtuV.js.map +1 -0
- package/dist/chunks/{status-dot-QJTF0Yv4.js → status-dot-CP6runiC.js} +4 -4
- package/dist/chunks/{status-dot-QJTF0Yv4.js.map → status-dot-CP6runiC.js.map} +1 -1
- package/dist/chunks/{styles-CVJU9t9v.js → styles-hkFkoBbi.js} +2 -2
- package/dist/chunks/{styles-CVJU9t9v.js.map → styles-hkFkoBbi.js.map} +1 -1
- package/dist/chunks/{swap-text-Dr0Irxz6.js → swap-text-SlUjrTlG.js} +3 -3
- package/dist/chunks/swap-text-SlUjrTlG.js.map +1 -0
- package/dist/chunks/switch-ngywMQdl.js +76 -0
- package/dist/chunks/switch-ngywMQdl.js.map +1 -0
- package/dist/chunks/table-CTK5E0J7.js +102 -0
- package/dist/chunks/table-CTK5E0J7.js.map +1 -0
- package/dist/chunks/tag-BGr6lTSV.js +100 -0
- package/dist/chunks/tag-BGr6lTSV.js.map +1 -0
- package/dist/chunks/{text-CIXH8rmT.js → text-DkKdTVUf.js} +9 -9
- package/dist/chunks/text-DkKdTVUf.js.map +1 -0
- package/dist/chunks/{textarea--4FRL3Pb.js → textarea-CO0HP6fK.js} +47 -36
- package/dist/chunks/textarea-CO0HP6fK.js.map +1 -0
- package/dist/chunks/timeseries-Ck-q0wWn.js +381 -0
- package/dist/chunks/timeseries-Ck-q0wWn.js.map +1 -0
- package/dist/chunks/toolbar-u0Gm7Q7-.js +61 -0
- package/dist/chunks/toolbar-u0Gm7Q7-.js.map +1 -0
- package/dist/chunks/tooltip-Tkm-urbi.js +202 -0
- package/dist/chunks/tooltip-Tkm-urbi.js.map +1 -0
- package/dist/chunks/tooltip-root-BC_RNNiP.js +70 -0
- package/dist/chunks/tooltip-root-BC_RNNiP.js.map +1 -0
- package/dist/chunks/truncated-d1afmUJT.js +33 -0
- package/dist/chunks/truncated-d1afmUJT.js.map +1 -0
- package/dist/chunks/use-coarse-pointer-Ml5oE6oX.js +28 -0
- package/dist/chunks/use-coarse-pointer-Ml5oE6oX.js.map +1 -0
- package/dist/chunks/use-hydrating-COtYVRo4.js +8 -0
- package/dist/chunks/use-hydrating-COtYVRo4.js.map +1 -0
- package/dist/chunks/use-scroll-fade-uc8mWSDX.js +30 -0
- package/dist/chunks/use-scroll-fade-uc8mWSDX.js.map +1 -0
- package/dist/chunks/{zh-CN-Bm6UPIbW.js → zh-CN-BlpsT6d_.js} +73 -39
- package/dist/chunks/zh-CN-BlpsT6d_.js.map +1 -0
- package/dist/components/agent-avatar.js +1 -1
- package/dist/components/app-frame.js +2 -2
- package/dist/components/avatar.js +1 -1
- package/dist/components/badge.js +1 -1
- package/dist/components/banner.js +1 -1
- package/dist/components/button-group.js +22 -22
- package/dist/components/button-group.js.map +1 -1
- package/dist/components/button.js +1 -1
- package/dist/components/calendar.js +1 -1
- package/dist/components/charts/bar.js +235 -160
- package/dist/components/charts/bar.js.map +1 -1
- package/dist/components/charts/donut.js +144 -99
- package/dist/components/charts/donut.js.map +1 -1
- package/dist/components/charts/gauge.js +61 -49
- package/dist/components/charts/gauge.js.map +1 -1
- package/dist/components/charts/heatmap.js +179 -70
- package/dist/components/charts/heatmap.js.map +1 -1
- package/dist/components/charts/sankey.js +144 -77
- package/dist/components/charts/sankey.js.map +1 -1
- package/dist/components/charts/sparkline.js +54 -38
- package/dist/components/charts/sparkline.js.map +1 -1
- package/dist/components/charts/timeseries.js +1 -1
- package/dist/components/charts.js +2 -2
- package/dist/components/checkbox.js +1 -1
- package/dist/components/code-block.js +3 -3
- package/dist/components/code.js +1 -1
- package/dist/components/collapsible.js +77 -1
- package/dist/components/collapsible.js.map +1 -0
- package/dist/components/combobox.js +1 -1
- package/dist/components/command-list.js +2 -2
- package/dist/components/command-palette.js +89 -66
- package/dist/components/command-palette.js.map +1 -1
- package/dist/components/copy-button.js +1 -1
- package/dist/components/data-table.js +1 -459
- package/dist/components/date-picker.js +162 -151
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/dialog.js +74 -63
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/display-options.js +76 -64
- package/dist/components/display-options.js.map +1 -1
- package/dist/components/empty.js +1 -1
- package/dist/components/field.js +1 -1
- package/dist/components/figure.js +2 -2
- package/dist/components/filter-chip.js +36 -27
- package/dist/components/filter-chip.js.map +1 -1
- package/dist/components/filter-row.js +4 -4
- package/dist/components/filter-row.js.map +1 -1
- package/dist/components/flow.js +94 -63
- package/dist/components/flow.js.map +1 -1
- package/dist/components/heading.js +1 -1
- package/dist/components/icon-button.js +1 -1
- package/dist/components/icon.js +1 -1
- package/dist/components/input.js +176 -98
- package/dist/components/input.js.map +1 -1
- package/dist/components/kaeso/conversation.js +51 -46
- package/dist/components/kaeso/conversation.js.map +1 -1
- package/dist/components/kaeso/identity.js +1 -1
- package/dist/components/kaeso/moments.js +23 -20
- package/dist/components/kaeso/moments.js.map +1 -1
- package/dist/components/kaeso/rights.js +1 -1
- package/dist/components/kaeso/usage.js +90 -74
- package/dist/components/kaeso/usage.js.map +1 -1
- package/dist/components/kaeso.js +200 -187
- package/dist/components/kaeso.js.map +1 -1
- package/dist/components/kbd.js +1 -1
- package/dist/components/key-value.js +32 -47
- package/dist/components/key-value.js.map +1 -1
- package/dist/components/label.js +1 -25
- package/dist/components/layout.js +2 -2
- package/dist/components/layout.js.map +1 -1
- package/dist/components/link.js +1 -1
- package/dist/components/list.js +1 -1
- package/dist/components/loader.js +11 -10
- package/dist/components/loader.js.map +1 -1
- package/dist/components/logo.js +2 -2
- package/dist/components/markdown.js +1 -1
- package/dist/components/menu.js +2 -2
- package/dist/components/meter.js +1 -1
- package/dist/components/page-header.js +1 -1
- package/dist/components/pagination.js +1 -1
- package/dist/components/playground.js +644 -529
- package/dist/components/playground.js.map +1 -1
- package/dist/components/popover.js +4 -4
- package/dist/components/popover.js.map +1 -1
- package/dist/components/portal.js +1 -1
- package/dist/components/qr-code.js +2 -2
- package/dist/components/qr-code.js.map +1 -1
- package/dist/components/radio.js +1 -1
- package/dist/components/release-art.js +1 -1
- package/dist/components/scroll-area.js +1 -1
- package/dist/components/section.js +1 -1
- package/dist/components/segmented.js +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/separator.js +1 -1
- package/dist/components/settings.js +39 -46
- package/dist/components/settings.js.map +1 -1
- package/dist/components/sheet.js +10 -9
- package/dist/components/sheet.js.map +1 -1
- package/dist/components/sidebar.js +1 -1
- package/dist/components/skeleton.js +1 -1
- package/dist/components/slider.js +1 -1
- package/dist/components/stat.js +98 -84
- package/dist/components/stat.js.map +1 -1
- package/dist/components/status-dot.js +1 -1
- package/dist/components/surface.js +1 -1
- package/dist/components/swap-text.js +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/table.js +1 -1
- package/dist/components/tabs.js +73 -55
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/tag.js +1 -1
- package/dist/components/text.js +1 -1
- package/dist/components/theme-image.js +1 -1
- package/dist/components/theme-menu.js +5 -2
- package/dist/components/theme-menu.js.map +1 -1
- package/dist/components/theme-select.js +1 -1
- package/dist/components/thumbnail.js +35 -24
- package/dist/components/thumbnail.js.map +1 -1
- package/dist/components/timeline.js +51 -35
- package/dist/components/timeline.js.map +1 -1
- package/dist/components/toast.js +76 -66
- package/dist/components/toast.js.map +1 -1
- package/dist/components/toc.js +14 -8
- package/dist/components/toc.js.map +1 -1
- package/dist/components/toolbar.js +1 -1
- package/dist/components/tooltip.js +1 -1
- package/dist/components/visually-hidden.js +1 -1
- package/dist/i18n-provider.js +1 -1
- package/dist/index.js +100 -100
- package/dist/kaeso.css +605 -67
- package/dist/styles.css +1 -1
- package/dist/tailwind.css +1 -1
- package/dist/types/blocks/delete-resource/delete-resource.d.ts +2 -2
- package/dist/types/components/agent-avatar/agent-avatar.d.ts +24 -19
- package/dist/types/components/badge/badge.d.ts +3 -3
- package/dist/types/components/banner/banner.d.ts +3 -3
- package/dist/types/components/button/button.d.ts +2 -2
- package/dist/types/components/button-group/button-group.d.ts +1 -1
- package/dist/types/components/charts/domain.d.ts +11 -0
- package/dist/types/components/charts/marks.d.ts +1 -0
- package/dist/types/components/code/code.d.ts +3 -3
- package/dist/types/components/code-block/json-view.d.ts +2 -1
- package/dist/types/components/code-block/numbers.d.ts +1 -0
- package/dist/types/components/collapsible/collapsible.d.ts +2 -2
- package/dist/types/components/collapsible/disclosure.d.ts +2 -0
- package/dist/types/components/data-table/data-table.d.ts +6 -5
- package/dist/types/components/data-table/docs.d.ts +1 -0
- package/dist/types/components/data-table/time-columns.d.ts +1 -0
- package/dist/types/components/date-picker/focus-day.d.ts +1 -0
- package/dist/types/components/date-picker/iso-field.d.ts +8 -1
- package/dist/types/components/dialog/dialog.d.ts +7 -7
- package/dist/types/components/field/field.d.ts +1 -1
- package/dist/types/components/flow/flow.d.ts +1 -1
- package/dist/types/components/icon-button/icon-button.d.ts +1 -1
- package/dist/types/components/input/input-group.d.ts +2 -0
- package/dist/types/components/input/number-input.d.ts +4 -4
- package/dist/types/components/input/otp-input.d.ts +3 -3
- package/dist/types/components/kaeso/client-button.d.ts +2 -1
- package/dist/types/components/kaeso/provider-picker.d.ts +1 -0
- package/dist/types/components/kaeso/rights.d.ts +1 -1
- package/dist/types/components/kaeso/role-picker.d.ts +1 -0
- package/dist/types/components/key-value/key-value.d.ts +2 -2
- package/dist/types/components/layout/layout.d.ts +2 -2
- package/dist/types/components/link/link.d.ts +4 -4
- package/dist/types/components/list/list.d.ts +2 -2
- package/dist/types/components/menu/menu.d.ts +2 -1
- package/dist/types/components/menu/styles.d.ts +3 -3
- package/dist/types/components/meter/meter.d.ts +3 -3
- package/dist/types/components/page-header/page-header.d.ts +1 -1
- package/dist/types/components/pagination/pagination.d.ts +2 -2
- package/dist/types/components/playground/prompt-suggestions.d.ts +1 -0
- package/dist/types/components/playground/reasoning-frame.d.ts +14 -0
- package/dist/types/components/playground/reasoning.d.ts +1 -0
- package/dist/types/components/popover/popover.d.ts +1 -1
- package/dist/types/components/scroll-area/scroll-area.d.ts +2 -2
- package/dist/types/components/section/section-header.d.ts +6 -0
- package/dist/types/components/segmented/segmented.d.ts +1 -0
- package/dist/types/components/select/select.d.ts +1 -1
- package/dist/types/components/sheet/sheet.d.ts +3 -3
- package/dist/types/components/sidebar/sidebar.d.ts +1 -0
- package/dist/types/components/slider/slider.d.ts +2 -2
- package/dist/types/components/stat/stat.d.ts +1 -1
- package/dist/types/components/tabs/tabs.d.ts +6 -4
- package/dist/types/components/text/truncated.d.ts +7 -0
- package/dist/types/components/timeline/timeline.d.ts +5 -5
- package/dist/types/components/toc/toc.d.ts +1 -1
- package/dist/types/components/toolbar/toolbar.d.ts +1 -1
- package/dist/types/components/tooltip/tooltip.d.ts +2 -2
- package/dist/types/components/tooltip/trigger-props.d.ts +1 -0
- package/dist/types/hooks/use-coarse-pointer.d.ts +1 -0
- package/dist/types/hooks/use-hydrating.d.ts +1 -0
- package/dist/types/utils/arrow-focus.d.ts +4 -1
- package/dist/types/utils/cn.d.ts +33 -0
- package/dist/types/utils/portal-context.d.ts +7 -1
- package/dist/utils.js +2 -2
- package/foundations/accessibility.md +3 -2
- package/foundations/color.md +5 -1
- package/foundations/elevation.md +1 -0
- package/foundations/motion.md +1 -1
- package/foundations/shape.md +2 -2
- package/foundations/typography.md +12 -12
- package/package.json +2 -2
- package/dist/chunks/agent-avatar-0pdBTWkR.js +0 -171
- package/dist/chunks/agent-avatar-0pdBTWkR.js.map +0 -1
- package/dist/chunks/app-frame-DogGRmsu.js +0 -221
- package/dist/chunks/app-frame-DogGRmsu.js.map +0 -1
- package/dist/chunks/arrow-focus-BcySmwwU.js +0 -11
- package/dist/chunks/arrow-focus-BcySmwwU.js.map +0 -1
- package/dist/chunks/avatar-CWbdwbJv.js +0 -83
- package/dist/chunks/avatar-CWbdwbJv.js.map +0 -1
- package/dist/chunks/badge-C2KtxCLB.js +0 -26
- package/dist/chunks/badge-C2KtxCLB.js.map +0 -1
- package/dist/chunks/banner-BA2ALw9M.js +0 -85
- package/dist/chunks/banner-BA2ALw9M.js.map +0 -1
- package/dist/chunks/button-CzuxqawA.js +0 -164
- package/dist/chunks/button-CzuxqawA.js.map +0 -1
- package/dist/chunks/calendar-BWaf2MXc.js.map +0 -1
- package/dist/chunks/checkbox-CQjwCPkc.js +0 -126
- package/dist/chunks/checkbox-CQjwCPkc.js.map +0 -1
- package/dist/chunks/cn-Dj6sRgkF.js.map +0 -1
- package/dist/chunks/code-block-BZIe_B9l.js +0 -334
- package/dist/chunks/code-block-BZIe_B9l.js.map +0 -1
- package/dist/chunks/code-block-DdNPHEzI.js.map +0 -1
- package/dist/chunks/code-tqj0uhBL.js.map +0 -1
- package/dist/chunks/collapsible-CKrCX_T9.js +0 -87
- package/dist/chunks/collapsible-CKrCX_T9.js.map +0 -1
- package/dist/chunks/combobox-DjDI7SUC.js +0 -319
- package/dist/chunks/combobox-DjDI7SUC.js.map +0 -1
- package/dist/chunks/command-list-C2Y7V_lt.js +0 -418
- package/dist/chunks/command-list-C2Y7V_lt.js.map +0 -1
- package/dist/chunks/copy-button-FJvPJn72.js.map +0 -1
- package/dist/chunks/core-BYns5ytV.js +0 -472
- package/dist/chunks/core-BYns5ytV.js.map +0 -1
- package/dist/chunks/date-popup-CPA_zt6o.js +0 -35
- package/dist/chunks/date-popup-CPA_zt6o.js.map +0 -1
- package/dist/chunks/de-D_0mmG-k.js.map +0 -1
- package/dist/chunks/dialog-Cg9A_6SF.js.map +0 -1
- package/dist/chunks/field-TviMvYa2.js.map +0 -1
- package/dist/chunks/hidden-description-B2zSmLcn.js +0 -23
- package/dist/chunks/hidden-description-B2zSmLcn.js.map +0 -1
- package/dist/chunks/icon-button-CrdF_eMG.js.map +0 -1
- package/dist/chunks/input-2VJuj_M4.js.map +0 -1
- package/dist/chunks/input-group-DQ_4DoXg.js.map +0 -1
- package/dist/chunks/iso-field-B2rTwiBo.js +0 -33
- package/dist/chunks/iso-field-B2rTwiBo.js.map +0 -1
- package/dist/chunks/json-view-Dqd2TDkc.js +0 -175
- package/dist/chunks/json-view-Dqd2TDkc.js.map +0 -1
- package/dist/chunks/kbd-BF1vKXJf.js.map +0 -1
- package/dist/chunks/link-KWI7PevW.js.map +0 -1
- package/dist/chunks/list-M1csq-d4.js +0 -494
- package/dist/chunks/list-M1csq-d4.js.map +0 -1
- package/dist/chunks/markdown-BupwFOae.js +0 -313
- package/dist/chunks/markdown-BupwFOae.js.map +0 -1
- package/dist/chunks/menu-DEmBfdPm.js +0 -450
- package/dist/chunks/menu-DEmBfdPm.js.map +0 -1
- package/dist/chunks/meter-Bj4N3Xuh.js +0 -84
- package/dist/chunks/meter-Bj4N3Xuh.js.map +0 -1
- package/dist/chunks/nav-sheet-CzgIwgAm.js +0 -60
- package/dist/chunks/nav-sheet-CzgIwgAm.js.map +0 -1
- package/dist/chunks/nav-wordmark-_pjheAsZ.js.map +0 -1
- package/dist/chunks/page-header-DL2y2iZp.js +0 -41
- package/dist/chunks/page-header-DL2y2iZp.js.map +0 -1
- package/dist/chunks/pagination-Cn_qF4cg.js +0 -86
- package/dist/chunks/pagination-Cn_qF4cg.js.map +0 -1
- package/dist/chunks/picker-popover-BxyU1U9F.js +0 -106
- package/dist/chunks/picker-popover-BxyU1U9F.js.map +0 -1
- package/dist/chunks/popover-DNN4S47w.js +0 -50
- package/dist/chunks/popover-DNN4S47w.js.map +0 -1
- package/dist/chunks/portal-context-BBbzDKmY.js.map +0 -1
- package/dist/chunks/radio-CDDFpdtL.js.map +0 -1
- package/dist/chunks/range-popup-CRyWYUB1.js +0 -128
- package/dist/chunks/range-popup-CRyWYUB1.js.map +0 -1
- package/dist/chunks/release-art-ZwfFQImt.js +0 -561
- package/dist/chunks/release-art-ZwfFQImt.js.map +0 -1
- package/dist/chunks/rights-Cyp0Pzp-.js +0 -279
- package/dist/chunks/rights-Cyp0Pzp-.js.map +0 -1
- package/dist/chunks/scroll-area-D8MD7Vpo.js.map +0 -1
- package/dist/chunks/scroll-parent-WXvzQcUo.js +0 -14
- package/dist/chunks/scroll-parent-WXvzQcUo.js.map +0 -1
- package/dist/chunks/section-Ce1efbsP.js +0 -87
- package/dist/chunks/section-Ce1efbsP.js.map +0 -1
- package/dist/chunks/segmented-CErcoxwi.js +0 -114
- package/dist/chunks/segmented-CErcoxwi.js.map +0 -1
- package/dist/chunks/select-x4XVsdCI.js +0 -210
- package/dist/chunks/select-x4XVsdCI.js.map +0 -1
- package/dist/chunks/separator-D7TzNHmX.js.map +0 -1
- package/dist/chunks/sidebar-3r1ZRXlN.js +0 -621
- package/dist/chunks/sidebar-3r1ZRXlN.js.map +0 -1
- package/dist/chunks/skeleton-Dcz57Zyp.js.map +0 -1
- package/dist/chunks/slider-Ci83PGtj.js +0 -57
- package/dist/chunks/slider-Ci83PGtj.js.map +0 -1
- package/dist/chunks/swap-text-Dr0Irxz6.js.map +0 -1
- package/dist/chunks/switch-BNMq_kGt.js +0 -59
- package/dist/chunks/switch-BNMq_kGt.js.map +0 -1
- package/dist/chunks/table-BeOSKl_3.js +0 -84
- package/dist/chunks/table-BeOSKl_3.js.map +0 -1
- package/dist/chunks/tag-D_M1s2qS.js +0 -87
- package/dist/chunks/tag-D_M1s2qS.js.map +0 -1
- package/dist/chunks/text-CIXH8rmT.js.map +0 -1
- package/dist/chunks/textarea--4FRL3Pb.js.map +0 -1
- package/dist/chunks/timeseries-D1xjRXfk.js +0 -339
- package/dist/chunks/timeseries-D1xjRXfk.js.map +0 -1
- package/dist/chunks/toolbar-WA_oZgu-.js +0 -37
- package/dist/chunks/toolbar-WA_oZgu-.js.map +0 -1
- package/dist/chunks/tooltip-OcwO0VUT.js +0 -154
- package/dist/chunks/tooltip-OcwO0VUT.js.map +0 -1
- package/dist/chunks/tooltip-root-DzahJDVj.js +0 -60
- package/dist/chunks/tooltip-root-DzahJDVj.js.map +0 -1
- package/dist/chunks/zh-CN-Bm6UPIbW.js.map +0 -1
- package/dist/components/data-table.js.map +0 -1
- package/dist/components/label.js.map +0 -1
|
@@ -0,0 +1,485 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { i as e, o as t, s as n, t as r } from "./styles-hkFkoBbi.js";
|
|
3
|
+
import { t as i } from "./cn-BjnOAUrA.js";
|
|
4
|
+
import { r as a } from "./link-provider-cvl8lSTT.js";
|
|
5
|
+
import { n as o, r as s } from "./portal-context-CTatR2Z8.js";
|
|
6
|
+
import { t as c } from "./icon-CBzOwqrX.js";
|
|
7
|
+
import { i as l } from "./kbd-8A0ML_up.js";
|
|
8
|
+
import { n as u, t as d } from "./use-layout-width-CbSDbRb0.js";
|
|
9
|
+
import { createContext as f, forwardRef as p, useCallback as m, useContext as h, useId as g, useLayoutEffect as _, useRef as v, useState as y } from "react";
|
|
10
|
+
import { Fragment as b, jsx as x, jsxs as S } from "react/jsx-runtime";
|
|
11
|
+
import { ArrowRight01Icon as C, ArrowUpRight01Icon as ee, Tick02Icon as w } from "@hugeicons/core-free-icons";
|
|
12
|
+
import { Menu as T } from "@base-ui/react/menu";
|
|
13
|
+
import { ContextMenu as E } from "@base-ui/react/context-menu";
|
|
14
|
+
import { Menubar as D } from "@base-ui/react/menubar";
|
|
15
|
+
//#region src/components/menu/menu.tsx
|
|
16
|
+
var O = {
|
|
17
|
+
item: {
|
|
18
|
+
default: { classes: "" },
|
|
19
|
+
danger: { classes: r }
|
|
20
|
+
},
|
|
21
|
+
width: {
|
|
22
|
+
auto: { classes: "" },
|
|
23
|
+
trigger: { classes: "w-anchor" }
|
|
24
|
+
},
|
|
25
|
+
description: {
|
|
26
|
+
secondary: { classes: "text-fg-secondary" },
|
|
27
|
+
danger: { classes: "text-danger-text" }
|
|
28
|
+
}
|
|
29
|
+
}, k = {
|
|
30
|
+
item: "default",
|
|
31
|
+
width: "auto",
|
|
32
|
+
description: "secondary"
|
|
33
|
+
}, A = { current: null }, j = /* @__PURE__ */ f(null);
|
|
34
|
+
function M({ open: e, defaultOpen: t, onOpenChange: n, modal: r = !1, children: i }) {
|
|
35
|
+
let a = v(null);
|
|
36
|
+
return /* @__PURE__ */ x(T.Root, {
|
|
37
|
+
...e === void 0 ? {} : { open: e },
|
|
38
|
+
...t === void 0 ? {} : { defaultOpen: t },
|
|
39
|
+
...n ? { onOpenChange: (e) => n(e) } : {},
|
|
40
|
+
modal: r,
|
|
41
|
+
children: /* @__PURE__ */ x(j.Provider, {
|
|
42
|
+
value: a,
|
|
43
|
+
children: i
|
|
44
|
+
})
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
process.env.NODE_ENV !== "production" && (M.displayName = "Menu");
|
|
48
|
+
function N({ children: e, openOnHover: t }) {
|
|
49
|
+
let n = h(j), r = m((e) => {
|
|
50
|
+
n && (n.current = e);
|
|
51
|
+
}, [n]);
|
|
52
|
+
return /* @__PURE__ */ x(T.Trigger, {
|
|
53
|
+
ref: r,
|
|
54
|
+
render: e,
|
|
55
|
+
...t ? { openOnHover: t } : {}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
process.env.NODE_ENV !== "production" && (N.displayName = "Menu.Trigger");
|
|
59
|
+
function P(e, t) {
|
|
60
|
+
return function(n) {
|
|
61
|
+
let { role: r, id: a, "aria-labelledby": o, "aria-orientation": s, children: c, className: l, ...u } = n;
|
|
62
|
+
return /* @__PURE__ */ x("div", {
|
|
63
|
+
...u,
|
|
64
|
+
className: i(l, "overflow-hidden p-0"),
|
|
65
|
+
children: /* @__PURE__ */ S("div", {
|
|
66
|
+
className: "flex min-h-0 flex-1 flex-col overflow-y-auto overscroll-contain rounded-menu p-6 scrollbar-quiet",
|
|
67
|
+
children: [
|
|
68
|
+
e && /* @__PURE__ */ x("div", {
|
|
69
|
+
className: "mb-6 px-10 pt-6 pb-10 hairline-b",
|
|
70
|
+
children: e
|
|
71
|
+
}),
|
|
72
|
+
/* @__PURE__ */ x("div", {
|
|
73
|
+
role: r,
|
|
74
|
+
id: a,
|
|
75
|
+
"aria-labelledby": o,
|
|
76
|
+
"aria-orientation": s,
|
|
77
|
+
className: "flex flex-col",
|
|
78
|
+
children: c
|
|
79
|
+
}),
|
|
80
|
+
t && /* @__PURE__ */ x("div", {
|
|
81
|
+
className: "px-10 pt-6 pb-4 text-caption text-fg-tertiary",
|
|
82
|
+
children: t
|
|
83
|
+
})
|
|
84
|
+
]
|
|
85
|
+
})
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
var F = /* @__PURE__ */ p(function({ children: e, side: n = "bottom", align: r = "start", sideOffset: a = 6, alignOffset: c = 0, width: l = "auto", className: f, header: p, footer: m }, g) {
|
|
90
|
+
let _ = h(j), y = u(_ ?? A, l === "trigger" && !!_), b = v(null);
|
|
91
|
+
return /* @__PURE__ */ x(T.Portal, {
|
|
92
|
+
container: s(),
|
|
93
|
+
children: /* @__PURE__ */ x(T.Positioner, {
|
|
94
|
+
positionMethod: "fixed",
|
|
95
|
+
collisionBoundary: o(),
|
|
96
|
+
side: n,
|
|
97
|
+
align: r,
|
|
98
|
+
sideOffset: a,
|
|
99
|
+
alignOffset: c,
|
|
100
|
+
collisionPadding: 8,
|
|
101
|
+
className: "z-50 outline-none",
|
|
102
|
+
children: /* @__PURE__ */ x(T.Popup, {
|
|
103
|
+
ref: (e) => {
|
|
104
|
+
b.current = e, typeof g == "function" ? g(e) : g && (g.current = e);
|
|
105
|
+
},
|
|
106
|
+
finalFocus: () => {
|
|
107
|
+
let e = document.activeElement;
|
|
108
|
+
return e && e !== document.body && !b.current?.contains(e) ? !1 : !_?.current?.isConnected || _.current;
|
|
109
|
+
},
|
|
110
|
+
tabIndex: 0,
|
|
111
|
+
className: i(t, O.width[l].classes, f),
|
|
112
|
+
style: l === "trigger" ? d(y) : void 0,
|
|
113
|
+
...p || m ? { render: P(p, m) } : {},
|
|
114
|
+
children: e
|
|
115
|
+
})
|
|
116
|
+
})
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
process.env.NODE_ENV !== "production" && (F.displayName = "Menu.Popup");
|
|
120
|
+
var I = /* @__PURE__ */ p(function(e, t) {
|
|
121
|
+
return /* @__PURE__ */ x(F, {
|
|
122
|
+
ref: t,
|
|
123
|
+
...e
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
process.env.NODE_ENV !== "production" && (I.displayName = "Menu.Content");
|
|
127
|
+
function L({ icon: e, leading: t, description: n, descriptionTone: r = "secondary", shortcut: a, hint: o, children: s, danger: u, hintId: d }) {
|
|
128
|
+
return /* @__PURE__ */ S(b, { children: [
|
|
129
|
+
t ? /* @__PURE__ */ x("span", {
|
|
130
|
+
className: i("flex size-16 shrink-0 items-center justify-center", n && "self-start mt-10"),
|
|
131
|
+
children: t
|
|
132
|
+
}) : e && /* @__PURE__ */ x(c, {
|
|
133
|
+
icon: e,
|
|
134
|
+
size: "sm",
|
|
135
|
+
className: i(u ? "text-danger-text forced-colors:text-current" : "text-fg-secondary group-data-highlighted/item:text-fg group-data-disabled/item:text-fg-disabled forced-colors:text-current", n && "self-start mt-10")
|
|
136
|
+
}),
|
|
137
|
+
n ? /* @__PURE__ */ S("span", {
|
|
138
|
+
className: "flex min-w-0 flex-1 flex-col gap-2 py-8",
|
|
139
|
+
children: [/* @__PURE__ */ x("span", {
|
|
140
|
+
className: "text-pretty wrap-break-word",
|
|
141
|
+
children: s
|
|
142
|
+
}), /* @__PURE__ */ x("span", {
|
|
143
|
+
className: i("text-small font-regular whitespace-normal", O.description[r].classes),
|
|
144
|
+
children: n
|
|
145
|
+
})]
|
|
146
|
+
}) : /* @__PURE__ */ x("span", {
|
|
147
|
+
className: "min-w-0 flex-1 py-6 text-pretty wrap-break-word",
|
|
148
|
+
children: s
|
|
149
|
+
}),
|
|
150
|
+
(a || o) && /* @__PURE__ */ S("span", {
|
|
151
|
+
id: d,
|
|
152
|
+
"aria-hidden": !0,
|
|
153
|
+
className: "ml-auto flex shrink-0 items-center gap-4 pl-16 text-caption font-medium text-fg-tertiary tabular group-data-highlighted/item:text-fg-secondary forced-colors:text-current",
|
|
154
|
+
children: [o, a && /* @__PURE__ */ x(l, { keys: a })]
|
|
155
|
+
})
|
|
156
|
+
] });
|
|
157
|
+
}
|
|
158
|
+
var R = /* @__PURE__ */ p(function({ children: t, icon: n, leading: r, description: a, descriptionTone: o, shortcut: s, hint: c, variant: l = "default", disabled: u, onClick: d, closeOnClick: f, className: p, "data-force": m }, h) {
|
|
159
|
+
let _ = g();
|
|
160
|
+
return /* @__PURE__ */ x(T.Item, {
|
|
161
|
+
ref: h,
|
|
162
|
+
...s || c ? { "aria-describedby": _ } : {},
|
|
163
|
+
...u ? { disabled: u } : {},
|
|
164
|
+
...d ? { onClick: d } : {},
|
|
165
|
+
...f === void 0 ? {} : { closeOnClick: f },
|
|
166
|
+
...m ? { "data-force": m } : {},
|
|
167
|
+
className: i(e, O.item[l].classes, p),
|
|
168
|
+
children: /* @__PURE__ */ x(L, {
|
|
169
|
+
icon: n,
|
|
170
|
+
leading: r,
|
|
171
|
+
description: a,
|
|
172
|
+
descriptionTone: o,
|
|
173
|
+
shortcut: s,
|
|
174
|
+
hint: c,
|
|
175
|
+
danger: l === "danger",
|
|
176
|
+
hintId: _,
|
|
177
|
+
children: t
|
|
178
|
+
})
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
process.env.NODE_ENV !== "production" && (R.displayName = "Menu.Item");
|
|
182
|
+
var z = /* @__PURE__ */ p(function({ children: t, href: n, external: r, icon: o, leading: s, description: l, descriptionTone: u, shortcut: d, hint: f, className: p }, m) {
|
|
183
|
+
let h = a(), _ = g();
|
|
184
|
+
return /* @__PURE__ */ x(T.LinkItem, {
|
|
185
|
+
ref: m,
|
|
186
|
+
...d || f ? { "aria-describedby": _ } : {},
|
|
187
|
+
href: n,
|
|
188
|
+
...r ? {
|
|
189
|
+
target: "_blank",
|
|
190
|
+
rel: "noopener noreferrer"
|
|
191
|
+
} : { render: /* @__PURE__ */ x(h, { href: n }) },
|
|
192
|
+
className: i(e, "no-underline", p),
|
|
193
|
+
children: /* @__PURE__ */ x(L, {
|
|
194
|
+
icon: o,
|
|
195
|
+
leading: s,
|
|
196
|
+
description: l,
|
|
197
|
+
descriptionTone: u,
|
|
198
|
+
shortcut: d,
|
|
199
|
+
hint: f ?? (r ? /* @__PURE__ */ x(c, {
|
|
200
|
+
icon: ee,
|
|
201
|
+
size: "xs"
|
|
202
|
+
}) : void 0),
|
|
203
|
+
hintId: _,
|
|
204
|
+
children: t
|
|
205
|
+
})
|
|
206
|
+
});
|
|
207
|
+
});
|
|
208
|
+
process.env.NODE_ENV !== "production" && (z.displayName = "Menu.LinkItem");
|
|
209
|
+
var B = /* @__PURE__ */ p(function({ children: t, icon: n, leading: r, description: a, descriptionTone: o, shortcut: s, hint: l, checked: u, defaultChecked: d, onCheckedChange: f, disabled: p, closeOnClick: m = !1, className: h }, _) {
|
|
210
|
+
let v = g();
|
|
211
|
+
return /* @__PURE__ */ S(T.CheckboxItem, {
|
|
212
|
+
ref: _,
|
|
213
|
+
...s || l ? { "aria-describedby": v } : {},
|
|
214
|
+
...u === void 0 ? {} : { checked: u },
|
|
215
|
+
...d === void 0 ? {} : { defaultChecked: d },
|
|
216
|
+
...f ? { onCheckedChange: (e) => f(e) } : {},
|
|
217
|
+
...p ? { disabled: p } : {},
|
|
218
|
+
closeOnClick: m,
|
|
219
|
+
className: i(e, h),
|
|
220
|
+
children: [/* @__PURE__ */ x(L, {
|
|
221
|
+
icon: n,
|
|
222
|
+
leading: r,
|
|
223
|
+
description: a,
|
|
224
|
+
descriptionTone: o,
|
|
225
|
+
shortcut: s,
|
|
226
|
+
hint: l,
|
|
227
|
+
hintId: v,
|
|
228
|
+
children: t
|
|
229
|
+
}), /* @__PURE__ */ x(T.CheckboxItemIndicator, {
|
|
230
|
+
keepMounted: !0,
|
|
231
|
+
className: "flex size-16 shrink-0 items-center justify-center text-fg opacity-0 data-checked:opacity-100",
|
|
232
|
+
children: /* @__PURE__ */ x(c, {
|
|
233
|
+
icon: w,
|
|
234
|
+
size: "sm"
|
|
235
|
+
})
|
|
236
|
+
})]
|
|
237
|
+
});
|
|
238
|
+
});
|
|
239
|
+
process.env.NODE_ENV !== "production" && (B.displayName = "Menu.CheckboxItem");
|
|
240
|
+
var V = /* @__PURE__ */ p(function({ value: e, defaultValue: t, onValueChange: n, children: r }, i) {
|
|
241
|
+
return /* @__PURE__ */ x(T.RadioGroup, {
|
|
242
|
+
ref: i,
|
|
243
|
+
...e === void 0 ? {} : { value: e },
|
|
244
|
+
...t === void 0 ? {} : { defaultValue: t },
|
|
245
|
+
...n ? { onValueChange: (e) => n(String(e)) } : {},
|
|
246
|
+
children: r
|
|
247
|
+
});
|
|
248
|
+
});
|
|
249
|
+
process.env.NODE_ENV !== "production" && (V.displayName = "Menu.RadioGroup");
|
|
250
|
+
var H = /* @__PURE__ */ p(function({ children: t, value: n, icon: r, leading: a, description: o, descriptionTone: s, shortcut: l, hint: u, disabled: d, closeOnClick: f, className: p }, m) {
|
|
251
|
+
let h = g();
|
|
252
|
+
return /* @__PURE__ */ S(T.RadioItem, {
|
|
253
|
+
ref: m,
|
|
254
|
+
...l || u ? { "aria-describedby": h } : {},
|
|
255
|
+
value: n,
|
|
256
|
+
...d ? { disabled: d } : {},
|
|
257
|
+
...f === void 0 ? {} : { closeOnClick: f },
|
|
258
|
+
className: i(e, p),
|
|
259
|
+
children: [/* @__PURE__ */ x(L, {
|
|
260
|
+
icon: r,
|
|
261
|
+
leading: a,
|
|
262
|
+
description: o,
|
|
263
|
+
descriptionTone: s,
|
|
264
|
+
shortcut: l,
|
|
265
|
+
hint: u,
|
|
266
|
+
hintId: h,
|
|
267
|
+
children: t
|
|
268
|
+
}), /* @__PURE__ */ x(T.RadioItemIndicator, {
|
|
269
|
+
keepMounted: !0,
|
|
270
|
+
className: "flex size-16 shrink-0 items-center justify-center text-fg opacity-0 data-checked:opacity-100",
|
|
271
|
+
children: /* @__PURE__ */ x(c, {
|
|
272
|
+
icon: w,
|
|
273
|
+
size: "sm"
|
|
274
|
+
})
|
|
275
|
+
})]
|
|
276
|
+
});
|
|
277
|
+
});
|
|
278
|
+
process.env.NODE_ENV !== "production" && (H.displayName = "Menu.RadioItem");
|
|
279
|
+
var U = /* @__PURE__ */ p(function({ label: e, children: t }, n) {
|
|
280
|
+
return /* @__PURE__ */ S(T.Group, {
|
|
281
|
+
ref: n,
|
|
282
|
+
className: "flex flex-col",
|
|
283
|
+
children: [e && /* @__PURE__ */ x(T.GroupLabel, {
|
|
284
|
+
className: "flex h-28 items-center px-10 text-caption font-medium text-fg-secondary",
|
|
285
|
+
children: e
|
|
286
|
+
}), t]
|
|
287
|
+
});
|
|
288
|
+
});
|
|
289
|
+
process.env.NODE_ENV !== "production" && (U.displayName = "Menu.Group");
|
|
290
|
+
var W = /* @__PURE__ */ p(function(e, t) {
|
|
291
|
+
return /* @__PURE__ */ x("div", {
|
|
292
|
+
ref: t,
|
|
293
|
+
role: "separator",
|
|
294
|
+
"aria-orientation": "horizontal",
|
|
295
|
+
className: n
|
|
296
|
+
});
|
|
297
|
+
});
|
|
298
|
+
process.env.NODE_ENV !== "production" && (W.displayName = "Menu.Separator");
|
|
299
|
+
var G = /* @__PURE__ */ p(function({ avatar: e, name: t, email: n }, r) {
|
|
300
|
+
return /* @__PURE__ */ S("div", {
|
|
301
|
+
ref: r,
|
|
302
|
+
className: "flex min-w-0 items-center gap-10 px-10 pt-8 pb-10",
|
|
303
|
+
children: [e, /* @__PURE__ */ S("div", {
|
|
304
|
+
className: "flex min-w-0 flex-col",
|
|
305
|
+
children: [/* @__PURE__ */ x("span", {
|
|
306
|
+
className: "text-body font-semibold text-fg wrap-break-word",
|
|
307
|
+
children: t
|
|
308
|
+
}), n && /* @__PURE__ */ x("span", {
|
|
309
|
+
className: "text-caption font-regular text-fg-secondary wrap-anywhere",
|
|
310
|
+
children: n
|
|
311
|
+
})]
|
|
312
|
+
})]
|
|
313
|
+
});
|
|
314
|
+
});
|
|
315
|
+
process.env.NODE_ENV !== "production" && (G.displayName = "Menu.Header");
|
|
316
|
+
function K({ children: e, open: t, onOpenChange: n }) {
|
|
317
|
+
let r = v(null);
|
|
318
|
+
return /* @__PURE__ */ x(T.SubmenuRoot, {
|
|
319
|
+
...t === void 0 ? {} : { open: t },
|
|
320
|
+
...n ? { onOpenChange: (e) => n(e) } : {},
|
|
321
|
+
children: /* @__PURE__ */ x(j.Provider, {
|
|
322
|
+
value: r,
|
|
323
|
+
children: e
|
|
324
|
+
})
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
process.env.NODE_ENV !== "production" && (K.displayName = "Menu.Sub");
|
|
328
|
+
var q = /* @__PURE__ */ p(function({ children: t, icon: n, leading: r, description: a, descriptionTone: o, hint: s, disabled: l, className: u }, d) {
|
|
329
|
+
let f = h(j), p = m((e) => {
|
|
330
|
+
f && (f.current = e), typeof d == "function" ? d(e) : d && (d.current = e);
|
|
331
|
+
}, [f, d]), _ = g();
|
|
332
|
+
return /* @__PURE__ */ S(T.SubmenuTrigger, {
|
|
333
|
+
ref: p,
|
|
334
|
+
...l ? { disabled: l } : {},
|
|
335
|
+
...s ? { "aria-describedby": _ } : {},
|
|
336
|
+
className: i(e, "open:bg-item-hover", u),
|
|
337
|
+
children: [/* @__PURE__ */ x(L, {
|
|
338
|
+
icon: n,
|
|
339
|
+
leading: r,
|
|
340
|
+
description: a,
|
|
341
|
+
descriptionTone: o,
|
|
342
|
+
hint: s,
|
|
343
|
+
hintId: _,
|
|
344
|
+
children: t
|
|
345
|
+
}), /* @__PURE__ */ x(c, {
|
|
346
|
+
icon: C,
|
|
347
|
+
size: "sm",
|
|
348
|
+
className: "-mr-2 text-fg-tertiary"
|
|
349
|
+
})]
|
|
350
|
+
});
|
|
351
|
+
});
|
|
352
|
+
process.env.NODE_ENV !== "production" && (q.displayName = "Menu.SubTrigger");
|
|
353
|
+
var J = /* @__PURE__ */ p(function(e, t) {
|
|
354
|
+
return /* @__PURE__ */ x(F, {
|
|
355
|
+
ref: t,
|
|
356
|
+
side: "right",
|
|
357
|
+
align: "start",
|
|
358
|
+
sideOffset: 8,
|
|
359
|
+
alignOffset: -6,
|
|
360
|
+
...e
|
|
361
|
+
});
|
|
362
|
+
});
|
|
363
|
+
process.env.NODE_ENV !== "production" && (J.displayName = "Menu.SubContent");
|
|
364
|
+
var te = /* @__PURE__ */ Object.assign(M, {
|
|
365
|
+
Trigger: N,
|
|
366
|
+
Content: I,
|
|
367
|
+
Item: R,
|
|
368
|
+
LinkItem: z,
|
|
369
|
+
CheckboxItem: B,
|
|
370
|
+
RadioGroup: V,
|
|
371
|
+
RadioItem: H,
|
|
372
|
+
Group: U,
|
|
373
|
+
Separator: W,
|
|
374
|
+
Header: G,
|
|
375
|
+
Sub: K,
|
|
376
|
+
SubTrigger: q,
|
|
377
|
+
SubContent: J
|
|
378
|
+
}), ne = {}, re = {}, ie = "a[href], button, input, select, textarea, [tabindex]:not([tabindex=\"-1\"])";
|
|
379
|
+
function Y({ children: e, onOpenChange: t }) {
|
|
380
|
+
let n = v(null);
|
|
381
|
+
return /* @__PURE__ */ x(E.Root, {
|
|
382
|
+
onOpenChange: (e) => {
|
|
383
|
+
if (e) {
|
|
384
|
+
let e = document.activeElement;
|
|
385
|
+
n.current = e instanceof HTMLElement && e !== document.body ? e : null;
|
|
386
|
+
}
|
|
387
|
+
t?.(e);
|
|
388
|
+
},
|
|
389
|
+
children: /* @__PURE__ */ x(j.Provider, {
|
|
390
|
+
value: n,
|
|
391
|
+
children: e
|
|
392
|
+
})
|
|
393
|
+
});
|
|
394
|
+
}
|
|
395
|
+
process.env.NODE_ENV !== "production" && (Y.displayName = "ContextMenu");
|
|
396
|
+
var X = /* @__PURE__ */ p(function({ children: e, className: t, "data-force": n }, r) {
|
|
397
|
+
let a = v(null), [o, s] = y(!1);
|
|
398
|
+
return _(() => {
|
|
399
|
+
s(!a.current?.querySelector(ie));
|
|
400
|
+
}, [e]), /* @__PURE__ */ x(E.Trigger, {
|
|
401
|
+
ref: (e) => {
|
|
402
|
+
a.current = e, typeof r == "function" ? r(e) : r && (r.current = e);
|
|
403
|
+
},
|
|
404
|
+
...o ? { tabIndex: 0 } : {},
|
|
405
|
+
...n ? { "data-force": n } : {},
|
|
406
|
+
className: i(o && "focus-ring", t),
|
|
407
|
+
children: e
|
|
408
|
+
});
|
|
409
|
+
});
|
|
410
|
+
process.env.NODE_ENV !== "production" && (X.displayName = "ContextMenu.Trigger");
|
|
411
|
+
var Z = /* @__PURE__ */ p(function({ children: e, className: n, header: r, footer: a, width: c = "auto" }, l) {
|
|
412
|
+
let u = h(j), d = v(null);
|
|
413
|
+
return /* @__PURE__ */ x(E.Portal, {
|
|
414
|
+
container: s(),
|
|
415
|
+
children: /* @__PURE__ */ x(E.Positioner, {
|
|
416
|
+
positionMethod: "fixed",
|
|
417
|
+
collisionBoundary: o(),
|
|
418
|
+
collisionPadding: 8,
|
|
419
|
+
className: "z-50 outline-none",
|
|
420
|
+
children: /* @__PURE__ */ x(E.Popup, {
|
|
421
|
+
ref: (e) => {
|
|
422
|
+
d.current = e, typeof l == "function" ? l(e) : l && (l.current = e);
|
|
423
|
+
},
|
|
424
|
+
finalFocus: () => {
|
|
425
|
+
let e = document.activeElement;
|
|
426
|
+
return e && e !== document.body && !d.current?.contains(e) ? !1 : !u?.current?.isConnected || u.current;
|
|
427
|
+
},
|
|
428
|
+
tabIndex: 0,
|
|
429
|
+
className: i(t, O.width[c].classes, n),
|
|
430
|
+
...r || a ? { render: P(r, a) } : {},
|
|
431
|
+
children: e
|
|
432
|
+
})
|
|
433
|
+
})
|
|
434
|
+
});
|
|
435
|
+
});
|
|
436
|
+
process.env.NODE_ENV !== "production" && (Z.displayName = "ContextMenu.Content");
|
|
437
|
+
var ae = /* @__PURE__ */ Object.assign(Y, {
|
|
438
|
+
Trigger: X,
|
|
439
|
+
Content: Z,
|
|
440
|
+
Item: R,
|
|
441
|
+
LinkItem: z,
|
|
442
|
+
CheckboxItem: B,
|
|
443
|
+
RadioGroup: V,
|
|
444
|
+
RadioItem: H,
|
|
445
|
+
Group: U,
|
|
446
|
+
Separator: W,
|
|
447
|
+
Sub: K,
|
|
448
|
+
SubTrigger: q,
|
|
449
|
+
SubContent: J
|
|
450
|
+
}), oe = {}, se = {}, Q = /* @__PURE__ */ p(function({ children: e, className: t, "aria-label": n }, r) {
|
|
451
|
+
return /* @__PURE__ */ x(D, {
|
|
452
|
+
ref: r,
|
|
453
|
+
className: i("inline-flex items-center gap-8", t),
|
|
454
|
+
...n ? { "aria-label": n } : {},
|
|
455
|
+
children: e
|
|
456
|
+
});
|
|
457
|
+
});
|
|
458
|
+
process.env.NODE_ENV !== "production" && (Q.displayName = "Menubar");
|
|
459
|
+
var $ = /* @__PURE__ */ p(function({ children: e, className: t, "data-force": n }, r) {
|
|
460
|
+
return /* @__PURE__ */ x(T.Trigger, {
|
|
461
|
+
ref: r,
|
|
462
|
+
...n ? { "data-force": n } : {},
|
|
463
|
+
className: i("relative inline-flex h-32 cursor-pointer items-center rounded-pill px-12 text-body font-medium text-fg material-ghost transition-control focus-ring tap-target", t),
|
|
464
|
+
children: e
|
|
465
|
+
});
|
|
466
|
+
});
|
|
467
|
+
process.env.NODE_ENV !== "production" && ($.displayName = "Menubar.Trigger");
|
|
468
|
+
var ce = /* @__PURE__ */ Object.assign(Q, {
|
|
469
|
+
Menu: M,
|
|
470
|
+
Trigger: $,
|
|
471
|
+
Content: I,
|
|
472
|
+
Item: R,
|
|
473
|
+
CheckboxItem: B,
|
|
474
|
+
RadioGroup: V,
|
|
475
|
+
RadioItem: H,
|
|
476
|
+
Group: U,
|
|
477
|
+
Separator: W,
|
|
478
|
+
Sub: K,
|
|
479
|
+
SubTrigger: q,
|
|
480
|
+
SubContent: J
|
|
481
|
+
});
|
|
482
|
+
//#endregion
|
|
483
|
+
export { oe as a, te as c, se as i, ce as l, re as n, k as o, ne as r, O as s, ae as t };
|
|
484
|
+
|
|
485
|
+
//# sourceMappingURL=menu-Clvv6ftq.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-Clvv6ftq.js","names":["BaseMenu","_Fragment","__icon_ArrowUpRight01Icon","__icon_Tick02Icon","__icon_ArrowRight01Icon","Menu","BaseContextMenu","ContextMenu","Menubar","BaseMenubar","MENU_ITEM","MENU_POPUP","MENU_SEPARATOR","MENU_DANGER","cn","useLinkComponent","pageBoundary","usePortalContainer","Icon","KbdSequence","useLayoutWidth","anchorWidthStyle","Fragment$1","KAESO_MENU_VARIANTS","KAESO_MENU_DEFAULT_VARIANTS","NO_TRIGGER","TriggerContext","Root","trigger","useRef","Menu","open","defaultOpen","onOpenChange","o","Trigger","useContext","setTrigger","useCallback","el","children","openOnHover","framed","labelledBy","orientation","rest","props","className","header","footer","Popup","triggerWidth","width","popup","ref","at","Content","ItemContent","leading","description","icon","danger","descriptionTone","shortcut","hint","hintId","Item","force","useId","disabled","onClick","closeOnClick","variant","LinkItem","LinkComp","external","ArrowUpRight01Icon","CheckboxItem","checked","defaultChecked","onCheckedChange","c","Tick02Icon","RadioGroup","value","defaultValue","onValueChange","v","RadioItem","Group","label","Separator","Header","avatar","name","email","Sub","SubTrigger","setRef","ArrowRight01Icon","SubContent","Menu$1","KAESO_CONTEXT_MENU_VARIANTS","KAESO_CONTEXT_MENU_DEFAULT_VARIANTS","FOCUSABLE","ContextRoot","opener","ContextMenu","ContextTrigger","own","focusable","setFocusable","useState","useLayoutEffect","ContextContent","ContextMenu$1","KAESO_MENUBAR_VARIANTS","KAESO_MENUBAR_DEFAULT_VARIANTS","MenubarRoot","ariaLabel","Menubar","MenubarTrigger","Menubar$1"],"sources":["../../src/components/menu/menu.tsx"],"sourcesContent":["import { pageBoundary, usePortalContainer } from \"../../utils/portal-context.js\";\nimport {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useId,\n useLayoutEffect,\n useRef,\n useState,\n type HTMLAttributes,\n type ReactElement,\n type ReactNode,\n type Ref,\n type RefObject,\n} from \"react\";\nimport { Menu as BaseMenu } from \"@base-ui/react/menu\";\nimport { ContextMenu as BaseContextMenu } from \"@base-ui/react/context-menu\";\nimport { Menubar as BaseMenubar } from \"@base-ui/react/menubar\";\nimport { cn } from \"../../utils/cn.js\";\nimport { useLinkComponent } from \"../../utils/link-provider.js\";\nimport { Icon, type IconData } from \"../icon/icon.js\";\nimport { KbdSequence } from \"../kbd/kbd.js\";\nimport { ArrowUpRight01Icon as __icon_ArrowUpRight01Icon, Tick02Icon as __icon_Tick02Icon, ArrowRight01Icon as __icon_ArrowRight01Icon } from \"@hugeicons/core-free-icons\";\nimport { anchorWidthStyle, useLayoutWidth } from \"../../hooks/use-layout-width.js\";\nimport { MENU_DANGER, MENU_HINT, MENU_ICON, MENU_ITEM, MENU_LABEL, MENU_POPUP, MENU_SEPARATOR } from \"./styles.js\";\n\nexport const KAESO_MENU_VARIANTS = {\n item: {\n default: { classes: \"\" },\n danger: { classes: MENU_DANGER },\n },\n width: {\n auto: { classes: \"\" },\n trigger: { classes: \"w-anchor\" },\n },\n description: {\n secondary: { classes: \"text-fg-secondary\" },\n danger: { classes: \"text-danger-text\" },\n },\n} as const;\nexport const KAESO_MENU_DEFAULT_VARIANTS = { item: \"default\", width: \"auto\", description: \"secondary\" } as const;\n\ntype Side = \"top\" | \"bottom\" | \"left\" | \"right\";\ntype Align = \"start\" | \"center\" | \"end\";\n\nexport interface MenuProps {\n children: ReactNode;\n open?: boolean | undefined;\n defaultOpen?: boolean | undefined;\n onOpenChange?: ((open: boolean) => void) | undefined;\n modal?: boolean | undefined;\n}\n\nconst NO_TRIGGER: RefObject<HTMLElement | null> = { current: null };\nconst TriggerContext = /* @__PURE__ */ createContext<RefObject<HTMLElement | null> | null>(null);\n\nfunction Root({ open, defaultOpen, onOpenChange, modal = false, children }: MenuProps) {\n const trigger = useRef<HTMLElement | null>(null);\n return (\n <BaseMenu.Root\n {...(open !== undefined ? { open } : {})}\n {...(defaultOpen !== undefined ? { defaultOpen } : {})}\n {...(onOpenChange ? { onOpenChange: (o: boolean) => onOpenChange(o) } : {})}\n modal={modal}\n >\n <TriggerContext.Provider value={trigger}>{children}</TriggerContext.Provider>\n </BaseMenu.Root>\n );\n}\nif (process.env.NODE_ENV !== \"production\") Root.displayName = \"Menu\";\n\nfunction Trigger({ children, openOnHover }: { children: ReactElement; openOnHover?: boolean | undefined }) {\n const trigger = useContext(TriggerContext);\n const setTrigger = useCallback(\n (el: HTMLElement | null) => {\n if (trigger) trigger.current = el;\n },\n [trigger],\n );\n return <BaseMenu.Trigger ref={setTrigger} render={children} {...(openOnHover ? { openOnHover } : {})} />;\n}\nif (process.env.NODE_ENV !== \"production\") Trigger.displayName = \"Menu.Trigger\";\n\nexport interface MenuContentProps {\n children: ReactNode;\n side?: Side | undefined;\n align?: Align | undefined;\n sideOffset?: number | undefined;\n width?: keyof typeof KAESO_MENU_VARIANTS.width | undefined;\n className?: string | undefined;\n header?: ReactNode | undefined;\n footer?: ReactNode | undefined;\n}\n\nfunction framed(header: ReactNode, footer: ReactNode) {\n return function framedMenuPopup(props: HTMLAttributes<HTMLDivElement> & { ref?: Ref<HTMLDivElement> | undefined }) {\n const { role, id, \"aria-labelledby\": labelledBy, \"aria-orientation\": orientation, children, className, ...rest } = props;\n return (\n <div {...rest} className={cn(className, \"overflow-hidden p-0\")}>\n <div className=\"flex min-h-0 flex-1 flex-col overflow-y-auto overscroll-contain rounded-menu p-6 scrollbar-quiet\">\n {header && <div className=\"mb-6 px-10 pt-6 pb-10 hairline-b\">{header}</div>}\n <div role={role} id={id} aria-labelledby={labelledBy} aria-orientation={orientation} className=\"flex flex-col\">\n {children}\n </div>\n {footer && <div className=\"px-10 pt-6 pb-4 text-caption text-fg-tertiary\">{footer}</div>}\n </div>\n </div>\n );\n };\n}\n\nconst Popup = /* @__PURE__ */ forwardRef<HTMLDivElement, MenuContentProps & { alignOffset?: number | undefined }>(function MenuPopup(\n { children, side = \"bottom\", align = \"start\", sideOffset = 6, alignOffset = 0, width = \"auto\", className, header, footer },\n ref,\n) {\n const trigger = useContext(TriggerContext);\n const triggerWidth = useLayoutWidth(trigger ?? NO_TRIGGER, width === \"trigger\" && !!trigger);\n const popup = useRef<HTMLDivElement | null>(null);\n return (\n <BaseMenu.Portal container={usePortalContainer()}>\n <BaseMenu.Positioner\n positionMethod=\"fixed\"\n collisionBoundary={pageBoundary()}\n side={side}\n align={align}\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n collisionPadding={8}\n className=\"z-50 outline-none\"\n >\n <BaseMenu.Popup\n ref={(el) => {\n popup.current = el;\n if (typeof ref === \"function\") ref(el);\n else if (ref) ref.current = el;\n }}\n finalFocus={() => {\n const at = document.activeElement;\n if (at && at !== document.body && !popup.current?.contains(at)) return false;\n return trigger?.current?.isConnected ? trigger.current : true;\n }}\n tabIndex={0}\n className={cn(MENU_POPUP, KAESO_MENU_VARIANTS.width[width].classes, className)}\n style={width === \"trigger\" ? anchorWidthStyle(triggerWidth) : undefined}\n {...(header || footer ? { render: framed(header, footer) } : {})}\n >\n {children}\n </BaseMenu.Popup>\n </BaseMenu.Positioner>\n </BaseMenu.Portal>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Popup.displayName = \"Menu.Popup\";\n\nconst Content = /* @__PURE__ */ forwardRef<HTMLDivElement, MenuContentProps>(function MenuContent(props, ref) {\n return <Popup ref={ref} {...props} />;\n});\nif (process.env.NODE_ENV !== \"production\") Content.displayName = \"Menu.Content\";\n\nexport interface MenuItemProps {\n children: ReactNode;\n icon?: IconData | undefined;\n leading?: ReactNode | undefined;\n description?: ReactNode | undefined;\n descriptionTone?: keyof typeof KAESO_MENU_VARIANTS.description | undefined;\n shortcut?: string[] | string[][] | undefined;\n hint?: ReactNode | undefined;\n variant?: keyof typeof KAESO_MENU_VARIANTS.item | undefined;\n disabled?: boolean | undefined;\n onClick?: (() => void) | undefined;\n closeOnClick?: boolean | undefined;\n className?: string | undefined;\n \"data-force\"?: string | undefined;\n}\n\nfunction ItemContent({\n icon,\n leading,\n description,\n descriptionTone = \"secondary\",\n shortcut,\n hint,\n children,\n danger,\n hintId,\n}: Pick<MenuItemProps, \"icon\" | \"leading\" | \"description\" | \"descriptionTone\" | \"shortcut\" | \"hint\" | \"children\"> & {\n danger?: boolean | undefined;\n hintId?: string | undefined;\n}) {\n return (\n <>\n {leading ? (\n <span className={cn(\"flex size-16 shrink-0 items-center justify-center\", description && \"self-start mt-10\")}>{leading}</span>\n ) : (\n icon && (\n <Icon icon={icon} size=\"sm\" className={cn(danger ? \"text-danger-text forced-colors:text-current\" : MENU_ICON, description && \"self-start mt-10\")} />\n )\n )}\n {description ? (\n <span className=\"flex min-w-0 flex-1 flex-col gap-2 py-8\">\n <span className=\"text-pretty wrap-break-word\">{children}</span>\n <span className={cn(\"text-small font-regular whitespace-normal\", KAESO_MENU_VARIANTS.description[descriptionTone].classes)}>{description}</span>\n </span>\n ) : (\n <span className=\"min-w-0 flex-1 py-6 text-pretty wrap-break-word\">{children}</span>\n )}\n {(shortcut || hint) && (\n <span id={hintId} aria-hidden className={MENU_HINT}>\n {hint}\n {shortcut && <KbdSequence keys={shortcut} />}\n </span>\n )}\n </>\n );\n}\n\nconst Item = /* @__PURE__ */ forwardRef<HTMLDivElement, MenuItemProps>(function MenuItem(\n {\n children,\n icon,\n leading,\n description,\n descriptionTone,\n shortcut,\n hint,\n variant = \"default\",\n disabled,\n onClick,\n closeOnClick,\n className,\n \"data-force\": force,\n },\n ref,\n) {\n const hintId = useId();\n return (\n <BaseMenu.Item\n ref={ref}\n {...(shortcut || hint ? { \"aria-describedby\": hintId } : {})}\n {...(disabled ? { disabled } : {})}\n {...(onClick ? { onClick } : {})}\n {...(closeOnClick !== undefined ? { closeOnClick } : {})}\n {...(force ? { \"data-force\": force } : {})}\n className={cn(MENU_ITEM, KAESO_MENU_VARIANTS.item[variant].classes, className)}\n >\n <ItemContent\n icon={icon}\n leading={leading}\n description={description}\n descriptionTone={descriptionTone}\n shortcut={shortcut}\n hint={hint}\n danger={variant === \"danger\"}\n hintId={hintId}\n >\n {children}\n </ItemContent>\n </BaseMenu.Item>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Item.displayName = \"Menu.Item\";\n\nexport interface MenuLinkItemProps extends Pick<\n MenuItemProps,\n \"icon\" | \"leading\" | \"description\" | \"descriptionTone\" | \"shortcut\" | \"hint\" | \"children\" | \"className\"\n> {\n href: string;\n external?: boolean | undefined;\n}\n\nconst LinkItem = /* @__PURE__ */ forwardRef<HTMLAnchorElement, MenuLinkItemProps>(function MenuLinkItem(\n { children, href, external, icon, leading, description, descriptionTone, shortcut, hint, className },\n ref,\n) {\n const LinkComp = useLinkComponent();\n const hintId = useId();\n return (\n <BaseMenu.LinkItem\n ref={ref}\n {...(shortcut || hint ? { \"aria-describedby\": hintId } : {})}\n href={href}\n {...(external ? { target: \"_blank\", rel: \"noopener noreferrer\" } : { render: <LinkComp href={href} /> })}\n className={cn(MENU_ITEM, \"no-underline\", className)}\n >\n <ItemContent\n icon={icon}\n leading={leading}\n description={description}\n descriptionTone={descriptionTone}\n shortcut={shortcut}\n hint={hint ?? (external ? <Icon icon={__icon_ArrowUpRight01Icon} size=\"xs\" /> : undefined)}\n hintId={hintId}\n >\n {children}\n </ItemContent>\n </BaseMenu.LinkItem>\n );\n});\nif (process.env.NODE_ENV !== \"production\") LinkItem.displayName = \"Menu.LinkItem\";\n\nexport interface MenuCheckboxItemProps extends Omit<MenuItemProps, \"variant\" | \"onClick\"> {\n checked?: boolean | undefined;\n defaultChecked?: boolean | undefined;\n onCheckedChange?: ((checked: boolean) => void) | undefined;\n}\n\nconst CheckboxItem = /* @__PURE__ */ forwardRef<HTMLDivElement, MenuCheckboxItemProps>(function MenuCheckboxItem(\n {\n children,\n icon,\n leading,\n description,\n descriptionTone,\n shortcut,\n hint,\n checked,\n defaultChecked,\n onCheckedChange,\n disabled,\n closeOnClick = false,\n className,\n },\n ref,\n) {\n const hintId = useId();\n return (\n <BaseMenu.CheckboxItem\n ref={ref}\n {...(shortcut || hint ? { \"aria-describedby\": hintId } : {})}\n {...(checked !== undefined ? { checked } : {})}\n {...(defaultChecked !== undefined ? { defaultChecked } : {})}\n {...(onCheckedChange ? { onCheckedChange: (c: boolean) => onCheckedChange(c) } : {})}\n {...(disabled ? { disabled } : {})}\n closeOnClick={closeOnClick}\n className={cn(MENU_ITEM, className)}\n >\n <ItemContent icon={icon} leading={leading} description={description} descriptionTone={descriptionTone} shortcut={shortcut} hint={hint} hintId={hintId}>\n {children}\n </ItemContent>\n <BaseMenu.CheckboxItemIndicator keepMounted className=\"flex size-16 shrink-0 items-center justify-center text-fg opacity-0 data-checked:opacity-100\">\n <Icon icon={__icon_Tick02Icon} size=\"sm\" />\n </BaseMenu.CheckboxItemIndicator>\n </BaseMenu.CheckboxItem>\n );\n});\nif (process.env.NODE_ENV !== \"production\") CheckboxItem.displayName = \"Menu.CheckboxItem\";\n\nconst RadioGroup = /* @__PURE__ */ forwardRef<\n HTMLDivElement,\n { value?: string | undefined; defaultValue?: string | undefined; onValueChange?: ((v: string) => void) | undefined; children: ReactNode }\n>(function MenuRadioGroup({ value, defaultValue, onValueChange, children }, ref) {\n return (\n <BaseMenu.RadioGroup\n ref={ref}\n {...(value !== undefined ? { value } : {})}\n {...(defaultValue !== undefined ? { defaultValue } : {})}\n {...(onValueChange ? { onValueChange: (v: unknown) => onValueChange(String(v)) } : {})}\n >\n {children}\n </BaseMenu.RadioGroup>\n );\n});\nif (process.env.NODE_ENV !== \"production\") RadioGroup.displayName = \"Menu.RadioGroup\";\n\nconst RadioItem = /* @__PURE__ */ forwardRef<HTMLDivElement, Omit<MenuItemProps, \"variant\"> & { value: string }>(function MenuRadioItem(\n { children, value, icon, leading, description, descriptionTone, shortcut, hint, disabled, closeOnClick, className },\n ref,\n) {\n const hintId = useId();\n return (\n <BaseMenu.RadioItem\n ref={ref}\n {...(shortcut || hint ? { \"aria-describedby\": hintId } : {})}\n value={value}\n {...(disabled ? { disabled } : {})}\n {...(closeOnClick !== undefined ? { closeOnClick } : {})}\n className={cn(MENU_ITEM, className)}\n >\n <ItemContent icon={icon} leading={leading} description={description} descriptionTone={descriptionTone} shortcut={shortcut} hint={hint} hintId={hintId}>\n {children}\n </ItemContent>\n <BaseMenu.RadioItemIndicator keepMounted className=\"flex size-16 shrink-0 items-center justify-center text-fg opacity-0 data-checked:opacity-100\">\n <Icon icon={__icon_Tick02Icon} size=\"sm\" />\n </BaseMenu.RadioItemIndicator>\n </BaseMenu.RadioItem>\n );\n});\nif (process.env.NODE_ENV !== \"production\") RadioItem.displayName = \"Menu.RadioItem\";\n\nconst Group = /* @__PURE__ */ forwardRef<HTMLDivElement, { label?: ReactNode | undefined; children: ReactNode }>(function MenuGroup({ label, children }, ref) {\n return (\n <BaseMenu.Group ref={ref} className=\"flex flex-col\">\n {label && <BaseMenu.GroupLabel className={MENU_LABEL}>{label}</BaseMenu.GroupLabel>}\n {children}\n </BaseMenu.Group>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Group.displayName = \"Menu.Group\";\n\nconst Separator = /* @__PURE__ */ forwardRef<HTMLDivElement>(function MenuSeparator(_props, ref) {\n return <div ref={ref} role=\"separator\" aria-orientation=\"horizontal\" className={MENU_SEPARATOR} />;\n});\nif (process.env.NODE_ENV !== \"production\") Separator.displayName = \"Menu.Separator\";\n\nconst Header = /* @__PURE__ */ forwardRef<HTMLDivElement, { avatar?: ReactNode | undefined; name: ReactNode; email?: ReactNode | undefined }>(function MenuHeader(\n { avatar, name, email },\n ref,\n) {\n return (\n <div ref={ref} className=\"flex min-w-0 items-center gap-10 px-10 pt-8 pb-10\">\n {avatar}\n <div className=\"flex min-w-0 flex-col\">\n <span className=\"text-body font-semibold text-fg wrap-break-word\">{name}</span>\n {email && <span className=\"text-caption font-regular text-fg-secondary wrap-anywhere\">{email}</span>}\n </div>\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Header.displayName = \"Menu.Header\";\n\nfunction Sub({ children, open, onOpenChange }: { children: ReactNode; open?: boolean | undefined; onOpenChange?: ((o: boolean) => void) | undefined }) {\n const trigger = useRef<HTMLElement | null>(null);\n return (\n <BaseMenu.SubmenuRoot {...(open !== undefined ? { open } : {})} {...(onOpenChange ? { onOpenChange: (o: boolean) => onOpenChange(o) } : {})}>\n <TriggerContext.Provider value={trigger}>{children}</TriggerContext.Provider>\n </BaseMenu.SubmenuRoot>\n );\n}\nif (process.env.NODE_ENV !== \"production\") Sub.displayName = \"Menu.Sub\";\n\nconst SubTrigger = /* @__PURE__ */ forwardRef<HTMLDivElement, Omit<MenuItemProps, \"shortcut\" | \"variant\" | \"onClick\">>(function MenuSubTrigger(\n { children, icon, leading, description, descriptionTone, hint, disabled, className },\n ref,\n) {\n const trigger = useContext(TriggerContext);\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n if (trigger) trigger.current = el;\n if (typeof ref === \"function\") ref(el);\n else if (ref) ref.current = el;\n },\n [trigger, ref],\n );\n const hintId = useId();\n return (\n <BaseMenu.SubmenuTrigger\n ref={setRef}\n {...(disabled ? { disabled } : {})}\n {...(hint ? { \"aria-describedby\": hintId } : {})}\n className={cn(MENU_ITEM, \"open:bg-item-hover\", className)}\n >\n <ItemContent icon={icon} leading={leading} description={description} descriptionTone={descriptionTone} hint={hint} hintId={hintId}>\n {children}\n </ItemContent>\n <Icon icon={__icon_ArrowRight01Icon} size=\"sm\" className=\"-mr-2 text-fg-tertiary\" />\n </BaseMenu.SubmenuTrigger>\n );\n});\nif (process.env.NODE_ENV !== \"production\") SubTrigger.displayName = \"Menu.SubTrigger\";\n\nconst SubContent = /* @__PURE__ */ forwardRef<HTMLDivElement, Omit<MenuContentProps, \"side\" | \"align\">>(function MenuSubContent(props, ref) {\n return <Popup ref={ref} side=\"right\" align=\"start\" sideOffset={8} alignOffset={-6} {...props} />;\n});\nif (process.env.NODE_ENV !== \"production\") SubContent.displayName = \"Menu.SubContent\";\n\nexport const Menu = /* @__PURE__ */ Object.assign(Root, {\n Trigger,\n Content,\n Item,\n LinkItem,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n Group,\n Separator,\n Header,\n Sub,\n SubTrigger,\n SubContent,\n});\n\nexport const KAESO_CONTEXT_MENU_VARIANTS = {} as const;\nexport const KAESO_CONTEXT_MENU_DEFAULT_VARIANTS = {} as const;\n\nconst FOCUSABLE = 'a[href], button, input, select, textarea, [tabindex]:not([tabindex=\"-1\"])';\n\nfunction ContextRoot({ children, onOpenChange }: { children: ReactNode; onOpenChange?: ((open: boolean) => void) | undefined }) {\n const opener = useRef<HTMLElement | null>(null);\n return (\n <BaseContextMenu.Root\n onOpenChange={(o: boolean) => {\n if (o) {\n const at = document.activeElement;\n opener.current = at instanceof HTMLElement && at !== document.body ? at : null;\n }\n onOpenChange?.(o);\n }}\n >\n <TriggerContext.Provider value={opener}>{children}</TriggerContext.Provider>\n </BaseContextMenu.Root>\n );\n}\nif (process.env.NODE_ENV !== \"production\") ContextRoot.displayName = \"ContextMenu\";\nconst ContextTrigger = /* @__PURE__ */ forwardRef<HTMLDivElement, { children: ReactNode; className?: string | undefined; \"data-force\"?: string | undefined }>(\n function ContextMenuTrigger({ children, className, \"data-force\": force }, ref) {\n const own = useRef<HTMLDivElement | null>(null);\n const [focusable, setFocusable] = useState(false);\n useLayoutEffect(() => {\n setFocusable(!own.current?.querySelector(FOCUSABLE));\n }, [children]);\n return (\n <BaseContextMenu.Trigger\n ref={(el: HTMLDivElement | null) => {\n own.current = el;\n if (typeof ref === \"function\") ref(el);\n else if (ref) ref.current = el;\n }}\n {...(focusable ? { tabIndex: 0 } : {})}\n {...(force ? { \"data-force\": force } : {})}\n className={cn(focusable && \"focus-ring\", className)}\n >\n {children}\n </BaseContextMenu.Trigger>\n );\n },\n);\nif (process.env.NODE_ENV !== \"production\") ContextTrigger.displayName = \"ContextMenu.Trigger\";\nconst ContextContent = /* @__PURE__ */ forwardRef<HTMLDivElement, Omit<MenuContentProps, \"side\" | \"align\" | \"sideOffset\">>(function ContextMenuContent(\n { children, className, header, footer, width = \"auto\" },\n ref,\n) {\n const opener = useContext(TriggerContext);\n const popup = useRef<HTMLDivElement | null>(null);\n return (\n <BaseContextMenu.Portal container={usePortalContainer()}>\n <BaseContextMenu.Positioner positionMethod=\"fixed\" collisionBoundary={pageBoundary()} collisionPadding={8} className=\"z-50 outline-none\">\n <BaseContextMenu.Popup\n ref={(el: HTMLDivElement | null) => {\n popup.current = el;\n if (typeof ref === \"function\") ref(el);\n else if (ref) ref.current = el;\n }}\n finalFocus={() => {\n const at = document.activeElement;\n if (at && at !== document.body && !popup.current?.contains(at)) return false;\n return opener?.current?.isConnected ? opener.current : true;\n }}\n tabIndex={0}\n className={cn(MENU_POPUP, KAESO_MENU_VARIANTS.width[width].classes, className)}\n {...(header || footer ? { render: framed(header, footer) } : {})}\n >\n {children}\n </BaseContextMenu.Popup>\n </BaseContextMenu.Positioner>\n </BaseContextMenu.Portal>\n );\n});\nif (process.env.NODE_ENV !== \"production\") ContextContent.displayName = \"ContextMenu.Content\";\nexport const ContextMenu = /* @__PURE__ */ Object.assign(ContextRoot, {\n Trigger: ContextTrigger,\n Content: ContextContent,\n Item,\n LinkItem,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n Group,\n Separator,\n Sub,\n SubTrigger,\n SubContent,\n});\n\nexport const KAESO_MENUBAR_VARIANTS = {} as const;\nexport const KAESO_MENUBAR_DEFAULT_VARIANTS = {} as const;\n\nconst MenubarRoot = /* @__PURE__ */ forwardRef<HTMLDivElement, { children: ReactNode; className?: string | undefined; \"aria-label\"?: string | undefined }>(function Menubar(\n { children, className, \"aria-label\": ariaLabel },\n ref,\n) {\n return (\n <BaseMenubar ref={ref} className={cn(\"inline-flex items-center gap-8\", className)} {...(ariaLabel ? { \"aria-label\": ariaLabel } : {})}>\n {children}\n </BaseMenubar>\n );\n});\nif (process.env.NODE_ENV !== \"production\") MenubarRoot.displayName = \"Menubar\";\nconst MenubarTrigger = /* @__PURE__ */ forwardRef<HTMLButtonElement, { children: ReactNode; className?: string | undefined; \"data-force\"?: string | undefined }>(\n function MenubarTrigger({ children, className, \"data-force\": force }, ref) {\n return (\n <BaseMenu.Trigger\n ref={ref}\n {...(force ? { \"data-force\": force } : {})}\n className={cn(\n \"relative inline-flex h-32 cursor-pointer items-center rounded-pill px-12 text-body font-medium text-fg material-ghost transition-control focus-ring tap-target\",\n className,\n )}\n >\n {children}\n </BaseMenu.Trigger>\n );\n },\n);\nif (process.env.NODE_ENV !== \"production\") MenubarTrigger.displayName = \"Menubar.Trigger\";\nexport const Menubar = /* @__PURE__ */ Object.assign(MenubarRoot, {\n Menu: Root,\n Trigger: MenubarTrigger,\n Content,\n Item,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n Group,\n Separator,\n Sub,\n SubTrigger,\n SubContent,\n});\n"],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/utils/merge-refs.ts
|
|
2
|
+
function e(e, t) {
|
|
3
|
+
if (typeof e == "function") {
|
|
4
|
+
let n = e(t);
|
|
5
|
+
return typeof n == "function" ? n : () => void e(null);
|
|
6
|
+
}
|
|
7
|
+
if (e) return e.current = t, () => void (e.current = null);
|
|
8
|
+
}
|
|
9
|
+
function t(...t) {
|
|
10
|
+
return (n) => {
|
|
11
|
+
let r = t.map((t) => e(t, n));
|
|
12
|
+
return () => {
|
|
13
|
+
for (let e of r) e?.();
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { e as n, t };
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=merge-refs-BN1FyQt9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-refs-BN1FyQt9.js","names":["setRef","ref","cleanup","value","mergeRefs","refs","cleanups","node"],"sources":["../../src/utils/merge-refs.ts"],"sourcesContent":["import type { Ref, RefCallback } from \"react\";\n\nexport function setRef<T>(ref: Ref<T> | undefined, value: T): (() => void) | undefined {\n if (typeof ref === \"function\") {\n const cleanup = ref(value);\n return typeof cleanup === \"function\" ? cleanup : () => void ref(null);\n }\n if (ref) {\n ref.current = value;\n return () => void (ref.current = null);\n }\n return undefined;\n}\n\nexport function mergeRefs<T>(...refs: (Ref<T> | undefined)[]): RefCallback<T> {\n return (node) => {\n const cleanups = refs.map((ref) => setRef(ref, node));\n return () => {\n for (const cleanup of cleanups) cleanup?.();\n };\n };\n}\n"],"mappings":";AAEA,SAAgBA,EAAU,GAAyB,GAAoC;CACrF,IAAI,OAAOC,KAAQ,YAAY;EAC7B,IAAMC,IAAUD,EAAIE,CAAK;EACzB,OAAO,OAAOD,KAAY,aAAaA,UAAgB,KAAKD,EAAI,IAAI;CACtE;CACA,IAAIA,GAEF,OADA,EAAI,UAAUE,SACD,MAAM,EAAI,UAAU;AAGrC;AAEA,SAAgBC,EAAa,GAAGC,GAA8C;CAC5E,QAAQ,MAAS;EACf,IAAMC,IAAWD,EAAK,KAAK,MAAQL,EAAOC,GAAKM,CAAI,CAAC;EACpD,aAAa;GACX,KAAK,IAAML,KAAWI,GAAU,IAAU;EAC5C;CACF;AACF"}
|