vue-instantsearch 4.3.3 → 4.4.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 (191) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/package.json +5 -5
  3. package/src/__tests__/index.js +133 -26
  4. package/src/components/Autocomplete.vue +8 -1
  5. package/src/components/Breadcrumb.vue +8 -1
  6. package/src/components/ClearRefinements.vue +8 -1
  7. package/src/components/Configure.js +8 -1
  8. package/src/components/ConfigureRelatedItems.js +8 -1
  9. package/src/components/CurrentRefinements.vue +8 -1
  10. package/src/components/DynamicWidgets.js +8 -1
  11. package/src/components/HierarchicalMenu.vue +8 -1
  12. package/src/components/Hits.vue +8 -1
  13. package/src/components/HitsPerPage.vue +8 -1
  14. package/src/components/Index.js +6 -1
  15. package/src/components/InfiniteHits.vue +8 -1
  16. package/src/components/Menu.vue +6 -1
  17. package/src/components/MenuSelect.vue +6 -1
  18. package/src/components/NumericMenu.vue +8 -1
  19. package/src/components/Pagination.vue +9 -1
  20. package/src/components/QueryRuleContext.js +8 -3
  21. package/src/components/QueryRuleCustomData.vue +8 -3
  22. package/src/components/RangeInput.vue +8 -1
  23. package/src/components/RatingMenu.vue +8 -1
  24. package/src/components/RefinementList.vue +8 -1
  25. package/src/components/RelevantSort.vue +8 -1
  26. package/src/components/SearchBox.vue +8 -1
  27. package/src/components/SortBy.vue +6 -1
  28. package/src/components/StateResults.vue +8 -1
  29. package/src/components/Stats.vue +6 -1
  30. package/src/components/ToggleRefinement.vue +8 -1
  31. package/src/components/VoiceSearch.vue +8 -1
  32. package/src/components/__tests__/__snapshots__/Pagination.js.snap +21 -21
  33. package/src/mixins/__tests__/widget.test.js +102 -0
  34. package/src/mixins/widget.js +13 -3
  35. package/src/util/__tests__/createServerRootMixin.test.js +3 -2
  36. package/src/util/createServerRootMixin.js +1 -1
  37. package/vue2/cjs/index.js +1 -1
  38. package/vue2/cjs/index.js.map +1 -1
  39. package/vue2/es/package.json.js +1 -1
  40. package/vue2/es/src/components/Autocomplete.vue.js +1 -1
  41. package/vue2/es/src/components/Autocomplete.vue.js.map +1 -1
  42. package/vue2/es/src/components/Breadcrumb.vue.js +1 -1
  43. package/vue2/es/src/components/Breadcrumb.vue.js.map +1 -1
  44. package/vue2/es/src/components/ClearRefinements.vue.js +1 -1
  45. package/vue2/es/src/components/ClearRefinements.vue.js.map +1 -1
  46. package/vue2/es/src/components/Configure.js +1 -1
  47. package/vue2/es/src/components/Configure.js.map +1 -1
  48. package/vue2/es/src/components/ConfigureRelatedItems.js +1 -1
  49. package/vue2/es/src/components/ConfigureRelatedItems.js.map +1 -1
  50. package/vue2/es/src/components/CurrentRefinements.vue.js +1 -1
  51. package/vue2/es/src/components/CurrentRefinements.vue.js.map +1 -1
  52. package/vue2/es/src/components/DynamicWidgets.js +1 -1
  53. package/vue2/es/src/components/DynamicWidgets.js.map +1 -1
  54. package/vue2/es/src/components/HierarchicalMenu.vue.js +1 -1
  55. package/vue2/es/src/components/HierarchicalMenu.vue.js.map +1 -1
  56. package/vue2/es/src/components/Hits.vue.js +1 -1
  57. package/vue2/es/src/components/Hits.vue.js.map +1 -1
  58. package/vue2/es/src/components/HitsPerPage.vue.js +1 -1
  59. package/vue2/es/src/components/HitsPerPage.vue.js.map +1 -1
  60. package/vue2/es/src/components/Index.js +1 -1
  61. package/vue2/es/src/components/Index.js.map +1 -1
  62. package/vue2/es/src/components/InfiniteHits.vue.js +1 -1
  63. package/vue2/es/src/components/InfiniteHits.vue.js.map +1 -1
  64. package/vue2/es/src/components/Menu.vue.js +1 -1
  65. package/vue2/es/src/components/Menu.vue.js.map +1 -1
  66. package/vue2/es/src/components/MenuSelect.vue.js +1 -1
  67. package/vue2/es/src/components/MenuSelect.vue.js.map +1 -1
  68. package/vue2/es/src/components/NumericMenu.vue.js +1 -1
  69. package/vue2/es/src/components/NumericMenu.vue.js.map +1 -1
  70. package/vue2/es/src/components/Pagination.vue.js +1 -1
  71. package/vue2/es/src/components/Pagination.vue.js.map +1 -1
  72. package/vue2/es/src/components/QueryRuleContext.js +1 -1
  73. package/vue2/es/src/components/QueryRuleContext.js.map +1 -1
  74. package/vue2/es/src/components/QueryRuleCustomData.vue.js +1 -1
  75. package/vue2/es/src/components/QueryRuleCustomData.vue.js.map +1 -1
  76. package/vue2/es/src/components/RangeInput.vue.js +1 -1
  77. package/vue2/es/src/components/RangeInput.vue.js.map +1 -1
  78. package/vue2/es/src/components/RatingMenu.vue.js +1 -1
  79. package/vue2/es/src/components/RatingMenu.vue.js.map +1 -1
  80. package/vue2/es/src/components/RefinementList.vue.js +1 -1
  81. package/vue2/es/src/components/RefinementList.vue.js.map +1 -1
  82. package/vue2/es/src/components/RelevantSort.vue.js +1 -1
  83. package/vue2/es/src/components/RelevantSort.vue.js.map +1 -1
  84. package/vue2/es/src/components/SearchBox.vue.js +1 -1
  85. package/vue2/es/src/components/SearchBox.vue.js.map +1 -1
  86. package/vue2/es/src/components/SortBy.vue.js +1 -1
  87. package/vue2/es/src/components/SortBy.vue.js.map +1 -1
  88. package/vue2/es/src/components/StateResults.vue.js +1 -1
  89. package/vue2/es/src/components/StateResults.vue.js.map +1 -1
  90. package/vue2/es/src/components/Stats.vue.js +1 -1
  91. package/vue2/es/src/components/Stats.vue.js.map +1 -1
  92. package/vue2/es/src/components/ToggleRefinement.vue.js +1 -1
  93. package/vue2/es/src/components/ToggleRefinement.vue.js.map +1 -1
  94. package/vue2/es/src/components/VoiceSearch.vue.js +1 -1
  95. package/vue2/es/src/components/VoiceSearch.vue.js.map +1 -1
  96. package/vue2/es/src/mixins/widget.js +1 -1
  97. package/vue2/es/src/mixins/widget.js.map +1 -1
  98. package/vue2/es/src/util/createInstantSearchComponent.js +1 -1
  99. package/vue2/es/src/util/createServerRootMixin.js.map +1 -1
  100. package/vue2/umd/index.js +1 -1
  101. package/vue2/umd/index.js.map +1 -1
  102. package/vue3/cjs/index.js +1 -1
  103. package/vue3/cjs/index.js.map +1 -1
  104. package/vue3/es/package.json.js +1 -1
  105. package/vue3/es/src/components/Autocomplete.vue_vue&type=script&lang.js +1 -1
  106. package/vue3/es/src/components/Autocomplete.vue_vue&type=script&lang.js.map +1 -1
  107. package/vue3/es/src/components/Autocomplete.vue_vue&type=template&id=e7c95fd0&lang.js.map +1 -1
  108. package/vue3/es/src/components/Breadcrumb.vue_vue&type=script&lang.js +1 -1
  109. package/vue3/es/src/components/Breadcrumb.vue_vue&type=script&lang.js.map +1 -1
  110. package/vue3/es/src/components/Breadcrumb.vue_vue&type=template&id=6f46de9a&lang.js.map +1 -1
  111. package/vue3/es/src/components/ClearRefinements.vue_vue&type=script&lang.js +1 -1
  112. package/vue3/es/src/components/ClearRefinements.vue_vue&type=script&lang.js.map +1 -1
  113. package/vue3/es/src/components/ClearRefinements.vue_vue&type=template&id=410a3aaa&lang.js.map +1 -1
  114. package/vue3/es/src/components/Configure.js +1 -1
  115. package/vue3/es/src/components/Configure.js.map +1 -1
  116. package/vue3/es/src/components/ConfigureRelatedItems.js +1 -1
  117. package/vue3/es/src/components/ConfigureRelatedItems.js.map +1 -1
  118. package/vue3/es/src/components/CurrentRefinements.vue_vue&type=script&lang.js +1 -1
  119. package/vue3/es/src/components/CurrentRefinements.vue_vue&type=script&lang.js.map +1 -1
  120. package/vue3/es/src/components/CurrentRefinements.vue_vue&type=template&id=4f1917ff&lang.js.map +1 -1
  121. package/vue3/es/src/components/DynamicWidgets.js +1 -1
  122. package/vue3/es/src/components/DynamicWidgets.js.map +1 -1
  123. package/vue3/es/src/components/HierarchicalMenu.vue_vue&type=script&lang.js +1 -1
  124. package/vue3/es/src/components/HierarchicalMenu.vue_vue&type=script&lang.js.map +1 -1
  125. package/vue3/es/src/components/HierarchicalMenu.vue_vue&type=template&id=4361a0b8&lang.js.map +1 -1
  126. package/vue3/es/src/components/Hits.vue_vue&type=script&lang.js +1 -1
  127. package/vue3/es/src/components/Hits.vue_vue&type=script&lang.js.map +1 -1
  128. package/vue3/es/src/components/Hits.vue_vue&type=template&id=ef242920&lang.js.map +1 -1
  129. package/vue3/es/src/components/HitsPerPage.vue_vue&type=script&lang.js +1 -1
  130. package/vue3/es/src/components/HitsPerPage.vue_vue&type=script&lang.js.map +1 -1
  131. package/vue3/es/src/components/HitsPerPage.vue_vue&type=template&id=74f3ac28&lang.js.map +1 -1
  132. package/vue3/es/src/components/Index.js +1 -1
  133. package/vue3/es/src/components/Index.js.map +1 -1
  134. package/vue3/es/src/components/InfiniteHits.vue_vue&type=script&lang.js +1 -1
  135. package/vue3/es/src/components/InfiniteHits.vue_vue&type=script&lang.js.map +1 -1
  136. package/vue3/es/src/components/InfiniteHits.vue_vue&type=template&id=dcfb64b8&lang.js.map +1 -1
  137. package/vue3/es/src/components/Menu.vue_vue&type=script&lang.js +1 -1
  138. package/vue3/es/src/components/Menu.vue_vue&type=script&lang.js.map +1 -1
  139. package/vue3/es/src/components/Menu.vue_vue&type=template&id=9bcc0be2&lang.js.map +1 -1
  140. package/vue3/es/src/components/MenuSelect.vue_vue&type=script&lang.js +1 -1
  141. package/vue3/es/src/components/MenuSelect.vue_vue&type=script&lang.js.map +1 -1
  142. package/vue3/es/src/components/MenuSelect.vue_vue&type=template&id=694477eb&lang.js.map +1 -1
  143. package/vue3/es/src/components/NumericMenu.vue_vue&type=script&lang.js +1 -1
  144. package/vue3/es/src/components/NumericMenu.vue_vue&type=script&lang.js.map +1 -1
  145. package/vue3/es/src/components/NumericMenu.vue_vue&type=template&id=160fae0c&lang.js.map +1 -1
  146. package/vue3/es/src/components/Pagination.vue_vue&type=script&lang.js +1 -1
  147. package/vue3/es/src/components/Pagination.vue_vue&type=script&lang.js.map +1 -1
  148. package/vue3/es/src/components/Pagination.vue_vue&type=template&id=849a166c&lang.js +1 -1
  149. package/vue3/es/src/components/Pagination.vue_vue&type=template&id=849a166c&lang.js.map +1 -1
  150. package/vue3/es/src/components/QueryRuleContext.js +1 -1
  151. package/vue3/es/src/components/QueryRuleContext.js.map +1 -1
  152. package/vue3/es/src/components/QueryRuleCustomData.vue_vue&type=script&lang.js +1 -1
  153. package/vue3/es/src/components/QueryRuleCustomData.vue_vue&type=script&lang.js.map +1 -1
  154. package/vue3/es/src/components/QueryRuleCustomData.vue_vue&type=template&id=e4da0782&lang.js.map +1 -1
  155. package/vue3/es/src/components/RangeInput.vue_vue&type=script&lang.js +1 -1
  156. package/vue3/es/src/components/RangeInput.vue_vue&type=script&lang.js.map +1 -1
  157. package/vue3/es/src/components/RangeInput.vue_vue&type=template&id=1e17783d&lang.js.map +1 -1
  158. package/vue3/es/src/components/RatingMenu.vue_vue&type=script&lang.js +1 -1
  159. package/vue3/es/src/components/RatingMenu.vue_vue&type=script&lang.js.map +1 -1
  160. package/vue3/es/src/components/RatingMenu.vue_vue&type=template&id=9254de68&lang.js.map +1 -1
  161. package/vue3/es/src/components/RefinementList.vue_vue&type=script&lang.js +1 -1
  162. package/vue3/es/src/components/RefinementList.vue_vue&type=script&lang.js.map +1 -1
  163. package/vue3/es/src/components/RefinementList.vue_vue&type=template&id=28927239&lang.js.map +1 -1
  164. package/vue3/es/src/components/RelevantSort.vue_vue&type=script&lang.js +1 -1
  165. package/vue3/es/src/components/RelevantSort.vue_vue&type=script&lang.js.map +1 -1
  166. package/vue3/es/src/components/RelevantSort.vue_vue&type=template&id=257b248b&lang.js.map +1 -1
  167. package/vue3/es/src/components/SearchBox.vue_vue&type=script&lang.js +1 -1
  168. package/vue3/es/src/components/SearchBox.vue_vue&type=script&lang.js.map +1 -1
  169. package/vue3/es/src/components/SearchBox.vue_vue&type=template&id=27029d83&lang.js.map +1 -1
  170. package/vue3/es/src/components/SortBy.vue_vue&type=script&lang.js +1 -1
  171. package/vue3/es/src/components/SortBy.vue_vue&type=script&lang.js.map +1 -1
  172. package/vue3/es/src/components/SortBy.vue_vue&type=template&id=b69b3b76&lang.js.map +1 -1
  173. package/vue3/es/src/components/StateResults.vue_vue&type=script&lang.js +1 -1
  174. package/vue3/es/src/components/StateResults.vue_vue&type=script&lang.js.map +1 -1
  175. package/vue3/es/src/components/StateResults.vue_vue&type=template&id=5992f3d5&lang.js.map +1 -1
  176. package/vue3/es/src/components/Stats.vue_vue&type=script&lang.js +1 -1
  177. package/vue3/es/src/components/Stats.vue_vue&type=script&lang.js.map +1 -1
  178. package/vue3/es/src/components/Stats.vue_vue&type=template&id=7337491f&lang.js.map +1 -1
  179. package/vue3/es/src/components/ToggleRefinement.vue_vue&type=script&lang.js +1 -1
  180. package/vue3/es/src/components/ToggleRefinement.vue_vue&type=script&lang.js.map +1 -1
  181. package/vue3/es/src/components/ToggleRefinement.vue_vue&type=template&id=14e4586f&lang.js.map +1 -1
  182. package/vue3/es/src/components/VoiceSearch.vue_vue&type=script&lang.js +1 -1
  183. package/vue3/es/src/components/VoiceSearch.vue_vue&type=script&lang.js.map +1 -1
  184. package/vue3/es/src/components/VoiceSearch.vue_vue&type=template&id=24b0f67a&lang.js.map +1 -1
  185. package/vue3/es/src/mixins/widget.js +1 -1
  186. package/vue3/es/src/mixins/widget.js.map +1 -1
  187. package/vue3/es/src/util/createInstantSearchComponent.js +1 -1
  188. package/vue3/es/src/util/createServerRootMixin.js +1 -1
  189. package/vue3/es/src/util/createServerRootMixin.js.map +1 -1
  190. package/vue3/umd/index.js +1 -1
  191. package/vue3/umd/index.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.vue_vue&type=script&lang.js","sources":["../../../../src/components/Menu.vue"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"[suit(), !state.canRefine && suit('', 'noRefinement')]\"\n >\n <slot\n :items=\"state.items\"\n :can-refine=\"state.canRefine\"\n :can-toggle-show-more=\"state.canToggleShowMore\"\n :is-showing-more=\"state.isShowingMore\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n :toggle-show-more=\"state.toggleShowMore\"\n :send-event=\"state.sendEvent\"\n >\n <ul :class=\"suit('list')\">\n <li\n v-for=\"item in state.items\"\n :key=\"item.value\"\n :class=\"[suit('item'), item.isRefined && suit('item', 'selected')]\"\n >\n <a\n :href=\"state.createURL(item.value)\"\n :class=\"suit('link')\"\n @click.prevent=\"state.refine(item.value)\"\n >\n <span :class=\"suit('label')\">{{ item.label }}</span>\n <span :class=\"suit('count')\">{{ item.count }}</span>\n </a>\n </li>\n </ul>\n\n <button\n v-if=\"showShowMoreButton\"\n :class=\"[suit('showMore'), !state.canToggleShowMore && suit('showMore', 'disabled')]\"\n :disabled=\"!state.canToggleShowMore\"\n @click.prevent=\"state.toggleShowMore()\"\n >\n <slot\n name=\"showMoreLabel\"\n :is-showing-more=\"state.isShowingMore\"\n >{{ state.isShowingMore ? 'Show less' : 'Show more' }}</slot>\n </button>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectMenu } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisMenu',\n mixins: [\n createSuitMixin({ name: 'Menu' }),\n createWidgetMixin({ connector: connectMenu }),\n createPanelConsumerMixin({\n mapStateToCanRefine: state => Boolean(state.canRefine),\n }),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n // TODO: implement searchable in connector\n // searchable: {\n // type: Boolean,\n // default: false,\n // },\n limit: {\n type: Number,\n default: undefined,\n },\n showMoreLimit: {\n type: Number,\n default: undefined,\n },\n showMore: {\n type: Boolean,\n default: false,\n },\n sortBy: {\n type: [Array, Function],\n default: undefined,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n limit: this.limit,\n showMore: this.showMore,\n showMoreLimit: this.showMoreLimit,\n sortBy: this.sortBy,\n transformItems: this.transformItems,\n };\n },\n showShowMoreButton() {\n return this.state.canRefine && this.showMore;\n },\n },\n};\n</script>\n"],"names":["name","mixins","createSuitMixin","createWidgetMixin","connector","connectMenu","createPanelConsumerMixin","mapStateToCanRefine","state","Boolean","canRefine","props","attribute","type","String","required","limit","Number","default","undefined","showMoreLimit","showMore","sortBy","Array","Function","transformItems","computed","widgetParams","this","showShowMoreButton"],"mappings":"8PAqDe,CACbA,KAAM,UACNC,OAAQ,CACNC,EAAgB,CAAEF,KAAM,SACxBG,EAAkB,CAAEC,UAAWC,IAC/BC,EAAyB,CACvBC,6BAAqBC,UAASC,QAAQD,EAAME,eAGhDC,MAAO,CACLC,UAAW,CACTC,KAAMC,OACNC,UAAU,GAOZC,MAAO,CACLH,KAAMI,OACNC,aAASC,GAEXC,cAAe,CACbP,KAAMI,OACNC,aAASC,GAEXE,SAAU,CACRR,KAAMJ,QACNS,SAAS,GAEXI,OAAQ,CACNT,KAAM,CAACU,MAAOC,UACdN,aAASC,GAEXM,eAAgB,CACdZ,KAAMW,SACNN,aAASC,IAGbO,SAAU,CACRC,8BACS,CACLf,UAAWgB,KAAKhB,UAChBI,MAAOY,KAAKZ,MACZK,SAAUO,KAAKP,SACfD,cAAeQ,KAAKR,cACpBE,OAAQM,KAAKN,OACbG,eAAgBG,KAAKH,iBAGzBI,qCACSD,KAAKpB,MAAME,WAAakB,KAAKP"}
