@logicplanes/kaeso-ui 0.4.4 → 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 +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,27 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as e } from "./cn-BjnOAUrA.js";
|
|
3
|
+
import { t } from "./truncated-d1afmUJT.js";
|
|
4
|
+
import { forwardRef as n } from "react";
|
|
5
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/badge/badge.tsx
|
|
7
|
+
var i = { tone: {
|
|
8
|
+
neutral: { classes: "bg-fill-2 mark-fill text-fg-secondary" },
|
|
9
|
+
success: { classes: "bg-success-tint text-success-text" },
|
|
10
|
+
warning: { classes: "bg-warning-tint text-warning-text" },
|
|
11
|
+
danger: { classes: "bg-danger-tint text-danger-text" },
|
|
12
|
+
info: { classes: "bg-info-tint text-info-text" },
|
|
13
|
+
outline: { classes: "bg-transparent text-fg-secondary shadow-ring" },
|
|
14
|
+
ink: { classes: "bg-ink text-on-ink" }
|
|
15
|
+
} }, a = { tone: "neutral" }, o = /* @__PURE__ */ n(function({ tone: n = "neutral", className: a, children: o, ...s }, c) {
|
|
16
|
+
return /* @__PURE__ */ r(t, {
|
|
17
|
+
ref: c,
|
|
18
|
+
className: e("inline-block h-22 max-w-full min-w-0 shrink-0 rounded-pill px-8 py-3 align-middle text-caption font-medium tabular", "forced-colors:outline forced-colors:-outline-offset-1", i.tone[n].classes, a),
|
|
19
|
+
...s,
|
|
20
|
+
children: o
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
process.env.NODE_ENV !== "production" && (o.displayName = "Badge");
|
|
24
|
+
//#endregion
|
|
25
|
+
export { a as n, i as r, o as t };
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=badge-C0GC3B9X.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge-C0GC3B9X.js","names":["cn","KAESO_BADGE_VARIANTS","KAESO_BADGE_DEFAULT_VARIANTS","Badge","props","TruncatedText","tone","className"],"sources":["../../src/components/badge/badge.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { TruncatedText } from \"../text/truncated.js\";\n\nexport const KAESO_BADGE_VARIANTS = {\n tone: {\n neutral: { classes: \"bg-fill-2 mark-fill text-fg-secondary\" },\n success: { classes: \"bg-success-tint text-success-text\" },\n warning: { classes: \"bg-warning-tint text-warning-text\" },\n danger: { classes: \"bg-danger-tint text-danger-text\" },\n info: { classes: \"bg-info-tint text-info-text\" },\n outline: { classes: \"bg-transparent text-fg-secondary shadow-ring\" },\n ink: { classes: \"bg-ink text-on-ink\" },\n },\n} as const;\nexport const KAESO_BADGE_DEFAULT_VARIANTS = { tone: \"neutral\" } as const;\n\nexport interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {\n tone?: keyof typeof KAESO_BADGE_VARIANTS.tone | undefined;\n children: ReactNode;\n}\n\nexport const Badge = /* @__PURE__ */ forwardRef<HTMLSpanElement, BadgeProps>(function Badge({ tone = \"neutral\", className, children, ...props }, ref) {\n return (\n <TruncatedText\n ref={ref}\n className={cn(\n \"inline-block h-22 max-w-full min-w-0 shrink-0 rounded-pill px-8 py-3 align-middle text-caption font-medium tabular\",\n \"forced-colors:outline forced-colors:-outline-offset-1\",\n KAESO_BADGE_VARIANTS.tone[tone].classes,\n className,\n )}\n {...props}\n >\n {children}\n </TruncatedText>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Badge.displayName = \"Badge\";\n"],"mappings":";;;;;;AAIA,IAAaC,IAAuB,EAClC,MAAM;CACJ,SAAS,EAAE,SAAS,wCAAwC;CAC5D,SAAS,EAAE,SAAS,oCAAoC;CACxD,SAAS,EAAE,SAAS,oCAAoC;CACxD,QAAQ,EAAE,SAAS,kCAAkC;CACrD,MAAM,EAAE,SAAS,8BAA8B;CAC/C,SAAS,EAAE,SAAS,+CAA+C;CACnE,KAAK,EAAE,SAAS,qBAAqB;AACvC,EACF,GACaC,IAA+B,EAAE,MAAM,UAAU,GAOjDC,IAAwB,kBAAwC,SAAe,EAAE,UAAO,WAAW,cAAW,aAAU,GAAGC,KAAS,GAAK;CACpJ,OACE,kBAACC,GAAD;EACO;EACL,WAAWL,EACT,sHACA,yDACAC,EAAqB,KAAKK,EAAK,CAAC,SAChCC,CACF;EACA,GAAIH;EAEH;CACY,CAAA;AAEnB,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAM,cAAc"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as e } from "./cn-BjnOAUrA.js";
|
|
3
|
+
import { t } from "./dev-CR1p7gCm.js";
|
|
4
|
+
import { i as n } from "./context-BELWW79w.js";
|
|
5
|
+
import { t as r } from "./icon-CBzOwqrX.js";
|
|
6
|
+
import { t as i } from "./icon-button-Dfwpvmav.js";
|
|
7
|
+
import { forwardRef as a, useState as o } from "react";
|
|
8
|
+
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
9
|
+
import { Alert02Icon as l, AlertCircleIcon as u, Cancel01Icon as d, CheckmarkCircle02Icon as f, InformationCircleIcon as p } from "@hugeicons/core-free-icons";
|
|
10
|
+
//#region src/components/banner/banner.tsx
|
|
11
|
+
var m = {
|
|
12
|
+
tone: {
|
|
13
|
+
neutral: { classes: "bg-fill-1 text-fg" },
|
|
14
|
+
info: { classes: "bg-info-tint text-fg" },
|
|
15
|
+
success: { classes: "bg-success-tint text-fg" },
|
|
16
|
+
warning: { classes: "bg-warning-tint text-fg" },
|
|
17
|
+
danger: { classes: "bg-danger-tint text-fg" }
|
|
18
|
+
},
|
|
19
|
+
layout: {
|
|
20
|
+
inline: { classes: "flex min-h-56 flex-col justify-center rounded-well px-12 py-12" },
|
|
21
|
+
full: { classes: "rounded-none px-24 py-10" }
|
|
22
|
+
}
|
|
23
|
+
}, h = {
|
|
24
|
+
tone: "neutral",
|
|
25
|
+
layout: "inline"
|
|
26
|
+
}, g = {
|
|
27
|
+
neutral: void 0,
|
|
28
|
+
info: p,
|
|
29
|
+
success: f,
|
|
30
|
+
warning: l,
|
|
31
|
+
danger: u
|
|
32
|
+
}, _ = {
|
|
33
|
+
neutral: "text-fg-secondary",
|
|
34
|
+
info: "text-info-text",
|
|
35
|
+
success: "text-success-text",
|
|
36
|
+
warning: "text-warning-text",
|
|
37
|
+
danger: "text-danger-text"
|
|
38
|
+
}, v = /* @__PURE__ */ a(function({ tone: a = "neutral", layout: l = "inline", title: u, children: f, icon: p, actions: h, onDismiss: v, className: y }, b) {
|
|
39
|
+
let [x, S] = o(!1), C = n();
|
|
40
|
+
if (x) return null;
|
|
41
|
+
let w = v && (a === "neutral" || a === "info");
|
|
42
|
+
v && !w && t(`Banner: a ${a} banner can't be dismissed; it stays until its cause is fixed, so onDismiss is ignored.`);
|
|
43
|
+
let T = p ?? g[a];
|
|
44
|
+
return /* @__PURE__ */ s("div", {
|
|
45
|
+
ref: b,
|
|
46
|
+
role: a === "danger" ? "alert" : "status",
|
|
47
|
+
className: e("@container w-full forced-colors:outline forced-colors:-outline-offset-1", m.tone[a].classes, m.layout[l].classes, y),
|
|
48
|
+
children: /* @__PURE__ */ c("div", {
|
|
49
|
+
className: e("flex items-start gap-8", h && "@banner:items-center"),
|
|
50
|
+
children: [/* @__PURE__ */ c("div", {
|
|
51
|
+
className: "flex min-w-0 flex-1 flex-col gap-12 @banner:flex-row @banner:items-center @banner:gap-24",
|
|
52
|
+
children: [/* @__PURE__ */ c("div", {
|
|
53
|
+
className: "flex min-w-0 flex-1 items-start gap-8",
|
|
54
|
+
children: [T && /* @__PURE__ */ s(r, {
|
|
55
|
+
icon: T,
|
|
56
|
+
size: "sm",
|
|
57
|
+
className: e("mt-2", _[a])
|
|
58
|
+
}), /* @__PURE__ */ c("div", {
|
|
59
|
+
className: "flex min-w-0 flex-1 flex-col gap-2 text-body",
|
|
60
|
+
children: [u && /* @__PURE__ */ s("span", {
|
|
61
|
+
className: "font-semibold text-fg",
|
|
62
|
+
children: u
|
|
63
|
+
}), f && /* @__PURE__ */ s("div", {
|
|
64
|
+
className: "text-fg text-pretty",
|
|
65
|
+
children: f
|
|
66
|
+
})]
|
|
67
|
+
})]
|
|
68
|
+
}), h && /* @__PURE__ */ s("div", {
|
|
69
|
+
className: e("flex shrink-0 flex-wrap items-center gap-8 @banner:ml-0", T && "ml-24"),
|
|
70
|
+
children: h
|
|
71
|
+
})]
|
|
72
|
+
}), w && /* @__PURE__ */ s(i, {
|
|
73
|
+
icon: d,
|
|
74
|
+
"aria-label": C("banner.dismiss", "Dismiss"),
|
|
75
|
+
size: "xs",
|
|
76
|
+
className: "-my-2 -mr-6 hover:bg-fill-2 active:bg-fill-3",
|
|
77
|
+
onClick: () => {
|
|
78
|
+
S(!0), v?.();
|
|
79
|
+
}
|
|
80
|
+
})]
|
|
81
|
+
})
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
process.env.NODE_ENV !== "production" && (v.displayName = "Banner");
|
|
85
|
+
//#endregion
|
|
86
|
+
export { h as n, m as r, v as t };
|
|
87
|
+
|
|
88
|
+
//# sourceMappingURL=banner-B3DGLTBu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner-B3DGLTBu.js","names":["__icon_InformationCircleIcon","__icon_CheckmarkCircle02Icon","__icon_Alert02Icon","__icon_AlertCircleIcon","__icon_Cancel01Icon","cn","useUiText","Icon","IconButton","KAESO_BANNER_VARIANTS","KAESO_BANNER_DEFAULT_VARIANTS","ICON","InformationCircleIcon","CheckmarkCircle02Icon","Alert02Icon","AlertCircleIcon","ICON_TONE","Banner","hidden","setHidden","useState","t","dismissible","onDismiss","tone","devWarn","mark","icon","layout","className","actions","title","children","Cancel01Icon"],"sources":["../../src/components/banner/banner.tsx"],"sourcesContent":["import { forwardRef, useState, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { InformationCircleIcon as __icon_InformationCircleIcon, CheckmarkCircle02Icon as __icon_CheckmarkCircle02Icon, Alert02Icon as __icon_Alert02Icon, AlertCircleIcon as __icon_AlertCircleIcon, Cancel01Icon as __icon_Cancel01Icon } from \"@hugeicons/core-free-icons\";\nimport { Icon, type IconData } from \"../icon/icon.js\";\nimport { IconButton } from \"../icon-button/icon-button.js\";\nimport { useUiText } from \"../../i18n/context.js\";\nimport { devWarn } from \"../../utils/dev.js\";\n\nexport const KAESO_BANNER_VARIANTS = {\n tone: {\n neutral: { classes: \"bg-fill-1 text-fg\" },\n info: { classes: \"bg-info-tint text-fg\" },\n success: { classes: \"bg-success-tint text-fg\" },\n warning: { classes: \"bg-warning-tint text-fg\" },\n danger: { classes: \"bg-danger-tint text-fg\" },\n },\n layout: {\n inline: {\n classes: \"flex min-h-56 flex-col justify-center rounded-well px-12 py-12\",\n },\n full: { classes: \"rounded-none px-24 py-10\" },\n },\n} as const;\nexport const KAESO_BANNER_DEFAULT_VARIANTS = { tone: \"neutral\", layout: \"inline\" } as const;\n\nconst ICON: Record<keyof typeof KAESO_BANNER_VARIANTS.tone, IconData | undefined> = {\n neutral: undefined,\n info: __icon_InformationCircleIcon,\n success: __icon_CheckmarkCircle02Icon,\n warning: __icon_Alert02Icon,\n danger: __icon_AlertCircleIcon,\n};\nconst ICON_TONE = {\n neutral: \"text-fg-secondary\",\n info: \"text-info-text\",\n success: \"text-success-text\",\n warning: \"text-warning-text\",\n danger: \"text-danger-text\",\n} as const;\n\nexport interface BannerProps {\n tone?: keyof typeof KAESO_BANNER_VARIANTS.tone | undefined;\n layout?: keyof typeof KAESO_BANNER_VARIANTS.layout | undefined;\n title?: ReactNode | undefined;\n children?: ReactNode | undefined;\n icon?: IconData | undefined;\n actions?: ReactNode | undefined;\n onDismiss?: (() => void) | undefined;\n className?: string | undefined;\n}\n\nexport const Banner = /* @__PURE__ */ forwardRef<HTMLDivElement, BannerProps>(function Banner(\n { tone = \"neutral\", layout = \"inline\", title, children, icon, actions, onDismiss, className },\n ref,\n) {\n const [hidden, setHidden] = useState(false);\n const t = useUiText();\n if (hidden) return null;\n const dismissible = onDismiss && (tone === \"neutral\" || tone === \"info\");\n if (onDismiss && !dismissible) devWarn(`Banner: a ${tone} banner can't be dismissed; it stays until its cause is fixed, so onDismiss is ignored.`);\n const mark = icon ?? ICON[tone];\n return (\n <div\n ref={ref}\n role={tone === \"danger\" ? \"alert\" : \"status\"}\n className={cn(\n \"@container w-full forced-colors:outline forced-colors:-outline-offset-1\",\n KAESO_BANNER_VARIANTS.tone[tone].classes,\n KAESO_BANNER_VARIANTS.layout[layout].classes,\n className,\n )}\n >\n <div className={cn(\"flex items-start gap-8\", actions && \"@banner:items-center\")}>\n <div className=\"flex min-w-0 flex-1 flex-col gap-12 @banner:flex-row @banner:items-center @banner:gap-24\">\n <div className=\"flex min-w-0 flex-1 items-start gap-8\">\n {mark && <Icon icon={mark} size=\"sm\" className={cn(\"mt-2\", ICON_TONE[tone])} />}\n <div className=\"flex min-w-0 flex-1 flex-col gap-2 text-body\">\n {title && <span className=\"font-semibold text-fg\">{title}</span>}\n {children && <div className=\"text-fg text-pretty\">{children}</div>}\n </div>\n </div>\n {actions && <div className={cn(\"flex shrink-0 flex-wrap items-center gap-8 @banner:ml-0\", mark && \"ml-24\")}>{actions}</div>}\n </div>\n {dismissible && (\n <IconButton\n icon={__icon_Cancel01Icon}\n aria-label={t(\"banner.dismiss\", \"Dismiss\")}\n size=\"xs\"\n className=\"-my-2 -mr-6 hover:bg-fill-2 active:bg-fill-3\"\n onClick={() => {\n setHidden(true);\n onDismiss?.();\n }}\n />\n )}\n </div>\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Banner.displayName = \"Banner\";\n"],"mappings":";;;;;;;;;;AAQA,IAAaS,IAAwB;CACnC,MAAM;EACJ,SAAS,EAAE,SAAS,oBAAoB;EACxC,MAAM,EAAE,SAAS,uBAAuB;EACxC,SAAS,EAAE,SAAS,0BAA0B;EAC9C,SAAS,EAAE,SAAS,0BAA0B;EAC9C,QAAQ,EAAE,SAAS,yBAAyB;CAC9C;CACA,QAAQ;EACN,QAAQ,EACN,SAAS,iEACX;EACA,MAAM,EAAE,SAAS,2BAA2B;CAC9C;AACF,GACaC,IAAgC;CAAE,MAAM;CAAW,QAAQ;AAAS,GAE3EC,IAA8E;CAClF,SAAS,KAAA;CACT,MAAMX;CACN,SAASC;CACT,SAASC;CACT,QAAQC;AACV,GACMa,IAAY;CAChB,SAAS;CACT,MAAM;CACN,SAAS;CACT,SAAS;CACT,QAAQ;AACV,GAaaC,IAAyB,kBAAwC,SAC5E,EAAE,UAAO,WAAW,YAAS,UAAU,UAAO,aAAU,SAAM,YAAS,cAAW,gBAClF,GACA;CACA,IAAM,CAACC,GAAQC,KAAaC,EAAS,EAAK,GACpCC,IAAIf,EAAU;CACpB,IAAIY,GAAQ,OAAO;CACnB,IAAMI,IAAcC,MAAcC,MAAS,aAAaA,MAAS;CACjE,AAAID,KAAa,CAACD,KAAaG,EAAQ,aAAaD,EAAK,wFAAwF;CACjJ,IAAME,IAAOC,KAAQhB,EAAKa;CAC1B,OACE,kBAAC,OAAD;EACO;EACL,MAAMA,MAAS,WAAW,UAAU;EACpC,WAAWnB,EACT,2EACAI,EAAsB,KAAKe,EAAK,CAAC,SACjCf,EAAsB,OAAOmB,EAAO,CAAC,SACrCC,CACF;EAEA,UAAA,kBAAC,OAAD;GAAK,WAAWxB,EAAG,0BAA0ByB,KAAW,sBAAsB;GAA9E,UAAA,CACE,kBAAC,OAAD;IAAK,WAAU;IAAf,UAAA,CACE,kBAAC,OAAD;KAAK,WAAU;KAAf,UAAA,CACGJ,KAAQ,kBAACnB,GAAD;MAAM,MAAMmB;MAAM,MAAK;MAAK,WAAWrB,EAAG,QAAQW,EAAUQ,EAAK;KAAI,CAAA,GAC9E,kBAAC,OAAD;MAAK,WAAU;MAAf,UAAA,CACGO,KAAS,kBAAC,QAAD;OAAM,WAAU;OAAyB,UAAAA;MAAY,CAAA,GAC9DC,KAAY,kBAAC,OAAD;OAAK,WAAU;OAAuB;MAAc,CAAA,CAC9D;KACF,CAAA,CAAA;IACJ,CAAA,GAAAF,KAAW,kBAAC,OAAD;KAAK,WAAWzB,EAAG,2DAA2DqB,KAAQ,OAAO;KAAI,UAAAI;IAAa,CAAA,CACvH;GACJ,CAAA,GAAAR,KACC,kBAACd,GAAD;IACE,MAAMJ;IACN,cAAYiB,EAAE,kBAAkB,SAAS;IACzC,MAAK;IACL,WAAU;IACV,eAAe;KAEb,AADAF,EAAU,EAAI,GACdI,IAAY;IACd;GACD,CAAA,CAEA;;CACF,CAAA;AAET,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAO,cAAc"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as e } from "./cn-BjnOAUrA.js";
|
|
3
|
+
import { i as t, r as n } from "./dev-CR1p7gCm.js";
|
|
4
|
+
import { n as r, r as i } from "./link-provider-cvl8lSTT.js";
|
|
5
|
+
import { t as a } from "./icon-CBzOwqrX.js";
|
|
6
|
+
import { i as o } from "./kbd-8A0ML_up.js";
|
|
7
|
+
import { r as s } from "./tooltip-Tkm-urbi.js";
|
|
8
|
+
import { t as ee } from "./use-truncated-CW0hByYt.js";
|
|
9
|
+
import { i as te, r as c } from "./loader-zo8CCIGJ.js";
|
|
10
|
+
import { r as ne } from "./swap-text-SlUjrTlG.js";
|
|
11
|
+
import { forwardRef as l, useRef as u, useState as d } from "react";
|
|
12
|
+
import { Fragment as f, jsx as p, jsxs as re } from "react/jsx-runtime";
|
|
13
|
+
//#region src/components/button/button.tsx
|
|
14
|
+
var m = {
|
|
15
|
+
variant: {
|
|
16
|
+
primary: { classes: "material-primary" },
|
|
17
|
+
secondary: { classes: "material-secondary" },
|
|
18
|
+
ghost: { classes: "material-ghost" },
|
|
19
|
+
quiet: { classes: "material-ghost text-fg-secondary hover:text-fg active:text-fg open:text-fg" },
|
|
20
|
+
soft: { classes: "material-soft" },
|
|
21
|
+
danger: { classes: "material-danger" },
|
|
22
|
+
"danger-secondary": { classes: "material-danger-secondary" },
|
|
23
|
+
link: { classes: "bg-transparent text-fg underline decoration-fg-tertiary decoration-1 underline-offset-3 hover:decoration-current active:decoration-current open:decoration-current disabled:text-fg-disabled" }
|
|
24
|
+
},
|
|
25
|
+
size: {
|
|
26
|
+
xs: { classes: "h-24 px-10 gap-4 text-caption font-medium ghost-end:-mr-10 ghost-start:-ml-10" },
|
|
27
|
+
sm: { classes: "h-32 px-12 gap-6 text-body font-medium ghost-end:-mr-12 ghost-start:-ml-12" },
|
|
28
|
+
md: { classes: "h-36 px-16 gap-6 text-body font-medium ghost-end:-mr-16 ghost-start:-ml-16" },
|
|
29
|
+
lg: { classes: "h-40 px-18 gap-8 text-body font-medium ghost-end:-mr-18 ghost-start:-ml-18" },
|
|
30
|
+
xl: { classes: "h-48 px-22 gap-8 text-body-lg font-medium ghost-end:-mr-22 ghost-start:-ml-22" }
|
|
31
|
+
},
|
|
32
|
+
shape: {
|
|
33
|
+
pill: { classes: "rounded-pill" },
|
|
34
|
+
circle: { classes: "rounded-pill p-0 justify-center ghost-end:mr-0 ghost-start:ml-0" }
|
|
35
|
+
}
|
|
36
|
+
}, h = {
|
|
37
|
+
variant: "secondary",
|
|
38
|
+
size: "md",
|
|
39
|
+
shape: "pill"
|
|
40
|
+
}, g = {
|
|
41
|
+
xs: "pl-8",
|
|
42
|
+
sm: "pl-10",
|
|
43
|
+
md: "pl-14",
|
|
44
|
+
lg: "pl-16",
|
|
45
|
+
xl: "pl-20"
|
|
46
|
+
}, _ = {
|
|
47
|
+
xs: "pr-8",
|
|
48
|
+
sm: "pr-10",
|
|
49
|
+
md: "pr-14",
|
|
50
|
+
lg: "pr-16",
|
|
51
|
+
xl: "pr-20"
|
|
52
|
+
}, v = {
|
|
53
|
+
xs: "size-24",
|
|
54
|
+
sm: "size-32",
|
|
55
|
+
md: "size-36",
|
|
56
|
+
lg: "size-40",
|
|
57
|
+
xl: "size-48"
|
|
58
|
+
}, y = {
|
|
59
|
+
xs: "xs",
|
|
60
|
+
sm: "sm",
|
|
61
|
+
md: "sm",
|
|
62
|
+
lg: "md",
|
|
63
|
+
xl: "lg"
|
|
64
|
+
}, b = {
|
|
65
|
+
cmd: "Meta",
|
|
66
|
+
ctrl: "Control",
|
|
67
|
+
alt: "Alt",
|
|
68
|
+
option: "Alt",
|
|
69
|
+
shift: "Shift",
|
|
70
|
+
enter: "Enter",
|
|
71
|
+
esc: "Escape",
|
|
72
|
+
backspace: "Backspace",
|
|
73
|
+
tab: "Tab",
|
|
74
|
+
up: "ArrowUp",
|
|
75
|
+
down: "ArrowDown",
|
|
76
|
+
left: "ArrowLeft",
|
|
77
|
+
right: "ArrowRight"
|
|
78
|
+
};
|
|
79
|
+
function x(e) {
|
|
80
|
+
let t = Array.isArray(e[0]) ? e.length === 1 ? e[0] : [] : e;
|
|
81
|
+
if (!t.length) return;
|
|
82
|
+
let n = (e) => t.map((t) => t.toLowerCase() === "mod" ? e : b[t.toLowerCase()] ?? (t.length === 1 ? t.toUpperCase() : t)).join("+");
|
|
83
|
+
return t.some((e) => e.toLowerCase() === "mod") ? `${n("Meta")} ${n("Control")}` : n("");
|
|
84
|
+
}
|
|
85
|
+
function S({ variant: t = h.variant, size: n = h.size, shape: r = h.shape, leading: i = !1, trailing: a = !1, fullWidth: o = !1 } = {}) {
|
|
86
|
+
return e("relative inline-flex max-w-full shrink-0 select-none items-center justify-center whitespace-nowrap no-underline", "cursor-pointer transition-control focus-ring tap-target disabled:cursor-not-allowed", m.size[n].classes, m.shape[r].classes, r === "circle" && v[n], r === "pill" && i && t !== "link" && g[n], r === "pill" && a && t !== "link" && _[n], t === "link" && "-mx-2 h-auto rounded-code px-2 align-baseline outline-offset-0", m.variant[t].classes, o && "w-full");
|
|
87
|
+
}
|
|
88
|
+
var C = /* @__PURE__ */ l(function(l, m) {
|
|
89
|
+
let { variant: g = h.variant, size: _ = h.size, loading: v = !1, disabled: b = !1, disabledReason: C, href: w, target: T, rel: E, fullWidth: ie, className: D, type: ae, onClick: oe, onFocus: O, onBlur: k, ...A } = l, j = i(), [se, M] = d(!1), N = u(null);
|
|
90
|
+
t("Button", D);
|
|
91
|
+
let P = te(v), F = v || P, I = l.shape === "circle", L = y[_], R = L === "xs" ? "xs" : L === "sm" ? "sm" : "md", z = I ? void 0 : l.leadingIcon, B = I ? void 0 : l.trailingIcon, V = I ? void 0 : l.shortcut, H = I ? void 0 : l.count, U = I ? void 0 : l.reserveLabels;
|
|
92
|
+
I && n("Button", !!l["aria-label"]);
|
|
93
|
+
let W = { ...A };
|
|
94
|
+
for (let e of [
|
|
95
|
+
"shape",
|
|
96
|
+
"icon",
|
|
97
|
+
"leadingIcon",
|
|
98
|
+
"trailingIcon",
|
|
99
|
+
"shortcut",
|
|
100
|
+
"count",
|
|
101
|
+
"children",
|
|
102
|
+
"reserveLabels"
|
|
103
|
+
]) delete W[e];
|
|
104
|
+
let G = (!!C || se) && b, K = ee(N, !I), ce = !!C && b && C !== l["aria-label"], le = F || G, q = e(S({
|
|
105
|
+
variant: g,
|
|
106
|
+
size: _,
|
|
107
|
+
shape: I ? "circle" : "pill",
|
|
108
|
+
leading: !!z,
|
|
109
|
+
trailing: !!B || !!V || H !== void 0,
|
|
110
|
+
fullWidth: !!ie
|
|
111
|
+
}), F && "cursor-progress", _ === "xs" && H !== void 0 && !B && !V && "pr-2", D), J = I ? P ? /* @__PURE__ */ p(c, { size: R }) : /* @__PURE__ */ p(a, {
|
|
112
|
+
icon: l.icon,
|
|
113
|
+
size: L
|
|
114
|
+
}) : /* @__PURE__ */ re(f, { children: [
|
|
115
|
+
P && z ? /* @__PURE__ */ p(c, { size: R }) : z ? /* @__PURE__ */ p(a, {
|
|
116
|
+
icon: z,
|
|
117
|
+
size: L
|
|
118
|
+
}) : null,
|
|
119
|
+
/* @__PURE__ */ p("span", {
|
|
120
|
+
ref: N,
|
|
121
|
+
className: e("min-w-0 truncate", P && !z && "opacity-0"),
|
|
122
|
+
children: U ? /* @__PURE__ */ p(ne, {
|
|
123
|
+
reserve: U,
|
|
124
|
+
children: l.children
|
|
125
|
+
}) : l.children
|
|
126
|
+
}),
|
|
127
|
+
H !== void 0 && /* @__PURE__ */ p("span", {
|
|
128
|
+
className: e("inline-flex h-20 min-w-20 items-center justify-center rounded-pill px-6 text-caption font-medium tabular", g === "primary" ? "bg-on-ink/15 text-on-ink" : g === "danger" ? "bg-on-danger/20 text-on-danger" : "bg-fill-2 text-fg-secondary"),
|
|
129
|
+
children: H
|
|
130
|
+
}),
|
|
131
|
+
V && /* @__PURE__ */ p(o, {
|
|
132
|
+
"aria-hidden": !0,
|
|
133
|
+
"data-shortcut": "",
|
|
134
|
+
keys: V,
|
|
135
|
+
tone: g === "primary" || g === "danger" ? "onInk" : "default",
|
|
136
|
+
className: e(g === "danger" && "kbd-on-danger")
|
|
137
|
+
}),
|
|
138
|
+
B && /* @__PURE__ */ p(a, {
|
|
139
|
+
icon: B,
|
|
140
|
+
size: L
|
|
141
|
+
}),
|
|
142
|
+
P && !z && /* @__PURE__ */ p(c, {
|
|
143
|
+
size: R,
|
|
144
|
+
className: "absolute inset-0 m-auto"
|
|
145
|
+
})
|
|
146
|
+
] }), Y = (e) => {
|
|
147
|
+
le ? e.preventDefault() : oe?.(e);
|
|
148
|
+
}, X = (e) => {
|
|
149
|
+
M(!0), O?.(e);
|
|
150
|
+
}, Z = (e) => {
|
|
151
|
+
M(!1), k?.(e);
|
|
152
|
+
}, Q;
|
|
153
|
+
if (w && !b) {
|
|
154
|
+
let e = r(w);
|
|
155
|
+
Q = /* @__PURE__ */ p(j, {
|
|
156
|
+
ref: m,
|
|
157
|
+
href: w,
|
|
158
|
+
className: q,
|
|
159
|
+
...T ? { target: T } : e ? { target: "_blank" } : {},
|
|
160
|
+
...E ? { rel: E } : e ? { rel: "noopener noreferrer" } : {},
|
|
161
|
+
...W,
|
|
162
|
+
...V ? { "aria-keyshortcuts": x(V) } : {},
|
|
163
|
+
...F ? {
|
|
164
|
+
"aria-busy": !0,
|
|
165
|
+
"data-loading": ""
|
|
166
|
+
} : {},
|
|
167
|
+
onClick: Y,
|
|
168
|
+
onFocus: X,
|
|
169
|
+
onBlur: Z,
|
|
170
|
+
children: J
|
|
171
|
+
});
|
|
172
|
+
} else Q = /* @__PURE__ */ p("button", {
|
|
173
|
+
ref: m,
|
|
174
|
+
type: ae ?? "button",
|
|
175
|
+
className: q,
|
|
176
|
+
disabled: b && !G,
|
|
177
|
+
...W,
|
|
178
|
+
...V ? { "aria-keyshortcuts": x(V) } : {},
|
|
179
|
+
...G ? { "aria-disabled": !0 } : {},
|
|
180
|
+
...F ? {
|
|
181
|
+
"aria-busy": !0,
|
|
182
|
+
"data-loading": ""
|
|
183
|
+
} : {},
|
|
184
|
+
...G ? { "data-disabled": "" } : {},
|
|
185
|
+
...ce ? { "aria-description": C } : {},
|
|
186
|
+
onClick: Y,
|
|
187
|
+
onFocus: X,
|
|
188
|
+
onBlur: Z,
|
|
189
|
+
children: J
|
|
190
|
+
});
|
|
191
|
+
let $ = !!C && !!b;
|
|
192
|
+
return /* @__PURE__ */ p(s, {
|
|
193
|
+
content: $ ? C : K ? l.children : "",
|
|
194
|
+
disabled: !$ && !K,
|
|
195
|
+
children: Q
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
process.env.NODE_ENV !== "production" && (C.displayName = "Button");
|
|
199
|
+
//#endregion
|
|
200
|
+
export { S as a, m as i, C as n, h as r, y as t };
|
|
201
|
+
|
|
202
|
+
//# sourceMappingURL=button-IblhXUyZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button-IblhXUyZ.js","names":["_Fragment","cn","warnStylingClassName","warnMissingName","isExternalHref","useLinkComponent","Icon","KbdSequence","Tooltip","useTruncated","useDelayedLoading","Spinner","SwapText","Fragment$1","KAESO_BUTTON_VARIANTS","KAESO_BUTTON_DEFAULT_VARIANTS","LEADING_ICON_PADDING","TRAILING_ICON_PADDING","CIRCLE","BUTTON_ICON_SIZE","ARIA_KEY","ariaKeyShortcuts","chord","keys","join","k","mod","buttonClasses","size","shape","leading","variant","trailing","fullWidth","Button","rest","props","LinkComp","focused","setFocused","useState","labelRef","useRef","className","spinning","loading","busy","isCircle","iconSize","spinnerSize","leadingIcon","trailingIcon","shortcut","count","reserveLabels","domProps","softDisabled","disabledReason","disabled","cut","describe","inert","classes","content","handleClick","onClick","handleFocus","onFocus","handleBlur","onBlur","el","href","external","target","rel","type","reasonShown"],"sources":["../../src/components/button/button.tsx"],"sourcesContent":["import { forwardRef, useRef, useState, type ButtonHTMLAttributes, type FocusEvent, type MouseEvent, type ReactElement, type ReactNode, type Ref } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { useLinkComponent, isExternalHref } from \"../../utils/link-provider.js\";\nimport { warnMissingName, warnStylingClassName } from \"../../utils/dev.js\";\nimport { Icon, type IconData, type IconSize } from \"../icon/icon.js\";\nimport { Spinner, useDelayedLoading } from \"../loader/loader.js\";\nimport { KbdSequence } from \"../kbd/kbd.js\";\nimport { Tooltip } from \"../tooltip/tooltip.js\";\nimport { SwapText } from \"../swap-text/swap-text.js\";\nimport { useTruncated } from \"../../hooks/use-truncated.js\";\n\nexport const KAESO_BUTTON_VARIANTS = {\n variant: {\n primary: { classes: \"material-primary\" },\n secondary: { classes: \"material-secondary\" },\n ghost: { classes: \"material-ghost\" },\n quiet: {\n classes: \"material-ghost text-fg-secondary hover:text-fg active:text-fg open:text-fg\",\n },\n soft: { classes: \"material-soft\" },\n danger: { classes: \"material-danger\" },\n \"danger-secondary\": { classes: \"material-danger-secondary\" },\n link: {\n classes:\n \"bg-transparent text-fg underline decoration-fg-tertiary decoration-1 underline-offset-3 hover:decoration-current active:decoration-current open:decoration-current disabled:text-fg-disabled\",\n },\n },\n size: {\n xs: { classes: \"h-24 px-10 gap-4 text-caption font-medium ghost-end:-mr-10 ghost-start:-ml-10\" },\n sm: { classes: \"h-32 px-12 gap-6 text-body font-medium ghost-end:-mr-12 ghost-start:-ml-12\" },\n md: { classes: \"h-36 px-16 gap-6 text-body font-medium ghost-end:-mr-16 ghost-start:-ml-16\" },\n lg: { classes: \"h-40 px-18 gap-8 text-body font-medium ghost-end:-mr-18 ghost-start:-ml-18\" },\n xl: {\n classes: \"h-48 px-22 gap-8 text-body-lg font-medium ghost-end:-mr-22 ghost-start:-ml-22\",\n },\n },\n shape: {\n pill: { classes: \"rounded-pill\" },\n circle: { classes: \"rounded-pill p-0 justify-center ghost-end:mr-0 ghost-start:ml-0\" },\n },\n} as const;\nexport const KAESO_BUTTON_DEFAULT_VARIANTS = { variant: \"secondary\", size: \"md\", shape: \"pill\" } as const;\n\nexport type ButtonVariant = keyof typeof KAESO_BUTTON_VARIANTS.variant;\nexport type ButtonSize = keyof typeof KAESO_BUTTON_VARIANTS.size;\nexport type ButtonShape = keyof typeof KAESO_BUTTON_VARIANTS.shape;\n\nconst LEADING_ICON_PADDING: Record<ButtonSize, string> = { xs: \"pl-8\", sm: \"pl-10\", md: \"pl-14\", lg: \"pl-16\", xl: \"pl-20\" };\nconst TRAILING_ICON_PADDING: Record<ButtonSize, string> = { xs: \"pr-8\", sm: \"pr-10\", md: \"pr-14\", lg: \"pr-16\", xl: \"pr-20\" };\nconst CIRCLE: Record<ButtonSize, string> = { xs: \"size-24\", sm: \"size-32\", md: \"size-36\", lg: \"size-40\", xl: \"size-48\" };\nexport const BUTTON_ICON_SIZE: Record<ButtonSize, IconSize> = { xs: \"xs\", sm: \"sm\", md: \"sm\", lg: \"md\", xl: \"lg\" };\n\nconst ARIA_KEY: Record<string, string> = {\n cmd: \"Meta\",\n ctrl: \"Control\",\n alt: \"Alt\",\n option: \"Alt\",\n shift: \"Shift\",\n enter: \"Enter\",\n esc: \"Escape\",\n backspace: \"Backspace\",\n tab: \"Tab\",\n up: \"ArrowUp\",\n down: \"ArrowDown\",\n left: \"ArrowLeft\",\n right: \"ArrowRight\",\n};\n\n// aria-keyshortcuts lists chords only, so a sequence (\"G then L\") gets none; \"mod\" is offered as both platforms' chord.\nfunction ariaKeyShortcuts(keys: string[] | string[][]): string | undefined {\n const chord = (Array.isArray(keys[0]) ? (keys.length === 1 ? keys[0] : []) : keys) as string[];\n if (!chord.length) return undefined;\n const join = (mod: string) =>\n chord.map((k) => (k.toLowerCase() === \"mod\" ? mod : (ARIA_KEY[k.toLowerCase()] ?? (k.length === 1 ? k.toUpperCase() : k)))).join(\"+\");\n return chord.some((k) => k.toLowerCase() === \"mod\") ? `${join(\"Meta\")} ${join(\"Control\")}` : join(\"\");\n}\n\nexport function buttonClasses({\n variant = KAESO_BUTTON_DEFAULT_VARIANTS.variant,\n size = KAESO_BUTTON_DEFAULT_VARIANTS.size,\n shape = KAESO_BUTTON_DEFAULT_VARIANTS.shape,\n leading = false,\n trailing = false,\n fullWidth = false,\n}: {\n variant?: ButtonVariant | undefined;\n size?: ButtonSize | undefined;\n shape?: ButtonShape | undefined;\n leading?: boolean | undefined;\n trailing?: boolean | undefined;\n fullWidth?: boolean | undefined;\n} = {}) {\n return cn(\n \"relative inline-flex max-w-full shrink-0 select-none items-center justify-center whitespace-nowrap no-underline\",\n \"cursor-pointer transition-control focus-ring tap-target disabled:cursor-not-allowed\",\n KAESO_BUTTON_VARIANTS.size[size].classes,\n KAESO_BUTTON_VARIANTS.shape[shape].classes,\n shape === \"circle\" && CIRCLE[size],\n shape === \"pill\" && leading && variant !== \"link\" && LEADING_ICON_PADDING[size],\n shape === \"pill\" && trailing && variant !== \"link\" && TRAILING_ICON_PADDING[size],\n variant === \"link\" && \"-mx-2 h-auto rounded-code px-2 align-baseline outline-offset-0\",\n KAESO_BUTTON_VARIANTS.variant[variant].classes,\n fullWidth && \"w-full\",\n );\n}\n\ninterface CommonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, \"children\"> {\n variant?: ButtonVariant | undefined;\n size?: ButtonSize | undefined;\n loading?: boolean | undefined;\n disabledReason?: string | undefined;\n href?: string | undefined;\n target?: string | undefined;\n rel?: string | undefined;\n fullWidth?: boolean | undefined;\n \"data-force\"?: string | undefined;\n}\n\nexport interface PillButtonProps extends CommonProps {\n shape?: \"pill\" | undefined;\n children: ReactNode;\n leadingIcon?: IconData | undefined;\n trailingIcon?: IconData | undefined;\n shortcut?: string[] | string[][] | undefined;\n count?: number | undefined;\n reserveLabels?: ReactNode[] | undefined;\n}\n\nexport interface CircleButtonProps extends CommonProps {\n shape: \"circle\";\n icon: IconData;\n \"aria-label\": string;\n children?: never | undefined;\n}\n\nexport type ButtonProps = PillButtonProps | CircleButtonProps;\n\nexport const Button = /* @__PURE__ */ forwardRef<HTMLButtonElement | HTMLAnchorElement, ButtonProps>(function Button(props, ref) {\n const {\n variant = KAESO_BUTTON_DEFAULT_VARIANTS.variant,\n size = KAESO_BUTTON_DEFAULT_VARIANTS.size,\n loading = false,\n disabled = false,\n disabledReason,\n href,\n target,\n rel,\n fullWidth,\n className,\n type,\n onClick,\n onFocus,\n onBlur,\n ...rest\n } = props;\n const LinkComp = useLinkComponent();\n const [focused, setFocused] = useState(false);\n const labelRef = useRef<HTMLSpanElement>(null);\n warnStylingClassName(\"Button\", className);\n\n const spinning = useDelayedLoading(loading);\n const busy = loading || spinning;\n const isCircle = props.shape === \"circle\";\n const iconSize = BUTTON_ICON_SIZE[size];\n const spinnerSize = iconSize === \"xs\" ? \"xs\" : iconSize === \"sm\" ? \"sm\" : \"md\";\n const leadingIcon = !isCircle ? (props as PillButtonProps).leadingIcon : undefined;\n const trailingIcon = !isCircle ? (props as PillButtonProps).trailingIcon : undefined;\n const shortcut = !isCircle ? (props as PillButtonProps).shortcut : undefined;\n const count = !isCircle ? (props as PillButtonProps).count : undefined;\n const reserveLabels = !isCircle ? (props as PillButtonProps).reserveLabels : undefined;\n if (isCircle) warnMissingName(\"Button\", !!(props as CircleButtonProps)[\"aria-label\"]);\n\n const domProps = { ...rest } as Record<string, unknown>;\n for (const k of [\"shape\", \"icon\", \"leadingIcon\", \"trailingIcon\", \"shortcut\", \"count\", \"children\", \"reserveLabels\"]) delete domProps[k];\n\n // A natively disabled button that holds focus drops it to <body>; stay focusable until it blurs.\n const softDisabled = (!!disabledReason || focused) && disabled;\n const cut = useTruncated(labelRef, !isCircle);\n const describe = !!disabledReason && disabled && disabledReason !== (props as { \"aria-label\"?: string | undefined })[\"aria-label\"];\n const inert = busy || softDisabled;\n const classes = cn(\n buttonClasses({\n variant,\n size,\n shape: isCircle ? \"circle\" : \"pill\",\n leading: !!leadingIcon,\n trailing: !!trailingIcon || !!shortcut || count !== undefined,\n fullWidth: !!fullWidth,\n }),\n busy && \"cursor-progress\",\n size === \"xs\" && count !== undefined && !trailingIcon && !shortcut && \"pr-2\",\n className,\n );\n\n const content = isCircle ? (\n spinning ? (\n <Spinner size={spinnerSize} />\n ) : (\n <Icon icon={(props as CircleButtonProps).icon} size={iconSize} />\n )\n ) : (\n <>\n {spinning && leadingIcon ? <Spinner size={spinnerSize} /> : leadingIcon ? <Icon icon={leadingIcon} size={iconSize} /> : null}\n <span ref={labelRef} className={cn(\"min-w-0 truncate\", spinning && !leadingIcon && \"opacity-0\")}>\n {reserveLabels ? <SwapText reserve={reserveLabels}>{(props as PillButtonProps).children}</SwapText> : (props as PillButtonProps).children}\n </span>\n {count !== undefined && (\n <span\n className={cn(\n \"inline-flex h-20 min-w-20 items-center justify-center rounded-pill px-6 text-caption font-medium tabular\",\n variant === \"primary\" ? \"bg-on-ink/15 text-on-ink\" : variant === \"danger\" ? \"bg-on-danger/20 text-on-danger\" : \"bg-fill-2 text-fg-secondary\",\n )}\n >\n {count}\n </span>\n )}\n {shortcut && (\n <KbdSequence\n aria-hidden\n data-shortcut=\"\"\n keys={shortcut}\n tone={variant === \"primary\" || variant === \"danger\" ? \"onInk\" : \"default\"}\n className={cn(variant === \"danger\" && \"kbd-on-danger\")}\n />\n )}\n {trailingIcon && <Icon icon={trailingIcon} size={iconSize} />}\n {spinning && !leadingIcon && <Spinner size={spinnerSize} className=\"absolute inset-0 m-auto\" />}\n </>\n );\n\n const handleClick = (e: MouseEvent<HTMLButtonElement & HTMLAnchorElement>) => {\n if (inert) {\n e.preventDefault();\n return;\n }\n onClick?.(e as MouseEvent<HTMLButtonElement>);\n };\n\n const handleFocus = (e: FocusEvent<HTMLButtonElement & HTMLAnchorElement>) => {\n setFocused(true);\n onFocus?.(e as FocusEvent<HTMLButtonElement>);\n };\n const handleBlur = (e: FocusEvent<HTMLButtonElement & HTMLAnchorElement>) => {\n setFocused(false);\n onBlur?.(e as FocusEvent<HTMLButtonElement>);\n };\n\n let el: ReactNode;\n if (href && !disabled) {\n const external = isExternalHref(href);\n el = (\n <LinkComp\n ref={ref as Ref<HTMLAnchorElement>}\n href={href}\n className={classes}\n {...(target ? { target } : external ? { target: \"_blank\" } : {})}\n {...(rel ? { rel } : external ? { rel: \"noopener noreferrer\" } : {})}\n {...(domProps as object)}\n {...(shortcut ? { \"aria-keyshortcuts\": ariaKeyShortcuts(shortcut) } : {})}\n {...(busy ? { \"aria-busy\": true, \"data-loading\": \"\" } : {})}\n onClick={handleClick}\n onFocus={handleFocus}\n onBlur={handleBlur}\n >\n {content}\n </LinkComp>\n );\n } else {\n el = (\n <button\n ref={ref as Ref<HTMLButtonElement>}\n type={type ?? \"button\"}\n className={classes}\n disabled={disabled && !softDisabled}\n {...(domProps as object)}\n {...(shortcut ? { \"aria-keyshortcuts\": ariaKeyShortcuts(shortcut) } : {})}\n {...(softDisabled ? { \"aria-disabled\": true } : {})}\n {...(busy ? { \"aria-busy\": true, \"data-loading\": \"\" } : {})}\n {...(softDisabled ? { \"data-disabled\": \"\" } : {})}\n {...(describe ? { \"aria-description\": disabledReason } : {})}\n onClick={handleClick}\n onFocus={handleFocus}\n onBlur={handleBlur}\n >\n {content}\n </button>\n );\n }\n\n const reasonShown = !!disabledReason && !!disabled;\n // The Tooltip stays mounted when it has nothing to say: unwrapping would remount the button and drop its focus.\n return (\n <Tooltip content={reasonShown ? disabledReason : cut ? (props as PillButtonProps).children : \"\"} disabled={!reasonShown && !cut}>\n {el as ReactElement}\n </Tooltip>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Button.displayName = \"Button\";\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { i as e, r as t } from "./context-BELWW79w.js";
|
|
3
|
-
import { t as n } from "./icon-
|
|
3
|
+
import { t as n } from "./icon-CBzOwqrX.js";
|
|
4
4
|
import { createContext as r, forwardRef as i, use as a, useCallback as o, useMemo as s } from "react";
|
|
5
5
|
import { jsx as c } from "react/jsx-runtime";
|
|
6
6
|
import { ArrowDown01Icon as l, ArrowLeft01Icon as u, ArrowRight01Icon as d } from "@hugeicons/core-free-icons";
|
|
@@ -16,8 +16,8 @@ var p = { mode: {
|
|
|
16
16
|
month_caption: "flex h-32 items-center px-8 text-body font-semibold text-fg",
|
|
17
17
|
caption_label: "",
|
|
18
18
|
nav: "absolute top-0 right-0 flex items-center gap-2",
|
|
19
|
-
button_previous: "inline-flex size-32 items-center justify-center rounded-pill text-fg-secondary transition-control hover:bg-
|
|
20
|
-
button_next: "inline-flex size-32 items-center justify-center rounded-pill text-fg-secondary transition-control hover:bg-
|
|
19
|
+
button_previous: "inline-flex size-32 items-center justify-center rounded-pill text-fg-secondary transition-control hover:bg-item-hover hover:text-fg focus-ring disabled:opacity-40",
|
|
20
|
+
button_next: "inline-flex size-32 items-center justify-center rounded-pill text-fg-secondary transition-control hover:bg-item-hover hover:text-fg focus-ring disabled:opacity-40",
|
|
21
21
|
month_grid: "border-collapse",
|
|
22
22
|
weekdays: "",
|
|
23
23
|
weekday: "h-32 w-36 text-caption font-medium text-fg-tertiary",
|
|
@@ -120,4 +120,4 @@ process.env.NODE_ENV !== "production" && (b.displayName = "Calendar");
|
|
|
120
120
|
//#endregion
|
|
121
121
|
export { m as n, p as r, b as t };
|
|
122
122
|
|
|
123
|
-
//# sourceMappingURL=calendar-
|
|
123
|
+
//# sourceMappingURL=calendar-Dc6_dl0f.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar-Dc6_dl0f.js","names":["__icon_ArrowLeft01Icon","__icon_ArrowRight01Icon","__icon_ArrowDown01Icon","useUiText","useLocale","Icon","KAESO_CALENDAR_VARIANTS","KAESO_CALENDAR_DEFAULT_VARIANTS","CAL_CLASSES","Chevron","orientation","ArrowLeft01Icon","ArrowRight01Icon","ArrowDown01Icon","RootRef","Root","props","ref","use","setRefs","useCallback","rootRef","el","localized","monthYear","locale","weekdayShort","weekdayLong","full","month","weekday","label","date","modifiers","Calendar","t","common","useMemo","own","numberOfMonths","defaultMonth","onMonthChange","disabled","className","mode","DayPicker","onSelect","r","d"],"sources":["../../src/components/calendar/calendar.tsx"],"sourcesContent":["import { createContext, forwardRef, use, useCallback, useMemo, type Ref } from \"react\";\nimport { DayPicker, type DateRange, type Formatters, type Labels, type RootProps } from \"react-day-picker\";\nimport { Icon } from \"../icon/icon.js\";\nimport { ArrowLeft01Icon as __icon_ArrowLeft01Icon, ArrowRight01Icon as __icon_ArrowRight01Icon, ArrowDown01Icon as __icon_ArrowDown01Icon } from \"@hugeicons/core-free-icons\";\nimport { useLocale, useUiText, type UiText } from \"../../i18n/context.js\";\n\nexport const KAESO_CALENDAR_VARIANTS = {\n mode: {\n single: { classes: \"\" },\n range: { classes: \"\" },\n },\n} as const;\nexport const KAESO_CALENDAR_DEFAULT_VARIANTS = { mode: \"single\" } as const;\n\nconst CAL_CLASSES = {\n root: \"k-cal relative select-none\",\n months: \"flex gap-24\",\n month: \"flex flex-col gap-8\",\n month_caption: \"flex h-32 items-center px-8 text-body font-semibold text-fg\",\n caption_label: \"\",\n nav: \"absolute top-0 right-0 flex items-center gap-2\",\n button_previous:\n \"inline-flex size-32 items-center justify-center rounded-pill text-fg-secondary transition-control hover:bg-item-hover hover:text-fg focus-ring disabled:opacity-40\",\n button_next:\n \"inline-flex size-32 items-center justify-center rounded-pill text-fg-secondary transition-control hover:bg-item-hover hover:text-fg focus-ring disabled:opacity-40\",\n month_grid: \"border-collapse\",\n weekdays: \"\",\n weekday: \"h-32 w-36 text-caption font-medium text-fg-tertiary\",\n weeks: \"\",\n week: \"\",\n day: \"k-day\",\n day_button: \"\",\n selected: \"k-selected\",\n today: \"k-today\",\n outside: \"k-outside\",\n disabled: \"k-disabled\",\n range_start: \"k-range-start\",\n range_middle: \"k-range-middle\",\n range_end: \"k-range-end\",\n hidden: \"invisible\",\n focused: \"\",\n chevron: \"\",\n footer: \"\",\n};\n\nfunction Chevron({ orientation }: { orientation?: \"left\" | \"right\" | \"up\" | \"down\" | undefined }) {\n return <Icon icon={orientation === \"left\" ? __icon_ArrowLeft01Icon : orientation === \"right\" ? __icon_ArrowRight01Icon : __icon_ArrowDown01Icon} size=\"sm\" />;\n}\n\nconst RootRef = /* @__PURE__ */ createContext<Ref<HTMLDivElement> | null>(null);\n\nfunction Root({ rootRef, ...props }: RootProps) {\n const ref = use(RootRef);\n const setRefs = useCallback(\n (el: HTMLDivElement | null) => {\n for (const r of [rootRef, ref]) {\n if (typeof r === \"function\") r(el);\n else if (r) r.current = el;\n }\n },\n [rootRef, ref],\n );\n return <div {...props} ref={setRefs} />;\n}\n\nfunction localized(locale: string, t: UiText): { formatters: Partial<Formatters>; labels: Partial<Labels>; lang: string } {\n const monthYear = new Intl.DateTimeFormat(locale, { month: \"long\", year: \"numeric\" });\n const weekdayShort = new Intl.DateTimeFormat(locale, { weekday: \"short\" });\n const weekdayLong = new Intl.DateTimeFormat(locale, { weekday: \"long\" });\n const full = new Intl.DateTimeFormat(locale, { dateStyle: \"full\" });\n return {\n lang: locale,\n formatters: {\n formatCaption: (month) => monthYear.format(month),\n formatWeekdayName: (weekday) => weekdayShort.format(weekday).replace(/\\.$/, \"\"),\n },\n labels: {\n labelPrevious: () => t(\"calendar.previousMonth\", \"Go to the previous month\"),\n labelNext: () => t(\"calendar.nextMonth\", \"Go to the next month\"),\n labelNav: () => t(\"calendar.navigation\", \"Navigation bar\"),\n labelGrid: (month) => monthYear.format(month),\n labelWeekday: (weekday) => weekdayLong.format(weekday),\n labelDayButton: (date, modifiers) => {\n let label = full.format(date);\n if (modifiers.today) label = t(\"calendar.today\", \"Today, {date}\", { date: label });\n if (modifiers.selected) label = t(\"calendar.selected\", \"{date}, selected\", { date: label });\n return label;\n },\n },\n };\n}\n\nexport interface CalendarProps {\n mode?: keyof typeof KAESO_CALENDAR_VARIANTS.mode | undefined;\n selected?: Date | DateRange | undefined;\n onSelect?: ((value: Date | DateRange | undefined) => void) | undefined;\n month?: Date | undefined;\n defaultMonth?: Date | undefined;\n onMonthChange?: ((month: Date) => void) | undefined;\n numberOfMonths?: number | undefined;\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined;\n disabled?: ((date: Date) => boolean) | undefined;\n className?: string | undefined;\n}\n\nexport const Calendar = /* @__PURE__ */ forwardRef<HTMLDivElement, CalendarProps>(function Calendar(\n { mode = \"single\", selected, onSelect, month, defaultMonth, onMonthChange, numberOfMonths = 1, weekStartsOn = 1, disabled, className },\n ref,\n) {\n const locale = useLocale();\n const t = useUiText();\n const language = useMemo(() => {\n const own = localized(locale, t);\n return locale === \"en\" ? { labels: own.labels } : own;\n }, [locale, t]);\n const common = {\n ...language,\n classNames: numberOfMonths > 1 ? { ...CAL_CLASSES, outside: \"k-outside invisible\" } : CAL_CLASSES,\n components: { Chevron, Root },\n weekStartsOn,\n numberOfMonths,\n showOutsideDays: true,\n fixedWeeks: true,\n ...(month ? { month } : {}),\n ...(defaultMonth ? { defaultMonth } : {}),\n ...(onMonthChange ? { onMonthChange } : {}),\n ...(disabled ? { disabled } : {}),\n ...(className ? { className } : {}),\n };\n return (\n <RootRef value={ref}>\n {mode === \"range\" ? (\n <DayPicker mode=\"range\" selected={selected as DateRange | undefined} onSelect={(r) => onSelect?.(r)} {...common} />\n ) : (\n <DayPicker mode=\"single\" selected={selected as Date | undefined} onSelect={(d) => onSelect?.(d)} {...common} />\n )}\n </RootRef>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Calendar.displayName = \"Calendar\";\n"],"mappings":"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"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { l as e } from "./styles-hkFkoBbi.js";
|
|
3
|
+
import { t } from "./cn-BjnOAUrA.js";
|
|
4
|
+
import { a as n } from "./field-D7m-yl-D.js";
|
|
5
|
+
import { t as r } from "./labelled-D5udSPUI.js";
|
|
6
|
+
import { createContext as i, forwardRef as a, useContext as o, useId as s } from "react";
|
|
7
|
+
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
8
|
+
import { Checkbox as u } from "@base-ui/react/checkbox";
|
|
9
|
+
import { CheckboxGroup as d } from "@base-ui/react/checkbox-group";
|
|
10
|
+
//#region src/components/checkbox/checkbox.tsx
|
|
11
|
+
var f = /* @__PURE__ */ e({
|
|
12
|
+
Checkbox: () => x,
|
|
13
|
+
CheckboxBox: () => g,
|
|
14
|
+
CheckboxGroup: () => S,
|
|
15
|
+
KAESO_CHECKBOX_DEFAULT_VARIANTS: () => m,
|
|
16
|
+
KAESO_CHECKBOX_GROUP_DEFAULT_VARIANTS: () => y,
|
|
17
|
+
KAESO_CHECKBOX_GROUP_VARIANTS: () => v,
|
|
18
|
+
KAESO_CHECKBOX_VARIANTS: () => p
|
|
19
|
+
}), p = { size: { md: { classes: "size-18 rounded-checkbox" } } }, m = { size: "md" }, h = /* @__PURE__ */ i(!1), g = /* @__PURE__ */ a(function({ checked: e, defaultChecked: n, onCheckedChange: r, indeterminate: i, disabled: a, readOnly: o, required: s, invalid: d, name: f, value: m, id: h, className: g, parent: _, "aria-label": v, "aria-describedby": y, "aria-labelledby": b, "data-force": x }, S) {
|
|
20
|
+
return /* @__PURE__ */ c(u.Root, {
|
|
21
|
+
ref: S,
|
|
22
|
+
...e === void 0 ? {} : { checked: e },
|
|
23
|
+
...n === void 0 ? {} : { defaultChecked: n },
|
|
24
|
+
...r ? { onCheckedChange: (e) => r(e) } : {},
|
|
25
|
+
...i === void 0 ? {} : { indeterminate: i },
|
|
26
|
+
...a === void 0 ? {} : { disabled: a },
|
|
27
|
+
...o === void 0 ? {} : { readOnly: o },
|
|
28
|
+
...s === void 0 ? {} : { required: s },
|
|
29
|
+
...f ? { name: f } : {},
|
|
30
|
+
...m ? { value: m } : {},
|
|
31
|
+
...h ? { id: h } : {},
|
|
32
|
+
..._ ? { parent: _ } : {},
|
|
33
|
+
...v ? { "aria-label": v } : {},
|
|
34
|
+
...y ? { "aria-describedby": y } : {},
|
|
35
|
+
...b ? { "aria-labelledby": b } : {},
|
|
36
|
+
...d ? { "aria-invalid": !0 } : {},
|
|
37
|
+
...x ? { "data-force": x } : {},
|
|
38
|
+
"data-choice": "",
|
|
39
|
+
className: t("group/cb relative -m-3 inline-flex size-24 shrink-0 cursor-pointer items-center justify-center rounded-checkbox outline-none tap-target disabled:cursor-not-allowed", g),
|
|
40
|
+
children: /* @__PURE__ */ c("span", {
|
|
41
|
+
"aria-hidden": !0,
|
|
42
|
+
className: t("flex items-center justify-center choice-mark", p.size.md.classes),
|
|
43
|
+
children: /* @__PURE__ */ c(u.Indicator, {
|
|
44
|
+
keepMounted: !0,
|
|
45
|
+
className: "flex items-center justify-center",
|
|
46
|
+
children: /* @__PURE__ */ l("svg", {
|
|
47
|
+
viewBox: "0 0 12 12",
|
|
48
|
+
className: "size-12",
|
|
49
|
+
fill: "none",
|
|
50
|
+
"aria-hidden": !0,
|
|
51
|
+
children: [/* @__PURE__ */ c("path", {
|
|
52
|
+
d: "M2.5 6.25 4.9 8.5 9.5 3.75",
|
|
53
|
+
stroke: "currentColor",
|
|
54
|
+
strokeWidth: "1.75",
|
|
55
|
+
strokeLinecap: "round",
|
|
56
|
+
strokeLinejoin: "round",
|
|
57
|
+
pathLength: 1,
|
|
58
|
+
className: "check-draw"
|
|
59
|
+
}), /* @__PURE__ */ c("path", {
|
|
60
|
+
d: "M3 6h6",
|
|
61
|
+
stroke: "currentColor",
|
|
62
|
+
strokeWidth: "1.75",
|
|
63
|
+
strokeLinecap: "round",
|
|
64
|
+
className: "hidden group-data-indeterminate/cb:block"
|
|
65
|
+
})]
|
|
66
|
+
})
|
|
67
|
+
})
|
|
68
|
+
})
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
process.env.NODE_ENV !== "production" && (g.displayName = "Checkbox.Box");
|
|
72
|
+
var _ = /* @__PURE__ */ a(function({ label: e, description: i, id: a, className: u, ...d }, f) {
|
|
73
|
+
let p = s(), m = a ?? `k-cb-${p}`, _ = n(), v = o(h), y = [
|
|
74
|
+
d["aria-describedby"],
|
|
75
|
+
_?.descriptionId,
|
|
76
|
+
_?.errorId
|
|
77
|
+
].filter(Boolean).join(" "), b = {
|
|
78
|
+
...d,
|
|
79
|
+
..._?.invalid && d.invalid === void 0 ? { invalid: !0 } : {},
|
|
80
|
+
...(_?.disabled || v) && d.disabled === void 0 ? { disabled: !0 } : {},
|
|
81
|
+
...y ? { "aria-describedby": y } : {}
|
|
82
|
+
};
|
|
83
|
+
if (!e) return /* @__PURE__ */ c(g, {
|
|
84
|
+
ref: f,
|
|
85
|
+
id: m,
|
|
86
|
+
className: u,
|
|
87
|
+
...b
|
|
88
|
+
});
|
|
89
|
+
let x = r(m, e, i, b);
|
|
90
|
+
return /* @__PURE__ */ l("label", {
|
|
91
|
+
htmlFor: m,
|
|
92
|
+
"data-choice-row": "",
|
|
93
|
+
className: t("inline-flex min-h-32 cursor-pointer items-start gap-10 py-6 select-none coarse:min-h-44 coarse:py-12", b.disabled && "cursor-not-allowed", u),
|
|
94
|
+
children: [/* @__PURE__ */ c("span", {
|
|
95
|
+
className: "flex h-20 items-center",
|
|
96
|
+
children: /* @__PURE__ */ c(g, {
|
|
97
|
+
ref: f,
|
|
98
|
+
id: m,
|
|
99
|
+
...b,
|
|
100
|
+
...x.aria
|
|
101
|
+
})
|
|
102
|
+
}), /* @__PURE__ */ l("span", {
|
|
103
|
+
className: "flex flex-col",
|
|
104
|
+
children: [/* @__PURE__ */ c("span", {
|
|
105
|
+
id: x.labelId,
|
|
106
|
+
className: t("text-body text-fg", b.disabled && "text-fg-disabled"),
|
|
107
|
+
children: e
|
|
108
|
+
}), i && /* @__PURE__ */ c("span", {
|
|
109
|
+
id: x.descriptionId,
|
|
110
|
+
className: t("text-small text-pretty", b.disabled ? "text-fg-disabled" : "text-fg-secondary"),
|
|
111
|
+
children: i
|
|
112
|
+
})]
|
|
113
|
+
})]
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
process.env.NODE_ENV !== "production" && (_.displayName = "Checkbox");
|
|
117
|
+
var v = {}, y = {}, b = /* @__PURE__ */ a(function({ value: e, defaultValue: n, onValueChange: r, allValues: i, disabled: a, className: o, children: s, ...l }, u) {
|
|
118
|
+
return /* @__PURE__ */ c(h.Provider, {
|
|
119
|
+
value: !!a,
|
|
120
|
+
children: /* @__PURE__ */ c(d, {
|
|
121
|
+
ref: u,
|
|
122
|
+
...e === void 0 ? {} : { value: e },
|
|
123
|
+
...n === void 0 ? {} : { defaultValue: n },
|
|
124
|
+
...r ? { onValueChange: (e) => r(e) } : {},
|
|
125
|
+
...i ? { allValues: i } : {},
|
|
126
|
+
...a === void 0 ? {} : { disabled: a },
|
|
127
|
+
className: t("flex flex-col", o),
|
|
128
|
+
...l,
|
|
129
|
+
children: s
|
|
130
|
+
})
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
process.env.NODE_ENV !== "production" && (b.displayName = "CheckboxGroup");
|
|
134
|
+
var x = /* @__PURE__ */ Object.assign(_, {
|
|
135
|
+
Box: g,
|
|
136
|
+
Group: b
|
|
137
|
+
}), S = b;
|
|
138
|
+
//#endregion
|
|
139
|
+
export { y as a, f as c, m as i, g as n, v as o, S as r, p as s, x as t };
|
|
140
|
+
|
|
141
|
+
//# sourceMappingURL=checkbox-9tbimmF3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox-9tbimmF3.js","names":["BaseCheckbox","CheckboxGroup","BaseCheckboxGroup","Checkbox","__exportAll","useField","labelled","checkbox_exports","Checkbox$1","CheckboxBox","CheckboxGroup$1","KAESO_CHECKBOX_DEFAULT_VARIANTS","KAESO_CHECKBOX_GROUP_DEFAULT_VARIANTS","KAESO_CHECKBOX_GROUP_VARIANTS","KAESO_CHECKBOX_VARIANTS","GroupDisabled","ariaLabel","describedBy","labelledBy","force","Checkbox","checked","defaultChecked","onCheckedChange","c","indeterminate","disabled","readOnly","required","name","value","id","parent","invalid","cn","className","Root","own","auto","useId","boxId","field","groupDisabled","useContext","fieldDescribedBy","props","label","named","description","Group","CheckboxGroup","defaultValue","onValueChange","v","allValues"],"sources":["../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["import { createContext, forwardRef, useContext, useId, type ReactNode } from \"react\";\nimport { Checkbox as BaseCheckbox } from \"@base-ui/react/checkbox\";\nimport { CheckboxGroup as BaseCheckboxGroup } from \"@base-ui/react/checkbox-group\";\nimport { cn } from \"../../utils/cn.js\";\nimport { labelled } from \"../radio/labelled.js\";\nimport { useField } from \"../field/field.js\";\n\nexport const KAESO_CHECKBOX_VARIANTS = {\n size: {\n md: { classes: \"size-18 rounded-checkbox\" },\n },\n} as const;\nexport const KAESO_CHECKBOX_DEFAULT_VARIANTS = { size: \"md\" } as const;\n\nexport interface CheckboxProps {\n checked?: boolean | undefined;\n defaultChecked?: boolean | undefined;\n onCheckedChange?: ((checked: boolean) => void) | undefined;\n indeterminate?: boolean | undefined;\n disabled?: boolean | undefined;\n readOnly?: boolean | undefined;\n required?: boolean | undefined;\n invalid?: boolean | undefined;\n name?: string | undefined;\n value?: string | undefined;\n label?: ReactNode | undefined;\n description?: ReactNode | undefined;\n id?: string | undefined;\n \"aria-label\"?: string | undefined;\n \"aria-describedby\"?: string | undefined;\n \"aria-labelledby\"?: string | undefined;\n className?: string | undefined;\n \"data-force\"?: string | undefined;\n}\n\nconst GroupDisabled = /* @__PURE__ */ createContext(false);\n\nexport const CheckboxBox = /* @__PURE__ */ forwardRef<HTMLButtonElement, CheckboxProps & { parent?: boolean | undefined }>(function CheckboxBox(\n {\n checked,\n defaultChecked,\n onCheckedChange,\n indeterminate,\n disabled,\n readOnly,\n required,\n invalid,\n name,\n value,\n id,\n className,\n parent,\n \"aria-label\": ariaLabel,\n \"aria-describedby\": describedBy,\n \"aria-labelledby\": labelledBy,\n \"data-force\": force,\n },\n ref,\n) {\n return (\n <BaseCheckbox.Root\n ref={ref}\n {...(checked !== undefined ? { checked } : {})}\n {...(defaultChecked !== undefined ? { defaultChecked } : {})}\n {...(onCheckedChange ? { onCheckedChange: (c: boolean) => onCheckedChange(c) } : {})}\n {...(indeterminate !== undefined ? { indeterminate } : {})}\n {...(disabled !== undefined ? { disabled } : {})}\n {...(readOnly !== undefined ? { readOnly } : {})}\n {...(required !== undefined ? { required } : {})}\n {...(name ? { name } : {})}\n {...(value ? { value } : {})}\n {...(id ? { id } : {})}\n {...(parent ? { parent } : {})}\n {...(ariaLabel ? { \"aria-label\": ariaLabel } : {})}\n {...(describedBy ? { \"aria-describedby\": describedBy } : {})}\n {...(labelledBy ? { \"aria-labelledby\": labelledBy } : {})}\n {...(invalid ? { \"aria-invalid\": true } : {})}\n {...(force ? { \"data-force\": force } : {})}\n data-choice=\"\"\n className={cn(\n \"group/cb relative -m-3 inline-flex size-24 shrink-0 cursor-pointer items-center justify-center rounded-checkbox outline-none tap-target disabled:cursor-not-allowed\",\n className,\n )}\n >\n <span aria-hidden className={cn(\"flex items-center justify-center choice-mark\", KAESO_CHECKBOX_VARIANTS.size.md.classes)}>\n <BaseCheckbox.Indicator keepMounted className=\"flex items-center justify-center\">\n <svg viewBox=\"0 0 12 12\" className=\"size-12\" fill=\"none\" aria-hidden>\n <path\n d=\"M2.5 6.25 4.9 8.5 9.5 3.75\"\n stroke=\"currentColor\"\n strokeWidth=\"1.75\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n pathLength={1}\n className=\"check-draw\"\n />\n <path d=\"M3 6h6\" stroke=\"currentColor\" strokeWidth=\"1.75\" strokeLinecap=\"round\" className=\"hidden group-data-indeterminate/cb:block\" />\n </svg>\n </BaseCheckbox.Indicator>\n </span>\n </BaseCheckbox.Root>\n );\n});\nif (process.env.NODE_ENV !== \"production\") CheckboxBox.displayName = \"Checkbox.Box\";\n\nconst Root = /* @__PURE__ */ forwardRef<HTMLButtonElement, CheckboxProps>(function Checkbox({ label, description, id, className, ...own }, ref) {\n const auto = useId();\n const boxId = id ?? `k-cb-${auto}`;\n const field = useField();\n const groupDisabled = useContext(GroupDisabled);\n const fieldDescribedBy = [own[\"aria-describedby\"], field?.descriptionId, field?.errorId].filter(Boolean).join(\" \");\n const props = {\n ...own,\n ...(field?.invalid && own.invalid === undefined ? { invalid: true } : {}),\n ...((field?.disabled || groupDisabled) && own.disabled === undefined ? { disabled: true } : {}),\n ...(fieldDescribedBy ? { \"aria-describedby\": fieldDescribedBy } : {}),\n };\n if (!label) return <CheckboxBox ref={ref} id={boxId} className={className} {...props} />;\n const named = labelled(boxId, label, description, props);\n return (\n <label\n htmlFor={boxId}\n data-choice-row=\"\"\n className={cn(\n \"inline-flex min-h-32 cursor-pointer items-start gap-10 py-6 select-none coarse:min-h-44 coarse:py-12\",\n props.disabled && \"cursor-not-allowed\",\n className,\n )}\n >\n <span className=\"flex h-20 items-center\">\n <CheckboxBox ref={ref} id={boxId} {...props} {...named.aria} />\n </span>\n <span className=\"flex flex-col\">\n <span id={named.labelId} className={cn(\"text-body text-fg\", props.disabled && \"text-fg-disabled\")}>\n {label}\n </span>\n {description && (\n <span id={named.descriptionId} className={cn(\"text-small text-pretty\", props.disabled ? \"text-fg-disabled\" : \"text-fg-secondary\")}>\n {description}\n </span>\n )}\n </span>\n </label>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Root.displayName = \"Checkbox\";\n\nexport const KAESO_CHECKBOX_GROUP_VARIANTS = {} as const;\nexport const KAESO_CHECKBOX_GROUP_DEFAULT_VARIANTS = {} as const;\n\nexport interface CheckboxGroupProps {\n value?: string[] | undefined;\n defaultValue?: string[] | undefined;\n onValueChange?: ((value: string[]) => void) | undefined;\n allValues?: string[] | undefined;\n disabled?: boolean | undefined;\n \"aria-label\"?: string | undefined;\n \"aria-labelledby\"?: string | undefined;\n className?: string | undefined;\n children: ReactNode;\n}\n\nconst Group = /* @__PURE__ */ forwardRef<HTMLDivElement, CheckboxGroupProps>(function CheckboxGroup(\n { value, defaultValue, onValueChange, allValues, disabled, className, children, ...props },\n ref,\n) {\n return (\n <GroupDisabled.Provider value={!!disabled}>\n <BaseCheckboxGroup\n ref={ref}\n {...(value !== undefined ? { value } : {})}\n {...(defaultValue !== undefined ? { defaultValue } : {})}\n {...(onValueChange ? { onValueChange: (v: string[]) => onValueChange(v) } : {})}\n {...(allValues ? { allValues } : {})}\n {...(disabled !== undefined ? { disabled } : {})}\n className={cn(\"flex flex-col\", className)}\n {...props}\n >\n {children}\n </BaseCheckboxGroup>\n </GroupDisabled.Provider>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Group.displayName = \"CheckboxGroup\";\n\nexport const Checkbox = /* @__PURE__ */ Object.assign(Root, { Box: CheckboxBox, Group });\nexport const CheckboxGroup = Group;\n"],"mappings":"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"}
|