@logicplanes/kaeso-ui 0.4.3 → 0.4.5
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 +279 -98
- package/ai/component-registry.json +352 -236
- package/ai/component-registry.md +241 -219
- package/ai/icons.md +2 -2
- 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-KIvuE8jg.js +352 -0
- 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-CPXJh9cq.js → de-CqC4aSIV.js} +81 -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-CPJWE2N-.js +95 -0
- package/dist/chunks/{icon-DVooQfk4.js.map → icon-CPJWE2N-.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-29X4CDLE.js → zh-CN-BlpsT6d_.js} +80 -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 +4 -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 +2 -2
- 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 +101 -101
- 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/diff-view.d.ts +30 -0
- package/dist/types/components/code-block/diff.d.ts +26 -0
- package/dist/types/components/code-block/docs.d.ts +14 -0
- package/dist/types/components/code-block/index.d.ts +1 -0
- 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/icons/groups.d.ts +1 -1
- package/dist/types/icons/vocabulary.d.ts +5 -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-D5A-CGXG.js +0 -330
- package/dist/chunks/code-block-D5A-CGXG.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-CPXJh9cq.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-DVooQfk4.js +0 -94
- 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-DULktoTK.js +0 -313
- package/dist/chunks/markdown-DULktoTK.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-29X4CDLE.js.map +0 -1
- package/dist/components/data-table.js.map +0 -1
- package/dist/components/label.js.map +0 -1
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as e } from "./cn-BjnOAUrA.js";
|
|
3
|
+
import { t } from "./use-controllable-B5Fd12Bx.js";
|
|
4
|
+
import { o as n } from "./inset-BUzyXLK4.js";
|
|
5
|
+
import { t as r } from "./icon-CBzOwqrX.js";
|
|
6
|
+
import { r as i } from "./tooltip-Tkm-urbi.js";
|
|
7
|
+
import { t as a } from "./observe-resize-DhxhmoyB.js";
|
|
8
|
+
import { forwardRef as o, useEffect as s, useLayoutEffect as c, useRef as l, useState as u } from "react";
|
|
9
|
+
import { jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
10
|
+
import { Radio as p } from "@base-ui/react/radio";
|
|
11
|
+
import { RadioGroup as m } from "@base-ui/react/radio-group";
|
|
12
|
+
//#region src/hooks/use-indicator.ts
|
|
13
|
+
function h(e, t, n) {
|
|
14
|
+
let [r, i] = u({
|
|
15
|
+
x: 0,
|
|
16
|
+
y: 0,
|
|
17
|
+
w: 0,
|
|
18
|
+
h: 0,
|
|
19
|
+
ready: !1
|
|
20
|
+
}), [o, l] = u(!1);
|
|
21
|
+
return s(() => {
|
|
22
|
+
if (!r.ready || o) return;
|
|
23
|
+
let e = 0, t = !0;
|
|
24
|
+
return (document.fonts?.ready ?? Promise.resolve()).then(() => {
|
|
25
|
+
t && (e = requestAnimationFrame(() => e = requestAnimationFrame(() => l(!0))));
|
|
26
|
+
}), () => {
|
|
27
|
+
t = !1, cancelAnimationFrame(e);
|
|
28
|
+
};
|
|
29
|
+
}, [r.ready, o]), c(() => {
|
|
30
|
+
let n = e.current;
|
|
31
|
+
if (!n) return;
|
|
32
|
+
let r = () => {
|
|
33
|
+
let e = n.querySelector(t);
|
|
34
|
+
if (!e) return i((e) => ({
|
|
35
|
+
...e,
|
|
36
|
+
ready: !1
|
|
37
|
+
}));
|
|
38
|
+
i({
|
|
39
|
+
x: Math.round(e.offsetLeft),
|
|
40
|
+
y: Math.round(e.offsetTop),
|
|
41
|
+
w: Math.round(e.offsetWidth),
|
|
42
|
+
h: Math.round(e.offsetHeight),
|
|
43
|
+
ready: !0
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
if (r(), typeof ResizeObserver > "u") return;
|
|
47
|
+
let o = !0, s = a([n, ...n.querySelectorAll(":scope > *")], r);
|
|
48
|
+
return document.fonts?.ready.then(() => {
|
|
49
|
+
o && r();
|
|
50
|
+
}), () => {
|
|
51
|
+
o = !1, s();
|
|
52
|
+
};
|
|
53
|
+
}, [
|
|
54
|
+
e,
|
|
55
|
+
t,
|
|
56
|
+
n
|
|
57
|
+
]), {
|
|
58
|
+
...r,
|
|
59
|
+
animate: o
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
//#endregion
|
|
63
|
+
//#region src/components/segmented/segmented.tsx
|
|
64
|
+
var g = { size: {
|
|
65
|
+
sm: { classes: "h-32 p-2 gap-2" },
|
|
66
|
+
md: { classes: "h-36 p-2 gap-2" }
|
|
67
|
+
} }, _ = { size: "md" }, v = {
|
|
68
|
+
sm: "h-28 px-10 text-body",
|
|
69
|
+
md: "h-32 px-12 text-body"
|
|
70
|
+
}, y = {
|
|
71
|
+
sm: "w-32 px-0",
|
|
72
|
+
md: "w-36 px-0"
|
|
73
|
+
}, b = {
|
|
74
|
+
sm: "pl-8",
|
|
75
|
+
md: "pl-10"
|
|
76
|
+
}, x = /* @__PURE__ */ o(function({ options: a, value: o, defaultValue: s, onValueChange: c, size: u = "md", disabled: _, fullWidth: x, className: S, "aria-label": C, "data-force": w }, T) {
|
|
77
|
+
let [E, D] = t(o, s ?? a[0]?.value ?? "", c), O = l(null), k = h(O, "[data-checked]", `${E}|${a.length}|${u}`), A = n();
|
|
78
|
+
return /* @__PURE__ */ f(m, {
|
|
79
|
+
ref: (e) => {
|
|
80
|
+
O.current = e, typeof T == "function" ? T(e) : T && (T.current = e);
|
|
81
|
+
},
|
|
82
|
+
value: E,
|
|
83
|
+
onValueChange: (e) => D(String(e)),
|
|
84
|
+
..._ === void 0 ? {} : { disabled: _ },
|
|
85
|
+
"aria-label": C,
|
|
86
|
+
...w ? { "data-force": w } : {},
|
|
87
|
+
className: e("relative isolate inline-flex items-center rounded-pill", A ? "bg-fill-2" : "bg-fill-1", g.size[u].classes, x && "flex w-full", _ && "opacity-40", S),
|
|
88
|
+
children: [/* @__PURE__ */ d("span", {
|
|
89
|
+
"aria-hidden": !0,
|
|
90
|
+
className: e("absolute top-0 left-0 -z-10 rounded-pill shadow-segment", A ? "segment-indicator-raised" : "bg-raised", k.animate && "indicator-motion", !k.ready && "opacity-0"),
|
|
91
|
+
style: {
|
|
92
|
+
transform: `translate(${k.x}px, ${k.y}px)`,
|
|
93
|
+
width: k.w,
|
|
94
|
+
height: k.h
|
|
95
|
+
}
|
|
96
|
+
}), a.map((t) => {
|
|
97
|
+
let n = t.icon && !t.label, a = /* @__PURE__ */ f(p.Root, {
|
|
98
|
+
value: t.value,
|
|
99
|
+
...t.disabled ? { disabled: !0 } : {},
|
|
100
|
+
...t["data-force"] ? { "data-force": t["data-force"] } : {},
|
|
101
|
+
...n && t["aria-label"] ? { "aria-label": t["aria-label"] } : {},
|
|
102
|
+
className: e("relative inline-flex cursor-pointer items-center justify-center gap-6 rounded-pill font-medium whitespace-nowrap text-fg-secondary transition-control focus-ring-segment tap-target", "hover:text-fg not-checked:active:bg-fill-2 checked:text-fg disabled:cursor-not-allowed", !_ && "disabled:text-fg-disabled checked:disabled:text-fg-disabled", v[u], n && y[u], t.icon && t.label && b[u], x && "flex-1"),
|
|
103
|
+
children: [t.icon && /* @__PURE__ */ d(r, {
|
|
104
|
+
icon: t.icon,
|
|
105
|
+
size: "sm"
|
|
106
|
+
}), t.label]
|
|
107
|
+
}, t.value);
|
|
108
|
+
return n && t["aria-label"] ? /* @__PURE__ */ d(i, {
|
|
109
|
+
content: t["aria-label"],
|
|
110
|
+
children: a
|
|
111
|
+
}, t.value) : a;
|
|
112
|
+
})]
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
process.env.NODE_ENV !== "production" && (x.displayName = "Segmented");
|
|
116
|
+
//#endregion
|
|
117
|
+
export { g as n, x as r, _ as t };
|
|
118
|
+
|
|
119
|
+
//# sourceMappingURL=segmented-D9i1avik.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segmented-D9i1avik.js","names":["BaseRadioGroup","BaseRadio","cn","useRaised","Icon","Tooltip","observeResize","useIndicator","box","setBox","useState","animate","setAnimate","useEffect","raf","live","useLayoutEffect","root","container","measure","el","selector","b","stop","layout","KAESO_SEGMENTED_VARIANTS","KAESO_SEGMENTED_DEFAULT_VARIANTS","ITEM","ITEM_ICON","ITEM_LEADING_ICON","Segmented","ariaLabel","force","current","setCurrent","useControllable","value","defaultValue","options","onValueChange","track","useRef","ind","size","raised","RadioGroup","ref","v","disabled","fullWidth","className","iconOnly","o","item","Radio"],"sources":["../../src/hooks/use-indicator.ts","../../src/components/segmented/segmented.tsx"],"sourcesContent":["import { useEffect, useLayoutEffect, useState, type RefObject } from \"react\";\nimport { observeResize } from \"../utils/observe-resize.js\";\n\nexport function useIndicator(\n container: RefObject<HTMLElement | null>,\n selector: string,\n layout: string,\n): { x: number; y: number; w: number; h: number; ready: boolean; animate: boolean } {\n const [box, setBox] = useState({ x: 0, y: 0, w: 0, h: 0, ready: false });\n const [animate, setAnimate] = useState(false);\n useEffect(() => {\n if (!box.ready || animate) return;\n let raf = 0;\n let live = true;\n void (document.fonts?.ready ?? Promise.resolve()).then(() => {\n if (live) raf = requestAnimationFrame(() => (raf = requestAnimationFrame(() => setAnimate(true))));\n });\n return () => {\n live = false;\n cancelAnimationFrame(raf);\n };\n }, [box.ready, animate]);\n useLayoutEffect(() => {\n const root = container.current;\n if (!root) return;\n const measure = () => {\n const el = root.querySelector<HTMLElement>(selector);\n if (!el) return setBox((b) => ({ ...b, ready: false }));\n setBox({ x: Math.round(el.offsetLeft), y: Math.round(el.offsetTop), w: Math.round(el.offsetWidth), h: Math.round(el.offsetHeight), ready: true });\n };\n measure();\n if (typeof ResizeObserver === \"undefined\") return;\n let live = true;\n const stop = observeResize([root, ...root.querySelectorAll(\":scope > *\")], measure);\n void document.fonts?.ready.then(() => {\n if (live) measure();\n });\n return () => {\n live = false;\n stop();\n };\n }, [container, selector, layout]);\n return { ...box, animate };\n}\n","import { forwardRef, useRef, type ReactNode } from \"react\";\nimport { RadioGroup as BaseRadioGroup } from \"@base-ui/react/radio-group\";\nimport { Radio as BaseRadio } from \"@base-ui/react/radio\";\nimport { cn } from \"../../utils/cn.js\";\nimport { useControllable } from \"../../utils/use-controllable.js\";\nimport { useIndicator } from \"../../hooks/use-indicator.js\";\nimport { Icon, type IconData } from \"../icon/icon.js\";\nimport { Tooltip } from \"../tooltip/tooltip.js\";\nimport { useRaised } from \"../../utils/inset.js\";\n\nexport const KAESO_SEGMENTED_VARIANTS = {\n size: {\n sm: { classes: \"h-32 p-2 gap-2\" },\n md: { classes: \"h-36 p-2 gap-2\" },\n },\n} as const;\nexport const KAESO_SEGMENTED_DEFAULT_VARIANTS = { size: \"md\" } as const;\n\nconst ITEM = { sm: \"h-28 px-10 text-body\", md: \"h-32 px-12 text-body\" } as const;\nconst ITEM_ICON = { sm: \"w-32 px-0\", md: \"w-36 px-0\" } as const;\nconst ITEM_LEADING_ICON = { sm: \"pl-8\", md: \"pl-10\" } as const;\n\nexport interface SegmentedOption {\n value: string;\n label?: ReactNode | undefined;\n icon?: IconData | undefined;\n \"aria-label\"?: string | undefined;\n disabled?: boolean | undefined;\n \"data-force\"?: string | undefined;\n}\n\nexport interface SegmentedProps {\n options: SegmentedOption[];\n value?: string | undefined;\n defaultValue?: string | undefined;\n onValueChange?: ((value: string) => void) | undefined;\n size?: keyof typeof KAESO_SEGMENTED_VARIANTS.size | undefined;\n disabled?: boolean | undefined;\n fullWidth?: boolean | undefined;\n \"aria-label\": string;\n className?: string | undefined;\n \"data-force\"?: string | undefined;\n}\n\nexport const Segmented = /* @__PURE__ */ forwardRef<HTMLDivElement, SegmentedProps>(function Segmented(\n { options, value, defaultValue, onValueChange, size = \"md\", disabled, fullWidth, className, \"aria-label\": ariaLabel, \"data-force\": force },\n ref,\n) {\n const [current, setCurrent] = useControllable(value, defaultValue ?? options[0]?.value ?? \"\", onValueChange);\n const track = useRef<HTMLDivElement | null>(null);\n const ind = useIndicator(track, \"[data-checked]\", `${current}|${options.length}|${size}`);\n const raised = useRaised();\n return (\n <BaseRadioGroup\n ref={(el: HTMLDivElement | null) => {\n track.current = el;\n if (typeof ref === \"function\") ref(el);\n else if (ref) ref.current = el;\n }}\n value={current}\n onValueChange={(v: unknown) => setCurrent(String(v))}\n {...(disabled !== undefined ? { disabled } : {})}\n aria-label={ariaLabel}\n {...(force ? { \"data-force\": force } : {})}\n className={cn(\n \"relative isolate inline-flex items-center rounded-pill\",\n raised ? \"bg-fill-2\" : \"bg-fill-1\",\n KAESO_SEGMENTED_VARIANTS.size[size].classes,\n fullWidth && \"flex w-full\",\n disabled && \"opacity-40\",\n className,\n )}\n >\n <span\n aria-hidden\n className={cn(\n \"absolute top-0 left-0 -z-10 rounded-pill shadow-segment\",\n raised ? \"segment-indicator-raised\" : \"bg-raised\",\n ind.animate && \"indicator-motion\",\n !ind.ready && \"opacity-0\",\n )}\n style={{ transform: `translate(${ind.x}px, ${ind.y}px)`, width: ind.w, height: ind.h }}\n />\n {options.map((o) => {\n const iconOnly = o.icon && !o.label;\n const item = (\n <BaseRadio.Root\n key={o.value}\n value={o.value}\n {...(o.disabled ? { disabled: true } : {})}\n {...(o[\"data-force\"] ? { \"data-force\": o[\"data-force\"] } : {})}\n {...(iconOnly && o[\"aria-label\"] ? { \"aria-label\": o[\"aria-label\"] } : {})}\n className={cn(\n \"relative inline-flex cursor-pointer items-center justify-center gap-6 rounded-pill font-medium whitespace-nowrap text-fg-secondary transition-control focus-ring-segment tap-target\",\n \"hover:text-fg not-checked:active:bg-fill-2 checked:text-fg disabled:cursor-not-allowed\",\n !disabled && \"disabled:text-fg-disabled checked:disabled:text-fg-disabled\",\n ITEM[size],\n iconOnly && ITEM_ICON[size],\n o.icon && o.label && ITEM_LEADING_ICON[size],\n fullWidth && \"flex-1\",\n )}\n >\n {o.icon && <Icon icon={o.icon} size=\"sm\" />}\n {o.label}\n </BaseRadio.Root>\n );\n return iconOnly && o[\"aria-label\"] ? (\n <Tooltip key={o.value} content={o[\"aria-label\"]}>\n {item}\n </Tooltip>\n ) : (\n item\n );\n })}\n </BaseRadioGroup>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Segmented.displayName = \"Segmented\";\n"],"mappings":"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"}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { i as e, o as t } from "./styles-hkFkoBbi.js";
|
|
3
|
+
import { t as n } from "./cn-BjnOAUrA.js";
|
|
4
|
+
import { i as r } from "./dev-CR1p7gCm.js";
|
|
5
|
+
import { n as i, r as a } from "./portal-context-CTatR2Z8.js";
|
|
6
|
+
import { i as ee } from "./context-BELWW79w.js";
|
|
7
|
+
import { t as o } from "./icon-CBzOwqrX.js";
|
|
8
|
+
import { a as te, o as ne, s } from "./field-D7m-yl-D.js";
|
|
9
|
+
import { n as c, t as re } from "./use-layout-width-CbSDbRb0.js";
|
|
10
|
+
import { t as ie } from "./option-checkbox-Df7WhGn4.js";
|
|
11
|
+
import { Fragment as l, forwardRef as u, useCallback as d, useRef as ae } from "react";
|
|
12
|
+
import { Fragment as oe, jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
13
|
+
import { ArrowDown01Icon as m, ArrowUp01Icon as h, Tick02Icon as g } from "@hugeicons/core-free-icons";
|
|
14
|
+
import { CSPProvider as _ } from "@base-ui/react/csp-provider";
|
|
15
|
+
import { Select as v } from "@base-ui/react/select";
|
|
16
|
+
//#region src/components/select/select.tsx
|
|
17
|
+
var y = {
|
|
18
|
+
appearance: {
|
|
19
|
+
default: { classes: "material-selector" },
|
|
20
|
+
ghost: { classes: "material-ghost focus-ring text-fg-secondary hover:text-fg focus-visible:text-fg open:text-fg" },
|
|
21
|
+
header: { classes: "material-ghost focus-ring text-fg" }
|
|
22
|
+
},
|
|
23
|
+
size: {
|
|
24
|
+
sm: { classes: "h-32 pl-12 pr-10 gap-6 text-body" },
|
|
25
|
+
md: { classes: "h-36 pl-16 pr-12 gap-8 text-body" },
|
|
26
|
+
lg: { classes: "h-40 pl-18 pr-14 gap-8 text-body" },
|
|
27
|
+
xl: { classes: "h-48 pl-22 pr-18 gap-8 text-body-lg" }
|
|
28
|
+
}
|
|
29
|
+
}, b = {
|
|
30
|
+
appearance: "default",
|
|
31
|
+
size: "md"
|
|
32
|
+
};
|
|
33
|
+
function x(e, t) {
|
|
34
|
+
return (n) => {
|
|
35
|
+
t(n) && e(n);
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
var S = "absolute inset-x-0 z-10 flex h-24 cursor-default items-center justify-center bg-raised text-fg-tertiary";
|
|
39
|
+
function C(e) {
|
|
40
|
+
let t = [];
|
|
41
|
+
for (let n of e) {
|
|
42
|
+
let e = t[t.length - 1];
|
|
43
|
+
e && e.group === n.group ? e.items.push(n) : t.push({
|
|
44
|
+
group: n.group,
|
|
45
|
+
items: [n]
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return t;
|
|
49
|
+
}
|
|
50
|
+
var w = /* @__PURE__ */ u(function(u, b) {
|
|
51
|
+
let { options: w, placeholder: T, size: E = "md", appearance: D = "default", disabled: O, name: k, id: A, open: j, onOpenChange: M, invalid: N, icon: P, fullWidth: F, label: I, description: L, error: R, optional: z, required: B, layout: V, className: H, multiple: U, "aria-label": W, "data-force": G } = u;
|
|
52
|
+
r("Select", H);
|
|
53
|
+
let K = ee(), q = T ?? K("select.placeholder", "Not set"), J = te(), Y = ne(u), X = ae(null), se = c(X), ce = d((e) => {
|
|
54
|
+
X.current = e, typeof b == "function" ? b(e) : b && (b.current = e);
|
|
55
|
+
}, [b]), Z = new Map(w.map((e) => [e.value, e])), Q = (e) => {
|
|
56
|
+
let t = Z.get(e);
|
|
57
|
+
return t?.textValue ?? (typeof t?.label == "string" ? t.label : e);
|
|
58
|
+
}, le = u.multiple ? {
|
|
59
|
+
multiple: !0,
|
|
60
|
+
...u.value === void 0 ? {} : { value: u.value },
|
|
61
|
+
...u.defaultValue === void 0 ? {} : { defaultValue: u.defaultValue },
|
|
62
|
+
...u.onValueChange ? { onValueChange: x(u.onValueChange, Array.isArray) } : {}
|
|
63
|
+
} : {
|
|
64
|
+
...u.value === void 0 ? {} : { value: u.value },
|
|
65
|
+
...u.defaultValue === void 0 ? {} : { defaultValue: u.defaultValue },
|
|
66
|
+
...u.onValueChange ? { onValueChange: x(u.onValueChange, (e) => typeof e == "string") } : {}
|
|
67
|
+
}, $ = /* @__PURE__ */ p(v.Root, {
|
|
68
|
+
...le,
|
|
69
|
+
...J?.required ?? B ? { required: !0 } : {},
|
|
70
|
+
...O === void 0 ? {} : { disabled: O },
|
|
71
|
+
...k ? { name: k } : {},
|
|
72
|
+
...j === void 0 ? {} : { open: j },
|
|
73
|
+
...M ? { onOpenChange: (e) => M(e) } : {},
|
|
74
|
+
itemToStringLabel: (e) => Q(String(e)),
|
|
75
|
+
modal: !1,
|
|
76
|
+
children: [/* @__PURE__ */ p(v.Trigger, {
|
|
77
|
+
ref: ce,
|
|
78
|
+
...A ? { id: A } : {},
|
|
79
|
+
...Y.controlProps,
|
|
80
|
+
...W ? { "aria-label": W } : {},
|
|
81
|
+
...N || R ? { "aria-invalid": !0 } : {},
|
|
82
|
+
...G ? { "data-force": G } : {},
|
|
83
|
+
className: n("group/trigger inline-flex min-w-0 cursor-pointer items-center justify-between rounded-pill font-medium whitespace-nowrap transition-control disabled:cursor-not-allowed", y.size[E].classes, y.appearance[D].classes, (N || R) && D !== "default" && "ring-invalid", F && "w-full", !(I || L || R) && H),
|
|
84
|
+
children: [
|
|
85
|
+
P && /* @__PURE__ */ f(o, {
|
|
86
|
+
icon: P,
|
|
87
|
+
size: "sm",
|
|
88
|
+
className: "text-fg-secondary group-disabled/trigger:text-fg-disabled"
|
|
89
|
+
}),
|
|
90
|
+
/* @__PURE__ */ f(v.Value, {
|
|
91
|
+
className: n("min-w-0 flex-1 truncate text-left data-placeholder:font-regular data-placeholder:text-fg-tertiary group-disabled/trigger:data-placeholder:text-fg-disabled", U && "flex items-center"),
|
|
92
|
+
placeholder: q,
|
|
93
|
+
children: (e) => {
|
|
94
|
+
if (U) {
|
|
95
|
+
let t = Array.isArray(e) ? e.map(String) : [], [n] = t;
|
|
96
|
+
return n === void 0 ? q : t.length === 1 ? /* @__PURE__ */ f("span", {
|
|
97
|
+
className: "min-w-0 truncate",
|
|
98
|
+
children: Q(n)
|
|
99
|
+
}) : /* @__PURE__ */ p(oe, { children: [
|
|
100
|
+
/* @__PURE__ */ f("span", {
|
|
101
|
+
className: "min-w-0 truncate",
|
|
102
|
+
children: Q(n)
|
|
103
|
+
}),
|
|
104
|
+
" ",
|
|
105
|
+
/* @__PURE__ */ f("span", {
|
|
106
|
+
className: "shrink-0 pl-4 tabular",
|
|
107
|
+
children: K("select.more", "+{count}", { count: String(t.length - 1) })
|
|
108
|
+
})
|
|
109
|
+
] });
|
|
110
|
+
}
|
|
111
|
+
return e == null || e === "" ? q : Z.get(String(e))?.label ?? String(e);
|
|
112
|
+
}
|
|
113
|
+
}),
|
|
114
|
+
/* @__PURE__ */ f(v.Icon, {
|
|
115
|
+
className: "flex shrink-0 text-fg-tertiary group-disabled/trigger:text-fg-disabled",
|
|
116
|
+
children: /* @__PURE__ */ f(o, {
|
|
117
|
+
icon: m,
|
|
118
|
+
size: "sm"
|
|
119
|
+
})
|
|
120
|
+
})
|
|
121
|
+
]
|
|
122
|
+
}), /* @__PURE__ */ f(_, {
|
|
123
|
+
disableStyleElements: !0,
|
|
124
|
+
children: /* @__PURE__ */ f(v.Portal, {
|
|
125
|
+
container: a(),
|
|
126
|
+
children: /* @__PURE__ */ f(v.Positioner, {
|
|
127
|
+
positionMethod: "fixed",
|
|
128
|
+
collisionBoundary: i(),
|
|
129
|
+
alignItemWithTrigger: !1,
|
|
130
|
+
align: "start",
|
|
131
|
+
sideOffset: 6,
|
|
132
|
+
collisionPadding: 8,
|
|
133
|
+
className: "z-50 outline-none",
|
|
134
|
+
children: /* @__PURE__ */ p(v.Popup, {
|
|
135
|
+
"data-select-popup": "",
|
|
136
|
+
className: n(t, "relative min-w-anchor overflow-hidden"),
|
|
137
|
+
style: re(se),
|
|
138
|
+
children: [
|
|
139
|
+
/* @__PURE__ */ f(v.ScrollUpArrow, {
|
|
140
|
+
className: n(S, "top-0 rounded-t-menu"),
|
|
141
|
+
children: /* @__PURE__ */ f(o, {
|
|
142
|
+
icon: h,
|
|
143
|
+
size: "xs"
|
|
144
|
+
})
|
|
145
|
+
}),
|
|
146
|
+
/* @__PURE__ */ f(v.List, {
|
|
147
|
+
className: "-mx-6 flex min-h-0 flex-col overflow-y-auto overscroll-contain px-6 outline-none scrollbar-quiet",
|
|
148
|
+
children: C(w).map((t, r) => /* @__PURE__ */ p(l, { children: [r > 0 && /* @__PURE__ */ f("div", {
|
|
149
|
+
role: "presentation",
|
|
150
|
+
className: "mx-10 my-4 h-1 shrink-0 bg-line-subtle"
|
|
151
|
+
}), /* @__PURE__ */ p(v.Group, {
|
|
152
|
+
className: "flex flex-col",
|
|
153
|
+
children: [t.group && /* @__PURE__ */ f(v.GroupLabel, {
|
|
154
|
+
className: "flex h-28 items-center px-10 text-caption font-medium text-fg-secondary",
|
|
155
|
+
children: t.group
|
|
156
|
+
}), t.items.map((t) => /* @__PURE__ */ p(v.Item, {
|
|
157
|
+
value: t.value,
|
|
158
|
+
...t.disabled ? { disabled: !0 } : {},
|
|
159
|
+
label: t.textValue ?? (typeof t.label == "string" ? t.label : t.value),
|
|
160
|
+
className: n(e, "group/opt"),
|
|
161
|
+
children: [
|
|
162
|
+
U && /* @__PURE__ */ f("span", {
|
|
163
|
+
className: "pointer-events-none flex",
|
|
164
|
+
children: /* @__PURE__ */ f(ie, {})
|
|
165
|
+
}),
|
|
166
|
+
t.icon && /* @__PURE__ */ f(o, {
|
|
167
|
+
icon: t.icon,
|
|
168
|
+
size: "sm",
|
|
169
|
+
className: n("text-fg-secondary group-data-highlighted/item:text-fg group-data-disabled/item:text-fg-disabled forced-colors:text-current", t.description && "self-start mt-10")
|
|
170
|
+
}),
|
|
171
|
+
/* @__PURE__ */ p("span", {
|
|
172
|
+
className: n("flex min-w-0 flex-1 flex-col", t.description ? "gap-2 py-8" : "py-6"),
|
|
173
|
+
children: [/* @__PURE__ */ f(v.ItemText, {
|
|
174
|
+
className: "wrap-break-word whitespace-normal text-pretty",
|
|
175
|
+
children: t.label
|
|
176
|
+
}), t.description && /* @__PURE__ */ f("span", {
|
|
177
|
+
className: "text-small font-regular whitespace-normal text-pretty text-fg-secondary",
|
|
178
|
+
children: t.description
|
|
179
|
+
})]
|
|
180
|
+
}),
|
|
181
|
+
!U && /* @__PURE__ */ f(v.ItemIndicator, {
|
|
182
|
+
keepMounted: !0,
|
|
183
|
+
className: n("flex size-16 shrink-0 items-center justify-center text-fg opacity-0 data-selected:opacity-100", t.description && "self-start mt-10"),
|
|
184
|
+
children: /* @__PURE__ */ f(o, {
|
|
185
|
+
icon: g,
|
|
186
|
+
size: "sm"
|
|
187
|
+
})
|
|
188
|
+
})
|
|
189
|
+
]
|
|
190
|
+
}, t.value))]
|
|
191
|
+
})] }, t.group ?? `g${r}`))
|
|
192
|
+
}),
|
|
193
|
+
/* @__PURE__ */ f(v.ScrollDownArrow, {
|
|
194
|
+
className: n(S, "bottom-0 rounded-b-menu"),
|
|
195
|
+
children: /* @__PURE__ */ f(o, {
|
|
196
|
+
icon: m,
|
|
197
|
+
size: "xs"
|
|
198
|
+
})
|
|
199
|
+
})
|
|
200
|
+
]
|
|
201
|
+
})
|
|
202
|
+
})
|
|
203
|
+
})
|
|
204
|
+
})]
|
|
205
|
+
});
|
|
206
|
+
return J ? $ : s({
|
|
207
|
+
label: I,
|
|
208
|
+
description: L,
|
|
209
|
+
error: R,
|
|
210
|
+
optional: z,
|
|
211
|
+
required: B,
|
|
212
|
+
layout: V,
|
|
213
|
+
id: Y.wrapId ?? A,
|
|
214
|
+
disabled: O,
|
|
215
|
+
className: H
|
|
216
|
+
}, $);
|
|
217
|
+
});
|
|
218
|
+
process.env.NODE_ENV !== "production" && (w.displayName = "Select");
|
|
219
|
+
//#endregion
|
|
220
|
+
export { y as n, w as r, b as t };
|
|
221
|
+
|
|
222
|
+
//# sourceMappingURL=select-BqjmQOqx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-BqjmQOqx.js","names":["Select","BaseSelect","_Fragment","__icon_ArrowDown01Icon","__icon_ArrowUp01Icon","__icon_Tick02Icon","MENU_ITEM","MENU_POPUP","cn","warnStylingClassName","pageBoundary","usePortalContainer","useUiText","Icon","useField","useFieldControl","useLayoutWidth","anchorWidthStyle","OptionCheckbox","Fragment$1","KAESO_SELECT_VARIANTS","KAESO_SELECT_DEFAULT_VARIANTS","changeWith","accepts","value","onChange","SCROLL_ARROW","groupsOf","out","o","options","last","Select$1","placeholderProp","ariaLabel","force","props","className","t","placeholder","field","fc","trigger","useRef","triggerWidth","setTrigger","useCallback","el","ref","byValue","textOf","v","valueProps","control","Select","required","disabled","name","open","onOpenChange","id","invalid","error","size","appearance","fullWidth","label","description","icon","multiple","arr","first","ArrowDown01Icon","CSPProvider","ArrowUp01Icon","Fragment","gi","g","Tick02Icon","withField"],"sources":["../../src/components/select/select.tsx"],"sourcesContent":["import { pageBoundary, usePortalContainer } from \"../../utils/portal-context.js\";\nimport { Fragment, forwardRef, useCallback, useRef, type ReactNode } from \"react\";\nimport { CSPProvider } from \"@base-ui/react/csp-provider\";\nimport { Select as BaseSelect } from \"@base-ui/react/select\";\nimport { cn } from \"../../utils/cn.js\";\nimport { warnStylingClassName } from \"../../utils/dev.js\";\nimport { useField, useFieldControl, withField, type FieldWrapProps } from \"../field/field.js\";\nimport { Icon, type IconData } from \"../icon/icon.js\";\nimport { ArrowDown01Icon as __icon_ArrowDown01Icon, ArrowUp01Icon as __icon_ArrowUp01Icon, Tick02Icon as __icon_Tick02Icon } from \"@hugeicons/core-free-icons\";\nimport { MENU_ICON, MENU_ITEM, MENU_LABEL, MENU_POPUP, MENU_SEPARATOR } from \"../menu/styles.js\";\nimport { anchorWidthStyle, useLayoutWidth } from \"../../hooks/use-layout-width.js\";\nimport { useUiText } from \"../../i18n/context.js\";\nimport { OptionCheckbox } from \"./option-checkbox.js\";\n\nexport const KAESO_SELECT_VARIANTS = {\n appearance: {\n default: { classes: \"material-selector\" },\n ghost: {\n classes: \"material-ghost focus-ring text-fg-secondary hover:text-fg focus-visible:text-fg open:text-fg\",\n },\n header: { classes: \"material-ghost focus-ring text-fg\" },\n },\n size: {\n sm: { classes: \"h-32 pl-12 pr-10 gap-6 text-body\" },\n md: { classes: \"h-36 pl-16 pr-12 gap-8 text-body\" },\n lg: { classes: \"h-40 pl-18 pr-14 gap-8 text-body\" },\n xl: { classes: \"h-48 pl-22 pr-18 gap-8 text-body-lg\" },\n },\n} as const;\nexport const KAESO_SELECT_DEFAULT_VARIANTS = { appearance: \"default\", size: \"md\" } as const;\n\nexport interface SelectOption {\n value: string;\n label: ReactNode;\n textValue?: string | undefined;\n description?: ReactNode | undefined;\n icon?: IconData | undefined;\n group?: string | undefined;\n disabled?: boolean | undefined;\n}\n\ninterface BaseProps extends FieldWrapProps {\n options: SelectOption[];\n placeholder?: ReactNode | undefined;\n size?: keyof typeof KAESO_SELECT_VARIANTS.size | undefined;\n appearance?: keyof typeof KAESO_SELECT_VARIANTS.appearance | undefined;\n disabled?: boolean | undefined;\n name?: string | undefined;\n id?: string | undefined;\n open?: boolean | undefined;\n onOpenChange?: ((open: boolean) => void) | undefined;\n invalid?: boolean | undefined;\n icon?: IconData | undefined;\n fullWidth?: boolean | undefined;\n \"aria-label\"?: string | undefined;\n className?: string | undefined;\n \"data-force\"?: string | undefined;\n}\nexport interface SingleSelectProps extends BaseProps {\n multiple?: false | undefined;\n value?: string | null | undefined;\n defaultValue?: string | null | undefined;\n onValueChange?: ((value: string) => void) | undefined;\n}\nexport interface MultiSelectProps extends BaseProps {\n multiple: true;\n value?: string[] | undefined;\n defaultValue?: string[] | undefined;\n onValueChange?: ((value: string[]) => void) | undefined;\n}\nexport type SelectProps = SingleSelectProps | MultiSelectProps;\n\nfunction changeWith<T extends string | string[]>(onChange: (value: T) => void, accepts: (value: unknown) => value is T) {\n return (value: unknown) => {\n if (accepts(value)) onChange(value);\n };\n}\n\nconst SCROLL_ARROW = \"absolute inset-x-0 z-10 flex h-24 cursor-default items-center justify-center bg-raised text-fg-tertiary\";\n\nfunction groupsOf(options: SelectOption[]) {\n const out: { group: string | undefined; items: SelectOption[] }[] = [];\n for (const o of options) {\n const last = out[out.length - 1];\n if (last && last.group === o.group) last.items.push(o);\n else out.push({ group: o.group, items: [o] });\n }\n return out;\n}\n\nexport const Select = /* @__PURE__ */ forwardRef<HTMLButtonElement, SelectProps>(function Select(props, ref) {\n const {\n options,\n placeholder: placeholderProp,\n size = \"md\",\n appearance = \"default\",\n disabled,\n name,\n id,\n open,\n onOpenChange,\n invalid,\n icon,\n fullWidth,\n label,\n description,\n error,\n optional,\n required,\n layout,\n className,\n multiple,\n \"aria-label\": ariaLabel,\n \"data-force\": force,\n } = props;\n warnStylingClassName(\"Select\", className);\n const t = useUiText();\n const placeholder = placeholderProp ?? t(\"select.placeholder\", \"Not set\");\n const field = useField();\n const fc = useFieldControl(props);\n const trigger = useRef<HTMLButtonElement | null>(null);\n const triggerWidth = useLayoutWidth(trigger);\n const setTrigger = useCallback(\n (el: HTMLButtonElement | null) => {\n trigger.current = el;\n if (typeof ref === \"function\") ref(el);\n else if (ref) ref.current = el;\n },\n [ref],\n );\n const byValue = new Map(options.map((o) => [o.value, o]));\n const textOf = (v: string) => {\n const o = byValue.get(v);\n return o?.textValue ?? (typeof o?.label === \"string\" ? o.label : v);\n };\n const valueProps: Pick<BaseSelect.Root.Props<string, boolean>, \"multiple\" | \"value\" | \"defaultValue\" | \"onValueChange\"> = props.multiple\n ? {\n multiple: true,\n ...(props.value !== undefined ? { value: props.value } : {}),\n ...(props.defaultValue !== undefined ? { defaultValue: props.defaultValue } : {}),\n ...(props.onValueChange ? { onValueChange: changeWith(props.onValueChange, Array.isArray) } : {}),\n }\n : {\n ...(props.value !== undefined ? { value: props.value } : {}),\n ...(props.defaultValue !== undefined ? { defaultValue: props.defaultValue } : {}),\n ...(props.onValueChange ? { onValueChange: changeWith(props.onValueChange, (v) => typeof v === \"string\") } : {}),\n };\n const control = (\n <BaseSelect.Root\n {...valueProps}\n {...((field?.required ?? required) ? { required: true } : {})}\n {...(disabled !== undefined ? { disabled } : {})}\n {...(name ? { name } : {})}\n {...(open !== undefined ? { open } : {})}\n {...(onOpenChange ? { onOpenChange: (o: boolean) => onOpenChange(o) } : {})}\n itemToStringLabel={(v: unknown) => textOf(String(v))}\n modal={false}\n >\n <BaseSelect.Trigger\n ref={setTrigger}\n {...(id ? { id } : {})}\n {...fc.controlProps}\n {...(ariaLabel ? { \"aria-label\": ariaLabel } : {})}\n {...(invalid || error ? { \"aria-invalid\": true } : {})}\n {...(force ? { \"data-force\": force } : {})}\n className={cn(\n \"group/trigger inline-flex min-w-0 cursor-pointer items-center justify-between rounded-pill font-medium whitespace-nowrap transition-control disabled:cursor-not-allowed\",\n KAESO_SELECT_VARIANTS.size[size].classes,\n KAESO_SELECT_VARIANTS.appearance[appearance].classes,\n (invalid || error) && appearance !== \"default\" && \"ring-invalid\",\n fullWidth && \"w-full\",\n !(label || description || error) && className,\n )}\n >\n {icon && <Icon icon={icon} size=\"sm\" className=\"text-fg-secondary group-disabled/trigger:text-fg-disabled\" />}\n <BaseSelect.Value\n className={cn(\n \"min-w-0 flex-1 truncate text-left data-placeholder:font-regular data-placeholder:text-fg-tertiary group-disabled/trigger:data-placeholder:text-fg-disabled\",\n multiple && \"flex items-center\",\n )}\n placeholder={placeholder}\n >\n {(value: unknown) => {\n if (multiple) {\n const arr = Array.isArray(value) ? value.map(String) : [];\n const [first] = arr;\n if (first === undefined) return placeholder;\n if (arr.length === 1) return <span className=\"min-w-0 truncate\">{textOf(first)}</span>;\n return (\n <>\n <span className=\"min-w-0 truncate\">{textOf(first)}</span>{\" \"}\n <span className=\"shrink-0 pl-4 tabular\">{t(\"select.more\", \"+{count}\", { count: String(arr.length - 1) })}</span>\n </>\n );\n }\n return value == null || value === \"\" ? placeholder : (byValue.get(String(value))?.label ?? String(value));\n }}\n </BaseSelect.Value>\n <BaseSelect.Icon className=\"flex shrink-0 text-fg-tertiary group-disabled/trigger:text-fg-disabled\">\n <Icon icon={__icon_ArrowDown01Icon} size=\"sm\" />\n </BaseSelect.Icon>\n </BaseSelect.Trigger>\n <CSPProvider disableStyleElements>\n <BaseSelect.Portal container={usePortalContainer()}>\n <BaseSelect.Positioner\n positionMethod=\"fixed\"\n collisionBoundary={pageBoundary()}\n alignItemWithTrigger={false}\n align=\"start\"\n sideOffset={6}\n collisionPadding={8}\n className=\"z-50 outline-none\"\n >\n <BaseSelect.Popup data-select-popup=\"\" className={cn(MENU_POPUP, \"relative min-w-anchor overflow-hidden\")} style={anchorWidthStyle(triggerWidth)}>\n <BaseSelect.ScrollUpArrow className={cn(SCROLL_ARROW, \"top-0 rounded-t-menu\")}>\n <Icon icon={__icon_ArrowUp01Icon} size=\"xs\" />\n </BaseSelect.ScrollUpArrow>\n <BaseSelect.List className=\"-mx-6 flex min-h-0 flex-col overflow-y-auto overscroll-contain px-6 outline-none scrollbar-quiet\">\n {groupsOf(options).map((g, gi) => (\n <Fragment key={g.group ?? `g${gi}`}>\n {gi > 0 && <div role=\"presentation\" className={MENU_SEPARATOR} />}\n <BaseSelect.Group className=\"flex flex-col\">\n {g.group && <BaseSelect.GroupLabel className={MENU_LABEL}>{g.group}</BaseSelect.GroupLabel>}\n {g.items.map((o) => (\n <BaseSelect.Item\n key={o.value}\n value={o.value}\n {...(o.disabled ? { disabled: true } : {})}\n label={o.textValue ?? (typeof o.label === \"string\" ? o.label : o.value)}\n className={cn(MENU_ITEM, \"group/opt\")}\n >\n {multiple && (\n <span className=\"pointer-events-none flex\">\n <OptionCheckbox />\n </span>\n )}\n {o.icon && <Icon icon={o.icon} size=\"sm\" className={cn(MENU_ICON, o.description && \"self-start mt-10\")} />}\n <span className={cn(\"flex min-w-0 flex-1 flex-col\", o.description ? \"gap-2 py-8\" : \"py-6\")}>\n <BaseSelect.ItemText className=\"wrap-break-word whitespace-normal text-pretty\">{o.label}</BaseSelect.ItemText>\n {o.description && <span className=\"text-small font-regular whitespace-normal text-pretty text-fg-secondary\">{o.description}</span>}\n </span>\n {!multiple && (\n <BaseSelect.ItemIndicator\n keepMounted\n className={cn(\n \"flex size-16 shrink-0 items-center justify-center text-fg opacity-0 data-selected:opacity-100\",\n o.description && \"self-start mt-10\",\n )}\n >\n <Icon icon={__icon_Tick02Icon} size=\"sm\" />\n </BaseSelect.ItemIndicator>\n )}\n </BaseSelect.Item>\n ))}\n </BaseSelect.Group>\n </Fragment>\n ))}\n </BaseSelect.List>\n <BaseSelect.ScrollDownArrow className={cn(SCROLL_ARROW, \"bottom-0 rounded-b-menu\")}>\n <Icon icon={__icon_ArrowDown01Icon} size=\"xs\" />\n </BaseSelect.ScrollDownArrow>\n </BaseSelect.Popup>\n </BaseSelect.Positioner>\n </BaseSelect.Portal>\n </CSPProvider>\n </BaseSelect.Root>\n );\n if (field) return control;\n return withField({ label, description, error, optional, required, layout, id: fc.wrapId ?? id, disabled, className }, control);\n});\nif (process.env.NODE_ENV !== \"production\") Select.displayName = \"Select\";\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { t as e } from "./cn-
|
|
2
|
+
import { t as e } from "./cn-BjnOAUrA.js";
|
|
3
3
|
import { forwardRef as t } from "react";
|
|
4
4
|
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
5
5
|
//#region src/components/separator/separator.tsx
|
|
@@ -18,23 +18,28 @@ var i = {
|
|
|
18
18
|
}, o = /* @__PURE__ */ t(function({ orientation: t = "horizontal", tone: a = "subtle", label: o, className: s, ...c }, l) {
|
|
19
19
|
return o && t === "horizontal" ? /* @__PURE__ */ r("div", {
|
|
20
20
|
ref: l,
|
|
21
|
-
role: "separator",
|
|
22
|
-
"aria-orientation": "horizontal",
|
|
23
21
|
className: e("flex w-full items-center gap-12", s),
|
|
24
22
|
...c,
|
|
25
23
|
children: [
|
|
26
|
-
/* @__PURE__ */ n("span", { className: e("h-1 flex-1", i.tone[a].classes) }),
|
|
27
24
|
/* @__PURE__ */ n("span", {
|
|
28
|
-
|
|
25
|
+
role: "separator",
|
|
26
|
+
"aria-orientation": "horizontal",
|
|
27
|
+
className: e("h-1 flex-1 forced-line", i.tone[a].classes)
|
|
28
|
+
}),
|
|
29
|
+
/* @__PURE__ */ n("span", {
|
|
30
|
+
className: "text-caption font-medium text-fg-secondary",
|
|
29
31
|
children: o
|
|
30
32
|
}),
|
|
31
|
-
/* @__PURE__ */ n("span", {
|
|
33
|
+
/* @__PURE__ */ n("span", {
|
|
34
|
+
"aria-hidden": !0,
|
|
35
|
+
className: e("h-1 flex-1 forced-line", i.tone[a].classes)
|
|
36
|
+
})
|
|
32
37
|
]
|
|
33
38
|
}) : /* @__PURE__ */ n("div", {
|
|
34
39
|
ref: l,
|
|
35
40
|
role: "separator",
|
|
36
41
|
"aria-orientation": t,
|
|
37
|
-
className: e("shrink-0", i.orientation[t].classes, i.tone[a].classes, s),
|
|
42
|
+
className: e("shrink-0 forced-line", i.orientation[t].classes, i.tone[a].classes, s),
|
|
38
43
|
...c
|
|
39
44
|
});
|
|
40
45
|
});
|
|
@@ -42,4 +47,4 @@ process.env.NODE_ENV !== "production" && (o.displayName = "Separator");
|
|
|
42
47
|
//#endregion
|
|
43
48
|
export { i as n, o as r, a as t };
|
|
44
49
|
|
|
45
|
-
//# sourceMappingURL=separator-
|
|
50
|
+
//# sourceMappingURL=separator-BNWf6BBj.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"separator-BNWf6BBj.js","names":["cn","KAESO_SEPARATOR_VARIANTS","KAESO_SEPARATOR_DEFAULT_VARIANTS","Separator","props","label","orientation","className","tone"],"sources":["../../src/components/separator/separator.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\n\nexport const KAESO_SEPARATOR_VARIANTS = {\n orientation: {\n horizontal: { classes: \"h-1 w-full\" },\n vertical: { classes: \"w-1 self-stretch\" },\n },\n tone: {\n subtle: { classes: \"bg-line-subtle\" },\n default: { classes: \"bg-line\" },\n },\n} as const;\nexport const KAESO_SEPARATOR_DEFAULT_VARIANTS = { orientation: \"horizontal\", tone: \"subtle\" } as const;\n\nexport interface SeparatorProps extends HTMLAttributes<HTMLDivElement> {\n orientation?: keyof typeof KAESO_SEPARATOR_VARIANTS.orientation | undefined;\n tone?: keyof typeof KAESO_SEPARATOR_VARIANTS.tone | undefined;\n label?: ReactNode | undefined;\n}\n\nexport const Separator = /* @__PURE__ */ forwardRef<HTMLDivElement, SeparatorProps>(function Separator(\n { orientation = \"horizontal\", tone = \"subtle\", label, className, ...props },\n ref,\n) {\n if (label && orientation === \"horizontal\") {\n return (\n <div ref={ref} className={cn(\"flex w-full items-center gap-12\", className)} {...props}>\n <span role=\"separator\" aria-orientation=\"horizontal\" className={cn(\"h-1 flex-1 forced-line\", KAESO_SEPARATOR_VARIANTS.tone[tone].classes)} />\n <span className=\"text-caption font-medium text-fg-secondary\">{label}</span>\n <span aria-hidden className={cn(\"h-1 flex-1 forced-line\", KAESO_SEPARATOR_VARIANTS.tone[tone].classes)} />\n </div>\n );\n }\n return (\n <div\n ref={ref}\n role=\"separator\"\n aria-orientation={orientation}\n className={cn(\"shrink-0 forced-line\", KAESO_SEPARATOR_VARIANTS.orientation[orientation].classes, KAESO_SEPARATOR_VARIANTS.tone[tone].classes, className)}\n {...props}\n />\n );\n});\nif (process.env.NODE_ENV !== \"production\") Separator.displayName = \"Separator\";\n"],"mappings":";;;;;AAGA,IAAaC,IAA2B;CACtC,aAAa;EACX,YAAY,EAAE,SAAS,aAAa;EACpC,UAAU,EAAE,SAAS,mBAAmB;CAC1C;CACA,MAAM;EACJ,QAAQ,EAAE,SAAS,iBAAiB;EACpC,SAAS,EAAE,SAAS,UAAU;CAChC;AACF,GACaC,IAAmC;CAAE,aAAa;CAAc,MAAM;AAAS,GAQ/EC,IAA4B,kBAA2C,SAClF,EAAE,iBAAc,cAAc,UAAO,UAAU,UAAO,cAAW,GAAGC,KACpE,GACA;CAUA,OATIC,KAASC,MAAgB,eAEzB,kBAAC,OAAD;EAAU;EAAK,WAAWN,EAAG,mCAAmCO,CAAS;EAAG,GAAIH;EAAhF,UAAA;GACE,kBAAC,QAAD;IAAM,MAAK;IAAY,oBAAiB;IAAa,WAAWJ,EAAG,0BAA0BC,EAAyB,KAAKO,EAAK,CAAC,OAAO;GAAI,CAAA;GAC5I,kBAAC,QAAD;IAAM,WAAU;IAA8C,UAAAH;GAAY,CAAA;GAC1E,kBAAC,QAAD;IAAM,eAAA;IAAY,WAAWL,EAAG,0BAA0BC,EAAyB,KAAKO,EAAK,CAAC,OAAO;GAAI,CAAA;EACtG;C,KAIP,kBAAC,OAAD;EACO;EACL,MAAK;EACL,oBAAkBF;EAClB,WAAWN,EAAG,wBAAwBC,EAAyB,YAAYK,EAAY,CAAC,SAASL,EAAyB,KAAKO,EAAK,CAAC,SAASD,CAAS;EACvJ,GAAIH;CACL,CAAA;AAEL,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAU,cAAc"}
|