1
+ {"version":3,"file":"Menu.vue_vue&type=script&lang.js","sources":["../../../../src/components/Menu.vue"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"[suit(), !state.canRefine && suit('', 'noRefinement')]\"\n >\n <slot\n :items=\"state.items\"\n :can-refine=\"state.canRefine\"\n :can-toggle-show-more=\"state.canToggleShowMore\"\n :is-showing-more=\"state.isShowingMore\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n :toggle-show-more=\"state.toggleShowMore\"\n :send-event=\"state.sendEvent\"\n >\n <ul :class=\"suit('list')\">\n <li\n v-for=\"item in state.items\"\n :key=\"item.value\"\n :class=\"[suit('item'), item.isRefined && suit('item', 'selected')]\"\n >\n <a\n :href=\"state.createURL(item.value)\"\n :class=\"suit('link')\"\n @click.prevent=\"state.refine(item.value)\"\n >\n <span :class=\"suit('label')\">{{ item.label }}</span>\n <span :class=\"suit('count')\">{{ item.count }}</span>\n </a>\n </li>\n </ul>\n\n <button\n v-if=\"showShowMoreButton\"\n :class=\"[suit('showMore'), !state.canToggleShowMore && suit('showMore', 'disabled')]\"\n :disabled=\"!state.canToggleShowMore\"\n @click.prevent=\"state.toggleShowMore()\"\n >\n <slot\n name=\"showMoreLabel\"\n :is-showing-more=\"state.isShowingMore\"\n >{{ state.isShowingMore ? 'Show less' : 'Show more' }}</slot>\n </button>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectMenu } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisMenu',\n mixins: [\n createSuitMixin({ name: 'Menu' }),\n createWidgetMixin(\n { connector: connectMenu },\n {\n $$widgetType: 'ais.menu',\n }\n ),\n createPanelConsumerMixin({\n mapStateToCanRefine: state => Boolean(state.canRefine),\n }),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n // TODO: implement searchable in connector\n // searchable: {\n // type: Boolean,\n // default: false,\n // },\n limit: {\n type: Number,\n default: undefined,\n },\n showMoreLimit: {\n type: Number,\n default: undefined,\n },\n showMore: {\n type: Boolean,\n default: false,\n },\n sortBy: {\n type: [Array, Function],\n default: undefined,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n limit: this.limit,\n showMore: this.showMore,\n showMoreLimit: this.showMoreLimit,\n sortBy: this.sortBy,\n transformItems: this.transformItems,\n };\n },\n showShowMoreButton() {\n return this.state.canRefine && this.showMore;\n },\n },\n};\n</script>\n"],"names":["name","mixins","createSuitMixin","createWidgetMixin","connector","connectMenu","$$widgetType","createPanelConsumerMixin","mapStateToCanRefine","state","Boolean","canRefine","props","attribute","type","String","required","limit","Number","default","undefined","showMoreLimit","showMore","sortBy","Array","Function","transformItems","computed","widgetParams","this","showShowMoreButton"],"mappings":"8PAqDe,CACbA,KAAM,UACNC,OAAQ,CACNC,EAAgB,CAAEF,KAAM,SACxBG,EACE,CAAEC,UAAWC,GACb,CACEC,aAAc,aAGlBC,EAAyB,CACvBC,6BAAqBC,UAASC,QAAQD,EAAME,eAGhDC,MAAO,CACLC,UAAW,CACTC,KAAMC,OACNC,UAAU,GAOZC,MAAO,CACLH,KAAMI,OACNC,aAASC,GAEXC,cAAe,CACbP,KAAMI,OACNC,aAASC,GAEXE,SAAU,CACRR,KAAMJ,QACNS,SAAS,GAEXI,OAAQ,CACNT,KAAM,CAACU,MAAOC,UACdN,aAASC,GAEXM,eAAgB,CACdZ,KAAMW,SACNN,aAASC,IAGbO,SAAU,CACRC,8BACS,CACLf,UAAWgB,KAAKhB,UAChBI,MAAOY,KAAKZ,MACZK,SAAUO,KAAKP,SACfD,cAAeQ,KAAKR,cACpBE,OAAQM,KAAKN,OACbG,eAAgBG,KAAKH,iBAGzBI,qCACSD,KAAKpB,MAAME,WAAakB,KAAKP"}
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.vue_vue&type=template&id=9bcc0be2&lang.js","sources":["../../../../src/components/Menu.vue?vue&type=template&id=9bcc0be2&lang.js"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"[suit(), !state.canRefine && suit('', 'noRefinement')]\"\n >\n <slot\n :items=\"state.items\"\n :can-refine=\"state.canRefine\"\n :can-toggle-show-more=\"state.canToggleShowMore\"\n :is-showing-more=\"state.isShowingMore\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n :toggle-show-more=\"state.toggleShowMore\"\n :send-event=\"state.sendEvent\"\n >\n <ul :class=\"suit('list')\">\n <li\n v-for=\"item in state.items\"\n :key=\"item.value\"\n :class=\"[suit('item'), item.isRefined && suit('item', 'selected')]\"\n >\n <a\n :href=\"state.createURL(item.value)\"\n :class=\"suit('link')\"\n @click.prevent=\"state.refine(item.value)\"\n >\n <span :class=\"suit('label')\">{{ item.label }}</span>\n <span :class=\"suit('count')\">{{ item.count }}</span>\n </a>\n </li>\n </ul>\n\n <button\n v-if=\"showShowMoreButton\"\n :class=\"[suit('showMore'), !state.canToggleShowMore && suit('showMore', 'disabled')]\"\n :disabled=\"!state.canToggleShowMore\"\n @click.prevent=\"state.toggleShowMore()\"\n >\n <slot\n name=\"showMoreLabel\"\n :is-showing-more=\"state.isShowingMore\"\n >{{ state.isShowingMore ? 'Show less' : 'Show more' }}</slot>\n </button>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectMenu } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisMenu',\n mixins: [\n createSuitMixin({ name: 'Menu' }),\n createWidgetMixin({ connector: connectMenu }),\n createPanelConsumerMixin({\n mapStateToCanRefine: state => Boolean(state.canRefine),\n }),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n // TODO: implement searchable in connector\n // searchable: {\n // type: Boolean,\n // default: false,\n // },\n limit: {\n type: Number,\n default: undefined,\n },\n showMoreLimit: {\n type: Number,\n default: undefined,\n },\n showMore: {\n type: Boolean,\n default: false,\n },\n sortBy: {\n type: [Array, Function],\n default: undefined,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n limit: this.limit,\n showMore: this.showMore,\n showMoreLimit: this.showMoreLimit,\n sortBy: this.sortBy,\n transformItems: this.transformItems,\n };\n },\n showShowMoreButton() {\n return this.state.canRefine && this.showMore;\n },\n },\n};\n</script>\n"],"names":["_ctx","_createBlock","class","canRefine","_renderSlot","items","canToggleShowMore","isShowingMore","refine","createURL","toggleShowMore","sendEvent","_createVNode","item","key","value","isRefined","href","onClick","label","count","$options","disabled"],"mappings":"oOAEUA,aADRC,eAEGC,OAAQF,UAASA,QAAMG,WAAaH,6BAErCI,sBACGC,MAAOL,QAAMK,MACbF,UAAYH,QAAMG,UAClBG,kBAAsBN,QAAMM,kBAC5BC,cAAiBP,QAAMO,cACvBC,OAAQR,QAAMQ,OACdC,UAAWT,QAAMS,UACjBC,eAAkBV,QAAMU,eACxBC,UAAYX,QAAMW,6BAEnBC,QAAKV,MAAOF,wBACVC,WACiBD,QAAMK,eAAdQ,cADTZ,QAEGa,IAAKD,EAAKE,MACVb,OAAQF,eAAca,EAAKG,WAAahB,6BAEzCY,OACGK,KAAMjB,QAAMS,UAAUI,EAAKE,OAC3Bb,MAAOF,eACPkB,6BAAelB,QAAMQ,OAAOK,EAAKE,uBAElCH,UAAOV,MAAOF,mBAAkBa,EAAKM,UACrCP,UAAOV,MAAOF,mBAAkBa,EAAKO,kDAMnCC,0BADRpB,kBAEGC,OAAQF,oBAAmBA,QAAMM,mBAAqBN,+BACtDsB,UAAWtB,QAAMM,kBACjBY,yCAAelB,QAAMU,kCAEtBN,4BAEGG,cAAiBP,QAAMO,qCACtBP,QAAMO"}
1
+ {"version":3,"file":"Menu.vue_vue&type=template&id=9bcc0be2&lang.js","sources":["../../../../src/components/Menu.vue?vue&type=template&id=9bcc0be2&lang.js"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"[suit(), !state.canRefine && suit('', 'noRefinement')]\"\n >\n <slot\n :items=\"state.items\"\n :can-refine=\"state.canRefine\"\n :can-toggle-show-more=\"state.canToggleShowMore\"\n :is-showing-more=\"state.isShowingMore\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n :toggle-show-more=\"state.toggleShowMore\"\n :send-event=\"state.sendEvent\"\n >\n <ul :class=\"suit('list')\">\n <li\n v-for=\"item in state.items\"\n :key=\"item.value\"\n :class=\"[suit('item'), item.isRefined && suit('item', 'selected')]\"\n >\n <a\n :href=\"state.createURL(item.value)\"\n :class=\"suit('link')\"\n @click.prevent=\"state.refine(item.value)\"\n >\n <span :class=\"suit('label')\">{{ item.label }}</span>\n <span :class=\"suit('count')\">{{ item.count }}</span>\n </a>\n </li>\n </ul>\n\n <button\n v-if=\"showShowMoreButton\"\n :class=\"[suit('showMore'), !state.canToggleShowMore && suit('showMore', 'disabled')]\"\n :disabled=\"!state.canToggleShowMore\"\n @click.prevent=\"state.toggleShowMore()\"\n >\n <slot\n name=\"showMoreLabel\"\n :is-showing-more=\"state.isShowingMore\"\n >{{ state.isShowingMore ? 'Show less' : 'Show more' }}</slot>\n </button>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectMenu } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisMenu',\n mixins: [\n createSuitMixin({ name: 'Menu' }),\n createWidgetMixin(\n { connector: connectMenu },\n {\n $$widgetType: 'ais.menu',\n }\n ),\n createPanelConsumerMixin({\n mapStateToCanRefine: state => Boolean(state.canRefine),\n }),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n // TODO: implement searchable in connector\n // searchable: {\n // type: Boolean,\n // default: false,\n // },\n limit: {\n type: Number,\n default: undefined,\n },\n showMoreLimit: {\n type: Number,\n default: undefined,\n },\n showMore: {\n type: Boolean,\n default: false,\n },\n sortBy: {\n type: [Array, Function],\n default: undefined,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n limit: this.limit,\n showMore: this.showMore,\n showMoreLimit: this.showMoreLimit,\n sortBy: this.sortBy,\n transformItems: this.transformItems,\n };\n },\n showShowMoreButton() {\n return this.state.canRefine && this.showMore;\n },\n },\n};\n</script>\n"],"names":["_ctx","_createBlock","class","canRefine","_renderSlot","items","canToggleShowMore","isShowingMore","refine","createURL","toggleShowMore","sendEvent","_createVNode","item","key","value","isRefined","href","onClick","label","count","$options","disabled"],"mappings":"oOAEUA,aADRC,eAEGC,OAAQF,UAASA,QAAMG,WAAaH,6BAErCI,sBACGC,MAAOL,QAAMK,MACbF,UAAYH,QAAMG,UAClBG,kBAAsBN,QAAMM,kBAC5BC,cAAiBP,QAAMO,cACvBC,OAAQR,QAAMQ,OACdC,UAAWT,QAAMS,UACjBC,eAAkBV,QAAMU,eACxBC,UAAYX,QAAMW,6BAEnBC,QAAKV,MAAOF,wBACVC,WACiBD,QAAMK,eAAdQ,cADTZ,QAEGa,IAAKD,EAAKE,MACVb,OAAQF,eAAca,EAAKG,WAAahB,6BAEzCY,OACGK,KAAMjB,QAAMS,UAAUI,EAAKE,OAC3Bb,MAAOF,eACPkB,6BAAelB,QAAMQ,OAAOK,EAAKE,uBAElCH,UAAOV,MAAOF,mBAAkBa,EAAKM,UACrCP,UAAOV,MAAOF,mBAAkBa,EAAKO,kDAMnCC,0BADRpB,kBAEGC,OAAQF,oBAAmBA,QAAMM,mBAAqBN,+BACtDsB,UAAWtB,QAAMM,kBACjBY,yCAAelB,QAAMU,kCAEtBN,4BAEGG,cAAiBP,QAAMO,qCACtBP,QAAMO"}
@@ -1,2 +1,2 @@
1
- import{createSuitMixin as t}from"../mixins/suit.js";import{createWidgetMixin as e}from"../mixins/widget.js";import{connectMenu as i}from"instantsearch.js/es/connectors/index.js";import{createPanelConsumerMixin as n}from"../mixins/panel.js";export default{name:"AisMenuSelect",mixins:[t({name:"MenuSelect"}),e({connector:i}),n({mapStateToCanRefine:function(t){return Boolean(t.canRefine)}})],props:{attribute:{type:String,required:!0},limit:{type:Number,default:10},sortBy:{type:[Array,Function],default:void 0},transformItems:{type:Function,default:function(t){return t}}},computed:{widgetParams:function(){return{attribute:this.attribute,limit:this.limit,sortBy:this.sortBy,transformItems:this.transformItems}}},methods:{refine:function(t){this.state.refine(t)}}};
1
+ import{createSuitMixin as t}from"../mixins/suit.js";import{createWidgetMixin as e}from"../mixins/widget.js";import{connectMenu as i}from"instantsearch.js/es/connectors/index.js";import{createPanelConsumerMixin as n}from"../mixins/panel.js";export default{name:"AisMenuSelect",mixins:[t({name:"MenuSelect"}),e({connector:i},{$$widgetType:"ais.menuSelect"}),n({mapStateToCanRefine:function(t){return Boolean(t.canRefine)}})],props:{attribute:{type:String,required:!0},limit:{type:Number,default:10},sortBy:{type:[Array,Function],default:void 0},transformItems:{type:Function,default:function(t){return t}}},computed:{widgetParams:function(){return{attribute:this.attribute,limit:this.limit,sortBy:this.sortBy,transformItems:this.transformItems}}},methods:{refine:function(t){this.state.refine(t)}}};
2
2
  //# sourceMappingURL=MenuSelect.vue_vue&type=script&lang.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuSelect.vue_vue&type=script&lang.js","sources":["../../../../src/components/MenuSelect.vue"],"sourcesContent":["<template>\n <div\n :class=\"[suit(), !state.canRefine && suit('', 'noRefinement')]\"\n v-if=\"state\"\n >\n <slot\n :items=\"state.items\"\n :can-refine=\"state.canRefine\"\n :refine=\"refine\"\n :createURL=\"state.createURL\"\n :send-event=\"state.sendEvent\"\n >\n <select\n :class=\"suit('select')\"\n @change=\"refine($event.currentTarget.value)\"\n >\n <option\n :class=\"suit('option')\"\n value=\"\"\n >\n <slot name=\"defaultOption\">See all</slot>\n </option>\n <option\n v-for=\"item in state.items\"\n :key=\"item.value\"\n :class=\"suit('option')\"\n :value=\"item.value\"\n :selected=\"item.isRefined\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n >{{ item.label }} ({{ item.count }})</slot>\n </option>\n </select>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectMenu } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisMenuSelect',\n mixins: [\n createSuitMixin({ name: 'MenuSelect' }),\n createWidgetMixin({ connector: connectMenu }),\n createPanelConsumerMixin({\n mapStateToCanRefine: state => Boolean(state.canRefine),\n }),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n limit: {\n type: Number,\n default: 10,\n },\n sortBy: {\n type: [Array, Function],\n default: undefined,\n },\n transformItems: {\n type: Function,\n default(items) {\n return items;\n },\n },\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n limit: this.limit,\n sortBy: this.sortBy,\n transformItems: this.transformItems,\n };\n },\n },\n methods: {\n refine(value) {\n this.state.refine(value);\n },\n },\n};\n</script>\n"],"names":["name","mixins","createSuitMixin","createWidgetMixin","connector","connectMenu","createPanelConsumerMixin","mapStateToCanRefine","state","Boolean","canRefine","props","attribute","type","String","required","limit","Number","default","sortBy","Array","Function","undefined","transformItems","items","computed","widgetParams","this","methods","refine","value"],"mappings":"8PA6Ce,CACbA,KAAM,gBACNC,OAAQ,CACNC,EAAgB,CAAEF,KAAM,eACxBG,EAAkB,CAAEC,UAAWC,IAC/BC,EAAyB,CACvBC,6BAAqBC,UAASC,QAAQD,EAAME,eAGhDC,MAAO,CACLC,UAAW,CACTC,KAAMC,OACNC,UAAU,GAEZC,MAAO,CACLH,KAAMI,OACNC,QAAS,IAEXC,OAAQ,CACNN,KAAM,CAACO,MAAOC,UACdH,aAASI,GAEXC,eAAgB,CACdV,KAAMQ,SACNH,iBAAQM,UACCA,KAIbC,SAAU,CACRC,8BACS,CACLd,UAAWe,KAAKf,UAChBI,MAAOW,KAAKX,MACZG,OAAQQ,KAAKR,OACbI,eAAgBI,KAAKJ,kBAI3BK,QAAS,CACPC,gBAAOC,QACAtB,MAAMqB,OAAOC"}
1
+ {"version":3,"file":"MenuSelect.vue_vue&type=script&lang.js","sources":["../../../../src/components/MenuSelect.vue"],"sourcesContent":["<template>\n <div\n :class=\"[suit(), !state.canRefine && suit('', 'noRefinement')]\"\n v-if=\"state\"\n >\n <slot\n :items=\"state.items\"\n :can-refine=\"state.canRefine\"\n :refine=\"refine\"\n :createURL=\"state.createURL\"\n :send-event=\"state.sendEvent\"\n >\n <select\n :class=\"suit('select')\"\n @change=\"refine($event.currentTarget.value)\"\n >\n <option\n :class=\"suit('option')\"\n value=\"\"\n >\n <slot name=\"defaultOption\">See all</slot>\n </option>\n <option\n v-for=\"item in state.items\"\n :key=\"item.value\"\n :class=\"suit('option')\"\n :value=\"item.value\"\n :selected=\"item.isRefined\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n >{{ item.label }} ({{ item.count }})</slot>\n </option>\n </select>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectMenu } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisMenuSelect',\n mixins: [\n createSuitMixin({ name: 'MenuSelect' }),\n createWidgetMixin(\n { connector: connectMenu },\n {\n $$widgetType: 'ais.menuSelect',\n }\n ),\n createPanelConsumerMixin({\n mapStateToCanRefine: state => Boolean(state.canRefine),\n }),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n limit: {\n type: Number,\n default: 10,\n },\n sortBy: {\n type: [Array, Function],\n default: undefined,\n },\n transformItems: {\n type: Function,\n default(items) {\n return items;\n },\n },\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n limit: this.limit,\n sortBy: this.sortBy,\n transformItems: this.transformItems,\n };\n },\n },\n methods: {\n refine(value) {\n this.state.refine(value);\n },\n },\n};\n</script>\n"],"names":["name","mixins","createSuitMixin","createWidgetMixin","connector","connectMenu","$$widgetType","createPanelConsumerMixin","mapStateToCanRefine","state","Boolean","canRefine","props","attribute","type","String","required","limit","Number","default","sortBy","Array","Function","undefined","transformItems","items","computed","widgetParams","this","methods","refine","value"],"mappings":"8PA6Ce,CACbA,KAAM,gBACNC,OAAQ,CACNC,EAAgB,CAAEF,KAAM,eACxBG,EACE,CAAEC,UAAWC,GACb,CACEC,aAAc,mBAGlBC,EAAyB,CACvBC,6BAAqBC,UAASC,QAAQD,EAAME,eAGhDC,MAAO,CACLC,UAAW,CACTC,KAAMC,OACNC,UAAU,GAEZC,MAAO,CACLH,KAAMI,OACNC,QAAS,IAEXC,OAAQ,CACNN,KAAM,CAACO,MAAOC,UACdH,aAASI,GAEXC,eAAgB,CACdV,KAAMQ,SACNH,iBAAQM,UACCA,KAIbC,SAAU,CACRC,8BACS,CACLd,UAAWe,KAAKf,UAChBI,MAAOW,KAAKX,MACZG,OAAQQ,KAAKR,OACbI,eAAgBI,KAAKJ,kBAI3BK,QAAS,CACPC,gBAAOC,QACAtB,MAAMqB,OAAOC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuSelect.vue_vue&type=template&id=694477eb&lang.js","sources":["../../../../src/components/MenuSelect.vue?vue&type=template&id=694477eb&lang.js"],"sourcesContent":["<template>\n <div\n :class=\"[suit(), !state.canRefine && suit('', 'noRefinement')]\"\n v-if=\"state\"\n >\n <slot\n :items=\"state.items\"\n :can-refine=\"state.canRefine\"\n :refine=\"refine\"\n :createURL=\"state.createURL\"\n :send-event=\"state.sendEvent\"\n >\n <select\n :class=\"suit('select')\"\n @change=\"refine($event.currentTarget.value)\"\n >\n <option\n :class=\"suit('option')\"\n value=\"\"\n >\n <slot name=\"defaultOption\">See all</slot>\n </option>\n <option\n v-for=\"item in state.items\"\n :key=\"item.value\"\n :class=\"suit('option')\"\n :value=\"item.value\"\n :selected=\"item.isRefined\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n >{{ item.label }} ({{ item.count }})</slot>\n </option>\n </select>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectMenu } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisMenuSelect',\n mixins: [\n createSuitMixin({ name: 'MenuSelect' }),\n createWidgetMixin({ connector: connectMenu }),\n createPanelConsumerMixin({\n mapStateToCanRefine: state => Boolean(state.canRefine),\n }),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n limit: {\n type: Number,\n default: 10,\n },\n sortBy: {\n type: [Array, Function],\n default: undefined,\n },\n transformItems: {\n type: Function,\n default(items) {\n return items;\n },\n },\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n limit: this.limit,\n sortBy: this.sortBy,\n transformItems: this.transformItems,\n };\n },\n },\n methods: {\n refine(value) {\n this.state.refine(value);\n },\n },\n};\n</script>\n"],"names":["_ctx","_createBlock","class","canRefine","_renderSlot","items","refine","$options","createURL","sendEvent","_createVNode","onChange","$event","currentTarget","value","item","key","selected","isRefined","label","count"],"mappings":"0LAoBqC,0CAjB3BA,aAFRC,eACGC,OAAQF,UAASA,QAAMG,WAAaH,6BAGrCI,sBACGC,MAAOL,QAAMK,MACbF,UAAYH,QAAMG,UAClBG,OAAQC,SACRC,UAAWR,QAAMQ,UACjBC,UAAYT,QAAMS,6BAEnBC,YACGR,MAAOF,iBACPW,wCAAQJ,SAAOK,EAAOC,cAAcC,WAErCJ,YACGR,MAAOF,iBACRc,MAAM,KAENV,gEAEFH,WACiBD,QAAMK,eAAdU,cADTd,YAEGe,IAAKD,EAAKD,MACVZ,MAAOF,iBACPc,MAAOC,EAAKD,MACZG,SAAUF,EAAKG,YAEhBd,mBAEGW,KAAMA,yBACLA,EAAKI,cAAaJ,EAAKK,OAAQ"}
1
+ {"version":3,"file":"MenuSelect.vue_vue&type=template&id=694477eb&lang.js","sources":["../../../../src/components/MenuSelect.vue?vue&type=template&id=694477eb&lang.js"],"sourcesContent":["<template>\n <div\n :class=\"[suit(), !state.canRefine && suit('', 'noRefinement')]\"\n v-if=\"state\"\n >\n <slot\n :items=\"state.items\"\n :can-refine=\"state.canRefine\"\n :refine=\"refine\"\n :createURL=\"state.createURL\"\n :send-event=\"state.sendEvent\"\n >\n <select\n :class=\"suit('select')\"\n @change=\"refine($event.currentTarget.value)\"\n >\n <option\n :class=\"suit('option')\"\n value=\"\"\n >\n <slot name=\"defaultOption\">See all</slot>\n </option>\n <option\n v-for=\"item in state.items\"\n :key=\"item.value\"\n :class=\"suit('option')\"\n :value=\"item.value\"\n :selected=\"item.isRefined\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n >{{ item.label }} ({{ item.count }})</slot>\n </option>\n </select>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectMenu } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisMenuSelect',\n mixins: [\n createSuitMixin({ name: 'MenuSelect' }),\n createWidgetMixin(\n { connector: connectMenu },\n {\n $$widgetType: 'ais.menuSelect',\n }\n ),\n createPanelConsumerMixin({\n mapStateToCanRefine: state => Boolean(state.canRefine),\n }),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n limit: {\n type: Number,\n default: 10,\n },\n sortBy: {\n type: [Array, Function],\n default: undefined,\n },\n transformItems: {\n type: Function,\n default(items) {\n return items;\n },\n },\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n limit: this.limit,\n sortBy: this.sortBy,\n transformItems: this.transformItems,\n };\n },\n },\n methods: {\n refine(value) {\n this.state.refine(value);\n },\n },\n};\n</script>\n"],"names":["_ctx","_createBlock","class","canRefine","_renderSlot","items","refine","$options","createURL","sendEvent","_createVNode","onChange","$event","currentTarget","value","item","key","selected","isRefined","label","count"],"mappings":"0LAoBqC,0CAjB3BA,aAFRC,eACGC,OAAQF,UAASA,QAAMG,WAAaH,6BAGrCI,sBACGC,MAAOL,QAAMK,MACbF,UAAYH,QAAMG,UAClBG,OAAQC,SACRC,UAAWR,QAAMQ,UACjBC,UAAYT,QAAMS,6BAEnBC,YACGR,MAAOF,iBACPW,wCAAQJ,SAAOK,EAAOC,cAAcC,WAErCJ,YACGR,MAAOF,iBACRc,MAAM,KAENV,gEAEFH,WACiBD,QAAMK,eAAdU,cADTd,YAEGe,IAAKD,EAAKD,MACVZ,MAAOF,iBACPc,MAAOC,EAAKD,MACZG,SAAUF,EAAKG,YAEhBd,mBAEGW,KAAMA,yBACLA,EAAKI,cAAaJ,EAAKK,OAAQ"}
@@ -1,2 +1,2 @@
1
- import{createSuitMixin as t}from"../mixins/suit.js";import{createWidgetMixin as e}from"../mixins/widget.js";import{connectNumericMenu as i}from"instantsearch.js/es/connectors/index.js";import{createPanelConsumerMixin as r}from"../mixins/panel.js";export default{name:"AisNumericMenu",mixins:[e({connector:i}),t({name:"NumericMenu"}),r({mapStateToCanRefine:function(t){return!1===t.hasNoResults}})],props:{attribute:{type:String,required:!0},items:{type:Array,required:!0},transformItems:{type:Function,default:void 0}},computed:{widgetParams:function(){return{attribute:this.attribute,transformItems:this.transformItems,items:this.items}},canRefine:function(){return!this.state.hasNoResults}}};
1
+ import{createSuitMixin as t}from"../mixins/suit.js";import{createWidgetMixin as e}from"../mixins/widget.js";import{connectNumericMenu as i}from"instantsearch.js/es/connectors/index.js";import{createPanelConsumerMixin as r}from"../mixins/panel.js";export default{name:"AisNumericMenu",mixins:[e({connector:i},{$$widgetType:"ais.numericMenu"}),t({name:"NumericMenu"}),r({mapStateToCanRefine:function(t){return!1===t.hasNoResults}})],props:{attribute:{type:String,required:!0},items:{type:Array,required:!0},transformItems:{type:Function,default:void 0}},computed:{widgetParams:function(){return{attribute:this.attribute,transformItems:this.transformItems,items:this.items}},canRefine:function(){return!this.state.hasNoResults}}};
2
2
  //# sourceMappingURL=NumericMenu.vue_vue&type=script&lang.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NumericMenu.vue_vue&type=script&lang.js","sources":["../../../../src/components/NumericMenu.vue"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"[suit(), !canRefine && suit('', 'noRefinement')]\"\n >\n <slot\n :items=\"state.items\"\n :can-refine=\"canRefine\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n :send-event=\"state.sendEvent\"\n >\n <ul :class=\"[suit('list')]\">\n <li\n v-for=\"item in state.items\"\n :key=\"item.label\"\n :class=\"[suit('item'), item.isRefined && suit('item', 'selected')]\"\n >\n <label :class=\"suit('label')\">\n <input\n type=\"radio\"\n :class=\"suit('radio')\"\n :name=\"attribute\"\n :value=\"item.value\"\n :checked=\"item.isRefined\"\n @change=\"state.refine($event.target.value)\"\n >\n <span :class=\"suit('labelText')\">{{ item.label }}</span>\n </label>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectNumericMenu } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisNumericMenu',\n mixins: [\n createWidgetMixin({ connector: connectNumericMenu }),\n createSuitMixin({ name: 'NumericMenu' }),\n createPanelConsumerMixin({\n mapStateToCanRefine: state => state.hasNoResults === false,\n }),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n items: {\n type: Array,\n required: true,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n transformItems: this.transformItems,\n items: this.items,\n };\n },\n canRefine() {\n return !this.state.hasNoResults;\n },\n },\n};\n</script>\n"],"names":["name","mixins","createWidgetMixin","connector","connectNumericMenu","createSuitMixin","createPanelConsumerMixin","mapStateToCanRefine","state","hasNoResults","props","attribute","type","String","required","items","Array","transformItems","Function","default","undefined","computed","widgetParams","this","canRefine"],"mappings":"qQAyCe,CACbA,KAAM,iBACNC,OAAQ,CACNC,EAAkB,CAAEC,UAAWC,IAC/BC,EAAgB,CAAEL,KAAM,gBACxBM,EAAyB,CACvBC,6BAAqBC,UAAgC,IAAvBA,EAAMC,iBAGxCC,MAAO,CACLC,UAAW,CACTC,KAAMC,OACNC,UAAU,GAEZC,MAAO,CACLH,KAAMI,MACNF,UAAU,GAEZG,eAAgB,CACdL,KAAMM,SACNC,aAASC,IAGbC,SAAU,CACRC,8BACS,CACLX,UAAWY,KAAKZ,UAChBM,eAAgBM,KAAKN,eACrBF,MAAOQ,KAAKR,QAGhBS,4BACUD,KAAKf,MAAMC"}
