vue-instantsearch 4.13.8 → 4.15.0

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.
Files changed (102) hide show
  1. package/package.json +8 -6
  2. package/src/__tests__/common-widgets.test.js +16 -0
  3. package/src/components/Highlight.vue +1 -2
  4. package/src/components/Highlighter.js +69 -0
  5. package/src/components/Hits.js +113 -0
  6. package/src/components/RefinementList.vue +3 -2
  7. package/src/components/SearchInput.vue +0 -1
  8. package/src/components/Snippet.vue +1 -2
  9. package/src/components/__tests__/Hits.js +1 -1
  10. package/src/components/__tests__/NumericMenu.js +0 -51
  11. package/src/util/pragma.js +22 -0
  12. package/src/{components/Highlighter.vue → util/vue-compat/Highlighter/Highlighter-vue2.vue} +6 -9
  13. package/src/util/vue-compat/Highlighter/index-vue2.js +1 -0
  14. package/src/util/vue-compat/Highlighter/index-vue3.js +1 -0
  15. package/src/util/vue-compat/Highlighter/index.js +1 -0
  16. package/src/util/vue-compat/index-vue2.js +26 -1
  17. package/src/util/vue-compat/index-vue3.js +7 -0
  18. package/src/widgets.js +1 -1
  19. package/vue2/cjs/index.js +1 -1
  20. package/vue2/cjs/index.js.map +1 -1
  21. package/vue2/es/package.json.js +1 -1
  22. package/vue2/es/src/components/Highlight.vue_rollup-plugin-vue=script.js +1 -1
  23. package/vue2/es/src/components/Hits.js +2 -0
  24. package/vue2/es/src/components/Hits.js.map +1 -0
  25. package/vue2/es/src/components/RefinementList.vue.js +1 -1
  26. package/vue2/es/src/components/RefinementList.vue_rollup-plugin-vue=script.js.map +1 -1
  27. package/vue2/es/src/components/Snippet.vue_rollup-plugin-vue=script.js +1 -1
  28. package/vue2/es/src/instantsearch.js +1 -1
  29. package/vue2/es/src/util/vue-compat/Highlighter/Highlighter-vue2.vue.js +2 -0
  30. package/vue2/es/src/util/vue-compat/Highlighter/Highlighter-vue2.vue.js.map +1 -0
  31. package/vue2/es/src/util/vue-compat/Highlighter/Highlighter-vue2.vue_rollup-plugin-vue=script.js +2 -0
  32. package/vue2/es/src/util/vue-compat/Highlighter/Highlighter-vue2.vue_rollup-plugin-vue=script.js.map +1 -0
  33. package/vue2/es/src/util/vue-compat/index-vue2.js +1 -1
  34. package/vue2/es/src/util/vue-compat/index-vue2.js.map +1 -1
  35. package/vue2/es/src/widgets.js +1 -1
  36. package/vue2/umd/index.js +1 -1
  37. package/vue2/umd/index.js.map +1 -1
  38. package/vue3/cjs/index.js +1 -1
  39. package/vue3/cjs/index.js.map +1 -1
  40. package/vue3/es/package.json.js +1 -1
  41. package/vue3/es/src/components/Highlight.vue.js +1 -1
  42. package/vue3/es/src/components/Highlight.vue_vue&type=script&lang.js +1 -1
  43. package/vue3/es/src/components/Highlight.vue_vue&type=script&lang.js.map +1 -1
  44. package/vue3/es/src/components/{Highlight.vue_vue&type=template&id=1d5c1fda&lang.js → Highlight.vue_vue&type=template&id=214ecb36&lang.js} +1 -1
  45. package/vue3/es/src/components/Highlight.vue_vue&type=template&id=214ecb36&lang.js.map +1 -0
  46. package/vue3/es/src/components/Highlighter.js +2 -0
  47. package/vue3/es/src/components/Highlighter.js.map +1 -0
  48. package/vue3/es/src/components/Hits.js +2 -0
  49. package/vue3/es/src/components/Hits.js.map +1 -0
  50. package/vue3/es/src/components/RefinementList.vue.js +1 -1
  51. package/vue3/es/src/components/RefinementList.vue_vue&type=script&lang.js.map +1 -1
  52. package/vue3/es/src/components/RefinementList.vue_vue&type=template&id=e39e9d16&lang.js +2 -0
  53. package/vue3/es/src/components/RefinementList.vue_vue&type=template&id=e39e9d16&lang.js.map +1 -0
  54. package/vue3/es/src/components/SearchInput.vue.js +1 -1
  55. package/vue3/es/src/components/SearchInput.vue_vue&type=script&lang.js.map +1 -1
  56. package/vue3/es/src/components/{SearchInput.vue_vue&type=template&id=02fb82e2&lang.js → SearchInput.vue_vue&type=template&id=79e30e4e&lang.js} +1 -1
  57. package/vue3/es/src/components/SearchInput.vue_vue&type=template&id=79e30e4e&lang.js.map +1 -0
  58. package/vue3/es/src/components/Snippet.vue.js +1 -1
  59. package/vue3/es/src/components/Snippet.vue_vue&type=script&lang.js +1 -1
  60. package/vue3/es/src/components/Snippet.vue_vue&type=script&lang.js.map +1 -1
  61. package/vue3/es/src/components/{Snippet.vue_vue&type=template&id=1e214b4c&lang.js → Snippet.vue_vue&type=template&id=edc35952&lang.js} +1 -1
  62. package/vue3/es/src/components/Snippet.vue_vue&type=template&id=edc35952&lang.js.map +1 -0
  63. package/vue3/es/src/instantsearch.js +1 -1
  64. package/vue3/es/src/util/pragma.js +2 -0
  65. package/vue3/es/src/util/pragma.js.map +1 -0
  66. package/vue3/es/src/util/vue-compat/index-vue3.js +1 -1
  67. package/vue3/es/src/util/vue-compat/index-vue3.js.map +1 -1
  68. package/vue3/es/src/widgets.js +1 -1
  69. package/vue3/umd/index.js +1 -1
  70. package/vue3/umd/index.js.map +1 -1
  71. package/src/components/Hits.vue +0 -72
  72. package/src/components/__tests__/RefinementList.js +0 -199
  73. package/src/components/__tests__/__snapshots__/RefinementList.js.snap +0 -405
  74. package/vue2/es/src/components/Highlighter.vue.js +0 -2
  75. package/vue2/es/src/components/Highlighter.vue.js.map +0 -1
  76. package/vue2/es/src/components/Highlighter.vue_rollup-plugin-vue=script.js +0 -2
  77. package/vue2/es/src/components/Highlighter.vue_rollup-plugin-vue=script.js.map +0 -1
  78. package/vue2/es/src/components/Hits.vue.js +0 -2
  79. package/vue2/es/src/components/Hits.vue.js.map +0 -1
  80. package/vue2/es/src/components/Hits.vue_rollup-plugin-vue=script.js +0 -2
  81. package/vue2/es/src/components/Hits.vue_rollup-plugin-vue=script.js.map +0 -1
  82. package/vue3/es/src/components/Highlight.vue_vue&type=template&id=1d5c1fda&lang.js.map +0 -1
  83. package/vue3/es/src/components/Highlighter.vue.js +0 -2
  84. package/vue3/es/src/components/Highlighter.vue.js.map +0 -1
  85. package/vue3/es/src/components/Highlighter.vue_vue&type=script&lang.js +0 -2
  86. package/vue3/es/src/components/Highlighter.vue_vue&type=script&lang.js.map +0 -1
  87. package/vue3/es/src/components/Highlighter.vue_vue&type=template&id=f822f802&lang.js +0 -2
  88. package/vue3/es/src/components/Highlighter.vue_vue&type=template&id=f822f802&lang.js.map +0 -1
  89. package/vue3/es/src/components/Hits.vue.js +0 -2
  90. package/vue3/es/src/components/Hits.vue.js.map +0 -1
  91. package/vue3/es/src/components/Hits.vue_vue&type=script&lang.js +0 -2
  92. package/vue3/es/src/components/Hits.vue_vue&type=script&lang.js.map +0 -1
  93. package/vue3/es/src/components/Hits.vue_vue&type=template&id=026646d2&lang.js +0 -2
  94. package/vue3/es/src/components/Hits.vue_vue&type=template&id=026646d2&lang.js.map +0 -1
  95. package/vue3/es/src/components/RefinementList.vue_vue&type=template&id=80c1baee&lang.js +0 -2
  96. package/vue3/es/src/components/RefinementList.vue_vue&type=template&id=80c1baee&lang.js.map +0 -1
  97. package/vue3/es/src/components/SearchInput.vue_vue&type=template&id=02fb82e2&lang.js.map +0 -1
  98. package/vue3/es/src/components/Snippet.vue_vue&type=template&id=1e214b4c&lang.js.map +0 -1
  99. package/vue3/es/src/util/parseAlgoliaHit.js +0 -2
  100. package/vue3/es/src/util/parseAlgoliaHit.js.map +0 -1
  101. package/vue3/es/src/util/unescape.js +0 -2
  102. package/vue3/es/src/util/unescape.js.map +0 -1
