termcast 1.3.21 → 1.3.24
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/build.d.ts.map +1 -1
- package/dist/build.js +2 -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 +67 -31
- 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.map +1 -1
- package/dist/compile.js +22 -5
- 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 +100 -28
- 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 +140 -62
- 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/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/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 +25 -1
- package/dist/utils/run-command.d.ts.map +1 -1
- package/dist/utils/run-command.js +47 -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 -10
- 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/build.test.tsx +52 -0
- package/src/build.tsx +2 -1
- package/src/cli.tsx +78 -37
- package/src/compile.tsx +22 -5
- 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 +152 -34
- 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 +193 -74
- 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 +198 -92
- 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 +213 -89
- package/src/examples/list-with-toast.vitest.tsx +4 -4
- package/src/examples/simple-file-picker.vitest.tsx +61 -471
- package/src/examples/simple-grid.vitest.tsx +238 -233
- package/src/examples/simple-navigation.tsx +15 -7
- package/src/examples/simple-navigation.vitest.tsx +121 -210
- 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/extensions/dev.tsx +74 -7
- package/src/extensions/dev.vitest.tsx +97 -31
- 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/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 +75 -6
|
@@ -0,0 +1,854 @@
|
|
|
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/form-dropdown.tsx'],
|
|
8
|
+
cols: 70,
|
|
9
|
+
rows: 50,
|
|
10
|
+
});
|
|
11
|
+
});
|
|
12
|
+
afterEach(() => {
|
|
13
|
+
session?.close();
|
|
14
|
+
});
|
|
15
|
+
test('form dropdown shows inline options', async () => {
|
|
16
|
+
const initialSnapshot = await session.text({
|
|
17
|
+
waitFor: (text) => {
|
|
18
|
+
return (/Dropdown Component Demo/i.test(text) &&
|
|
19
|
+
text.includes('Programming Languages') &&
|
|
20
|
+
text.includes('TypeScript') &&
|
|
21
|
+
text.includes('Editor Theme') &&
|
|
22
|
+
text.includes('Task Priority') &&
|
|
23
|
+
text.includes('Critical') &&
|
|
24
|
+
text.includes('↵ submit'));
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
expect(initialSnapshot).toMatchInlineSnapshot(`
|
|
28
|
+
"
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
▪ Dropdown Component Demo
|
|
36
|
+
│ Test dropdown with sections, multiple selection, and more
|
|
37
|
+
│ features
|
|
38
|
+
│
|
|
39
|
+
◆ Programming Languages
|
|
40
|
+
┃ TypeScript, Rust
|
|
41
|
+
┃
|
|
42
|
+
┃ Frontend
|
|
43
|
+
┃› ● TypeScript
|
|
44
|
+
┃ ○ JavaScript
|
|
45
|
+
┃ ○ React
|
|
46
|
+
┃ ○ Vue
|
|
47
|
+
┃ ↑↓ to see more options
|
|
48
|
+
┃
|
|
49
|
+
┃ Choose your preferred programming languages
|
|
50
|
+
┃
|
|
51
|
+
◇ Editor Theme
|
|
52
|
+
│ Dracula
|
|
53
|
+
│
|
|
54
|
+
│ ○ Monokai
|
|
55
|
+
│ ● Dracula
|
|
56
|
+
│ ○ One Dark
|
|
57
|
+
│ ○ Nord
|
|
58
|
+
│ ↑↓ to see more options
|
|
59
|
+
│
|
|
60
|
+
│ Select your preferred editor color theme
|
|
61
|
+
│
|
|
62
|
+
◇ Task Priority
|
|
63
|
+
│ Select priority level
|
|
64
|
+
│
|
|
65
|
+
│ ○ Critical
|
|
66
|
+
│ ○ High
|
|
67
|
+
│ ○ Medium
|
|
68
|
+
│ ○ Low
|
|
69
|
+
└
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
alt ↵ submit ↑↓ navigate ^k actions"
|
|
77
|
+
`);
|
|
78
|
+
await session.press('space');
|
|
79
|
+
const afterToggleTypeScriptSnapshot = await session.text();
|
|
80
|
+
expect(afterToggleTypeScriptSnapshot).toMatchInlineSnapshot(`
|
|
81
|
+
"
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
▪ Dropdown Component Demo
|
|
89
|
+
│ Test dropdown with sections, multiple selection, and more
|
|
90
|
+
│ features
|
|
91
|
+
│
|
|
92
|
+
◆ Programming Languages
|
|
93
|
+
┃ Rust
|
|
94
|
+
┃
|
|
95
|
+
┃ Frontend
|
|
96
|
+
┃› ○ TypeScript
|
|
97
|
+
┃ ○ JavaScript
|
|
98
|
+
┃ ○ React
|
|
99
|
+
┃ ○ Vue
|
|
100
|
+
┃ ↑↓ to see more options
|
|
101
|
+
┃
|
|
102
|
+
┃ Choose your preferred programming languages
|
|
103
|
+
┃
|
|
104
|
+
◇ Editor Theme
|
|
105
|
+
│ Dracula
|
|
106
|
+
│
|
|
107
|
+
│ ○ Monokai
|
|
108
|
+
│ ● Dracula
|
|
109
|
+
│ ○ One Dark
|
|
110
|
+
│ ○ Nord
|
|
111
|
+
│ ↑↓ to see more options
|
|
112
|
+
│
|
|
113
|
+
│ Select your preferred editor color theme
|
|
114
|
+
│
|
|
115
|
+
◇ Task Priority
|
|
116
|
+
│ Select priority level
|
|
117
|
+
│
|
|
118
|
+
│ ○ Critical
|
|
119
|
+
│ ○ High
|
|
120
|
+
│ ○ Medium
|
|
121
|
+
│ ○ Low
|
|
122
|
+
└
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
alt ↵ submit ↑↓ navigate ^k actions"
|
|
130
|
+
`);
|
|
131
|
+
await session.press('down');
|
|
132
|
+
const afterDownSnapshot = await session.text();
|
|
133
|
+
expect(afterDownSnapshot).toMatchInlineSnapshot(`
|
|
134
|
+
"
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
▪ Dropdown Component Demo
|
|
142
|
+
│ Test dropdown with sections, multiple selection, and more
|
|
143
|
+
│ features
|
|
144
|
+
│
|
|
145
|
+
◆ Programming Languages
|
|
146
|
+
┃ Rust
|
|
147
|
+
┃
|
|
148
|
+
┃ Frontend
|
|
149
|
+
┃ ○ TypeScript
|
|
150
|
+
┃› ○ JavaScript
|
|
151
|
+
┃ ○ React
|
|
152
|
+
┃ ○ Vue
|
|
153
|
+
┃ ↑↓ to see more options
|
|
154
|
+
┃
|
|
155
|
+
┃ Choose your preferred programming languages
|
|
156
|
+
┃
|
|
157
|
+
◇ Editor Theme
|
|
158
|
+
│ Dracula
|
|
159
|
+
│
|
|
160
|
+
│ ○ Monokai
|
|
161
|
+
│ ● Dracula
|
|
162
|
+
│ ○ One Dark
|
|
163
|
+
│ ○ Nord
|
|
164
|
+
│ ↑↓ to see more options
|
|
165
|
+
│
|
|
166
|
+
│ Select your preferred editor color theme
|
|
167
|
+
│
|
|
168
|
+
◇ Task Priority
|
|
169
|
+
│ Select priority level
|
|
170
|
+
│
|
|
171
|
+
│ ○ Critical
|
|
172
|
+
│ ○ High
|
|
173
|
+
│ ○ Medium
|
|
174
|
+
│ ○ Low
|
|
175
|
+
└
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
alt ↵ submit ↑↓ navigate ^k actions"
|
|
183
|
+
`);
|
|
184
|
+
await session.press('down');
|
|
185
|
+
await session.press('down');
|
|
186
|
+
await session.press('down');
|
|
187
|
+
await session.press('down');
|
|
188
|
+
const afterMultipleDownSnapshot = await session.text();
|
|
189
|
+
expect(afterMultipleDownSnapshot).toMatchInlineSnapshot(`
|
|
190
|
+
"
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
▪ Dropdown Component Demo
|
|
198
|
+
│ Test dropdown with sections, multiple selection, and more
|
|
199
|
+
│ features
|
|
200
|
+
│
|
|
201
|
+
◆ Programming Languages
|
|
202
|
+
┃ Rust
|
|
203
|
+
┃
|
|
204
|
+
┃ Frontend
|
|
205
|
+
┃ ○ React
|
|
206
|
+
┃ ○ Vue
|
|
207
|
+
┃ ○ Svelte
|
|
208
|
+
┃ Backend
|
|
209
|
+
┃› ○ Node.js
|
|
210
|
+
┃ ↑↓ to see more options
|
|
211
|
+
┃
|
|
212
|
+
┃ Choose your preferred programming languages
|
|
213
|
+
┃
|
|
214
|
+
◇ Editor Theme
|
|
215
|
+
│ Dracula
|
|
216
|
+
│
|
|
217
|
+
│ ○ Monokai
|
|
218
|
+
│ ● Dracula
|
|
219
|
+
│ ○ One Dark
|
|
220
|
+
│ ○ Nord
|
|
221
|
+
│ ↑↓ to see more options
|
|
222
|
+
│
|
|
223
|
+
│ Select your preferred editor color theme
|
|
224
|
+
│
|
|
225
|
+
◇ Task Priority
|
|
226
|
+
│ Select priority level
|
|
227
|
+
│
|
|
228
|
+
│ ○ Critical
|
|
229
|
+
│ ○ High
|
|
230
|
+
│ ○ Medium
|
|
231
|
+
└ ○ Low
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
alt ↵ submit ↑↓ navigate ^k actions"
|
|
239
|
+
`);
|
|
240
|
+
await session.press('enter');
|
|
241
|
+
const afterSelectSnapshot = await session.text();
|
|
242
|
+
expect(afterSelectSnapshot).toMatchInlineSnapshot(`
|
|
243
|
+
"
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
▪ Dropdown Component Demo
|
|
251
|
+
│ Test dropdown with sections, multiple selection, and more
|
|
252
|
+
│ features
|
|
253
|
+
│
|
|
254
|
+
◆ Programming Languages
|
|
255
|
+
┃ Rust, Node.js
|
|
256
|
+
┃
|
|
257
|
+
┃ Frontend
|
|
258
|
+
┃ ○ React
|
|
259
|
+
┃ ○ Vue
|
|
260
|
+
┃ ○ Svelte
|
|
261
|
+
┃ Backend
|
|
262
|
+
┃› ● Node.js
|
|
263
|
+
┃ ↑↓ to see more options
|
|
264
|
+
┃
|
|
265
|
+
┃ Choose your preferred programming languages
|
|
266
|
+
┃
|
|
267
|
+
◇ Editor Theme
|
|
268
|
+
│ Dracula
|
|
269
|
+
│
|
|
270
|
+
│ ○ Monokai
|
|
271
|
+
│ ● Dracula
|
|
272
|
+
│ ○ One Dark
|
|
273
|
+
│ ○ Nord
|
|
274
|
+
│ ↑↓ to see more options
|
|
275
|
+
│
|
|
276
|
+
│ Select your preferred editor color theme
|
|
277
|
+
│
|
|
278
|
+
◇ Task Priority
|
|
279
|
+
│ Select priority level
|
|
280
|
+
│
|
|
281
|
+
│ ○ Critical
|
|
282
|
+
│ ○ High
|
|
283
|
+
│ ○ Medium
|
|
284
|
+
└ ○ Low
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
alt ↵ submit ↑↓ navigate ^k actions"
|
|
292
|
+
`);
|
|
293
|
+
}, 10000);
|
|
294
|
+
test('form dropdown keyboard navigation', async () => {
|
|
295
|
+
await session.text({
|
|
296
|
+
waitFor: (text) => {
|
|
297
|
+
return /Dropdown Component Demo/i.test(text);
|
|
298
|
+
},
|
|
299
|
+
});
|
|
300
|
+
await session.press('space');
|
|
301
|
+
const afterToggleSnapshot = await session.text();
|
|
302
|
+
expect(afterToggleSnapshot).toMatchInlineSnapshot(`
|
|
303
|
+
"
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
▪ Dropdown Component Demo
|
|
311
|
+
│ Test dropdown with sections, multiple selection, and more
|
|
312
|
+
│ features
|
|
313
|
+
│
|
|
314
|
+
◆ Programming Languages
|
|
315
|
+
┃ Rust
|
|
316
|
+
┃
|
|
317
|
+
┃ Frontend
|
|
318
|
+
┃› ○ TypeScript
|
|
319
|
+
┃ ○ JavaScript
|
|
320
|
+
┃ ○ React
|
|
321
|
+
┃ ○ Vue
|
|
322
|
+
┃ ↑↓ to see more options
|
|
323
|
+
┃
|
|
324
|
+
┃ Choose your preferred programming languages
|
|
325
|
+
┃
|
|
326
|
+
◇ Editor Theme
|
|
327
|
+
│ Dracula
|
|
328
|
+
│
|
|
329
|
+
│ ○ Monokai
|
|
330
|
+
│ ● Dracula
|
|
331
|
+
│ ○ One Dark
|
|
332
|
+
│ ○ Nord
|
|
333
|
+
│ ↑↓ to see more options
|
|
334
|
+
│
|
|
335
|
+
│ Select your preferred editor color theme
|
|
336
|
+
│
|
|
337
|
+
◇ Task Priority
|
|
338
|
+
│ Select priority level
|
|
339
|
+
│
|
|
340
|
+
│ ○ Critical
|
|
341
|
+
│ ○ High
|
|
342
|
+
│ ○ Medium
|
|
343
|
+
│ ○ Low
|
|
344
|
+
└
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
alt ↵ submit ↑↓ navigate ^k actions"
|
|
352
|
+
`);
|
|
353
|
+
await session.press('down');
|
|
354
|
+
await session.press('down');
|
|
355
|
+
await session.press('down');
|
|
356
|
+
await session.press('down');
|
|
357
|
+
const lastVisibleSnapshot = await session.text();
|
|
358
|
+
expect(lastVisibleSnapshot).toMatchInlineSnapshot(`
|
|
359
|
+
"
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
▪ Dropdown Component Demo
|
|
367
|
+
│ Test dropdown with sections, multiple selection, and more
|
|
368
|
+
│ features
|
|
369
|
+
│
|
|
370
|
+
◆ Programming Languages
|
|
371
|
+
┃ Rust
|
|
372
|
+
┃
|
|
373
|
+
┃ Frontend
|
|
374
|
+
┃ ○ JavaScript
|
|
375
|
+
┃ ○ React
|
|
376
|
+
┃ ○ Vue
|
|
377
|
+
┃› ○ Svelte
|
|
378
|
+
┃ ↑↓ to see more options
|
|
379
|
+
┃
|
|
380
|
+
┃ Choose your preferred programming languages
|
|
381
|
+
┃
|
|
382
|
+
◇ Editor Theme
|
|
383
|
+
│ Dracula
|
|
384
|
+
│
|
|
385
|
+
│ ○ Monokai
|
|
386
|
+
│ ● Dracula
|
|
387
|
+
│ ○ One Dark
|
|
388
|
+
│ ○ Nord
|
|
389
|
+
│ ↑↓ to see more options
|
|
390
|
+
│
|
|
391
|
+
│ Select your preferred editor color theme
|
|
392
|
+
│
|
|
393
|
+
◇ Task Priority
|
|
394
|
+
│ Select priority level
|
|
395
|
+
│
|
|
396
|
+
│ ○ Critical
|
|
397
|
+
│ ○ High
|
|
398
|
+
│ ○ Medium
|
|
399
|
+
│ ○ Low
|
|
400
|
+
└
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
|
|
407
|
+
alt ↵ submit ↑↓ navigate ^k actions"
|
|
408
|
+
`);
|
|
409
|
+
await session.press('down');
|
|
410
|
+
const nextPageSnapshot = await session.text();
|
|
411
|
+
expect(nextPageSnapshot).toMatchInlineSnapshot(`
|
|
412
|
+
"
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
|
|
418
|
+
|
|
419
|
+
▪ Dropdown Component Demo
|
|
420
|
+
│ Test dropdown with sections, multiple selection, and more
|
|
421
|
+
│ features
|
|
422
|
+
│
|
|
423
|
+
◆ Programming Languages
|
|
424
|
+
┃ Rust
|
|
425
|
+
┃
|
|
426
|
+
┃ Frontend
|
|
427
|
+
┃ ○ React
|
|
428
|
+
┃ ○ Vue
|
|
429
|
+
┃ ○ Svelte
|
|
430
|
+
┃ Backend
|
|
431
|
+
┃› ○ Node.js
|
|
432
|
+
┃ ↑↓ to see more options
|
|
433
|
+
┃
|
|
434
|
+
┃ Choose your preferred programming languages
|
|
435
|
+
┃
|
|
436
|
+
◇ Editor Theme
|
|
437
|
+
│ Dracula
|
|
438
|
+
│
|
|
439
|
+
│ ○ Monokai
|
|
440
|
+
│ ● Dracula
|
|
441
|
+
│ ○ One Dark
|
|
442
|
+
│ ○ Nord
|
|
443
|
+
│ ↑↓ to see more options
|
|
444
|
+
│
|
|
445
|
+
│ Select your preferred editor color theme
|
|
446
|
+
│
|
|
447
|
+
◇ Task Priority
|
|
448
|
+
│ Select priority level
|
|
449
|
+
│
|
|
450
|
+
│ ○ Critical
|
|
451
|
+
│ ○ High
|
|
452
|
+
│ ○ Medium
|
|
453
|
+
└ ○ Low
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
alt ↵ submit ↑↓ navigate ^k actions"
|
|
461
|
+
`);
|
|
462
|
+
await session.press('up');
|
|
463
|
+
const backToPreviousPageSnapshot = await session.text();
|
|
464
|
+
expect(backToPreviousPageSnapshot).toMatchInlineSnapshot(`
|
|
465
|
+
"
|
|
466
|
+
|
|
467
|
+
|
|
468
|
+
|
|
469
|
+
|
|
470
|
+
|
|
471
|
+
|
|
472
|
+
▪ Dropdown Component Demo
|
|
473
|
+
│ Test dropdown with sections, multiple selection, and more
|
|
474
|
+
│ features
|
|
475
|
+
│
|
|
476
|
+
◆ Programming Languages
|
|
477
|
+
┃ Rust
|
|
478
|
+
┃
|
|
479
|
+
┃ Frontend
|
|
480
|
+
┃ ○ React
|
|
481
|
+
┃ ○ Vue
|
|
482
|
+
┃› ○ Svelte
|
|
483
|
+
┃ Backend
|
|
484
|
+
┃ ○ Node.js
|
|
485
|
+
┃ ↑↓ to see more options
|
|
486
|
+
┃
|
|
487
|
+
┃ Choose your preferred programming languages
|
|
488
|
+
┃
|
|
489
|
+
◇ Editor Theme
|
|
490
|
+
│ Dracula
|
|
491
|
+
│
|
|
492
|
+
│ ○ Monokai
|
|
493
|
+
│ ● Dracula
|
|
494
|
+
│ ○ One Dark
|
|
495
|
+
│ ○ Nord
|
|
496
|
+
│ ↑↓ to see more options
|
|
497
|
+
│
|
|
498
|
+
│ Select your preferred editor color theme
|
|
499
|
+
│
|
|
500
|
+
◇ Task Priority
|
|
501
|
+
│ Select priority level
|
|
502
|
+
│
|
|
503
|
+
│ ○ Critical
|
|
504
|
+
│ ○ High
|
|
505
|
+
│ ○ Medium
|
|
506
|
+
└ ○ Low
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
|
|
510
|
+
|
|
511
|
+
|
|
512
|
+
|
|
513
|
+
alt ↵ submit ↑↓ navigate ^k actions"
|
|
514
|
+
`);
|
|
515
|
+
await session.press('esc');
|
|
516
|
+
const afterEscapeSnapshot = await session.text();
|
|
517
|
+
expect(afterEscapeSnapshot).toMatchInlineSnapshot(`
|
|
518
|
+
"
|
|
519
|
+
|
|
520
|
+
|
|
521
|
+
|
|
522
|
+
|
|
523
|
+
|
|
524
|
+
|
|
525
|
+
▪ Dropdown Component Demo
|
|
526
|
+
│ Test dropdown with sections, multiple selection, and more
|
|
527
|
+
│ features
|
|
528
|
+
│
|
|
529
|
+
◆ Programming Languages
|
|
530
|
+
┃ Rust
|
|
531
|
+
┃
|
|
532
|
+
┃ Frontend
|
|
533
|
+
┃ ○ React
|
|
534
|
+
┃ ○ Vue
|
|
535
|
+
┃› ○ Svelte
|
|
536
|
+
┃ Backend
|
|
537
|
+
┃ ○ Node.js
|
|
538
|
+
┃ ↑↓ to see more options
|
|
539
|
+
┃
|
|
540
|
+
┃ Choose your preferred programming languages
|
|
541
|
+
┃
|
|
542
|
+
◇ Editor Theme
|
|
543
|
+
│ Dracula
|
|
544
|
+
│
|
|
545
|
+
│ ○ Monokai
|
|
546
|
+
│ ● Dracula
|
|
547
|
+
│ ○ One Dark
|
|
548
|
+
│ ○ Nord
|
|
549
|
+
│ ↑↓ to see more options
|
|
550
|
+
│
|
|
551
|
+
│ Select your preferred editor color theme
|
|
552
|
+
│
|
|
553
|
+
◇ Task Priority
|
|
554
|
+
│ Select priority level
|
|
555
|
+
│
|
|
556
|
+
│ ○ Critical
|
|
557
|
+
│ ○ High
|
|
558
|
+
│ ○ Medium
|
|
559
|
+
└ ○ Low
|
|
560
|
+
|
|
561
|
+
|
|
562
|
+
|
|
563
|
+
|
|
564
|
+
|
|
565
|
+
|
|
566
|
+
alt ↵ submit ↑↓ navigate ^k actions"
|
|
567
|
+
`);
|
|
568
|
+
}, 10000);
|
|
569
|
+
test('form dropdown with default value', async () => {
|
|
570
|
+
await session.text({
|
|
571
|
+
waitFor: (text) => {
|
|
572
|
+
return /Dropdown Component Demo/i.test(text);
|
|
573
|
+
},
|
|
574
|
+
});
|
|
575
|
+
await session.press('tab');
|
|
576
|
+
const secondDropdownFocusedSnapshot = await session.text();
|
|
577
|
+
expect(secondDropdownFocusedSnapshot).toMatchInlineSnapshot(`
|
|
578
|
+
"
|
|
579
|
+
|
|
580
|
+
|
|
581
|
+
|
|
582
|
+
|
|
583
|
+
|
|
584
|
+
|
|
585
|
+
▪ Dropdown Component Demo
|
|
586
|
+
│ Test dropdown with sections, multiple selection, and more
|
|
587
|
+
│ features
|
|
588
|
+
│
|
|
589
|
+
◇ Programming Languages
|
|
590
|
+
│ TypeScript, Rust
|
|
591
|
+
│
|
|
592
|
+
│ Frontend
|
|
593
|
+
│ ● TypeScript
|
|
594
|
+
│ ○ JavaScript
|
|
595
|
+
│ ○ React
|
|
596
|
+
│ ○ Vue
|
|
597
|
+
│ ↑↓ to see more options
|
|
598
|
+
│
|
|
599
|
+
│ Choose your preferred programming languages
|
|
600
|
+
│
|
|
601
|
+
◆ Editor Theme
|
|
602
|
+
┃ Dracula
|
|
603
|
+
┃
|
|
604
|
+
┃› ○ Monokai
|
|
605
|
+
┃ ● Dracula
|
|
606
|
+
┃ ○ One Dark
|
|
607
|
+
┃ ○ Nord
|
|
608
|
+
┃ ↑↓ to see more options
|
|
609
|
+
┃
|
|
610
|
+
┃ Select your preferred editor color theme
|
|
611
|
+
┃
|
|
612
|
+
◇ Task Priority
|
|
613
|
+
│ Select priority level
|
|
614
|
+
│
|
|
615
|
+
│ ○ Critical
|
|
616
|
+
│ ○ High
|
|
617
|
+
│ ○ Medium
|
|
618
|
+
│ ○ Low
|
|
619
|
+
└
|
|
620
|
+
|
|
621
|
+
|
|
622
|
+
|
|
623
|
+
|
|
624
|
+
|
|
625
|
+
|
|
626
|
+
alt ↵ submit ↑↓ navigate ^k actions"
|
|
627
|
+
`);
|
|
628
|
+
await session.press('space');
|
|
629
|
+
const afterToggleMonokaiSnapshot = await session.text();
|
|
630
|
+
expect(afterToggleMonokaiSnapshot).toMatchInlineSnapshot(`
|
|
631
|
+
"
|
|
632
|
+
|
|
633
|
+
|
|
634
|
+
|
|
635
|
+
|
|
636
|
+
|
|
637
|
+
|
|
638
|
+
▪ Dropdown Component Demo
|
|
639
|
+
│ Test dropdown with sections, multiple selection, and more
|
|
640
|
+
│ features
|
|
641
|
+
│
|
|
642
|
+
◇ Programming Languages
|
|
643
|
+
│ TypeScript, Rust
|
|
644
|
+
│
|
|
645
|
+
│ Frontend
|
|
646
|
+
│ ● TypeScript
|
|
647
|
+
│ ○ JavaScript
|
|
648
|
+
│ ○ React
|
|
649
|
+
│ ○ Vue
|
|
650
|
+
│ ↑↓ to see more options
|
|
651
|
+
│
|
|
652
|
+
│ Choose your preferred programming languages
|
|
653
|
+
│
|
|
654
|
+
◆ Editor Theme
|
|
655
|
+
┃ Monokai
|
|
656
|
+
┃
|
|
657
|
+
┃› ● Monokai
|
|
658
|
+
┃ ○ Dracula
|
|
659
|
+
┃ ○ One Dark
|
|
660
|
+
┃ ○ Nord
|
|
661
|
+
┃ ↑↓ to see more options
|
|
662
|
+
┃
|
|
663
|
+
┃ Select your preferred editor color theme
|
|
664
|
+
┃
|
|
665
|
+
◇ Task Priority
|
|
666
|
+
│ Select priority level
|
|
667
|
+
│
|
|
668
|
+
│ ○ Critical
|
|
669
|
+
│ ○ High
|
|
670
|
+
│ ○ Medium
|
|
671
|
+
│ ○ Low
|
|
672
|
+
└
|
|
673
|
+
|
|
674
|
+
|
|
675
|
+
|
|
676
|
+
|
|
677
|
+
|
|
678
|
+
|
|
679
|
+
alt ↵ submit ↑↓ navigate ^k actions"
|
|
680
|
+
`);
|
|
681
|
+
await session.press('esc');
|
|
682
|
+
await session.press(['alt', 'enter']);
|
|
683
|
+
const afterSubmitSnapshot = await session.text({
|
|
684
|
+
waitFor: (text) => {
|
|
685
|
+
return /Submitted Data/i.test(text);
|
|
686
|
+
},
|
|
687
|
+
});
|
|
688
|
+
expect(afterSubmitSnapshot).toMatchInlineSnapshot(`
|
|
689
|
+
"
|
|
690
|
+
|
|
691
|
+
|
|
692
|
+
▪ Dropdown Component Demo █
|
|
693
|
+
│ Test dropdown with sections, multiple selection, and more █
|
|
694
|
+
│ features █
|
|
695
|
+
│ █
|
|
696
|
+
◇ Programming Languages █
|
|
697
|
+
│ TypeScript, Rust █
|
|
698
|
+
│ █
|
|
699
|
+
│ Frontend █
|
|
700
|
+
│ ● TypeScript █
|
|
701
|
+
│ ○ JavaScript █
|
|
702
|
+
│ ○ React █
|
|
703
|
+
│ ○ Vue █
|
|
704
|
+
│ ↑↓ to see more options █
|
|
705
|
+
│ █
|
|
706
|
+
│ Choose your preferred programming languages
|
|
707
|
+
│
|
|
708
|
+
◆ Editor Theme
|
|
709
|
+
┃ Monokai
|
|
710
|
+
┃
|
|
711
|
+
┃› ● Monokai
|
|
712
|
+
┃ ○ Dracula
|
|
713
|
+
┃ ○ One Dark
|
|
714
|
+
┃ ○ Nord
|
|
715
|
+
┃ ↑↓ to see more options
|
|
716
|
+
┃
|
|
717
|
+
┃ Select your preferred editor color theme
|
|
718
|
+
┃
|
|
719
|
+
◇ Task Priority
|
|
720
|
+
│ Select priority level
|
|
721
|
+
│
|
|
722
|
+
│ ○ Critical
|
|
723
|
+
│ ○ High
|
|
724
|
+
│ ○ Medium
|
|
725
|
+
│ ○ Low
|
|
726
|
+
▪ Submitted Data
|
|
727
|
+
│ {
|
|
728
|
+
│ "languages": [
|
|
729
|
+
│ "typescript",
|
|
730
|
+
│ "rust"
|
|
731
|
+
│ ],
|
|
732
|
+
│ "theme": "monokai",
|
|
733
|
+
│ "priority": ""
|
|
734
|
+
│ }
|
|
735
|
+
|
|
736
|
+
|
|
737
|
+
alt ↵ submit ↑↓ navigate ^k actions"
|
|
738
|
+
`);
|
|
739
|
+
}, 10000);
|
|
740
|
+
test('selecting second-to-last visible item should not scroll', async () => {
|
|
741
|
+
await session.text({
|
|
742
|
+
waitFor: (text) => {
|
|
743
|
+
return /Dropdown Component Demo/i.test(text);
|
|
744
|
+
},
|
|
745
|
+
});
|
|
746
|
+
await session.press('down');
|
|
747
|
+
await session.press('down');
|
|
748
|
+
const beforeSelectSnapshot = await session.text();
|
|
749
|
+
expect(beforeSelectSnapshot).toMatchInlineSnapshot(`
|
|
750
|
+
"
|
|
751
|
+
|
|
752
|
+
|
|
753
|
+
|
|
754
|
+
|
|
755
|
+
|
|
756
|
+
|
|
757
|
+
▪ Dropdown Component Demo
|
|
758
|
+
│ Test dropdown with sections, multiple selection, and more
|
|
759
|
+
│ features
|
|
760
|
+
│
|
|
761
|
+
◆ Programming Languages
|
|
762
|
+
┃ TypeScript, Rust
|
|
763
|
+
┃
|
|
764
|
+
┃ Frontend
|
|
765
|
+
┃ ● TypeScript
|
|
766
|
+
┃ ○ JavaScript
|
|
767
|
+
┃› ○ React
|
|
768
|
+
┃ ○ Vue
|
|
769
|
+
┃ ↑↓ to see more options
|
|
770
|
+
┃
|
|
771
|
+
┃ Choose your preferred programming languages
|
|
772
|
+
┃
|
|
773
|
+
◇ Editor Theme
|
|
774
|
+
│ Dracula
|
|
775
|
+
│
|
|
776
|
+
│ ○ Monokai
|
|
777
|
+
│ ● Dracula
|
|
778
|
+
│ ○ One Dark
|
|
779
|
+
│ ○ Nord
|
|
780
|
+
│ ↑↓ to see more options
|
|
781
|
+
│
|
|
782
|
+
│ Select your preferred editor color theme
|
|
783
|
+
│
|
|
784
|
+
◇ Task Priority
|
|
785
|
+
│ Select priority level
|
|
786
|
+
│
|
|
787
|
+
│ ○ Critical
|
|
788
|
+
│ ○ High
|
|
789
|
+
│ ○ Medium
|
|
790
|
+
│ ○ Low
|
|
791
|
+
└
|
|
792
|
+
|
|
793
|
+
|
|
794
|
+
|
|
795
|
+
|
|
796
|
+
|
|
797
|
+
|
|
798
|
+
alt ↵ submit ↑↓ navigate ^k actions"
|
|
799
|
+
`);
|
|
800
|
+
await session.press('enter');
|
|
801
|
+
const afterSelectSnapshot = await session.text();
|
|
802
|
+
expect(afterSelectSnapshot).toMatchInlineSnapshot(`
|
|
803
|
+
"
|
|
804
|
+
|
|
805
|
+
|
|
806
|
+
|
|
807
|
+
|
|
808
|
+
|
|
809
|
+
|
|
810
|
+
▪ Dropdown Component Demo
|
|
811
|
+
│ Test dropdown with sections, multiple selection, and more
|
|
812
|
+
│ features
|
|
813
|
+
│
|
|
814
|
+
◆ Programming Languages
|
|
815
|
+
┃ TypeScript, Rust, React
|
|
816
|
+
┃
|
|
817
|
+
┃ Frontend
|
|
818
|
+
┃ ● TypeScript
|
|
819
|
+
┃ ○ JavaScript
|
|
820
|
+
┃› ● React
|
|
821
|
+
┃ ○ Vue
|
|
822
|
+
┃ ↑↓ to see more options
|
|
823
|
+
┃
|
|
824
|
+
┃ Choose your preferred programming languages
|
|
825
|
+
┃
|
|
826
|
+
◇ Editor Theme
|
|
827
|
+
│ Dracula
|
|
828
|
+
│
|
|
829
|
+
│ ○ Monokai
|
|
830
|
+
│ ● Dracula
|
|
831
|
+
│ ○ One Dark
|
|
832
|
+
│ ○ Nord
|
|
833
|
+
│ ↑↓ to see more options
|
|
834
|
+
│
|
|
835
|
+
│ Select your preferred editor color theme
|
|
836
|
+
│
|
|
837
|
+
◇ Task Priority
|
|
838
|
+
│ Select priority level
|
|
839
|
+
│
|
|
840
|
+
│ ○ Critical
|
|
841
|
+
│ ○ High
|
|
842
|
+
│ ○ Medium
|
|
843
|
+
│ ○ Low
|
|
844
|
+
└
|
|
845
|
+
|
|
846
|
+
|
|
847
|
+
|
|
848
|
+
|
|
849
|
+
|
|
850
|
+
|
|
851
|
+
alt ↵ submit ↑↓ navigate ^k actions"
|
|
852
|
+
`);
|
|
853
|
+
}, 10000);
|
|
854
|
+
//# sourceMappingURL=form-dropdown.vitest.js.map
|