1
+ {"version":3,"file":"NumericMenu.vue_vue&type=script&lang.js","sources":["../../../../src/components/NumericMenu.vue"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"[suit(), !canRefine && suit('', 'noRefinement')]\"\n >\n <slot\n :items=\"state.items\"\n :can-refine=\"canRefine\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n :send-event=\"state.sendEvent\"\n >\n <ul :class=\"[suit('list')]\">\n <li\n v-for=\"item in state.items\"\n :key=\"item.label\"\n :class=\"[suit('item'), item.isRefined && suit('item', 'selected')]\"\n >\n <label :class=\"suit('label')\">\n <input\n type=\"radio\"\n :class=\"suit('radio')\"\n :name=\"attribute\"\n :value=\"item.value\"\n :checked=\"item.isRefined\"\n @change=\"state.refine($event.target.value)\"\n >\n <span :class=\"suit('labelText')\">{{ item.label }}</span>\n </label>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectNumericMenu } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisNumericMenu',\n mixins: [\n createWidgetMixin(\n {\n connector: connectNumericMenu,\n },\n {\n $$widgetType: 'ais.numericMenu',\n }\n ),\n createSuitMixin({ name: 'NumericMenu' }),\n createPanelConsumerMixin({\n mapStateToCanRefine: state => state.hasNoResults === false,\n }),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n items: {\n type: Array,\n required: true,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n transformItems: this.transformItems,\n items: this.items,\n };\n },\n canRefine() {\n return !this.state.hasNoResults;\n },\n },\n};\n</script>\n"],"names":["name","mixins","createWidgetMixin","connector","connectNumericMenu","$$widgetType","createSuitMixin","createPanelConsumerMixin","mapStateToCanRefine","state","hasNoResults","props","attribute","type","String","required","items","Array","transformItems","Function","default","undefined","computed","widgetParams","this","canRefine"],"mappings":"qQAyCe,CACbA,KAAM,iBACNC,OAAQ,CACNC,EACE,CACEC,UAAWC,GAEb,CACEC,aAAc,oBAGlBC,EAAgB,CAAEN,KAAM,gBACxBO,EAAyB,CACvBC,6BAAqBC,UAAgC,IAAvBA,EAAMC,iBAGxCC,MAAO,CACLC,UAAW,CACTC,KAAMC,OACNC,UAAU,GAEZC,MAAO,CACLH,KAAMI,MACNF,UAAU,GAEZG,eAAgB,CACdL,KAAMM,SACNC,aAASC,IAGbC,SAAU,CACRC,8BACS,CACLX,UAAWY,KAAKZ,UAChBM,eAAgBM,KAAKN,eACrBF,MAAOQ,KAAKR,QAGhBS,4BACUD,KAAKf,MAAMC"}
@@ -1 +1 @@
1
- {"version":3,"file":"NumericMenu.vue_vue&type=template&id=160fae0c&lang.js","sources":["../../../../src/components/NumericMenu.vue?vue&type=template&id=160fae0c&lang.js"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"[suit(), !canRefine && suit('', 'noRefinement')]\"\n >\n <slot\n :items=\"state.items\"\n :can-refine=\"canRefine\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n :send-event=\"state.sendEvent\"\n >\n <ul :class=\"[suit('list')]\">\n <li\n v-for=\"item in state.items\"\n :key=\"item.label\"\n :class=\"[suit('item'), item.isRefined && suit('item', 'selected')]\"\n >\n <label :class=\"suit('label')\">\n <input\n type=\"radio\"\n :class=\"suit('radio')\"\n :name=\"attribute\"\n :value=\"item.value\"\n :checked=\"item.isRefined\"\n @change=\"state.refine($event.target.value)\"\n >\n <span :class=\"suit('labelText')\">{{ item.label }}</span>\n </label>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectNumericMenu } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisNumericMenu',\n mixins: [\n createWidgetMixin({ connector: connectNumericMenu }),\n createSuitMixin({ name: 'NumericMenu' }),\n createPanelConsumerMixin({\n mapStateToCanRefine: state => state.hasNoResults === false,\n }),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n items: {\n type: Array,\n required: true,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n transformItems: this.transformItems,\n items: this.items,\n };\n },\n canRefine() {\n return !this.state.hasNoResults;\n },\n },\n};\n</script>\n"],"names":["_ctx","_createBlock","class","$options","_renderSlot","items","canRefine","refine","createURL","sendEvent","_createVNode","item","key","label","isRefined","type","name","$props","value","checked","onChange","$event","target"],"mappings":"4LAEUA,aADRC,eAEGC,OAAQF,UAASG,aAAaH,6BAE/BI,sBACGC,MAAOL,QAAMK,MACbC,UAAYH,YACZI,OAAQP,QAAMO,OACdC,UAAWR,QAAMQ,UACjBC,UAAYT,QAAMS,6BAEnBC,QAAKR,OAAQF,yBACXC,WACiBD,QAAMK,eAAdM,cADTV,QAEGW,IAAKD,EAAKE,MACVX,OAAQF,eAAcW,EAAKG,WAAad,6BAEzCU,WAAQR,MAAOF,kBACbU,WACEK,KAAK,QACJb,MAAOF,gBACPgB,KAAMC,YACNC,MAAOP,EAAKO,MACZC,QAASR,EAAKG,UACdM,wCAAQpB,QAAMO,OAAOc,EAAOC,OAAOJ,8CAEtCR,UAAOR,MAAOF,uBAAsBW,EAAKE"}
1
+ {"version":3,"file":"NumericMenu.vue_vue&type=template&id=160fae0c&lang.js","sources":["../../../../src/components/NumericMenu.vue?vue&type=template&id=160fae0c&lang.js"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"[suit(), !canRefine && suit('', 'noRefinement')]\"\n >\n <slot\n :items=\"state.items\"\n :can-refine=\"canRefine\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n :send-event=\"state.sendEvent\"\n >\n <ul :class=\"[suit('list')]\">\n <li\n v-for=\"item in state.items\"\n :key=\"item.label\"\n :class=\"[suit('item'), item.isRefined && suit('item', 'selected')]\"\n >\n <label :class=\"suit('label')\">\n <input\n type=\"radio\"\n :class=\"suit('radio')\"\n :name=\"attribute\"\n :value=\"item.value\"\n :checked=\"item.isRefined\"\n @change=\"state.refine($event.target.value)\"\n >\n <span :class=\"suit('labelText')\">{{ item.label }}</span>\n </label>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectNumericMenu } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisNumericMenu',\n mixins: [\n createWidgetMixin(\n {\n connector: connectNumericMenu,\n },\n {\n $$widgetType: 'ais.numericMenu',\n }\n ),\n createSuitMixin({ name: 'NumericMenu' }),\n createPanelConsumerMixin({\n mapStateToCanRefine: state => state.hasNoResults === false,\n }),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n items: {\n type: Array,\n required: true,\n },\n transformItems: {\n type: Function,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n transformItems: this.transformItems,\n items: this.items,\n };\n },\n canRefine() {\n return !this.state.hasNoResults;\n },\n },\n};\n</script>\n"],"names":["_ctx","_createBlock","class","$options","_renderSlot","items","canRefine","refine","createURL","sendEvent","_createVNode","item","key","label","isRefined","type","name","$props","value","checked","onChange","$event","target"],"mappings":"4LAEUA,aADRC,eAEGC,OAAQF,UAASG,aAAaH,6BAE/BI,sBACGC,MAAOL,QAAMK,MACbC,UAAYH,YACZI,OAAQP,QAAMO,OACdC,UAAWR,QAAMQ,UACjBC,UAAYT,QAAMS,6BAEnBC,QAAKR,OAAQF,yBACXC,WACiBD,QAAMK,eAAdM,cADTV,QAEGW,IAAKD,EAAKE,MACVX,OAAQF,eAAcW,EAAKG,WAAad,6BAEzCU,WAAQR,MAAOF,kBACbU,WACEK,KAAK,QACJb,MAAOF,gBACPgB,KAAMC,YACNC,MAAOP,EAAKO,MACZC,QAASR,EAAKG,UACdM,wCAAQpB,QAAMO,OAAOc,EAAOC,OAAOJ,8CAEtCR,UAAOR,MAAOF,uBAAsBW,EAAKE"}
@@ -1,2 +1,2 @@
1
- import{createSuitMixin as t}from"../mixins/suit.js";import{createWidgetMixin as e}from"../mixins/widget.js";import{connectPagination as a}from"instantsearch.js/es/connectors/index.js";import{createPanelConsumerMixin as n}from"../mixins/panel.js";export default{name:"AisPagination",mixins:[t({name:"Pagination"}),e({connector:a}),n({mapStateToCanRefine:function(t){return t.nbPages>1}})],props:{padding:{type:Number,default:void 0,validator:function(t){return t>0}},totalPages:{type:Number,default:void 0,validator:function(t){return t>0}},showFirst:{type:Boolean,default:!0},showLast:{type:Boolean,default:!0},showNext:{type:Boolean,default:!0},showPrevious:{type:Boolean,default:!0}},computed:{widgetParams:function(){return{padding:this.padding,totalPages:this.totalPages}}},emits:["page-change"],methods:{refine:function(t){var e=Math.min(Math.max(t,0),this.state.nbPages-1);this.state.refine(e),this.$emit("page-change",e)}}};
1
+ import{createSuitMixin as t}from"../mixins/suit.js";import{createWidgetMixin as e}from"../mixins/widget.js";import{connectPagination as a}from"instantsearch.js/es/connectors/index.js";import{createPanelConsumerMixin as i}from"../mixins/panel.js";export default{name:"AisPagination",mixins:[t({name:"Pagination"}),e({connector:a},{$$widgetType:"ais.pagination"}),i({mapStateToCanRefine:function(t){return t.nbPages>1}})],props:{padding:{type:Number,default:void 0,validator:function(t){return t>0}},totalPages:{type:Number,default:void 0,validator:function(t){return t>0}},showFirst:{type:Boolean,default:!0},showLast:{type:Boolean,default:!0},showNext:{type:Boolean,default:!0},showPrevious:{type:Boolean,default:!0}},computed:{widgetParams:function(){return{padding:this.padding,totalPages:this.totalPages}}},emits:["page-change"],methods:{refine:function(t){var e=Math.min(Math.max(t,0),this.state.nbPages-1);this.state.refine(e),this.$emit("page-change",e)}}};
2
2
  //# sourceMappingURL=Pagination.vue_vue&type=script&lang.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.vue_vue&type=script&lang.js","sources":["../../../../src/components/Pagination.vue"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"suit()\"\n >\n <slot\n :refine=\"refine\"\n :createURL=\"state.createURL\"\n :current-refinement=\"state.currentRefinement\"\n :nb-hits=\"state.nbHits\"\n :nb-pages=\"state.nbPages\"\n :pages=\"state.pages\"\n :is-first-page=\"state.isFirstPage\"\n :is-last-page=\"state.isLastPage\"\n >\n <ul :class=\"suit('list')\">\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'firstPage')]: true,\n [suit('item', 'disabled')]: state.isFirstPage,\n }\"\n v-if=\"showFirst\"\n >\n <slot\n name=\"first\"\n :createURL=\"() => state.createURL(0)\"\n :is-first-page=\"state.isFirstPage\"\n :refine=\"() => refine(0)\"\n >\n <template v-if=\"!state.isFirstPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"First\"\n :href=\"state.createURL(0)\"\n @click.prevent=\"refine(0)\"\n >‹‹</a>\n </template>\n <template v-else>\n <span\n :class=\"suit('link')\"\n aria-label=\"First\"\n >‹‹</span>\n </template>\n </slot>\n </li>\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'previousPage')]: true,\n [suit('item', 'disabled')]: state.isFirstPage,\n }\"\n v-if=\"showPrevious\"\n >\n <slot\n name=\"previous\"\n :createURL=\"() => state.createURL(state.currentRefinement - 1)\"\n :is-first-page=\"state.isFirstPage\"\n :refine=\"() => refine(state.currentRefinement - 1)\"\n >\n <template v-if=\"!state.isFirstPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Previous\"\n :href=\"state.createURL(state.currentRefinement - 1)\"\n @click.prevent=\"refine(state.currentRefinement - 1)\"\n >‹</a>\n </template>\n <template v-else>\n <span\n :class=\"suit('link')\"\n aria-label=\"Previous\"\n >‹</span>\n </template>\n </slot>\n </li>\n\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'selected')]: state.currentRefinement === page\n }\"\n v-for=\"page in state.pages\"\n :key=\"page\"\n >\n <slot\n name=\"item\"\n :page=\"page\"\n :createURL=\"() => state.createURL(page)\"\n :is-first-page=\"state.isFirstPage\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(page)\"\n >\n <a\n :class=\"suit('link')\"\n :href=\"state.createURL(page)\"\n @click.prevent=\"refine(page)\"\n >{{ page + 1 }}</a>\n </slot>\n </li>\n\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item','nextPage')]: true,\n [suit('item','disabled')]: state.isLastPage\n }\"\n v-if=\"showNext\"\n >\n <slot\n name=\"next\"\n :createURL=\"() => state.createURL(state.currentRefinement + 1)\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(state.currentRefinement + 1)\"\n >\n <template v-if=\"!state.isLastPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Next\"\n :href=\"state.createURL(state.currentRefinement + 1)\"\n @click.prevent=\"refine(state.currentRefinement + 1)\"\n >›</a>\n </template>\n <template v-else>\n <span\n :class=\"suit('link')\"\n aria-label=\"Next\"\n >›</span>\n </template>\n </slot>\n </li>\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item','lastPage')]: true,\n [suit('item','disabled')]: state.isLastPage,\n }\"\n v-if=\"showLast\"\n >\n <slot\n name=\"last\"\n :createURL=\"() => state.createURL(state.nbPages - 1)\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(state.nbPages - 1)\"\n >\n <template v-if=\"!state.isLastPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Last\"\n :href=\"state.createURL(state.nbPages - 1)\"\n @click.prevent=\"refine(state.nbPages - 1)\"\n >››</a>\n </template>\n <template v-else>\n <span\n :class=\"suit('link')\"\n aria-label=\"Last\"\n >››</span>\n </template>\n </slot>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectPagination } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisPagination',\n mixins: [\n createSuitMixin({ name: 'Pagination' }),\n createWidgetMixin({ connector: connectPagination }),\n createPanelConsumerMixin({\n mapStateToCanRefine: state => state.nbPages > 1,\n }),\n ],\n props: {\n padding: {\n type: Number,\n default: undefined,\n validator(value) {\n return value > 0;\n },\n },\n totalPages: {\n type: Number,\n default: undefined,\n validator(value) {\n return value > 0;\n },\n },\n showFirst: {\n type: Boolean,\n default: true,\n },\n showLast: {\n type: Boolean,\n default: true,\n },\n showNext: {\n type: Boolean,\n default: true,\n },\n showPrevious: {\n type: Boolean,\n default: true,\n },\n },\n computed: {\n widgetParams() {\n return {\n padding: this.padding,\n totalPages: this.totalPages,\n };\n },\n },\n emits: ['page-change'],\n methods: {\n refine(page) {\n const p = Math.min(Math.max(page, 0), this.state.nbPages - 1);\n this.state.refine(p);\n // TODO: do this in a general way\n this.$emit('page-change', p);\n },\n },\n};\n</script>\n"],"names":["name","mixins","createSuitMixin","createWidgetMixin","connector","connectPagination","createPanelConsumerMixin","mapStateToCanRefine","state","nbPages","props","padding","type","Number","default","undefined","validator","value","totalPages","showFirst","Boolean","showLast","showNext","showPrevious","computed","widgetParams","this","emits","methods","refine","page","p","Math","min","max","$emit"],"mappings":"oQA4Ke,CACbA,KAAM,gBACNC,OAAQ,CACNC,EAAgB,CAAEF,KAAM,eACxBG,EAAkB,CAAEC,UAAWC,IAC/BC,EAAyB,CACvBC,6BAAqBC,UAASA,EAAMC,QAAU,MAGlDC,MAAO,CACLC,QAAS,CACPC,KAAMC,OACNC,aAASC,EACTC,mBAAUC,UACDA,EAAQ,IAGnBC,WAAY,CACVN,KAAMC,OACNC,aAASC,EACTC,mBAAUC,UACDA,EAAQ,IAGnBE,UAAW,CACTP,KAAMQ,QACNN,SAAS,GAEXO,SAAU,CACRT,KAAMQ,QACNN,SAAS,GAEXQ,SAAU,CACRV,KAAMQ,QACNN,SAAS,GAEXS,aAAc,CACZX,KAAMQ,QACNN,SAAS,IAGbU,SAAU,CACRC,8BACS,CACLd,QAASe,KAAKf,QACdO,WAAYQ,KAAKR,cAIvBS,MAAO,CAAC,eACRC,QAAS,CACPC,gBAAOC,OACCC,EAAIC,KAAKC,IAAID,KAAKE,IAAIJ,EAAM,GAAIJ,KAAKlB,MAAMC,QAAU,QACtDD,MAAMqB,OAAOE,QAEbI,MAAM,cAAeJ"}
