termcast 1.3.10 → 1.3.18
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/apis/toast.d.ts +1 -5
- package/dist/apis/toast.d.ts.map +1 -1
- package/dist/apis/toast.js +23 -17
- package/dist/apis/toast.js.map +1 -1
- package/dist/build.d.ts +2 -0
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +4 -3
- package/dist/build.js.map +1 -1
- package/dist/cli.js +42 -0
- package/dist/cli.js.map +1 -1
- package/dist/colors.d.ts +8 -1
- package/dist/colors.d.ts.map +1 -1
- package/dist/colors.js +12 -0
- package/dist/colors.js.map +1 -1
- package/dist/compile.d.ts +30 -0
- package/dist/compile.d.ts.map +1 -0
- package/dist/compile.js +156 -0
- package/dist/compile.js.map +1 -0
- package/dist/components/actions.d.ts +1 -0
- package/dist/components/actions.d.ts.map +1 -1
- package/dist/components/actions.js +5 -2
- package/dist/components/actions.js.map +1 -1
- package/dist/components/command-arguments.d.ts +9 -0
- package/dist/components/command-arguments.d.ts.map +1 -0
- package/dist/components/command-arguments.js +21 -0
- package/dist/components/command-arguments.js.map +1 -0
- package/dist/components/detail.d.ts +1 -1
- package/dist/components/detail.d.ts.map +1 -1
- package/dist/components/detail.js +17 -39
- package/dist/components/detail.js.map +1 -1
- package/dist/components/dropdown.d.ts +1 -0
- package/dist/components/dropdown.d.ts.map +1 -1
- package/dist/components/dropdown.js +77 -21
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/extension-preferences.d.ts.map +1 -1
- package/dist/components/extension-preferences.js +19 -29
- 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 +9 -2
- 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 +15 -28
- package/dist/components/form/date-picker.js.map +1 -1
- package/dist/components/form/description.d.ts +2 -0
- package/dist/components/form/description.d.ts.map +1 -1
- package/dist/components/form/description.js +20 -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 +13 -28
- package/dist/components/form/dropdown.js.map +1 -1
- package/dist/components/form/file-autocomplete.d.ts +7 -4
- package/dist/components/form/file-autocomplete.d.ts.map +1 -1
- package/dist/components/form/file-autocomplete.js +54 -46
- package/dist/components/form/file-autocomplete.js.map +1 -1
- package/dist/components/form/file-picker.d.ts +5 -0
- package/dist/components/form/file-picker.d.ts.map +1 -1
- package/dist/components/form/file-picker.js +46 -49
- package/dist/components/form/file-picker.js.map +1 -1
- package/dist/components/form/form-ref.d.ts +43 -0
- package/dist/components/form/form-ref.d.ts.map +1 -0
- package/dist/components/form/form-ref.js +53 -0
- package/dist/components/form/form-ref.js.map +1 -0
- package/dist/components/form/index.d.ts +16 -0
- package/dist/components/form/index.d.ts.map +1 -1
- package/dist/components/form/index.js +86 -23
- 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 +32 -16
- 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 +32 -15
- 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 +37 -17
- package/dist/components/form/text-field.js.map +1 -1
- package/dist/components/form/use-form-navigation.d.ts +4 -0
- package/dist/components/form/use-form-navigation.d.ts.map +1 -1
- package/dist/components/form/use-form-navigation.js +35 -18
- package/dist/components/form/use-form-navigation.js.map +1 -1
- package/dist/components/form/with-left-border.d.ts.map +1 -1
- package/dist/components/form/with-left-border.js +2 -2
- package/dist/components/form/with-left-border.js.map +1 -1
- package/dist/components/icon.d.ts +3 -1
- package/dist/components/icon.d.ts.map +1 -1
- package/dist/components/icon.js +494 -469
- package/dist/components/icon.js.map +1 -1
- package/dist/components/list.d.ts +11 -7
- package/dist/components/list.d.ts.map +1 -1
- package/dist/components/list.js +170 -38
- package/dist/components/list.js.map +1 -1
- package/dist/components/loading-bar.js +1 -1
- package/dist/components/loading-bar.js.map +1 -1
- package/dist/descendants.d.ts.map +1 -1
- package/dist/descendants.js +8 -5
- package/dist/descendants.js.map +1 -1
- package/dist/examples/action-show-in-finder.js +1 -1
- package/dist/examples/action-show-in-finder.js.map +1 -1
- package/dist/examples/environment-test.js +1 -1
- package/dist/examples/environment-test.js.map +1 -1
- package/dist/examples/error-boundary.js +1 -1
- package/dist/examples/error-boundary.js.map +1 -1
- package/dist/examples/form-basic.d.ts.map +1 -1
- package/dist/examples/form-basic.js +2 -2
- package/dist/examples/form-basic.js.map +1 -1
- package/dist/examples/form-dropdown.js +1 -1
- package/dist/examples/form-dropdown.js.map +1 -1
- package/dist/examples/form-scroll.d.ts +2 -0
- package/dist/examples/form-scroll.d.ts.map +1 -0
- package/dist/examples/form-scroll.js +8 -0
- package/dist/examples/form-scroll.js.map +1 -0
- package/dist/examples/form-tagpicker.js +1 -1
- package/dist/examples/form-tagpicker.js.map +1 -1
- package/dist/examples/internal/descendants-filtering.js +8 -3
- package/dist/examples/internal/descendants-filtering.js.map +1 -1
- package/dist/examples/internal/descendants.js +10 -3
- package/dist/examples/internal/descendants.js.map +1 -1
- package/dist/examples/internal/rhf-custom-ref.d.ts +2 -0
- package/dist/examples/internal/rhf-custom-ref.d.ts.map +1 -0
- package/dist/examples/internal/rhf-custom-ref.js +67 -0
- package/dist/examples/internal/rhf-custom-ref.js.map +1 -0
- package/dist/examples/internal/scrollbox-demo.js +3 -7
- package/dist/examples/internal/scrollbox-demo.js.map +1 -1
- package/dist/examples/internal/scrollbox-with-descendants.d.ts +2 -0
- package/dist/examples/internal/scrollbox-with-descendants.d.ts.map +1 -0
- package/dist/examples/internal/scrollbox-with-descendants.js +63 -0
- package/dist/examples/internal/scrollbox-with-descendants.js.map +1 -0
- package/dist/examples/internal/simple-dialog.js +1 -1
- package/dist/examples/internal/simple-dialog.js.map +1 -1
- package/dist/examples/internal/simple-scrollbox.js +2 -3
- package/dist/examples/internal/simple-scrollbox.js.map +1 -1
- package/dist/examples/internal/text-stacking.js +4 -2
- package/dist/examples/internal/text-stacking.js.map +1 -1
- package/dist/examples/list-dropdown-default.js +1 -1
- package/dist/examples/list-dropdown-default.js.map +1 -1
- package/dist/examples/list-fetch-data.js +1 -1
- package/dist/examples/list-fetch-data.js.map +1 -1
- package/dist/examples/list-scrollbox.d.ts +2 -0
- package/dist/examples/list-scrollbox.d.ts.map +1 -0
- package/dist/examples/list-scrollbox.js +29 -0
- package/dist/examples/list-scrollbox.js.map +1 -0
- package/dist/examples/list-with-detail.js +1 -1
- package/dist/examples/list-with-detail.js.map +1 -1
- package/dist/examples/list-with-dropdown.js +1 -1
- package/dist/examples/list-with-dropdown.js.map +1 -1
- package/dist/examples/list-with-sections.js +3 -3
- package/dist/examples/list-with-sections.js.map +1 -1
- package/dist/examples/miscellaneous.js +1 -1
- package/dist/examples/miscellaneous.js.map +1 -1
- package/dist/examples/nested-navigation.js +4 -2
- package/dist/examples/nested-navigation.js.map +1 -1
- package/dist/examples/preferences-test.js +1 -1
- package/dist/examples/preferences-test.js.map +1 -1
- package/dist/examples/simple-dropdown.js +1 -1
- package/dist/examples/simple-dropdown.js.map +1 -1
- package/dist/examples/simple-file-picker.js +1 -1
- package/dist/examples/simple-file-picker.js.map +1 -1
- package/dist/examples/simple-grid.js +1 -1
- package/dist/examples/simple-grid.js.map +1 -1
- package/dist/examples/simple-hud.js +1 -1
- package/dist/examples/simple-hud.js.map +1 -1
- package/dist/examples/simple-list-search.js +1 -1
- package/dist/examples/simple-list-search.js.map +1 -1
- package/dist/examples/simple-list.js +1 -1
- package/dist/examples/simple-list.js.map +1 -1
- package/dist/examples/simple-navigation.js +4 -2
- package/dist/examples/simple-navigation.js.map +1 -1
- package/dist/examples/store.js +1 -1
- package/dist/examples/store.js.map +1 -1
- package/dist/examples/submodule-diff.d.ts +2 -0
- package/dist/examples/submodule-diff.d.ts.map +1 -0
- package/dist/examples/submodule-diff.js +99 -0
- package/dist/examples/submodule-diff.js.map +1 -0
- package/dist/examples/tanstack-demo.js +1 -1
- package/dist/examples/tanstack-demo.js.map +1 -1
- package/dist/examples/use-promise-demo.js +1 -1
- package/dist/examples/use-promise-demo.js.map +1 -1
- package/dist/extensions/dev.d.ts +8 -0
- package/dist/extensions/dev.d.ts.map +1 -1
- package/dist/extensions/dev.js +53 -28
- package/dist/extensions/dev.js.map +1 -1
- package/dist/extensions/home.d.ts.map +1 -1
- package/dist/extensions/home.js +16 -91
- package/dist/extensions/home.js.map +1 -1
- package/dist/globals.js +1 -1
- package/dist/globals.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/date-picker-widget.d.ts.map +1 -1
- package/dist/internal/date-picker-widget.js +56 -48
- package/dist/internal/date-picker-widget.js.map +1 -1
- package/dist/internal/dialog.d.ts.map +1 -1
- package/dist/internal/dialog.js +7 -7
- package/dist/internal/dialog.js.map +1 -1
- package/dist/internal/scrollbox.d.ts +2 -1
- package/dist/internal/scrollbox.d.ts.map +1 -1
- package/dist/internal/scrollbox.js +13 -7
- package/dist/internal/scrollbox.js.map +1 -1
- package/dist/release.d.ts +11 -0
- package/dist/release.d.ts.map +1 -0
- package/dist/release.js +113 -0
- package/dist/release.js.map +1 -0
- package/dist/state.d.ts +1 -0
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +1 -0
- package/dist/state.js.map +1 -1
- package/dist/theme.d.ts +11 -8
- package/dist/theme.d.ts.map +1 -1
- package/dist/theme.js +31 -8
- package/dist/theme.js.map +1 -1
- package/dist/utils/run-command.d.ts +22 -0
- package/dist/utils/run-command.d.ts.map +1 -0
- package/dist/utils/run-command.js +127 -0
- package/dist/utils/run-command.js.map +1 -0
- package/dist/utils.d.ts +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +5 -3
- package/dist/utils.js.map +1 -1
- package/package.json +10 -7
- package/src/apis/toast.tsx +38 -17
- package/src/build.tsx +5 -3
- package/src/cli.tsx +46 -0
- package/src/colors.tsx +22 -1
- package/src/compile.tsx +219 -0
- package/src/components/actions.tsx +7 -1
- package/src/components/command-arguments.tsx +81 -0
- package/src/components/detail.tsx +26 -58
- package/src/components/dropdown.tsx +108 -23
- package/src/components/extension-preferences.tsx +55 -35
- package/src/components/form/checkbox.tsx +13 -5
- package/src/components/form/date-picker.tsx +24 -29
- package/src/components/form/description.tsx +35 -7
- package/src/components/form/dropdown.tsx +16 -30
- package/src/components/form/file-autocomplete.tsx +87 -77
- package/src/components/form/file-picker.tsx +69 -57
- package/src/components/form/form-ref.tsx +68 -0
- package/src/components/form/index.tsx +152 -41
- package/src/components/form/password-field.tsx +35 -22
- package/src/components/form/text-area.tsx +78 -58
- package/src/components/form/text-field.tsx +82 -61
- package/src/components/form/use-form-navigation.tsx +43 -23
- package/src/components/form/with-left-border.tsx +2 -1
- package/src/components/icon.tsx +497 -469
- package/src/components/list.tsx +279 -112
- package/src/components/loading-bar.tsx +1 -1
- package/src/descendants.tsx +15 -5
- package/src/examples/action-show-in-finder.tsx +1 -1
- package/src/examples/environment-test.tsx +1 -1
- package/src/examples/error-boundary.tsx +1 -1
- package/src/examples/file-autocomplete.vitest.tsx +245 -0
- package/src/examples/form-basic.tsx +12 -12
- package/src/examples/form-basic.vitest.tsx +297 -671
- package/src/examples/form-dropdown.tsx +1 -1
- package/src/examples/form-dropdown.vitest.tsx +353 -221
- package/src/examples/form-scroll.tsx +56 -0
- package/src/examples/form-scroll.vitest.tsx +228 -0
- package/src/examples/form-tagpicker.tsx +1 -1
- package/src/examples/form-tagpicker.vitest.tsx +438 -193
- package/src/examples/internal/descendants-filtering.tsx +13 -5
- package/src/examples/internal/descendants.tsx +17 -5
- package/src/examples/internal/rhf-custom-ref.tsx +152 -0
- package/src/examples/internal/scrollbox-demo.tsx +15 -7
- package/src/examples/internal/scrollbox-with-descendants.tsx +94 -0
- package/src/examples/internal/simple-dialog.tsx +1 -1
- package/src/examples/internal/simple-scrollbox.tsx +8 -5
- package/src/examples/internal/simple-scrollbox.vitest.tsx +47 -37
- package/src/examples/internal/text-stacking.tsx +4 -2
- package/src/examples/list-dropdown-default.tsx +1 -1
- package/src/examples/list-dropdown-default.vitest.tsx +136 -71
- package/src/examples/list-fetch-data.tsx +1 -1
- package/src/examples/list-fetch-data.vitest.tsx +42 -33
- package/src/examples/list-scrollbox.tsx +46 -0
- package/src/examples/list-scrollbox.vitest.tsx +103 -0
- package/src/examples/list-with-detail.tsx +1 -1
- package/src/examples/list-with-detail.vitest.tsx +290 -294
- package/src/examples/list-with-dropdown.tsx +1 -1
- package/src/examples/list-with-dropdown.vitest.tsx +190 -150
- package/src/examples/list-with-sections.tsx +12 -1
- package/src/examples/list-with-sections.vitest.tsx +390 -218
- package/src/examples/miscellaneous.tsx +1 -1
- package/src/examples/nested-navigation.tsx +4 -2
- package/src/examples/preferences-test.tsx +1 -1
- package/src/examples/simple-dropdown.tsx +1 -1
- package/src/examples/simple-file-picker.tsx +1 -1
- package/src/examples/simple-file-picker.vitest.tsx +538 -132
- package/src/examples/simple-grid.tsx +1 -1
- package/src/examples/simple-grid.vitest.tsx +258 -234
- package/src/examples/simple-hud.tsx +1 -1
- package/src/examples/simple-list-search.tsx +1 -1
- package/src/examples/simple-list.tsx +1 -1
- package/src/examples/simple-navigation.tsx +4 -2
- package/src/examples/simple-navigation.vitest.tsx +434 -238
- package/src/examples/store.tsx +1 -1
- package/src/examples/store.vitest.tsx +31 -10
- package/src/examples/submodule-diff.tsx +153 -0
- package/src/examples/tanstack-demo.tsx +1 -1
- package/src/examples/use-promise-demo.tsx +1 -1
- package/src/extensions/dev.tsx +74 -36
- package/src/extensions/dev.vitest.tsx +220 -0
- package/src/extensions/home.tsx +17 -118
- package/src/globals.ts +1 -1
- package/src/index.tsx +7 -1
- package/src/internal/date-picker-widget.tsx +56 -46
- package/src/internal/dialog.tsx +6 -6
- package/src/internal/scrollbox.tsx +15 -5
- package/src/release.tsx +159 -0
- package/src/state.tsx +2 -0
- package/src/store-api/search.test.tsx +4 -13
- package/src/theme.tsx +33 -8
- package/src/utils/run-command.tsx +204 -0
- package/src/utils.tsx +5 -3
- package/dist/ai.d.ts +0 -104
- package/dist/ai.d.ts.map +0 -1
- package/dist/ai.js +0 -135
- package/dist/ai.js.map +0 -1
- package/dist/apis/cache.test.d.ts +0 -2
- package/dist/apis/cache.test.d.ts.map +0 -1
- package/dist/apis/cache.test.js +0 -246
- package/dist/apis/cache.test.js.map +0 -1
- package/dist/apis/localstorage.test.d.ts +0 -2
- package/dist/apis/localstorage.test.d.ts.map +0 -1
- package/dist/apis/localstorage.test.js +0 -131
- package/dist/apis/localstorage.test.js.map +0 -1
- package/dist/apis/toast.test.d.ts +0 -2
- package/dist/apis/toast.test.d.ts.map +0 -1
- package/dist/apis/toast.test.js +0 -67
- package/dist/apis/toast.test.js.map +0 -1
- package/dist/build.test.d.ts +0 -2
- package/dist/build.test.d.ts.map +0 -1
- package/dist/build.test.js +0 -73
- package/dist/build.test.js.map +0 -1
- package/dist/cache.d.ts +0 -32
- package/dist/cache.d.ts.map +0 -1
- package/dist/cache.js +0 -205
- package/dist/cache.js.map +0 -1
- package/dist/cache.test.d.ts +0 -2
- package/dist/cache.test.d.ts.map +0 -1
- package/dist/cache.test.js +0 -246
- package/dist/cache.test.js.map +0 -1
- package/dist/clipboard.d.ts +0 -36
- package/dist/clipboard.d.ts.map +0 -1
- package/dist/clipboard.js +0 -154
- package/dist/clipboard.js.map +0 -1
- package/dist/components/form/form-type-only.d.ts +0 -174
- package/dist/components/form/form-type-only.d.ts.map +0 -1
- package/dist/components/form/form-type-only.js +0 -2
- package/dist/components/form/form-type-only.js.map +0 -1
- package/dist/components/form/use-form-handling.d.ts +0 -4
- package/dist/components/form/use-form-handling.d.ts.map +0 -1
- package/dist/components/form/use-form-handling.js +0 -37
- package/dist/components/form/use-form-handling.js.map +0 -1
- package/dist/dev-ui.d.ts +0 -7
- package/dist/dev-ui.d.ts.map +0 -1
- package/dist/dev-ui.js +0 -118
- package/dist/dev-ui.js.map +0 -1
- package/dist/environment.d.ts +0 -63
- package/dist/environment.d.ts.map +0 -1
- package/dist/environment.js +0 -189
- package/dist/environment.js.map +0 -1
- package/dist/examples/datepicker.d.ts +0 -2
- package/dist/examples/datepicker.d.ts.map +0 -1
- package/dist/examples/datepicker.js +0 -344
- package/dist/examples/datepicker.js.map +0 -1
- package/dist/examples/form-basic-arrow-keys.vitest.d.ts +0 -2
- package/dist/examples/form-basic-arrow-keys.vitest.d.ts.map +0 -1
- package/dist/examples/form-basic-arrow-keys.vitest.js +0 -46
- package/dist/examples/form-basic-arrow-keys.vitest.js.map +0 -1
- package/dist/examples/form-basic.vitest.d.ts +0 -2
- package/dist/examples/form-basic.vitest.d.ts.map +0 -1
- package/dist/examples/form-basic.vitest.js +0 -995
- package/dist/examples/form-basic.vitest.js.map +0 -1
- package/dist/examples/form-dropdown-with-sections.d.ts +0 -2
- package/dist/examples/form-dropdown-with-sections.d.ts.map +0 -1
- package/dist/examples/form-dropdown-with-sections.js +0 -13
- package/dist/examples/form-dropdown-with-sections.js.map +0 -1
- package/dist/examples/form-dropdown-with-sections.vitest.d.ts +0 -2
- package/dist/examples/form-dropdown-with-sections.vitest.d.ts.map +0 -1
- package/dist/examples/form-dropdown-with-sections.vitest.js +0 -75
- package/dist/examples/form-dropdown-with-sections.vitest.js.map +0 -1
- package/dist/examples/form-dropdown.vitest.d.ts +0 -2
- package/dist/examples/form-dropdown.vitest.d.ts.map +0 -1
- package/dist/examples/form-dropdown.vitest.js +0 -722
- package/dist/examples/form-dropdown.vitest.js.map +0 -1
- package/dist/examples/form-multiselect-dropdown.d.ts +0 -2
- package/dist/examples/form-multiselect-dropdown.d.ts.map +0 -1
- package/dist/examples/form-multiselect-dropdown.js +0 -13
- package/dist/examples/form-multiselect-dropdown.js.map +0 -1
- package/dist/examples/form-tagpicker.vitest.d.ts +0 -2
- package/dist/examples/form-tagpicker.vitest.d.ts.map +0 -1
- package/dist/examples/form-tagpicker.vitest.js +0 -491
- package/dist/examples/form-tagpicker.vitest.js.map +0 -1
- package/dist/examples/internal/nested-boxes.d.ts +0 -2
- package/dist/examples/internal/nested-boxes.d.ts.map +0 -1
- package/dist/examples/internal/nested-boxes.js +0 -7
- package/dist/examples/internal/nested-boxes.js.map +0 -1
- package/dist/examples/internal/simple-scrollbox.vitest.d.ts +0 -2
- package/dist/examples/internal/simple-scrollbox.vitest.d.ts.map +0 -1
- package/dist/examples/internal/simple-scrollbox.vitest.js +0 -88
- package/dist/examples/internal/simple-scrollbox.vitest.js.map +0 -1
- package/dist/examples/internal/unicode-square-repro.d.ts +0 -2
- package/dist/examples/internal/unicode-square-repro.d.ts.map +0 -1
- package/dist/examples/internal/unicode-square-repro.js +0 -7
- package/dist/examples/internal/unicode-square-repro.js.map +0 -1
- package/dist/examples/list-dropdown-default.vitest.d.ts +0 -2
- package/dist/examples/list-dropdown-default.vitest.d.ts.map +0 -1
- package/dist/examples/list-dropdown-default.vitest.js +0 -164
- package/dist/examples/list-dropdown-default.vitest.js.map +0 -1
- package/dist/examples/list-fetch-data.vitest.d.ts +0 -2
- package/dist/examples/list-fetch-data.vitest.d.ts.map +0 -1
- package/dist/examples/list-fetch-data.vitest.js +0 -103
- package/dist/examples/list-fetch-data.vitest.js.map +0 -1
- package/dist/examples/list-filter-navigation.d.ts +0 -2
- package/dist/examples/list-filter-navigation.d.ts.map +0 -1
- package/dist/examples/list-filter-navigation.js +0 -8
- package/dist/examples/list-filter-navigation.js.map +0 -1
- package/dist/examples/list-with-detail.vitest.d.ts +0 -2
- package/dist/examples/list-with-detail.vitest.d.ts.map +0 -1
- package/dist/examples/list-with-detail.vitest.js +0 -438
- package/dist/examples/list-with-detail.vitest.js.map +0 -1
- package/dist/examples/list-with-dropdown.vitest.d.ts +0 -2
- package/dist/examples/list-with-dropdown.vitest.d.ts.map +0 -1
- package/dist/examples/list-with-dropdown.vitest.js +0 -297
- package/dist/examples/list-with-dropdown.vitest.js.map +0 -1
- package/dist/examples/list-with-sections.vitest.d.ts +0 -2
- package/dist/examples/list-with-sections.vitest.d.ts.map +0 -1
- package/dist/examples/list-with-sections.vitest.js +0 -441
- package/dist/examples/list-with-sections.vitest.js.map +0 -1
- package/dist/examples/simple-file-picker.vitest.d.ts +0 -2
- package/dist/examples/simple-file-picker.vitest.d.ts.map +0 -1
- package/dist/examples/simple-file-picker.vitest.js +0 -277
- package/dist/examples/simple-file-picker.vitest.js.map +0 -1
- package/dist/examples/simple-grid.vitest.d.ts +0 -2
- package/dist/examples/simple-grid.vitest.d.ts.map +0 -1
- package/dist/examples/simple-grid.vitest.js +0 -498
- package/dist/examples/simple-grid.vitest.js.map +0 -1
- package/dist/examples/simple-navigation.vitest.d.ts +0 -2
- package/dist/examples/simple-navigation.vitest.d.ts.map +0 -1
- package/dist/examples/simple-navigation.vitest.js +0 -522
- package/dist/examples/simple-navigation.vitest.js.map +0 -1
- package/dist/examples/store.vitest.d.ts +0 -2
- package/dist/examples/store.vitest.d.ts.map +0 -1
- package/dist/examples/store.vitest.js +0 -48
- package/dist/examples/store.vitest.js.map +0 -1
- package/dist/home-command.d.ts +0 -8
- package/dist/home-command.d.ts.map +0 -1
- package/dist/home-command.js +0 -181
- package/dist/home-command.js.map +0 -1
- package/dist/hooks/hooks.test.d.ts +0 -2
- package/dist/hooks/hooks.test.d.ts.map +0 -1
- package/dist/hooks/hooks.test.js +0 -37
- package/dist/hooks/hooks.test.js.map +0 -1
- package/dist/hover-repro.d.ts +0 -2
- package/dist/hover-repro.d.ts.map +0 -1
- package/dist/hover-repro.js +0 -20
- package/dist/hover-repro.js.map +0 -1
- package/dist/localstorage.d.ts +0 -13
- package/dist/localstorage.d.ts.map +0 -1
- package/dist/localstorage.js +0 -190
- package/dist/localstorage.js.map +0 -1
- package/dist/localstorage.test.d.ts +0 -2
- package/dist/localstorage.test.d.ts.map +0 -1
- package/dist/localstorage.test.js +0 -131
- package/dist/localstorage.test.js.map +0 -1
- package/dist/oauth.d.ts +0 -142
- package/dist/oauth.d.ts.map +0 -1
- package/dist/oauth.js +0 -551
- package/dist/oauth.js.map +0 -1
- package/dist/preferences.d.ts +0 -23
- package/dist/preferences.d.ts.map +0 -1
- package/dist/preferences.js +0 -105
- package/dist/preferences.js.map +0 -1
- package/dist/store-api/download.test.d.ts +0 -2
- package/dist/store-api/download.test.d.ts.map +0 -1
- package/dist/store-api/download.test.js +0 -36
- package/dist/store-api/download.test.js.map +0 -1
- package/dist/store-api/extension.test.d.ts +0 -2
- package/dist/store-api/extension.test.d.ts.map +0 -1
- package/dist/store-api/extension.test.js +0 -22
- package/dist/store-api/extension.test.js.map +0 -1
- package/dist/store-api/search.test.d.ts +0 -2
- package/dist/store-api/search.test.d.ts.map +0 -1
- package/dist/store-api/search.test.js +0 -45
- package/dist/store-api/search.test.js.map +0 -1
- package/dist/store.d.ts +0 -21
- package/dist/store.d.ts.map +0 -1
- package/dist/store.js +0 -84
- package/dist/store.js.map +0 -1
- package/dist/toast.d.ts +0 -44
- package/dist/toast.d.ts.map +0 -1
- package/dist/toast.js +0 -221
- package/dist/toast.js.map +0 -1
- package/dist/utils.test.d.ts +0 -2
- package/dist/utils.test.d.ts.map +0 -1
- package/dist/utils.test.js +0 -152
- package/dist/utils.test.js.map +0 -1
- package/dist/window.d.ts +0 -12
- package/dist/window.d.ts.map +0 -1
- package/dist/window.js +0 -48
- package/dist/window.js.map +0 -1
|
@@ -1,522 +0,0 @@
|
|
|
1
|
-
// node-pty does not work in bun, so we use vitest to run this test
|
|
2
|
-
import { test, expect, afterEach, beforeEach } from 'vitest';
|
|
3
|
-
import { NodeTuiDriver } from 'termcast/src/e2e-node';
|
|
4
|
-
let driver;
|
|
5
|
-
beforeEach(() => {
|
|
6
|
-
driver = new NodeTuiDriver('bun', ['src/examples/simple-navigation.tsx'], {
|
|
7
|
-
cols: 70,
|
|
8
|
-
rows: 50,
|
|
9
|
-
});
|
|
10
|
-
});
|
|
11
|
-
afterEach(() => {
|
|
12
|
-
driver?.dispose();
|
|
13
|
-
});
|
|
14
|
-
test('navigation between main and detail views', async () => {
|
|
15
|
-
await driver.text({
|
|
16
|
-
waitFor: (text) => {
|
|
17
|
-
// wait for main view to show up
|
|
18
|
-
return /Navigation Example/i.test(text);
|
|
19
|
-
},
|
|
20
|
-
});
|
|
21
|
-
// Small delay to ensure all items are rendered
|
|
22
|
-
await driver.waitIdle();
|
|
23
|
-
const initialSnapshot = await driver.text();
|
|
24
|
-
expect(initialSnapshot).toMatchInlineSnapshot(`
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
Navigation Example ─────────────────────────────────────────────
|
|
28
|
-
|
|
29
|
-
Main view
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
Items
|
|
33
|
-
›First Item Navigate to first detail
|
|
34
|
-
Second Item Navigate to second detail
|
|
35
|
-
Third Item Navigate to third detail
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
↵ select ↑↓ navigate ^k actions"
|
|
39
|
-
`);
|
|
40
|
-
// Navigate to second item
|
|
41
|
-
await driver.keys.down();
|
|
42
|
-
const afterDownSnapshot = await driver.text();
|
|
43
|
-
expect(afterDownSnapshot).toMatchInlineSnapshot(`
|
|
44
|
-
"
|
|
45
|
-
|
|
46
|
-
Navigation Example ─────────────────────────────────────────────
|
|
47
|
-
|
|
48
|
-
Main view
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
Items
|
|
52
|
-
First Item Navigate to first detail
|
|
53
|
-
›Second Item Navigate to second detail
|
|
54
|
-
Third Item Navigate to third detail
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
↵ select ↑↓ navigate ^k actions"
|
|
58
|
-
`);
|
|
59
|
-
// Press Enter to open actions panel
|
|
60
|
-
await driver.keys.enter();
|
|
61
|
-
const actionsOpenSnapshot = await driver.text();
|
|
62
|
-
expect(actionsOpenSnapshot).toMatchInlineSnapshot(`
|
|
63
|
-
"
|
|
64
|
-
|
|
65
|
-
Navigation Example ─────────────────────────────────────────────
|
|
66
|
-
|
|
67
|
-
Main view
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
Items
|
|
71
|
-
First Item Navigate to first detail
|
|
72
|
-
›Second Item Navigate to second detail
|
|
73
|
-
Third Item Navigate to third detail
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
esc
|
|
77
|
-
|
|
78
|
-
Search actions...
|
|
79
|
-
›Open Details
|
|
80
|
-
Copy Title
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
↵ select ↑↓ navigate"
|
|
84
|
-
`);
|
|
85
|
-
// Press Enter again to select "Open Details" action
|
|
86
|
-
await driver.keys.enter();
|
|
87
|
-
const detailViewSnapshot = await driver.text({
|
|
88
|
-
waitFor: (text) => {
|
|
89
|
-
// wait for detail view to show up
|
|
90
|
-
return /Detail: Second Item/i.test(text);
|
|
91
|
-
},
|
|
92
|
-
});
|
|
93
|
-
expect(detailViewSnapshot).toMatchInlineSnapshot(`
|
|
94
|
-
"
|
|
95
|
-
|
|
96
|
-
Detail: Second Item ────────────────────────────────────────────
|
|
97
|
-
|
|
98
|
-
Detail view - Press ESC to go back
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
Details
|
|
102
|
-
›This is the detail view for Second Item Press Enter to go back or E
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
↵ select ↑↓ navigate ^k actions"
|
|
106
|
-
`);
|
|
107
|
-
// Press ESC to go back to main view
|
|
108
|
-
await driver.keys.escape();
|
|
109
|
-
const backToMainSnapshot = await driver.text({
|
|
110
|
-
waitFor: (text) => {
|
|
111
|
-
// wait for main view to show up again
|
|
112
|
-
return /Navigation Example/i.test(text);
|
|
113
|
-
},
|
|
114
|
-
});
|
|
115
|
-
expect(backToMainSnapshot).toMatchInlineSnapshot(`
|
|
116
|
-
"
|
|
117
|
-
|
|
118
|
-
Navigation Example ─────────────────────────────────────────────
|
|
119
|
-
|
|
120
|
-
Main view
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
Items
|
|
124
|
-
›First Item Navigate to first detail
|
|
125
|
-
Second Item Navigate to second detail
|
|
126
|
-
Third Item Navigate to third detail
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
↵ select ↑↓ navigate ^k actions"
|
|
130
|
-
`);
|
|
131
|
-
// Navigate down to third item (we're back at first item after ESC)
|
|
132
|
-
await driver.keys.down();
|
|
133
|
-
await driver.keys.down();
|
|
134
|
-
const thirdItemSnapshot = await driver.text();
|
|
135
|
-
expect(thirdItemSnapshot).toMatchInlineSnapshot(`
|
|
136
|
-
"
|
|
137
|
-
|
|
138
|
-
Navigation Example ─────────────────────────────────────────────
|
|
139
|
-
|
|
140
|
-
Main view
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
Items
|
|
144
|
-
First Item Navigate to first detail
|
|
145
|
-
Second Item Navigate to second detail
|
|
146
|
-
›Third Item Navigate to third detail
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
↵ select ↑↓ navigate ^k actions"
|
|
150
|
-
`);
|
|
151
|
-
// Open action panel for third item
|
|
152
|
-
await driver.keys.enter();
|
|
153
|
-
const thirdActionsSnapshot = await driver.text();
|
|
154
|
-
expect(thirdActionsSnapshot).toMatchInlineSnapshot(`
|
|
155
|
-
"
|
|
156
|
-
|
|
157
|
-
Navigation Example ─────────────────────────────────────────────
|
|
158
|
-
|
|
159
|
-
Main view
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
Items
|
|
163
|
-
First Item Navigate to first detail
|
|
164
|
-
Second Item Navigate to second detail
|
|
165
|
-
›Third Item Navigate to third detail
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
esc
|
|
169
|
-
|
|
170
|
-
Search actions...
|
|
171
|
-
›Open Details
|
|
172
|
-
Copy Title
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
↵ select ↑↓ navigate"
|
|
176
|
-
`);
|
|
177
|
-
// Navigate to detail
|
|
178
|
-
await driver.keys.enter();
|
|
179
|
-
const thirdDetailSnapshot = await driver.text({
|
|
180
|
-
waitFor: (text) => {
|
|
181
|
-
return /Detail: Third Item/i.test(text);
|
|
182
|
-
},
|
|
183
|
-
});
|
|
184
|
-
expect(thirdDetailSnapshot).toMatchInlineSnapshot(`
|
|
185
|
-
"
|
|
186
|
-
|
|
187
|
-
Detail: Third Item ─────────────────────────────────────────────
|
|
188
|
-
|
|
189
|
-
Detail view - Press ESC to go back
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
Details
|
|
193
|
-
›This is the detail view for Third Item Press Enter to go back or ES
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
↵ select ↑↓ navigate ^k actions"
|
|
197
|
-
`);
|
|
198
|
-
// Use Enter to open actions and go back
|
|
199
|
-
await driver.keys.enter();
|
|
200
|
-
const thirdDetailActionsSnapshot = await driver.text();
|
|
201
|
-
expect(thirdDetailActionsSnapshot).toMatchInlineSnapshot(`
|
|
202
|
-
"
|
|
203
|
-
|
|
204
|
-
Detail: Third Item ─────────────────────────────────────────────
|
|
205
|
-
|
|
206
|
-
Detail view - Press ESC to go back
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
Details
|
|
210
|
-
›This is the detail view for Third Item Press Enter to go back or ES
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
↵ select ↑↓ navigate ^k actions
|
|
214
|
-
|
|
215
|
-
esc
|
|
216
|
-
|
|
217
|
-
Search actions...
|
|
218
|
-
›Go Back
|
|
219
|
-
Copy Title
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
↵ select ↑↓ navigate"
|
|
223
|
-
`);
|
|
224
|
-
// Select "Go Back" action
|
|
225
|
-
await driver.keys.enter();
|
|
226
|
-
const backFromThirdSnapshot = await driver.text({
|
|
227
|
-
waitFor: (text) => {
|
|
228
|
-
return /Navigation Example/i.test(text);
|
|
229
|
-
},
|
|
230
|
-
});
|
|
231
|
-
expect(backFromThirdSnapshot).toMatchInlineSnapshot(`
|
|
232
|
-
"
|
|
233
|
-
|
|
234
|
-
Navigation Example ─────────────────────────────────────────────
|
|
235
|
-
|
|
236
|
-
Main view
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
Items
|
|
240
|
-
›First Item Navigate to first detail
|
|
241
|
-
Second Item Navigate to second detail
|
|
242
|
-
Third Item Navigate to third detail
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
↵ select ↑↓ navigate ^k actions"
|
|
246
|
-
`);
|
|
247
|
-
}, 15000);
|
|
248
|
-
test('navigation with actions panel', async () => {
|
|
249
|
-
await driver.text({
|
|
250
|
-
waitFor: (text) => {
|
|
251
|
-
// wait for main view to show up
|
|
252
|
-
return /Navigation Example/i.test(text);
|
|
253
|
-
},
|
|
254
|
-
});
|
|
255
|
-
// Open actions panel with ctrl+k
|
|
256
|
-
await driver.keys.ctrlK();
|
|
257
|
-
const actionsOpenSnapshot = await driver.text();
|
|
258
|
-
expect(actionsOpenSnapshot).toMatchInlineSnapshot(`
|
|
259
|
-
"
|
|
260
|
-
|
|
261
|
-
Navigation Example ─────────────────────────────────────────────
|
|
262
|
-
|
|
263
|
-
Main view
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
Items
|
|
267
|
-
›First Item Navigate to first detail
|
|
268
|
-
Second Item Navigate to second detail
|
|
269
|
-
Third Item Navigate to third detail
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
esc
|
|
273
|
-
|
|
274
|
-
Search actions...
|
|
275
|
-
›Open Details
|
|
276
|
-
Copy Title
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
↵ select ↑↓ navigate"
|
|
280
|
-
`);
|
|
281
|
-
// Navigate down in actions panel
|
|
282
|
-
await driver.keys.down();
|
|
283
|
-
const secondActionSnapshot = await driver.text();
|
|
284
|
-
expect(secondActionSnapshot).toMatchInlineSnapshot(`
|
|
285
|
-
"
|
|
286
|
-
|
|
287
|
-
Navigation Example ─────────────────────────────────────────────
|
|
288
|
-
|
|
289
|
-
Main view
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
Items
|
|
293
|
-
›First Item Navigate to first detail
|
|
294
|
-
Second Item Navigate to second detail
|
|
295
|
-
Third Item Navigate to third detail
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
esc
|
|
299
|
-
|
|
300
|
-
Search actions...
|
|
301
|
-
Open Details
|
|
302
|
-
›Copy Title
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
↵ select ↑↓ navigate"
|
|
306
|
-
`);
|
|
307
|
-
// Select the Copy Title action
|
|
308
|
-
await driver.keys.enter();
|
|
309
|
-
const afterCopySnapshot = await driver.text();
|
|
310
|
-
expect(afterCopySnapshot).toMatchInlineSnapshot(`
|
|
311
|
-
"
|
|
312
|
-
|
|
313
|
-
Navigation Example ─────────────────────────────────────────────
|
|
314
|
-
|
|
315
|
-
Main view
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
Items
|
|
319
|
-
›First Item Navigate to first detail
|
|
320
|
-
Second Item Navigate to second detail
|
|
321
|
-
Third Item Navigate to third detail
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
┌────────────────────────────────────┐
|
|
325
|
-
│ ✓ Copied to Clipboard - First Item │
|
|
326
|
-
└────────────────────────────────────┘"
|
|
327
|
-
`);
|
|
328
|
-
// Navigate to second item and open its detail
|
|
329
|
-
await driver.keys.down();
|
|
330
|
-
await driver.keys.enter();
|
|
331
|
-
const secondDetailSnapshot = await driver.text({
|
|
332
|
-
waitFor: (text) => {
|
|
333
|
-
return /Detail: Second Item/i.test(text);
|
|
334
|
-
},
|
|
335
|
-
});
|
|
336
|
-
expect(secondDetailSnapshot).toMatchInlineSnapshot(`
|
|
337
|
-
"
|
|
338
|
-
|
|
339
|
-
Navigation Example ─────────────────────────────────────────────
|
|
340
|
-
|
|
341
|
-
Main view
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
Items
|
|
345
|
-
First Item Navigate to first detail
|
|
346
|
-
›Second Item Navigate to second detail
|
|
347
|
-
Third Item Navigate to third detail
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
esc
|
|
351
|
-
|
|
352
|
-
Search actions...
|
|
353
|
-
›Open Details
|
|
354
|
-
Copy Title
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
↵ select ↑↓ navigate"
|
|
358
|
-
`);
|
|
359
|
-
// Open actions panel in detail view
|
|
360
|
-
await driver.keys.ctrlK();
|
|
361
|
-
const detailActionsSnapshot = await driver.text();
|
|
362
|
-
expect(detailActionsSnapshot).toMatchInlineSnapshot(`
|
|
363
|
-
"
|
|
364
|
-
|
|
365
|
-
Navigation Example ─────────────────────────────────────────────
|
|
366
|
-
|
|
367
|
-
Main view
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
Items
|
|
371
|
-
First Item Navigate to first detail
|
|
372
|
-
›Second Item Navigate to second detail
|
|
373
|
-
Third Item Navigate to third detail
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
esc
|
|
377
|
-
|
|
378
|
-
Search actions...
|
|
379
|
-
›Open Details
|
|
380
|
-
Copy Title
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
↵ select ↑↓ navigate"
|
|
384
|
-
`);
|
|
385
|
-
// Select Go Back action
|
|
386
|
-
await driver.keys.enter();
|
|
387
|
-
const backViaActionSnapshot = await driver.text({
|
|
388
|
-
waitFor: (text) => {
|
|
389
|
-
return /Navigation Example/i.test(text);
|
|
390
|
-
},
|
|
391
|
-
});
|
|
392
|
-
expect(backViaActionSnapshot).toMatchInlineSnapshot(`
|
|
393
|
-
"
|
|
394
|
-
|
|
395
|
-
Detail: Second Item ────────────────────────────────────────────
|
|
396
|
-
|
|
397
|
-
Detail view - Press ESC to go back
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
Details
|
|
401
|
-
›This is the detail view for Second Item Press Enter to go back or E
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
↵ select ↑↓ navigate ^k actions"
|
|
405
|
-
`);
|
|
406
|
-
}, 15000);
|
|
407
|
-
test('search functionality in main and detail views', async () => {
|
|
408
|
-
await driver.text({
|
|
409
|
-
waitFor: (text) => {
|
|
410
|
-
// wait for main view to show up
|
|
411
|
-
return /Main view/i.test(text);
|
|
412
|
-
},
|
|
413
|
-
});
|
|
414
|
-
// Type in search bar
|
|
415
|
-
await driver.keys.type('second');
|
|
416
|
-
const searchMainSnapshot = await driver.text({
|
|
417
|
-
waitFor: (text) => {
|
|
418
|
-
return /second/i.test(text);
|
|
419
|
-
},
|
|
420
|
-
});
|
|
421
|
-
expect(searchMainSnapshot).toMatchInlineSnapshot(`
|
|
422
|
-
"
|
|
423
|
-
|
|
424
|
-
Navigation Example ─────────────────────────────────────────────
|
|
425
|
-
|
|
426
|
-
second
|
|
427
|
-
|
|
428
|
-
Second Item Navigate to second detail
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
↵ select ↑↓ navigate ^k actions"
|
|
432
|
-
`);
|
|
433
|
-
// Clear search
|
|
434
|
-
await driver.keys.backspace();
|
|
435
|
-
await driver.keys.backspace();
|
|
436
|
-
await driver.keys.backspace();
|
|
437
|
-
await driver.keys.backspace();
|
|
438
|
-
await driver.keys.backspace();
|
|
439
|
-
await driver.keys.backspace();
|
|
440
|
-
const clearedSearchSnapshot = await driver.text();
|
|
441
|
-
expect(clearedSearchSnapshot).toMatchInlineSnapshot(`
|
|
442
|
-
"
|
|
443
|
-
|
|
444
|
-
Navigation Example ─────────────────────────────────────────────
|
|
445
|
-
|
|
446
|
-
Main view
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
Items
|
|
450
|
-
›First Item Navigate to first detail
|
|
451
|
-
Second Item Navigate to second detail
|
|
452
|
-
Third Item Navigate to third detail
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
↵ select ↑↓ navigate ^k actions"
|
|
456
|
-
`);
|
|
457
|
-
// Open actions for first item
|
|
458
|
-
await driver.keys.enter();
|
|
459
|
-
// Navigate to first item detail
|
|
460
|
-
await driver.keys.enter();
|
|
461
|
-
const firstDetailSnapshot = await driver.text({
|
|
462
|
-
waitFor: (text) => {
|
|
463
|
-
return /Detail: First Item/i.test(text);
|
|
464
|
-
},
|
|
465
|
-
});
|
|
466
|
-
expect(firstDetailSnapshot).toMatchInlineSnapshot(`
|
|
467
|
-
"
|
|
468
|
-
|
|
469
|
-
Detail: First Item ─────────────────────────────────────────────
|
|
470
|
-
|
|
471
|
-
Detail view - Press ESC to go back
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
Details
|
|
475
|
-
›This is the detail view for First Item Press Enter to go back or ES
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
↵ select ↑↓ navigate ^k actions"
|
|
479
|
-
`);
|
|
480
|
-
// Type in detail view search bar
|
|
481
|
-
await driver.keys.type('test');
|
|
482
|
-
const searchDetailSnapshot = await driver.text({
|
|
483
|
-
waitFor: (text) => {
|
|
484
|
-
return /test/i.test(text);
|
|
485
|
-
},
|
|
486
|
-
});
|
|
487
|
-
expect(searchDetailSnapshot).toMatchInlineSnapshot(`
|
|
488
|
-
"
|
|
489
|
-
|
|
490
|
-
Detail: First Item ─────────────────────────────────────────────
|
|
491
|
-
|
|
492
|
-
test
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
↵ select ↑↓ navigate ^k actions"
|
|
497
|
-
`);
|
|
498
|
-
// Press ESC to go back
|
|
499
|
-
await driver.keys.escape();
|
|
500
|
-
const finalMainSnapshot = await driver.text({
|
|
501
|
-
waitFor: (text) => {
|
|
502
|
-
return /Navigation Example/i.test(text);
|
|
503
|
-
},
|
|
504
|
-
});
|
|
505
|
-
expect(finalMainSnapshot).toMatchInlineSnapshot(`
|
|
506
|
-
"
|
|
507
|
-
|
|
508
|
-
Navigation Example ─────────────────────────────────────────────
|
|
509
|
-
|
|
510
|
-
Main view
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
Items
|
|
514
|
-
›First Item Navigate to first detail
|
|
515
|
-
Second Item Navigate to second detail
|
|
516
|
-
Third Item Navigate to third detail
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
↵ select ↑↓ navigate ^k actions"
|
|
520
|
-
`);
|
|
521
|
-
}, 10000);
|
|
522
|
-
//# sourceMappingURL=simple-navigation.vitest.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simple-navigation.vitest.js","sourceRoot":"","sources":["../../src/examples/simple-navigation.vitest.tsx"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAErD,IAAI,MAAqB,CAAA;AAEzB,UAAU,CAAC,GAAG,EAAE;IACd,MAAM,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC,oCAAoC,CAAC,EAAE;QACxE,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,EAAE;KACT,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,SAAS,CAAC,GAAG,EAAE;IACb,MAAM,EAAE,OAAO,EAAE,CAAA;AACnB,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;IAC1D,MAAM,MAAM,CAAC,IAAI,CAAC;QAChB,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,gCAAgC;YAChC,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzC,CAAC;KACF,CAAC,CAAA;IAEF,+CAA+C;IAC/C,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAA;IAEvB,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IAE3C,MAAM,CAAC,eAAe,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;GAe7C,CAAC,CAAA;IAEF,0BAA0B;IAC1B,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IAExB,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IAC7C,MAAM,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;GAe/C,CAAC,CAAA;IAEF,oCAAoC;IACpC,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IAEzB,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IAC/C,MAAM,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;GAsBjD,CAAC,CAAA;IAEF,oDAAoD;IACpD,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IAEzB,MAAM,kBAAkB,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC3C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,kCAAkC;YAClC,OAAO,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1C,CAAC;KACF,CAAC,CAAA;IACF,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;GAahD,CAAC,CAAA;IAEF,oCAAoC;IACpC,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;IAE1B,MAAM,kBAAkB,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC3C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,sCAAsC;YACtC,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzC,CAAC;KACF,CAAC,CAAA;IACF,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;KAe9C,CAAC,CAAA;IAEJ,mEAAmE;IACnE,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IACxB,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IAExB,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IAC7C,MAAM,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;KAe7C,CAAC,CAAA;IAEJ,mCAAmC;IACnC,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IAEzB,MAAM,oBAAoB,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IAChD,MAAM,CAAC,oBAAoB,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;GAsBlD,CAAC,CAAA;IAEF,qBAAqB;IACrB,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IAEzB,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC5C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzC,CAAC;KACF,CAAC,CAAA;IACF,MAAM,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;KAa/C,CAAC,CAAA;IAEJ,wCAAwC;IACxC,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IAEzB,MAAM,0BAA0B,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IACtD,MAAM,CAAC,0BAA0B,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;GAsBxD,CAAC,CAAA;IAEF,0BAA0B;IAC1B,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IAEzB,MAAM,qBAAqB,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC9C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzC,CAAC;KACF,CAAC,CAAA;IACF,MAAM,CAAC,qBAAqB,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;KAejD,CAAC,CAAA;AACN,CAAC,EAAE,KAAK,CAAC,CAAA;AAET,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;IAC/C,MAAM,MAAM,CAAC,IAAI,CAAC;QAChB,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,gCAAgC;YAChC,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzC,CAAC;KACF,CAAC,CAAA;IAEF,iCAAiC;IACjC,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IAEzB,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IAC/C,MAAM,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;GAsBjD,CAAC,CAAA;IAEF,iCAAiC;IACjC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IAExB,MAAM,oBAAoB,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IAChD,MAAM,CAAC,oBAAoB,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;GAsBlD,CAAC,CAAA;IAEF,+BAA+B;IAC/B,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IAEzB,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IAC7C,MAAM,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;GAiB/C,CAAC,CAAA;IAEF,8CAA8C;IAC9C,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IACxB,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IAEzB,MAAM,oBAAoB,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC7C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1C,CAAC;KACF,CAAC,CAAA;IACF,MAAM,CAAC,oBAAoB,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;GAsBlD,CAAC,CAAA;IAEF,oCAAoC;IACpC,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IAEzB,MAAM,qBAAqB,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IACjD,MAAM,CAAC,qBAAqB,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;GAsBnD,CAAC,CAAA;IAEF,wBAAwB;IACxB,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IAEzB,MAAM,qBAAqB,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC9C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzC,CAAC;KACF,CAAC,CAAA;IACF,MAAM,CAAC,qBAAqB,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;GAanD,CAAC,CAAA;AACJ,CAAC,EAAE,KAAK,CAAC,CAAA;AAET,IAAI,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;IAC/D,MAAM,MAAM,CAAC,IAAI,CAAC;QAChB,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,gCAAgC;YAChC,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC;KACF,CAAC,CAAA;IAEF,qBAAqB;IACrB,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAEhC,MAAM,kBAAkB,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC3C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC7B,CAAC;KACF,CAAC,CAAA;IACF,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;GAWhD,CAAC,CAAA;IAEF,eAAe;IACf,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;IAC7B,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;IAC7B,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;IAC7B,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;IAC7B,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;IAC7B,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;IAE7B,MAAM,qBAAqB,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IACjD,MAAM,CAAC,qBAAqB,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;KAejD,CAAC,CAAA;IAEJ,8BAA8B;IAC9B,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IAEzB,gCAAgC;IAChC,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IAEzB,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC5C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzC,CAAC;KACF,CAAC,CAAA;IACF,MAAM,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;KAa/C,CAAC,CAAA;IAEJ,iCAAiC;IACjC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAE9B,MAAM,oBAAoB,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC7C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3B,CAAC;KACF,CAAC,CAAA;IACF,MAAM,CAAC,oBAAoB,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;KAUhD,CAAC,CAAA;IAEJ,uBAAuB;IACvB,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;IAE1B,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzC,CAAC;KACF,CAAC,CAAA;IACF,MAAM,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;KAe7C,CAAC,CAAA;AACN,CAAC,EAAE,KAAK,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store.vitest.d.ts","sourceRoot":"","sources":["../../src/examples/store.vitest.tsx"],"names":[],"mappings":""}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { test, expect, afterEach, beforeEach } from 'vitest';
|
|
2
|
-
import { NodeTuiDriver } from 'termcast/src/e2e-node';
|
|
3
|
-
let driver;
|
|
4
|
-
beforeEach(() => {
|
|
5
|
-
driver = new NodeTuiDriver('bun', ['src/examples/store.tsx'], {
|
|
6
|
-
cols: 80,
|
|
7
|
-
rows: 30,
|
|
8
|
-
});
|
|
9
|
-
});
|
|
10
|
-
afterEach(() => {
|
|
11
|
-
driver?.dispose();
|
|
12
|
-
});
|
|
13
|
-
test('Store extension - searching for spiceblow shows Database', async () => {
|
|
14
|
-
// Wait for store interface to load
|
|
15
|
-
const initialOutput = await driver.text({
|
|
16
|
-
waitFor: (text) => {
|
|
17
|
-
// Wait until we see the store title
|
|
18
|
-
return text.includes('Store - Install Extensions');
|
|
19
|
-
},
|
|
20
|
-
timeout: 15000,
|
|
21
|
-
});
|
|
22
|
-
// Verify the store interface loads
|
|
23
|
-
expect(initialOutput).toContain('Store - Install Extensions');
|
|
24
|
-
// Type "spiceblow" in the search bar
|
|
25
|
-
await driver.keys.type('spiceblow');
|
|
26
|
-
// Get the output after search, waiting for Database to appear
|
|
27
|
-
// This will automatically wait for the API request to complete and results to show
|
|
28
|
-
const afterSearchOutput = await driver.text({
|
|
29
|
-
waitFor: (text) => {
|
|
30
|
-
return text.includes('Search, update, insert');
|
|
31
|
-
},
|
|
32
|
-
timeout: 15000,
|
|
33
|
-
});
|
|
34
|
-
// Store the snapshot after searching for spiceblow
|
|
35
|
-
expect(afterSearchOutput).toMatchInlineSnapshot(`
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
Store - Install Extensions ───────────────────────────────────────────────
|
|
39
|
-
|
|
40
|
-
spiceblow
|
|
41
|
-
|
|
42
|
-
›Spiceblow - Sql Database Management Search, update, insert and delete rows in
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
↵ select ↑↓ navigate ^k actions"
|
|
46
|
-
`);
|
|
47
|
-
}, 30000);
|
|
48
|
-
//# sourceMappingURL=store.vitest.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store.vitest.js","sourceRoot":"","sources":["../../src/examples/store.vitest.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAErD,IAAI,MAAqB,CAAA;AAEzB,UAAU,CAAC,GAAG,EAAE;IACd,MAAM,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC,wBAAwB,CAAC,EAAE;QAC5D,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,EAAE;KACT,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,SAAS,CAAC,GAAG,EAAE;IACb,MAAM,EAAE,OAAO,EAAE,CAAA;AACnB,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;IAC1E,mCAAmC;IACnC,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACtC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,oCAAoC;YACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAA;QACpD,CAAC;QACD,OAAO,EAAE,KAAK;KACf,CAAC,CAAA;IAEF,mCAAmC;IACnC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAA;IAE7D,qCAAqC;IACrC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAEnC,8DAA8D;IAC9D,mFAAmF;IACnF,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAA;QAChD,CAAC;QACD,OAAO,EAAE,KAAK;KACf,CAAC,CAAA;IAEF,mDAAmD;IACnD,MAAM,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;GAW/C,CAAC,CAAA;AACJ,CAAC,EAAE,KAAK,CAAC,CAAA"}
|
package/dist/home-command.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import './globals';
|
|
3
|
-
export declare function runHomeCommand(): Promise<void>;
|
|
4
|
-
export default function Home({ initialSearchQuery, key, }: {
|
|
5
|
-
initialSearchQuery?: string;
|
|
6
|
-
key?: React.Key;
|
|
7
|
-
}): any;
|
|
8
|
-
//# sourceMappingURL=home-command.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"home-command.d.ts","sourceRoot":"","sources":["../src/home-command.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAYzB,OAAO,WAAW,CAAA;AA2QlB,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CASpD;AAED,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAC3B,kBAAuB,EACvB,GAAG,GACJ,EAAE;IACD,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAA;CAChB,GAAG,GAAG,CA+BN"}
|