termcast 1.3.21 → 1.3.25
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/dist/ai.d.ts +104 -0
- package/dist/ai.d.ts.map +1 -0
- package/dist/ai.js +135 -0
- package/dist/ai.js.map +1 -0
- package/dist/apis/browser-extension.d.ts +18 -0
- package/dist/apis/browser-extension.d.ts.map +1 -0
- package/dist/apis/browser-extension.js +14 -0
- package/dist/apis/browser-extension.js.map +1 -0
- package/dist/apis/localstorage.d.ts.map +1 -1
- package/dist/apis/localstorage.js +4 -7
- package/dist/apis/localstorage.js.map +1 -1
- package/dist/apis/oauth.d.ts.map +1 -1
- package/dist/apis/oauth.js +5 -1
- package/dist/apis/oauth.js.map +1 -1
- package/dist/apis/preferences.d.ts.map +1 -1
- package/dist/apis/preferences.js +38 -19
- package/dist/apis/preferences.js.map +1 -1
- package/dist/apis/toast.d.ts +5 -0
- package/dist/apis/toast.d.ts.map +1 -1
- package/dist/apis/toast.js +7 -43
- package/dist/apis/toast.js.map +1 -1
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +3 -1
- package/dist/build.js.map +1 -1
- package/dist/cache.d.ts +32 -0
- package/dist/cache.d.ts.map +1 -0
- package/dist/cache.js +205 -0
- package/dist/cache.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +87 -41
- package/dist/cli.js.map +1 -1
- package/dist/clipboard.d.ts +36 -0
- package/dist/clipboard.d.ts.map +1 -0
- package/dist/clipboard.js +154 -0
- package/dist/clipboard.js.map +1 -0
- package/dist/compile.d.ts +2 -1
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +31 -12
- package/dist/compile.js.map +1 -1
- package/dist/components/actions.d.ts.map +1 -1
- package/dist/components/actions.js +56 -30
- package/dist/components/actions.js.map +1 -1
- package/dist/components/detail.d.ts.map +1 -1
- package/dist/components/detail.js +4 -0
- package/dist/components/detail.js.map +1 -1
- package/dist/components/dropdown.d.ts.map +1 -1
- package/dist/components/dropdown.js +38 -15
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/extension-preferences.d.ts.map +1 -1
- package/dist/components/extension-preferences.js +40 -13
- package/dist/components/extension-preferences.js.map +1 -1
- package/dist/components/form/checkbox.d.ts.map +1 -1
- package/dist/components/form/checkbox.js +5 -3
- package/dist/components/form/checkbox.js.map +1 -1
- package/dist/components/form/date-picker.d.ts.map +1 -1
- package/dist/components/form/date-picker.js +5 -3
- package/dist/components/form/date-picker.js.map +1 -1
- package/dist/components/form/description.d.ts.map +1 -1
- package/dist/components/form/description.js +2 -2
- package/dist/components/form/description.js.map +1 -1
- package/dist/components/form/dropdown.d.ts.map +1 -1
- package/dist/components/form/dropdown.js +84 -80
- package/dist/components/form/dropdown.js.map +1 -1
- package/dist/components/form/file-autocomplete.d.ts +3 -6
- package/dist/components/form/file-autocomplete.d.ts.map +1 -1
- package/dist/components/form/file-autocomplete.js +61 -66
- package/dist/components/form/file-autocomplete.js.map +1 -1
- package/dist/components/form/file-picker.d.ts.map +1 -1
- package/dist/components/form/file-picker.js +33 -30
- package/dist/components/form/file-picker.js.map +1 -1
- package/dist/components/form/form-end.d.ts.map +1 -1
- package/dist/components/form/form-end.js +21 -1
- package/dist/components/form/form-end.js.map +1 -1
- package/dist/components/form/form-type-only.d.ts +174 -0
- package/dist/components/form/form-type-only.d.ts.map +1 -0
- package/dist/components/form/form-type-only.js +2 -0
- package/dist/components/form/form-type-only.js.map +1 -0
- package/dist/components/form/index.d.ts +3 -1
- package/dist/components/form/index.d.ts.map +1 -1
- package/dist/components/form/index.js +104 -30
- package/dist/components/form/index.js.map +1 -1
- package/dist/components/form/password-field.d.ts.map +1 -1
- package/dist/components/form/password-field.js +5 -3
- package/dist/components/form/password-field.js.map +1 -1
- package/dist/components/form/text-area.d.ts.map +1 -1
- package/dist/components/form/text-area.js +5 -3
- package/dist/components/form/text-area.js.map +1 -1
- package/dist/components/form/text-field.d.ts.map +1 -1
- package/dist/components/form/text-field.js +6 -4
- package/dist/components/form/text-field.js.map +1 -1
- package/dist/components/form/types.d.ts +5 -0
- package/dist/components/form/types.d.ts.map +1 -1
- package/dist/components/form/use-form-handling.d.ts +4 -0
- package/dist/components/form/use-form-handling.d.ts.map +1 -0
- package/dist/components/form/use-form-handling.js +37 -0
- package/dist/components/form/use-form-handling.js.map +1 -0
- package/dist/components/form/with-left-border.d.ts +2 -1
- package/dist/components/form/with-left-border.d.ts.map +1 -1
- package/dist/components/form/with-left-border.js +27 -3
- package/dist/components/form/with-left-border.js.map +1 -1
- package/dist/components/icon.d.ts +1 -0
- package/dist/components/icon.d.ts.map +1 -1
- package/dist/components/icon.js +24 -8
- package/dist/components/icon.js.map +1 -1
- package/dist/components/list.d.ts +2 -2
- package/dist/components/list.d.ts.map +1 -1
- package/dist/components/list.js +155 -70
- package/dist/components/list.js.map +1 -1
- package/dist/components/loading-bar.d.ts.map +1 -1
- package/dist/components/loading-bar.js +2 -2
- package/dist/components/loading-bar.js.map +1 -1
- package/dist/components/loading-text.d.ts +8 -0
- package/dist/components/loading-text.d.ts.map +1 -0
- package/dist/components/loading-text.js +58 -0
- package/dist/components/loading-text.js.map +1 -0
- package/dist/descendants.js +1 -1
- package/dist/descendants.js.map +1 -1
- package/dist/dev-ui.d.ts +7 -0
- package/dist/dev-ui.d.ts.map +1 -0
- package/dist/dev-ui.js +118 -0
- package/dist/dev-ui.js.map +1 -0
- package/dist/environment.d.ts +63 -0
- package/dist/environment.d.ts.map +1 -0
- package/dist/environment.js +189 -0
- package/dist/environment.js.map +1 -0
- package/dist/examples/datepicker.d.ts +2 -0
- package/dist/examples/datepicker.d.ts.map +1 -0
- package/dist/examples/datepicker.js +344 -0
- package/dist/examples/datepicker.js.map +1 -0
- package/dist/examples/file-autocomplete.vitest.d.ts +2 -0
- package/dist/examples/file-autocomplete.vitest.d.ts.map +1 -0
- package/dist/examples/file-autocomplete.vitest.js +223 -0
- package/dist/examples/file-autocomplete.vitest.js.map +1 -0
- package/dist/examples/form-basic-arrow-keys.vitest.d.ts +2 -0
- package/dist/examples/form-basic-arrow-keys.vitest.d.ts.map +1 -0
- package/dist/examples/form-basic-arrow-keys.vitest.js +46 -0
- package/dist/examples/form-basic-arrow-keys.vitest.js.map +1 -0
- package/dist/examples/form-basic.vitest.d.ts +2 -0
- package/dist/examples/form-basic.vitest.d.ts.map +1 -0
- package/dist/examples/form-basic.vitest.js +630 -0
- package/dist/examples/form-basic.vitest.js.map +1 -0
- package/dist/examples/form-dropdown-with-sections.d.ts +2 -0
- package/dist/examples/form-dropdown-with-sections.d.ts.map +1 -0
- package/dist/examples/form-dropdown-with-sections.js +13 -0
- package/dist/examples/form-dropdown-with-sections.js.map +1 -0
- package/dist/examples/form-dropdown-with-sections.vitest.d.ts +2 -0
- package/dist/examples/form-dropdown-with-sections.vitest.d.ts.map +1 -0
- package/dist/examples/form-dropdown-with-sections.vitest.js +75 -0
- package/dist/examples/form-dropdown-with-sections.vitest.js.map +1 -0
- package/dist/examples/form-dropdown.vitest.d.ts +2 -0
- package/dist/examples/form-dropdown.vitest.d.ts.map +1 -0
- package/dist/examples/form-dropdown.vitest.js +854 -0
- package/dist/examples/form-dropdown.vitest.js.map +1 -0
- package/dist/examples/form-multiselect-dropdown.d.ts +2 -0
- package/dist/examples/form-multiselect-dropdown.d.ts.map +1 -0
- package/dist/examples/form-multiselect-dropdown.js +13 -0
- package/dist/examples/form-multiselect-dropdown.js.map +1 -0
- package/dist/examples/form-scroll.d.ts.map +1 -1
- package/dist/examples/form-scroll.js +7 -1
- package/dist/examples/form-scroll.js.map +1 -1
- package/dist/examples/form-scroll.vitest.d.ts +2 -0
- package/dist/examples/form-scroll.vitest.d.ts.map +1 -0
- package/dist/examples/form-scroll.vitest.js +211 -0
- package/dist/examples/form-scroll.vitest.js.map +1 -0
- package/dist/examples/form-tagpicker.vitest.d.ts +2 -0
- package/dist/examples/form-tagpicker.vitest.d.ts.map +1 -0
- package/dist/examples/form-tagpicker.vitest.js +736 -0
- package/dist/examples/form-tagpicker.vitest.js.map +1 -0
- package/dist/examples/internal/descendants-filtering.js +1 -1
- package/dist/examples/internal/descendants-filtering.js.map +1 -1
- package/dist/examples/internal/descendants.js +1 -1
- package/dist/examples/internal/descendants.js.map +1 -1
- package/dist/examples/internal/nested-boxes.d.ts +2 -0
- package/dist/examples/internal/nested-boxes.d.ts.map +1 -0
- package/dist/examples/internal/nested-boxes.js +7 -0
- package/dist/examples/internal/nested-boxes.js.map +1 -0
- package/dist/examples/internal/rhf-custom-ref.js +2 -2
- package/dist/examples/internal/rhf-custom-ref.js.map +1 -1
- package/dist/examples/internal/scrollbox-demo.js +3 -22
- package/dist/examples/internal/scrollbox-demo.js.map +1 -1
- package/dist/examples/internal/scrollbox-descendants.d.ts +2 -0
- package/dist/examples/internal/scrollbox-descendants.d.ts.map +1 -0
- package/dist/examples/internal/scrollbox-descendants.js +83 -0
- package/dist/examples/internal/scrollbox-descendants.js.map +1 -0
- package/dist/examples/internal/scrollbox-with-descendants.js +4 -8
- package/dist/examples/internal/scrollbox-with-descendants.js.map +1 -1
- package/dist/examples/internal/simple-scrollbox.vitest.d.ts +2 -0
- package/dist/examples/internal/simple-scrollbox.vitest.d.ts.map +1 -0
- package/dist/examples/internal/simple-scrollbox.vitest.js +96 -0
- package/dist/examples/internal/simple-scrollbox.vitest.js.map +1 -0
- package/dist/examples/internal/unicode-square-repro.d.ts +2 -0
- package/dist/examples/internal/unicode-square-repro.d.ts.map +1 -0
- package/dist/examples/internal/unicode-square-repro.js +7 -0
- package/dist/examples/internal/unicode-square-repro.js.map +1 -0
- package/dist/examples/list-detail-metadata.d.ts +2 -0
- package/dist/examples/list-detail-metadata.d.ts.map +1 -0
- package/dist/examples/list-detail-metadata.js +8 -0
- package/dist/examples/list-detail-metadata.js.map +1 -0
- package/dist/examples/list-dropdown-default.vitest.d.ts +2 -0
- package/dist/examples/list-dropdown-default.vitest.d.ts.map +1 -0
- package/dist/examples/list-dropdown-default.vitest.js +234 -0
- package/dist/examples/list-dropdown-default.vitest.js.map +1 -0
- package/dist/examples/list-fetch-data.vitest.d.ts +2 -0
- package/dist/examples/list-fetch-data.vitest.d.ts.map +1 -0
- package/dist/examples/list-fetch-data.vitest.js +111 -0
- package/dist/examples/list-fetch-data.vitest.js.map +1 -0
- package/dist/examples/list-filter-navigation.d.ts +2 -0
- package/dist/examples/list-filter-navigation.d.ts.map +1 -0
- package/dist/examples/list-filter-navigation.js +8 -0
- package/dist/examples/list-filter-navigation.js.map +1 -0
- package/dist/examples/list-scrollbox.vitest.d.ts +2 -0
- package/dist/examples/list-scrollbox.vitest.d.ts.map +1 -0
- package/dist/examples/list-scrollbox.vitest.js +93 -0
- package/dist/examples/list-scrollbox.vitest.js.map +1 -0
- package/dist/examples/list-with-detail-long.d.ts +2 -0
- package/dist/examples/list-with-detail-long.d.ts.map +1 -0
- package/dist/examples/list-with-detail-long.js +53 -0
- package/dist/examples/list-with-detail-long.js.map +1 -0
- package/dist/examples/list-with-detail.vitest.d.ts +2 -0
- package/dist/examples/list-with-detail.vitest.d.ts.map +1 -0
- package/dist/examples/list-with-detail.vitest.js +434 -0
- package/dist/examples/list-with-detail.vitest.js.map +1 -0
- package/dist/examples/list-with-dropdown.vitest.d.ts +2 -0
- package/dist/examples/list-with-dropdown.vitest.d.ts.map +1 -0
- package/dist/examples/list-with-dropdown.vitest.js +337 -0
- package/dist/examples/list-with-dropdown.vitest.js.map +1 -0
- package/dist/examples/list-with-sections.js +5 -1
- package/dist/examples/list-with-sections.js.map +1 -1
- package/dist/examples/list-with-sections.vitest.d.ts +2 -0
- package/dist/examples/list-with-sections.vitest.d.ts.map +1 -0
- package/dist/examples/list-with-sections.vitest.js +601 -0
- package/dist/examples/list-with-sections.vitest.js.map +1 -0
- package/dist/examples/scrollbox-vertical-centering.d.ts +6 -0
- package/dist/examples/scrollbox-vertical-centering.d.ts.map +1 -0
- package/dist/examples/scrollbox-vertical-centering.js +17 -0
- package/dist/examples/scrollbox-vertical-centering.js.map +1 -0
- package/dist/examples/simple-file-picker.vitest.d.ts +2 -0
- package/dist/examples/simple-file-picker.vitest.d.ts.map +1 -0
- package/dist/examples/simple-file-picker.vitest.js +678 -0
- package/dist/examples/simple-file-picker.vitest.js.map +1 -0
- package/dist/examples/simple-grid.vitest.d.ts +2 -0
- package/dist/examples/simple-grid.vitest.d.ts.map +1 -0
- package/dist/examples/simple-grid.vitest.js +521 -0
- package/dist/examples/simple-grid.vitest.js.map +1 -0
- package/dist/examples/simple-navigation.js +10 -4
- package/dist/examples/simple-navigation.js.map +1 -1
- package/dist/examples/simple-navigation.vitest.d.ts +2 -0
- package/dist/examples/simple-navigation.vitest.d.ts.map +1 -0
- package/dist/examples/simple-navigation.vitest.js +718 -0
- package/dist/examples/simple-navigation.vitest.js.map +1 -0
- package/dist/examples/store.vitest.d.ts +2 -0
- package/dist/examples/store.vitest.d.ts.map +1 -0
- package/dist/examples/store.vitest.js +69 -0
- package/dist/examples/store.vitest.js.map +1 -0
- package/dist/examples/toast-variations.d.ts +2 -0
- package/dist/examples/toast-variations.d.ts.map +1 -0
- package/dist/examples/toast-variations.js +122 -0
- package/dist/examples/toast-variations.js.map +1 -0
- package/dist/extensions/dev.d.ts +4 -2
- package/dist/extensions/dev.d.ts.map +1 -1
- package/dist/extensions/dev.js +61 -10
- package/dist/extensions/dev.js.map +1 -1
- package/dist/extensions/dev.vitest.d.ts +2 -0
- package/dist/extensions/dev.vitest.d.ts.map +1 -0
- package/dist/extensions/dev.vitest.js +197 -0
- package/dist/extensions/dev.vitest.js.map +1 -0
- package/dist/extensions/home.d.ts.map +1 -1
- package/dist/extensions/home.js +3 -0
- package/dist/extensions/home.js.map +1 -1
- package/dist/home-command.d.ts +8 -0
- package/dist/home-command.d.ts.map +1 -0
- package/dist/home-command.js +181 -0
- package/dist/home-command.js.map +1 -0
- package/dist/hover-repro.d.ts +2 -0
- package/dist/hover-repro.d.ts.map +1 -0
- package/dist/hover-repro.js +20 -0
- package/dist/hover-repro.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/dialog.d.ts +1 -0
- package/dist/internal/dialog.d.ts.map +1 -1
- package/dist/internal/dialog.js +27 -18
- package/dist/internal/dialog.js.map +1 -1
- package/dist/internal/navigation.d.ts +9 -1
- package/dist/internal/navigation.d.ts.map +1 -1
- package/dist/internal/navigation.js +5 -5
- package/dist/internal/navigation.js.map +1 -1
- package/dist/internal/offscreen.d.ts +6 -0
- package/dist/internal/offscreen.d.ts.map +1 -0
- package/dist/internal/offscreen.js +10 -0
- package/dist/internal/offscreen.js.map +1 -0
- package/dist/internal/providers.d.ts.map +1 -1
- package/dist/internal/providers.js +2 -2
- package/dist/internal/providers.js.map +1 -1
- package/dist/internal/scrollbox.d.ts +1 -10
- package/dist/internal/scrollbox.d.ts.map +1 -1
- package/dist/internal/scrollbox.js +2 -1
- package/dist/internal/scrollbox.js.map +1 -1
- package/dist/localstorage.d.ts +13 -0
- package/dist/localstorage.d.ts.map +1 -0
- package/dist/localstorage.js +190 -0
- package/dist/localstorage.js.map +1 -0
- package/dist/oauth.d.ts +142 -0
- package/dist/oauth.d.ts.map +1 -0
- package/dist/oauth.js +551 -0
- package/dist/oauth.js.map +1 -0
- package/dist/preferences.d.ts +23 -0
- package/dist/preferences.d.ts.map +1 -0
- package/dist/preferences.js +105 -0
- package/dist/preferences.js.map +1 -0
- package/dist/release.d.ts +1 -1
- package/dist/release.d.ts.map +1 -1
- package/dist/release.js +29 -33
- package/dist/release.js.map +1 -1
- package/dist/state.d.ts +2 -0
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +3 -0
- package/dist/state.js.map +1 -1
- package/dist/store.d.ts +21 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +84 -0
- package/dist/store.js.map +1 -0
- package/dist/swift-loader.d.ts +3 -0
- package/dist/swift-loader.d.ts.map +1 -0
- package/dist/swift-loader.js +193 -0
- package/dist/swift-loader.js.map +1 -0
- package/dist/swift-runtime.d.ts +2 -0
- package/dist/swift-runtime.d.ts.map +1 -0
- package/dist/swift-runtime.js +27 -0
- package/dist/swift-runtime.js.map +1 -0
- package/dist/toast.d.ts +44 -0
- package/dist/toast.d.ts.map +1 -0
- package/dist/toast.js +221 -0
- package/dist/toast.js.map +1 -0
- package/dist/utils/file-system.d.ts +9 -0
- package/dist/utils/file-system.d.ts.map +1 -1
- package/dist/utils/file-system.js +49 -0
- package/dist/utils/file-system.js.map +1 -1
- package/dist/utils/run-command.d.ts +26 -1
- package/dist/utils/run-command.d.ts.map +1 -1
- package/dist/utils/run-command.js +53 -4
- package/dist/utils/run-command.js.map +1 -1
- package/dist/window.d.ts +12 -0
- package/dist/window.d.ts.map +1 -0
- package/dist/window.js +48 -0
- package/dist/window.js.map +1 -0
- package/package.json +12 -12
- package/src/apis/browser-extension.tsx +29 -0
- package/src/apis/localstorage.test.ts +14 -6
- package/src/apis/localstorage.tsx +8 -5
- package/src/apis/oauth.tsx +5 -1
- package/src/apis/preferences.tsx +48 -22
- package/src/apis/toast.tsx +37 -62
- package/src/build.test.tsx +52 -0
- package/src/build.tsx +3 -1
- package/src/cli.tsx +99 -48
- package/src/compile.tsx +32 -11
- package/src/components/actions.tsx +94 -32
- package/src/components/detail.tsx +4 -0
- package/src/components/dropdown.tsx +47 -14
- package/src/components/extension-preferences.tsx +44 -16
- package/src/components/form/checkbox.tsx +12 -6
- package/src/components/form/date-picker.tsx +12 -6
- package/src/components/form/description.tsx +7 -2
- package/src/components/form/dropdown.tsx +131 -119
- package/src/components/form/file-autocomplete.tsx +90 -108
- package/src/components/form/file-picker.tsx +54 -43
- package/src/components/form/form-end.tsx +23 -2
- package/src/components/form/index.tsx +168 -41
- package/src/components/form/password-field.tsx +12 -6
- package/src/components/form/text-area.tsx +13 -6
- package/src/components/form/text-field.tsx +13 -6
- package/src/components/form/types.tsx +6 -0
- package/src/components/form/with-left-border.tsx +41 -8
- package/src/components/icon.tsx +27 -8
- package/src/components/list.tsx +243 -101
- package/src/components/loading-bar.tsx +3 -2
- package/src/components/loading-text.tsx +79 -0
- package/src/descendants.tsx +1 -0
- package/src/examples/file-autocomplete.vitest.tsx +130 -125
- package/src/examples/form-basic.vitest.tsx +376 -176
- package/src/examples/form-dropdown.vitest.tsx +126 -126
- package/src/examples/form-scroll.tsx +2 -0
- package/src/examples/form-scroll.vitest.tsx +58 -58
- package/src/examples/form-tagpicker.vitest.tsx +99 -99
- package/src/examples/internal/descendants-filtering.tsx +1 -0
- package/src/examples/internal/descendants.tsx +1 -0
- package/src/examples/internal/rhf-custom-ref.tsx +2 -0
- package/src/examples/internal/scrollbox-demo.tsx +3 -27
- package/src/examples/internal/scrollbox-with-descendants.tsx +4 -7
- package/src/examples/internal/simple-scrollbox.vitest.tsx +7 -5
- package/src/examples/list-detail-metadata.tsx +49 -0
- package/src/examples/list-detail-metadata.vitest.tsx +88 -0
- package/src/examples/list-dropdown-default.vitest.tsx +51 -51
- package/src/examples/list-fetch-data.vitest.tsx +4 -4
- package/src/examples/list-scrollbox.vitest.tsx +73 -14
- package/src/examples/list-with-detail-long.tsx +70 -0
- package/src/examples/list-with-detail.vitest.tsx +191 -85
- package/src/examples/list-with-dropdown.vitest.tsx +53 -53
- package/src/examples/list-with-sections.tsx +1 -0
- package/src/examples/list-with-sections.vitest.tsx +221 -97
- package/src/examples/list-with-toast.vitest.tsx +16 -16
- package/src/examples/simple-file-picker.vitest.tsx +63 -469
- package/src/examples/simple-grid.vitest.tsx +238 -233
- package/src/examples/simple-navigation.tsx +15 -7
- package/src/examples/simple-navigation.vitest.tsx +130 -219
- package/src/examples/store.vitest.tsx +1 -1
- package/src/examples/swift-extension.vitest.tsx +148 -0
- package/src/examples/synonyms.vitest.tsx +159 -0
- package/src/examples/toast-variations.tsx +150 -0
- package/src/examples/toast-variations.vitest.tsx +370 -0
- package/src/extensions/dev.tsx +74 -7
- package/src/extensions/dev.vitest.tsx +102 -34
- package/src/extensions/home.tsx +6 -0
- package/src/index.tsx +3 -0
- package/src/internal/dialog.tsx +43 -30
- package/src/internal/navigation.tsx +3 -1
- package/src/internal/offscreen.tsx +15 -0
- package/src/internal/providers.tsx +4 -2
- package/src/internal/scrollbox.tsx +4 -8
- package/src/keyboard.test.tsx +69 -0
- package/src/release.tsx +32 -38
- package/src/state.tsx +7 -0
- package/src/swift-loader.tsx +239 -0
- package/src/swift-runtime.tsx +36 -0
- package/src/utils/file-system.ts +61 -0
- package/src/utils/run-command.tsx +82 -6
|
@@ -0,0 +1,601 @@
|
|
|
1
|
+
import { test, expect, afterEach, beforeEach } from 'vitest';
|
|
2
|
+
import { launchTerminal } from 'tuistory/src';
|
|
3
|
+
let session;
|
|
4
|
+
beforeEach(async () => {
|
|
5
|
+
session = await launchTerminal({
|
|
6
|
+
command: 'bun',
|
|
7
|
+
args: ['src/examples/list-with-sections.tsx'],
|
|
8
|
+
cols: 70,
|
|
9
|
+
rows: 20,
|
|
10
|
+
});
|
|
11
|
+
});
|
|
12
|
+
afterEach(() => {
|
|
13
|
+
session?.close();
|
|
14
|
+
});
|
|
15
|
+
test('list with sections navigation', async () => {
|
|
16
|
+
await session.text({
|
|
17
|
+
waitFor: (text) => {
|
|
18
|
+
// wait for list to show up
|
|
19
|
+
return /search/i.test(text);
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
const initialSnapshot = await session.text();
|
|
23
|
+
expect(initialSnapshot).toMatchInlineSnapshot(`
|
|
24
|
+
"
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
Simple List Example ────────────────────────────────────────────
|
|
28
|
+
|
|
29
|
+
Search items...
|
|
30
|
+
|
|
31
|
+
Fruits ▲
|
|
32
|
+
›Apple Red and sweet Fresh [Popular] ▀
|
|
33
|
+
Banana Yellow and nutritious Ripe
|
|
34
|
+
Orange Citrus and juicy Fresh
|
|
35
|
+
Grape Sweet clusters [Seasonal]
|
|
36
|
+
Mango Tropical delight Imported
|
|
37
|
+
Pineapple Sweet and tangy
|
|
38
|
+
Strawberry Red and sweet [Popular]
|
|
39
|
+
▼
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
↵ select ↑↓ navigate ^k actions"
|
|
43
|
+
`);
|
|
44
|
+
// Add small delay to ensure all items have registered
|
|
45
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
46
|
+
await session.press('down');
|
|
47
|
+
const afterDownSnapshot = await session.text();
|
|
48
|
+
expect(afterDownSnapshot).toMatchInlineSnapshot(`
|
|
49
|
+
"
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
Simple List Example ────────────────────────────────────────────
|
|
53
|
+
|
|
54
|
+
Search items...
|
|
55
|
+
|
|
56
|
+
Fruits ▲
|
|
57
|
+
Apple Red and sweet Fresh [Popular] ▀
|
|
58
|
+
›Banana Yellow and nutritious Ripe
|
|
59
|
+
Orange Citrus and juicy Fresh
|
|
60
|
+
Grape Sweet clusters [Seasonal]
|
|
61
|
+
Mango Tropical delight Imported
|
|
62
|
+
Pineapple Sweet and tangy
|
|
63
|
+
Strawberry Red and sweet [Popular]
|
|
64
|
+
▼
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
↵ select ↑↓ navigate ^k actions"
|
|
68
|
+
`);
|
|
69
|
+
await session.press('down');
|
|
70
|
+
const secondDownSnapshot = await session.text();
|
|
71
|
+
expect(secondDownSnapshot).toMatchInlineSnapshot(`
|
|
72
|
+
"
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
Simple List Example ────────────────────────────────────────────
|
|
76
|
+
|
|
77
|
+
Search items...
|
|
78
|
+
|
|
79
|
+
Fruits ▲
|
|
80
|
+
Apple Red and sweet Fresh [Popular] ▀
|
|
81
|
+
Banana Yellow and nutritious Ripe
|
|
82
|
+
›Orange Citrus and juicy Fresh
|
|
83
|
+
Grape Sweet clusters [Seasonal]
|
|
84
|
+
Mango Tropical delight Imported
|
|
85
|
+
Pineapple Sweet and tangy
|
|
86
|
+
Strawberry Red and sweet [Popular]
|
|
87
|
+
▼
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
↵ select ↑↓ navigate ^k actions"
|
|
91
|
+
`);
|
|
92
|
+
await session.press('enter');
|
|
93
|
+
const afterEnterSnapshot = await session.text();
|
|
94
|
+
expect(afterEnterSnapshot).toMatchInlineSnapshot(`
|
|
95
|
+
"
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
Simple List Example ────────────────────────────────────────────
|
|
99
|
+
|
|
100
|
+
Search items...
|
|
101
|
+
|
|
102
|
+
Fruits ▲
|
|
103
|
+
Apple Red and sweet Fresh [Popular] ▀
|
|
104
|
+
Banana Yellow and nutritious Ripe
|
|
105
|
+
›Orange Citrus and juicy Fresh
|
|
106
|
+
Grape Sweet clusters [Seasonal]
|
|
107
|
+
Mango Tropical delight Imported
|
|
108
|
+
Pineapple Sweet and tangy
|
|
109
|
+
Strawberry Red and sweet [Popular]
|
|
110
|
+
▼
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
↵ select ↑↓ navigate ^k actions"
|
|
114
|
+
`);
|
|
115
|
+
// Go back to list with Escape
|
|
116
|
+
await session.press('esc');
|
|
117
|
+
const afterEscapeSnapshot = await session.text();
|
|
118
|
+
expect(afterEscapeSnapshot).toMatchInlineSnapshot(`
|
|
119
|
+
"
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
Simple List Example ────────────────────────────────────────────
|
|
123
|
+
|
|
124
|
+
Search items...
|
|
125
|
+
|
|
126
|
+
Fruits ▲
|
|
127
|
+
Apple Red and sweet Fresh [Popular] ▀
|
|
128
|
+
Banana Yellow and nutritious Ripe
|
|
129
|
+
›Orange Citrus and juicy Fresh
|
|
130
|
+
Grape Sweet clusters [Seasonal]
|
|
131
|
+
Mango Tropical delight Imported
|
|
132
|
+
Pineapple Sweet and tangy
|
|
133
|
+
Strawberry Red and sweet [Popular]
|
|
134
|
+
▼
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
↵ select ↑↓ navigate ^k actions"
|
|
138
|
+
`);
|
|
139
|
+
});
|
|
140
|
+
test('list with sections search functionality', async () => {
|
|
141
|
+
await session.text({
|
|
142
|
+
waitFor: (text) => {
|
|
143
|
+
// wait for list to show up
|
|
144
|
+
return /search/i.test(text);
|
|
145
|
+
},
|
|
146
|
+
});
|
|
147
|
+
await session.type('ban');
|
|
148
|
+
const afterSearchBanSnapshot = await session.text({
|
|
149
|
+
waitFor: (text) => {
|
|
150
|
+
return /\bban\b/.test(text);
|
|
151
|
+
},
|
|
152
|
+
});
|
|
153
|
+
// NOTE: No selection indicator (›) is expected here - this is OK
|
|
154
|
+
expect(afterSearchBanSnapshot).toMatchInlineSnapshot(`
|
|
155
|
+
"
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
Simple List Example ────────────────────────────────────────────
|
|
159
|
+
|
|
160
|
+
ban
|
|
161
|
+
|
|
162
|
+
Banana Yellow and nutritious Ripe
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
↵ select ↑↓ navigate ^k actions"
|
|
174
|
+
`);
|
|
175
|
+
// Clear search and type "let" to search for Lettuce
|
|
176
|
+
await session.press('backspace');
|
|
177
|
+
await session.press('backspace');
|
|
178
|
+
await session.press('backspace');
|
|
179
|
+
await session.type('let');
|
|
180
|
+
const afterSearchLetSnapshot = await session.text({
|
|
181
|
+
waitFor: (text) => {
|
|
182
|
+
return /\blet\b/.test(text);
|
|
183
|
+
},
|
|
184
|
+
});
|
|
185
|
+
// NOTE: No selection indicator (›) is expected here - this is OK
|
|
186
|
+
expect(afterSearchLetSnapshot).toMatchInlineSnapshot(`
|
|
187
|
+
"
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
Simple List Example ────────────────────────────────────────────
|
|
191
|
+
|
|
192
|
+
let
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
Lettuce Green and fresh
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
↵ select ↑↓ navigate ^k actions"
|
|
206
|
+
`);
|
|
207
|
+
// Clear search to show all items again
|
|
208
|
+
await session.press('backspace');
|
|
209
|
+
await session.press('backspace');
|
|
210
|
+
await session.press('backspace');
|
|
211
|
+
const afterClearSearchSnapshot = await session.text();
|
|
212
|
+
expect(afterClearSearchSnapshot).toMatchInlineSnapshot(`
|
|
213
|
+
"
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
Simple List Example ────────────────────────────────────────────
|
|
217
|
+
|
|
218
|
+
Search items...
|
|
219
|
+
|
|
220
|
+
Fruits ▲
|
|
221
|
+
›Apple Red and sweet Fresh [Popular] ▀
|
|
222
|
+
Banana Yellow and nutritious Ripe
|
|
223
|
+
Orange Citrus and juicy Fresh
|
|
224
|
+
Grape Sweet clusters [Seasonal]
|
|
225
|
+
Mango Tropical delight Imported
|
|
226
|
+
Pineapple Sweet and tangy
|
|
227
|
+
Strawberry Red and sweet [Popular]
|
|
228
|
+
▼
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
↵ select ↑↓ navigate ^k actions"
|
|
232
|
+
`);
|
|
233
|
+
// Search for "bread"
|
|
234
|
+
await session.type('bread');
|
|
235
|
+
const afterSearchBreadSnapshot = await session.text({
|
|
236
|
+
waitFor: (text) => {
|
|
237
|
+
return /bread/i.test(text);
|
|
238
|
+
},
|
|
239
|
+
});
|
|
240
|
+
// NOTE: No selection indicator (›) is expected here - this is OK
|
|
241
|
+
expect(afterSearchBreadSnapshot).toMatchInlineSnapshot(`
|
|
242
|
+
"
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
Simple List Example ────────────────────────────────────────────
|
|
246
|
+
|
|
247
|
+
bread
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
Bread Freshly baked Today [New]
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
↵ select ↑↓ navigate ^k actions"
|
|
261
|
+
`);
|
|
262
|
+
// Select the bread item
|
|
263
|
+
await session.press('enter');
|
|
264
|
+
const afterSelectBreadSnapshot = await session.text();
|
|
265
|
+
expect(afterSelectBreadSnapshot).toMatchInlineSnapshot(`
|
|
266
|
+
"
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
Simple List Example ────────────────────────────────────────────
|
|
270
|
+
|
|
271
|
+
bread
|
|
272
|
+
|
|
273
|
+
┃ ┃
|
|
274
|
+
┃ esc ┃
|
|
275
|
+
┃ ┃
|
|
276
|
+
┃ Search actions... ┃
|
|
277
|
+
┃ ┃
|
|
278
|
+
┃ ›View Details ┃
|
|
279
|
+
┃ Add to Cart ┃
|
|
280
|
+
┃ ┃
|
|
281
|
+
┃ ┃
|
|
282
|
+
┃ ┃
|
|
283
|
+
┃ ┃
|
|
284
|
+
┃ ┃
|
|
285
|
+
┃ ┃
|
|
286
|
+
┃ ┃"
|
|
287
|
+
`);
|
|
288
|
+
}, 10000);
|
|
289
|
+
test('list click functionality', async () => {
|
|
290
|
+
await session.text({
|
|
291
|
+
waitFor: (text) => {
|
|
292
|
+
return /search/i.test(text);
|
|
293
|
+
},
|
|
294
|
+
});
|
|
295
|
+
// Click on "Banana" item (visible in initial view)
|
|
296
|
+
await session.click('Banana', { first: true });
|
|
297
|
+
const afterClickBananaSnapshot = await session.text();
|
|
298
|
+
expect(afterClickBananaSnapshot).toMatchInlineSnapshot(`
|
|
299
|
+
"
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
Simple List Example ────────────────────────────────────────────
|
|
303
|
+
|
|
304
|
+
Search items...
|
|
305
|
+
|
|
306
|
+
Fruits ▲
|
|
307
|
+
Apple Red and sweet Fresh [Popular] ▀
|
|
308
|
+
›Banana Yellow and nutritious Ripe
|
|
309
|
+
Orange Citrus and juicy Fresh
|
|
310
|
+
Grape Sweet clusters [Seasonal]
|
|
311
|
+
Mango Tropical delight Imported
|
|
312
|
+
Pineapple Sweet and tangy
|
|
313
|
+
Strawberry Red and sweet [Popular]
|
|
314
|
+
▼
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
↵ select ↑↓ navigate ^k actions"
|
|
318
|
+
`);
|
|
319
|
+
// Click on "Apple" item
|
|
320
|
+
await session.click('Apple', { first: true });
|
|
321
|
+
const afterClickAppleSnapshot = await session.text();
|
|
322
|
+
expect(afterClickAppleSnapshot).toMatchInlineSnapshot(`
|
|
323
|
+
"
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
Simple List Example ────────────────────────────────────────────
|
|
327
|
+
|
|
328
|
+
Search items...
|
|
329
|
+
|
|
330
|
+
Fruits ▲
|
|
331
|
+
›Apple Red and sweet Fresh [Popular] ▀
|
|
332
|
+
Banana Yellow and nutritious Ripe
|
|
333
|
+
Orange Citrus and juicy Fresh
|
|
334
|
+
Grape Sweet clusters [Seasonal]
|
|
335
|
+
Mango Tropical delight Imported
|
|
336
|
+
Pineapple Sweet and tangy
|
|
337
|
+
Strawberry Red and sweet [Popular]
|
|
338
|
+
▼
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
↵ select ↑↓ navigate ^k actions"
|
|
342
|
+
`);
|
|
343
|
+
// Click on "Grape" item (visible in initial view)
|
|
344
|
+
await session.click('Grape', { first: true });
|
|
345
|
+
const afterClickGrapeSnapshot = await session.text();
|
|
346
|
+
expect(afterClickGrapeSnapshot).toMatchInlineSnapshot(`
|
|
347
|
+
"
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
Simple List Example ────────────────────────────────────────────
|
|
351
|
+
|
|
352
|
+
Search items...
|
|
353
|
+
|
|
354
|
+
Fruits ▲
|
|
355
|
+
Apple Red and sweet Fresh [Popular] ▀
|
|
356
|
+
Banana Yellow and nutritious Ripe
|
|
357
|
+
Orange Citrus and juicy Fresh
|
|
358
|
+
›Grape Sweet clusters [Seasonal]
|
|
359
|
+
Mango Tropical delight Imported
|
|
360
|
+
Pineapple Sweet and tangy
|
|
361
|
+
Strawberry Red and sweet [Popular]
|
|
362
|
+
▼
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
↵ select ↑↓ navigate ^k actions"
|
|
366
|
+
`);
|
|
367
|
+
}, 10000);
|
|
368
|
+
test('list actions panel with ctrl+k', async () => {
|
|
369
|
+
await session.text({
|
|
370
|
+
waitFor: (text) => {
|
|
371
|
+
// wait for list to show up
|
|
372
|
+
return /search/i.test(text);
|
|
373
|
+
},
|
|
374
|
+
});
|
|
375
|
+
// Press ctrl+k to open actions panel
|
|
376
|
+
await session.press(['ctrl', 'k']);
|
|
377
|
+
const afterCtrlKSnapshot = await session.text();
|
|
378
|
+
expect(afterCtrlKSnapshot).toMatchInlineSnapshot(`
|
|
379
|
+
"
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
Simple List Example ────────────────────────────────────────────
|
|
383
|
+
|
|
384
|
+
Search items...
|
|
385
|
+
|
|
386
|
+
┃ ┃
|
|
387
|
+
┃ esc ┃
|
|
388
|
+
┃ ┃
|
|
389
|
+
┃ Search actions... ┃
|
|
390
|
+
┃ ┃
|
|
391
|
+
┃ ›View Details ┃
|
|
392
|
+
┃ Add to Cart ┃
|
|
393
|
+
┃ ┃
|
|
394
|
+
┃ ┃
|
|
395
|
+
┃ ┃
|
|
396
|
+
┃ ┃
|
|
397
|
+
┃ ┃
|
|
398
|
+
┃ ┃
|
|
399
|
+
┃ ┃"
|
|
400
|
+
`);
|
|
401
|
+
// Navigate down to second action
|
|
402
|
+
await session.press('down');
|
|
403
|
+
const afterDownInActionsSnapshot = await session.text();
|
|
404
|
+
expect(afterDownInActionsSnapshot).toMatchInlineSnapshot(`
|
|
405
|
+
"
|
|
406
|
+
|
|
407
|
+
|
|
408
|
+
Simple List Example ────────────────────────────────────────────
|
|
409
|
+
|
|
410
|
+
Search items...
|
|
411
|
+
|
|
412
|
+
┃ ┃
|
|
413
|
+
┃ esc ┃
|
|
414
|
+
┃ ┃
|
|
415
|
+
┃ Search actions... ┃
|
|
416
|
+
┃ ┃
|
|
417
|
+
┃ View Details ┃
|
|
418
|
+
┃ ›Add to Cart ┃
|
|
419
|
+
┃ ┃
|
|
420
|
+
┃ ┃
|
|
421
|
+
┃ ┃
|
|
422
|
+
┃ ┃
|
|
423
|
+
┃ ┃
|
|
424
|
+
┃ ┃
|
|
425
|
+
┃ ┃"
|
|
426
|
+
`);
|
|
427
|
+
// Trigger the second action (Add to Cart)
|
|
428
|
+
await session.press('enter');
|
|
429
|
+
const afterSelectSecondActionSnapshot = await session.text();
|
|
430
|
+
expect(afterSelectSecondActionSnapshot).toMatchInlineSnapshot(`
|
|
431
|
+
"
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
Simple List Example ────────────────────────────────────────────
|
|
435
|
+
|
|
436
|
+
Search items...
|
|
437
|
+
|
|
438
|
+
Fruits ▲
|
|
439
|
+
›Apple Red and sweet Fresh [Popular] ▀
|
|
440
|
+
Banana Yellow and nutritious Ripe
|
|
441
|
+
Orange Citrus and juicy Fresh
|
|
442
|
+
Grape Sweet clusters [Seasonal]
|
|
443
|
+
Mango Tropical delight Imported
|
|
444
|
+
Pineapple Sweet and tangy
|
|
445
|
+
Strawberry Red and sweet [Popular]
|
|
446
|
+
▼
|
|
447
|
+
|
|
448
|
+
|
|
449
|
+
↵ sel┌─────────────────────────────────────────────────────┐
|
|
450
|
+
│ ✓ Added to Cart - Apple has been added to your cart │
|
|
451
|
+
└─────────────────────────────────────────────────────┘"
|
|
452
|
+
`);
|
|
453
|
+
}, 10000);
|
|
454
|
+
test('empty sections should be hidden', async () => {
|
|
455
|
+
await session.text({
|
|
456
|
+
waitFor: (text) => {
|
|
457
|
+
return /search/i.test(text);
|
|
458
|
+
},
|
|
459
|
+
});
|
|
460
|
+
const snapshot = await session.text();
|
|
461
|
+
expect(snapshot).not.toContain('Empty section should be hidden');
|
|
462
|
+
}, 10000);
|
|
463
|
+
test('list scrollbox scrolling with sections', async () => {
|
|
464
|
+
await session.text({
|
|
465
|
+
waitFor: (text) => {
|
|
466
|
+
return /search/i.test(text);
|
|
467
|
+
},
|
|
468
|
+
});
|
|
469
|
+
const initialSnapshot = await session.text();
|
|
470
|
+
expect(initialSnapshot).toMatchInlineSnapshot(`
|
|
471
|
+
"
|
|
472
|
+
|
|
473
|
+
|
|
474
|
+
Simple List Example ────────────────────────────────────────────
|
|
475
|
+
|
|
476
|
+
Search items...
|
|
477
|
+
|
|
478
|
+
Fruits ▲
|
|
479
|
+
›Apple Red and sweet Fresh [Popular] ▀
|
|
480
|
+
Banana Yellow and nutritious Ripe
|
|
481
|
+
Orange Citrus and juicy Fresh
|
|
482
|
+
Grape Sweet clusters [Seasonal]
|
|
483
|
+
Mango Tropical delight Imported
|
|
484
|
+
Pineapple Sweet and tangy
|
|
485
|
+
Strawberry Red and sweet [Popular]
|
|
486
|
+
▼
|
|
487
|
+
|
|
488
|
+
|
|
489
|
+
↵ select ↑↓ navigate ^k actions"
|
|
490
|
+
`);
|
|
491
|
+
// Navigate down through Fruits section
|
|
492
|
+
await session.press('down'); // Banana
|
|
493
|
+
await session.press('down'); // Orange
|
|
494
|
+
await session.press('down'); // Grape
|
|
495
|
+
await session.press('down'); // Mango
|
|
496
|
+
await session.press('down'); // Pineapple
|
|
497
|
+
await session.press('down'); // Strawberry (last fruit)
|
|
498
|
+
const afterFruitsSnapshot = await session.text();
|
|
499
|
+
expect(afterFruitsSnapshot).toMatchInlineSnapshot(`
|
|
500
|
+
"
|
|
501
|
+
|
|
502
|
+
|
|
503
|
+
Simple List Example ────────────────────────────────────────────
|
|
504
|
+
|
|
505
|
+
Search items...
|
|
506
|
+
|
|
507
|
+
Fruits ▲
|
|
508
|
+
Apple Red and sweet Fresh [Popular] ▀
|
|
509
|
+
Banana Yellow and nutritious Ripe
|
|
510
|
+
Orange Citrus and juicy Fresh
|
|
511
|
+
Grape Sweet clusters [Seasonal]
|
|
512
|
+
Mango Tropical delight Imported
|
|
513
|
+
Pineapple Sweet and tangy
|
|
514
|
+
›Strawberry Red and sweet [Popular]
|
|
515
|
+
▼
|
|
516
|
+
|
|
517
|
+
|
|
518
|
+
↵ select ↑↓ navigate ^k actions"
|
|
519
|
+
`);
|
|
520
|
+
// Continue to Vegetables section
|
|
521
|
+
await session.press('down'); // Carrot (first vegetable)
|
|
522
|
+
await session.press('down'); // Lettuce
|
|
523
|
+
await session.press('down'); // Broccoli
|
|
524
|
+
const afterVegetablesSnapshot = await session.text();
|
|
525
|
+
expect(afterVegetablesSnapshot).toMatchInlineSnapshot(`
|
|
526
|
+
"
|
|
527
|
+
|
|
528
|
+
|
|
529
|
+
Simple List Example ────────────────────────────────────────────
|
|
530
|
+
|
|
531
|
+
Search items...
|
|
532
|
+
|
|
533
|
+
Grape Sweet clusters [Seasonal] ▲
|
|
534
|
+
Mango Tropical delight Imported
|
|
535
|
+
Pineapple Sweet and tangy
|
|
536
|
+
Strawberry Red and sweet [Popular] ▄
|
|
537
|
+
|
|
538
|
+
Vegetables
|
|
539
|
+
Carrot Orange and crunchy [Healthy]
|
|
540
|
+
Lettuce Green and fresh
|
|
541
|
+
›Broccoli Green florets [Healthy] ▼
|
|
542
|
+
|
|
543
|
+
|
|
544
|
+
↵ select ↑↓ navigate ^k actions"
|
|
545
|
+
`);
|
|
546
|
+
// Navigate to the last items
|
|
547
|
+
await session.press('down'); // Spinach
|
|
548
|
+
await session.press('down'); // Tomato
|
|
549
|
+
await session.press('down'); // Cucumber
|
|
550
|
+
await session.press('down'); // Bell Pepper
|
|
551
|
+
await session.press('down'); // Bread (last item)
|
|
552
|
+
const afterLastItemSnapshot = await session.text();
|
|
553
|
+
expect(afterLastItemSnapshot).toMatchInlineSnapshot(`
|
|
554
|
+
"
|
|
555
|
+
|
|
556
|
+
|
|
557
|
+
Simple List Example ────────────────────────────────────────────
|
|
558
|
+
|
|
559
|
+
Search items...
|
|
560
|
+
|
|
561
|
+
Carrot Orange and crunchy [Healthy] ▲
|
|
562
|
+
Lettuce Green and fresh
|
|
563
|
+
Broccoli Green florets [Healthy]
|
|
564
|
+
Spinach Leafy greens Organic
|
|
565
|
+
Tomato Red and ripe
|
|
566
|
+
Cucumber Cool and crisp
|
|
567
|
+
Bell Pepper Colorful and crunchy [Fresh]
|
|
568
|
+
▄
|
|
569
|
+
›Bread Freshly baked Today [New] ▼
|
|
570
|
+
|
|
571
|
+
|
|
572
|
+
↵ select ↑↓ navigate ^k actions"
|
|
573
|
+
`);
|
|
574
|
+
// Navigate back up to top
|
|
575
|
+
for (let i = 0; i < 15; i++) {
|
|
576
|
+
await session.press('up');
|
|
577
|
+
}
|
|
578
|
+
const afterScrollBackUpSnapshot = await session.text();
|
|
579
|
+
expect(afterScrollBackUpSnapshot).toMatchInlineSnapshot(`
|
|
580
|
+
"
|
|
581
|
+
|
|
582
|
+
|
|
583
|
+
Simple List Example ────────────────────────────────────────────
|
|
584
|
+
|
|
585
|
+
Search items...
|
|
586
|
+
|
|
587
|
+
Carrot Orange and crunchy [Healthy] ▲
|
|
588
|
+
Lettuce Green and fresh
|
|
589
|
+
Broccoli Green florets [Healthy]
|
|
590
|
+
Spinach Leafy greens Organic
|
|
591
|
+
Tomato Red and ripe
|
|
592
|
+
Cucumber Cool and crisp
|
|
593
|
+
Bell Pepper Colorful and crunchy [Fresh]
|
|
594
|
+
▄
|
|
595
|
+
›Bread Freshly baked Today [New] ▼
|
|
596
|
+
|
|
597
|
+
|
|
598
|
+
↵ select ↑↓ navigate ^k actions"
|
|
599
|
+
`);
|
|
600
|
+
}, 15000);
|
|
601
|
+
//# sourceMappingURL=list-with-sections.vitest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-with-sections.vitest.js","sourceRoot":"","sources":["../../src/examples/list-with-sections.vitest.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Example demonstrating vertical centering of content within a scrollbox.
|
|
3
|
+
* The content (header + items) should be vertically centered when smaller than viewport.
|
|
4
|
+
*/
|
|
5
|
+
export declare function ScrollboxVerticalCenteringExample(): any;
|
|
6
|
+
//# sourceMappingURL=scrollbox-vertical-centering.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrollbox-vertical-centering.d.ts","sourceRoot":"","sources":["../../src/examples/scrollbox-vertical-centering.tsx"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAgB,iCAAiC,IAAI,GAAG,CAgCvD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
|
|
2
|
+
import { renderWithProviders } from 'termcast';
|
|
3
|
+
import { ScrollBox } from 'termcast/src/internal/scrollbox';
|
|
4
|
+
import { Theme } from 'termcast/src/theme';
|
|
5
|
+
/**
|
|
6
|
+
* Example demonstrating vertical centering of content within a scrollbox.
|
|
7
|
+
* The content (header + items) should be vertically centered when smaller than viewport.
|
|
8
|
+
*/
|
|
9
|
+
export function ScrollboxVerticalCenteringExample() {
|
|
10
|
+
return (_jsx("box", { flexDirection: 'row', flexGrow: 1, justifyContent: 'center', children: _jsxs("box", { flexGrow: 1, flexDirection: 'column', maxWidth: 60, children: [_jsxs(ScrollBox, { flexGrow: 1, style: {
|
|
11
|
+
contentOptions: {
|
|
12
|
+
justifyContent: 'center',
|
|
13
|
+
},
|
|
14
|
+
}, children: [_jsx("box", { flexShrink: 0, paddingBottom: 1, children: _jsx("text", { fg: Theme.textMuted, children: "Header/Progress Bar Above" }) }), _jsxs("box", { flexDirection: 'column', gap: 1, children: [_jsx("text", { fg: Theme.text, children: "Item 1" }), _jsx("text", { fg: Theme.text, children: "Item 2" }), _jsx("text", { fg: Theme.text, children: "Item 3" })] })] }), _jsx("box", { flexShrink: 0, paddingTop: 1, children: _jsx("text", { fg: Theme.textMuted, children: "Footer" }) })] }) }));
|
|
15
|
+
}
|
|
16
|
+
await renderWithProviders(_jsx(ScrollboxVerticalCenteringExample, {}));
|
|
17
|
+
//# sourceMappingURL=scrollbox-vertical-centering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrollbox-vertical-centering.js","sourceRoot":"","sources":["../../src/examples/scrollbox-vertical-centering.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE1C;;;GAGG;AACH,MAAM,UAAU,iCAAiC;IAC/C,OAAO,CACL,cAAK,aAAa,EAAC,KAAK,EAAC,QAAQ,EAAE,CAAC,EAAE,cAAc,EAAC,QAAQ,YAC3D,eAAK,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,EAAE,aAEnD,MAAC,SAAS,IACR,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE;wBACL,cAAc,EAAE;4BACd,cAAc,EAAE,QAAQ;yBACzB;qBACF,aAGD,cAAK,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,YAClC,eAAM,EAAE,EAAE,KAAK,CAAC,SAAS,0CAAkC,GACvD,EAEN,eAAK,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAChC,eAAM,EAAE,EAAE,KAAK,CAAC,IAAI,uBAAe,EACnC,eAAM,EAAE,EAAE,KAAK,CAAC,IAAI,uBAAe,EACnC,eAAM,EAAE,EAAE,KAAK,CAAC,IAAI,uBAAe,IAC/B,IACI,EAGZ,cAAK,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,YAC/B,eAAM,EAAE,EAAE,KAAK,CAAC,SAAS,uBAAe,GACpC,IACF,GACF,CACP,CAAA;AACH,CAAC;AAED,MAAM,mBAAmB,CAAC,KAAC,iCAAiC,KAAG,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-file-picker.vitest.d.ts","sourceRoot":"","sources":["../../src/examples/simple-file-picker.vitest.tsx"],"names":[],"mappings":""}
|