1
+ {"version":3,"file":"Pagination.vue_vue&type=script&lang.js","sources":["../../../../src/components/Pagination.vue"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"suit()\"\n >\n <slot\n :refine=\"refine\"\n :createURL=\"state.createURL\"\n :current-refinement=\"state.currentRefinement\"\n :nb-hits=\"state.nbHits\"\n :nb-pages=\"state.nbPages\"\n :pages=\"state.pages\"\n :is-first-page=\"state.isFirstPage\"\n :is-last-page=\"state.isLastPage\"\n >\n <ul :class=\"suit('list')\">\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'firstPage')]: true,\n [suit('item', 'disabled')]: state.isFirstPage,\n }\"\n v-if=\"showFirst\"\n >\n <slot\n name=\"first\"\n :createURL=\"() => state.createURL(0)\"\n :is-first-page=\"state.isFirstPage\"\n :refine=\"() => refine(0)\"\n >\n <template v-if=\"!state.isFirstPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"First\"\n :href=\"state.createURL(0)\"\n @click.prevent=\"refine(0)\"\n >‹‹</a>\n </template>\n <template v-else>\n <span\n :class=\"suit('link')\"\n aria-label=\"First\"\n >‹‹</span>\n </template>\n </slot>\n </li>\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'previousPage')]: true,\n [suit('item', 'disabled')]: state.isFirstPage,\n }\"\n v-if=\"showPrevious\"\n >\n <slot\n name=\"previous\"\n :createURL=\"() => state.createURL(state.currentRefinement - 1)\"\n :is-first-page=\"state.isFirstPage\"\n :refine=\"() => refine(state.currentRefinement - 1)\"\n >\n <template v-if=\"!state.isFirstPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Previous\"\n :href=\"state.createURL(state.currentRefinement - 1)\"\n @click.prevent=\"refine(state.currentRefinement - 1)\"\n >‹</a>\n </template>\n <template v-else>\n <span\n :class=\"suit('link')\"\n aria-label=\"Previous\"\n >‹</span>\n </template>\n </slot>\n </li>\n\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'page')]: true,\n [suit('item', 'selected')]: state.currentRefinement === page\n }\"\n v-for=\"page in state.pages\"\n :key=\"page\"\n >\n <slot\n name=\"item\"\n :page=\"page\"\n :createURL=\"() => state.createURL(page)\"\n :is-first-page=\"state.isFirstPage\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(page)\"\n >\n <a\n :class=\"suit('link')\"\n :href=\"state.createURL(page)\"\n @click.prevent=\"refine(page)\"\n >{{ page + 1 }}</a>\n </slot>\n </li>\n\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item','nextPage')]: true,\n [suit('item','disabled')]: state.isLastPage\n }\"\n v-if=\"showNext\"\n >\n <slot\n name=\"next\"\n :createURL=\"() => state.createURL(state.currentRefinement + 1)\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(state.currentRefinement + 1)\"\n >\n <template v-if=\"!state.isLastPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Next\"\n :href=\"state.createURL(state.currentRefinement + 1)\"\n @click.prevent=\"refine(state.currentRefinement + 1)\"\n >›</a>\n </template>\n <template v-else>\n <span\n :class=\"suit('link')\"\n aria-label=\"Next\"\n >›</span>\n </template>\n </slot>\n </li>\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item','lastPage')]: true,\n [suit('item','disabled')]: state.isLastPage,\n }\"\n v-if=\"showLast\"\n >\n <slot\n name=\"last\"\n :createURL=\"() => state.createURL(state.nbPages - 1)\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(state.nbPages - 1)\"\n >\n <template v-if=\"!state.isLastPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Last\"\n :href=\"state.createURL(state.nbPages - 1)\"\n @click.prevent=\"refine(state.nbPages - 1)\"\n >››</a>\n </template>\n <template v-else>\n <span\n :class=\"suit('link')\"\n aria-label=\"Last\"\n >››</span>\n </template>\n </slot>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectPagination } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisPagination',\n mixins: [\n createSuitMixin({ name: 'Pagination' }),\n createWidgetMixin(\n {\n connector: connectPagination,\n },\n {\n $$widgetType: 'ais.pagination',\n }\n ),\n createPanelConsumerMixin({\n mapStateToCanRefine: state => state.nbPages > 1,\n }),\n ],\n props: {\n padding: {\n type: Number,\n default: undefined,\n validator(value) {\n return value > 0;\n },\n },\n totalPages: {\n type: Number,\n default: undefined,\n validator(value) {\n return value > 0;\n },\n },\n showFirst: {\n type: Boolean,\n default: true,\n },\n showLast: {\n type: Boolean,\n default: true,\n },\n showNext: {\n type: Boolean,\n default: true,\n },\n showPrevious: {\n type: Boolean,\n default: true,\n },\n },\n computed: {\n widgetParams() {\n return {\n padding: this.padding,\n totalPages: this.totalPages,\n };\n },\n },\n emits: ['page-change'],\n methods: {\n refine(page) {\n const p = Math.min(Math.max(page, 0), this.state.nbPages - 1);\n this.state.refine(p);\n // TODO: do this in a general way\n this.$emit('page-change', p);\n },\n },\n};\n</script>\n"],"names":["name","mixins","createSuitMixin","createWidgetMixin","connector","connectPagination","$$widgetType","createPanelConsumerMixin","mapStateToCanRefine","state","nbPages","props","padding","type","Number","default","undefined","validator","value","totalPages","showFirst","Boolean","showLast","showNext","showPrevious","computed","widgetParams","this","emits","methods","refine","page","p","Math","min","max","$emit"],"mappings":"oQA6Ke,CACbA,KAAM,gBACNC,OAAQ,CACNC,EAAgB,CAAEF,KAAM,eACxBG,EACE,CACEC,UAAWC,GAEb,CACEC,aAAc,mBAGlBC,EAAyB,CACvBC,6BAAqBC,UAASA,EAAMC,QAAU,MAGlDC,MAAO,CACLC,QAAS,CACPC,KAAMC,OACNC,aAASC,EACTC,mBAAUC,UACDA,EAAQ,IAGnBC,WAAY,CACVN,KAAMC,OACNC,aAASC,EACTC,mBAAUC,UACDA,EAAQ,IAGnBE,UAAW,CACTP,KAAMQ,QACNN,SAAS,GAEXO,SAAU,CACRT,KAAMQ,QACNN,SAAS,GAEXQ,SAAU,CACRV,KAAMQ,QACNN,SAAS,GAEXS,aAAc,CACZX,KAAMQ,QACNN,SAAS,IAGbU,SAAU,CACRC,8BACS,CACLd,QAASe,KAAKf,QACdO,WAAYQ,KAAKR,cAIvBS,MAAO,CAAC,eACRC,QAAS,CACPC,gBAAOC,OACCC,EAAIC,KAAKC,IAAID,KAAKE,IAAIJ,EAAM,GAAIJ,KAAKlB,MAAMC,QAAU,QACtDD,MAAMqB,OAAOE,QAEbI,MAAM,cAAeJ"}
@@ -1,2 +1,2 @@
1
- import{openBlock as e,createBlock as t,renderSlot as s,createVNode as i,withModifiers as a,createCommentVNode as n,Fragment as r,renderList as u,toDisplayString as c}from"vue";function f(f,l,o,g,P,L){return f.state?(e(),t("div",{key:0,class:f.suit()},[s(f.$slots,"default",{refine:L.refine,createURL:f.state.createURL,currentRefinement:f.state.currentRefinement,nbHits:f.state.nbHits,nbPages:f.state.nbPages,pages:f.state.pages,isFirstPage:f.state.isFirstPage,isLastPage:f.state.isLastPage},function(){var g,P,k,m;return[i("ul",{class:f.suit("list")},[o.showFirst?(e(),t("li",{key:0,class:(g={},g[f.suit("item")]=!0,g[f.suit("item","firstPage")]=!0,g[f.suit("item","disabled")]=f.state.isFirstPage,g)},[s(f.$slots,"first",{createURL:function(){return f.state.createURL(0)},isFirstPage:f.state.isFirstPage,refine:function(){return L.refine(0)}},function(){return[f.state.isFirstPage?(e(),t("span",{key:1,class:f.suit("link"),"aria-label":"First"},"‹‹",2)):(e(),t("a",{key:0,class:f.suit("link"),"aria-label":"First",href:f.state.createURL(0),onClick:l[1]||(l[1]=a(function(e){return L.refine(0)},["prevent"]))},"‹‹",10,["href"]))]})],2)):n("v-if",!0),o.showPrevious?(e(),t("li",{key:1,class:(P={},P[f.suit("item")]=!0,P[f.suit("item","previousPage")]=!0,P[f.suit("item","disabled")]=f.state.isFirstPage,P)},[s(f.$slots,"previous",{createURL:function(){return f.state.createURL(f.state.currentRefinement-1)},isFirstPage:f.state.isFirstPage,refine:function(){return L.refine(f.state.currentRefinement-1)}},function(){return[f.state.isFirstPage?(e(),t("span",{key:1,class:f.suit("link"),"aria-label":"Previous"},"‹",2)):(e(),t("a",{key:0,class:f.suit("link"),"aria-label":"Previous",href:f.state.createURL(f.state.currentRefinement-1),onClick:l[2]||(l[2]=a(function(e){return L.refine(f.state.currentRefinement-1)},["prevent"]))},"‹",10,["href"]))]})],2)):n("v-if",!0),(e(!0),t(r,null,u(f.state.pages,function(n){var r;return e(),t("li",{class:(r={},r[f.suit("item")]=!0,r[f.suit("item","selected")]=f.state.currentRefinement===n,r),key:n},[s(f.$slots,"item",{page:n,createURL:function(){return f.state.createURL(n)},isFirstPage:f.state.isFirstPage,isLastPage:f.state.isLastPage,refine:function(){return L.refine(n)}},function(){return[i("a",{class:f.suit("link"),href:f.state.createURL(n),onClick:a(function(e){return L.refine(n)},["prevent"])},c(n+1),11,["href","onClick"])]})],2)}),128)),o.showNext?(e(),t("li",{key:2,class:(k={},k[f.suit("item")]=!0,k[f.suit("item","nextPage")]=!0,k[f.suit("item","disabled")]=f.state.isLastPage,k)},[s(f.$slots,"next",{createURL:function(){return f.state.createURL(f.state.currentRefinement+1)},isLastPage:f.state.isLastPage,refine:function(){return L.refine(f.state.currentRefinement+1)}},function(){return[f.state.isLastPage?(e(),t("span",{key:1,class:f.suit("link"),"aria-label":"Next"},"›",2)):(e(),t("a",{key:0,class:f.suit("link"),"aria-label":"Next",href:f.state.createURL(f.state.currentRefinement+1),onClick:l[3]||(l[3]=a(function(e){return L.refine(f.state.currentRefinement+1)},["prevent"]))},"›",10,["href"]))]})],2)):n("v-if",!0),o.showLast?(e(),t("li",{key:3,class:(m={},m[f.suit("item")]=!0,m[f.suit("item","lastPage")]=!0,m[f.suit("item","disabled")]=f.state.isLastPage,m)},[s(f.$slots,"last",{createURL:function(){return f.state.createURL(f.state.nbPages-1)},isLastPage:f.state.isLastPage,refine:function(){return L.refine(f.state.nbPages-1)}},function(){return[f.state.isLastPage?(e(),t("span",{key:1,class:f.suit("link"),"aria-label":"Last"},"››",2)):(e(),t("a",{key:0,class:f.suit("link"),"aria-label":"Last",href:f.state.createURL(f.state.nbPages-1),onClick:l[4]||(l[4]=a(function(e){return L.refine(f.state.nbPages-1)},["prevent"]))},"››",10,["href"]))]})],2)):n("v-if",!0)],2)]})],2)):n("v-if",!0)}export{f as render};
1
+ import{openBlock as e,createBlock as t,renderSlot as s,createVNode as i,withModifiers as a,createCommentVNode as n,Fragment as r,renderList as u,toDisplayString as c}from"vue";function f(f,l,o,g,P,L){return f.state?(e(),t("div",{key:0,class:f.suit()},[s(f.$slots,"default",{refine:L.refine,createURL:f.state.createURL,currentRefinement:f.state.currentRefinement,nbHits:f.state.nbHits,nbPages:f.state.nbPages,pages:f.state.pages,isFirstPage:f.state.isFirstPage,isLastPage:f.state.isLastPage},function(){var g,P,k,m;return[i("ul",{class:f.suit("list")},[o.showFirst?(e(),t("li",{key:0,class:(g={},g[f.suit("item")]=!0,g[f.suit("item","firstPage")]=!0,g[f.suit("item","disabled")]=f.state.isFirstPage,g)},[s(f.$slots,"first",{createURL:function(){return f.state.createURL(0)},isFirstPage:f.state.isFirstPage,refine:function(){return L.refine(0)}},function(){return[f.state.isFirstPage?(e(),t("span",{key:1,class:f.suit("link"),"aria-label":"First"},"‹‹",2)):(e(),t("a",{key:0,class:f.suit("link"),"aria-label":"First",href:f.state.createURL(0),onClick:l[1]||(l[1]=a(function(e){return L.refine(0)},["prevent"]))},"‹‹",10,["href"]))]})],2)):n("v-if",!0),o.showPrevious?(e(),t("li",{key:1,class:(P={},P[f.suit("item")]=!0,P[f.suit("item","previousPage")]=!0,P[f.suit("item","disabled")]=f.state.isFirstPage,P)},[s(f.$slots,"previous",{createURL:function(){return f.state.createURL(f.state.currentRefinement-1)},isFirstPage:f.state.isFirstPage,refine:function(){return L.refine(f.state.currentRefinement-1)}},function(){return[f.state.isFirstPage?(e(),t("span",{key:1,class:f.suit("link"),"aria-label":"Previous"},"‹",2)):(e(),t("a",{key:0,class:f.suit("link"),"aria-label":"Previous",href:f.state.createURL(f.state.currentRefinement-1),onClick:l[2]||(l[2]=a(function(e){return L.refine(f.state.currentRefinement-1)},["prevent"]))},"‹",10,["href"]))]})],2)):n("v-if",!0),(e(!0),t(r,null,u(f.state.pages,function(n){var r;return e(),t("li",{class:(r={},r[f.suit("item")]=!0,r[f.suit("item","page")]=!0,r[f.suit("item","selected")]=f.state.currentRefinement===n,r),key:n},[s(f.$slots,"item",{page:n,createURL:function(){return f.state.createURL(n)},isFirstPage:f.state.isFirstPage,isLastPage:f.state.isLastPage,refine:function(){return L.refine(n)}},function(){return[i("a",{class:f.suit("link"),href:f.state.createURL(n),onClick:a(function(e){return L.refine(n)},["prevent"])},c(n+1),11,["href","onClick"])]})],2)}),128)),o.showNext?(e(),t("li",{key:2,class:(k={},k[f.suit("item")]=!0,k[f.suit("item","nextPage")]=!0,k[f.suit("item","disabled")]=f.state.isLastPage,k)},[s(f.$slots,"next",{createURL:function(){return f.state.createURL(f.state.currentRefinement+1)},isLastPage:f.state.isLastPage,refine:function(){return L.refine(f.state.currentRefinement+1)}},function(){return[f.state.isLastPage?(e(),t("span",{key:1,class:f.suit("link"),"aria-label":"Next"},"›",2)):(e(),t("a",{key:0,class:f.suit("link"),"aria-label":"Next",href:f.state.createURL(f.state.currentRefinement+1),onClick:l[3]||(l[3]=a(function(e){return L.refine(f.state.currentRefinement+1)},["prevent"]))},"›",10,["href"]))]})],2)):n("v-if",!0),o.showLast?(e(),t("li",{key:3,class:(m={},m[f.suit("item")]=!0,m[f.suit("item","lastPage")]=!0,m[f.suit("item","disabled")]=f.state.isLastPage,m)},[s(f.$slots,"last",{createURL:function(){return f.state.createURL(f.state.nbPages-1)},isLastPage:f.state.isLastPage,refine:function(){return L.refine(f.state.nbPages-1)}},function(){return[f.state.isLastPage?(e(),t("span",{key:1,class:f.suit("link"),"aria-label":"Last"},"››",2)):(e(),t("a",{key:0,class:f.suit("link"),"aria-label":"Last",href:f.state.createURL(f.state.nbPages-1),onClick:l[4]||(l[4]=a(function(e){return L.refine(f.state.nbPages-1)},["prevent"]))},"››",10,["href"]))]})],2)):n("v-if",!0)],2)]})],2)):n("v-if",!0)}export{f as render};
2
2
  //# sourceMappingURL=Pagination.vue_vue&type=template&id=849a166c&lang.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.vue_vue&type=template&id=849a166c&lang.js","sources":["../../../../src/components/Pagination.vue?vue&type=template&id=849a166c&lang.js"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"suit()\"\n >\n <slot\n :refine=\"refine\"\n :createURL=\"state.createURL\"\n :current-refinement=\"state.currentRefinement\"\n :nb-hits=\"state.nbHits\"\n :nb-pages=\"state.nbPages\"\n :pages=\"state.pages\"\n :is-first-page=\"state.isFirstPage\"\n :is-last-page=\"state.isLastPage\"\n >\n <ul :class=\"suit('list')\">\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'firstPage')]: true,\n [suit('item', 'disabled')]: state.isFirstPage,\n }\"\n v-if=\"showFirst\"\n >\n <slot\n name=\"first\"\n :createURL=\"() => state.createURL(0)\"\n :is-first-page=\"state.isFirstPage\"\n :refine=\"() => refine(0)\"\n >\n <template v-if=\"!state.isFirstPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"First\"\n :href=\"state.createURL(0)\"\n @click.prevent=\"refine(0)\"\n >‹‹</a>\n </template>\n <template v-else>\n <span\n :class=\"suit('link')\"\n aria-label=\"First\"\n >‹‹</span>\n </template>\n </slot>\n </li>\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'previousPage')]: true,\n [suit('item', 'disabled')]: state.isFirstPage,\n }\"\n v-if=\"showPrevious\"\n >\n <slot\n name=\"previous\"\n :createURL=\"() => state.createURL(state.currentRefinement - 1)\"\n :is-first-page=\"state.isFirstPage\"\n :refine=\"() => refine(state.currentRefinement - 1)\"\n >\n <template v-if=\"!state.isFirstPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Previous\"\n :href=\"state.createURL(state.currentRefinement - 1)\"\n @click.prevent=\"refine(state.currentRefinement - 1)\"\n >‹</a>\n </template>\n <template v-else>\n <span\n :class=\"suit('link')\"\n aria-label=\"Previous\"\n >‹</span>\n </template>\n </slot>\n </li>\n\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'selected')]: state.currentRefinement === page\n }\"\n v-for=\"page in state.pages\"\n :key=\"page\"\n >\n <slot\n name=\"item\"\n :page=\"page\"\n :createURL=\"() => state.createURL(page)\"\n :is-first-page=\"state.isFirstPage\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(page)\"\n >\n <a\n :class=\"suit('link')\"\n :href=\"state.createURL(page)\"\n @click.prevent=\"refine(page)\"\n >{{ page + 1 }}</a>\n </slot>\n </li>\n\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item','nextPage')]: true,\n [suit('item','disabled')]: state.isLastPage\n }\"\n v-if=\"showNext\"\n >\n <slot\n name=\"next\"\n :createURL=\"() => state.createURL(state.currentRefinement + 1)\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(state.currentRefinement + 1)\"\n >\n <template v-if=\"!state.isLastPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Next\"\n :href=\"state.createURL(state.currentRefinement + 1)\"\n @click.prevent=\"refine(state.currentRefinement + 1)\"\n >›</a>\n </template>\n <template v-else>\n <span\n :class=\"suit('link')\"\n aria-label=\"Next\"\n >›</span>\n </template>\n </slot>\n </li>\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item','lastPage')]: true,\n [suit('item','disabled')]: state.isLastPage,\n }\"\n v-if=\"showLast\"\n >\n <slot\n name=\"last\"\n :createURL=\"() => state.createURL(state.nbPages - 1)\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(state.nbPages - 1)\"\n >\n <template v-if=\"!state.isLastPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Last\"\n :href=\"state.createURL(state.nbPages - 1)\"\n @click.prevent=\"refine(state.nbPages - 1)\"\n >››</a>\n </template>\n <template v-else>\n <span\n :class=\"suit('link')\"\n aria-label=\"Last\"\n >››</span>\n </template>\n </slot>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectPagination } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisPagination',\n mixins: [\n createSuitMixin({ name: 'Pagination' }),\n createWidgetMixin({ connector: connectPagination }),\n createPanelConsumerMixin({\n mapStateToCanRefine: state => state.nbPages > 1,\n }),\n ],\n props: {\n padding: {\n type: Number,\n default: undefined,\n validator(value) {\n return value > 0;\n },\n },\n totalPages: {\n type: Number,\n default: undefined,\n validator(value) {\n return value > 0;\n },\n },\n showFirst: {\n type: Boolean,\n default: true,\n },\n showLast: {\n type: Boolean,\n default: true,\n },\n showNext: {\n type: Boolean,\n default: true,\n },\n showPrevious: {\n type: Boolean,\n default: true,\n },\n },\n computed: {\n widgetParams() {\n return {\n padding: this.padding,\n totalPages: this.totalPages,\n };\n },\n },\n emits: ['page-change'],\n methods: {\n refine(page) {\n const p = Math.min(Math.max(page, 0), this.state.nbPages - 1);\n this.state.refine(p);\n // TODO: do this in a general way\n this.$emit('page-change', p);\n },\n },\n};\n</script>\n"],"names":["_ctx","_createBlock","class","_renderSlot","refine","$options","createURL","currentRefinement","nbHits","nbPages","pages","isFirstPage","isLastPage","_createVNode","$props","href","onClick","page","key"],"mappings":"+MAEUA,aADRC,eAEGC,MAAOF,WAERG,sBACGC,OAAQC,SACRC,UAAWN,QAAMM,UACjBC,kBAAoBP,QAAMO,kBAC1BC,OAASR,QAAMQ,OACfC,QAAUT,QAAMS,QAChBC,MAAOV,QAAMU,MACbC,YAAeX,QAAMW,YACrBC,WAAcZ,QAAMY,0CAErBC,QAAKX,MAAOF,iBAOFc,iBANRb,cACGC,wHAODC,oBAEGG,4BAAiBN,QAAMM,cACvBK,YAAeX,QAAMW,YACrBP,yBAAcC,gCAEEL,QAAMW,iBASrBV,gBACGC,MAAOF,4BACG,SACZ,cAXDC,aACGC,MAAOF,4BACG,QACVe,KAAMf,QAAMM,aACZU,yCAAeX,4BACjB,wCAgBCS,oBANRb,cACGC,2HAODC,uBAEGG,4BAAiBN,QAAMM,UAAUN,QAAMO,sBACvCI,YAAeX,QAAMW,YACrBP,yBAAcC,SAAOL,QAAMO,yCAEXP,QAAMW,iBASrBV,gBACGC,MAAOF,4BACG,YACZ,aAXDC,aACGC,MAAOF,4BACG,WACVe,KAAMf,QAAMM,UAAUN,QAAMO,qBAC5BS,yCAAeX,SAAOL,QAAMO,qCAC9B,8CAWPN,WAKiBD,QAAMU,eAAdO,oBALThB,QACGC,+FAKAgB,IAAKD,IAENd,mBAEGc,KAAMA,EACNX,4BAAiBN,QAAMM,UAAUW,IACjCN,YAAeX,QAAMW,YACrBC,WAAcZ,QAAMY,WACpBR,yBAAcC,SAAOY,uBAEtBJ,OACGX,MAAOF,eACPe,KAAMf,QAAMM,UAAUW,GACtBD,6BAAeX,SAAOY,oBACrBA,2CAUAH,gBANRb,cACGC,sHAODC,mBAEGG,4BAAiBN,QAAMM,UAAUN,QAAMO,sBACvCK,WAAcZ,QAAMY,WACpBR,yBAAcC,SAAOL,QAAMO,yCAEXP,QAAMY,gBASrBX,gBACGC,MAAOF,4BACG,QACZ,aAXDC,aACGC,MAAOF,4BACG,OACVe,KAAMf,QAAMM,UAAUN,QAAMO,qBAC5BS,yCAAeX,SAAOL,QAAMO,qCAC9B,uCAgBCO,gBANRb,cACGC,sHAODC,mBAEGG,4BAAiBN,QAAMM,UAAUN,QAAMS,YACvCG,WAAcZ,QAAMY,WACpBR,yBAAcC,SAAOL,QAAMS,+BAEXT,QAAMY,gBASrBX,gBACGC,MAAOF,4BACG,QACZ,cAXDC,aACGC,MAAOF,4BACG,OACVe,KAAMf,QAAMM,UAAUN,QAAMS,WAC5BO,yCAAeX,SAAOL,QAAMS,2BAC9B"}