@@ -1,72 +0,0 @@
1
- <template>
2
- <div v-if="state" :class="suit()">
3
- <slot
4
- :items="items"
5
- :insights="state.insights"
6
- :send-event="state.sendEvent"
7
- >
8
- <ol :class="suit('list')">
9
- <li
10
- v-for="(item, itemIndex) in items"
11
- :key="item.objectID"
12
- :class="suit('item')"
13
- @click="state.sendEvent('click:internal', item, 'Hit Clicked')"
14
- @auxclick="state.sendEvent('click:internal', item, 'Hit Clicked')"
15
- >
16
- <slot
17
- name="item"
18
- :item="item"
19
- :index="itemIndex"
20
- :insights="state.insights"
21
- :send-event="state.sendEvent"
22
- >
23
- objectID: {{ item.objectID }}, index: {{ itemIndex }}
24
- </slot>
25
- </li>
26
- </ol>
27
- </slot>
28
- </div>
29
- </template>
30
-
31
- <script>
32
- import { connectHitsWithInsights } from 'instantsearch.js/es/connectors';
33
-
34
- import { createSuitMixin } from '../mixins/suit';
35
- import { createWidgetMixin } from '../mixins/widget';
36
-
37
- export default {
38
- name: 'AisHits',
39
- mixins: [
40
- createWidgetMixin(
41
- {
42
- connector: connectHitsWithInsights,
43
- },
44
- {
45
- $$widgetType: 'ais.hits',
46
- }
47
- ),
48
- createSuitMixin({ name: 'Hits' }),
49
- ],
50
- props: {
51
- escapeHTML: {
52
- type: Boolean,
53
- default: true,
54
- },
55
- transformItems: {
56
- type: Function,
57
- default: undefined,
58
- },
59
- },
60
- computed: {
61
- items() {
62
- return this.state.hits;
63
- },
64
- widgetParams() {
65
- return {
66
- escapeHTML: this.escapeHTML,
67
- transformItems: this.transformItems,
68
- };
69
- },
70
- },
71
- };
72
- </script>
@@ -1,199 +0,0 @@
1
- /**
2
- * @jest-environment jsdom
3
- */
4
-
5
- import { mount } from '../../../test/utils';
6
- import { __setState } from '../../mixins/widget';
7
- import RefinementList from '../RefinementList.vue';
8
- import '../../../test/utils/sortedHtmlSerializer';
9
-
10
- jest.unmock('instantsearch.js/es');
11
- jest.mock('../../mixins/widget');
12
- jest.mock('../../mixins/panel');
13
-
14
- const defaultState = {
15
- items: [
16
- {
17
- value: 'yo',
18
- label: 'yo',
19
- highlighted: 'y<mark>o</mark>',
20
- isRefined: false,
21
- count: 20,
22
- },
23
- {
24
- value: 'how',
25
- label: 'how',
26
- highlighted: 'how',
27
- isRefined: false,
28
- count: 10,
29
- },
30
- {
31
- value: 'are',
32
- label: 'are',
33
- highlighted: 'are',
34
- isRefined: false,
35
- count: 8,
36
- },
37
- {
38
- value: 'you',
39
- label: 'you',
40
- highlighted: 'you',
41
- isRefined: false,
42
- count: 9,
43
- },
44
- {
45
- value: 'doing',
46
- label: 'doing',
47
- highlighted: 'doing',
48
- isRefined: false,
49
- count: 100,
50
- },
51
- { value: '?', label: '?', highlighted: '?', isRefined: false, count: 0 },
52
- ],
53
- canRefine: true,
54
- };
55
-
56
- it('renders correctly', () => {
57
- __setState({
58
- ...defaultState,
59
- });
60
- const wrapper = mount(RefinementList, {
61
- propsData: {
62
- attribute: 'something',
63
- },
64
- });
65
-
66
- expect(wrapper.html()).toMatchSnapshot();
67
- });
68
-
69
- it('renders correctly (empty)', () => {
70
- __setState({
71
- items: [],
72
- });
73
- const wrapper = mount(RefinementList, {
74
- propsData: {
75
- attribute: 'something',
76
- },
77
- });
78
- expect(wrapper.html()).toMatchSnapshot();
79
- });
80
-
81
- it("renders correctly when it's searchable", () => {
82
- __setState({
83
- ...defaultState,
84
- });
85
- const wrapper = mount(RefinementList, {
86
- propsData: {
87
- searchable: true,
88
- attribute: 'something',
89
- },
90
- });
91
- expect(wrapper.htmlCompat()).toMatchSnapshot();
92
-
93
- expect(wrapper.find('.ais-SearchBox-input').exists()).toBe(true);
94
- });
95
-
96
- it("allows override of placeholder when it's searchable", () => {
97
- __setState({
98
- ...defaultState,
99
- searchable: true,
100
- });
101
- const placeholder = 'search in dogs';
102
- const wrapper = mount(RefinementList, {
103
- propsData: {
104
- searchable: true,
105
- attribute: 'something',
106
- searchablePlaceholder: placeholder,
107
- },
108
- });
109
-
110
- expect(wrapper.find('.ais-SearchBox-input').attributes('placeholder')).toBe(
111
- placeholder
112
- );
113
- });
114
-
115
- it("allows search bar classes override when it's searchable", () => {
116
- __setState({
117
- ...defaultState,
118
- });
119
- const wrapper = mount(RefinementList, {
120
- propsData: {
121
- searchable: true,
122
- attribute: 'something',
123
- classNames: {
124
- 'ais-SearchBox-form': 'moar-classes',
125
- },
126
- },
127
- });
128
- expect(wrapper.htmlCompat()).toMatchSnapshot();
129
-
130
- expect(wrapper.find('.ais-SearchBox-form').classes('moar-classes')).toBe(
131
- true
132
- );
133
- });
134
-
135
- it("disables show more if can't refine", async () => {
136
- __setState({
137
- ...defaultState,
138
- canToggleShowMore: false,
139
- });
140
- const wrapper = mount(RefinementList, {
141
- propsData: {
142
- attribute: 'something',
143
- showMore: true,
144
- },
145
- });
146
-
147
- const showMore = wrapper.find('.ais-RefinementList-showMore');
148
-
149
- expect(showMore).vueToBeDisabled();
150
- expect(showMore.classes()).toContain('ais-RefinementList-showMore--disabled');
151
-
152
- await wrapper.setData({ state: { canToggleShowMore: true } });
153
- expect(showMore).not.vueToBeDisabled();
154
- expect(showMore.classes()).not.toContain(
155
- 'ais-RefinementList-showMore--disabled'
156
- );
157
- });
158
-
159
- it('behaves correctly', async () => {
160
- __setState({
161
- ...defaultState,
162
- refine: jest.fn(),
163
- });
164
- const wrapper = mount(RefinementList, {
165
- propsData: {
166
- attribute: 'something',
167
- },
168
- });
169
- const checkBox = wrapper.find('input[type="checkbox"]');
170
- await checkBox.setChecked();
171
- expect(wrapper.vm.state.refine).toHaveBeenLastCalledWith('yo');
172
- });
173
-
174
- it('exposes send-event method for insights middleware', async () => {
175
- const sendEvent = jest.fn();
176
- __setState({
177
- ...defaultState,
178
- sendEvent,
179
- });
180
-
181
- const wrapper = mount({
182
- components: { RefinementList },
183
- data() {
184
- return { props: { attribute: 'something' } };
185
- },
186
- template: `
187
- <RefinementList v-bind="props">
188
- <template v-slot="{ sendEvent }">
189
- <div>
190
- <button @click="sendEvent()">Send Event</button>
191
- </div>
192
- </template>
193
- </RefinementList>
194
- `,
195
- });
196
-
197
- await wrapper.find('button').trigger('click');
198
- expect(sendEvent).toHaveBeenCalledTimes(1);
199
- });
@@ -1,405 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`allows search bar classes override when it's searchable 1`] = `
4
- <div class="ais-RefinementList">
5
- <div class="ais-RefinementList-searchBox">
6
- <form action
7
- class="ais-SearchBox-form moar-classes"
8
- novalidate="novalidate"
9
- role="search"
10
- >
11
- <input aria-label="Search"
12
- autocapitalize="off"
13
- autocomplete="off"
14
- autocorrect="off"
15
- class="ais-SearchBox-input"
16
- maxlength="512"
17
- placeholder="Search here…"
18
- spellcheck="false"
19
- type="search"
20
- >
21
- <button class="ais-SearchBox-submit"
22
- title="Search"
23
- type="submit"
24
- >
25
- <svg aria-hidden="true"
26
- class="ais-SearchBox-submitIcon"
27
- height="10"
28
- viewbox="0 0 40 40"
29
- width="10"
30
- >
31
- <path d="M26.804 29.01c-2.832 2.34-6.465 3.746-10.426 3.746C7.333 32.756 0 25.424 0 16.378 0 7.333 7.333 0 16.378 0c9.046 0 16.378 7.333 16.378 16.378 0 3.96-1.406 7.594-3.746 10.426l10.534 10.534c.607.607.61 1.59-.004 2.202-.61.61-1.597.61-2.202.004L26.804 29.01zm-10.426.627c7.323 0 13.26-5.936 13.26-13.26 0-7.32-5.937-13.257-13.26-13.257C9.056 3.12 3.12 9.056 3.12 16.378c0 7.323 5.936 13.26 13.258 13.26z">
32
- </path>
33
- </svg>
34
- </button>
35
- <button class="ais-SearchBox-reset"
36
- hidden="hidden"
37
- title="Clear"
38
- type="reset"
39
- >
40
- <svg aria-hidden="true"
41
- class="ais-SearchBox-resetIcon"
42
- height="10"
43
- viewbox="0 0 20 20"
44
- width="10"
45
- >
46
- <path d="M8.114 10L.944 2.83 0 1.885 1.886 0l.943.943L10 8.113l7.17-7.17.944-.943L20 1.886l-.943.943-7.17 7.17 7.17 7.17.943.944L18.114 20l-.943-.943-7.17-7.17-7.17 7.17-.944.943L0 18.114l.943-.943L8.113 10z">
47
- </path>
48
- </svg>
49
- </button>
50
- </form>
51
- </div>
52
- <ul class="ais-RefinementList-list">
53
- <li class="ais-RefinementList-item">
54
- <label class="ais-RefinementList-label">
55
- <input class="ais-RefinementList-checkbox"
56
- type="checkbox"
57
- value="yo"
58
- >
59
- <span class="ais-RefinementList-labelText">
60
- <span class="ais-Highlight">
61
- y
62
- <mark class="ais-Highlight-highlighted">
63
- o
64
- </mark>
65
- </span>
66
- </span>
67
- <span class="ais-RefinementList-count">
68
- 20
69
- </span>
70
- </label>
71
- </li>
72
- <li class="ais-RefinementList-item">
73
- <label class="ais-RefinementList-label">
74
- <input class="ais-RefinementList-checkbox"
75
- type="checkbox"
76
- value="how"
77
- >
78
- <span class="ais-RefinementList-labelText">
79
- <span class="ais-Highlight">
80
- how
81
- </span>
82
- </span>
83
- <span class="ais-RefinementList-count">
84
- 10
85
- </span>
86
- </label>
87
- </li>
88
- <li class="ais-RefinementList-item">
89
- <label class="ais-RefinementList-label">
90
- <input class="ais-RefinementList-checkbox"
91
- type="checkbox"
92
- value="are"
93
- >
94
- <span class="ais-RefinementList-labelText">
95
- <span class="ais-Highlight">
96
- are
97
- </span>
98
- </span>
99
- <span class="ais-RefinementList-count">
100
- 8
101
- </span>
102
- </label>
103
- </li>
104
- <li class="ais-RefinementList-item">
105
- <label class="ais-RefinementList-label">
106
- <input class="ais-RefinementList-checkbox"
107
- type="checkbox"
108
- value="you"
109
- >
110
- <span class="ais-RefinementList-labelText">
111
- <span class="ais-Highlight">
112
- you
113
- </span>
114
- </span>
115
- <span class="ais-RefinementList-count">
116
- 9
117
- </span>
118
- </label>
119
- </li>
120
- <li class="ais-RefinementList-item">
121
- <label class="ais-RefinementList-label">
122
- <input class="ais-RefinementList-checkbox"
123
- type="checkbox"
124
- value="doing"
125
- >
126
- <span class="ais-RefinementList-labelText">
127
- <span class="ais-Highlight">
128
- doing
129
- </span>
130
- </span>
131
- <span class="ais-RefinementList-count">
132
- 100
133
- </span>
134
- </label>
135
- </li>
136
- <li class="ais-RefinementList-item">
137
- <label class="ais-RefinementList-label">
138
- <input class="ais-RefinementList-checkbox"
139
- type="checkbox"
140
- value="?"
141
- >
142
- <span class="ais-RefinementList-labelText">
143
- <span class="ais-Highlight">
144
- ?
145
- </span>
146
- </span>
147
- <span class="ais-RefinementList-count">
148
- 0
149
- </span>
150
- </label>
151
- </li>
152
- </ul>
153
- </div>
154
- `;
155
-
156
- exports[`renders correctly (empty) 1`] = `
157
- <div class="ais-RefinementList ais-RefinementList--noRefinement">
158
- <ul class="ais-RefinementList-list">
159
- </ul>
160
- </div>
161
- `;
162
-
163
- exports[`renders correctly 1`] = `
164
- <div class="ais-RefinementList">
165
- <ul class="ais-RefinementList-list">
166
- <li class="ais-RefinementList-item">
167
- <label class="ais-RefinementList-label">
168
- <input class="ais-RefinementList-checkbox"
169
- type="checkbox"
170
- value="yo"
171
- >
172
- <span class="ais-RefinementList-labelText">
173
- yo
174
- </span>
175
- <span class="ais-RefinementList-count">
176
- 20
177
- </span>
178
- </label>
179
- </li>
180
- <li class="ais-RefinementList-item">
181
- <label class="ais-RefinementList-label">
182
- <input class="ais-RefinementList-checkbox"
183
- type="checkbox"
184
- value="how"
185
- >
186
- <span class="ais-RefinementList-labelText">
187
- how
188
- </span>
189
- <span class="ais-RefinementList-count">
190
- 10
191
- </span>
192
- </label>
193
- </li>
194
- <li class="ais-RefinementList-item">
195
- <label class="ais-RefinementList-label">
196
- <input class="ais-RefinementList-checkbox"
197
- type="checkbox"
198
- value="are"
199
- >
200
- <span class="ais-RefinementList-labelText">
201
- are
202
- </span>
203
- <span class="ais-RefinementList-count">
204
- 8
205
- </span>
206
- </label>
207
- </li>
208
- <li class="ais-RefinementList-item">
209
- <label class="ais-RefinementList-label">
210
- <input class="ais-RefinementList-checkbox"
211
- type="checkbox"
212
- value="you"
213
- >
214
- <span class="ais-RefinementList-labelText">
215
- you
216
- </span>
217
- <span class="ais-RefinementList-count">
218
- 9
219
- </span>
220
- </label>
221
- </li>
222
- <li class="ais-RefinementList-item">
223
- <label class="ais-RefinementList-label">
224
- <input class="ais-RefinementList-checkbox"
225
- type="checkbox"
226
- value="doing"
227
- >
228
- <span class="ais-RefinementList-labelText">
229
- doing
230
- </span>
231
- <span class="ais-RefinementList-count">
232
- 100
233
- </span>
234
- </label>
235
- </li>
236
- <li class="ais-RefinementList-item">
237
- <label class="ais-RefinementList-label">
238
- <input class="ais-RefinementList-checkbox"
239
- type="checkbox"
240
- value="?"
241
- >
242
- <span class="ais-RefinementList-labelText">
243
- ?
244
- </span>
245
- <span class="ais-RefinementList-count">
246
- 0
247
- </span>
248
- </label>
249
- </li>
250
- </ul>
251
- </div>
252
- `;
253
-
254
- exports[`renders correctly when it's searchable 1`] = `
255
- <div class="ais-RefinementList">
256
- <div class="ais-RefinementList-searchBox">
257
- <form action
258
- class="ais-SearchBox-form"
259
- novalidate="novalidate"
260
- role="search"
261
- >
262
- <input aria-label="Search"
263
- autocapitalize="off"
264
- autocomplete="off"
265
- autocorrect="off"
266
- class="ais-SearchBox-input"
267
- maxlength="512"
268
- placeholder="Search here…"
269
- spellcheck="false"
270
- type="search"
271
- >
272
- <button class="ais-SearchBox-submit"
273
- title="Search"
274
- type="submit"
275
- >
276
- <svg aria-hidden="true"
277
- class="ais-SearchBox-submitIcon"
278
- height="10"
279
- viewbox="0 0 40 40"
280
- width="10"
281
- >
282
- <path d="M26.804 29.01c-2.832 2.34-6.465 3.746-10.426 3.746C7.333 32.756 0 25.424 0 16.378 0 7.333 7.333 0 16.378 0c9.046 0 16.378 7.333 16.378 16.378 0 3.96-1.406 7.594-3.746 10.426l10.534 10.534c.607.607.61 1.59-.004 2.202-.61.61-1.597.61-2.202.004L26.804 29.01zm-10.426.627c7.323 0 13.26-5.936 13.26-13.26 0-7.32-5.937-13.257-13.26-13.257C9.056 3.12 3.12 9.056 3.12 16.378c0 7.323 5.936 13.26 13.258 13.26z">
283
- </path>
284
- </svg>
285
- </button>
286
- <button class="ais-SearchBox-reset"
287
- hidden="hidden"
288
- title="Clear"
289
- type="reset"
290
- >
291
- <svg aria-hidden="true"
292
- class="ais-SearchBox-resetIcon"
293
- height="10"
294
- viewbox="0 0 20 20"
295
- width="10"
296
- >
297
- <path d="M8.114 10L.944 2.83 0 1.885 1.886 0l.943.943L10 8.113l7.17-7.17.944-.943L20 1.886l-.943.943-7.17 7.17 7.17 7.17.943.944L18.114 20l-.943-.943-7.17-7.17-7.17 7.17-.944.943L0 18.114l.943-.943L8.113 10z">
298
- </path>
299
- </svg>
300
- </button>
301
- </form>
302
- </div>
303
- <ul class="ais-RefinementList-list">
304
- <li class="ais-RefinementList-item">
305
- <label class="ais-RefinementList-label">
306
- <input class="ais-RefinementList-checkbox"
307
- type="checkbox"
308
- value="yo"
309
- >
310
- <span class="ais-RefinementList-labelText">
311
- <span class="ais-Highlight">
312
- y
313
- <mark class="ais-Highlight-highlighted">
314
- o
315
- </mark>
316
- </span>
317
- </span>
318
- <span class="ais-RefinementList-count">
319
- 20
320
- </span>
321
- </label>
322
- </li>
323
- <li class="ais-RefinementList-item">
324
- <label class="ais-RefinementList-label">
325
- <input class="ais-RefinementList-checkbox"
326
- type="checkbox"
327
- value="how"
328
- >
329
- <span class="ais-RefinementList-labelText">
330
- <span class="ais-Highlight">
331
- how
332
- </span>
333
- </span>
334
- <span class="ais-RefinementList-count">
335
- 10
336
- </span>
337
- </label>
338
- </li>
339
- <li class="ais-RefinementList-item">
340
- <label class="ais-RefinementList-label">
341
- <input class="ais-RefinementList-checkbox"
342
- type="checkbox"
343
- value="are"
344
- >
345
- <span class="ais-RefinementList-labelText">
346
- <span class="ais-Highlight">
347
- are
348
- </span>
349
- </span>
350
- <span class="ais-RefinementList-count">
351
- 8
352
- </span>
353
- </label>
354
- </li>
355
- <li class="ais-RefinementList-item">
356
- <label class="ais-RefinementList-label">
357
- <input class="ais-RefinementList-checkbox"
358
- type="checkbox"
359
- value="you"
360
- >
361
- <span class="ais-RefinementList-labelText">
362
- <span class="ais-Highlight">
363
- you
364
- </span>
365
- </span>
366
- <span class="ais-RefinementList-count">
367
- 9
368
- </span>
369
- </label>
370
- </li>
371
- <li class="ais-RefinementList-item">
372
- <label class="ais-RefinementList-label">
373
- <input class="ais-RefinementList-checkbox"
374
- type="checkbox"
375
- value="doing"
376
- >
377
- <span class="ais-RefinementList-labelText">
378
- <span class="ais-Highlight">
379
- doing
380
- </span>
381
- </span>
382
- <span class="ais-RefinementList-count">
383
- 100
384
- </span>
385
- </label>
386
- </li>
387
- <li class="ais-RefinementList-item">
388
- <label class="ais-RefinementList-label">
389
- <input class="ais-RefinementList-checkbox"
390
- type="checkbox"
391
- value="?"
392
- >
393
- <span class="ais-RefinementList-labelText">
394
- <span class="ais-Highlight">
395
- ?
396
- </span>
397
- </span>
398
- <span class="ais-RefinementList-count">
399
- 0
400
- </span>
401
- </label>
402
- </li>
403
- </ul>
404
- </div>
405
- `;
@@ -1,2 +0,0 @@
1
- import e from"./Highlighter.vue_rollup-plugin-vue=script.js";export default(function(e,t,i,n,r,s,l,o){var a=("function"==typeof i?i.options:i)||{};return a.__file="Highlighter.vue",a.render||(a.render=e.render,a.staticRenderFns=e.staticRenderFns,a._compiled=!0,r&&(a.functional=!0)),a._scopeId=n,a}({render:function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",{class:e.suit()},e._l(e.parsedHighlights,function(t,n){var r=t.value,s=t.isHighlighted;return i(s?e.highlightedTagName:e.TextNode,{key:n,tag:"component",class:[s&&e.suit("highlighted")]},[e._v(e._s(r))])}),1)},staticRenderFns:[]},0,e,void 0,!1));
2
- //# sourceMappingURL=Highlighter.vue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Highlighter.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import{renderCompat as t,getDefaultSlot as e}from"../util/vue-compat/index-vue2.js";import{parseAlgoliaHit as i}from"../util/parseAlgoliaHit.js";var r={render:t(function(){return e(this)})};export default{name:"AisHighlighter",props:{hit:{type:Object,required:!0},attribute:{type:String,required:!0},highlightedTagName:{type:String,default:"mark"},suit:{type:Function,required:!0},highlightProperty:{type:String,required:!0},preTag:{type:String,required:!0},postTag:{type:String,required:!0}},data:function(){return{TextNode:r}},computed:{parsedHighlights:function(){return i({attribute:this.attribute,hit:this.hit,highlightProperty:this.highlightProperty,preTag:this.preTag,postTag:this.postTag})}}};
2
- //# sourceMappingURL=Highlighter.vue_rollup-plugin-vue=script.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Highlighter.vue_rollup-plugin-vue=script.js","sources":["../../../../src/components/Highlighter.vue"],"sourcesContent":["<template>\n <span :class=\"suit()\">\n <component\n v-for=\"({ value, isHighlighted }, index) in parsedHighlights\"\n :class=\"[isHighlighted && suit('highlighted')]\"\n :key=\"index\"\n :is=\"isHighlighted ? highlightedTagName : TextNode\"\n >{{ value }}</component\n >\n </span>\n</template>\n\n<script>\nimport { parseAlgoliaHit } from '../util/parseAlgoliaHit';\nimport { getDefaultSlot, renderCompat, isVue3 } from '../util/vue-compat';\n\nconst TextNode = isVue3\n ? (props, context) => context.slots.default()\n : {\n render: renderCompat(function () {\n return getDefaultSlot(this);\n }),\n };\n\nexport default {\n name: 'AisHighlighter',\n props: {\n hit: {\n type: Object,\n required: true,\n },\n attribute: {\n type: String,\n required: true,\n },\n highlightedTagName: {\n type: String,\n default: 'mark',\n },\n suit: {\n type: Function,\n required: true,\n },\n highlightProperty: {\n type: String,\n required: true,\n },\n preTag: {\n type: String,\n required: true,\n },\n postTag: {\n type: String,\n required: true,\n },\n },\n data() {\n return { TextNode };\n },\n computed: {\n parsedHighlights() {\n return parseAlgoliaHit({\n attribute: this.attribute,\n hit: this.hit,\n highlightProperty: this.highlightProperty,\n preTag: this.preTag,\n postTag: this.postTag,\n });\n },\n },\n};\n</script>\n"],"names":["const"],"mappings":"iJAgBAA"}
@@ -1,2 +0,0 @@
1
- import t from"./Hits.vue_rollup-plugin-vue=script.js";export default(function(t,e,n,i,s,r,c,u){var l=("function"==typeof n?n.options:n)||{};return l.__file="Hits.vue",l.render||(l.render=t.render,l.staticRenderFns=t.staticRenderFns,l._compiled=!0,s&&(l.functional=!0)),l._scopeId=i,l}({render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.state?n("div",{class:t.suit()},[t._t("default",function(){return[n("ol",{class:t.suit("list")},t._l(t.items,function(e,i){return n("li",{key:e.objectID,class:t.suit("item"),on:{click:function(n){return t.state.sendEvent("click:internal",e,"Hit Clicked")},auxclick:function(n){return t.state.sendEvent("click:internal",e,"Hit Clicked")}}},[t._t("item",function(){return[t._v("\n objectID: "+t._s(e.objectID)+", index: "+t._s(i)+"\n ")]},{item:e,index:i,insights:t.state.insights,sendEvent:t.state.sendEvent})],2)}),0)]},{items:t.items,insights:t.state.insights,sendEvent:t.state.sendEvent})],2):t._e()},staticRenderFns:[]},0,t,void 0,!1));
2
- //# sourceMappingURL=Hits.vue.js.map