vue-instantsearch 4.7.0 → 4.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -2
- package/package.json +20 -104
- package/src/__tests__/index.js +12 -3
- package/src/components/Autocomplete.vue +4 -5
- package/src/components/Breadcrumb.vue +9 -6
- package/src/components/ClearRefinements.vue +2 -5
- package/src/components/Configure.js +1 -1
- package/src/components/CurrentRefinements.vue +6 -9
- package/src/components/DynamicWidgets.js +6 -4
- package/src/components/HierarchicalMenu.vue +4 -5
- package/src/components/HierarchicalMenuList.vue +3 -6
- package/src/components/Highlighter.vue +6 -7
- package/src/components/Hits.vue +4 -5
- package/src/components/HitsPerPage.vue +8 -13
- package/src/components/Index.js +1 -1
- package/src/components/InfiniteHits.vue +18 -10
- package/src/components/InstantSearch.js +1 -1
- package/src/components/InstantSearchSsr.js +1 -1
- package/src/components/Menu.vue +7 -5
- package/src/components/MenuSelect.vue +5 -9
- package/src/components/NumericMenu.vue +1 -1
- package/src/components/Pagination.vue +20 -30
- package/src/components/Panel.vue +4 -16
- package/src/components/PoweredBy.vue +2 -2
- package/src/components/QueryRuleCustomData.vue +3 -12
- package/src/components/RangeInput.vue +10 -8
- package/src/components/RatingMenu.vue +11 -22
- package/src/components/RefinementList.vue +12 -29
- package/src/components/RelevantSort.vue +9 -21
- package/src/components/SearchBox.vue +10 -40
- package/src/components/SearchInput.vue +12 -17
- package/src/components/SortBy.vue +4 -5
- package/src/components/StateResults.vue +2 -7
- package/src/components/Stats.vue +8 -5
- package/src/components/ToggleRefinement.vue +4 -5
- package/src/components/VoiceSearch.vue +10 -50
- package/src/components/__Template.vue +7 -17
- package/src/components/__tests__/Autocomplete.js +7 -1
- package/src/components/__tests__/Breadcrumb.js +7 -2
- package/src/components/__tests__/ClearRefinements.js +6 -1
- package/src/components/__tests__/Configure.js +7 -2
- package/src/components/__tests__/ConfigureRelatedItems.js +7 -2
- package/src/components/__tests__/CurrentRefinements.js +6 -0
- package/src/components/__tests__/DynamicWidgets.js +8 -3
- package/src/components/__tests__/ExperimentalDynamicWidgets.js +9 -1
- package/src/components/__tests__/HierarchicalMenu.js +12 -4
- package/src/components/__tests__/Highlight.js +5 -0
- package/src/components/__tests__/Hits.js +5 -0
- package/src/components/__tests__/HitsPerPage.js +5 -0
- package/src/components/__tests__/Index-integration.js +5 -0
- package/src/components/__tests__/Index.js +7 -1
- package/src/components/__tests__/InfiniteHits.js +7 -2
- package/src/components/__tests__/InstantSearch-integration.js +6 -1
- package/src/components/__tests__/InstantSearch.js +18 -5
- package/src/components/__tests__/InstantSearchSsr.js +6 -1
- package/src/components/__tests__/Menu.js +8 -3
- package/src/components/__tests__/MenuSelect.js +5 -0
- package/src/components/__tests__/NumericMenu.js +6 -1
- package/src/components/__tests__/Pagination.js +5 -0
- package/src/components/__tests__/Panel.js +5 -0
- package/src/components/__tests__/PoweredBy.js +6 -1
- package/src/components/__tests__/QueryRuleContext.js +5 -0
- package/src/components/__tests__/QueryRuleCustomData.js +5 -0
- package/src/components/__tests__/RangeInput.js +5 -0
- package/src/components/__tests__/RatingMenu.js +5 -0
- package/src/components/__tests__/RefinementList.js +7 -2
- package/src/components/__tests__/RelevantSort.js +7 -1
- package/src/components/__tests__/SearchBox.js +15 -10
- package/src/components/__tests__/Snippet.js +5 -0
- package/src/components/__tests__/SortBy.js +5 -0
- package/src/components/__tests__/StateResults.js +35 -9
- package/src/components/__tests__/Stats.js +5 -0
- package/src/components/__tests__/ToggleRefinement.js +5 -0
- package/src/components/__tests__/VoiceSearch.js +6 -1
- package/src/components/__tests__/__Template.js +5 -0
- package/src/components/__tests__/__snapshots__/PoweredBy.js.snap +2 -2
- package/src/components/__tests__/__snapshots__/__Template.js.snap +0 -345
- package/src/connectors/connectStateResults.js +31 -31
- package/src/mixins/__tests__/panel.test.js +4 -0
- package/src/mixins/__tests__/suit.test.js +4 -0
- package/src/mixins/__tests__/widget.test.js +8 -4
- package/src/mixins/panel.js +2 -2
- package/src/plugin.js +1 -1
- package/src/util/__tests__/createServerRootMixin.test.js +266 -206
- package/src/util/__tests__/parseAlgoliaHit.test.js +1 -1
- package/src/util/createInstantSearchComponent.js +7 -7
- package/src/util/createServerRootMixin.js +17 -16
- package/src/util/parseAlgoliaHit.js +3 -3
- package/src/util/polyfills.js +1 -0
- package/src/util/testutils/client.js +1 -1
- package/src/util/unescape.js +1 -1
- package/src/util/vue-compat/index-vue2.js +1 -1
- package/src/util/vue-compat/index-vue3.js +1 -1
- package/src/widgets.js +7 -21
- package/vue2/cjs/index.js +1 -1
- package/vue2/cjs/index.js.map +1 -1
- package/vue2/es/package.json.js +1 -1
- package/vue2/es/src/components/Autocomplete.vue.js +1 -1
- package/vue2/es/src/components/Autocomplete.vue.js.map +1 -1
- package/vue2/es/src/components/Autocomplete.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/Autocomplete.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/Breadcrumb.vue.js +1 -1
- package/vue2/es/src/components/Breadcrumb.vue.js.map +1 -1
- package/vue2/es/src/components/Breadcrumb.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/Breadcrumb.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/ClearRefinements.vue.js +1 -1
- package/vue2/es/src/components/ClearRefinements.vue.js.map +1 -1
- package/vue2/es/src/components/ClearRefinements.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/ClearRefinements.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/Configure.js.map +1 -1
- package/vue2/es/src/components/ConfigureRelatedItems.js.map +1 -1
- package/vue2/es/src/components/CurrentRefinements.vue.js +1 -1
- package/vue2/es/src/components/CurrentRefinements.vue.js.map +1 -1
- package/vue2/es/src/components/CurrentRefinements.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/CurrentRefinements.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/DynamicWidgets.js.map +1 -1
- package/vue2/es/src/components/HierarchicalMenu.vue.js +1 -1
- package/vue2/es/src/components/HierarchicalMenu.vue.js.map +1 -1
- package/vue2/es/src/components/HierarchicalMenu.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/HierarchicalMenu.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/HierarchicalMenuList.vue.js +1 -1
- package/vue2/es/src/components/HierarchicalMenuList.vue.js.map +1 -1
- package/vue2/es/src/components/HierarchicalMenuList.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/HierarchicalMenuList.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/Highlight.vue.js +1 -1
- package/vue2/es/src/components/Highlight.vue.js.map +1 -1
- package/vue2/es/src/components/Highlight.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/Highlight.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/Highlighter.vue.js +1 -1
- package/vue2/es/src/components/Highlighter.vue.js.map +1 -1
- package/vue2/es/src/components/Highlighter.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/Highlighter.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/Hits.vue.js +1 -1
- package/vue2/es/src/components/Hits.vue.js.map +1 -1
- package/vue2/es/src/components/Hits.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/Hits.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/HitsPerPage.vue.js +1 -1
- package/vue2/es/src/components/HitsPerPage.vue.js.map +1 -1
- package/vue2/es/src/components/HitsPerPage.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/HitsPerPage.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/Index.js.map +1 -1
- package/vue2/es/src/components/InfiniteHits.vue.js +1 -1
- package/vue2/es/src/components/InfiniteHits.vue.js.map +1 -1
- package/vue2/es/src/components/InfiniteHits.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/InfiniteHits.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/InstantSearch.js.map +1 -1
- package/vue2/es/src/components/InstantSearchSsr.js.map +1 -1
- package/vue2/es/src/components/Menu.vue.js +1 -1
- package/vue2/es/src/components/Menu.vue.js.map +1 -1
- package/vue2/es/src/components/Menu.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/Menu.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/MenuSelect.vue.js +1 -1
- package/vue2/es/src/components/MenuSelect.vue.js.map +1 -1
- package/vue2/es/src/components/MenuSelect.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/MenuSelect.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/NumericMenu.vue.js +1 -1
- package/vue2/es/src/components/NumericMenu.vue.js.map +1 -1
- package/vue2/es/src/components/NumericMenu.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/NumericMenu.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/Pagination.vue.js +1 -1
- package/vue2/es/src/components/Pagination.vue.js.map +1 -1
- package/vue2/es/src/components/Pagination.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/Pagination.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/Panel.vue.js +1 -1
- package/vue2/es/src/components/Panel.vue.js.map +1 -1
- package/vue2/es/src/components/Panel.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/Panel.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/PoweredBy.vue.js +1 -1
- package/vue2/es/src/components/PoweredBy.vue.js.map +1 -1
- package/vue2/es/src/components/PoweredBy.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/PoweredBy.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/QueryRuleContext.js.map +1 -1
- package/vue2/es/src/components/QueryRuleCustomData.vue.js +1 -1
- package/vue2/es/src/components/QueryRuleCustomData.vue.js.map +1 -1
- package/vue2/es/src/components/QueryRuleCustomData.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/QueryRuleCustomData.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/RangeInput.vue.js +1 -1
- package/vue2/es/src/components/RangeInput.vue.js.map +1 -1
- package/vue2/es/src/components/RangeInput.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/RangeInput.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/RatingMenu.vue.js +1 -1
- package/vue2/es/src/components/RatingMenu.vue.js.map +1 -1
- package/vue2/es/src/components/RatingMenu.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/RatingMenu.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/RefinementList.vue.js +1 -1
- package/vue2/es/src/components/RefinementList.vue.js.map +1 -1
- package/vue2/es/src/components/RefinementList.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/RefinementList.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/RelevantSort.vue.js +1 -1
- package/vue2/es/src/components/RelevantSort.vue.js.map +1 -1
- package/vue2/es/src/components/RelevantSort.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/RelevantSort.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/SearchBox.vue.js +1 -1
- package/vue2/es/src/components/SearchBox.vue.js.map +1 -1
- package/vue2/es/src/components/SearchBox.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/SearchBox.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/SearchInput.vue.js +1 -1
- package/vue2/es/src/components/SearchInput.vue.js.map +1 -1
- package/vue2/es/src/components/SearchInput.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/SearchInput.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/Snippet.vue.js +1 -1
- package/vue2/es/src/components/Snippet.vue.js.map +1 -1
- package/vue2/es/src/components/Snippet.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/Snippet.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/SortBy.vue.js +1 -1
- package/vue2/es/src/components/SortBy.vue.js.map +1 -1
- package/vue2/es/src/components/SortBy.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/SortBy.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/StateResults.vue.js +1 -1
- package/vue2/es/src/components/StateResults.vue.js.map +1 -1
- package/vue2/es/src/components/StateResults.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/StateResults.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/Stats.vue.js +1 -1
- package/vue2/es/src/components/Stats.vue.js.map +1 -1
- package/vue2/es/src/components/Stats.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/Stats.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/ToggleRefinement.vue.js +1 -1
- package/vue2/es/src/components/ToggleRefinement.vue.js.map +1 -1
- package/vue2/es/src/components/ToggleRefinement.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/ToggleRefinement.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/components/VoiceSearch.vue.js +1 -1
- package/vue2/es/src/components/VoiceSearch.vue.js.map +1 -1
- package/vue2/es/src/components/VoiceSearch.vue_rollup-plugin-vue=script.js +2 -0
- package/vue2/es/src/components/VoiceSearch.vue_rollup-plugin-vue=script.js.map +1 -0
- package/vue2/es/src/mixins/panel.js.map +1 -1
- package/vue2/es/src/mixins/suit.js.map +1 -1
- package/vue2/es/src/mixins/widget.js.map +1 -1
- package/vue2/es/src/plugin.js.map +1 -1
- package/vue2/es/src/util/createInstantSearchComponent.js +1 -1
- package/vue2/es/src/util/createInstantSearchComponent.js.map +1 -1
- package/vue2/es/src/util/createServerRootMixin.js +1 -1
- package/vue2/es/src/util/createServerRootMixin.js.map +1 -1
- package/vue2/es/src/util/parseAlgoliaHit.js.map +1 -1
- package/vue2/es/src/util/polyfills.js.map +1 -1
- package/vue2/es/src/util/suit.js.map +1 -1
- package/vue2/es/src/util/unescape.js.map +1 -1
- package/vue2/es/src/util/vue-compat/index-vue2.js.map +1 -1
- package/vue2/umd/index.js +1 -1
- package/vue2/umd/index.js.map +1 -1
- package/vue3/cjs/index.js +1 -1
- package/vue3/cjs/index.js.map +1 -1
- package/vue3/es/package.json.js +1 -1
- package/vue3/es/src/components/Autocomplete.vue.js +1 -1
- package/vue3/es/src/components/Autocomplete.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/Autocomplete.vue_vue&type=template&id=7ca53d64&lang.js +2 -0
- package/vue3/es/src/components/Autocomplete.vue_vue&type=template&id=7ca53d64&lang.js.map +1 -0
- package/vue3/es/src/components/Breadcrumb.vue.js +1 -1
- package/vue3/es/src/components/Breadcrumb.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/{Breadcrumb.vue_vue&type=template&id=6f46de9a&lang.js → Breadcrumb.vue_vue&type=template&id=5374ac81&lang.js} +2 -2
- package/vue3/es/src/components/Breadcrumb.vue_vue&type=template&id=5374ac81&lang.js.map +1 -0
- package/vue3/es/src/components/ClearRefinements.vue.js +1 -1
- package/vue3/es/src/components/ClearRefinements.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/ClearRefinements.vue_vue&type=template&id=1b5799b9&lang.js +2 -0
- package/vue3/es/src/components/ClearRefinements.vue_vue&type=template&id=1b5799b9&lang.js.map +1 -0
- package/vue3/es/src/components/Configure.js.map +1 -1
- package/vue3/es/src/components/ConfigureRelatedItems.js.map +1 -1
- package/vue3/es/src/components/CurrentRefinements.vue.js +1 -1
- package/vue3/es/src/components/CurrentRefinements.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/{CurrentRefinements.vue_vue&type=template&id=4f1917ff&lang.js → CurrentRefinements.vue_vue&type=template&id=6256a290&lang.js} +2 -2
- package/vue3/es/src/components/CurrentRefinements.vue_vue&type=template&id=6256a290&lang.js.map +1 -0
- package/vue3/es/src/components/DynamicWidgets.js.map +1 -1
- package/vue3/es/src/components/HierarchicalMenu.vue.js +1 -1
- package/vue3/es/src/components/HierarchicalMenu.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/{HierarchicalMenu.vue_vue&type=template&id=4361a0b8&lang.js → HierarchicalMenu.vue_vue&type=template&id=3548a9a1&lang.js} +2 -2
- package/vue3/es/src/components/HierarchicalMenu.vue_vue&type=template&id=3548a9a1&lang.js.map +1 -0
- package/vue3/es/src/components/HierarchicalMenuList.vue.js +1 -1
- package/vue3/es/src/components/HierarchicalMenuList.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/{HierarchicalMenuList.vue_vue&type=template&id=0435b314&lang.js → HierarchicalMenuList.vue_vue&type=template&id=45723c6c&lang.js} +2 -2
- package/vue3/es/src/components/HierarchicalMenuList.vue_vue&type=template&id=45723c6c&lang.js.map +1 -0
- package/vue3/es/src/components/Highlight.vue.js +1 -1
- package/vue3/es/src/components/{Highlight.vue_vue&type=template&id=300b0ab4&lang.js → Highlight.vue_vue&type=template&id=7592ff40&lang.js} +1 -1
- package/vue3/es/src/components/{Highlight.vue_vue&type=template&id=300b0ab4&lang.js.map → Highlight.vue_vue&type=template&id=7592ff40&lang.js.map} +1 -1
- package/vue3/es/src/components/Highlighter.vue.js +1 -1
- package/vue3/es/src/components/Highlighter.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/{Highlighter.vue_vue&type=template&id=92153c3e&lang.js → Highlighter.vue_vue&type=template&id=11ec06d9&lang.js} +1 -1
- package/vue3/es/src/components/Highlighter.vue_vue&type=template&id=11ec06d9&lang.js.map +1 -0
- package/vue3/es/src/components/Hits.vue.js +1 -1
- package/vue3/es/src/components/Hits.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/Hits.vue_vue&type=template&id=5bc4cfef&lang.js +2 -0
- package/vue3/es/src/components/Hits.vue_vue&type=template&id=5bc4cfef&lang.js.map +1 -0
- package/vue3/es/src/components/HitsPerPage.vue.js +1 -1
- package/vue3/es/src/components/HitsPerPage.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/{HitsPerPage.vue_vue&type=template&id=74f3ac28&lang.js → HitsPerPage.vue_vue&type=template&id=73c9813e&lang.js} +2 -2
- package/vue3/es/src/components/HitsPerPage.vue_vue&type=template&id=73c9813e&lang.js.map +1 -0
- package/vue3/es/src/components/Index.js.map +1 -1
- package/vue3/es/src/components/InfiniteHits.vue.js +1 -1
- package/vue3/es/src/components/InfiniteHits.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/InfiniteHits.vue_vue&type=template&id=0e2ba520&lang.js +2 -0
- package/vue3/es/src/components/InfiniteHits.vue_vue&type=template&id=0e2ba520&lang.js.map +1 -0
- package/vue3/es/src/components/InstantSearch.js.map +1 -1
- package/vue3/es/src/components/InstantSearchSsr.js.map +1 -1
- package/vue3/es/src/components/Menu.vue.js +1 -1
- package/vue3/es/src/components/Menu.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/{Menu.vue_vue&type=template&id=9bcc0be2&lang.js → Menu.vue_vue&type=template&id=577979d0&lang.js} +2 -2
- package/vue3/es/src/components/Menu.vue_vue&type=template&id=577979d0&lang.js.map +1 -0
- package/vue3/es/src/components/MenuSelect.vue.js +1 -1
- package/vue3/es/src/components/MenuSelect.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/MenuSelect.vue_vue&type=template&id=12bad393&lang.js +2 -0
- package/vue3/es/src/components/MenuSelect.vue_vue&type=template&id=12bad393&lang.js.map +1 -0
- package/vue3/es/src/components/NumericMenu.vue.js +1 -1
- package/vue3/es/src/components/NumericMenu.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/{NumericMenu.vue_vue&type=template&id=160fae0c&lang.js → NumericMenu.vue_vue&type=template&id=ada9761c&lang.js} +2 -2
- package/vue3/es/src/components/NumericMenu.vue_vue&type=template&id=ada9761c&lang.js.map +1 -0
- package/vue3/es/src/components/Pagination.vue.js +1 -1
- package/vue3/es/src/components/Pagination.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/Pagination.vue_vue&type=template&id=189fc463&lang.js +2 -0
- package/vue3/es/src/components/Pagination.vue_vue&type=template&id=189fc463&lang.js.map +1 -0
- package/vue3/es/src/components/Panel.vue.js +1 -1
- package/vue3/es/src/components/Panel.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/Panel.vue_vue&type=template&id=766abb5d&lang.js +2 -0
- package/vue3/es/src/components/Panel.vue_vue&type=template&id=766abb5d&lang.js.map +1 -0
- package/vue3/es/src/components/PoweredBy.vue.js +1 -1
- package/vue3/es/src/components/PoweredBy.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/{PoweredBy.vue_vue&type=template&id=3e8d7a5b&lang.js → PoweredBy.vue_vue&type=template&id=85db7eac&lang.js} +1 -1
- package/vue3/es/src/components/PoweredBy.vue_vue&type=template&id=85db7eac&lang.js.map +1 -0
- package/vue3/es/src/components/QueryRuleContext.js.map +1 -1
- package/vue3/es/src/components/QueryRuleCustomData.vue.js +1 -1
- package/vue3/es/src/components/QueryRuleCustomData.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/QueryRuleCustomData.vue_vue&type=template&id=31c98630&lang.js +2 -0
- package/vue3/es/src/components/QueryRuleCustomData.vue_vue&type=template&id=31c98630&lang.js.map +1 -0
- package/vue3/es/src/components/RangeInput.vue.js +1 -1
- package/vue3/es/src/components/RangeInput.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/RangeInput.vue_vue&type=template&id=2c7c21d8&lang.js +2 -0
- package/vue3/es/src/components/RangeInput.vue_vue&type=template&id=2c7c21d8&lang.js.map +1 -0
- package/vue3/es/src/components/RatingMenu.vue.js +1 -1
- package/vue3/es/src/components/RatingMenu.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/{RatingMenu.vue_vue&type=template&id=9254de68&lang.js → RatingMenu.vue_vue&type=template&id=0fb40347&lang.js} +2 -2
- package/vue3/es/src/components/RatingMenu.vue_vue&type=template&id=0fb40347&lang.js.map +1 -0
- package/vue3/es/src/components/RefinementList.vue.js +1 -1
- package/vue3/es/src/components/RefinementList.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/RefinementList.vue_vue&type=template&id=00083417&lang.js +2 -0
- package/vue3/es/src/components/RefinementList.vue_vue&type=template&id=00083417&lang.js.map +1 -0
- package/vue3/es/src/components/RelevantSort.vue.js +1 -1
- package/vue3/es/src/components/RelevantSort.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/RelevantSort.vue_vue&type=template&id=0d400606&lang.js +2 -0
- package/vue3/es/src/components/RelevantSort.vue_vue&type=template&id=0d400606&lang.js.map +1 -0
- package/vue3/es/src/components/SearchBox.vue.js +1 -1
- package/vue3/es/src/components/SearchBox.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/SearchBox.vue_vue&type=template&id=30bd05ae&lang.js +2 -0
- package/vue3/es/src/components/SearchBox.vue_vue&type=template&id=30bd05ae&lang.js.map +1 -0
- package/vue3/es/src/components/SearchInput.vue.js +1 -1
- package/vue3/es/src/components/SearchInput.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/SearchInput.vue_vue&type=template&id=084af36e&lang.js +2 -0
- package/vue3/es/src/components/SearchInput.vue_vue&type=template&id=084af36e&lang.js.map +1 -0
- package/vue3/es/src/components/Snippet.vue.js +1 -1
- package/vue3/es/src/components/{Snippet.vue_vue&type=template&id=eb4966c6&lang.js → Snippet.vue_vue&type=template&id=1cd4c392&lang.js} +1 -1
- package/vue3/es/src/components/{Snippet.vue_vue&type=template&id=eb4966c6&lang.js.map → Snippet.vue_vue&type=template&id=1cd4c392&lang.js.map} +1 -1
- package/vue3/es/src/components/SortBy.vue.js +1 -1
- package/vue3/es/src/components/SortBy.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/{SortBy.vue_vue&type=template&id=b69b3b76&lang.js → SortBy.vue_vue&type=template&id=6a94a4c1&lang.js} +2 -2
- package/vue3/es/src/components/SortBy.vue_vue&type=template&id=6a94a4c1&lang.js.map +1 -0
- package/vue3/es/src/components/StateResults.vue.js +1 -1
- package/vue3/es/src/components/StateResults.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/StateResults.vue_vue&type=template&id=2ea5b184&lang.js +2 -0
- package/vue3/es/src/components/StateResults.vue_vue&type=template&id=2ea5b184&lang.js.map +1 -0
- package/vue3/es/src/components/Stats.vue.js +1 -1
- package/vue3/es/src/components/Stats.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/{Stats.vue_vue&type=template&id=7337491f&lang.js → Stats.vue_vue&type=template&id=05ff9d6a&lang.js} +2 -2
- package/vue3/es/src/components/Stats.vue_vue&type=template&id=05ff9d6a&lang.js.map +1 -0
- package/vue3/es/src/components/ToggleRefinement.vue.js +1 -1
- package/vue3/es/src/components/ToggleRefinement.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/{ToggleRefinement.vue_vue&type=template&id=14e4586f&lang.js → ToggleRefinement.vue_vue&type=template&id=461db228&lang.js} +2 -2
- package/vue3/es/src/components/ToggleRefinement.vue_vue&type=template&id=461db228&lang.js.map +1 -0
- package/vue3/es/src/components/VoiceSearch.vue.js +1 -1
- package/vue3/es/src/components/VoiceSearch.vue_vue&type=script&lang.js.map +1 -1
- package/vue3/es/src/components/{VoiceSearch.vue_vue&type=template&id=24b0f67a&lang.js → VoiceSearch.vue_vue&type=template&id=1cf17560&lang.js} +2 -2
- package/vue3/es/src/components/VoiceSearch.vue_vue&type=template&id=1cf17560&lang.js.map +1 -0
- package/vue3/es/src/mixins/panel.js.map +1 -1
- package/vue3/es/src/mixins/suit.js.map +1 -1
- package/vue3/es/src/mixins/widget.js.map +1 -1
- package/vue3/es/src/plugin.js.map +1 -1
- package/vue3/es/src/util/createInstantSearchComponent.js +1 -1
- package/vue3/es/src/util/createInstantSearchComponent.js.map +1 -1
- package/vue3/es/src/util/createServerRootMixin.js +1 -1
- package/vue3/es/src/util/createServerRootMixin.js.map +1 -1
- package/vue3/es/src/util/parseAlgoliaHit.js.map +1 -1
- package/vue3/es/src/util/polyfills.js.map +1 -1
- package/vue3/es/src/util/suit.js.map +1 -1
- package/vue3/es/src/util/unescape.js.map +1 -1
- package/vue3/es/src/util/vue-compat/index-vue3.js.map +1 -1
- package/vue3/umd/index.js +1 -1
- package/vue3/umd/index.js.map +1 -1
- package/CHANGELOG.md +0 -892
- package/vue3/es/src/components/Autocomplete.vue_vue&type=template&id=e7c95fd0&lang.js +0 -2
- package/vue3/es/src/components/Autocomplete.vue_vue&type=template&id=e7c95fd0&lang.js.map +0 -1
- package/vue3/es/src/components/Breadcrumb.vue_vue&type=template&id=6f46de9a&lang.js.map +0 -1
- package/vue3/es/src/components/ClearRefinements.vue_vue&type=template&id=410a3aaa&lang.js +0 -2
- package/vue3/es/src/components/ClearRefinements.vue_vue&type=template&id=410a3aaa&lang.js.map +0 -1
- package/vue3/es/src/components/CurrentRefinements.vue_vue&type=template&id=4f1917ff&lang.js.map +0 -1
- package/vue3/es/src/components/HierarchicalMenu.vue_vue&type=template&id=4361a0b8&lang.js.map +0 -1
- package/vue3/es/src/components/HierarchicalMenuList.vue_vue&type=template&id=0435b314&lang.js.map +0 -1
- package/vue3/es/src/components/Highlighter.vue_vue&type=template&id=92153c3e&lang.js.map +0 -1
- package/vue3/es/src/components/Hits.vue_vue&type=template&id=ef242920&lang.js +0 -2
- package/vue3/es/src/components/Hits.vue_vue&type=template&id=ef242920&lang.js.map +0 -1
- package/vue3/es/src/components/HitsPerPage.vue_vue&type=template&id=74f3ac28&lang.js.map +0 -1
- package/vue3/es/src/components/InfiniteHits.vue_vue&type=template&id=dcfb64b8&lang.js +0 -2
- package/vue3/es/src/components/InfiniteHits.vue_vue&type=template&id=dcfb64b8&lang.js.map +0 -1
- package/vue3/es/src/components/Menu.vue_vue&type=template&id=9bcc0be2&lang.js.map +0 -1
- package/vue3/es/src/components/MenuSelect.vue_vue&type=template&id=694477eb&lang.js +0 -2
- package/vue3/es/src/components/MenuSelect.vue_vue&type=template&id=694477eb&lang.js.map +0 -1
- package/vue3/es/src/components/NumericMenu.vue_vue&type=template&id=160fae0c&lang.js.map +0 -1
- package/vue3/es/src/components/Pagination.vue_vue&type=template&id=849a166c&lang.js +0 -2
- package/vue3/es/src/components/Pagination.vue_vue&type=template&id=849a166c&lang.js.map +0 -1
- package/vue3/es/src/components/Panel.vue_vue&type=template&id=d32d57f8&lang.js +0 -2
- package/vue3/es/src/components/Panel.vue_vue&type=template&id=d32d57f8&lang.js.map +0 -1
- package/vue3/es/src/components/PoweredBy.vue_vue&type=template&id=3e8d7a5b&lang.js.map +0 -1
- package/vue3/es/src/components/QueryRuleCustomData.vue_vue&type=template&id=e4da0782&lang.js +0 -2
- package/vue3/es/src/components/QueryRuleCustomData.vue_vue&type=template&id=e4da0782&lang.js.map +0 -1
- package/vue3/es/src/components/RangeInput.vue_vue&type=template&id=1e17783d&lang.js +0 -2
- package/vue3/es/src/components/RangeInput.vue_vue&type=template&id=1e17783d&lang.js.map +0 -1
- package/vue3/es/src/components/RatingMenu.vue_vue&type=template&id=9254de68&lang.js.map +0 -1
- package/vue3/es/src/components/RefinementList.vue_vue&type=template&id=28927239&lang.js +0 -2
- package/vue3/es/src/components/RefinementList.vue_vue&type=template&id=28927239&lang.js.map +0 -1
- package/vue3/es/src/components/RelevantSort.vue_vue&type=template&id=257b248b&lang.js +0 -2
- package/vue3/es/src/components/RelevantSort.vue_vue&type=template&id=257b248b&lang.js.map +0 -1
- package/vue3/es/src/components/SearchBox.vue_vue&type=template&id=27029d83&lang.js +0 -2
- package/vue3/es/src/components/SearchBox.vue_vue&type=template&id=27029d83&lang.js.map +0 -1
- package/vue3/es/src/components/SearchInput.vue_vue&type=template&id=2eed8ffc&lang.js +0 -2
- package/vue3/es/src/components/SearchInput.vue_vue&type=template&id=2eed8ffc&lang.js.map +0 -1
- package/vue3/es/src/components/SortBy.vue_vue&type=template&id=b69b3b76&lang.js.map +0 -1
- package/vue3/es/src/components/StateResults.vue_vue&type=template&id=5992f3d5&lang.js +0 -2
- package/vue3/es/src/components/StateResults.vue_vue&type=template&id=5992f3d5&lang.js.map +0 -1
- package/vue3/es/src/components/Stats.vue_vue&type=template&id=7337491f&lang.js.map +0 -1
- package/vue3/es/src/components/ToggleRefinement.vue_vue&type=template&id=14e4586f&lang.js.map +0 -1
- package/vue3/es/src/components/VoiceSearch.vue_vue&type=template&id=24b0f67a&lang.js.map +0 -1
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
3
|
-
v-if="state"
|
|
4
|
-
:class="suit()"
|
|
5
|
-
>
|
|
2
|
+
<div v-if="state" :class="suit()">
|
|
6
3
|
<slot v-bind="rootSlotProps">
|
|
7
4
|
<button
|
|
8
5
|
type="button"
|
|
@@ -11,64 +8,27 @@
|
|
|
11
8
|
:disabled="!state.isBrowserSupported"
|
|
12
9
|
@click="handleClick"
|
|
13
10
|
>
|
|
14
|
-
<slot
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
>
|
|
18
|
-
<svg
|
|
19
|
-
v-bind="buttonSvgAttrs"
|
|
20
|
-
v-if="errorNotAllowed"
|
|
21
|
-
>
|
|
22
|
-
<line
|
|
23
|
-
x1="1"
|
|
24
|
-
y1="1"
|
|
25
|
-
x2="23"
|
|
26
|
-
y2="23"
|
|
27
|
-
/>
|
|
11
|
+
<slot name="buttonText" v-bind="innerSlotProps">
|
|
12
|
+
<svg v-bind="buttonSvgAttrs" v-if="errorNotAllowed">
|
|
13
|
+
<line x1="1" y1="1" x2="23" y2="23" />
|
|
28
14
|
<path d="M9 9v3a3 3 0 0 0 5.12 2.12M15 9.34V4a3 3 0 0 0-5.94-.6" />
|
|
29
15
|
<path d="M17 16.95A7 7 0 0 1 5 12v-2m14 0v2a7 7 0 0 1-.11 1.23" />
|
|
30
|
-
<line
|
|
31
|
-
|
|
32
|
-
y1="19"
|
|
33
|
-
x2="12"
|
|
34
|
-
y2="23"
|
|
35
|
-
/>
|
|
36
|
-
<line
|
|
37
|
-
x1="8"
|
|
38
|
-
y1="23"
|
|
39
|
-
x2="16"
|
|
40
|
-
y2="23"
|
|
41
|
-
/>
|
|
16
|
+
<line x1="12" y1="19" x2="12" y2="23" />
|
|
17
|
+
<line x1="8" y1="23" x2="16" y2="23" />
|
|
42
18
|
</svg>
|
|
43
|
-
<svg
|
|
44
|
-
v-bind="buttonSvgAttrs"
|
|
45
|
-
v-else
|
|
46
|
-
>
|
|
19
|
+
<svg v-bind="buttonSvgAttrs" v-else>
|
|
47
20
|
<path
|
|
48
21
|
d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"
|
|
49
22
|
:fill="state.isListening ? 'currentColor' : 'none'"
|
|
50
23
|
/>
|
|
51
24
|
<path d="M19 10v2a7 7 0 0 1-14 0v-2" />
|
|
52
|
-
<line
|
|
53
|
-
|
|
54
|
-
y1="19"
|
|
55
|
-
x2="12"
|
|
56
|
-
y2="23"
|
|
57
|
-
/>
|
|
58
|
-
<line
|
|
59
|
-
x1="8"
|
|
60
|
-
y1="23"
|
|
61
|
-
x2="16"
|
|
62
|
-
y2="23"
|
|
63
|
-
/>
|
|
25
|
+
<line x1="12" y1="19" x2="12" y2="23" />
|
|
26
|
+
<line x1="8" y1="23" x2="16" y2="23" />
|
|
64
27
|
</svg>
|
|
65
28
|
</slot>
|
|
66
29
|
</button>
|
|
67
30
|
<div :class="suit('status')">
|
|
68
|
-
<slot
|
|
69
|
-
name="status"
|
|
70
|
-
v-bind="innerSlotProps"
|
|
71
|
-
>
|
|
31
|
+
<slot name="status" v-bind="innerSlotProps">
|
|
72
32
|
<p>{{ state.voiceListeningState.transcript }}</p>
|
|
73
33
|
</slot>
|
|
74
34
|
</div>
|
|
@@ -1,40 +1,30 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div :class="suit()">
|
|
3
3
|
<slot v-bind="state">
|
|
4
|
-
<button
|
|
5
|
-
@click="state.refine('hi')"
|
|
6
|
-
:class="suit('button')"
|
|
7
|
-
>
|
|
4
|
+
<button @click="state.refine('hi')" :class="suit('button')">
|
|
8
5
|
example refine
|
|
9
6
|
</button>
|
|
10
|
-
<!-- ⬇ use this to dynamically debug the state, remove it when done -->
|
|
11
|
-
<json-tree
|
|
12
|
-
:level="2"
|
|
13
|
-
:data="state"
|
|
14
|
-
/>
|
|
15
7
|
</slot>
|
|
16
8
|
</div>
|
|
17
9
|
</template>
|
|
18
10
|
|
|
19
11
|
<script>
|
|
20
|
-
import JsonTree from 'vue-json-tree'; // 👈 When done, remove this
|
|
21
12
|
import { createSuitMixin } from '../mixins/suit';
|
|
22
13
|
import { createWidgetMixin } from '../mixins/widget';
|
|
23
14
|
// Uncomment and change here ⬇️
|
|
24
15
|
// import { connectorName } from 'instantsearch.js/es/connectors';
|
|
25
16
|
|
|
26
|
-
/* eslint-disable no-unused-vars */
|
|
17
|
+
/* eslint-disable @typescript-eslint/no-unused-vars,no-unused-vars */
|
|
27
18
|
// Remove this part ⬇,️ only here for testing the template
|
|
28
|
-
const connectorName =
|
|
29
|
-
|
|
30
|
-
})
|
|
19
|
+
const connectorName =
|
|
20
|
+
(renderFn, unmountFn) =>
|
|
21
|
+
({ someProp }) => ({
|
|
22
|
+
render: () => renderFn(),
|
|
23
|
+
});
|
|
31
24
|
/* eslint-enable */
|
|
32
25
|
|
|
33
26
|
export default {
|
|
34
27
|
name: 'AisTemplate', // ◀️ change this to the component name that will be exported
|
|
35
|
-
// ⬇️ this is to help you debugging what's in `state`
|
|
36
|
-
// remove it before pushing the component
|
|
37
|
-
components: { 'json-tree': JsonTree },
|
|
38
28
|
mixins: [
|
|
39
29
|
createSuitMixin({ name: 'Template' }), // ◀️ change this
|
|
40
30
|
createWidgetMixin({
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jest-environment jsdom
|
|
3
|
+
*/
|
|
4
|
+
|
|
1
5
|
import { mount } from '../../../test/utils';
|
|
2
6
|
import Autocomplete from '../Autocomplete.vue';
|
|
3
7
|
import { __setState } from '../../mixins/widget';
|
|
8
|
+
import '../../../test/utils/sortedHtmlSerializer';
|
|
4
9
|
jest.mock('../../mixins/widget');
|
|
5
10
|
|
|
6
11
|
const defaultState = {
|
|
@@ -25,7 +30,8 @@ it('renders correctly', () => {
|
|
|
25
30
|
expect(wrapper.html()).toMatchSnapshot();
|
|
26
31
|
});
|
|
27
32
|
|
|
28
|
-
|
|
33
|
+
// eslint-disable-next-line jest/no-done-callback
|
|
34
|
+
it('gives the correct props to the default slot', (done) => {
|
|
29
35
|
__setState({
|
|
30
36
|
...defaultState,
|
|
31
37
|
});
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jest-environment jsdom
|
|
3
|
+
*/
|
|
4
|
+
|
|
1
5
|
import { mount } from '../../../test/utils';
|
|
2
6
|
import { __setState } from '../../mixins/widget';
|
|
3
7
|
import Breadcrumb from '../Breadcrumb.vue';
|
|
8
|
+
import '../../../test/utils/sortedHtmlSerializer';
|
|
4
9
|
|
|
5
10
|
jest.mock('../../mixins/widget');
|
|
6
11
|
jest.mock('../../mixins/panel');
|
|
@@ -135,7 +140,7 @@ describe('default render', () => {
|
|
|
135
140
|
it('renders correctly with an URL for the href', () => {
|
|
136
141
|
__setState({
|
|
137
142
|
...defaultState,
|
|
138
|
-
createURL: value => `/${value}`,
|
|
143
|
+
createURL: (value) => `/${value}`,
|
|
139
144
|
});
|
|
140
145
|
|
|
141
146
|
const wrapper = mount(Breadcrumb, {
|
|
@@ -244,7 +249,7 @@ describe('custom default render', () => {
|
|
|
244
249
|
it('renders correctly with an URL for the href', () => {
|
|
245
250
|
__setState({
|
|
246
251
|
...defaultState,
|
|
247
|
-
createURL: value => `/${value}`,
|
|
252
|
+
createURL: (value) => `/${value}`,
|
|
248
253
|
});
|
|
249
254
|
|
|
250
255
|
const wrapper = mount({
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jest-environment jsdom
|
|
3
|
+
*/
|
|
4
|
+
|
|
1
5
|
import { mount } from '../../../test/utils';
|
|
2
6
|
import { __setState } from '../../mixins/widget';
|
|
3
7
|
import ClearRefinements from '../ClearRefinements.vue';
|
|
8
|
+
import '../../../test/utils/sortedHtmlSerializer';
|
|
4
9
|
|
|
5
10
|
jest.mock('../../mixins/widget');
|
|
6
11
|
jest.mock('../../mixins/panel');
|
|
@@ -61,7 +66,7 @@ describe('default render', () => {
|
|
|
61
66
|
|
|
62
67
|
const button = wrapper.find('button');
|
|
63
68
|
|
|
64
|
-
expect(button).
|
|
69
|
+
expect(button).vueToBeDisabled();
|
|
65
70
|
expect(button.classes()).toContain('ais-ClearRefinements-button--disabled');
|
|
66
71
|
expect(wrapper.htmlCompat()).toMatchSnapshot();
|
|
67
72
|
});
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jest-environment jsdom
|
|
3
|
+
*/
|
|
4
|
+
|
|
1
5
|
import { mount } from '../../../test/utils';
|
|
2
6
|
import { __setState } from '../../mixins/widget';
|
|
3
7
|
import Configure from '../Configure';
|
|
8
|
+
import '../../../test/utils/sortedHtmlSerializer';
|
|
4
9
|
|
|
5
10
|
jest.mock('../../mixins/widget');
|
|
6
11
|
|
|
@@ -45,7 +50,7 @@ it('renders null without default slot', () => {
|
|
|
45
50
|
propsData: defaultProps,
|
|
46
51
|
});
|
|
47
52
|
|
|
48
|
-
expect(wrapper).
|
|
53
|
+
expect(wrapper).vueToHaveEmptyHTML();
|
|
49
54
|
});
|
|
50
55
|
|
|
51
56
|
it('renders null without state', () => {
|
|
@@ -63,7 +68,7 @@ it('renders null without state', () => {
|
|
|
63
68
|
`,
|
|
64
69
|
});
|
|
65
70
|
|
|
66
|
-
expect(wrapper).
|
|
71
|
+
expect(wrapper).vueToHaveEmptyHTML();
|
|
67
72
|
});
|
|
68
73
|
|
|
69
74
|
it('renders with scoped slots', () => {
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jest-environment jsdom
|
|
3
|
+
*/
|
|
4
|
+
|
|
1
5
|
import { mount } from '../../../test/utils';
|
|
2
6
|
import ConfigureRelatedItems from '../ConfigureRelatedItems';
|
|
7
|
+
import '../../../test/utils/sortedHtmlSerializer';
|
|
3
8
|
|
|
4
9
|
jest.mock('../../mixins/widget');
|
|
5
10
|
|
|
@@ -7,7 +12,7 @@ it('accepts options from props', () => {
|
|
|
7
12
|
const props = {
|
|
8
13
|
hit: { objectID: '1' },
|
|
9
14
|
matchingPatterns: {},
|
|
10
|
-
transformSearchParameters: x => x,
|
|
15
|
+
transformSearchParameters: (x) => x,
|
|
11
16
|
};
|
|
12
17
|
|
|
13
18
|
const wrapper = mount(ConfigureRelatedItems, {
|
|
@@ -27,5 +32,5 @@ it('renders nothing', () => {
|
|
|
27
32
|
propsData: props,
|
|
28
33
|
});
|
|
29
34
|
|
|
30
|
-
expect(wrapper).
|
|
35
|
+
expect(wrapper).vueToHaveEmptyHTML();
|
|
31
36
|
});
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jest-environment jsdom
|
|
3
|
+
*/
|
|
4
|
+
|
|
1
5
|
import { mount } from '../../../test/utils';
|
|
2
6
|
import CurrentRefinements from '../CurrentRefinements.vue';
|
|
3
7
|
import { __setState } from '../../mixins/widget';
|
|
8
|
+
import '../../../test/utils/sortedHtmlSerializer';
|
|
4
9
|
|
|
5
10
|
jest.mock('../../mixins/widget');
|
|
6
11
|
jest.mock('../../mixins/panel');
|
|
@@ -158,6 +163,7 @@ describe.each([
|
|
|
158
163
|
const wrapper = mount(CurrentRefinements);
|
|
159
164
|
|
|
160
165
|
if (name === 'query') {
|
|
166
|
+
// eslint-disable-next-line jest/no-conditional-expect
|
|
161
167
|
expect(
|
|
162
168
|
wrapper.find('.ais-CurrentRefinements-categoryLabel q').text()
|
|
163
169
|
).toEqual('search1');
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jest-environment jsdom
|
|
3
|
+
*/
|
|
4
|
+
|
|
1
5
|
import { mount, nextTick } from '../../../test/utils';
|
|
2
6
|
import DynamicWidgets from '../DynamicWidgets';
|
|
3
7
|
import { __setState } from '../../mixins/widget';
|
|
4
8
|
import { AisPanel } from '../../widgets';
|
|
5
9
|
jest.mock('../../mixins/widget');
|
|
10
|
+
import '../../../test/utils/sortedHtmlSerializer';
|
|
6
11
|
|
|
7
12
|
const MockRefinementList = {
|
|
8
13
|
props: { attribute: { type: String } },
|
|
@@ -49,7 +54,7 @@ const MockHierarchicalMenu = {
|
|
|
49
54
|
it('passes arguments to connector', () => {
|
|
50
55
|
__setState(null);
|
|
51
56
|
|
|
52
|
-
const transformItems = items => items;
|
|
57
|
+
const transformItems = (items) => items;
|
|
53
58
|
const facets = ['test'];
|
|
54
59
|
const maxValuesPerFacet = 100;
|
|
55
60
|
const wrapper = mount({
|
|
@@ -96,7 +101,7 @@ it('renders all children without state', () => {
|
|
|
96
101
|
|
|
97
102
|
const wrapper = mount({
|
|
98
103
|
data() {
|
|
99
|
-
return { props: { transformItems: items => items } };
|
|
104
|
+
return { props: { transformItems: (items) => items } };
|
|
100
105
|
},
|
|
101
106
|
template: `
|
|
102
107
|
<DynamicWidgets v-bind="props">
|
|
@@ -162,7 +167,7 @@ it('renders nothing without children', () => {
|
|
|
162
167
|
|
|
163
168
|
const wrapper = mount(DynamicWidgets, {
|
|
164
169
|
propsData: {
|
|
165
|
-
transformItems: items => items,
|
|
170
|
+
transformItems: (items) => items,
|
|
166
171
|
},
|
|
167
172
|
});
|
|
168
173
|
expect(wrapper.html()).toMatchInlineSnapshot(`
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jest-environment jsdom
|
|
3
|
+
*/
|
|
4
|
+
|
|
1
5
|
import { mount } from '../../../test/utils';
|
|
2
6
|
import ExperimentalDynamicWidgets from '../ExperimentalDynamicWidgets';
|
|
3
7
|
import { warn } from '../../util/warn';
|
|
4
8
|
import { __setState } from '../../mixins/widget';
|
|
5
9
|
import DynamicWidgets from '../DynamicWidgets';
|
|
10
|
+
import '../../../test/utils/sortedHtmlSerializer';
|
|
6
11
|
|
|
7
12
|
jest.mock('../../mixins/widget');
|
|
8
13
|
jest.mock('../../util/warn', () => ({ warn: jest.fn() }));
|
|
@@ -23,18 +28,21 @@ it('warns on mount', () => {
|
|
|
23
28
|
});
|
|
24
29
|
|
|
25
30
|
it('behaves the same as DynamicWidgets', () => {
|
|
26
|
-
Object.keys(ExperimentalDynamicWidgets).forEach(key => {
|
|
31
|
+
Object.keys(ExperimentalDynamicWidgets).forEach((key) => {
|
|
27
32
|
if (key === 'name') {
|
|
28
33
|
// name is different
|
|
34
|
+
// eslint-disable-next-line jest/no-conditional-expect
|
|
29
35
|
expect(ExperimentalDynamicWidgets[key]).toBe(
|
|
30
36
|
'AisExperimentalDynamicWidgets'
|
|
31
37
|
);
|
|
32
38
|
} else if (key === 'mounted') {
|
|
33
39
|
// mounted has the warning
|
|
40
|
+
// eslint-disable-next-line jest/no-conditional-expect
|
|
34
41
|
expect(ExperimentalDynamicWidgets[key]).toEqual(expect.any(Function));
|
|
35
42
|
} else if (key[0] === '_') {
|
|
36
43
|
// private Vue behavior, not tested
|
|
37
44
|
} else {
|
|
45
|
+
// eslint-disable-next-line jest/no-conditional-expect
|
|
38
46
|
expect(ExperimentalDynamicWidgets[key]).toEqual(DynamicWidgets[key]);
|
|
39
47
|
}
|
|
40
48
|
});
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jest-environment jsdom
|
|
3
|
+
*/
|
|
4
|
+
|
|
1
5
|
import { mount } from '../../../test/utils';
|
|
2
6
|
import { __setState } from '../../mixins/widget';
|
|
3
7
|
import HierarchicalMenu from '../HierarchicalMenu.vue';
|
|
8
|
+
import '../../../test/utils/sortedHtmlSerializer';
|
|
4
9
|
|
|
5
10
|
jest.mock('../../mixins/widget');
|
|
6
11
|
jest.mock('../../mixins/panel');
|
|
@@ -312,7 +317,7 @@ describe('default render', () => {
|
|
|
312
317
|
it('renders correctly with a URL for the href', () => {
|
|
313
318
|
__setState({
|
|
314
319
|
...defaultState,
|
|
315
|
-
createURL: value => `/categories/${value}`,
|
|
320
|
+
createURL: (value) => `/categories/${value}`,
|
|
316
321
|
});
|
|
317
322
|
|
|
318
323
|
const wrapper = mount(HierarchicalMenu, {
|
|
@@ -372,7 +377,7 @@ describe('default render', () => {
|
|
|
372
377
|
});
|
|
373
378
|
|
|
374
379
|
const button = wrapper.find('button');
|
|
375
|
-
expect(button).
|
|
380
|
+
expect(button).vueToBeDisabled();
|
|
376
381
|
expect(button.classes()).toContain(
|
|
377
382
|
'ais-HierarchicalMenu-showMore--disabled'
|
|
378
383
|
);
|
|
@@ -578,7 +583,7 @@ describe('custom default render', () => {
|
|
|
578
583
|
it('renders correctly with an URL for the href', () => {
|
|
579
584
|
__setState({
|
|
580
585
|
...defaultState,
|
|
581
|
-
createURL: value => `/categories/${value.replace(/ > /g, '/')}`,
|
|
586
|
+
createURL: (value) => `/categories/${value.replace(/ > /g, '/')}`,
|
|
582
587
|
});
|
|
583
588
|
|
|
584
589
|
const wrapper = mount({
|
|
@@ -624,6 +629,7 @@ describe('custom default render', () => {
|
|
|
624
629
|
__setState({
|
|
625
630
|
...defaultState,
|
|
626
631
|
toggleShowMore: () => {
|
|
632
|
+
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
627
633
|
const component = wrapper.findComponent(HierarchicalMenu);
|
|
628
634
|
component.setData({ state: { isShowingMore: true } });
|
|
629
635
|
},
|
|
@@ -673,7 +679,7 @@ describe('custom default render', () => {
|
|
|
673
679
|
`,
|
|
674
680
|
});
|
|
675
681
|
|
|
676
|
-
expect(wrapper.find('button')).
|
|
682
|
+
expect(wrapper.find('button')).vueToBeDisabled();
|
|
677
683
|
expect(wrapper.htmlCompat()).toMatchSnapshot();
|
|
678
684
|
});
|
|
679
685
|
|
|
@@ -707,6 +713,7 @@ describe('custom default render', () => {
|
|
|
707
713
|
__setState({
|
|
708
714
|
...defaultState,
|
|
709
715
|
toggleShowMore: () => {
|
|
716
|
+
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
710
717
|
const component = wrapper.findComponent(HierarchicalMenu);
|
|
711
718
|
component.setData({ state: { isShowingMore: true } });
|
|
712
719
|
},
|
|
@@ -778,6 +785,7 @@ describe('custom showMoreLabel render', () => {
|
|
|
778
785
|
__setState({
|
|
779
786
|
...defaultState,
|
|
780
787
|
toggleShowMore: () => {
|
|
788
|
+
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
781
789
|
const component = wrapper.findComponent(HierarchicalMenu);
|
|
782
790
|
component.setData({ state: { isShowingMore: true } });
|
|
783
791
|
},
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jest-environment jsdom
|
|
3
|
+
*/
|
|
4
|
+
|
|
1
5
|
import { mount } from '../../../test/utils';
|
|
2
6
|
import { __setState } from '../../mixins/widget';
|
|
3
7
|
import Hits from '../Hits.vue';
|
|
8
|
+
import '../../../test/utils/sortedHtmlSerializer';
|
|
4
9
|
|
|
5
10
|
jest.mock('../../mixins/widget');
|
|
6
11
|
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jest-environment jsdom
|
|
3
|
+
*/
|
|
4
|
+
|
|
1
5
|
import { mount } from '../../../test/utils';
|
|
2
6
|
import { __setState } from '../../mixins/widget';
|
|
3
7
|
import HitsPerPage from '../HitsPerPage.vue';
|
|
8
|
+
import '../../../test/utils/sortedHtmlSerializer';
|
|
4
9
|
|
|
5
10
|
jest.mock('../../mixins/widget');
|
|
6
11
|
jest.mock('../../mixins/panel');
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jest-environment jsdom
|
|
3
|
+
*/
|
|
4
|
+
|
|
1
5
|
jest.unmock('instantsearch.js/es');
|
|
2
6
|
import { mount } from '../../../test/utils';
|
|
3
7
|
import Index from '../Index';
|
|
4
8
|
import instantsearch from 'instantsearch.js/es';
|
|
5
9
|
import { createWidgetMixin } from '../../mixins/widget';
|
|
6
10
|
import { createFakeClient } from '../../util/testutils/client';
|
|
11
|
+
import '../../../test/utils/sortedHtmlSerializer';
|
|
7
12
|
|
|
8
13
|
it('child widgets get added to their parent index', () => {
|
|
9
14
|
const widgetInstance = {
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jest-environment jsdom
|
|
3
|
+
*/
|
|
4
|
+
|
|
1
5
|
import { mount } from '../../../test/utils';
|
|
2
6
|
import Index from '../Index';
|
|
3
7
|
import { __setWidget } from '../../mixins/widget';
|
|
4
8
|
import { Vue2, isVue3, isVue2 } from '../../util/vue-compat';
|
|
5
9
|
jest.mock('../../mixins/widget');
|
|
10
|
+
import '../../../test/utils/sortedHtmlSerializer';
|
|
6
11
|
|
|
7
12
|
beforeEach(() => {
|
|
8
13
|
jest.resetAllMocks();
|
|
@@ -54,7 +59,8 @@ it('renders its children', () => {
|
|
|
54
59
|
`);
|
|
55
60
|
});
|
|
56
61
|
|
|
57
|
-
|
|
62
|
+
// eslint-disable-next-line jest/no-done-callback
|
|
63
|
+
it('provides the index widget', (done) => {
|
|
58
64
|
const indexWidget = { $$type: 'ais.index' };
|
|
59
65
|
__setWidget(indexWidget);
|
|
60
66
|
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jest-environment jsdom
|
|
3
|
+
*/
|
|
4
|
+
|
|
1
5
|
import { mount } from '../../../test/utils';
|
|
2
6
|
import { __setState } from '../../mixins/widget';
|
|
3
7
|
import InfiniteHits from '../InfiniteHits.vue';
|
|
8
|
+
import '../../../test/utils/sortedHtmlSerializer';
|
|
4
9
|
|
|
5
10
|
jest.mock('../../mixins/widget');
|
|
6
11
|
|
|
@@ -8,7 +13,7 @@ const defaultState = {
|
|
|
8
13
|
widgetParams: {
|
|
9
14
|
showPrevious: false,
|
|
10
15
|
escapeHTML: true,
|
|
11
|
-
transformItems: items => items,
|
|
16
|
+
transformItems: (items) => items,
|
|
12
17
|
},
|
|
13
18
|
hits: [
|
|
14
19
|
{
|
|
@@ -171,7 +176,7 @@ it('renders correctly on the first page', () => {
|
|
|
171
176
|
expect(
|
|
172
177
|
previousButton.classes('ais-InfiniteHits-loadPrevious--disabled')
|
|
173
178
|
).toEqual(true);
|
|
174
|
-
expect(previousButton).
|
|
179
|
+
expect(previousButton).vueToBeDisabled();
|
|
175
180
|
expect(wrapper.htmlCompat()).toMatchSnapshot();
|
|
176
181
|
});
|
|
177
182
|
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jest-environment jsdom
|
|
3
|
+
*/
|
|
4
|
+
|
|
1
5
|
import { mount, nextTick } from '../../../test/utils';
|
|
2
6
|
import InstantSearch from '../InstantSearch';
|
|
3
7
|
import { createWidgetMixin } from '../../mixins/widget';
|
|
4
8
|
import { createFakeClient } from '../../util/testutils/client';
|
|
5
9
|
import SearchBox from '../SearchBox.vue';
|
|
6
10
|
jest.unmock('instantsearch.js/es');
|
|
11
|
+
import '../../../test/utils/sortedHtmlSerializer';
|
|
7
12
|
|
|
8
|
-
const wait = ms => new Promise(resolve => setTimeout(resolve, ms));
|
|
13
|
+
const wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
9
14
|
|
|
10
15
|
it('child widgets get added to its parent instantsearch', () => {
|
|
11
16
|
const widgetInstance = {
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jest-environment jsdom
|
|
3
|
+
*/
|
|
4
|
+
|
|
1
5
|
import { isVue3, version as vueVersion } from '../../util/vue-compat';
|
|
2
6
|
import { mount, nextTick } from '../../../test/utils';
|
|
3
7
|
import instantsearch from 'instantsearch.js/es';
|
|
4
8
|
import InstantSearch from '../InstantSearch';
|
|
5
9
|
import { version } from '../../../package.json';
|
|
6
10
|
import { warn } from '../../util/warn';
|
|
11
|
+
import '../../../test/utils/sortedHtmlSerializer';
|
|
7
12
|
|
|
8
13
|
jest.mock('../../util/warn');
|
|
9
14
|
|
|
@@ -14,7 +19,7 @@ beforeEach(() => {
|
|
|
14
19
|
it('passes props to InstantSearch.js', () => {
|
|
15
20
|
const searchClient = {};
|
|
16
21
|
const insightsClient = jest.fn();
|
|
17
|
-
const searchFunction = helper => helper.search();
|
|
22
|
+
const searchFunction = (helper) => helper.search();
|
|
18
23
|
|
|
19
24
|
mount(InstantSearch, {
|
|
20
25
|
propsData: {
|
|
@@ -63,14 +68,17 @@ These have been replaced by search-client.
|
|
|
63
68
|
See more info here: https://www.algolia.com/doc/api-reference/widgets/instantsearch/vue/#widget-param-search-client`);
|
|
64
69
|
|
|
65
70
|
if (isVue3) {
|
|
71
|
+
// eslint-disable-next-line jest/no-conditional-expect
|
|
66
72
|
expect(global.console.warn.mock.calls[0][0]).toMatchInlineSnapshot(
|
|
67
73
|
`"[Vue warn]: Invalid prop: custom validator check failed for prop \\"apiKey\\"."`
|
|
68
74
|
);
|
|
69
75
|
|
|
76
|
+
// eslint-disable-next-line jest/no-conditional-expect
|
|
70
77
|
expect(global.console.warn.mock.calls[1][0]).toMatchInlineSnapshot(
|
|
71
78
|
`"[Vue warn]: Invalid prop: custom validator check failed for prop \\"appId\\"."`
|
|
72
79
|
);
|
|
73
80
|
} else {
|
|
81
|
+
// eslint-disable-next-line jest/no-conditional-expect
|
|
74
82
|
expect(global.console.error.mock.calls[0][0]).toMatchInlineSnapshot(`
|
|
75
83
|
"[Vue warn]: Invalid prop: custom validator check failed for prop \\"apiKey\\".
|
|
76
84
|
|
|
@@ -80,6 +88,7 @@ found in
|
|
|
80
88
|
<Root>"
|
|
81
89
|
`);
|
|
82
90
|
|
|
91
|
+
// eslint-disable-next-line jest/no-conditional-expect
|
|
83
92
|
expect(global.console.error.mock.calls[1][0]).toMatchInlineSnapshot(`
|
|
84
93
|
"[Vue warn]: Invalid prop: custom validator check failed for prop \\"appId\\".
|
|
85
94
|
|
|
@@ -220,10 +229,12 @@ it('does not allow `routing` to be a boolean', () => {
|
|
|
220
229
|
});
|
|
221
230
|
|
|
222
231
|
if (isVue3) {
|
|
232
|
+
// eslint-disable-next-line jest/no-conditional-expect
|
|
223
233
|
expect(global.console.warn.mock.calls[0][0]).toMatchInlineSnapshot(
|
|
224
234
|
`"[Vue warn]: Invalid prop: custom validator check failed for prop \\"routing\\"."`
|
|
225
235
|
);
|
|
226
236
|
} else {
|
|
237
|
+
// eslint-disable-next-line jest/no-conditional-expect
|
|
227
238
|
expect(global.console.error.mock.calls[0][0]).toMatchInlineSnapshot(`
|
|
228
239
|
"[Vue warn]: Invalid prop: custom validator check failed for prop \\"routing\\".
|
|
229
240
|
|
|
@@ -274,7 +285,8 @@ it('does not warn when `routing` have either `router` or `stateMapping`', () =>
|
|
|
274
285
|
expect(warn).toHaveBeenCalledTimes(0);
|
|
275
286
|
});
|
|
276
287
|
|
|
277
|
-
|
|
288
|
+
// TODO: this test does not pass with latest vue-test-utils
|
|
289
|
+
it.skip('Does not allow a change in `routing`', async () => {
|
|
278
290
|
const wrapper = mount(InstantSearch, {
|
|
279
291
|
propsData: {
|
|
280
292
|
searchClient: {},
|
|
@@ -282,14 +294,14 @@ it('Does not allow a change in `routing`', () => {
|
|
|
282
294
|
},
|
|
283
295
|
});
|
|
284
296
|
|
|
285
|
-
expect(
|
|
297
|
+
await expect(
|
|
286
298
|
wrapper.setProps({
|
|
287
299
|
routing: false,
|
|
288
300
|
})
|
|
289
301
|
).rejects.toMatchInlineSnapshot(`
|
|
290
302
|
[Error: routing configuration can not be changed dynamically at this point.
|
|
291
303
|
|
|
292
|
-
Please open a new issue: https://github.com/algolia/
|
|
304
|
+
Please open a new issue: https://github.com/algolia/instantsearch.js/discussions/new?category=ideas&labels=triage%2cLibrary%3A+Vue+InstantSearch&title=Feature%20request%3A%20dynamic%20props]
|
|
293
305
|
`);
|
|
294
306
|
});
|
|
295
307
|
|
|
@@ -339,7 +351,8 @@ it('disposes the instantsearch instance on unmount', async () => {
|
|
|
339
351
|
expect(wrapper.vm.instantSearchInstance.dispose).toHaveBeenCalledTimes(1);
|
|
340
352
|
});
|
|
341
353
|
|
|
342
|
-
|
|
354
|
+
// eslint-disable-next-line jest/no-done-callback
|
|
355
|
+
it('provides the instantsearch instance', (done) => {
|
|
343
356
|
let instantSearchInstance;
|
|
344
357
|
|
|
345
358
|
const ParentComponent = {
|