1
+ {"version":3,"file":"Pagination.vue_vue&type=template&id=849a166c&lang.js","sources":["../../../../src/components/Pagination.vue?vue&type=template&id=849a166c&lang.js"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"suit()\"\n >\n <slot\n :refine=\"refine\"\n :createURL=\"state.createURL\"\n :current-refinement=\"state.currentRefinement\"\n :nb-hits=\"state.nbHits\"\n :nb-pages=\"state.nbPages\"\n :pages=\"state.pages\"\n :is-first-page=\"state.isFirstPage\"\n :is-last-page=\"state.isLastPage\"\n >\n <ul :class=\"suit('list')\">\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'firstPage')]: true,\n [suit('item', 'disabled')]: state.isFirstPage,\n }\"\n v-if=\"showFirst\"\n >\n <slot\n name=\"first\"\n :createURL=\"() => state.createURL(0)\"\n :is-first-page=\"state.isFirstPage\"\n :refine=\"() => refine(0)\"\n >\n <template v-if=\"!state.isFirstPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"First\"\n :href=\"state.createURL(0)\"\n @click.prevent=\"refine(0)\"\n >‹‹</a>\n </template>\n <template v-else>\n <span\n :class=\"suit('link')\"\n aria-label=\"First\"\n >‹‹</span>\n </template>\n </slot>\n </li>\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'previousPage')]: true,\n [suit('item', 'disabled')]: state.isFirstPage,\n }\"\n v-if=\"showPrevious\"\n >\n <slot\n name=\"previous\"\n :createURL=\"() => state.createURL(state.currentRefinement - 1)\"\n :is-first-page=\"state.isFirstPage\"\n :refine=\"() => refine(state.currentRefinement - 1)\"\n >\n <template v-if=\"!state.isFirstPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Previous\"\n :href=\"state.createURL(state.currentRefinement - 1)\"\n @click.prevent=\"refine(state.currentRefinement - 1)\"\n >‹</a>\n </template>\n <template v-else>\n <span\n :class=\"suit('link')\"\n aria-label=\"Previous\"\n >‹</span>\n </template>\n </slot>\n </li>\n\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item', 'page')]: true,\n [suit('item', 'selected')]: state.currentRefinement === page\n }\"\n v-for=\"page in state.pages\"\n :key=\"page\"\n >\n <slot\n name=\"item\"\n :page=\"page\"\n :createURL=\"() => state.createURL(page)\"\n :is-first-page=\"state.isFirstPage\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(page)\"\n >\n <a\n :class=\"suit('link')\"\n :href=\"state.createURL(page)\"\n @click.prevent=\"refine(page)\"\n >{{ page + 1 }}</a>\n </slot>\n </li>\n\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item','nextPage')]: true,\n [suit('item','disabled')]: state.isLastPage\n }\"\n v-if=\"showNext\"\n >\n <slot\n name=\"next\"\n :createURL=\"() => state.createURL(state.currentRefinement + 1)\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(state.currentRefinement + 1)\"\n >\n <template v-if=\"!state.isLastPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Next\"\n :href=\"state.createURL(state.currentRefinement + 1)\"\n @click.prevent=\"refine(state.currentRefinement + 1)\"\n >›</a>\n </template>\n <template v-else>\n <span\n :class=\"suit('link')\"\n aria-label=\"Next\"\n >›</span>\n </template>\n </slot>\n </li>\n <li\n :class=\"{\n [suit('item')]: true,\n [suit('item','lastPage')]: true,\n [suit('item','disabled')]: state.isLastPage,\n }\"\n v-if=\"showLast\"\n >\n <slot\n name=\"last\"\n :createURL=\"() => state.createURL(state.nbPages - 1)\"\n :is-last-page=\"state.isLastPage\"\n :refine=\"() => refine(state.nbPages - 1)\"\n >\n <template v-if=\"!state.isLastPage\">\n <a\n :class=\"suit('link')\"\n aria-label=\"Last\"\n :href=\"state.createURL(state.nbPages - 1)\"\n @click.prevent=\"refine(state.nbPages - 1)\"\n >››</a>\n </template>\n <template v-else>\n <span\n :class=\"suit('link')\"\n aria-label=\"Last\"\n >››</span>\n </template>\n </slot>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectPagination } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisPagination',\n mixins: [\n createSuitMixin({ name: 'Pagination' }),\n createWidgetMixin(\n {\n connector: connectPagination,\n },\n {\n $$widgetType: 'ais.pagination',\n }\n ),\n createPanelConsumerMixin({\n mapStateToCanRefine: state => state.nbPages > 1,\n }),\n ],\n props: {\n padding: {\n type: Number,\n default: undefined,\n validator(value) {\n return value > 0;\n },\n },\n totalPages: {\n type: Number,\n default: undefined,\n validator(value) {\n return value > 0;\n },\n },\n showFirst: {\n type: Boolean,\n default: true,\n },\n showLast: {\n type: Boolean,\n default: true,\n },\n showNext: {\n type: Boolean,\n default: true,\n },\n showPrevious: {\n type: Boolean,\n default: true,\n },\n },\n computed: {\n widgetParams() {\n return {\n padding: this.padding,\n totalPages: this.totalPages,\n };\n },\n },\n emits: ['page-change'],\n methods: {\n refine(page) {\n const p = Math.min(Math.max(page, 0), this.state.nbPages - 1);\n this.state.refine(p);\n // TODO: do this in a general way\n this.$emit('page-change', p);\n },\n },\n};\n</script>\n"],"names":["_ctx","_createBlock","class","_renderSlot","refine","$options","createURL","currentRefinement","nbHits","nbPages","pages","isFirstPage","isLastPage","_createVNode","$props","href","onClick","page","key"],"mappings":"+MAEUA,aADRC,eAEGC,MAAOF,WAERG,sBACGC,OAAQC,SACRC,UAAWN,QAAMM,UACjBC,kBAAoBP,QAAMO,kBAC1BC,OAASR,QAAMQ,OACfC,QAAUT,QAAMS,QAChBC,MAAOV,QAAMU,MACbC,YAAeX,QAAMW,YACrBC,WAAcZ,QAAMY,0CAErBC,QAAKX,MAAOF,iBAOFc,iBANRb,cACGC,wHAODC,oBAEGG,4BAAiBN,QAAMM,cACvBK,YAAeX,QAAMW,YACrBP,yBAAcC,gCAEEL,QAAMW,iBASrBV,gBACGC,MAAOF,4BACG,SACZ,cAXDC,aACGC,MAAOF,4BACG,QACVe,KAAMf,QAAMM,aACZU,yCAAeX,4BACjB,wCAgBCS,oBANRb,cACGC,2HAODC,uBAEGG,4BAAiBN,QAAMM,UAAUN,QAAMO,sBACvCI,YAAeX,QAAMW,YACrBP,yBAAcC,SAAOL,QAAMO,yCAEXP,QAAMW,iBASrBV,gBACGC,MAAOF,4BACG,YACZ,aAXDC,aACGC,MAAOF,4BACG,WACVe,KAAMf,QAAMM,UAAUN,QAAMO,qBAC5BS,yCAAeX,SAAOL,QAAMO,qCAC9B,8CAWPN,WAMiBD,QAAMU,eAAdO,oBANThB,QACGC,2HAMAgB,IAAKD,IAENd,mBAEGc,KAAMA,EACNX,4BAAiBN,QAAMM,UAAUW,IACjCN,YAAeX,QAAMW,YACrBC,WAAcZ,QAAMY,WACpBR,yBAAcC,SAAOY,uBAEtBJ,OACGX,MAAOF,eACPe,KAAMf,QAAMM,UAAUW,GACtBD,6BAAeX,SAAOY,oBACrBA,2CAUAH,gBANRb,cACGC,sHAODC,mBAEGG,4BAAiBN,QAAMM,UAAUN,QAAMO,sBACvCK,WAAcZ,QAAMY,WACpBR,yBAAcC,SAAOL,QAAMO,yCAEXP,QAAMY,gBASrBX,gBACGC,MAAOF,4BACG,QACZ,aAXDC,aACGC,MAAOF,4BACG,OACVe,KAAMf,QAAMM,UAAUN,QAAMO,qBAC5BS,yCAAeX,SAAOL,QAAMO,qCAC9B,uCAgBCO,gBANRb,cACGC,sHAODC,mBAEGG,4BAAiBN,QAAMM,UAAUN,QAAMS,YACvCG,WAAcZ,QAAMY,WACpBR,yBAAcC,SAAOL,QAAMS,+BAEXT,QAAMY,gBASrBX,gBACGC,MAAOF,4BACG,QACZ,cAXDC,aACGC,MAAOF,4BACG,OACVe,KAAMf,QAAMM,UAAUN,QAAMS,WAC5BO,yCAAeX,SAAOL,QAAMS,2BAC9B"}
@@ -1,2 +1,2 @@
1
- import{createSuitMixin as t}from"../mixins/suit.js";import{createWidgetMixin as e}from"../mixins/widget.js";import{connectQueryRules as r}from"instantsearch.js/es/connectors/index.js";export default{name:"AisQueryRuleContext",mixins:[t({name:"QueryRuleContext"}),e({connector:r})],props:{trackedFilters:{type:Object,required:!0},transformRuleContexts:{type:Function,required:!1,default:void 0}},computed:{widgetParams:function(){return{trackedFilters:this.trackedFilters,transformRuleContexts:this.transformRuleContexts}}},render:function(){return null}};
1
+ import{createSuitMixin as e}from"../mixins/suit.js";import{createWidgetMixin as t}from"../mixins/widget.js";import{connectQueryRules as r}from"instantsearch.js/es/connectors/index.js";export default{name:"AisQueryRuleContext",mixins:[e({name:"QueryRuleContext"}),t({connector:r},{$$widgetType:"ais.queryRuleContext"})],props:{trackedFilters:{type:Object,required:!0},transformRuleContexts:{type:Function,required:!1,default:void 0}},computed:{widgetParams:function(){return{trackedFilters:this.trackedFilters,transformRuleContexts:this.transformRuleContexts}}},render:function(){return null}};
2
2
  //# sourceMappingURL=QueryRuleContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueryRuleContext.js","sources":["../../../../src/components/QueryRuleContext.js"],"sourcesContent":["import { createSuitMixin } from '../mixins/suit';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { connectQueryRules } from 'instantsearch.js/es/connectors';\n\nexport default {\n name: 'AisQueryRuleContext',\n mixins: [\n createSuitMixin({ name: 'QueryRuleContext' }),\n createWidgetMixin({\n connector: connectQueryRules,\n }),\n ],\n props: {\n trackedFilters: {\n type: Object,\n required: true,\n },\n transformRuleContexts: {\n type: Function,\n required: false,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n trackedFilters: this.trackedFilters,\n transformRuleContexts: this.transformRuleContexts,\n };\n },\n },\n render() {\n return null;\n },\n};\n"],"names":["name","mixins","createSuitMixin","createWidgetMixin","connector","connectQueryRules","props","trackedFilters","type","Object","required","transformRuleContexts","Function","default","undefined","computed","widgetParams","this","render"],"mappings":"sMAIe,CACbA,KAAM,sBACNC,OAAQ,CACNC,EAAgB,CAAEF,KAAM,qBACxBG,EAAkB,CAChBC,UAAWC,KAGfC,MAAO,CACLC,eAAgB,CACdC,KAAMC,OACNC,UAAU,GAEZC,sBAAuB,CACrBH,KAAMI,SACNF,UAAU,EACVG,aAASC,IAGbC,SAAU,CACRC,8BACS,CACLT,eAAgBU,KAAKV,eACrBI,sBAAuBM,KAAKN,yBAIlCO,yBACS"}
1
+ {"version":3,"file":"QueryRuleContext.js","sources":["../../../../src/components/QueryRuleContext.js"],"sourcesContent":["import { createSuitMixin } from '../mixins/suit';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { connectQueryRules } from 'instantsearch.js/es/connectors';\n\nexport default {\n name: 'AisQueryRuleContext',\n mixins: [\n createSuitMixin({ name: 'QueryRuleContext' }),\n createWidgetMixin(\n {\n connector: connectQueryRules,\n },\n {\n $$widgetType: 'ais.queryRuleContext',\n }\n ),\n ],\n props: {\n trackedFilters: {\n type: Object,\n required: true,\n },\n transformRuleContexts: {\n type: Function,\n required: false,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n trackedFilters: this.trackedFilters,\n transformRuleContexts: this.transformRuleContexts,\n };\n },\n },\n render() {\n return null;\n },\n};\n"],"names":["name","mixins","createSuitMixin","createWidgetMixin","connector","connectQueryRules","$$widgetType","props","trackedFilters","type","Object","required","transformRuleContexts","Function","default","undefined","computed","widgetParams","this","render"],"mappings":"sMAIe,CACbA,KAAM,sBACNC,OAAQ,CACNC,EAAgB,CAAEF,KAAM,qBACxBG,EACE,CACEC,UAAWC,GAEb,CACEC,aAAc,0BAIpBC,MAAO,CACLC,eAAgB,CACdC,KAAMC,OACNC,UAAU,GAEZC,sBAAuB,CACrBH,KAAMI,SACNF,UAAU,EACVG,aAASC,IAGbC,SAAU,CACRC,8BACS,CACLT,eAAgBU,KAAKV,eACrBI,sBAAuBM,KAAKN,yBAIlCO,yBACS"}
@@ -1,2 +1,2 @@
1
- import{createSuitMixin as t}from"../mixins/suit.js";import{createWidgetMixin as e}from"../mixins/widget.js";import{connectQueryRules as r}from"instantsearch.js/es/connectors/index.js";export default{name:"AisQueryRuleCustomData",mixins:[t({name:"QueryRuleCustomData"}),e({connector:r})],props:{transformItems:{type:Function,required:!1,default:void 0}},computed:{widgetParams:function(){return{transformItems:this.transformItems}}}};
1
+ import{createSuitMixin as t}from"../mixins/suit.js";import{createWidgetMixin as e}from"../mixins/widget.js";import{connectQueryRules as s}from"instantsearch.js/es/connectors/index.js";export default{name:"AisQueryRuleCustomData",mixins:[t({name:"QueryRuleCustomData"}),e({connector:s},{$$widgetType:"ais.queryRuleCustomData"})],props:{transformItems:{type:Function,required:!1,default:void 0}},computed:{widgetParams:function(){return{transformItems:this.transformItems}}}};
2
2
  //# sourceMappingURL=QueryRuleCustomData.vue_vue&type=script&lang.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueryRuleCustomData.vue_vue&type=script&lang.js","sources":["../../../../src/components/QueryRuleCustomData.vue"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"suit()\"\n >\n <slot :items=\"state.items\">\n <div\n v-for=\"(item, key) in state.items\"\n :key=\"key\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n >\n <pre>{{ item }}</pre>\n </slot>\n </div>\n </slot>\n </div>\n</template>\n\n<script>\nimport { createSuitMixin } from '../mixins/suit';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { connectQueryRules } from 'instantsearch.js/es/connectors';\n\nexport default {\n name: 'AisQueryRuleCustomData',\n mixins: [\n createSuitMixin({ name: 'QueryRuleCustomData' }),\n createWidgetMixin({\n connector: connectQueryRules,\n }),\n ],\n props: {\n transformItems: {\n type: Function,\n required: false,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n transformItems: this.transformItems,\n };\n },\n },\n};\n</script>\n"],"names":["name","mixins","createSuitMixin","createWidgetMixin","connector","connectQueryRules","props","transformItems","type","Function","required","default","undefined","computed","widgetParams","this"],"mappings":"sMA0Be,CACbA,KAAM,yBACNC,OAAQ,CACNC,EAAgB,CAAEF,KAAM,wBACxBG,EAAkB,CAChBC,UAAWC,KAGfC,MAAO,CACLC,eAAgB,CACdC,KAAMC,SACNC,UAAU,EACVC,aAASC,IAGbC,SAAU,CACRC,8BACS,CACLP,eAAgBQ,KAAKR"}
