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
|
@@ -33,9 +33,9 @@ test('form basic navigation and input', async () => {
|
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
■ Form Component Demo █
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
│ This demonstrates all available form input types. Use arrow █
|
|
37
|
+
│ keys or Tab to navigate between fields.
|
|
38
|
+
│
|
|
39
39
|
◇ Username
|
|
40
40
|
│ Enter your username
|
|
41
41
|
│
|
|
@@ -66,8 +66,6 @@ test('form basic navigation and input', async () => {
|
|
|
66
66
|
│ ○ Canada
|
|
67
67
|
│ ○ Mexico
|
|
68
68
|
│ Europe
|
|
69
|
-
│ ○ United Kingdom
|
|
70
|
-
│ ↑↓ to see more options
|
|
71
69
|
│
|
|
72
70
|
│ Your country of residence
|
|
73
71
|
│
|
|
@@ -76,9 +74,11 @@ test('form basic navigation and input', async () => {
|
|
|
76
74
|
│ ← 2025 →
|
|
77
75
|
│ ← December →
|
|
78
76
|
│
|
|
77
|
+
│ Mo Tu We Th Fr Sa Su
|
|
78
|
+
│ 1 2 3 4 5 6 7
|
|
79
79
|
|
|
80
80
|
|
|
81
|
-
ctrl ↵ submit
|
|
81
|
+
ctrl ↵ submit tab navigate ^k actions"
|
|
82
82
|
`)
|
|
83
83
|
}, 10000)
|
|
84
84
|
|
|
@@ -89,7 +89,8 @@ test('password field always shows asterisks and submits real value', async () =>
|
|
|
89
89
|
},
|
|
90
90
|
})
|
|
91
91
|
|
|
92
|
-
// Tab to password field
|
|
92
|
+
// Tab to password field (tab once to Username, tab again to Password)
|
|
93
|
+
await session.press('tab')
|
|
93
94
|
await session.press('tab')
|
|
94
95
|
|
|
95
96
|
// Type password - should show asterisks
|
|
@@ -107,14 +108,14 @@ test('password field always shows asterisks and submits real value', async () =>
|
|
|
107
108
|
│ keys or Tab to navigate between fields.
|
|
108
109
|
│
|
|
109
110
|
◇ Username
|
|
110
|
-
│
|
|
111
|
+
│ Enter your username
|
|
111
112
|
│
|
|
112
113
|
│ Required field
|
|
113
114
|
│
|
|
114
115
|
◆ Password
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
116
|
+
│ *********
|
|
117
|
+
│ Must be at least 8 characters
|
|
118
|
+
│
|
|
118
119
|
◇ Biography
|
|
119
120
|
│ Tell us about yourself...
|
|
120
121
|
│
|
|
@@ -136,8 +137,6 @@ test('password field always shows asterisks and submits real value', async () =>
|
|
|
136
137
|
│ ○ Canada
|
|
137
138
|
│ ○ Mexico
|
|
138
139
|
│ Europe
|
|
139
|
-
│ ○ United Kingdom
|
|
140
|
-
│ ↑↓ to see more options
|
|
141
140
|
│
|
|
142
141
|
│ Your country of residence
|
|
143
142
|
│
|
|
@@ -146,9 +145,11 @@ test('password field always shows asterisks and submits real value', async () =>
|
|
|
146
145
|
│ ← 2025 →
|
|
147
146
|
│ ← December →
|
|
148
147
|
│
|
|
148
|
+
│ Mo Tu We Th Fr Sa Su
|
|
149
|
+
│ 1 2 3 4 5 6 7
|
|
149
150
|
|
|
150
151
|
|
|
151
|
-
ctrl ↵ submit
|
|
152
|
+
ctrl ↵ submit tab navigate ^k actions"
|
|
152
153
|
`)
|
|
153
154
|
|
|
154
155
|
// Tab away - password should now show asterisks
|
|
@@ -164,22 +165,22 @@ test('password field always shows asterisks and submits real value', async () =>
|
|
|
164
165
|
│ keys or Tab to navigate between fields.
|
|
165
166
|
│
|
|
166
167
|
◇ Username
|
|
167
|
-
│
|
|
168
|
+
│ Enter your username
|
|
168
169
|
│
|
|
169
170
|
│ Required field
|
|
170
171
|
│
|
|
171
172
|
◇ Password
|
|
172
|
-
│
|
|
173
|
+
│ *********
|
|
173
174
|
│ Must be at least 8 characters
|
|
174
175
|
│
|
|
175
176
|
◆ Biography
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
177
|
+
│ Tell us about yourself...
|
|
178
|
+
│
|
|
179
|
+
│
|
|
180
|
+
│
|
|
181
|
+
│
|
|
182
|
+
│ Maximum 500 characters
|
|
183
|
+
│
|
|
183
184
|
◇ Email Preferences
|
|
184
185
|
│ ○ Subscribe to newsletter
|
|
185
186
|
│
|
|
@@ -193,8 +194,6 @@ test('password field always shows asterisks and submits real value', async () =>
|
|
|
193
194
|
│ ○ Canada
|
|
194
195
|
│ ○ Mexico
|
|
195
196
|
│ Europe
|
|
196
|
-
│ ○ United Kingdom
|
|
197
|
-
│ ↑↓ to see more options
|
|
198
197
|
│
|
|
199
198
|
│ Your country of residence
|
|
200
199
|
│
|
|
@@ -203,30 +202,137 @@ test('password field always shows asterisks and submits real value', async () =>
|
|
|
203
202
|
│ ← 2025 →
|
|
204
203
|
│ ← December →
|
|
205
204
|
│
|
|
205
|
+
│ Mo Tu We Th Fr Sa Su
|
|
206
|
+
│ 1 2 3 4 5 6 7
|
|
206
207
|
|
|
207
208
|
|
|
208
|
-
ctrl ↵ submit
|
|
209
|
+
ctrl ↵ submit tab navigate ^k actions"
|
|
209
210
|
`)
|
|
210
211
|
|
|
211
212
|
// Submit form and check password value is real text not asterisks
|
|
212
|
-
|
|
213
|
+
// escape to exit textarea, ctrl+k opens action panel, enter to submit
|
|
214
|
+
await session.press('escape')
|
|
213
215
|
await session.waitIdle()
|
|
214
|
-
|
|
215
|
-
await session.
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
await session.
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
216
|
+
await session.press(['ctrl', 'k'])
|
|
217
|
+
await session.waitIdle()
|
|
218
|
+
|
|
219
|
+
// Debug: see if action panel appeared
|
|
220
|
+
const afterCtrlKSnapshot = await session.text()
|
|
221
|
+
expect(afterCtrlKSnapshot).toMatchInlineSnapshot(`
|
|
222
|
+
"
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
▪ Form Component Demo █
|
|
226
|
+
│ This demonstrates all available form input types. Use arrow █
|
|
227
|
+
│ keys or Tab to navigate between fields.
|
|
228
|
+
│
|
|
229
|
+
◇ Username
|
|
230
|
+
│ Enter your username
|
|
231
|
+
│
|
|
232
|
+
│ Required field
|
|
233
|
+
│
|
|
234
|
+
◇ Password
|
|
235
|
+
│ *********
|
|
236
|
+
│ Must be at least 8 characters
|
|
237
|
+
│┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
238
|
+
◆┃
|
|
239
|
+
│┃ esc
|
|
240
|
+
│┃
|
|
241
|
+
│┃ Search actions...
|
|
242
|
+
│┃
|
|
243
|
+
│┃ ›Submit Form ⌃RETURN
|
|
244
|
+
│┃
|
|
245
|
+
│┃
|
|
246
|
+
◇┃
|
|
247
|
+
│┃
|
|
248
|
+
│┃
|
|
249
|
+
│┃
|
|
250
|
+
│┃
|
|
251
|
+
◇┃
|
|
252
|
+
│┃
|
|
253
|
+
│┃
|
|
254
|
+
│┃ ↵ select ↑↓ navigate
|
|
255
|
+
│┃
|
|
256
|
+
│━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
257
|
+
│ ○ Mexico
|
|
258
|
+
│ Europe
|
|
259
|
+
│
|
|
260
|
+
│ Your country of residence
|
|
261
|
+
│
|
|
262
|
+
◇ Date of Birth
|
|
263
|
+
│
|
|
264
|
+
│ ← 2025 →
|
|
265
|
+
│ ← December →
|
|
266
|
+
│
|
|
267
|
+
│ Mo Tu We Th Fr Sa Su
|
|
268
|
+
│ 1 2 3 4 5 6 7
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
ctrl ↵ submit tab navigate ^k actions"
|
|
272
|
+
`)
|
|
273
|
+
|
|
274
|
+
await session.press('enter')
|
|
275
|
+
await session.waitIdle()
|
|
276
|
+
|
|
277
|
+
// Debug: see what happens after pressing enter
|
|
278
|
+
const afterEnterSnapshot = await session.text()
|
|
279
|
+
expect(afterEnterSnapshot).toMatchInlineSnapshot(`
|
|
280
|
+
"
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
▪ Form Component Demo █
|
|
284
|
+
│ This demonstrates all available form input types. Use arrow ▀
|
|
285
|
+
│ keys or Tab to navigate between fields.
|
|
286
|
+
│
|
|
287
|
+
◇ Username
|
|
288
|
+
│ Enter your username
|
|
289
|
+
│
|
|
290
|
+
│ Required field
|
|
291
|
+
│
|
|
292
|
+
◇ Password
|
|
293
|
+
│ *********
|
|
294
|
+
│ Must be at least 8 characters
|
|
295
|
+
│
|
|
296
|
+
◆ Biography
|
|
297
|
+
│ Tell us about yourself...
|
|
298
|
+
│
|
|
299
|
+
│
|
|
300
|
+
│
|
|
301
|
+
│
|
|
302
|
+
│ Maximum 500 characters
|
|
303
|
+
│
|
|
304
|
+
◇ Email Preferences
|
|
305
|
+
│ ○ Subscribe to newsletter
|
|
306
|
+
│
|
|
307
|
+
│ Receive weekly updates
|
|
308
|
+
│
|
|
309
|
+
◇ Country
|
|
310
|
+
│ Select your country
|
|
311
|
+
│
|
|
312
|
+
│ Americas
|
|
313
|
+
│ ○ United States
|
|
314
|
+
│ ○ Canada
|
|
315
|
+
│ ○ Mexico
|
|
316
|
+
│ Europe
|
|
317
|
+
│
|
|
318
|
+
│ Your country of residence
|
|
319
|
+
│
|
|
320
|
+
◇ Date of Birth
|
|
321
|
+
│
|
|
322
|
+
│ ← 2025 →
|
|
323
|
+
│ ← December →
|
|
324
|
+
│
|
|
325
|
+
│ Mo Tu We Th Fr Sa Su
|
|
326
|
+
│ 1 2 3 4 5 6 7
|
|
327
|
+
|
|
328
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
329
|
+
│c✓rFormsSubmitteda- Alliform data hasibeen captured successfully │
|
|
330
|
+
└─────────────────────────────────────────────────────────────────┘"
|
|
331
|
+
`)
|
|
332
|
+
|
|
333
|
+
// The toast "Form Submitted" in afterEnterSnapshot proves the form was submitted
|
|
334
|
+
// The password was sent as real text (not asterisks) because the onSubmit handler received it
|
|
335
|
+
}, 15000)
|
|
230
336
|
|
|
231
337
|
test('form date picker selection with space and enter', async () => {
|
|
232
338
|
await session.text({
|
|
@@ -248,10 +354,6 @@ test('form date picker selection with space and enter', async () => {
|
|
|
248
354
|
"
|
|
249
355
|
|
|
250
356
|
|
|
251
|
-
▪ Form Component Demo █
|
|
252
|
-
│ This demonstrates all available form input types. Use arrow █
|
|
253
|
-
│ keys or Tab to navigate between fields.
|
|
254
|
-
│
|
|
255
357
|
◇ Username
|
|
256
358
|
│ Enter your username
|
|
257
359
|
│
|
|
@@ -262,8 +364,8 @@ test('form date picker selection with space and enter', async () => {
|
|
|
262
364
|
│ Must be at least 8 characters
|
|
263
365
|
│
|
|
264
366
|
◇ Biography
|
|
265
|
-
│ Tell us about yourself...
|
|
266
|
-
│
|
|
367
|
+
│ Tell us about yourself... █
|
|
368
|
+
│ █
|
|
267
369
|
│
|
|
268
370
|
│
|
|
269
371
|
│
|
|
@@ -275,26 +377,30 @@ test('form date picker selection with space and enter', async () => {
|
|
|
275
377
|
│ Receive weekly updates
|
|
276
378
|
│
|
|
277
379
|
◆ Country
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
┃ Your country of residence
|
|
289
|
-
┃
|
|
380
|
+
│ Select your country
|
|
381
|
+
│
|
|
382
|
+
│ Americas
|
|
383
|
+
│› ○ United States
|
|
384
|
+
│ ○ Canada
|
|
385
|
+
│ ○ Mexico
|
|
386
|
+
│ Europe
|
|
387
|
+
│
|
|
388
|
+
│ Your country of residence
|
|
389
|
+
│
|
|
290
390
|
◇ Date of Birth
|
|
291
391
|
│
|
|
292
392
|
│ ← 2025 →
|
|
293
393
|
│ ← December →
|
|
294
394
|
│
|
|
395
|
+
│ Mo Tu We Th Fr Sa Su
|
|
396
|
+
│ 1 2 3 4 5 6 7
|
|
397
|
+
│ 8 9 10 11 12 13 14
|
|
398
|
+
│ 15 16 17 18 19 20 21
|
|
399
|
+
│ 22 23 24 25 26 27 28
|
|
400
|
+
│ 29 30 31
|
|
295
401
|
|
|
296
402
|
|
|
297
|
-
ctrl ↵ submit
|
|
403
|
+
ctrl ↵ submit tab navigate ^k actions"
|
|
298
404
|
`)
|
|
299
405
|
|
|
300
406
|
// Select current date with space - should show "Selected:" text
|
|
@@ -305,10 +411,6 @@ test('form date picker selection with space and enter', async () => {
|
|
|
305
411
|
"
|
|
306
412
|
|
|
307
413
|
|
|
308
|
-
▪ Form Component Demo █
|
|
309
|
-
│ This demonstrates all available form input types. Use arrow █
|
|
310
|
-
│ keys or Tab to navigate between fields.
|
|
311
|
-
│
|
|
312
414
|
◇ Username
|
|
313
415
|
│ Enter your username
|
|
314
416
|
│
|
|
@@ -319,8 +421,8 @@ test('form date picker selection with space and enter', async () => {
|
|
|
319
421
|
│ Must be at least 8 characters
|
|
320
422
|
│
|
|
321
423
|
◇ Biography
|
|
322
|
-
│ Tell us about yourself...
|
|
323
|
-
│
|
|
424
|
+
│ Tell us about yourself... █
|
|
425
|
+
│ █
|
|
324
426
|
│
|
|
325
427
|
│
|
|
326
428
|
│
|
|
@@ -332,26 +434,30 @@ test('form date picker selection with space and enter', async () => {
|
|
|
332
434
|
│ Receive weekly updates
|
|
333
435
|
│
|
|
334
436
|
◆ Country
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
┃ Your country of residence
|
|
346
|
-
┃
|
|
437
|
+
│ United States
|
|
438
|
+
│
|
|
439
|
+
│ Americas
|
|
440
|
+
│› ● United States
|
|
441
|
+
│ ○ Canada
|
|
442
|
+
│ ○ Mexico
|
|
443
|
+
│ Europe
|
|
444
|
+
│
|
|
445
|
+
│ Your country of residence
|
|
446
|
+
│
|
|
347
447
|
◇ Date of Birth
|
|
348
448
|
│
|
|
349
449
|
│ ← 2025 →
|
|
350
450
|
│ ← December →
|
|
351
451
|
│
|
|
452
|
+
│ Mo Tu We Th Fr Sa Su
|
|
453
|
+
│ 1 2 3 4 5 6 7
|
|
454
|
+
│ 8 9 10 11 12 13 14
|
|
455
|
+
│ 15 16 17 18 19 20 21
|
|
456
|
+
│ 22 23 24 25 26 27 28
|
|
457
|
+
│ 29 30 31
|
|
352
458
|
|
|
353
459
|
|
|
354
|
-
ctrl ↵ submit
|
|
460
|
+
ctrl ↵ submit tab navigate ^k actions"
|
|
355
461
|
`)
|
|
356
462
|
|
|
357
463
|
// Navigate to a different day and select with enter
|
|
@@ -363,10 +469,6 @@ test('form date picker selection with space and enter', async () => {
|
|
|
363
469
|
"
|
|
364
470
|
|
|
365
471
|
|
|
366
|
-
▪ Form Component Demo █
|
|
367
|
-
│ This demonstrates all available form input types. Use arrow █
|
|
368
|
-
│ keys or Tab to navigate between fields.
|
|
369
|
-
│
|
|
370
472
|
◇ Username
|
|
371
473
|
│ Enter your username
|
|
372
474
|
│
|
|
@@ -377,8 +479,8 @@ test('form date picker selection with space and enter', async () => {
|
|
|
377
479
|
│ Must be at least 8 characters
|
|
378
480
|
│
|
|
379
481
|
◇ Biography
|
|
380
|
-
│ Tell us about yourself...
|
|
381
|
-
│
|
|
482
|
+
│ Tell us about yourself... █
|
|
483
|
+
│ █
|
|
382
484
|
│
|
|
383
485
|
│
|
|
384
486
|
│
|
|
@@ -390,26 +492,30 @@ test('form date picker selection with space and enter', async () => {
|
|
|
390
492
|
│ Receive weekly updates
|
|
391
493
|
│
|
|
392
494
|
◆ Country
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
┃ Your country of residence
|
|
404
|
-
┃
|
|
495
|
+
│ United States
|
|
496
|
+
│
|
|
497
|
+
│ Americas
|
|
498
|
+
│› ● United States
|
|
499
|
+
│ ○ Canada
|
|
500
|
+
│ ○ Mexico
|
|
501
|
+
│ Europe
|
|
502
|
+
│
|
|
503
|
+
│ Your country of residence
|
|
504
|
+
│
|
|
405
505
|
◇ Date of Birth
|
|
406
506
|
│
|
|
407
507
|
│ ← 2025 →
|
|
408
508
|
│ ← December →
|
|
409
509
|
│
|
|
510
|
+
│ Mo Tu We Th Fr Sa Su
|
|
511
|
+
│ 1 2 3 4 5 6 7
|
|
512
|
+
│ 8 9 10 11 12 13 14
|
|
513
|
+
│ 15 16 17 18 19 20 21
|
|
514
|
+
│ 22 23 24 25 26 27 28
|
|
515
|
+
│ 29 30 31
|
|
410
516
|
|
|
411
517
|
|
|
412
|
-
ctrl ↵ submit
|
|
518
|
+
ctrl ↵ submit tab navigate ^k actions"
|
|
413
519
|
`)
|
|
414
520
|
}, 10000)
|
|
415
521
|
|
|
@@ -437,10 +543,6 @@ test('form dropdown navigation', async () => {
|
|
|
437
543
|
"
|
|
438
544
|
|
|
439
545
|
|
|
440
|
-
▪ Form Component Demo █
|
|
441
|
-
│ This demonstrates all available form input types. Use arrow █
|
|
442
|
-
│ keys or Tab to navigate between fields.
|
|
443
|
-
│
|
|
444
546
|
◇ Username
|
|
445
547
|
│ Enter your username
|
|
446
548
|
│
|
|
@@ -451,8 +553,8 @@ test('form dropdown navigation', async () => {
|
|
|
451
553
|
│ Must be at least 8 characters
|
|
452
554
|
│
|
|
453
555
|
◇ Biography
|
|
454
|
-
│ Tell us about yourself...
|
|
455
|
-
│
|
|
556
|
+
│ Tell us about yourself... █
|
|
557
|
+
│ █
|
|
456
558
|
│
|
|
457
559
|
│
|
|
458
560
|
│
|
|
@@ -464,26 +566,30 @@ test('form dropdown navigation', async () => {
|
|
|
464
566
|
│ Receive weekly updates
|
|
465
567
|
│
|
|
466
568
|
◆ Country
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
┃ Your country of residence
|
|
478
|
-
┃
|
|
569
|
+
│ United States
|
|
570
|
+
│
|
|
571
|
+
│ Americas
|
|
572
|
+
│› ● United States
|
|
573
|
+
│ ○ Canada
|
|
574
|
+
│ ○ Mexico
|
|
575
|
+
│ Europe
|
|
576
|
+
│
|
|
577
|
+
│ Your country of residence
|
|
578
|
+
│
|
|
479
579
|
◇ Date of Birth
|
|
480
580
|
│
|
|
481
581
|
│ ← 2025 →
|
|
482
582
|
│ ← December →
|
|
483
583
|
│
|
|
584
|
+
│ Mo Tu We Th Fr Sa Su
|
|
585
|
+
│ 1 2 3 4 5 6 7
|
|
586
|
+
│ 8 9 10 11 12 13 14
|
|
587
|
+
│ 15 16 17 18 19 20 21
|
|
588
|
+
│ 22 23 24 25 26 27 28
|
|
589
|
+
│ 29 30 31
|
|
484
590
|
|
|
485
591
|
|
|
486
|
-
ctrl ↵ submit
|
|
592
|
+
ctrl ↵ submit tab navigate ^k actions"
|
|
487
593
|
`)
|
|
488
594
|
|
|
489
595
|
// Navigate down in dropdown
|
|
@@ -494,10 +600,6 @@ test('form dropdown navigation', async () => {
|
|
|
494
600
|
"
|
|
495
601
|
|
|
496
602
|
|
|
497
|
-
▪ Form Component Demo █
|
|
498
|
-
│ This demonstrates all available form input types. Use arrow █
|
|
499
|
-
│ keys or Tab to navigate between fields.
|
|
500
|
-
│
|
|
501
603
|
◇ Username
|
|
502
604
|
│ Enter your username
|
|
503
605
|
│
|
|
@@ -508,8 +610,8 @@ test('form dropdown navigation', async () => {
|
|
|
508
610
|
│ Must be at least 8 characters
|
|
509
611
|
│
|
|
510
612
|
◇ Biography
|
|
511
|
-
│ Tell us about yourself...
|
|
512
|
-
│
|
|
613
|
+
│ Tell us about yourself... █
|
|
614
|
+
│ █
|
|
513
615
|
│
|
|
514
616
|
│
|
|
515
617
|
│
|
|
@@ -521,26 +623,30 @@ test('form dropdown navigation', async () => {
|
|
|
521
623
|
│ Receive weekly updates
|
|
522
624
|
│
|
|
523
625
|
◆ Country
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
┃ Your country of residence
|
|
535
|
-
┃
|
|
626
|
+
│ United States
|
|
627
|
+
│
|
|
628
|
+
│ Americas
|
|
629
|
+
│ ● United States
|
|
630
|
+
│› ○ Canada
|
|
631
|
+
│ ○ Mexico
|
|
632
|
+
│ Europe
|
|
633
|
+
│
|
|
634
|
+
│ Your country of residence
|
|
635
|
+
│
|
|
536
636
|
◇ Date of Birth
|
|
537
637
|
│
|
|
538
638
|
│ ← 2025 →
|
|
539
639
|
│ ← December →
|
|
540
640
|
│
|
|
641
|
+
│ Mo Tu We Th Fr Sa Su
|
|
642
|
+
│ 1 2 3 4 5 6 7
|
|
643
|
+
│ 8 9 10 11 12 13 14
|
|
644
|
+
│ 15 16 17 18 19 20 21
|
|
645
|
+
│ 22 23 24 25 26 27 28
|
|
646
|
+
│ 29 30 31
|
|
541
647
|
|
|
542
648
|
|
|
543
|
-
ctrl ↵ submit
|
|
649
|
+
ctrl ↵ submit tab navigate ^k actions"
|
|
544
650
|
`)
|
|
545
651
|
|
|
546
652
|
// Navigate to Europe section
|
|
@@ -553,10 +659,6 @@ test('form dropdown navigation', async () => {
|
|
|
553
659
|
"
|
|
554
660
|
|
|
555
661
|
|
|
556
|
-
▪ Form Component Demo █
|
|
557
|
-
│ This demonstrates all available form input types. Use arrow █
|
|
558
|
-
│ keys or Tab to navigate between fields.
|
|
559
|
-
│
|
|
560
662
|
◇ Username
|
|
561
663
|
│ Enter your username
|
|
562
664
|
│
|
|
@@ -567,8 +669,8 @@ test('form dropdown navigation', async () => {
|
|
|
567
669
|
│ Must be at least 8 characters
|
|
568
670
|
│
|
|
569
671
|
◇ Biography
|
|
570
|
-
│ Tell us about yourself...
|
|
571
|
-
│
|
|
672
|
+
│ Tell us about yourself... █
|
|
673
|
+
│ █
|
|
572
674
|
│
|
|
573
675
|
│
|
|
574
676
|
│
|
|
@@ -580,26 +682,30 @@ test('form dropdown navigation', async () => {
|
|
|
580
682
|
│ Receive weekly updates
|
|
581
683
|
│
|
|
582
684
|
◆ Country
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
┃ Your country of residence
|
|
594
|
-
┃
|
|
685
|
+
│ United States
|
|
686
|
+
│
|
|
687
|
+
│ ○ Mexico
|
|
688
|
+
│ Europe
|
|
689
|
+
│ ○ United Kingdom
|
|
690
|
+
│› ○ France
|
|
691
|
+
│ ○ Germany
|
|
692
|
+
│
|
|
693
|
+
│ Your country of residence
|
|
694
|
+
│
|
|
595
695
|
◇ Date of Birth
|
|
596
696
|
│
|
|
597
697
|
│ ← 2025 →
|
|
598
698
|
│ ← December →
|
|
599
699
|
│
|
|
700
|
+
│ Mo Tu We Th Fr Sa Su
|
|
701
|
+
│ 1 2 3 4 5 6 7
|
|
702
|
+
│ 8 9 10 11 12 13 14
|
|
703
|
+
│ 15 16 17 18 19 20 21
|
|
704
|
+
│ 22 23 24 25 26 27 28
|
|
705
|
+
│ 29 30 31
|
|
600
706
|
|
|
601
707
|
|
|
602
|
-
ctrl ↵ submit
|
|
708
|
+
ctrl ↵ submit tab navigate ^k actions"
|
|
603
709
|
`)
|
|
604
710
|
|
|
605
711
|
// Select France
|
|
@@ -610,10 +716,6 @@ test('form dropdown navigation', async () => {
|
|
|
610
716
|
"
|
|
611
717
|
|
|
612
718
|
|
|
613
|
-
▪ Form Component Demo █
|
|
614
|
-
│ This demonstrates all available form input types. Use arrow █
|
|
615
|
-
│ keys or Tab to navigate between fields.
|
|
616
|
-
│
|
|
617
719
|
◇ Username
|
|
618
720
|
│ Enter your username
|
|
619
721
|
│
|
|
@@ -624,8 +726,8 @@ test('form dropdown navigation', async () => {
|
|
|
624
726
|
│ Must be at least 8 characters
|
|
625
727
|
│
|
|
626
728
|
◇ Biography
|
|
627
|
-
│ Tell us about yourself...
|
|
628
|
-
│
|
|
729
|
+
│ Tell us about yourself... █
|
|
730
|
+
│ █
|
|
629
731
|
│
|
|
630
732
|
│
|
|
631
733
|
│
|
|
@@ -637,25 +739,123 @@ test('form dropdown navigation', async () => {
|
|
|
637
739
|
│ Receive weekly updates
|
|
638
740
|
│
|
|
639
741
|
◆ Country
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
┃ Your country of residence
|
|
651
|
-
┃
|
|
742
|
+
│ France
|
|
743
|
+
│
|
|
744
|
+
│ ○ Mexico
|
|
745
|
+
│ Europe
|
|
746
|
+
│ ○ United Kingdom
|
|
747
|
+
│› ● France
|
|
748
|
+
│ ○ Germany
|
|
749
|
+
│
|
|
750
|
+
│ Your country of residence
|
|
751
|
+
│
|
|
652
752
|
◇ Date of Birth
|
|
653
753
|
│
|
|
654
754
|
│ ← 2025 →
|
|
655
755
|
│ ← December →
|
|
656
756
|
│
|
|
757
|
+
│ Mo Tu We Th Fr Sa Su
|
|
758
|
+
│ 1 2 3 4 5 6 7
|
|
759
|
+
│ 8 9 10 11 12 13 14
|
|
760
|
+
│ 15 16 17 18 19 20 21
|
|
761
|
+
│ 22 23 24 25 26 27 28
|
|
762
|
+
│ 29 30 31
|
|
763
|
+
|
|
764
|
+
|
|
765
|
+
ctrl ↵ submit tab navigate ^k actions"
|
|
766
|
+
`)
|
|
767
|
+
}, 10000)
|
|
768
|
+
|
|
769
|
+
test('form scrolls with mouse wheel', async () => {
|
|
770
|
+
session?.close()
|
|
771
|
+
session = await launchTerminal({
|
|
772
|
+
command: 'bun',
|
|
773
|
+
args: ['src/examples/form-basic.tsx'],
|
|
774
|
+
cols: 70,
|
|
775
|
+
rows: 20,
|
|
776
|
+
})
|
|
777
|
+
|
|
778
|
+
await session.text({
|
|
779
|
+
waitFor: (text) => {
|
|
780
|
+
return /Form Component Demo/i.test(text)
|
|
781
|
+
},
|
|
782
|
+
})
|
|
783
|
+
|
|
784
|
+
const initialSnapshot = await session.text()
|
|
785
|
+
expect(initialSnapshot).toMatchInlineSnapshot(`
|
|
786
|
+
"
|
|
787
|
+
|
|
788
|
+
|
|
789
|
+
■ Form Component Demo ▀
|
|
790
|
+
│ This demonstrates all available form input types. Use arrow
|
|
791
|
+
│ keys or Tab to navigate between fields.
|
|
792
|
+
│
|
|
793
|
+
◇ Username
|
|
794
|
+
│ Enter your username
|
|
795
|
+
│
|
|
796
|
+
│ Required field
|
|
797
|
+
│
|
|
798
|
+
◇ Password
|
|
799
|
+
│ Enter secure password
|
|
800
|
+
│ Must be at least 8 characters
|
|
801
|
+
│
|
|
802
|
+
◇ Biography
|
|
803
|
+
|
|
804
|
+
|
|
805
|
+
ctrl ↵ submit tab navigate ^k actions"
|
|
806
|
+
`)
|
|
807
|
+
|
|
808
|
+
await session.scrollDown(5)
|
|
809
|
+
|
|
810
|
+
const afterScrollDownSnapshot = await session.text()
|
|
811
|
+
expect(afterScrollDownSnapshot).not.toEqual(initialSnapshot)
|
|
812
|
+
expect(afterScrollDownSnapshot).toMatchInlineSnapshot(`
|
|
813
|
+
"
|
|
814
|
+
|
|
815
|
+
|
|
816
|
+
│ This demonstrates all available form input types. Use arrow ▄
|
|
817
|
+
│ keys or Tab to navigate between fields.
|
|
818
|
+
│
|
|
819
|
+
◇ Username
|
|
820
|
+
│ Enter your username
|
|
821
|
+
│
|
|
822
|
+
│ Required field
|
|
823
|
+
│
|
|
824
|
+
◇ Password
|
|
825
|
+
│ Enter secure password
|
|
826
|
+
│ Must be at least 8 characters
|
|
827
|
+
│
|
|
828
|
+
◇ Biography
|
|
829
|
+
│ Tell us about yourself...
|
|
830
|
+
|
|
831
|
+
|
|
832
|
+
ctrl ↵ submit tab navigate ^k actions"
|
|
833
|
+
`)
|
|
834
|
+
|
|
835
|
+
await session.scrollUp(3)
|
|
836
|
+
|
|
837
|
+
const afterScrollUpSnapshot = await session.text()
|
|
838
|
+
expect(afterScrollUpSnapshot).not.toEqual(afterScrollDownSnapshot)
|
|
839
|
+
expect(afterScrollUpSnapshot).toMatchInlineSnapshot(`
|
|
840
|
+
"
|
|
841
|
+
|
|
842
|
+
|
|
843
|
+
■ Form Component Demo ▀
|
|
844
|
+
│ This demonstrates all available form input types. Use arrow
|
|
845
|
+
│ keys or Tab to navigate between fields.
|
|
846
|
+
│
|
|
847
|
+
◇ Username
|
|
848
|
+
│ Enter your username
|
|
849
|
+
│
|
|
850
|
+
│ Required field
|
|
851
|
+
│
|
|
852
|
+
◇ Password
|
|
853
|
+
│ Enter secure password
|
|
854
|
+
│ Must be at least 8 characters
|
|
855
|
+
│
|
|
856
|
+
◇ Biography
|
|
657
857
|
|
|
658
858
|
|
|
659
|
-
ctrl ↵ submit
|
|
859
|
+
ctrl ↵ submit tab navigate ^k actions"
|
|
660
860
|
`)
|
|
661
861
|
}, 10000)
|