@logicplanes/kaeso-ui 0.4.0 → 0.4.2
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 +51 -1
- package/ai/component-registry.json +113 -17
- package/ai/component-registry.md +38 -12
- package/ai/icons.md +1 -1
- package/ai/tokens.md +2 -1
- package/dist/blocks/delete-resource.js +1 -1
- package/dist/blocks/pages.js +5 -5
- package/dist/blocks/resource-list.js +4 -4
- package/dist/chunks/{app-frame-Cj_gCbmu.js → app-frame-C8csevkL.js} +9 -9
- package/dist/chunks/{app-frame-Cj_gCbmu.js.map → app-frame-C8csevkL.js.map} +1 -1
- package/dist/chunks/{avatar-DOzOhYJr.js → avatar-CWbdwbJv.js} +2 -2
- package/dist/chunks/{avatar-DOzOhYJr.js.map → avatar-CWbdwbJv.js.map} +1 -1
- package/dist/chunks/{badge-wUHlj7m3.js → badge-C2KtxCLB.js} +2 -2
- package/dist/chunks/{badge-wUHlj7m3.js.map → badge-C2KtxCLB.js.map} +1 -1
- package/dist/chunks/{banner-DY1jSc9Y.js → banner-Cb8OWnqJ.js} +4 -4
- package/dist/chunks/{banner-DY1jSc9Y.js.map → banner-Cb8OWnqJ.js.map} +1 -1
- package/dist/chunks/{button-h2IFCER2.js → button-Dzu7_csE.js} +13 -13
- package/dist/chunks/button-Dzu7_csE.js.map +1 -0
- package/dist/chunks/{calendar-cVuezHQ6.js → calendar--YemJsv4.js} +2 -2
- package/dist/chunks/{calendar-cVuezHQ6.js.map → calendar--YemJsv4.js.map} +1 -1
- package/dist/chunks/{checkbox-C5yvSS7O.js → checkbox-CDfC6E-M.js} +2 -2
- package/dist/chunks/{checkbox-C5yvSS7O.js.map → checkbox-CDfC6E-M.js.map} +1 -1
- package/dist/chunks/{cn-DUDmdLpZ.js → cn-Dj6sRgkF.js} +17 -3
- package/dist/chunks/cn-Dj6sRgkF.js.map +1 -0
- package/dist/chunks/code-block-U5fCqwgC.js +330 -0
- package/dist/chunks/code-block-U5fCqwgC.js.map +1 -0
- package/dist/chunks/{code-C49NzHUQ.js → code-tqj0uhBL.js} +2 -2
- package/dist/chunks/{code-C49NzHUQ.js.map → code-tqj0uhBL.js.map} +1 -1
- package/dist/chunks/{collapsible-CDQq1Y9x.js → collapsible-CKrCX_T9.js} +13 -13
- package/dist/chunks/collapsible-CKrCX_T9.js.map +1 -0
- package/dist/chunks/{combobox-B9ttar4C.js → combobox-BARyrpXH.js} +6 -6
- package/dist/chunks/{combobox-B9ttar4C.js.map → combobox-BARyrpXH.js.map} +1 -1
- package/dist/chunks/{command-list-DZMVrXWD.js → command-list-0RR4DpUe.js} +138 -137
- package/dist/chunks/command-list-0RR4DpUe.js.map +1 -0
- package/dist/chunks/copy-button-7-irieJw.js +142 -0
- package/dist/chunks/copy-button-7-irieJw.js.map +1 -0
- package/dist/chunks/{core-Bu6iq5uh.js → core-Bl9NrBLS.js} +10 -10
- package/dist/chunks/core-Bl9NrBLS.js.map +1 -0
- package/dist/chunks/{date-popup-BJPA_fBm.js → date-popup-RQkqhko4.js} +4 -4
- package/dist/chunks/{date-popup-BJPA_fBm.js.map → date-popup-RQkqhko4.js.map} +1 -1
- package/dist/chunks/{dialog-BLcP7v24.js → dialog-DQ9vZ7vr.js} +5 -5
- package/dist/chunks/{dialog-BLcP7v24.js.map → dialog-DQ9vZ7vr.js.map} +1 -1
- package/dist/chunks/{empty-YXmSkKzR.js → empty-DvhyMXQq.js} +2 -2
- package/dist/chunks/{empty-YXmSkKzR.js.map → empty-DvhyMXQq.js.map} +1 -1
- package/dist/chunks/{field-BZriODU7.js → field-TviMvYa2.js} +2 -2
- package/dist/chunks/{field-BZriODU7.js.map → field-TviMvYa2.js.map} +1 -1
- package/dist/chunks/{icon-BqujXDUc.js → icon-D7ja-_Yk.js} +2 -2
- package/dist/chunks/{icon-BqujXDUc.js.map → icon-D7ja-_Yk.js.map} +1 -1
- package/dist/chunks/{icon-button-DmKFxQbP.js → icon-button-CPYR21Sz.js} +3 -3
- package/dist/chunks/{icon-button-DmKFxQbP.js.map → icon-button-CPYR21Sz.js.map} +1 -1
- package/dist/chunks/{identity-Chj7fW89.js → identity-DPuTkMsa.js} +6 -6
- package/dist/chunks/{identity-Chj7fW89.js.map → identity-DPuTkMsa.js.map} +1 -1
- package/dist/chunks/{input-9y3afoiq.js → input-TyLIaQ5k.js} +5 -5
- package/dist/chunks/{input-9y3afoiq.js.map → input-TyLIaQ5k.js.map} +1 -1
- package/dist/chunks/{input-group-BoxjnN8I.js → input-group-CUSNsQjQ.js} +4 -4
- package/dist/chunks/{input-group-BoxjnN8I.js.map → input-group-CUSNsQjQ.js.map} +1 -1
- package/dist/chunks/{iso-field-DAa6iPWn.js → iso-field-CWbxlll-.js} +2 -2
- package/dist/chunks/{iso-field-DAa6iPWn.js.map → iso-field-CWbxlll-.js.map} +1 -1
- package/dist/chunks/{json-view-BkG2hTXV.js → json-view-Dqd2TDkc.js} +3 -3
- package/dist/chunks/{json-view-BkG2hTXV.js.map → json-view-Dqd2TDkc.js.map} +1 -1
- package/dist/chunks/{kbd-DqWmbr_e.js → kbd-BF1vKXJf.js} +2 -2
- package/dist/chunks/{kbd-DqWmbr_e.js.map → kbd-BF1vKXJf.js.map} +1 -1
- package/dist/chunks/{link-YMcxM-BZ.js → link-B2I55xg9.js} +3 -3
- package/dist/chunks/{link-YMcxM-BZ.js.map → link-B2I55xg9.js.map} +1 -1
- package/dist/chunks/{list-7VARol_x.js → list-CkOozrVY.js} +8 -8
- package/dist/chunks/{list-7VARol_x.js.map → list-CkOozrVY.js.map} +1 -1
- package/dist/chunks/{loader-ENBh2Fbt.js → loader-DCfPndXa.js} +2 -2
- package/dist/chunks/{loader-ENBh2Fbt.js.map → loader-DCfPndXa.js.map} +1 -1
- package/dist/chunks/{markdown-DBVNULWg.js → markdown-BEgwZFlu.js} +9 -9
- package/dist/chunks/{markdown-DBVNULWg.js.map → markdown-BEgwZFlu.js.map} +1 -1
- package/dist/chunks/{menu-Bnfi9P3t.js → menu-fl_QQb38.js} +4 -4
- package/dist/chunks/{menu-Bnfi9P3t.js.map → menu-fl_QQb38.js.map} +1 -1
- package/dist/chunks/{meter-DhTnem4k.js → meter-Bj4N3Xuh.js} +2 -2
- package/dist/chunks/{meter-DhTnem4k.js.map → meter-Bj4N3Xuh.js.map} +1 -1
- package/dist/chunks/{nav-sheet-D7wIF_OU.js → nav-sheet-B2rNb8GB.js} +2 -2
- package/dist/chunks/{nav-sheet-D7wIF_OU.js.map → nav-sheet-B2rNb8GB.js.map} +1 -1
- package/dist/chunks/{nav-wordmark-DmbT1Aiw.js → nav-wordmark-_pjheAsZ.js} +2 -2
- package/dist/chunks/{nav-wordmark-DmbT1Aiw.js.map → nav-wordmark-_pjheAsZ.js.map} +1 -1
- package/dist/chunks/{page-header-B3tV8Wog.js → page-header-DjUMDG69.js} +4 -4
- package/dist/chunks/{page-header-B3tV8Wog.js.map → page-header-DjUMDG69.js.map} +1 -1
- package/dist/chunks/{pagination-CLfsofo3.js → pagination-BaY8jdli.js} +4 -4
- package/dist/chunks/{pagination-CLfsofo3.js.map → pagination-BaY8jdli.js.map} +1 -1
- package/dist/chunks/{picker-popover-B5YdOxNm.js → picker-popover-DShea4b8.js} +7 -7
- package/dist/chunks/{picker-popover-B5YdOxNm.js.map → picker-popover-DShea4b8.js.map} +1 -1
- package/dist/chunks/{popover-bjxg020P.js → popover-CFMwaeIP.js} +2 -2
- package/dist/chunks/{popover-bjxg020P.js.map → popover-CFMwaeIP.js.map} +1 -1
- package/dist/chunks/{radio-DwYcXAzv.js → radio-Yl0nO-Sj.js} +2 -2
- package/dist/chunks/{radio-DwYcXAzv.js.map → radio-Yl0nO-Sj.js.map} +1 -1
- package/dist/chunks/{range-popup-ZunS8QSH.js → range-popup-CkhsK3wI.js} +6 -6
- package/dist/chunks/{range-popup-ZunS8QSH.js.map → range-popup-CkhsK3wI.js.map} +1 -1
- package/dist/chunks/{release-art-Ogl-L1Vh.js → release-art-ZwfFQImt.js} +2 -2
- package/dist/chunks/{release-art-Ogl-L1Vh.js.map → release-art-ZwfFQImt.js.map} +1 -1
- package/dist/chunks/{rights-CiIBzT9o.js → rights-BlQx9C_j.js} +9 -9
- package/dist/chunks/{rights-CiIBzT9o.js.map → rights-BlQx9C_j.js.map} +1 -1
- package/dist/chunks/scroll-area-D8MD7Vpo.js +42 -0
- package/dist/chunks/scroll-area-D8MD7Vpo.js.map +1 -0
- package/dist/chunks/{section-BsET7Fo-.js → section-Ce1efbsP.js} +3 -3
- package/dist/chunks/{section-BsET7Fo-.js.map → section-Ce1efbsP.js.map} +1 -1
- package/dist/chunks/{segmented-DxjnIuww.js → segmented-C97zvDR1.js} +4 -4
- package/dist/chunks/{segmented-DxjnIuww.js.map → segmented-C97zvDR1.js.map} +1 -1
- package/dist/chunks/{select-Bbv2f5F8.js → select-x4XVsdCI.js} +14 -14
- package/dist/chunks/select-x4XVsdCI.js.map +1 -0
- package/dist/chunks/{separator-CpAUELNs.js → separator-D7TzNHmX.js} +2 -2
- package/dist/chunks/{separator-CpAUELNs.js.map → separator-D7TzNHmX.js.map} +1 -1
- package/dist/chunks/{sidebar-ZSTPK9Jn.js → sidebar-DtFlejU7.js} +7 -7
- package/dist/chunks/{sidebar-ZSTPK9Jn.js.map → sidebar-DtFlejU7.js.map} +1 -1
- package/dist/chunks/{sidebar-menu-ct8IiL4z.js → sidebar-menu-CxQbGwyj.js} +2 -2
- package/dist/chunks/{sidebar-menu-ct8IiL4z.js.map → sidebar-menu-CxQbGwyj.js.map} +1 -1
- package/dist/chunks/{skeleton-BM797MAg.js → skeleton-Dcz57Zyp.js} +2 -2
- package/dist/chunks/{skeleton-BM797MAg.js.map → skeleton-Dcz57Zyp.js.map} +1 -1
- package/dist/chunks/{slider-Ds-tqY-1.js → slider-Ci83PGtj.js} +2 -2
- package/dist/chunks/{slider-Ds-tqY-1.js.map → slider-Ci83PGtj.js.map} +1 -1
- package/dist/chunks/{status-dot-BqVOlShY.js → status-dot-QJTF0Yv4.js} +3 -3
- package/dist/chunks/{status-dot-BqVOlShY.js.map → status-dot-QJTF0Yv4.js.map} +1 -1
- package/dist/chunks/{swap-text-Cica0pUr.js → swap-text-Dr0Irxz6.js} +2 -2
- package/dist/chunks/{swap-text-Cica0pUr.js.map → swap-text-Dr0Irxz6.js.map} +1 -1
- package/dist/chunks/{switch-Cq1OfeBr.js → switch-b-VkStWj.js} +5 -5
- package/dist/chunks/switch-b-VkStWj.js.map +1 -0
- package/dist/chunks/table-BeOSKl_3.js +84 -0
- package/dist/chunks/table-BeOSKl_3.js.map +1 -0
- package/dist/chunks/{tag-XgPXKoxi.js → tag-DNdX1XRR.js} +4 -4
- package/dist/chunks/{tag-XgPXKoxi.js.map → tag-DNdX1XRR.js.map} +1 -1
- package/dist/chunks/{text-IoDy3Vxi.js → text-DCGGNqTM.js} +3 -3
- package/dist/chunks/{text-IoDy3Vxi.js.map → text-DCGGNqTM.js.map} +1 -1
- package/dist/chunks/{textarea-jOiTkfMf.js → textarea-CT2S2JVM.js} +5 -5
- package/dist/chunks/{textarea-jOiTkfMf.js.map → textarea-CT2S2JVM.js.map} +1 -1
- package/dist/chunks/{timeseries-BBWsSM4Q.js → timeseries-B-8OfeZm.js} +3 -3
- package/dist/chunks/{timeseries-BBWsSM4Q.js.map → timeseries-B-8OfeZm.js.map} +1 -1
- package/dist/chunks/{toolbar-nVLFWH2i.js → toolbar-DL6zVrzU.js} +2 -2
- package/dist/chunks/{toolbar-nVLFWH2i.js.map → toolbar-DL6zVrzU.js.map} +1 -1
- package/dist/chunks/{tooltip-CTBnfiDH.js → tooltip-BMQ9BtPp.js} +4 -4
- package/dist/chunks/{tooltip-CTBnfiDH.js.map → tooltip-BMQ9BtPp.js.map} +1 -1
- package/dist/chunks/{tooltip-root-B0zWodAJ.js → tooltip-root-BeAMXzxU.js} +4 -4
- package/dist/chunks/{tooltip-root-B0zWodAJ.js.map → tooltip-root-BeAMXzxU.js.map} +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 +4 -4
- package/dist/components/button.js +1 -1
- package/dist/components/calendar.js +1 -1
- package/dist/components/charts/bar.js +2 -2
- package/dist/components/charts/donut.js +2 -2
- package/dist/components/charts/gauge.js +2 -2
- package/dist/components/charts/heatmap.js +1 -1
- package/dist/components/charts/sankey.js +2 -2
- package/dist/components/charts/sparkline.js +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 +2 -2
- package/dist/components/code.js +1 -1
- package/dist/components/collapsible.js +1 -1
- package/dist/components/combobox.js +1 -1
- package/dist/components/command-list.js +2 -2
- package/dist/components/command-palette.js +32 -31
- package/dist/components/command-palette.js.map +1 -1
- package/dist/components/copy-button.js +1 -1
- package/dist/components/data-table.js +14 -14
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/date-picker.js +7 -7
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/dialog.js +2 -2
- package/dist/components/display-options.js +8 -8
- package/dist/components/empty.js +1 -1
- package/dist/components/field.js +1 -1
- package/dist/components/figure.js +60 -0
- package/dist/components/figure.js.map +1 -0
- package/dist/components/filter-chip.js +5 -5
- package/dist/components/filter-row.js +1 -1
- package/dist/components/flow.js +2 -2
- 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 +7 -7
- package/dist/components/kaeso/conversation.js +8 -8
- package/dist/components/kaeso/identity.js +1 -1
- package/dist/components/kaeso/moments.js +5 -5
- package/dist/components/kaeso/rights.js +1 -1
- package/dist/components/kaeso/usage.js +5 -5
- package/dist/components/kaeso.js +10 -10
- package/dist/components/kbd.js +1 -1
- package/dist/components/key-value.js +3 -3
- package/dist/components/label.js +1 -1
- package/dist/components/layout.js +1 -1
- package/dist/components/link.js +1 -1
- package/dist/components/list.js +1 -1
- package/dist/components/loader.js +2 -2
- package/dist/components/logo.js +2 -2
- package/dist/components/markdown.js +1 -1
- package/dist/components/menu.js +1 -1
- 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 +16 -16
- package/dist/components/popover.js +2 -2
- 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 -41
- 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 +5 -4
- package/dist/components/settings.js.map +1 -1
- package/dist/components/sheet.js +4 -4
- 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 +3 -3
- 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 +2 -2
- 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 +2 -2
- package/dist/components/theme-select.js +1 -1
- package/dist/components/timeline.js +1 -1
- package/dist/components/toast.js +4 -4
- package/dist/components/toc.js +37 -22
- 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/index.js +88 -86
- package/dist/kaeso.css +45 -0
- package/dist/styles.css +1 -1
- package/dist/types/blocks/delete-resource/delete-resource.d.ts +1 -1
- package/dist/types/blocks/pages/pages.d.ts +3 -3
- package/dist/types/blocks/resource-list/resource-list.d.ts +1 -1
- package/dist/types/components/app-frame/app-frame.d.ts +1 -1
- package/dist/types/components/app-frame/nav-sheet.d.ts +1 -1
- package/dist/types/components/button/button.d.ts +6 -6
- package/dist/types/components/calendar/calendar.d.ts +1 -1
- package/dist/types/components/charts/core.d.ts +5 -5
- package/dist/types/components/code-block/code-block.d.ts +1 -1
- package/dist/types/components/code-block/indent.d.ts +3 -0
- package/dist/types/components/combobox/combobox.d.ts +1 -1
- package/dist/types/components/command-list/command-list.d.ts +1 -0
- package/dist/types/components/command-list/docs.d.ts +1 -0
- package/dist/types/components/command-list/picker-popover.d.ts +1 -1
- package/dist/types/components/command-palette/command-palette.d.ts +2 -1
- package/dist/types/components/command-palette/docs.d.ts +1 -0
- package/dist/types/components/data-table/data-table.d.ts +1 -1
- package/dist/types/components/date-picker/date-popup.d.ts +1 -1
- package/dist/types/components/date-picker/iso-field.d.ts +1 -1
- package/dist/types/components/date-picker/range-popup.d.ts +1 -1
- package/dist/types/components/dialog/dialog.d.ts +3 -3
- package/dist/types/components/dialog/scope.d.ts +1 -1
- package/dist/types/components/dialog/step-dialog.d.ts +1 -1
- package/dist/types/components/display-options/display-options.d.ts +1 -1
- package/dist/types/components/field/field.d.ts +1 -1
- package/dist/types/components/figure/docs.d.ts +12 -0
- package/dist/types/components/figure/figure.d.ts +25 -0
- package/dist/types/components/figure/index.d.ts +1 -0
- package/dist/types/components/list/list.d.ts +1 -1
- package/dist/types/components/list/row-checkbox.d.ts +1 -1
- package/dist/types/components/list/virtual-rows.d.ts +1 -1
- package/dist/types/components/menu/menu.d.ts +8 -8
- package/dist/types/components/playground/model-picker.d.ts +3 -3
- package/dist/types/components/playground/parameter-panel.d.ts +1 -1
- package/dist/types/components/popover/hover-card.d.ts +2 -2
- package/dist/types/components/popover/popover-root.d.ts +3 -3
- package/dist/types/components/radio/radio.d.ts +1 -1
- package/dist/types/components/select/option-checkbox.d.ts +1 -1
- package/dist/types/components/select/select.d.ts +4 -4
- package/dist/types/components/sheet/sheet.d.ts +4 -4
- package/dist/types/components/sidebar/sidebar-menu.d.ts +1 -1
- package/dist/types/components/sidebar/sidebar.d.ts +7 -7
- package/dist/types/components/table/docs.d.ts +3 -1
- package/dist/types/components/table/table.d.ts +18 -1
- package/dist/types/components/theme-menu/theme-menu.d.ts +1 -1
- package/dist/types/components/toast/toast.d.ts +3 -3
- package/dist/types/components/toolbar/toolbar.d.ts +1 -1
- package/dist/types/components/tooltip/tooltip-provider.d.ts +1 -1
- package/dist/types/components/tooltip/tooltip-root.d.ts +1 -1
- package/dist/types/components/tooltip/tooltip.d.ts +2 -2
- package/dist/types/hooks/use-scroll-fade.d.ts +2 -0
- package/dist/types/i18n/provider.d.ts +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/theme/theme-provider.d.ts +1 -1
- package/dist/types/utils/cn.d.ts +7 -0
- package/dist/types/utils/inset.d.ts +2 -2
- package/dist/types/utils/link-provider.d.ts +1 -1
- package/dist/types/utils/portal-context.d.ts +1 -1
- package/dist/utils.js +1 -1
- package/foundations/color.md +1 -0
- package/package.json +8 -8
- package/dist/chunks/button-h2IFCER2.js.map +0 -1
- package/dist/chunks/cn-DUDmdLpZ.js.map +0 -1
- package/dist/chunks/code-block-BU8gYeZQ.js +0 -280
- package/dist/chunks/code-block-BU8gYeZQ.js.map +0 -1
- package/dist/chunks/collapsible-CDQq1Y9x.js.map +0 -1
- package/dist/chunks/command-list-DZMVrXWD.js.map +0 -1
- package/dist/chunks/copy-button-CXJ7fA9z.js +0 -109
- package/dist/chunks/copy-button-CXJ7fA9z.js.map +0 -1
- package/dist/chunks/core-Bu6iq5uh.js.map +0 -1
- package/dist/chunks/select-Bbv2f5F8.js.map +0 -1
- package/dist/chunks/switch-Cq1OfeBr.js.map +0 -1
- package/dist/chunks/table-D-36EM7f.js +0 -67
- package/dist/chunks/table-D-36EM7f.js.map +0 -1
- package/dist/components/scroll-area.js.map +0 -1
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { a as e, i as t } from "./styles-CVJU9t9v.js";
|
|
3
|
-
import { t as n } from "./cn-
|
|
3
|
+
import { t as n } from "./cn-Dj6sRgkF.js";
|
|
4
4
|
import { i as r } from "./context-BELWW79w.js";
|
|
5
|
-
import { t as i } from "./icon-
|
|
5
|
+
import { t as i } from "./icon-D7ja-_Yk.js";
|
|
6
6
|
import { t as a } from "./option-checkbox-Df7WhGn4.js";
|
|
7
|
-
import { r as o } from "./combobox-
|
|
7
|
+
import { r as o } from "./combobox-BARyrpXH.js";
|
|
8
8
|
import { createContext as s, forwardRef as c, useCallback as l, useContext as ee, useEffect as te, useId as ne, useLayoutEffect as re, useMemo as u, useRef as d, useState as f, useSyncExternalStore as ie } from "react";
|
|
9
9
|
import { jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
10
10
|
import { Search01Icon as ae, Tick02Icon as oe } from "@hugeicons/core-free-icons";
|
|
11
11
|
import { defaultRangeExtractor as se, observeElementRect as h, useVirtualizer as ce } from "@tanstack/react-virtual";
|
|
12
12
|
//#region src/components/command-list/match.ts
|
|
13
|
-
var g = /[\s\-_./:@]/g,
|
|
14
|
-
function
|
|
13
|
+
var g = /[\s\-_./:@]/g, le = /[\s\-_./:@]/;
|
|
14
|
+
function _(e, t) {
|
|
15
15
|
if (t === e) return 100;
|
|
16
16
|
if (t.startsWith(e)) return 80;
|
|
17
17
|
let n = t.indexOf(e);
|
|
18
|
-
if (n > 0) return
|
|
18
|
+
if (n > 0) return le.test(t[n - 1] ?? "") ? 70 : 50;
|
|
19
19
|
let r = e.replace(g, "");
|
|
20
20
|
if (r && t.replace(g, "").includes(r)) return 40;
|
|
21
21
|
if (e.length < 3) return 0;
|
|
@@ -23,14 +23,14 @@ function v(e, t) {
|
|
|
23
23
|
for (let n = 0; n < t.length && i < e.length; n++) t[n] === e[i] && (a >= 0 && n !== a + 1 && (o += 1), a = n, i += 1);
|
|
24
24
|
return i < e.length ? 0 : Math.max(1, 30 - o * 3);
|
|
25
25
|
}
|
|
26
|
-
function
|
|
26
|
+
function v(e, t) {
|
|
27
27
|
let n = e.trim().toLowerCase().split(/\s+/).filter(Boolean);
|
|
28
28
|
if (n.length === 0) return 1;
|
|
29
29
|
let r = t.map((e) => e.toLowerCase()), i = 0;
|
|
30
30
|
for (let e of n) {
|
|
31
31
|
let t = 0;
|
|
32
32
|
if (r.forEach((n, r) => {
|
|
33
|
-
t = Math.max(t,
|
|
33
|
+
t = Math.max(t, _(e, n) * (r === 0 ? 1 : .9));
|
|
34
34
|
}), t === 0) return 0;
|
|
35
35
|
i += t;
|
|
36
36
|
}
|
|
@@ -38,7 +38,7 @@ function y(e, t) {
|
|
|
38
38
|
}
|
|
39
39
|
//#endregion
|
|
40
40
|
//#region src/components/command-list/command-list.tsx
|
|
41
|
-
var
|
|
41
|
+
var ue = {
|
|
42
42
|
height: {
|
|
43
43
|
popover: { classes: "picker-limits" },
|
|
44
44
|
inline: { classes: "max-h-360 rounded-group bg-raised shadow-xs" },
|
|
@@ -48,10 +48,10 @@ var le = {
|
|
|
48
48
|
md: { classes: "" },
|
|
49
49
|
lg: { classes: "" }
|
|
50
50
|
}
|
|
51
|
-
},
|
|
51
|
+
}, de = {
|
|
52
52
|
height: "popover",
|
|
53
53
|
size: "md"
|
|
54
|
-
},
|
|
54
|
+
}, fe = {
|
|
55
55
|
md: {
|
|
56
56
|
search: "h-44 gap-10 px-16",
|
|
57
57
|
input: "text-body",
|
|
@@ -64,15 +64,15 @@ var le = {
|
|
|
64
64
|
row: 40,
|
|
65
65
|
item: "rounded-palette-item gap-12 px-12"
|
|
66
66
|
}
|
|
67
|
-
},
|
|
67
|
+
}, y = "(pointer: coarse)", pe = (e) => {
|
|
68
68
|
if (typeof window > "u" || !window.matchMedia) return () => {};
|
|
69
|
-
let t = window.matchMedia(
|
|
69
|
+
let t = window.matchMedia(y);
|
|
70
70
|
return t.addEventListener("change", e), () => t.removeEventListener("change", e);
|
|
71
|
-
},
|
|
71
|
+
}, me = () => typeof window < "u" && !!window.matchMedia?.(y).matches, b = 28, x = 6, he = {
|
|
72
72
|
md: 44,
|
|
73
73
|
lg: 56
|
|
74
|
-
},
|
|
75
|
-
function
|
|
74
|
+
}, ge = 80, S = 480, _e = 200, ve = /* @__PURE__ */ s(null), ye = (e, t) => v(t, [e.label, ...e.keywords ?? []]);
|
|
75
|
+
function be(e, t, n) {
|
|
76
76
|
let r = t.trim(), i = (e) => e.items.length > 0 || !!e.group.loading;
|
|
77
77
|
return r ? e.map((e, t) => {
|
|
78
78
|
let i = e.items.map((e) => ({
|
|
@@ -93,20 +93,20 @@ function ye(e, t, n) {
|
|
|
93
93
|
}))
|
|
94
94
|
})).filter(i);
|
|
95
95
|
}
|
|
96
|
-
function
|
|
96
|
+
function xe(e, t) {
|
|
97
97
|
return h(e, (e) => t(e.height > 0 ? e : {
|
|
98
98
|
width: e.width,
|
|
99
|
-
height:
|
|
99
|
+
height: S
|
|
100
100
|
}));
|
|
101
101
|
}
|
|
102
|
-
var
|
|
103
|
-
let
|
|
102
|
+
var C = /* @__PURE__ */ c(function({ groups: s, "aria-label": c, value: h, multiple: g, onSelect: le, query: _, defaultQuery: v = "", onQueryChange: de, placeholder: y, emptyText: C, toolbar: w, footer: Se, searchPrefix: Ce, loading: T, onInputKeyDown: we, size: E = "md", height: Te, autoFocus: Ee, onEscape: D, escapeClears: De = !0, match: O = ye, counts: Oe = !0, inputProps: ke, className: Ae, "data-force": k }, je) {
|
|
103
|
+
let A = r(), Me = ee(ve), j = Te ?? Me ?? "popover", M = ne(), Ne = `${M}-list`, [Pe, Fe] = f(v), N = _ ?? Pe, Ie = ie(pe, me, () => !1), P = fe[E], F = Ie ? Math.max(44, P.row) : P.row, Le = h === void 0 && !g, Re = !g && !Le, ze = u(() => new Set(h == null ? [] : typeof h == "string" ? [h] : h), [h]), I = u(() => be(s, N, O), [
|
|
104
104
|
s,
|
|
105
|
-
|
|
105
|
+
N,
|
|
106
106
|
O
|
|
107
|
-
]), { rows:
|
|
107
|
+
]), { rows: L, options: R, spans: Be } = u(() => {
|
|
108
108
|
let e = [], t = [], n = [];
|
|
109
|
-
return
|
|
109
|
+
return I.forEach(({ group: r, items: i }, a) => {
|
|
110
110
|
let o = e.length;
|
|
111
111
|
r.label && e.push({
|
|
112
112
|
kind: "header",
|
|
@@ -133,126 +133,127 @@ var w = /* @__PURE__ */ c(function({ groups: s, "aria-label": c, value: h, multi
|
|
|
133
133
|
options: t,
|
|
134
134
|
spans: n
|
|
135
135
|
};
|
|
136
|
-
}, [
|
|
137
|
-
|
|
136
|
+
}, [I]), Ve = I.some((e) => e.group.label), z = j === "inline" && !w && !Se, He = u(() => z ? be(s, "", O).reduce((e, { group: t, items: n }) => e + (t.label ? b : 0) + n.length * F, 0) : 0, [
|
|
137
|
+
z,
|
|
138
138
|
s,
|
|
139
139
|
O,
|
|
140
|
-
|
|
141
|
-
]),
|
|
142
|
-
let e = [
|
|
143
|
-
for (let t of
|
|
140
|
+
F
|
|
141
|
+
]), Ue = z ? { height: he[E] + 12 + Math.max(He, ge) } : void 0, B = u(() => {
|
|
142
|
+
let e = [x];
|
|
143
|
+
for (let t of L) e.push((e[e.length - 1] ?? x) + (t.kind === "header" ? b : F));
|
|
144
144
|
return e;
|
|
145
|
-
}, [
|
|
146
|
-
for (let n = e; n >= 0 && n <
|
|
145
|
+
}, [L, F]), V = l((e, t) => {
|
|
146
|
+
for (let n = e; n >= 0 && n < R.length; n += t) if (!R[n]?.item.disabled) return n;
|
|
147
147
|
return -1;
|
|
148
|
-
}, [
|
|
149
|
-
let e =
|
|
150
|
-
return e >= 0 ? e :
|
|
151
|
-
}, [
|
|
152
|
-
|
|
153
|
-
let
|
|
154
|
-
|
|
155
|
-
let
|
|
156
|
-
enabled:
|
|
157
|
-
count:
|
|
158
|
-
getScrollElement: () =>
|
|
159
|
-
estimateSize: (e) =>
|
|
148
|
+
}, [R]), We = () => {
|
|
149
|
+
let e = R.findIndex((e) => ze.has(e.item.value) && !e.item.disabled);
|
|
150
|
+
return e >= 0 ? e : V(0, 1);
|
|
151
|
+
}, [H, U] = f(We), W = u(() => `${N.trim()}\u0000${R.map((e) => e.item.value).join("\0")}`, [R, N]), [Ge, Ke] = f(W);
|
|
152
|
+
Ge !== W && (Ke(W), U(N.trim() ? V(0, 1) : We()));
|
|
153
|
+
let qe = d(H);
|
|
154
|
+
qe.current = H;
|
|
155
|
+
let G = d(null), K = L.length > _e, q = ce({
|
|
156
|
+
enabled: K,
|
|
157
|
+
count: L.length,
|
|
158
|
+
getScrollElement: () => G.current,
|
|
159
|
+
estimateSize: (e) => L[e]?.kind === "header" ? b : F,
|
|
160
160
|
overscan: 8,
|
|
161
161
|
useFlushSync: !1,
|
|
162
|
-
paddingStart:
|
|
163
|
-
paddingEnd:
|
|
164
|
-
scrollPaddingStart:
|
|
165
|
-
observeElementRect:
|
|
162
|
+
paddingStart: x,
|
|
163
|
+
paddingEnd: x,
|
|
164
|
+
scrollPaddingStart: Ve ? b : 0,
|
|
165
|
+
observeElementRect: xe,
|
|
166
166
|
initialRect: {
|
|
167
167
|
width: 0,
|
|
168
|
-
height:
|
|
168
|
+
height: S
|
|
169
169
|
},
|
|
170
170
|
rangeExtractor: (e) => {
|
|
171
|
-
let t =
|
|
171
|
+
let t = R[qe.current]?.row, n = se(e);
|
|
172
172
|
return t === void 0 || n.includes(t) ? n : [...n, t].sort((e, t) => e - t);
|
|
173
173
|
}
|
|
174
|
-
}),
|
|
174
|
+
}), J = d(!1);
|
|
175
175
|
re(() => {
|
|
176
|
-
|
|
176
|
+
K && q.measure();
|
|
177
177
|
}, [
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
178
|
+
F,
|
|
179
|
+
q,
|
|
180
|
+
K
|
|
181
181
|
]);
|
|
182
|
-
let
|
|
183
|
-
if (
|
|
184
|
-
let n =
|
|
185
|
-
(n ? document.getElementById(Z(
|
|
182
|
+
let Je = (e, t) => {
|
|
183
|
+
if (K) return q.scrollToIndex(e, { align: t });
|
|
184
|
+
let n = R.find((t) => t.row === e);
|
|
185
|
+
(n ? document.getElementById(Z(R.indexOf(n))) : null)?.scrollIntoView?.({ block: t === "auto" ? "nearest" : "center" });
|
|
186
186
|
};
|
|
187
187
|
te(() => {
|
|
188
|
-
let e =
|
|
189
|
-
e !== void 0 &&
|
|
188
|
+
let e = R[H]?.row;
|
|
189
|
+
e !== void 0 && J.current && (J.current = !1, Je(e, "auto"));
|
|
190
190
|
});
|
|
191
|
-
let
|
|
191
|
+
let Y = d(!1);
|
|
192
192
|
re(() => {
|
|
193
|
-
if (
|
|
194
|
-
|
|
195
|
-
let e =
|
|
196
|
-
e !== void 0 && e > 0 &&
|
|
193
|
+
if (Y.current) return;
|
|
194
|
+
Y.current = !0;
|
|
195
|
+
let e = R[H]?.row;
|
|
196
|
+
e !== void 0 && e > 0 && Je(e, "center");
|
|
197
197
|
});
|
|
198
|
-
let
|
|
199
|
-
|
|
198
|
+
let Ye = (e) => {
|
|
199
|
+
_ === void 0 && Fe(e), de?.(e);
|
|
200
200
|
}, X = (e) => {
|
|
201
|
-
e < 0 || (
|
|
202
|
-
},
|
|
203
|
-
let t =
|
|
204
|
-
t && !t.item.disabled && (
|
|
205
|
-
},
|
|
206
|
-
if (
|
|
207
|
-
let t =
|
|
201
|
+
e < 0 || (J.current = !0, U(e));
|
|
202
|
+
}, Xe = Math.max(1, Math.floor((G.current?.clientHeight || S) / F) - 1), Ze = (e) => {
|
|
203
|
+
let t = R[e];
|
|
204
|
+
t && !t.item.disabled && (U(e), le?.(t.item.value));
|
|
205
|
+
}, Qe = (e) => {
|
|
206
|
+
if (we?.(e), e.defaultPrevented || e.altKey || e.metaKey || e.ctrlKey) return;
|
|
207
|
+
let t = R.length - 1;
|
|
208
208
|
switch (e.key) {
|
|
209
209
|
case "ArrowDown":
|
|
210
|
-
e.preventDefault(), X(
|
|
210
|
+
e.preventDefault(), X(H < 0 ? V(0, 1) : V(H + 1, 1) >= 0 ? V(H + 1, 1) : V(0, 1));
|
|
211
211
|
break;
|
|
212
212
|
case "ArrowUp":
|
|
213
|
-
e.preventDefault(), X(
|
|
213
|
+
e.preventDefault(), X(H < 0 ? V(t, -1) : V(H - 1, -1) >= 0 ? V(H - 1, -1) : V(t, -1));
|
|
214
214
|
break;
|
|
215
215
|
case "Home":
|
|
216
216
|
if (e.shiftKey) return;
|
|
217
|
-
e.preventDefault(), X(
|
|
217
|
+
e.preventDefault(), X(V(0, 1));
|
|
218
218
|
break;
|
|
219
219
|
case "End":
|
|
220
220
|
if (e.shiftKey) return;
|
|
221
|
-
e.preventDefault(), X(
|
|
221
|
+
e.preventDefault(), X(V(t, -1));
|
|
222
222
|
break;
|
|
223
223
|
case "PageDown":
|
|
224
|
-
e.preventDefault(), X(
|
|
224
|
+
e.preventDefault(), X(V(Math.min(t, Math.max(H, 0) + Xe), -1));
|
|
225
225
|
break;
|
|
226
226
|
case "PageUp":
|
|
227
|
-
e.preventDefault(), X(
|
|
227
|
+
e.preventDefault(), X(V(Math.max(0, H - Xe), 1));
|
|
228
228
|
break;
|
|
229
229
|
case "Enter":
|
|
230
|
-
if (
|
|
231
|
-
e.preventDefault(), e.stopPropagation(),
|
|
230
|
+
if (H < 0) return;
|
|
231
|
+
e.preventDefault(), e.stopPropagation(), Ze(H);
|
|
232
232
|
break;
|
|
233
|
-
case "Escape":
|
|
233
|
+
case "Escape": N && De ? (e.preventDefault(), e.stopPropagation(), Ye("")) : D && (e.preventDefault(), e.stopPropagation(), D());
|
|
234
234
|
}
|
|
235
|
-
}, Z = (e) => `${
|
|
236
|
-
let i =
|
|
235
|
+
}, Z = (e) => `${M}-${e}-${(R[e]?.item.value ?? "").replace(/\s/g, "_")}`, $e = (e) => `${M}-g-${e}`, et = (t, r) => {
|
|
236
|
+
let i = Oe ? N.trim() ? I[r]?.items.length ?? 0 : t.count : void 0;
|
|
237
237
|
return /* @__PURE__ */ m("div", {
|
|
238
238
|
"aria-hidden": !0,
|
|
239
|
-
className: n(e, "sticky top-0 z-10 gap-
|
|
239
|
+
className: n(e, "sticky top-0 z-10 gap-10 bg-raised px-16"),
|
|
240
240
|
children: [
|
|
241
241
|
t.leading,
|
|
242
242
|
/* @__PURE__ */ p("span", {
|
|
243
|
-
id:
|
|
243
|
+
id: $e(r),
|
|
244
244
|
className: "min-w-0 truncate",
|
|
245
245
|
children: t.label
|
|
246
246
|
}),
|
|
247
247
|
i !== void 0 && /* @__PURE__ */ p("span", {
|
|
248
248
|
className: "ml-auto shrink-0 font-regular text-fg-tertiary tabular",
|
|
249
249
|
children: i
|
|
250
|
-
})
|
|
250
|
+
}),
|
|
251
|
+
i !== void 0 && Re && /* @__PURE__ */ p("span", { className: "size-16 shrink-0" })
|
|
251
252
|
]
|
|
252
253
|
});
|
|
253
|
-
},
|
|
254
|
-
let { item: r, option: s } = e, c = s ===
|
|
255
|
-
query:
|
|
254
|
+
}, tt = (e) => {
|
|
255
|
+
let { item: r, option: s } = e, c = s === H, l = Le ? c : ze.has(r.value), ee = {
|
|
256
|
+
query: N,
|
|
256
257
|
active: c,
|
|
257
258
|
selected: l
|
|
258
259
|
};
|
|
@@ -260,7 +261,7 @@ var w = /* @__PURE__ */ c(function({ groups: s, "aria-label": c, value: h, multi
|
|
|
260
261
|
id: Z(s),
|
|
261
262
|
role: "option",
|
|
262
263
|
"aria-selected": l,
|
|
263
|
-
"aria-setsize":
|
|
264
|
+
"aria-setsize": R.length,
|
|
264
265
|
"aria-posinset": s + 1,
|
|
265
266
|
...r.disabled ? {
|
|
266
267
|
"aria-disabled": !0,
|
|
@@ -268,10 +269,10 @@ var w = /* @__PURE__ */ c(function({ groups: s, "aria-label": c, value: h, multi
|
|
|
268
269
|
} : {},
|
|
269
270
|
...c ? { "data-highlighted": "" } : {},
|
|
270
271
|
...l ? { "data-selected": "" } : {},
|
|
271
|
-
onMouseMove: () => !c && !r.disabled &&
|
|
272
|
+
onMouseMove: () => !c && !r.disabled && U(s),
|
|
272
273
|
onMouseDown: (e) => e.preventDefault(),
|
|
273
|
-
onClick: () =>
|
|
274
|
-
className: n(t, "group/opt mx-6 w-auto",
|
|
274
|
+
onClick: () => Ze(s),
|
|
275
|
+
className: n(t, "group/opt mx-6 w-auto", P.item),
|
|
275
276
|
children: [
|
|
276
277
|
g && /* @__PURE__ */ p(a, {}),
|
|
277
278
|
r.leading,
|
|
@@ -282,14 +283,14 @@ var w = /* @__PURE__ */ c(function({ groups: s, "aria-label": c, value: h, multi
|
|
|
282
283
|
className: "min-w-0 flex-1 truncate",
|
|
283
284
|
children: /* @__PURE__ */ p(o, {
|
|
284
285
|
text: r.label,
|
|
285
|
-
query:
|
|
286
|
+
query: N
|
|
286
287
|
})
|
|
287
288
|
}),
|
|
288
289
|
r.meta !== void 0 && /* @__PURE__ */ p("span", {
|
|
289
290
|
className: n("ml-auto flex shrink-0 items-center gap-4 pl-16 text-caption font-medium text-fg-tertiary tabular group-data-highlighted/item:text-fg-secondary", "pl-8 font-regular"),
|
|
290
291
|
children: r.meta
|
|
291
292
|
}),
|
|
292
|
-
|
|
293
|
+
Re && /* @__PURE__ */ p("span", {
|
|
293
294
|
"aria-hidden": !0,
|
|
294
295
|
className: n("flex size-16 shrink-0 items-center justify-center text-fg", !l && "opacity-0"),
|
|
295
296
|
children: /* @__PURE__ */ p(i, {
|
|
@@ -299,20 +300,20 @@ var w = /* @__PURE__ */ c(function({ groups: s, "aria-label": c, value: h, multi
|
|
|
299
300
|
})
|
|
300
301
|
]
|
|
301
302
|
});
|
|
302
|
-
},
|
|
303
|
-
for (let e of
|
|
304
|
-
let t =
|
|
303
|
+
}, nt = K ? q.getVirtualItems().map((e) => e.index) : L.map((e, t) => t), Q = /* @__PURE__ */ new Map();
|
|
304
|
+
for (let e of nt) {
|
|
305
|
+
let t = L[e];
|
|
305
306
|
if (!t) continue;
|
|
306
307
|
let n = Q.get(t.gi) ?? [];
|
|
307
308
|
t.kind === "item" && n.push(e), Q.set(t.gi, n);
|
|
308
309
|
}
|
|
309
|
-
let $ =
|
|
310
|
+
let $ = L.length === 0;
|
|
310
311
|
return /* @__PURE__ */ m("div", {
|
|
311
|
-
...
|
|
312
|
-
className: n("relative flex min-w-0 flex-col overflow-hidden",
|
|
313
|
-
...
|
|
312
|
+
...k ? { "data-force": k } : {},
|
|
313
|
+
className: n("relative flex min-w-0 flex-col overflow-hidden", ue.height[j].classes, Ae),
|
|
314
|
+
...Ue ? { style: Ue } : {},
|
|
314
315
|
children: [
|
|
315
|
-
|
|
316
|
+
T && /* @__PURE__ */ p("span", {
|
|
316
317
|
"aria-hidden": !0,
|
|
317
318
|
className: "absolute inset-x-0 top-0 h-2 overflow-hidden",
|
|
318
319
|
children: /* @__PURE__ */ p("span", { className: "block h-full w-1/3 animate-indeterminate bg-fg-tertiary" })
|
|
@@ -321,97 +322,97 @@ var w = /* @__PURE__ */ c(function({ groups: s, "aria-label": c, value: h, multi
|
|
|
321
322
|
onMouseDown: (e) => {
|
|
322
323
|
e.target === e.currentTarget && (e.preventDefault(), e.currentTarget.querySelector("input")?.focus());
|
|
323
324
|
},
|
|
324
|
-
className: n("flex shrink-0 cursor-text items-center hairline-b",
|
|
325
|
+
className: n("flex shrink-0 cursor-text items-center hairline-b", P.search),
|
|
325
326
|
children: [
|
|
326
327
|
/* @__PURE__ */ p(i, {
|
|
327
328
|
icon: ae,
|
|
328
|
-
size:
|
|
329
|
+
size: E === "lg" ? "md" : "sm",
|
|
329
330
|
className: "text-fg-tertiary"
|
|
330
331
|
}),
|
|
331
|
-
|
|
332
|
+
Ce,
|
|
332
333
|
/* @__PURE__ */ p("input", {
|
|
333
334
|
ref: je,
|
|
334
|
-
...
|
|
335
|
+
...ke,
|
|
335
336
|
role: "combobox",
|
|
336
337
|
"aria-expanded": "true",
|
|
337
338
|
"aria-controls": Ne,
|
|
338
339
|
"aria-autocomplete": "list",
|
|
339
|
-
"aria-label":
|
|
340
|
-
...
|
|
341
|
-
...
|
|
340
|
+
"aria-label": y ?? A("commandList.search", "Search"),
|
|
341
|
+
...H >= 0 && R.length > 0 ? { "aria-activedescendant": Z(H) } : {},
|
|
342
|
+
...Ee ? {
|
|
342
343
|
autoFocus: !0,
|
|
343
344
|
"data-autofocus": ""
|
|
344
345
|
} : {},
|
|
345
346
|
type: "text",
|
|
346
347
|
autoComplete: "off",
|
|
347
348
|
spellCheck: !1,
|
|
348
|
-
placeholder:
|
|
349
|
-
value:
|
|
350
|
-
onChange: (e) =>
|
|
351
|
-
onKeyDown:
|
|
352
|
-
className: n("min-w-0 flex-1 bg-transparent text-fg outline-none placeholder:text-fg-tertiary",
|
|
349
|
+
placeholder: y ?? A("commandList.search", "Search"),
|
|
350
|
+
value: N,
|
|
351
|
+
onChange: (e) => Ye(e.target.value),
|
|
352
|
+
onKeyDown: Qe,
|
|
353
|
+
className: n("min-w-0 flex-1 bg-transparent text-fg outline-none placeholder:text-fg-tertiary", P.input)
|
|
353
354
|
})
|
|
354
355
|
]
|
|
355
356
|
}),
|
|
356
|
-
|
|
357
|
+
w && /* @__PURE__ */ p("div", {
|
|
357
358
|
className: "flex shrink-0 flex-wrap items-center gap-8 px-12 py-8 hairline-b",
|
|
358
|
-
children:
|
|
359
|
+
children: w
|
|
359
360
|
}),
|
|
360
361
|
/* @__PURE__ */ p("div", {
|
|
361
|
-
ref:
|
|
362
|
+
ref: G,
|
|
362
363
|
id: Ne,
|
|
363
364
|
...$ ? { role: "status" } : {
|
|
364
365
|
role: "listbox",
|
|
365
366
|
"aria-label": c,
|
|
366
367
|
...g ? { "aria-multiselectable": !0 } : {},
|
|
367
|
-
...
|
|
368
|
+
...T ? { "aria-busy": !0 } : {}
|
|
368
369
|
},
|
|
369
370
|
"data-dialog-body": "",
|
|
370
|
-
...
|
|
371
|
-
className: n("min-h-0 overflow-y-auto overscroll-contain scrollbar-quiet",
|
|
371
|
+
...Ve ? { style: { scrollPaddingTop: b } } : {},
|
|
372
|
+
className: n("min-h-0 overflow-y-auto overscroll-contain scrollbar-quiet", j === "popover" ? "flex-initial" : "flex-1"),
|
|
372
373
|
children: $ ? /* @__PURE__ */ p("div", {
|
|
373
374
|
className: "flex h-80 items-center justify-center px-16 text-center text-body text-fg-secondary",
|
|
374
|
-
children:
|
|
375
|
+
children: T ? A("commandList.loading", "Loading…") : C ?? A("commandList.noResults", "No results")
|
|
375
376
|
}) : /* @__PURE__ */ p("div", {
|
|
376
377
|
role: "presentation",
|
|
377
378
|
className: "relative w-full",
|
|
378
|
-
style: { height: (
|
|
379
|
+
style: { height: (B[L.length] ?? 0) + x },
|
|
379
380
|
children: [...Q].map(([e, t]) => {
|
|
380
|
-
let n =
|
|
381
|
+
let n = Be[e], r = I[e]?.group;
|
|
381
382
|
if (!n || !r) return null;
|
|
382
|
-
let i =
|
|
383
|
+
let i = B[n.first] ?? 0, a = B[n.last + 1] ?? i;
|
|
383
384
|
return /* @__PURE__ */ m("div", {
|
|
384
385
|
...r.label ? {
|
|
385
386
|
role: "group",
|
|
386
|
-
"aria-labelledby":
|
|
387
|
+
"aria-labelledby": $e(e)
|
|
387
388
|
} : { role: "presentation" },
|
|
388
389
|
className: "absolute left-0 w-full",
|
|
389
390
|
style: {
|
|
390
391
|
top: i,
|
|
391
392
|
height: a - i
|
|
392
393
|
},
|
|
393
|
-
children: [r.label &&
|
|
394
|
-
let t =
|
|
394
|
+
children: [r.label && et(r, e), t.map((e) => {
|
|
395
|
+
let t = L[e];
|
|
395
396
|
return t?.kind === "item" ? /* @__PURE__ */ p("div", {
|
|
396
397
|
role: "presentation",
|
|
397
398
|
className: "absolute left-0 w-full",
|
|
398
399
|
style: {
|
|
399
|
-
top: (
|
|
400
|
-
height: (
|
|
400
|
+
top: (B[e] ?? 0) - i,
|
|
401
|
+
height: (B[e + 1] ?? 0) - (B[e] ?? 0)
|
|
401
402
|
},
|
|
402
|
-
children:
|
|
403
|
+
children: tt(t)
|
|
403
404
|
}, e) : null;
|
|
404
405
|
})]
|
|
405
406
|
}, r.id);
|
|
406
407
|
})
|
|
407
408
|
})
|
|
408
409
|
}),
|
|
409
|
-
|
|
410
|
+
Se
|
|
410
411
|
]
|
|
411
412
|
});
|
|
412
413
|
});
|
|
413
|
-
process.env.NODE_ENV !== "production" && (
|
|
414
|
+
process.env.NODE_ENV !== "production" && (C.displayName = "CommandList");
|
|
414
415
|
//#endregion
|
|
415
|
-
export {
|
|
416
|
+
export { v as a, ue as i, ve as n, de as r, C as t };
|
|
416
417
|
|
|
417
|
-
//# sourceMappingURL=command-list-
|
|
418
|
+
//# sourceMappingURL=command-list-0RR4DpUe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-list-0RR4DpUe.js","names":["__icon_Tick02Icon","__icon_Search01Icon","MENU_LABEL","MENU_ITEM","cn","useUiText","Icon","OptionCheckbox","Highlight","SEPARATORS","SEPARATOR","wordScore","field","word","at","compactWord","next","last","gaps","i","commandMatch","words","query","lower","fields","f","total","best","KAESO_COMMAND_LIST_VARIANTS","KAESO_COMMAND_LIST_DEFAULT_VARIANTS","SIZES","COARSE","subscribeCoarse","q","onChange","isCoarse","HEADER","EDGE","SEARCH","EMPTY","FALLBACK_VIEWPORT","VIRTUALIZE_ABOVE","CommandListHeightContext","fuzzy","item","visibleGroups","kept","g","groups","items","match","m","b","a","observeWithFallback","observeElementRect","instance","cb","rect","CommandList","ariaLabel","controlledQuery","heightProp","force","t","fromFrame","useContext","height","uid","useId","listId","ownQuery","setOwnQuery","useState","defaultQuery","coarse","useSyncExternalStore","look","size","rowHeight","commands","value","multiple","checks","selected","useMemo","shown","rows","options","spans","first","group","labelled","fits","toolbar","footer","unfiltered","sum","fitted","offsets","out","row","firstEnabled","useCallback","from","step","initialActive","chosen","o","active","setActive","signature","shownFor","setShownFor","activeRef","useRef","scroller","virtual","virtualizer","useVirtualizer","activeRow","keep","defaultRangeExtractor","range","keyboardMove","reveal","option","optionId","align","opened","setQuery","onQueryChange","move","to","page","choose","onSelect","onKeyDown","onInputKeyDown","escapeClears","onEscape","groupLabelId","gi","header","count","counts","isActive","isSelected","state","Tick02Icon","indexes","v","rendered","index","list","empty","className","loading","Search01Icon","searchPrefix","inputProps","placeholder","autoFocus","emptyText","span","top","bottom"],"sources":["../../src/components/command-list/match.ts","../../src/components/command-list/command-list.tsx"],"sourcesContent":["const SEPARATORS = /[\\s\\-_./:@]/g;\nconst SEPARATOR = /[\\s\\-_./:@]/;\n\nfunction wordScore(word: string, field: string): number {\n if (field === word) return 100;\n if (field.startsWith(word)) return 80;\n const at = field.indexOf(word);\n if (at > 0) return SEPARATOR.test(field[at - 1] ?? \"\") ? 70 : 50;\n const compactWord = word.replace(SEPARATORS, \"\");\n if (compactWord && field.replace(SEPARATORS, \"\").includes(compactWord)) return 40;\n if (word.length < 3) return 0;\n let next = 0;\n let last = -1;\n let gaps = 0;\n for (let i = 0; i < field.length && next < word.length; i++) {\n if (field[i] !== word[next]) continue;\n if (last >= 0 && i !== last + 1) gaps += 1;\n last = i;\n next += 1;\n }\n return next < word.length ? 0 : Math.max(1, 30 - gaps * 3);\n}\n\nexport function commandMatch(query: string, fields: readonly string[]): number {\n const words = query.trim().toLowerCase().split(/\\s+/).filter(Boolean);\n if (words.length === 0) return 1;\n const lower = fields.map((f) => f.toLowerCase());\n let total = 0;\n for (const word of words) {\n let best = 0;\n lower.forEach((field, i) => {\n best = Math.max(best, wordScore(word, field) * (i === 0 ? 1 : 0.9));\n });\n if (best === 0) return 0;\n total += best;\n }\n return total / words.length;\n}\n","import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useId,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n useSyncExternalStore,\n type KeyboardEvent,\n type ReactNode,\n} from \"react\";\nimport { defaultRangeExtractor, observeElementRect, useVirtualizer, type Range, type Virtualizer } from \"@tanstack/react-virtual\";\nimport { cn } from \"../../utils/cn.js\";\nimport { Tick02Icon as __icon_Tick02Icon, Search01Icon as __icon_Search01Icon } from \"@hugeicons/core-free-icons\";\nimport { Icon } from \"../icon/icon.js\";\nimport { Highlight } from \"../combobox/combobox.js\";\nimport { MENU_HINT, MENU_ITEM, MENU_LABEL } from \"../menu/styles.js\";\nimport { OptionCheckbox } from \"../select/option-checkbox.js\";\nimport { useUiText } from \"../../i18n/context.js\";\nimport { commandMatch } from \"./match.js\";\n\nexport const KAESO_COMMAND_LIST_VARIANTS = {\n height: {\n popover: { classes: \"picker-limits\" },\n inline: {\n classes: \"max-h-360 rounded-group bg-raised shadow-xs\",\n },\n fill: { classes: \"min-h-0 flex-1\" },\n },\n size: {\n md: { classes: \"\" },\n lg: { classes: \"\" },\n },\n} as const;\nexport const KAESO_COMMAND_LIST_DEFAULT_VARIANTS = { height: \"popover\", size: \"md\" } as const;\n\nconst SIZES = {\n md: { search: \"h-44 gap-10 px-16\", input: \"text-body\", row: 34, item: \"\" },\n lg: { search: \"h-56 gap-12 px-20\", input: \"text-body-lg font-regular\", row: 40, item: \"rounded-palette-item gap-12 px-12\" },\n} as const;\n\nexport type CommandListHeight = keyof typeof KAESO_COMMAND_LIST_VARIANTS.height;\n\nexport interface CommandListRowState {\n query: string;\n active: boolean;\n selected: boolean;\n}\n\nexport interface CommandListItem {\n value: string;\n label: string;\n keywords?: readonly string[] | undefined;\n leading?: ReactNode | undefined;\n meta?: ReactNode | undefined;\n render?: ((state: CommandListRowState) => ReactNode) | undefined;\n disabled?: boolean | undefined;\n}\n\nexport interface CommandListGroup {\n id: string;\n label?: string | undefined;\n leading?: ReactNode | undefined;\n count?: ReactNode | undefined;\n loading?: boolean | undefined;\n items: CommandListItem[];\n}\n\nexport interface CommandListProps {\n groups: CommandListGroup[];\n \"aria-label\": string;\n value?: string | readonly string[] | null | undefined;\n multiple?: boolean | undefined;\n onSelect?: ((value: string) => void) | undefined;\n query?: string | undefined;\n defaultQuery?: string | undefined;\n onQueryChange?: ((query: string) => void) | undefined;\n placeholder?: string | undefined;\n emptyText?: ReactNode | undefined;\n toolbar?: ReactNode | undefined;\n footer?: ReactNode | undefined;\n searchPrefix?: ReactNode | undefined;\n loading?: boolean | undefined;\n onInputKeyDown?: ((event: KeyboardEvent<HTMLInputElement>) => void) | undefined;\n size?: keyof typeof KAESO_COMMAND_LIST_VARIANTS.size | undefined;\n height?: CommandListHeight | undefined;\n autoFocus?: boolean | undefined;\n onEscape?: (() => void) | undefined;\n escapeClears?: boolean | undefined;\n match?: ((item: CommandListItem, query: string) => number) | undefined;\n counts?: boolean | undefined;\n inputProps?: { [attribute: `data-${string}`]: string } | undefined;\n className?: string | undefined;\n \"data-force\"?: string | undefined;\n}\n\nconst COARSE = \"(pointer: coarse)\";\nconst subscribeCoarse = (onChange: () => void) => {\n if (typeof window === \"undefined\" || !window.matchMedia) return () => {};\n const q = window.matchMedia(COARSE);\n q.addEventListener(\"change\", onChange);\n return () => q.removeEventListener(\"change\", onChange);\n};\nconst isCoarse = () => typeof window !== \"undefined\" && !!window.matchMedia?.(COARSE).matches;\n\nconst HEADER = 28;\nconst EDGE = 6;\nconst SEARCH = { md: 44, lg: 56 } as const;\nconst EMPTY = 80;\nconst FALLBACK_VIEWPORT = 480;\nconst VIRTUALIZE_ABOVE = 200;\n\nexport const CommandListHeightContext = /* @__PURE__ */ createContext<CommandListHeight | null>(null);\n\ntype Row = { kind: \"header\"; group: CommandListGroup; gi: number } | { kind: \"item\"; item: CommandListItem; gi: number; option: number; score: number };\n\nconst fuzzy = (item: CommandListItem, query: string) => commandMatch(query, [item.label, ...(item.keywords ?? [])]);\n\nfunction visibleGroups(groups: CommandListGroup[], query: string, match: (item: CommandListItem, query: string) => number) {\n const q = query.trim();\n const kept = (g: { group: CommandListGroup; items: unknown[] }) => g.items.length > 0 || !!g.group.loading;\n if (!q) return groups.map((g) => ({ group: g, items: g.items.map((item) => ({ item, score: 1 })) })).filter(kept);\n return groups\n .map((g, order) => {\n const items = g.items\n .map((item) => ({ item, score: match(item, q) }))\n .filter((m) => m.score > 0)\n .sort((a, b) => b.score - a.score);\n return { group: g, items, order, best: items[0]?.score ?? 0 };\n })\n .filter(kept)\n .sort((a, b) => b.best - a.best || a.order - b.order);\n}\n\nfunction observeWithFallback(instance: Virtualizer<HTMLDivElement, Element>, cb: (rect: { width: number; height: number }) => void) {\n return observeElementRect(instance, (rect) => cb(rect.height > 0 ? rect : { width: rect.width, height: FALLBACK_VIEWPORT }));\n}\n\nexport const CommandList = /* @__PURE__ */ forwardRef<HTMLInputElement, CommandListProps>(function CommandList(\n {\n groups,\n \"aria-label\": ariaLabel,\n value,\n multiple,\n onSelect,\n query: controlledQuery,\n defaultQuery = \"\",\n onQueryChange,\n placeholder,\n emptyText,\n toolbar,\n footer,\n searchPrefix,\n loading,\n onInputKeyDown,\n size = \"md\",\n height: heightProp,\n autoFocus,\n onEscape,\n escapeClears = true,\n match = fuzzy,\n counts = true,\n inputProps,\n className,\n \"data-force\": force,\n },\n ref,\n) {\n const t = useUiText();\n const fromFrame = useContext(CommandListHeightContext);\n const height = heightProp ?? fromFrame ?? \"popover\";\n const uid = useId();\n const listId = `${uid}-list`;\n const [ownQuery, setOwnQuery] = useState(defaultQuery);\n const query = controlledQuery ?? ownQuery;\n const coarse = useSyncExternalStore(subscribeCoarse, isCoarse, () => false);\n const look = SIZES[size];\n const rowHeight = coarse ? Math.max(44, look.row) : look.row;\n const commands = value === undefined && !multiple;\n const checks = !multiple && !commands;\n const selected = useMemo(() => new Set(value == null ? [] : typeof value === \"string\" ? [value] : value), [value]);\n\n const shown = useMemo(() => visibleGroups(groups, query, match), [groups, query, match]);\n const { rows, options, spans } = useMemo(() => {\n const rows: Row[] = [];\n const options: { row: number; item: CommandListItem; gi: number }[] = [];\n const spans: { first: number; last: number }[] = [];\n shown.forEach(({ group, items }, gi) => {\n const first = rows.length;\n if (group.label) rows.push({ kind: \"header\", group, gi });\n for (const { item, score } of items) {\n options.push({ row: rows.length, item, gi });\n rows.push({ kind: \"item\", item, gi, option: options.length - 1, score });\n }\n spans.push({ first, last: rows.length - 1 });\n });\n return { rows, options, spans };\n }, [shown]);\n const labelled = shown.some((g) => g.group.label);\n const fits = height === \"inline\" && !toolbar && !footer;\n const unfiltered = useMemo(\n () => (fits ? visibleGroups(groups, \"\", match).reduce((sum, { group, items }) => sum + (group.label ? HEADER : 0) + items.length * rowHeight, 0) : 0),\n [fits, groups, match, rowHeight],\n );\n const fitted = fits ? { height: SEARCH[size] + 2 * EDGE + Math.max(unfiltered, EMPTY) } : undefined;\n const offsets = useMemo(() => {\n const out = [EDGE];\n for (const row of rows) out.push((out[out.length - 1] ?? EDGE) + (row.kind === \"header\" ? HEADER : rowHeight));\n return out;\n }, [rows, rowHeight]);\n\n const firstEnabled = useCallback(\n (from: number, step: 1 | -1) => {\n for (let i = from; i >= 0 && i < options.length; i += step) if (!options[i]?.item.disabled) return i;\n return -1;\n },\n [options],\n );\n const initialActive = () => {\n const chosen = options.findIndex((o) => selected.has(o.item.value) && !o.item.disabled);\n return chosen >= 0 ? chosen : firstEnabled(0, 1);\n };\n const [active, setActive] = useState(initialActive);\n const signature = useMemo(() => `${query.trim()}\\u0000${options.map((o) => o.item.value).join(\"\\u0000\")}`, [options, query]);\n const [shownFor, setShownFor] = useState(signature);\n if (shownFor !== signature) {\n setShownFor(signature);\n setActive(query.trim() ? firstEnabled(0, 1) : initialActive());\n }\n const activeRef = useRef(active);\n activeRef.current = active;\n\n const scroller = useRef<HTMLDivElement | null>(null);\n const virtual = rows.length > VIRTUALIZE_ABOVE;\n const virtualizer = useVirtualizer<HTMLDivElement, Element>({\n enabled: virtual,\n count: rows.length,\n getScrollElement: () => scroller.current,\n estimateSize: (i) => (rows[i]?.kind === \"header\" ? HEADER : rowHeight),\n overscan: 8,\n useFlushSync: false,\n paddingStart: EDGE,\n paddingEnd: EDGE,\n scrollPaddingStart: labelled ? HEADER : 0,\n observeElementRect: observeWithFallback,\n initialRect: { width: 0, height: FALLBACK_VIEWPORT },\n rangeExtractor: (range: Range) => {\n const activeRow = options[activeRef.current]?.row;\n const keep = defaultRangeExtractor(range);\n return activeRow === undefined || keep.includes(activeRow) ? keep : [...keep, activeRow].sort((a, b) => a - b);\n },\n });\n const keyboardMove = useRef(false);\n useLayoutEffect(() => {\n if (virtual) virtualizer.measure();\n }, [rowHeight, virtualizer, virtual]);\n const reveal = (row: number, align: \"auto\" | \"center\") => {\n if (virtual) return virtualizer.scrollToIndex(row, { align });\n const option = options.find((o) => o.row === row);\n const el = option ? document.getElementById(optionId(options.indexOf(option))) : null;\n el?.scrollIntoView?.({ block: align === \"auto\" ? \"nearest\" : \"center\" });\n };\n useEffect(() => {\n const row = options[active]?.row;\n if (row === undefined) return;\n if (keyboardMove.current) {\n keyboardMove.current = false;\n reveal(row, \"auto\");\n }\n });\n const opened = useRef(false);\n useLayoutEffect(() => {\n if (opened.current) return;\n opened.current = true;\n const row = options[active]?.row;\n if (row !== undefined && row > 0) reveal(row, \"center\");\n });\n\n const setQuery = (next: string) => {\n if (controlledQuery === undefined) setOwnQuery(next);\n onQueryChange?.(next);\n };\n const move = (to: number) => {\n if (to < 0) return;\n keyboardMove.current = true;\n setActive(to);\n };\n const page = Math.max(1, Math.floor((scroller.current?.clientHeight || FALLBACK_VIEWPORT) / rowHeight) - 1);\n const choose = (i: number) => {\n const o = options[i];\n if (!o || o.item.disabled) return;\n setActive(i);\n onSelect?.(o.item.value);\n };\n const onKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n onInputKeyDown?.(e);\n if (e.defaultPrevented || e.altKey || e.metaKey || e.ctrlKey) return;\n const last = options.length - 1;\n switch (e.key) {\n case \"ArrowDown\":\n e.preventDefault();\n move(active < 0 ? firstEnabled(0, 1) : firstEnabled(active + 1, 1) >= 0 ? firstEnabled(active + 1, 1) : firstEnabled(0, 1));\n break;\n case \"ArrowUp\":\n e.preventDefault();\n move(active < 0 ? firstEnabled(last, -1) : firstEnabled(active - 1, -1) >= 0 ? firstEnabled(active - 1, -1) : firstEnabled(last, -1));\n break;\n case \"Home\":\n if (e.shiftKey) return;\n e.preventDefault();\n move(firstEnabled(0, 1));\n break;\n case \"End\":\n if (e.shiftKey) return;\n e.preventDefault();\n move(firstEnabled(last, -1));\n break;\n case \"PageDown\":\n e.preventDefault();\n move(firstEnabled(Math.min(last, Math.max(active, 0) + page), -1));\n break;\n case \"PageUp\":\n e.preventDefault();\n move(firstEnabled(Math.max(0, active - page), 1));\n break;\n case \"Enter\":\n if (active < 0) return;\n e.preventDefault();\n e.stopPropagation();\n choose(active);\n break;\n case \"Escape\":\n if (query && escapeClears) {\n e.preventDefault();\n e.stopPropagation();\n setQuery(\"\");\n } else if (onEscape) {\n e.preventDefault();\n e.stopPropagation();\n onEscape();\n }\n break;\n }\n };\n\n const optionId = (i: number) => `${uid}-${i}-${(options[i]?.item.value ?? \"\").replace(/\\s/g, \"_\")}`;\n const groupLabelId = (gi: number) => `${uid}-g-${gi}`;\n const header = (group: CommandListGroup, gi: number) => {\n const count = !counts ? undefined : query.trim() ? (shown[gi]?.items.length ?? 0) : group.count;\n return (\n <div aria-hidden className={cn(MENU_LABEL, \"sticky top-0 z-10 gap-10 bg-raised px-16\")}>\n {group.leading}\n <span id={groupLabelId(gi)} className=\"min-w-0 truncate\">\n {group.label}\n </span>\n {count !== undefined && <span className=\"ml-auto shrink-0 font-regular text-fg-tertiary tabular\">{count}</span>}\n {count !== undefined && checks && <span className=\"size-16 shrink-0\" />}\n </div>\n );\n };\n const option = (row: Extract<Row, { kind: \"item\" }>) => {\n const { item, option: i } = row;\n const isActive = i === active;\n const isSelected = commands ? isActive : selected.has(item.value);\n const state = { query, active: isActive, selected: isSelected };\n return (\n <div\n id={optionId(i)}\n role=\"option\"\n aria-selected={isSelected}\n aria-setsize={options.length}\n aria-posinset={i + 1}\n {...(item.disabled ? { \"aria-disabled\": true, \"data-disabled\": \"\" } : {})}\n {...(isActive ? { \"data-highlighted\": \"\" } : {})}\n {...(isSelected ? { \"data-selected\": \"\" } : {})}\n onMouseMove={() => !isActive && !item.disabled && setActive(i)}\n onMouseDown={(e) => e.preventDefault()}\n onClick={() => choose(i)}\n className={cn(MENU_ITEM, \"group/opt mx-6 w-auto\", look.item)}\n >\n {multiple && <OptionCheckbox />}\n {item.leading}\n {item.render ? (\n <span className=\"flex min-w-0 flex-1 items-center gap-8\">{item.render(state)}</span>\n ) : (\n <span className=\"min-w-0 flex-1 truncate\">\n <Highlight text={item.label} query={query} />\n </span>\n )}\n {item.meta !== undefined && <span className={cn(MENU_HINT, \"pl-8 font-regular\")}>{item.meta}</span>}\n {checks && (\n <span aria-hidden className={cn(\"flex size-16 shrink-0 items-center justify-center text-fg\", !isSelected && \"opacity-0\")}>\n <Icon icon={__icon_Tick02Icon} size=\"sm\" />\n </span>\n )}\n </div>\n );\n };\n\n const indexes = virtual ? virtualizer.getVirtualItems().map((v) => v.index) : rows.map((_, i) => i);\n const rendered = new Map<number, number[]>();\n for (const index of indexes) {\n const row = rows[index];\n if (!row) continue;\n const list = rendered.get(row.gi) ?? [];\n if (row.kind === \"item\") list.push(index);\n rendered.set(row.gi, list);\n }\n const empty = rows.length === 0;\n return (\n <div\n {...(force ? { \"data-force\": force } : {})}\n className={cn(\"relative flex min-w-0 flex-col overflow-hidden\", KAESO_COMMAND_LIST_VARIANTS.height[height].classes, className)}\n {...(fitted ? { style: fitted } : {})}\n >\n {loading && (\n <span aria-hidden className=\"absolute inset-x-0 top-0 h-2 overflow-hidden\">\n <span className=\"block h-full w-1/3 animate-indeterminate bg-fg-tertiary\" />\n </span>\n )}\n <div\n onMouseDown={(e) => {\n if (e.target !== e.currentTarget) return;\n e.preventDefault();\n e.currentTarget.querySelector(\"input\")?.focus();\n }}\n className={cn(\"flex shrink-0 cursor-text items-center hairline-b\", look.search)}\n >\n <Icon icon={__icon_Search01Icon} size={size === \"lg\" ? \"md\" : \"sm\"} className=\"text-fg-tertiary\" />\n {searchPrefix}\n <input\n ref={ref}\n {...inputProps}\n role=\"combobox\"\n aria-expanded=\"true\"\n aria-controls={listId}\n aria-autocomplete=\"list\"\n aria-label={placeholder ?? t(\"commandList.search\", \"Search\")}\n {...(active >= 0 && options.length > 0 ? { \"aria-activedescendant\": optionId(active) } : {})}\n {...(autoFocus ? { autoFocus: true, \"data-autofocus\": \"\" } : {})}\n type=\"text\"\n autoComplete=\"off\"\n spellCheck={false}\n placeholder={placeholder ?? t(\"commandList.search\", \"Search\")}\n value={query}\n onChange={(e) => setQuery(e.target.value)}\n onKeyDown={onKeyDown}\n className={cn(\"min-w-0 flex-1 bg-transparent text-fg outline-none placeholder:text-fg-tertiary\", look.input)}\n />\n </div>\n {toolbar && <div className=\"flex shrink-0 flex-wrap items-center gap-8 px-12 py-8 hairline-b\">{toolbar}</div>}\n <div\n ref={scroller}\n id={listId}\n {...(empty\n ? { role: \"status\" }\n : { role: \"listbox\", \"aria-label\": ariaLabel, ...(multiple ? { \"aria-multiselectable\": true } : {}), ...(loading ? { \"aria-busy\": true } : {}) })}\n data-dialog-body=\"\"\n {...(labelled ? { style: { scrollPaddingTop: HEADER } } : {})}\n className={cn(\"min-h-0 overflow-y-auto overscroll-contain scrollbar-quiet\", height === \"popover\" ? \"flex-initial\" : \"flex-1\")}\n >\n {empty ? (\n <div className=\"flex h-80 items-center justify-center px-16 text-center text-body text-fg-secondary\">\n {loading ? t(\"commandList.loading\", \"Loading…\") : (emptyText ?? t(\"commandList.noResults\", \"No results\"))}\n </div>\n ) : (\n <div role=\"presentation\" className=\"relative w-full\" style={{ height: (offsets[rows.length] ?? 0) + EDGE }}>\n {[...rendered].map(([gi, indexes]) => {\n const span = spans[gi];\n const group = shown[gi]?.group;\n if (!span || !group) return null;\n const top = offsets[span.first] ?? 0;\n const bottom = offsets[span.last + 1] ?? top;\n return (\n <div\n key={group.id}\n {...(group.label ? { role: \"group\", \"aria-labelledby\": groupLabelId(gi) } : { role: \"presentation\" })}\n className=\"absolute left-0 w-full\"\n style={{ top, height: bottom - top }}\n >\n {group.label && header(group, gi)}\n {indexes.map((index) => {\n const row = rows[index];\n return row?.kind === \"item\" ? (\n <div\n key={index}\n role=\"presentation\"\n className=\"absolute left-0 w-full\"\n style={{ top: (offsets[index] ?? 0) - top, height: (offsets[index + 1] ?? 0) - (offsets[index] ?? 0) }}\n >\n {option(row)}\n </div>\n ) : null;\n })}\n </div>\n );\n })}\n </div>\n )}\n </div>\n {footer}\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") CommandList.displayName = \"CommandList\";\n"],"mappings":"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"}
|