1
+ {"version":3,"file":"QueryRuleCustomData.vue_vue&type=script&lang.js","sources":["../../../../src/components/QueryRuleCustomData.vue"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"suit()\"\n >\n <slot :items=\"state.items\">\n <div\n v-for=\"(item, key) in state.items\"\n :key=\"key\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n >\n <pre>{{ item }}</pre>\n </slot>\n </div>\n </slot>\n </div>\n</template>\n\n<script>\nimport { createSuitMixin } from '../mixins/suit';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { connectQueryRules } from 'instantsearch.js/es/connectors';\n\nexport default {\n name: 'AisQueryRuleCustomData',\n mixins: [\n createSuitMixin({ name: 'QueryRuleCustomData' }),\n createWidgetMixin(\n {\n connector: connectQueryRules,\n },\n {\n $$widgetType: 'ais.queryRuleCustomData',\n }\n ),\n ],\n props: {\n transformItems: {\n type: Function,\n required: false,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n transformItems: this.transformItems,\n };\n },\n },\n};\n</script>\n"],"names":["name","mixins","createSuitMixin","createWidgetMixin","connector","connectQueryRules","$$widgetType","props","transformItems","type","Function","required","default","undefined","computed","widgetParams","this"],"mappings":"sMA0Be,CACbA,KAAM,yBACNC,OAAQ,CACNC,EAAgB,CAAEF,KAAM,wBACxBG,EACE,CACEC,UAAWC,GAEb,CACEC,aAAc,6BAIpBC,MAAO,CACLC,eAAgB,CACdC,KAAMC,SACNC,UAAU,EACVC,aAASC,IAGbC,SAAU,CACRC,8BACS,CACLP,eAAgBQ,KAAKR"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryRuleCustomData.vue_vue&type=template&id=e4da0782&lang.js","sources":["../../../../src/components/QueryRuleCustomData.vue?vue&type=template&id=e4da0782&lang.js"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"suit()\"\n >\n <slot :items=\"state.items\">\n <div\n v-for=\"(item, key) in state.items\"\n :key=\"key\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n >\n <pre>{{ item }}</pre>\n </slot>\n </div>\n </slot>\n </div>\n</template>\n\n<script>\nimport { createSuitMixin } from '../mixins/suit';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { connectQueryRules } from 'instantsearch.js/es/connectors';\n\nexport default {\n name: 'AisQueryRuleCustomData',\n mixins: [\n createSuitMixin({ name: 'QueryRuleCustomData' }),\n createWidgetMixin({\n connector: connectQueryRules,\n }),\n ],\n props: {\n transformItems: {\n type: Function,\n required: false,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n transformItems: this.transformItems,\n };\n },\n },\n};\n</script>\n"],"names":["_ctx","_createBlock","class","_renderSlot","items","item","key","_createVNode"],"mappings":"4LAEUA,aADRC,eAEGC,MAAOF,WAERG,sBAAOC,MAAOJ,QAAMI,gCAClBH,WACwBD,QAAMI,eAApBC,EAAMC,cADhBL,SAEGK,IAAKA,IAENH,mBAEGE,KAAMA,qBAEPE,eAAQF"}
1
+ {"version":3,"file":"QueryRuleCustomData.vue_vue&type=template&id=e4da0782&lang.js","sources":["../../../../src/components/QueryRuleCustomData.vue?vue&type=template&id=e4da0782&lang.js"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"suit()\"\n >\n <slot :items=\"state.items\">\n <div\n v-for=\"(item, key) in state.items\"\n :key=\"key\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n >\n <pre>{{ item }}</pre>\n </slot>\n </div>\n </slot>\n </div>\n</template>\n\n<script>\nimport { createSuitMixin } from '../mixins/suit';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { connectQueryRules } from 'instantsearch.js/es/connectors';\n\nexport default {\n name: 'AisQueryRuleCustomData',\n mixins: [\n createSuitMixin({ name: 'QueryRuleCustomData' }),\n createWidgetMixin(\n {\n connector: connectQueryRules,\n },\n {\n $$widgetType: 'ais.queryRuleCustomData',\n }\n ),\n ],\n props: {\n transformItems: {\n type: Function,\n required: false,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n transformItems: this.transformItems,\n };\n },\n },\n};\n</script>\n"],"names":["_ctx","_createBlock","class","_renderSlot","items","item","key","_createVNode"],"mappings":"4LAEUA,aADRC,eAEGC,MAAOF,WAERG,sBAAOC,MAAOJ,QAAMI,gCAClBH,WACwBD,QAAMI,eAApBC,EAAMC,cADhBL,SAEGK,IAAKA,IAENH,mBAEGE,KAAMA,qBAEPE,eAAQF"}
@@ -1,2 +1,2 @@
1
- import{createSuitMixin as t}from"../mixins/suit.js";import{createWidgetMixin as i}from"../mixins/widget.js";import{connectRange as n}from"instantsearch.js/es/connectors/index.js";import{createPanelConsumerMixin as e}from"../mixins/panel.js";var r=function(t){return t&&Boolean(t.range)&&t.range.min!==t.range.max};export default{name:"AisRangeInput",mixins:[t({name:"RangeInput"}),i({connector:n}),e({mapStateToCanRefine:r})],props:{attribute:{type:String,required:!0},min:{type:Number,required:!1,default:void 0},max:{type:Number,required:!1,default:void 0},precision:{type:Number,required:!1,default:0}},data:function(){return{minInput:void 0,maxInput:void 0}},updated:function(){this.minInput=void 0,this.maxInput=void 0},computed:{widgetParams:function(){return{attribute:this.attribute,min:this.min,max:this.max,precision:this.precision}},canRefine:function(){return r(this.state)},step:function(){return 1/Math.pow(10,this.precision)},values:function(){var t=this.state.start,i=t[0],n=t[1],e=this.state.range,r=e.min,a=e.max;return{min:i!==-1/0&&i!==r?i:void 0,max:n!==1/0&&n!==a?n:void 0}}},methods:{pick:function(t,i){return null!=t?t:i},refine:function(t){var i=t.min,n=t.max;this.state.refine([i,n])}}};
1
+ import{createSuitMixin as t}from"../mixins/suit.js";import{createWidgetMixin as i}from"../mixins/widget.js";import{connectRange as n}from"instantsearch.js/es/connectors/index.js";import{createPanelConsumerMixin as e}from"../mixins/panel.js";var r=function(t){return t&&Boolean(t.range)&&t.range.min!==t.range.max};export default{name:"AisRangeInput",mixins:[t({name:"RangeInput"}),i({connector:n},{$$widgetType:"ais.rangeInput"}),e({mapStateToCanRefine:r})],props:{attribute:{type:String,required:!0},min:{type:Number,required:!1,default:void 0},max:{type:Number,required:!1,default:void 0},precision:{type:Number,required:!1,default:0}},data:function(){return{minInput:void 0,maxInput:void 0}},updated:function(){this.minInput=void 0,this.maxInput=void 0},computed:{widgetParams:function(){return{attribute:this.attribute,min:this.min,max:this.max,precision:this.precision}},canRefine:function(){return r(this.state)},step:function(){return 1/Math.pow(10,this.precision)},values:function(){var t=this.state.start,i=t[0],n=t[1],e=this.state.range,r=e.min,a=e.max;return{min:i!==-1/0&&i!==r?i:void 0,max:n!==1/0&&n!==a?n:void 0}}},methods:{pick:function(t,i){return null!=t?t:i},refine:function(t){var i=t.min,n=t.max;this.state.refine([i,n])}}};
2
2
  //# sourceMappingURL=RangeInput.vue_vue&type=script&lang.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RangeInput.vue_vue&type=script&lang.js","sources":["../../../../src/components/RangeInput.vue"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"[suit(), !canRefine && suit('', 'noRefinement')]\"\n >\n <slot\n :current-refinement=\"values\"\n :refine=\"refine\"\n :can-refine=\"canRefine\"\n :range=\"state.range\"\n :send-event=\"state.sendEvent\"\n >\n <form\n :class=\"suit('form')\"\n @submit.prevent=\"refine({ min: pick(minInput, values.min), max: pick(maxInput, values.max) })\"\n >\n <label :class=\"suit('label')\">\n <slot name=\"minLabel\" />\n <input\n type=\"number\"\n :class=\"[suit('input'), suit('input', 'min')]\"\n :step=\"step\"\n :min=\"state.range.min\"\n :max=\"state.range.max\"\n :placeholder=\"state.range.min\"\n :value=\"values.min\"\n @change=\"minInput = $event.currentTarget.value\"\n >\n </label>\n <span :class=\"suit('separator')\">\n <slot name=\"separator\">to</slot>\n </span>\n <label :class=\"suit('label')\">\n <slot name=\"maxLabel\" />\n <input\n :class=\"[suit('input'), suit('input', 'max')]\"\n type=\"number\"\n :step=\"step\"\n :min=\"state.range.min\"\n :max=\"state.range.max\"\n :placeholder=\"state.range.max\"\n :value=\"values.max\"\n @change=\"maxInput = $event.currentTarget.value\"\n >\n </label>\n <button\n :class=\"suit('submit')\"\n type=\"submit\"\n >\n <slot name=\"submitLabel\">Go</slot>\n </button>\n </form>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectRange } from 'instantsearch.js/es/connectors';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createSuitMixin } from '../mixins/suit';\n\nconst mapStateToCanRefine = state =>\n state && Boolean(state.range) && state.range.min !== state.range.max;\n\nexport default {\n name: 'AisRangeInput',\n mixins: [\n createSuitMixin({ name: 'RangeInput' }),\n createWidgetMixin({ connector: connectRange }),\n createPanelConsumerMixin({\n mapStateToCanRefine,\n }),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n min: {\n type: Number,\n required: false,\n default: undefined,\n },\n max: {\n type: Number,\n required: false,\n default: undefined,\n },\n precision: {\n type: Number,\n required: false,\n default: 0,\n },\n },\n data() {\n return {\n minInput: undefined,\n maxInput: undefined,\n };\n },\n updated() {\n this.minInput = undefined;\n this.maxInput = undefined;\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n min: this.min,\n max: this.max,\n precision: this.precision,\n };\n },\n canRefine() {\n return mapStateToCanRefine(this.state);\n },\n step() {\n return 1 / Math.pow(10, this.precision);\n },\n values() {\n const [minValue, maxValue] = this.state.start;\n const { min: minRange, max: maxRange } = this.state.range;\n\n return {\n min:\n minValue !== -Infinity && minValue !== minRange\n ? minValue\n : undefined,\n max:\n maxValue !== Infinity && maxValue !== maxRange ? maxValue : undefined,\n };\n },\n },\n methods: {\n pick(first, second) {\n if (first !== null && first !== undefined) {\n return first;\n } else {\n return second;\n }\n },\n refine({ min, max }) {\n this.state.refine([min, max]);\n },\n },\n};\n</script>\n"],"names":["const","mapStateToCanRefine","state","Boolean","range","min","max","name","mixins","createSuitMixin","createWidgetMixin","connector","connectRange","createPanelConsumerMixin","props","attribute","type","String","required","Number","default","undefined","precision","data","minInput","maxInput","updated","computed","widgetParams","this","canRefine","step","Math","pow","values","start","minValue","Infinity","minRange","maxValue","maxRange","methods","pick","first","second","refine","ref"],"mappings":"iPA8DAA,IAAMC,WAAsBC,UAC1BA,GAASC,QAAQD,EAAME,QAAUF,EAAME,MAAMC,MAAQH,EAAME,MAAME,mBAEpD,CACbC,KAAM,gBACNC,OAAQ,CACNC,EAAgB,CAAEF,KAAM,eACxBG,EAAkB,CAAEC,UAAWC,IAC/BC,EAAyB,qBACvBZ,KAGJa,MAAO,CACLC,UAAW,CACTC,KAAMC,OACNC,UAAU,GAEZb,IAAK,CACHW,KAAMG,OACND,UAAU,EACVE,aAASC,GAEXf,IAAK,CACHU,KAAMG,OACND,UAAU,EACVE,aAASC,GAEXC,UAAW,CACTN,KAAMG,OACND,UAAU,EACVE,QAAS,IAGbG,sBACS,CACLC,cAAUH,EACVI,cAAUJ,IAGdK,wBACOF,cAAWH,OACXI,cAAWJ,GAElBM,SAAU,CACRC,8BACS,CACLb,UAAWc,KAAKd,UAChBV,IAAKwB,KAAKxB,IACVC,IAAKuB,KAAKvB,IACVgB,UAAWO,KAAKP,YAGpBQ,4BACS7B,EAAoB4B,KAAK3B,QAElC6B,uBACS,EAAIC,KAAKC,IAAI,GAAIJ,KAAKP,YAE/BY,wBAC+BL,KAAK3B,MAAMiC,sBACCN,KAAK3B,MAAME,4BAE7C,CACLC,IACE+B,KAAcC,EAAAA,GAAYD,IAAaE,EACnCF,OACAf,EACNf,IACEiC,IAAaF,EAAAA,GAAYE,IAAaC,EAAWD,OAAWlB,KAIpEoB,QAAS,CACPC,cAAKC,EAAOC,UACND,MAAAA,EACKA,EAEAC,GAGXC,gBAAOC,4BACA5C,MAAM2C,OAAO,CAACxC,EAAKC"}
1
+ {"version":3,"file":"RangeInput.vue_vue&type=script&lang.js","sources":["../../../../src/components/RangeInput.vue"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"[suit(), !canRefine && suit('', 'noRefinement')]\"\n >\n <slot\n :current-refinement=\"values\"\n :refine=\"refine\"\n :can-refine=\"canRefine\"\n :range=\"state.range\"\n :send-event=\"state.sendEvent\"\n >\n <form\n :class=\"suit('form')\"\n @submit.prevent=\"refine({ min: pick(minInput, values.min), max: pick(maxInput, values.max) })\"\n >\n <label :class=\"suit('label')\">\n <slot name=\"minLabel\" />\n <input\n type=\"number\"\n :class=\"[suit('input'), suit('input', 'min')]\"\n :step=\"step\"\n :min=\"state.range.min\"\n :max=\"state.range.max\"\n :placeholder=\"state.range.min\"\n :value=\"values.min\"\n @change=\"minInput = $event.currentTarget.value\"\n >\n </label>\n <span :class=\"suit('separator')\">\n <slot name=\"separator\">to</slot>\n </span>\n <label :class=\"suit('label')\">\n <slot name=\"maxLabel\" />\n <input\n :class=\"[suit('input'), suit('input', 'max')]\"\n type=\"number\"\n :step=\"step\"\n :min=\"state.range.min\"\n :max=\"state.range.max\"\n :placeholder=\"state.range.max\"\n :value=\"values.max\"\n @change=\"maxInput = $event.currentTarget.value\"\n >\n </label>\n <button\n :class=\"suit('submit')\"\n type=\"submit\"\n >\n <slot name=\"submitLabel\">Go</slot>\n </button>\n </form>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectRange } from 'instantsearch.js/es/connectors';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createSuitMixin } from '../mixins/suit';\n\nconst mapStateToCanRefine = state =>\n state && Boolean(state.range) && state.range.min !== state.range.max;\n\nexport default {\n name: 'AisRangeInput',\n mixins: [\n createSuitMixin({ name: 'RangeInput' }),\n createWidgetMixin(\n {\n connector: connectRange,\n },\n {\n $$widgetType: 'ais.rangeInput',\n }\n ),\n createPanelConsumerMixin({\n mapStateToCanRefine,\n }),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n min: {\n type: Number,\n required: false,\n default: undefined,\n },\n max: {\n type: Number,\n required: false,\n default: undefined,\n },\n precision: {\n type: Number,\n required: false,\n default: 0,\n },\n },\n data() {\n return {\n minInput: undefined,\n maxInput: undefined,\n };\n },\n updated() {\n this.minInput = undefined;\n this.maxInput = undefined;\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n min: this.min,\n max: this.max,\n precision: this.precision,\n };\n },\n canRefine() {\n return mapStateToCanRefine(this.state);\n },\n step() {\n return 1 / Math.pow(10, this.precision);\n },\n values() {\n const [minValue, maxValue] = this.state.start;\n const { min: minRange, max: maxRange } = this.state.range;\n\n return {\n min:\n minValue !== -Infinity && minValue !== minRange\n ? minValue\n : undefined,\n max:\n maxValue !== Infinity && maxValue !== maxRange ? maxValue : undefined,\n };\n },\n },\n methods: {\n pick(first, second) {\n if (first !== null && first !== undefined) {\n return first;\n } else {\n return second;\n }\n },\n refine({ min, max }) {\n this.state.refine([min, max]);\n },\n },\n};\n</script>\n"],"names":["const","mapStateToCanRefine","state","Boolean","range","min","max","name","mixins","createSuitMixin","createWidgetMixin","connector","connectRange","$$widgetType","createPanelConsumerMixin","props","attribute","type","String","required","Number","default","undefined","precision","data","minInput","maxInput","updated","computed","widgetParams","this","canRefine","step","Math","pow","values","start","minValue","Infinity","minRange","maxValue","maxRange","methods","pick","first","second","refine","ref"],"mappings":"iPA8DAA,IAAMC,WAAsBC,UAC1BA,GAASC,QAAQD,EAAME,QAAUF,EAAME,MAAMC,MAAQH,EAAME,MAAME,mBAEpD,CACbC,KAAM,gBACNC,OAAQ,CACNC,EAAgB,CAAEF,KAAM,eACxBG,EACE,CACEC,UAAWC,GAEb,CACEC,aAAc,mBAGlBC,EAAyB,qBACvBb,KAGJc,MAAO,CACLC,UAAW,CACTC,KAAMC,OACNC,UAAU,GAEZd,IAAK,CACHY,KAAMG,OACND,UAAU,EACVE,aAASC,GAEXhB,IAAK,CACHW,KAAMG,OACND,UAAU,EACVE,aAASC,GAEXC,UAAW,CACTN,KAAMG,OACND,UAAU,EACVE,QAAS,IAGbG,sBACS,CACLC,cAAUH,EACVI,cAAUJ,IAGdK,wBACOF,cAAWH,OACXI,cAAWJ,GAElBM,SAAU,CACRC,8BACS,CACLb,UAAWc,KAAKd,UAChBX,IAAKyB,KAAKzB,IACVC,IAAKwB,KAAKxB,IACViB,UAAWO,KAAKP,YAGpBQ,4BACS9B,EAAoB6B,KAAK5B,QAElC8B,uBACS,EAAIC,KAAKC,IAAI,GAAIJ,KAAKP,YAE/BY,wBAC+BL,KAAK5B,MAAMkC,sBACCN,KAAK5B,MAAME,4BAE7C,CACLC,IACEgC,KAAcC,EAAAA,GAAYD,IAAaE,EACnCF,OACAf,EACNhB,IACEkC,IAAaF,EAAAA,GAAYE,IAAaC,EAAWD,OAAWlB,KAIpEoB,QAAS,CACPC,cAAKC,EAAOC,UACND,MAAAA,EACKA,EAEAC,GAGXC,gBAAOC,4BACA7C,MAAM4C,OAAO,CAACzC,EAAKC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RangeInput.vue_vue&type=template&id=1e17783d&lang.js","sources":["../../../../src/components/RangeInput.vue?vue&type=template&id=1e17783d&lang.js"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"[suit(), !canRefine && suit('', 'noRefinement')]\"\n >\n <slot\n :current-refinement=\"values\"\n :refine=\"refine\"\n :can-refine=\"canRefine\"\n :range=\"state.range\"\n :send-event=\"state.sendEvent\"\n >\n <form\n :class=\"suit('form')\"\n @submit.prevent=\"refine({ min: pick(minInput, values.min), max: pick(maxInput, values.max) })\"\n >\n <label :class=\"suit('label')\">\n <slot name=\"minLabel\" />\n <input\n type=\"number\"\n :class=\"[suit('input'), suit('input', 'min')]\"\n :step=\"step\"\n :min=\"state.range.min\"\n :max=\"state.range.max\"\n :placeholder=\"state.range.min\"\n :value=\"values.min\"\n @change=\"minInput = $event.currentTarget.value\"\n >\n </label>\n <span :class=\"suit('separator')\">\n <slot name=\"separator\">to</slot>\n </span>\n <label :class=\"suit('label')\">\n <slot name=\"maxLabel\" />\n <input\n :class=\"[suit('input'), suit('input', 'max')]\"\n type=\"number\"\n :step=\"step\"\n :min=\"state.range.min\"\n :max=\"state.range.max\"\n :placeholder=\"state.range.max\"\n :value=\"values.max\"\n @change=\"maxInput = $event.currentTarget.value\"\n >\n </label>\n <button\n :class=\"suit('submit')\"\n type=\"submit\"\n >\n <slot name=\"submitLabel\">Go</slot>\n </button>\n </form>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectRange } from 'instantsearch.js/es/connectors';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createSuitMixin } from '../mixins/suit';\n\nconst mapStateToCanRefine = state =>\n state && Boolean(state.range) && state.range.min !== state.range.max;\n\nexport default {\n name: 'AisRangeInput',\n mixins: [\n createSuitMixin({ name: 'RangeInput' }),\n createWidgetMixin({ connector: connectRange }),\n createPanelConsumerMixin({\n mapStateToCanRefine,\n }),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n min: {\n type: Number,\n required: false,\n default: undefined,\n },\n max: {\n type: Number,\n required: false,\n default: undefined,\n },\n precision: {\n type: Number,\n required: false,\n default: 0,\n },\n },\n data() {\n return {\n minInput: undefined,\n maxInput: undefined,\n };\n },\n updated() {\n this.minInput = undefined;\n this.maxInput = undefined;\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n min: this.min,\n max: this.max,\n precision: this.precision,\n };\n },\n canRefine() {\n return mapStateToCanRefine(this.state);\n },\n step() {\n return 1 / Math.pow(10, this.precision);\n },\n values() {\n const [minValue, maxValue] = this.state.start;\n const { min: minRange, max: maxRange } = this.state.range;\n\n return {\n min:\n minValue !== -Infinity && minValue !== minRange\n ? minValue\n : undefined,\n max:\n maxValue !== Infinity && maxValue !== maxRange ? maxValue : undefined,\n };\n },\n },\n methods: {\n pick(first, second) {\n if (first !== null && first !== undefined) {\n return first;\n } else {\n return second;\n }\n },\n refine({ min, max }) {\n this.state.refine([min, max]);\n },\n },\n};\n</script>\n"],"names":["_ctx","_createBlock","class","$options","_renderSlot","currentRefinement","refine","canRefine","range","sendEvent","_createVNode","onSubmit","$data","min","max","type","step","placeholder","value","onChange","$event","currentTarget"],"mappings":"0JA8BiC,UAmBE,qCA/CzBA,aADRC,eAEGC,OAAQF,UAASG,aAAaH,6BAE/BI,sBACGC,kBAAoBF,SACpBG,OAAQH,SACRI,UAAYJ,YACZK,MAAOR,QAAMQ,MACbC,UAAYT,QAAMS,6BAEnBC,UACGR,MAAOF,eACPW,0CAAgBR,cAAcA,OAAKS,WAAUT,SAAOU,SAAWV,OAAKS,WAAUT,SAAOW,wBAEtFJ,WAAQR,MAAOF,kBACbI,uBACAM,WACEK,KAAK,SACJb,OAAQF,gBAAeA,uBACvBgB,KAAMb,OACNU,IAAKb,QAAMQ,MAAMK,IACjBC,IAAKd,QAAMQ,MAAMM,IACjBG,YAAajB,QAAMQ,MAAMK,IACzBK,MAAOf,SAAOU,IACdM,wCAAQP,WAAWQ,EAAOC,cAAcH,iEAG7CR,UAAOR,MAAOF,sBACZI,qDAEFM,WAAQR,MAAOF,kBACbI,uBACAM,WACGR,OAAQF,gBAAeA,uBACxBe,KAAK,SACJC,KAAMb,OACNU,IAAKb,QAAMQ,MAAMK,IACjBC,IAAKd,QAAMQ,MAAMM,IACjBG,YAAajB,QAAMQ,MAAMM,IACzBI,MAAOf,SAAOW,IACdK,wCAAQP,WAAWQ,EAAOC,cAAcH,iEAG7CR,YACGR,MAAOF,iBACRe,KAAK,WAELX"}
1
+ {"version":3,"file":"RangeInput.vue_vue&type=template&id=1e17783d&lang.js","sources":["../../../../src/components/RangeInput.vue?vue&type=template&id=1e17783d&lang.js"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"[suit(), !canRefine && suit('', 'noRefinement')]\"\n >\n <slot\n :current-refinement=\"values\"\n :refine=\"refine\"\n :can-refine=\"canRefine\"\n :range=\"state.range\"\n :send-event=\"state.sendEvent\"\n >\n <form\n :class=\"suit('form')\"\n @submit.prevent=\"refine({ min: pick(minInput, values.min), max: pick(maxInput, values.max) })\"\n >\n <label :class=\"suit('label')\">\n <slot name=\"minLabel\" />\n <input\n type=\"number\"\n :class=\"[suit('input'), suit('input', 'min')]\"\n :step=\"step\"\n :min=\"state.range.min\"\n :max=\"state.range.max\"\n :placeholder=\"state.range.min\"\n :value=\"values.min\"\n @change=\"minInput = $event.currentTarget.value\"\n >\n </label>\n <span :class=\"suit('separator')\">\n <slot name=\"separator\">to</slot>\n </span>\n <label :class=\"suit('label')\">\n <slot name=\"maxLabel\" />\n <input\n :class=\"[suit('input'), suit('input', 'max')]\"\n type=\"number\"\n :step=\"step\"\n :min=\"state.range.min\"\n :max=\"state.range.max\"\n :placeholder=\"state.range.max\"\n :value=\"values.max\"\n @change=\"maxInput = $event.currentTarget.value\"\n >\n </label>\n <button\n :class=\"suit('submit')\"\n type=\"submit\"\n >\n <slot name=\"submitLabel\">Go</slot>\n </button>\n </form>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectRange } from 'instantsearch.js/es/connectors';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createSuitMixin } from '../mixins/suit';\n\nconst mapStateToCanRefine = state =>\n state && Boolean(state.range) && state.range.min !== state.range.max;\n\nexport default {\n name: 'AisRangeInput',\n mixins: [\n createSuitMixin({ name: 'RangeInput' }),\n createWidgetMixin(\n {\n connector: connectRange,\n },\n {\n $$widgetType: 'ais.rangeInput',\n }\n ),\n createPanelConsumerMixin({\n mapStateToCanRefine,\n }),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n min: {\n type: Number,\n required: false,\n default: undefined,\n },\n max: {\n type: Number,\n required: false,\n default: undefined,\n },\n precision: {\n type: Number,\n required: false,\n default: 0,\n },\n },\n data() {\n return {\n minInput: undefined,\n maxInput: undefined,\n };\n },\n updated() {\n this.minInput = undefined;\n this.maxInput = undefined;\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n min: this.min,\n max: this.max,\n precision: this.precision,\n };\n },\n canRefine() {\n return mapStateToCanRefine(this.state);\n },\n step() {\n return 1 / Math.pow(10, this.precision);\n },\n values() {\n const [minValue, maxValue] = this.state.start;\n const { min: minRange, max: maxRange } = this.state.range;\n\n return {\n min:\n minValue !== -Infinity && minValue !== minRange\n ? minValue\n : undefined,\n max:\n maxValue !== Infinity && maxValue !== maxRange ? maxValue : undefined,\n };\n },\n },\n methods: {\n pick(first, second) {\n if (first !== null && first !== undefined) {\n return first;\n } else {\n return second;\n }\n },\n refine({ min, max }) {\n this.state.refine([min, max]);\n },\n },\n};\n</script>\n"],"names":["_ctx","_createBlock","class","$options","_renderSlot","currentRefinement","refine","canRefine","range","sendEvent","_createVNode","onSubmit","$data","min","max","type","step","placeholder","value","onChange","$event","currentTarget"],"mappings":"0JA8BiC,UAmBE,qCA/CzBA,aADRC,eAEGC,OAAQF,UAASG,aAAaH,6BAE/BI,sBACGC,kBAAoBF,SACpBG,OAAQH,SACRI,UAAYJ,YACZK,MAAOR,QAAMQ,MACbC,UAAYT,QAAMS,6BAEnBC,UACGR,MAAOF,eACPW,0CAAgBR,cAAcA,OAAKS,WAAUT,SAAOU,SAAWV,OAAKS,WAAUT,SAAOW,wBAEtFJ,WAAQR,MAAOF,kBACbI,uBACAM,WACEK,KAAK,SACJb,OAAQF,gBAAeA,uBACvBgB,KAAMb,OACNU,IAAKb,QAAMQ,MAAMK,IACjBC,IAAKd,QAAMQ,MAAMM,IACjBG,YAAajB,QAAMQ,MAAMK,IACzBK,MAAOf,SAAOU,IACdM,wCAAQP,WAAWQ,EAAOC,cAAcH,iEAG7CR,UAAOR,MAAOF,sBACZI,qDAEFM,WAAQR,MAAOF,kBACbI,uBACAM,WACGR,OAAQF,gBAAeA,uBACxBe,KAAK,SACJC,KAAMb,OACNU,IAAKb,QAAMQ,MAAMK,IACjBC,IAAKd,QAAMQ,MAAMM,IACjBG,YAAajB,QAAMQ,MAAMM,IACzBI,MAAOf,SAAOW,IACdK,wCAAQP,WAAWQ,EAAOC,cAAcH,iEAG7CR,YACGR,MAAOF,iBACRe,KAAK,WAELX"}
@@ -1,2 +1,2 @@
1
- import{createSuitMixin as t}from"../mixins/suit.js";import{createWidgetMixin as i}from"../mixins/widget.js";import{connectRatingMenu as e}from"instantsearch.js/es/connectors/index.js";import{createPanelConsumerMixin as n}from"../mixins/panel.js";export default{name:"AisRatingMenu",mixins:[t({name:"RatingMenu"}),i({connector:e}),n({mapStateToCanRefine:function(t){return!1===t.hasNoResults}})],props:{attribute:{type:String,required:!0},max:{type:Number,default:void 0}},computed:{widgetParams:function(){return{attribute:this.attribute,max:this.max}}}};
1
+ import{createSuitMixin as t}from"../mixins/suit.js";import{createWidgetMixin as i}from"../mixins/widget.js";import{connectRatingMenu as e}from"instantsearch.js/es/connectors/index.js";import{createPanelConsumerMixin as n}from"../mixins/panel.js";export default{name:"AisRatingMenu",mixins:[t({name:"RatingMenu"}),i({connector:e},{$$widgetType:"ais.ratingMenu"}),n({mapStateToCanRefine:function(t){return!1===t.hasNoResults}})],props:{attribute:{type:String,required:!0},max:{type:Number,default:void 0}},computed:{widgetParams:function(){return{attribute:this.attribute,max:this.max}}}};
2
2
  //# sourceMappingURL=RatingMenu.vue_vue&type=script&lang.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RatingMenu.vue_vue&type=script&lang.js","sources":["../../../../src/components/RatingMenu.vue"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"suit()\"\n >\n <slot\n :items=\"state.items\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n :send-event=\"state.sendEvent\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"display: none;\"\n >\n <symbol\n id=\"ais-RatingMenu-starSymbol\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M12 .288l2.833 8.718h9.167l-7.417 5.389 2.833 8.718-7.416-5.388-7.417 5.388 2.833-8.718-7.416-5.389h9.167z\" />\n </symbol>\n <symbol\n id=\"ais-RatingMenu-starEmptySymbol\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M12 6.76l1.379 4.246h4.465l-3.612 2.625 1.379 4.246-3.611-2.625-3.612 2.625 1.379-4.246-3.612-2.625h4.465l1.38-4.246zm0-6.472l-2.833 8.718h-9.167l7.416 5.389-2.833 8.718 7.417-5.388 7.416 5.388-2.833-8.718 7.417-5.389h-9.167l-2.833-8.718z\" />\n </symbol>\n </svg>\n\n <ul :class=\"suit('list')\">\n <li\n v-for=\"(item, key) in state.items\"\n :key=\"key\"\n :class=\"[suit('item'), item.isRefined && suit('item', 'selected')]\"\n >\n <a\n :href=\"state.createURL(item.value)\"\n :aria-label=\"`${item.value} & Up`\"\n :class=\"suit('link')\"\n @click.prevent=\"state.refine(item.value)\"\n >\n <template v-for=\"(full, n) in item.stars\">\n <svg\n v-if=\"full\"\n aria-hidden=\"true\"\n width=\"24\"\n height=\"24\"\n :class=\"[suit('starIcon'), suit('starIcon--full')]\"\n :key=\"n + '-full'\"\n >\n <use xlink:href=\"#ais-RatingMenu-starSymbol\" />\n </svg>\n\n <svg\n v-else\n :class=\"[suit('starIcon'), suit('starIcon--empty')]\"\n aria-hidden=\"true\"\n width=\"24\"\n height=\"24\"\n :key=\"n + '-empty'\"\n >\n <use xlink:href=\"#ais-RatingMenu-starEmptySymbol\" />\n </svg>\n </template>\n\n <span\n :class=\"suit('label')\"\n aria-hidden=\"true\"\n >\n <slot name=\"andUp\">&amp; Up</slot>\n </span>\n <span :class=\"suit('count')\">{{ item.count }}</span>\n </a>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectRatingMenu } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisRatingMenu',\n mixins: [\n createSuitMixin({ name: 'RatingMenu' }),\n createWidgetMixin({ connector: connectRatingMenu }),\n createPanelConsumerMixin({\n mapStateToCanRefine: state => state.hasNoResults === false,\n }),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n max: {\n type: Number,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n max: this.max,\n };\n },\n },\n};\n</script>\n"],"names":["name","mixins","createSuitMixin","createWidgetMixin","connector","connectRatingMenu","createPanelConsumerMixin","mapStateToCanRefine","state","hasNoResults","props","attribute","type","String","required","max","Number","default","undefined","computed","widgetParams","this"],"mappings":"oQAqFe,CACbA,KAAM,gBACNC,OAAQ,CACNC,EAAgB,CAAEF,KAAM,eACxBG,EAAkB,CAAEC,UAAWC,IAC/BC,EAAyB,CACvBC,6BAAqBC,UAAgC,IAAvBA,EAAMC,iBAGxCC,MAAO,CACLC,UAAW,CACTC,KAAMC,OACNC,UAAU,GAEZC,IAAK,CACHH,KAAMI,OACNC,aAASC,IAGbC,SAAU,CACRC,8BACS,CACLT,UAAWU,KAAKV,UAChBI,IAAKM,KAAKN"}
1
+ {"version":3,"file":"RatingMenu.vue_vue&type=script&lang.js","sources":["../../../../src/components/RatingMenu.vue"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"suit()\"\n >\n <slot\n :items=\"state.items\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n :send-event=\"state.sendEvent\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"display: none;\"\n >\n <symbol\n id=\"ais-RatingMenu-starSymbol\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M12 .288l2.833 8.718h9.167l-7.417 5.389 2.833 8.718-7.416-5.388-7.417 5.388 2.833-8.718-7.416-5.389h9.167z\" />\n </symbol>\n <symbol\n id=\"ais-RatingMenu-starEmptySymbol\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M12 6.76l1.379 4.246h4.465l-3.612 2.625 1.379 4.246-3.611-2.625-3.612 2.625 1.379-4.246-3.612-2.625h4.465l1.38-4.246zm0-6.472l-2.833 8.718h-9.167l7.416 5.389-2.833 8.718 7.417-5.388 7.416 5.388-2.833-8.718 7.417-5.389h-9.167l-2.833-8.718z\" />\n </symbol>\n </svg>\n\n <ul :class=\"suit('list')\">\n <li\n v-for=\"(item, key) in state.items\"\n :key=\"key\"\n :class=\"[suit('item'), item.isRefined && suit('item', 'selected')]\"\n >\n <a\n :href=\"state.createURL(item.value)\"\n :aria-label=\"`${item.value} & Up`\"\n :class=\"suit('link')\"\n @click.prevent=\"state.refine(item.value)\"\n >\n <template v-for=\"(full, n) in item.stars\">\n <svg\n v-if=\"full\"\n aria-hidden=\"true\"\n width=\"24\"\n height=\"24\"\n :class=\"[suit('starIcon'), suit('starIcon--full')]\"\n :key=\"n + '-full'\"\n >\n <use xlink:href=\"#ais-RatingMenu-starSymbol\" />\n </svg>\n\n <svg\n v-else\n :class=\"[suit('starIcon'), suit('starIcon--empty')]\"\n aria-hidden=\"true\"\n width=\"24\"\n height=\"24\"\n :key=\"n + '-empty'\"\n >\n <use xlink:href=\"#ais-RatingMenu-starEmptySymbol\" />\n </svg>\n </template>\n\n <span\n :class=\"suit('label')\"\n aria-hidden=\"true\"\n >\n <slot name=\"andUp\">&amp; Up</slot>\n </span>\n <span :class=\"suit('count')\">{{ item.count }}</span>\n </a>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectRatingMenu } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisRatingMenu',\n mixins: [\n createSuitMixin({ name: 'RatingMenu' }),\n createWidgetMixin(\n {\n connector: connectRatingMenu,\n },\n {\n $$widgetType: 'ais.ratingMenu',\n }\n ),\n createPanelConsumerMixin({\n mapStateToCanRefine: state => state.hasNoResults === false,\n }),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n max: {\n type: Number,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n max: this.max,\n };\n },\n },\n};\n</script>\n"],"names":["name","mixins","createSuitMixin","createWidgetMixin","connector","connectRatingMenu","$$widgetType","createPanelConsumerMixin","mapStateToCanRefine","state","hasNoResults","props","attribute","type","String","required","max","Number","default","undefined","computed","widgetParams","this"],"mappings":"oQAqFe,CACbA,KAAM,gBACNC,OAAQ,CACNC,EAAgB,CAAEF,KAAM,eACxBG,EACE,CACEC,UAAWC,GAEb,CACEC,aAAc,mBAGlBC,EAAyB,CACvBC,6BAAqBC,UAAgC,IAAvBA,EAAMC,iBAGxCC,MAAO,CACLC,UAAW,CACTC,KAAMC,OACNC,UAAU,GAEZC,IAAK,CACHH,KAAMI,OACNC,aAASC,IAGbC,SAAU,CACRC,8BACS,CACLT,UAAWU,KAAKV,UAChBI,IAAKM,KAAKN"}
@@ -1 +1 @@
1
- {"version":3,"file":"RatingMenu.vue_vue&type=template&id=9254de68&lang.js","sources":["../../../../src/components/RatingMenu.vue?vue&type=template&id=9254de68&lang.js"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"suit()\"\n >\n <slot\n :items=\"state.items\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n :send-event=\"state.sendEvent\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"display: none;\"\n >\n <symbol\n id=\"ais-RatingMenu-starSymbol\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M12 .288l2.833 8.718h9.167l-7.417 5.389 2.833 8.718-7.416-5.388-7.417 5.388 2.833-8.718-7.416-5.389h9.167z\" />\n </symbol>\n <symbol\n id=\"ais-RatingMenu-starEmptySymbol\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M12 6.76l1.379 4.246h4.465l-3.612 2.625 1.379 4.246-3.611-2.625-3.612 2.625 1.379-4.246-3.612-2.625h4.465l1.38-4.246zm0-6.472l-2.833 8.718h-9.167l7.416 5.389-2.833 8.718 7.417-5.388 7.416 5.388-2.833-8.718 7.417-5.389h-9.167l-2.833-8.718z\" />\n </symbol>\n </svg>\n\n <ul :class=\"suit('list')\">\n <li\n v-for=\"(item, key) in state.items\"\n :key=\"key\"\n :class=\"[suit('item'), item.isRefined && suit('item', 'selected')]\"\n >\n <a\n :href=\"state.createURL(item.value)\"\n :aria-label=\"`${item.value} & Up`\"\n :class=\"suit('link')\"\n @click.prevent=\"state.refine(item.value)\"\n >\n <template v-for=\"(full, n) in item.stars\">\n <svg\n v-if=\"full\"\n aria-hidden=\"true\"\n width=\"24\"\n height=\"24\"\n :class=\"[suit('starIcon'), suit('starIcon--full')]\"\n :key=\"n + '-full'\"\n >\n <use xlink:href=\"#ais-RatingMenu-starSymbol\" />\n </svg>\n\n <svg\n v-else\n :class=\"[suit('starIcon'), suit('starIcon--empty')]\"\n aria-hidden=\"true\"\n width=\"24\"\n height=\"24\"\n :key=\"n + '-empty'\"\n >\n <use xlink:href=\"#ais-RatingMenu-starEmptySymbol\" />\n </svg>\n </template>\n\n <span\n :class=\"suit('label')\"\n aria-hidden=\"true\"\n >\n <slot name=\"andUp\">&amp; Up</slot>\n </span>\n <span :class=\"suit('count')\">{{ item.count }}</span>\n </a>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectRatingMenu } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisRatingMenu',\n mixins: [\n createSuitMixin({ name: 'RatingMenu' }),\n createWidgetMixin({ connector: connectRatingMenu }),\n createPanelConsumerMixin({\n mapStateToCanRefine: state => state.hasNoResults === false,\n }),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n max: {\n type: Number,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n max: this.max,\n };\n },\n },\n};\n</script>\n"],"names":["_createVNode","xmlns","style","id","viewBox","d","_ctx","_createBlock","class","_renderSlot","items","refine","createURL","sendEvent","_hoisted_1","item","key","isRefined","href","value","onClick","stars","full","n","width","height","_hoisted_2","_hoisted_3","count"],"mappings":"2MAWMA,SACEC,MAAM,6BACNC,MAAA,mBAEAF,YACEG,GAAG,4BACHC,QAAQ,cAERJ,UAAMK,EAAE,iHAEVL,YACEG,GAAG,iCACHC,QAAQ,cAERJ,UAAMK,EAAE,4PAyBFL,sBAAgB,yCAWhBA,sBAAgB,gDAQC,uCAnEvBM,aADRC,eAEGC,MAAOF,WAERG,sBACGC,MAAOJ,QAAMI,MACbC,OAAQL,QAAMK,OACdC,UAAWN,QAAMM,UACjBC,UAAYP,QAAMO,6BAEnBC,EAkBAd,QAAKQ,MAAOF,wBACVC,WACwBD,QAAMI,eAApBK,EAAMC,cADhBT,QAEGS,IAAKA,EACLR,OAAQF,eAAcS,EAAKE,WAAaX,6BAEzCN,OACGkB,KAAMZ,QAAMM,UAAUG,EAAKI,oBACZJ,EAAKI,cACpBX,MAAOF,eACPc,6BAAed,QAAMK,OAAOI,EAAKI,8BAElCZ,WAA8BQ,EAAKM,eAAjBC,EAAMC,wBAEdD,OADRf,uBAEc,OACZiB,MAAM,KACNC,OAAO,KACNjB,OAAQF,mBAAkBA,0BAC1BU,IAAKO,YAENG,YAGFnB,SAEGC,OAAQF,mBAAkBA,yCACf,OACZkB,MAAM,KACNC,OAAO,KACNT,IAAKO,aAENI,oBAIJ3B,UACGQ,MAAOF,8BACI,SAEZG,iDAEFT,UAAOQ,MAAOF,mBAAkBS,EAAKa"}
1
+ {"version":3,"file":"RatingMenu.vue_vue&type=template&id=9254de68&lang.js","sources":["../../../../src/components/RatingMenu.vue?vue&type=template&id=9254de68&lang.js"],"sourcesContent":["<template>\n <div\n v-if=\"state\"\n :class=\"suit()\"\n >\n <slot\n :items=\"state.items\"\n :refine=\"state.refine\"\n :createURL=\"state.createURL\"\n :send-event=\"state.sendEvent\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"display: none;\"\n >\n <symbol\n id=\"ais-RatingMenu-starSymbol\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M12 .288l2.833 8.718h9.167l-7.417 5.389 2.833 8.718-7.416-5.388-7.417 5.388 2.833-8.718-7.416-5.389h9.167z\" />\n </symbol>\n <symbol\n id=\"ais-RatingMenu-starEmptySymbol\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M12 6.76l1.379 4.246h4.465l-3.612 2.625 1.379 4.246-3.611-2.625-3.612 2.625 1.379-4.246-3.612-2.625h4.465l1.38-4.246zm0-6.472l-2.833 8.718h-9.167l7.416 5.389-2.833 8.718 7.417-5.388 7.416 5.388-2.833-8.718 7.417-5.389h-9.167l-2.833-8.718z\" />\n </symbol>\n </svg>\n\n <ul :class=\"suit('list')\">\n <li\n v-for=\"(item, key) in state.items\"\n :key=\"key\"\n :class=\"[suit('item'), item.isRefined && suit('item', 'selected')]\"\n >\n <a\n :href=\"state.createURL(item.value)\"\n :aria-label=\"`${item.value} & Up`\"\n :class=\"suit('link')\"\n @click.prevent=\"state.refine(item.value)\"\n >\n <template v-for=\"(full, n) in item.stars\">\n <svg\n v-if=\"full\"\n aria-hidden=\"true\"\n width=\"24\"\n height=\"24\"\n :class=\"[suit('starIcon'), suit('starIcon--full')]\"\n :key=\"n + '-full'\"\n >\n <use xlink:href=\"#ais-RatingMenu-starSymbol\" />\n </svg>\n\n <svg\n v-else\n :class=\"[suit('starIcon'), suit('starIcon--empty')]\"\n aria-hidden=\"true\"\n width=\"24\"\n height=\"24\"\n :key=\"n + '-empty'\"\n >\n <use xlink:href=\"#ais-RatingMenu-starEmptySymbol\" />\n </svg>\n </template>\n\n <span\n :class=\"suit('label')\"\n aria-hidden=\"true\"\n >\n <slot name=\"andUp\">&amp; Up</slot>\n </span>\n <span :class=\"suit('count')\">{{ item.count }}</span>\n </a>\n </li>\n </ul>\n </slot>\n </div>\n</template>\n\n<script>\nimport { connectRatingMenu } from 'instantsearch.js/es/connectors';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createSuitMixin } from '../mixins/suit';\n\nexport default {\n name: 'AisRatingMenu',\n mixins: [\n createSuitMixin({ name: 'RatingMenu' }),\n createWidgetMixin(\n {\n connector: connectRatingMenu,\n },\n {\n $$widgetType: 'ais.ratingMenu',\n }\n ),\n createPanelConsumerMixin({\n mapStateToCanRefine: state => state.hasNoResults === false,\n }),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n max: {\n type: Number,\n default: undefined,\n },\n },\n computed: {\n widgetParams() {\n return {\n attribute: this.attribute,\n max: this.max,\n };\n },\n },\n};\n</script>\n"],"names":["_createVNode","xmlns","style","id","viewBox","d","_ctx","_createBlock","class","_renderSlot","items","refine","createURL","sendEvent","_hoisted_1","item","key","isRefined","href","value","onClick","stars","full","n","width","height","_hoisted_2","_hoisted_3","count"],"mappings":"2MAWMA,SACEC,MAAM,6BACNC,MAAA,mBAEAF,YACEG,GAAG,4BACHC,QAAQ,cAERJ,UAAMK,EAAE,iHAEVL,YACEG,GAAG,iCACHC,QAAQ,cAERJ,UAAMK,EAAE,4PAyBFL,sBAAgB,yCAWhBA,sBAAgB,gDAQC,uCAnEvBM,aADRC,eAEGC,MAAOF,WAERG,sBACGC,MAAOJ,QAAMI,MACbC,OAAQL,QAAMK,OACdC,UAAWN,QAAMM,UACjBC,UAAYP,QAAMO,6BAEnBC,EAkBAd,QAAKQ,MAAOF,wBACVC,WACwBD,QAAMI,eAApBK,EAAMC,cADhBT,QAEGS,IAAKA,EACLR,OAAQF,eAAcS,EAAKE,WAAaX,6BAEzCN,OACGkB,KAAMZ,QAAMM,UAAUG,EAAKI,oBACZJ,EAAKI,cACpBX,MAAOF,eACPc,6BAAed,QAAMK,OAAOI,EAAKI,8BAElCZ,WAA8BQ,EAAKM,eAAjBC,EAAMC,wBAEdD,OADRf,uBAEc,OACZiB,MAAM,KACNC,OAAO,KACNjB,OAAQF,mBAAkBA,0BAC1BU,IAAKO,YAENG,YAGFnB,SAEGC,OAAQF,mBAAkBA,yCACf,OACZkB,MAAM,KACNC,OAAO,KACNT,IAAKO,aAENI,oBAIJ3B,UACGQ,MAAOF,8BACI,SAEZG,iDAEFT,UAAOQ,MAAOF,mBAAkBS,EAAKa"}
@@ -1,2 +1,2 @@
1
- import{createSuitMixin as e}from"../mixins/suit.js";import{createWidgetMixin as t}from"../mixins/widget.js";import{connectRefinementList as r}from"instantsearch.js/es/connectors/index.js";import{createPanelConsumerMixin as i}from"../mixins/panel.js";import o from"./Highlight.vue.js";import s from"./SearchInput.vue.js";var a=function(){};export default{name:"AisRefinementList",components:{SearchInput:s,AisHighlight:o},mixins:[e({name:"RefinementList"}),t({connector:r}),i({mapStateToCanRefine:function(e){return Boolean(e.canRefine)}})],props:{attribute:{type:String,required:!0},searchable:{type:Boolean,default:void 0},searchablePlaceholder:{type:String,required:!1,default:"Search here…"},operator:{default:"or",validator:function(e){return"and"===e||"or"===e},required:!1},limit:{type:Number,required:!1,default:void 0},showMoreLimit:{type:Number,required:!1,default:void 0},showMore:{type:Boolean,required:!1,default:!1},sortBy:{type:[Array,Function],required:!1,default:void 0},transformItems:{type:Function,required:!1,default:void 0}},data:function(){return{searchForFacetValuesQuery:""}},computed:{searchForFacetValues:{get:function(){return this.searchForFacetValuesQuery},set:function(e){this.state.searchForItems(e),this.searchForFacetValuesQuery=e}},toggleShowMore:function(){return this.state.toggleShowMore||a},items:function(){return this.state.items.map(function(e){return Object.assign({},e,{_highlightResult:{item:{value:e.highlighted}}})})},widgetParams:function(){return{attribute:this.attribute,operator:this.operator,limit:this.limit,showMore:this.showMore,showMoreLimit:this.showMoreLimit,sortBy:this.sortBy,escapeFacetValues:!0,transformItems:this.transformItems}}},methods:{refine:function(e){this.state.refine(e),this.searchForFacetValuesQuery=""}}};
1
+ import{createSuitMixin as e}from"../mixins/suit.js";import{createWidgetMixin as t}from"../mixins/widget.js";import{connectRefinementList as r}from"instantsearch.js/es/connectors/index.js";import{createPanelConsumerMixin as i}from"../mixins/panel.js";import o from"./Highlight.vue.js";import s from"./SearchInput.vue.js";var a=function(){};export default{name:"AisRefinementList",components:{SearchInput:s,AisHighlight:o},mixins:[e({name:"RefinementList"}),t({connector:r},{$$widgetType:"ais.refinementList"}),i({mapStateToCanRefine:function(e){return Boolean(e.canRefine)}})],props:{attribute:{type:String,required:!0},searchable:{type:Boolean,default:void 0},searchablePlaceholder:{type:String,required:!1,default:"Search here…"},operator:{default:"or",validator:function(e){return"and"===e||"or"===e},required:!1},limit:{type:Number,required:!1,default:void 0},showMoreLimit:{type:Number,required:!1,default:void 0},showMore:{type:Boolean,required:!1,default:!1},sortBy:{type:[Array,Function],required:!1,default:void 0},transformItems:{type:Function,required:!1,default:void 0}},data:function(){return{searchForFacetValuesQuery:""}},computed:{searchForFacetValues:{get:function(){return this.searchForFacetValuesQuery},set:function(e){this.state.searchForItems(e),this.searchForFacetValuesQuery=e}},toggleShowMore:function(){return this.state.toggleShowMore||a},items:function(){return this.state.items.map(function(e){return Object.assign({},e,{_highlightResult:{item:{value:e.highlighted}}})})},widgetParams:function(){return{attribute:this.attribute,operator:this.operator,limit:this.limit,showMore:this.showMore,showMoreLimit:this.showMoreLimit,sortBy:this.sortBy,escapeFacetValues:!0,transformItems:this.transformItems}}},methods:{refine:function(e){this.state.refine(e),this.searchForFacetValuesQuery=""}}};
2
2
  //# sourceMappingURL=RefinementList.vue_vue&type=script&lang.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RefinementList.vue_vue&type=script&lang.js","sources":["../../../../src/components/RefinementList.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n suit(),\n !state.canRefine && suit('','noRefinement')\n ]\"\n v-if=\"state\"\n >\n <slot\n :items=\"items\"\n :refine=\"refine\"\n :search-for-items=\"state.searchForItems\"\n :search-for-items-query=\"searchForFacetValuesQuery\"\n :toggle-show-more=\"toggleShowMore\"\n :can-toggle-show-more=\"state.canToggleShowMore\"\n :is-showing-more=\"state.isShowingMore\"\n :createURL=\"state.createURL\"\n :is-from-search=\"state.isFromSearch\"\n :can-refine=\"state.canRefine\"\n :send-event=\"state.sendEvent\"\n >\n <div\n :class=\"suit('searchBox')\"\n v-if=\"searchable\"\n >\n <search-input\n v-model=\"searchForFacetValues\"\n :placeholder=\"searchablePlaceholder\"\n :class-names=\"classNames\"\n />\n </div>\n <slot\n name=\"noResults\"\n :query=\"searchForFacetValues\"\n v-if=\"state.isFromSearch && items.length === 0\"\n >\n <div :class=\"suit('noResults')\">No results.</div>\n </slot>\n <ul :class=\"suit('list')\">\n <li\n :class=\"[\n suit('item'), item.isRefined && suit('item', 'selected')]\"\n v-for=\"item in items\"\n :key=\"item.value\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n :refine=\"refine\"\n :createURL=\"state.createURL\"\n >\n <label :class=\"suit('label')\">\n <input\n :class=\"suit('checkbox')\"\n type=\"checkbox\"\n :value=\"item.value\"\n :checked=\"item.isRefined\"\n @change=\"refine(item.value)\"\n >\n <span\n v-if=\"searchable\"\n :class=\"suit('labelText')\"\n >\n <ais-highlight\n attribute=\"item\"\n :hit=\"item\"\n />\n </span>\n <span\n v-else\n :class=\"suit('labelText')\"\n >{{ item.label }}</span>\n <span :class=\"suit('count')\">{{ item.count }}</span>\n </label>\n </slot>\n </li>\n </ul>\n <button\n :class=\"[\n suit('showMore'),\n {\n [suit('showMore', 'disabled')]: !state.canToggleShowMore,\n }\n ]\"\n @click=\"toggleShowMore\"\n v-if=\"showMore\"\n :disabled=\"!state.canToggleShowMore\"\n >\n <slot\n name=\"showMoreLabel\"\n :is-showing-more=\"state.isShowingMore\"\n >Show {{ state.isShowingMore ? 'less' : 'more' }}</slot>\n </button>\n </slot>\n </div>\n</template>\n\n<script>\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createSuitMixin } from '../mixins/suit';\nimport { connectRefinementList } from 'instantsearch.js/es/connectors';\nimport SearchInput from './SearchInput.vue';\nimport AisHighlight from './Highlight.vue';\n\nconst noop = () => {};\n\nexport default {\n name: 'AisRefinementList',\n components: { SearchInput, AisHighlight },\n mixins: [\n createSuitMixin({ name: 'RefinementList' }),\n createWidgetMixin({ connector: connectRefinementList }),\n createPanelConsumerMixin({\n mapStateToCanRefine: state => Boolean(state.canRefine),\n }),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n searchable: {\n type: Boolean,\n default: undefined,\n },\n searchablePlaceholder: {\n type: String,\n required: false,\n default: 'Search here…',\n },\n operator: {\n default: 'or',\n validator(value) {\n return value === 'and' || value === 'or';\n },\n required: false,\n },\n limit: {\n type: Number,\n required: false,\n default: undefined,\n },\n showMoreLimit: {\n type: Number,\n required: false,\n default: undefined,\n },\n showMore: {\n type: Boolean,\n required: false,\n default: false,\n },\n sortBy: {\n type: [Array, Function],\n required: false,\n default: undefined,\n },\n transformItems: {\n type: Function,\n required: false,\n default: undefined,\n },\n },\n data() {\n return {\n searchForFacetValuesQuery: '',\n };\n },\n computed: {\n searchForFacetValues: {\n get() {\n return this.searchForFacetValuesQuery;\n },\n set(value) {\n this.state.searchForItems(value);\n this.searchForFacetValuesQuery = value;\n },\n },\n toggleShowMore() {\n return this.state.toggleShowMore || noop;\n },\n items() {\n return this.state.items.map(item =>\n Object.assign({}, item, {\n _highlightResult: {\n item: {\n value: item.highlighted,\n },\n },\n })\n );\n },\n widgetParams() {\n return {\n attribute: this.attribute,\n operator: this.operator,\n limit: this.limit,\n showMore: this.showMore,\n showMoreLimit: this.showMoreLimit,\n sortBy: this.sortBy,\n escapeFacetValues: true,\n transformItems: this.transformItems,\n };\n },\n },\n methods: {\n refine(value) {\n this.state.refine(value);\n this.searchForFacetValuesQuery = '';\n },\n },\n};\n</script>\n"],"names":["const","noop","name","components","SearchInput","AisHighlight","mixins","createSuitMixin","createWidgetMixin","connector","connectRefinementList","createPanelConsumerMixin","mapStateToCanRefine","state","Boolean","canRefine","props","attribute","type","String","required","searchable","default","undefined","searchablePlaceholder","operator","validator","value","limit","Number","showMoreLimit","showMore","sortBy","Array","Function","transformItems","data","searchForFacetValuesQuery","computed","searchForFacetValues","get","this","set","searchForItems","toggleShowMore","items","map","item","Object","assign","_highlightResult","highlighted","widgetParams","escapeFacetValues","methods","refine"],"mappings":"gUAyGAA,IAAMC,6BAES,CACbC,KAAM,oBACNC,WAAY,aAAEC,eAAaC,GAC3BC,OAAQ,CACNC,EAAgB,CAAEL,KAAM,mBACxBM,EAAkB,CAAEC,UAAWC,IAC/BC,EAAyB,CACvBC,6BAAqBC,UAASC,QAAQD,EAAME,eAGhDC,MAAO,CACLC,UAAW,CACTC,KAAMC,OACNC,UAAU,GAEZC,WAAY,CACVH,KAAMJ,QACNQ,aAASC,GAEXC,sBAAuB,CACrBN,KAAMC,OACNC,UAAU,EACVE,QAAS,gBAEXG,SAAU,CACRH,QAAS,KACTI,mBAAUC,SACS,QAAVA,GAA6B,OAAVA,GAE5BP,UAAU,GAEZQ,MAAO,CACLV,KAAMW,OACNT,UAAU,EACVE,aAASC,GAEXO,cAAe,CACbZ,KAAMW,OACNT,UAAU,EACVE,aAASC,GAEXQ,SAAU,CACRb,KAAMJ,QACNM,UAAU,EACVE,SAAS,GAEXU,OAAQ,CACNd,KAAM,CAACe,MAAOC,UACdd,UAAU,EACVE,aAASC,GAEXY,eAAgB,CACdjB,KAAMgB,SACNd,UAAU,EACVE,aAASC,IAGba,sBACS,CACLC,0BAA2B,KAG/BC,SAAU,CACRC,qBAAsB,CACpBC,sBACSC,KAAKJ,2BAEdK,aAAIf,QACGd,MAAM8B,eAAehB,QACrBU,0BAA4BV,IAGrCiB,iCACSH,KAAK5B,MAAM+B,gBAAkB3C,GAEtC4C,wBACSJ,KAAK5B,MAAMgC,MAAMC,aAAIC,UAC1BC,OAAOC,OAAO,GAAIF,EAAM,CACtBG,iBAAkB,CAChBH,KAAM,CACJpB,MAAOoB,EAAKI,mBAMtBC,8BACS,CACLnC,UAAWwB,KAAKxB,UAChBQ,SAAUgB,KAAKhB,SACfG,MAAOa,KAAKb,MACZG,SAAUU,KAAKV,SACfD,cAAeW,KAAKX,cACpBE,OAAQS,KAAKT,OACbqB,mBAAmB,EACnBlB,eAAgBM,KAAKN,kBAI3BmB,QAAS,CACPC,gBAAO5B,QACAd,MAAM0C,OAAO5B,QACbU,0BAA4B"}
1
+ {"version":3,"file":"RefinementList.vue_vue&type=script&lang.js","sources":["../../../../src/components/RefinementList.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n suit(),\n !state.canRefine && suit('','noRefinement')\n ]\"\n v-if=\"state\"\n >\n <slot\n :items=\"items\"\n :refine=\"refine\"\n :search-for-items=\"state.searchForItems\"\n :search-for-items-query=\"searchForFacetValuesQuery\"\n :toggle-show-more=\"toggleShowMore\"\n :can-toggle-show-more=\"state.canToggleShowMore\"\n :is-showing-more=\"state.isShowingMore\"\n :createURL=\"state.createURL\"\n :is-from-search=\"state.isFromSearch\"\n :can-refine=\"state.canRefine\"\n :send-event=\"state.sendEvent\"\n >\n <div\n :class=\"suit('searchBox')\"\n v-if=\"searchable\"\n >\n <search-input\n v-model=\"searchForFacetValues\"\n :placeholder=\"searchablePlaceholder\"\n :class-names=\"classNames\"\n />\n </div>\n <slot\n name=\"noResults\"\n :query=\"searchForFacetValues\"\n v-if=\"state.isFromSearch && items.length === 0\"\n >\n <div :class=\"suit('noResults')\">No results.</div>\n </slot>\n <ul :class=\"suit('list')\">\n <li\n :class=\"[\n suit('item'), item.isRefined && suit('item', 'selected')]\"\n v-for=\"item in items\"\n :key=\"item.value\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n :refine=\"refine\"\n :createURL=\"state.createURL\"\n >\n <label :class=\"suit('label')\">\n <input\n :class=\"suit('checkbox')\"\n type=\"checkbox\"\n :value=\"item.value\"\n :checked=\"item.isRefined\"\n @change=\"refine(item.value)\"\n >\n <span\n v-if=\"searchable\"\n :class=\"suit('labelText')\"\n >\n <ais-highlight\n attribute=\"item\"\n :hit=\"item\"\n />\n </span>\n <span\n v-else\n :class=\"suit('labelText')\"\n >{{ item.label }}</span>\n <span :class=\"suit('count')\">{{ item.count }}</span>\n </label>\n </slot>\n </li>\n </ul>\n <button\n :class=\"[\n suit('showMore'),\n {\n [suit('showMore', 'disabled')]: !state.canToggleShowMore,\n }\n ]\"\n @click=\"toggleShowMore\"\n v-if=\"showMore\"\n :disabled=\"!state.canToggleShowMore\"\n >\n <slot\n name=\"showMoreLabel\"\n :is-showing-more=\"state.isShowingMore\"\n >Show {{ state.isShowingMore ? 'less' : 'more' }}</slot>\n </button>\n </slot>\n </div>\n</template>\n\n<script>\nimport { createWidgetMixin } from '../mixins/widget';\nimport { createPanelConsumerMixin } from '../mixins/panel';\nimport { createSuitMixin } from '../mixins/suit';\nimport { connectRefinementList } from 'instantsearch.js/es/connectors';\nimport SearchInput from './SearchInput.vue';\nimport AisHighlight from './Highlight.vue';\n\nconst noop = () => {};\n\nexport default {\n name: 'AisRefinementList',\n components: { SearchInput, AisHighlight },\n mixins: [\n createSuitMixin({ name: 'RefinementList' }),\n createWidgetMixin(\n {\n connector: connectRefinementList,\n },\n {\n $$widgetType: 'ais.refinementList',\n }\n ),\n createPanelConsumerMixin({\n mapStateToCanRefine: state => Boolean(state.canRefine),\n }),\n ],\n props: {\n attribute: {\n type: String,\n required: true,\n },\n searchable: {\n type: Boolean,\n default: undefined,\n },\n searchablePlaceholder: {\n type: String,\n required: false,\n default: 'Search here…',\n },\n operator: {\n default: 'or',\n validator(value) {\n return value === 'and' || value === 'or';\n },\n required: false,\n },\n limit: {\n type: Number,\n required: false,\n default: undefined,\n },\n showMoreLimit: {\n type: Number,\n required: false,\n default: undefined,\n },\n showMore: {\n type: Boolean,\n required: false,\n default: false,\n },\n sortBy: {\n type: [Array, Function],\n required: false,\n default: undefined,\n },\n transformItems: {\n type: Function,\n required: false,\n default: undefined,\n },\n },\n data() {\n return {\n searchForFacetValuesQuery: '',\n };\n },\n computed: {\n searchForFacetValues: {\n get() {\n return this.searchForFacetValuesQuery;\n },\n set(value) {\n this.state.searchForItems(value);\n this.searchForFacetValuesQuery = value;\n },\n },\n toggleShowMore() {\n return this.state.toggleShowMore || noop;\n },\n items() {\n return this.state.items.map(item =>\n Object.assign({}, item, {\n _highlightResult: {\n item: {\n value: item.highlighted,\n },\n },\n })\n );\n },\n widgetParams() {\n return {\n attribute: this.attribute,\n operator: this.operator,\n limit: this.limit,\n showMore: this.showMore,\n showMoreLimit: this.showMoreLimit,\n sortBy: this.sortBy,\n escapeFacetValues: true,\n transformItems: this.transformItems,\n };\n },\n },\n methods: {\n refine(value) {\n this.state.refine(value);\n this.searchForFacetValuesQuery = '';\n },\n },\n};\n</script>\n"],"names":["const","noop","name","components","SearchInput","AisHighlight","mixins","createSuitMixin","createWidgetMixin","connector","connectRefinementList","$$widgetType","createPanelConsumerMixin","mapStateToCanRefine","state","Boolean","canRefine","props","attribute","type","String","required","searchable","default","undefined","searchablePlaceholder","operator","validator","value","limit","Number","showMoreLimit","showMore","sortBy","Array","Function","transformItems","data","searchForFacetValuesQuery","computed","searchForFacetValues","get","this","set","searchForItems","toggleShowMore","items","map","item","Object","assign","_highlightResult","highlighted","widgetParams","escapeFacetValues","methods","refine"],"mappings":"gUAyGAA,IAAMC,6BAES,CACbC,KAAM,oBACNC,WAAY,aAAEC,eAAaC,GAC3BC,OAAQ,CACNC,EAAgB,CAAEL,KAAM,mBACxBM,EACE,CACEC,UAAWC,GAEb,CACEC,aAAc,uBAGlBC,EAAyB,CACvBC,6BAAqBC,UAASC,QAAQD,EAAME,eAGhDC,MAAO,CACLC,UAAW,CACTC,KAAMC,OACNC,UAAU,GAEZC,WAAY,CACVH,KAAMJ,QACNQ,aAASC,GAEXC,sBAAuB,CACrBN,KAAMC,OACNC,UAAU,EACVE,QAAS,gBAEXG,SAAU,CACRH,QAAS,KACTI,mBAAUC,SACS,QAAVA,GAA6B,OAAVA,GAE5BP,UAAU,GAEZQ,MAAO,CACLV,KAAMW,OACNT,UAAU,EACVE,aAASC,GAEXO,cAAe,CACbZ,KAAMW,OACNT,UAAU,EACVE,aAASC,GAEXQ,SAAU,CACRb,KAAMJ,QACNM,UAAU,EACVE,SAAS,GAEXU,OAAQ,CACNd,KAAM,CAACe,MAAOC,UACdd,UAAU,EACVE,aAASC,GAEXY,eAAgB,CACdjB,KAAMgB,SACNd,UAAU,EACVE,aAASC,IAGba,sBACS,CACLC,0BAA2B,KAG/BC,SAAU,CACRC,qBAAsB,CACpBC,sBACSC,KAAKJ,2BAEdK,aAAIf,QACGd,MAAM8B,eAAehB,QACrBU,0BAA4BV,IAGrCiB,iCACSH,KAAK5B,MAAM+B,gBAAkB5C,GAEtC6C,wBACSJ,KAAK5B,MAAMgC,MAAMC,aAAIC,UAC1BC,OAAOC,OAAO,GAAIF,EAAM,CACtBG,iBAAkB,CAChBH,KAAM,CACJpB,MAAOoB,EAAKI,mBAMtBC,8BACS,CACLnC,UAAWwB,KAAKxB,UAChBQ,SAAUgB,KAAKhB,SACfG,MAAOa,KAAKb,MACZG,SAAUU,KAAKV,SACfD,cAAeW,KAAKX,cACpBE,OAAQS,KAAKT,OACbqB,mBAAmB,EACnBlB,eAAgBM,KAAKN,kBAI3BmB,QAAS,CACPC,gBAAO5B,QACAd,MAAM0C,OAAO5B,QACbU,0BAA4B"}