@searchcraft/javascript-sdk 0.7.2 → 0.8.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 (306) hide show
  1. package/dist/cjs/{store-f6ba3dfb.js → SearchcraftStore-75fac5e0.js} +576 -443
  2. package/dist/cjs/SearchcraftStore-75fac5e0.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +2 -3
  4. package/dist/cjs/index.cjs.js.map +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/searchcraft-base-search-result_2.cjs.entry.js +152 -0
  7. package/dist/cjs/searchcraft-base-search-result_2.cjs.entry.js.map +1 -0
  8. package/dist/cjs/searchcraft-base-search-results.cjs.entry.js +30 -80
  9. package/dist/cjs/searchcraft-base-search-results.cjs.entry.js.map +1 -1
  10. package/dist/cjs/searchcraft-button_3.cjs.entry.js +22 -7
  11. package/dist/cjs/searchcraft-button_3.cjs.entry.js.map +1 -1
  12. package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js +19 -18
  13. package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js.map +1 -1
  14. package/dist/cjs/searchcraft-filter-panel.cjs.entry.js +6 -6
  15. package/dist/cjs/searchcraft-filter-panel.cjs.entry.js.map +1 -1
  16. package/dist/cjs/searchcraft-input-form_2.cjs.entry.js +20 -33
  17. package/dist/cjs/searchcraft-input-form_2.cjs.entry.js.map +1 -1
  18. package/dist/cjs/searchcraft-javascript-sdk.cjs.js +1 -1
  19. package/dist/cjs/searchcraft-pagination.cjs.entry.js +106 -0
  20. package/dist/cjs/searchcraft-pagination.cjs.entry.js.map +1 -0
  21. package/dist/cjs/searchcraft-popover-button.cjs.entry.js +3 -3
  22. package/dist/cjs/searchcraft-popover-button.cjs.entry.js.map +1 -1
  23. package/dist/cjs/searchcraft-popover-form.cjs.entry.js +27 -25
  24. package/dist/cjs/searchcraft-popover-form.cjs.entry.js.map +1 -1
  25. package/dist/cjs/searchcraft-popover-list-item_2.cjs.entry.js +101 -0
  26. package/dist/cjs/searchcraft-popover-list-item_2.cjs.entry.js.map +1 -0
  27. package/dist/cjs/searchcraft-results-info.cjs.entry.js +51 -13
  28. package/dist/cjs/searchcraft-results-info.cjs.entry.js.map +1 -1
  29. package/dist/cjs/searchcraft-search-results-per-page.cjs.entry.js +75 -0
  30. package/dist/cjs/searchcraft-search-results-per-page.cjs.entry.js.map +1 -0
  31. package/dist/cjs/searchcraft-select.cjs.entry.js +70 -0
  32. package/dist/cjs/searchcraft-select.cjs.entry.js.map +1 -0
  33. package/dist/cjs/searchcraft-theme.cjs.entry.js +29 -11
  34. package/dist/cjs/searchcraft-theme.cjs.entry.js.map +1 -1
  35. package/dist/cjs/units-fe4d8083.js.map +1 -1
  36. package/dist/collection/collection-manifest.json +5 -0
  37. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js +86 -208
  38. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js.map +1 -1
  39. package/dist/collection/components/searchcraft-base-search-result-ad/searchcraft-base-search-result-ad.js +73 -0
  40. package/dist/collection/components/searchcraft-base-search-result-ad/searchcraft-base-search-result-ad.js.map +1 -0
  41. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js +37 -144
  42. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js.map +1 -1
  43. package/dist/collection/components/searchcraft-button/searchcraft-button.js +87 -17
  44. package/dist/collection/components/searchcraft-button/searchcraft-button.js.map +1 -1
  45. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js +1 -1
  46. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js +8 -8
  47. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js.map +1 -1
  48. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js +7 -7
  49. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js.map +1 -1
  50. package/dist/collection/components/searchcraft-input-form/searchcraft-input-form.js +10 -14
  51. package/dist/collection/components/searchcraft-input-form/searchcraft-input-form.js.map +1 -1
  52. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js +1 -1
  53. package/dist/collection/components/searchcraft-pagination/searchcraft-pagination.js +141 -0
  54. package/dist/collection/components/searchcraft-pagination/searchcraft-pagination.js.map +1 -0
  55. package/dist/collection/components/searchcraft-popover-button/searchcraft-popover-button.js +1 -1
  56. package/dist/collection/components/searchcraft-popover-form/searchcraft-popover-form.js +26 -21
  57. package/dist/collection/components/searchcraft-popover-form/searchcraft-popover-form.js.map +1 -1
  58. package/dist/collection/components/searchcraft-popover-list-item/searchcraft-popover-list-item.js +59 -92
  59. package/dist/collection/components/searchcraft-popover-list-item/searchcraft-popover-list-item.js.map +1 -1
  60. package/dist/collection/components/searchcraft-popover-list-item-ad/searchcraft-popover-list-item-ad.js +73 -0
  61. package/dist/collection/components/searchcraft-popover-list-item-ad/searchcraft-popover-list-item-ad.js.map +1 -0
  62. package/dist/collection/components/searchcraft-popover-list-view/searchcraft-popover-list-view.js +77 -24
  63. package/dist/collection/components/searchcraft-popover-list-view/searchcraft-popover-list-view.js.map +1 -1
  64. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js +105 -17
  65. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js.map +1 -1
  66. package/dist/collection/components/searchcraft-search-results-per-page/searchcraft-search-results-per-page.js +129 -0
  67. package/dist/collection/components/searchcraft-search-results-per-page/searchcraft-search-results-per-page.js.map +1 -0
  68. package/dist/collection/components/searchcraft-select/searchcraft-select.js +261 -0
  69. package/dist/collection/components/searchcraft-select/searchcraft-select.js.map +1 -0
  70. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js +2 -2
  71. package/dist/collection/components/searchcraft-theme/searchcraft-theme.js +72 -12
  72. package/dist/collection/components/searchcraft-theme/searchcraft-theme.js.map +1 -1
  73. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js +7 -6
  74. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js.map +1 -1
  75. package/dist/collection/index.js +1 -2
  76. package/dist/collection/index.js.map +1 -1
  77. package/dist/collection/provider/SearchcraftStore.js +160 -0
  78. package/dist/collection/provider/SearchcraftStore.js.map +1 -0
  79. package/dist/collection/provider/SearchcraftStore.types.js +2 -0
  80. package/dist/collection/provider/SearchcraftStore.types.js.map +1 -0
  81. package/dist/collection/provider/store.js +2 -136
  82. package/dist/collection/provider/store.js.map +1 -1
  83. package/dist/collection/utils/units.js.map +1 -1
  84. package/dist/components/index.js +11 -1
  85. package/dist/components/index.js.map +1 -1
  86. package/dist/components/{p-a75ef832.js → p-0e393fe1.js} +2 -2
  87. package/dist/components/{p-a75ef832.js.map → p-0e393fe1.js.map} +1 -1
  88. package/dist/components/p-25ee7496.js +58 -0
  89. package/dist/components/p-25ee7496.js.map +1 -0
  90. package/dist/components/{p-936e2ed4.js → p-38419178.js} +576 -442
  91. package/dist/components/p-38419178.js.map +1 -0
  92. package/dist/components/{p-960ddc89.js → p-3df3ff8b.js} +17 -21
  93. package/dist/components/p-3df3ff8b.js.map +1 -0
  94. package/dist/components/{p-1234974c.js → p-433f974c.js} +9 -8
  95. package/dist/components/p-433f974c.js.map +1 -0
  96. package/dist/components/{p-4b92ae26.js → p-4e9cd62e.js} +4 -4
  97. package/dist/components/{p-4b92ae26.js.map → p-4e9cd62e.js.map} +1 -1
  98. package/dist/components/{p-755f491b.js → p-6104fe5d.js} +2 -2
  99. package/dist/components/p-6104fe5d.js.map +1 -0
  100. package/dist/components/{p-b4a8fcbe.js → p-97332d3e.js} +51 -59
  101. package/dist/components/p-97332d3e.js.map +1 -0
  102. package/dist/components/p-bf6a086a.js +92 -0
  103. package/dist/components/p-bf6a086a.js.map +1 -0
  104. package/dist/components/p-bff4d3fc.js +65 -0
  105. package/dist/components/p-bff4d3fc.js.map +1 -0
  106. package/dist/components/{p-521fe971.js → p-d19bf6ff.js} +25 -8
  107. package/dist/components/p-d19bf6ff.js.map +1 -0
  108. package/dist/components/p-de4a48b1.js +65 -0
  109. package/dist/components/p-de4a48b1.js.map +1 -0
  110. package/dist/components/{p-ca881e5c.js → p-e55a7970.js} +2 -2
  111. package/dist/components/{p-ca881e5c.js.map → p-e55a7970.js.map} +1 -1
  112. package/dist/components/p-ec0d230e.js +75 -0
  113. package/dist/components/p-ec0d230e.js.map +1 -0
  114. package/dist/components/{p-54998882.js → p-fc7cda96.js} +10 -10
  115. package/dist/components/p-fc7cda96.js.map +1 -0
  116. package/dist/components/searchcraft-base-search-result-ad.d.ts +11 -0
  117. package/dist/components/searchcraft-base-search-result-ad.js +8 -0
  118. package/dist/components/searchcraft-base-search-result-ad.js.map +1 -0
  119. package/dist/components/searchcraft-base-search-result.js +1 -1
  120. package/dist/components/searchcraft-base-search-results.js +44 -89
  121. package/dist/components/searchcraft-base-search-results.js.map +1 -1
  122. package/dist/components/searchcraft-button.js +1 -1
  123. package/dist/components/searchcraft-error-message.js +1 -1
  124. package/dist/components/searchcraft-facet-list.js +1 -1
  125. package/dist/components/searchcraft-filter-panel.js +9 -9
  126. package/dist/components/searchcraft-filter-panel.js.map +1 -1
  127. package/dist/components/searchcraft-input-form.js +1 -1
  128. package/dist/components/searchcraft-input-label.js +1 -1
  129. package/dist/components/searchcraft-pagination.d.ts +11 -0
  130. package/dist/components/searchcraft-pagination.js +135 -0
  131. package/dist/components/searchcraft-pagination.js.map +1 -0
  132. package/dist/components/searchcraft-popover-button.js +2 -2
  133. package/dist/components/searchcraft-popover-form.js +41 -30
  134. package/dist/components/searchcraft-popover-form.js.map +1 -1
  135. package/dist/components/searchcraft-popover-list-item-ad.d.ts +11 -0
  136. package/dist/components/searchcraft-popover-list-item-ad.js +8 -0
  137. package/dist/components/searchcraft-popover-list-item-ad.js.map +1 -0
  138. package/dist/components/searchcraft-popover-list-item.js +1 -1
  139. package/dist/components/searchcraft-popover-list-view.js +1 -1
  140. package/dist/components/searchcraft-results-info.js +60 -17
  141. package/dist/components/searchcraft-results-info.js.map +1 -1
  142. package/dist/components/searchcraft-search-results-per-page.d.ts +11 -0
  143. package/dist/components/searchcraft-search-results-per-page.js +105 -0
  144. package/dist/components/searchcraft-search-results-per-page.js.map +1 -0
  145. package/dist/components/searchcraft-select.d.ts +11 -0
  146. package/dist/components/searchcraft-select.js +8 -0
  147. package/dist/components/searchcraft-select.js.map +1 -0
  148. package/dist/components/searchcraft-slider.js +1 -1
  149. package/dist/components/searchcraft-theme.js +34 -13
  150. package/dist/components/searchcraft-theme.js.map +1 -1
  151. package/dist/components/searchcraft-toggle-button.js +1 -1
  152. package/dist/esm/{store-aa071d9c.js → SearchcraftStore-3cfd565a.js} +576 -442
  153. package/dist/esm/SearchcraftStore-3cfd565a.js.map +1 -0
  154. package/dist/esm/index.js +1 -1
  155. package/dist/esm/loader.js +1 -1
  156. package/dist/esm/searchcraft-base-search-result_2.entry.js +147 -0
  157. package/dist/esm/searchcraft-base-search-result_2.entry.js.map +1 -0
  158. package/dist/esm/searchcraft-base-search-results.entry.js +30 -80
  159. package/dist/esm/searchcraft-base-search-results.entry.js.map +1 -1
  160. package/dist/esm/searchcraft-button_3.entry.js +22 -7
  161. package/dist/esm/searchcraft-button_3.entry.js.map +1 -1
  162. package/dist/esm/searchcraft-facet-list_3.entry.js +17 -16
  163. package/dist/esm/searchcraft-facet-list_3.entry.js.map +1 -1
  164. package/dist/esm/searchcraft-filter-panel.entry.js +5 -5
  165. package/dist/esm/searchcraft-filter-panel.entry.js.map +1 -1
  166. package/dist/esm/searchcraft-input-form_2.entry.js +19 -32
  167. package/dist/esm/searchcraft-input-form_2.entry.js.map +1 -1
  168. package/dist/esm/searchcraft-javascript-sdk.js +1 -1
  169. package/dist/esm/searchcraft-pagination.entry.js +102 -0
  170. package/dist/esm/searchcraft-pagination.entry.js.map +1 -0
  171. package/dist/esm/searchcraft-popover-button.entry.js +2 -2
  172. package/dist/esm/searchcraft-popover-form.entry.js +20 -18
  173. package/dist/esm/searchcraft-popover-form.entry.js.map +1 -1
  174. package/dist/esm/searchcraft-popover-list-item_2.entry.js +96 -0
  175. package/dist/esm/searchcraft-popover-list-item_2.entry.js.map +1 -0
  176. package/dist/esm/searchcraft-results-info.entry.js +51 -13
  177. package/dist/esm/searchcraft-results-info.entry.js.map +1 -1
  178. package/dist/esm/searchcraft-search-results-per-page.entry.js +71 -0
  179. package/dist/esm/searchcraft-search-results-per-page.entry.js.map +1 -0
  180. package/dist/esm/searchcraft-select.entry.js +66 -0
  181. package/dist/esm/searchcraft-select.entry.js.map +1 -0
  182. package/dist/esm/searchcraft-theme.entry.js +29 -11
  183. package/dist/esm/searchcraft-theme.entry.js.map +1 -1
  184. package/dist/esm/{units-b6eba560.js → units-daaf96f5.js} +2 -2
  185. package/dist/esm/units-daaf96f5.js.map +1 -0
  186. package/dist/searchcraft-javascript-sdk/index.esm.js +1 -1
  187. package/dist/searchcraft-javascript-sdk/p-279f3e15.entry.js +2 -0
  188. package/dist/searchcraft-javascript-sdk/p-279f3e15.entry.js.map +1 -0
  189. package/dist/searchcraft-javascript-sdk/p-2bc82b48.entry.js +2 -0
  190. package/dist/searchcraft-javascript-sdk/p-2bc82b48.entry.js.map +1 -0
  191. package/dist/searchcraft-javascript-sdk/p-2dc07b47.entry.js +2 -0
  192. package/dist/searchcraft-javascript-sdk/p-2dc07b47.entry.js.map +1 -0
  193. package/dist/searchcraft-javascript-sdk/p-38419178.js +11 -0
  194. package/dist/searchcraft-javascript-sdk/p-38419178.js.map +1 -0
  195. package/dist/searchcraft-javascript-sdk/p-5e064c07.entry.js +2 -0
  196. package/dist/searchcraft-javascript-sdk/p-5e064c07.entry.js.map +1 -0
  197. package/dist/searchcraft-javascript-sdk/{p-755f491b.js → p-6104fe5d.js} +2 -2
  198. package/dist/searchcraft-javascript-sdk/p-6104fe5d.js.map +1 -0
  199. package/dist/searchcraft-javascript-sdk/p-69da4e58.entry.js +2 -0
  200. package/dist/searchcraft-javascript-sdk/p-69da4e58.entry.js.map +1 -0
  201. package/dist/searchcraft-javascript-sdk/p-6bffd3f5.entry.js +2 -0
  202. package/dist/searchcraft-javascript-sdk/p-6bffd3f5.entry.js.map +1 -0
  203. package/dist/searchcraft-javascript-sdk/p-7f4dd50c.entry.js +2 -0
  204. package/dist/searchcraft-javascript-sdk/p-9340f4e4.entry.js +2 -0
  205. package/dist/searchcraft-javascript-sdk/p-9340f4e4.entry.js.map +1 -0
  206. package/dist/searchcraft-javascript-sdk/p-a3074a6d.entry.js +2 -0
  207. package/dist/searchcraft-javascript-sdk/p-a3074a6d.entry.js.map +1 -0
  208. package/dist/searchcraft-javascript-sdk/p-a84b1548.entry.js +2 -0
  209. package/dist/searchcraft-javascript-sdk/p-a84b1548.entry.js.map +1 -0
  210. package/dist/searchcraft-javascript-sdk/p-b8ea0454.entry.js +2 -0
  211. package/dist/searchcraft-javascript-sdk/p-b8ea0454.entry.js.map +1 -0
  212. package/dist/searchcraft-javascript-sdk/p-c4a9d8ab.entry.js +2 -0
  213. package/dist/searchcraft-javascript-sdk/p-c4a9d8ab.entry.js.map +1 -0
  214. package/dist/searchcraft-javascript-sdk/p-d2fffca9.entry.js +2 -0
  215. package/dist/searchcraft-javascript-sdk/p-d2fffca9.entry.js.map +1 -0
  216. package/dist/searchcraft-javascript-sdk/p-e11de2d6.entry.js +2 -0
  217. package/dist/searchcraft-javascript-sdk/p-e11de2d6.entry.js.map +1 -0
  218. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js +1 -1
  219. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js.map +1 -1
  220. package/dist/types/components/searchcraft-base-search-result/searchcraft-base-search-result.d.ts +20 -41
  221. package/dist/types/components/searchcraft-base-search-result-ad/searchcraft-base-search-result-ad.d.ts +14 -0
  222. package/dist/types/components/searchcraft-base-search-results/searchcraft-base-search-results.d.ts +9 -18
  223. package/dist/types/components/searchcraft-button/searchcraft-button.d.ts +17 -6
  224. package/dist/types/components/searchcraft-facet-list/searchcraft-facet-list.d.ts +1 -1
  225. package/dist/types/components/searchcraft-filter-panel/searchcraft-filter-panel.d.ts +2 -2
  226. package/dist/types/components/searchcraft-input-form/searchcraft-input-form.d.ts +1 -1
  227. package/dist/types/components/searchcraft-pagination/searchcraft-pagination.d.ts +33 -0
  228. package/dist/types/components/searchcraft-popover-form/searchcraft-popover-form.d.ts +9 -7
  229. package/dist/types/components/searchcraft-popover-list-item/searchcraft-popover-list-item.d.ts +9 -12
  230. package/dist/types/components/searchcraft-popover-list-item-ad/searchcraft-popover-list-item-ad.d.ts +14 -0
  231. package/dist/types/components/searchcraft-popover-list-view/searchcraft-popover-list-view.d.ts +7 -4
  232. package/dist/types/components/searchcraft-results-info/searchcraft-results-info.d.ts +26 -4
  233. package/dist/types/components/searchcraft-search-results-per-page/searchcraft-search-results-per-page.d.ts +33 -0
  234. package/dist/types/components/searchcraft-select/searchcraft-select.d.ts +64 -0
  235. package/dist/types/components/searchcraft-theme/searchcraft-theme.d.ts +11 -2
  236. package/dist/types/components/searchcraft-toggle-button/searchcraft-toggle-button.d.ts +1 -1
  237. package/dist/types/components.d.ts +444 -170
  238. package/dist/types/index.d.ts +1 -2
  239. package/dist/types/provider/SearchcraftStore.d.ts +4 -0
  240. package/dist/types/provider/SearchcraftStore.types.d.ts +44 -0
  241. package/dist/types/provider/store.d.ts +2 -34
  242. package/dist/types/utils/units.d.ts +1 -1
  243. package/package.json +3 -3
  244. package/dist/cjs/searchcraft-base-search-result.cjs.entry.js +0 -117
  245. package/dist/cjs/searchcraft-base-search-result.cjs.entry.js.map +0 -1
  246. package/dist/cjs/searchcraft-popover-list-item.cjs.entry.js +0 -49
  247. package/dist/cjs/searchcraft-popover-list-item.cjs.entry.js.map +0 -1
  248. package/dist/cjs/store-f6ba3dfb.js.map +0 -1
  249. package/dist/collection/types/_shared.types.js +0 -2
  250. package/dist/collection/types/_shared.types.js.map +0 -1
  251. package/dist/collection/types/index.js +0 -5
  252. package/dist/collection/types/index.js.map +0 -1
  253. package/dist/collection/types/searchcraft-base-search-results.types.js +0 -2
  254. package/dist/collection/types/searchcraft-base-search-results.types.js.map +0 -1
  255. package/dist/collection/types/searchcraft-filter-panel.types.js +0 -2
  256. package/dist/collection/types/searchcraft-filter-panel.types.js.map +0 -1
  257. package/dist/collection/types/searchcraft-popover-form.types.js +0 -2
  258. package/dist/collection/types/searchcraft-popover-form.types.js.map +0 -1
  259. package/dist/components/p-0ef4ab33.js +0 -66
  260. package/dist/components/p-0ef4ab33.js.map +0 -1
  261. package/dist/components/p-1234974c.js.map +0 -1
  262. package/dist/components/p-506cdac1.js +0 -58
  263. package/dist/components/p-506cdac1.js.map +0 -1
  264. package/dist/components/p-521fe971.js.map +0 -1
  265. package/dist/components/p-54998882.js.map +0 -1
  266. package/dist/components/p-755f491b.js.map +0 -1
  267. package/dist/components/p-936e2ed4.js.map +0 -1
  268. package/dist/components/p-960ddc89.js.map +0 -1
  269. package/dist/components/p-b4a8fcbe.js.map +0 -1
  270. package/dist/esm/searchcraft-base-search-result.entry.js +0 -113
  271. package/dist/esm/searchcraft-base-search-result.entry.js.map +0 -1
  272. package/dist/esm/searchcraft-popover-list-item.entry.js +0 -45
  273. package/dist/esm/searchcraft-popover-list-item.entry.js.map +0 -1
  274. package/dist/esm/store-aa071d9c.js.map +0 -1
  275. package/dist/esm/units-b6eba560.js.map +0 -1
  276. package/dist/searchcraft-javascript-sdk/p-109ab0e0.entry.js +0 -2
  277. package/dist/searchcraft-javascript-sdk/p-109ab0e0.entry.js.map +0 -1
  278. package/dist/searchcraft-javascript-sdk/p-26f5263d.entry.js +0 -2
  279. package/dist/searchcraft-javascript-sdk/p-26f5263d.entry.js.map +0 -1
  280. package/dist/searchcraft-javascript-sdk/p-2ff7eb35.entry.js +0 -2
  281. package/dist/searchcraft-javascript-sdk/p-2ff7eb35.entry.js.map +0 -1
  282. package/dist/searchcraft-javascript-sdk/p-36f0532e.entry.js +0 -2
  283. package/dist/searchcraft-javascript-sdk/p-36f0532e.entry.js.map +0 -1
  284. package/dist/searchcraft-javascript-sdk/p-41b6bc5d.entry.js +0 -2
  285. package/dist/searchcraft-javascript-sdk/p-41b6bc5d.entry.js.map +0 -1
  286. package/dist/searchcraft-javascript-sdk/p-57eddb07.entry.js +0 -2
  287. package/dist/searchcraft-javascript-sdk/p-57eddb07.entry.js.map +0 -1
  288. package/dist/searchcraft-javascript-sdk/p-5d6fbee0.entry.js +0 -2
  289. package/dist/searchcraft-javascript-sdk/p-5d6fbee0.entry.js.map +0 -1
  290. package/dist/searchcraft-javascript-sdk/p-64c5a1d2.entry.js +0 -2
  291. package/dist/searchcraft-javascript-sdk/p-64c5a1d2.entry.js.map +0 -1
  292. package/dist/searchcraft-javascript-sdk/p-755f491b.js.map +0 -1
  293. package/dist/searchcraft-javascript-sdk/p-936e2ed4.js +0 -11
  294. package/dist/searchcraft-javascript-sdk/p-936e2ed4.js.map +0 -1
  295. package/dist/searchcraft-javascript-sdk/p-c7df8be6.entry.js +0 -2
  296. package/dist/searchcraft-javascript-sdk/p-c7df8be6.entry.js.map +0 -1
  297. package/dist/searchcraft-javascript-sdk/p-eb6058e8.entry.js +0 -2
  298. package/dist/searchcraft-javascript-sdk/p-eb6058e8.entry.js.map +0 -1
  299. package/dist/searchcraft-javascript-sdk/p-faaa4394.entry.js +0 -2
  300. package/dist/types/types/_shared.types.d.ts +0 -46
  301. package/dist/types/types/index.d.ts +0 -5
  302. package/dist/types/types/searchcraft-base-search-results.types.d.ts +0 -11
  303. package/dist/types/types/searchcraft-filter-panel.types.d.ts +0 -43
  304. package/dist/types/types/searchcraft-popover-form.types.d.ts +0 -9
  305. /package/dist/searchcraft-javascript-sdk/{p-faaa4394.entry.js.map → p-7f4dd50c.entry.js.map} +0 -0
  306. /package/dist/types/{types → themes}/raw.d.ts +0 -0
@@ -0,0 +1,160 @@
1
+ import { create } from "zustand";
2
+ import { Logger, LogLevel, } from "@searchcraft/core";
3
+ const initialSearchcraftStateValues = {
4
+ adClientResponseItems: [],
5
+ core: undefined,
6
+ logger: undefined,
7
+ facetPathsForIndexFields: {},
8
+ isPopoverVisible: false,
9
+ searchTerm: '',
10
+ rangeValueForIndexFields: {},
11
+ searchMode: 'fuzzy',
12
+ searchClientResponseItems: [],
13
+ searchResponseTimeTaken: undefined,
14
+ searchResponseFacetPrime: undefined,
15
+ searchResultsCount: 0,
16
+ searchResultsPerPage: 20,
17
+ searchResultsPage: 1,
18
+ sortType: 'asc',
19
+ };
20
+ const useSearchcraftStore = create((set, get) => {
21
+ const functions = {
22
+ addFacetPathsForIndexField: (data) => set((state) => ({
23
+ facetPathsForIndexFields: {
24
+ ...state.facetPathsForIndexFields,
25
+ [data.fieldName]: data,
26
+ },
27
+ })),
28
+ addRangeValueForIndexField: (data) => set((state) => ({
29
+ rangeValueForIndexFields: {
30
+ ...state.rangeValueForIndexFields,
31
+ [data.fieldName]: data,
32
+ },
33
+ })),
34
+ getSearchcraftInstance: () => {
35
+ const { core } = get();
36
+ return core;
37
+ },
38
+ initialize: (searchcraftInstance, debug = false) => {
39
+ const core = searchcraftInstance;
40
+ const logger = debug
41
+ ? new Logger({ logLevel: LogLevel.DEBUG })
42
+ : undefined;
43
+ set({
44
+ core,
45
+ logger,
46
+ searchResultsPerPage: core.config.searchResultsPerPage || 20,
47
+ });
48
+ },
49
+ removeFacetPathsForIndexField: (fieldName) => set((state) => {
50
+ const currentPaths = state.facetPathsForIndexFields;
51
+ delete currentPaths[fieldName];
52
+ return {
53
+ facetPathsForIndexFields: {
54
+ ...currentPaths,
55
+ },
56
+ };
57
+ }),
58
+ removeRangeValueForIndexField: (fieldName) => set((state) => {
59
+ const currentValues = state.rangeValueForIndexFields;
60
+ delete currentValues[fieldName];
61
+ return {
62
+ rangeValueForIndexFields: {
63
+ ...currentValues,
64
+ },
65
+ };
66
+ }),
67
+ resetFacetPaths: () => {
68
+ set({
69
+ facetPathsForIndexFields: {},
70
+ });
71
+ },
72
+ search: async () => {
73
+ const state = get();
74
+ state.logger?.log(LogLevel.INFO, `Starting search with search term: "${state.searchTerm}"`);
75
+ if (!state.core) {
76
+ throw new Error('Searchcraft instance is not initialized.');
77
+ }
78
+ if (!state.searchTerm.trim()) {
79
+ state.logger?.log(LogLevel.INFO, 'No search request was made: search term was empty.');
80
+ set({
81
+ searchClientResponseItems: [],
82
+ searchResultsCount: 0,
83
+ searchResultsPage: 1,
84
+ searchTerm: '',
85
+ });
86
+ return;
87
+ }
88
+ const handleSearchcraftResponse = (response, items) => {
89
+ const facetsFromResponse = response.data.facets;
90
+ set((state) => {
91
+ return {
92
+ searchClientResponseItems: items,
93
+ searchResponseTimeTaken: response.data.time_taken || 0,
94
+ searchResultsPage:
95
+ // reset to first page when response count changes
96
+ response.data.count === state.searchResultsCount
97
+ ? state.searchResultsPage
98
+ : 1,
99
+ searchResultsCount: response.data.count || 0,
100
+ };
101
+ });
102
+ if (facetsFromResponse) {
103
+ set({ searchResponseFacetPrime: facetsFromResponse });
104
+ }
105
+ state.logger?.log(LogLevel.DEBUG, `Search results: ${JSON.stringify(items)}`);
106
+ state.logger?.log(LogLevel.DEBUG, `Facets from response: ${JSON.stringify(facetsFromResponse)}`);
107
+ };
108
+ const handleAdResponse = (adClientResponseItems) => {
109
+ set({ adClientResponseItems });
110
+ };
111
+ state.core.getItems({
112
+ searchTerm: state.searchTerm,
113
+ mode: state.searchMode,
114
+ sort: state.sortType,
115
+ facetPathsForIndexFields: state.facetPathsForIndexFields,
116
+ rangeValueForIndexFields: state.rangeValueForIndexFields,
117
+ offset: state.searchResultsPerPage
118
+ ? state.searchResultsPerPage * (state.searchResultsPage - 1)
119
+ : 0,
120
+ limit: state.searchResultsPerPage,
121
+ }, handleSearchcraftResponse, handleAdResponse);
122
+ },
123
+ setPopoverVisibility: (isVisible) => {
124
+ set({
125
+ isPopoverVisible: isVisible,
126
+ });
127
+ },
128
+ setSearchMode: (mode) => set({ searchMode: mode }),
129
+ setSortType: (type) => set({ sortType: type }),
130
+ setSearchTerm: (searchTerm) => {
131
+ /**
132
+ * When a new searchTerm is set, also reset the sort type, search mode, and facet paths.
133
+ */
134
+ set({
135
+ searchTerm,
136
+ facetPathsForIndexFields: {},
137
+ ...(searchTerm.trim().length === 0 && {
138
+ searchMode: 'fuzzy',
139
+ sortType: 'asc',
140
+ }),
141
+ });
142
+ },
143
+ setSearchClientResponseItems: (items) => set({ searchClientResponseItems: items }),
144
+ setSearchResultsPage: async (page) => {
145
+ set({ searchResultsPage: page });
146
+ await functions.search();
147
+ },
148
+ setSearchResultsPerPage: async (perPage) => {
149
+ set({ searchResultsPerPage: perPage });
150
+ await functions.search();
151
+ },
152
+ };
153
+ const stateObject = {
154
+ ...initialSearchcraftStateValues,
155
+ ...functions,
156
+ };
157
+ return stateObject;
158
+ });
159
+ export { useSearchcraftStore };
160
+ //# sourceMappingURL=SearchcraftStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchcraftStore.js","sourceRoot":"","sources":["../../../src/provider/SearchcraftStore.ts"],"names":[],"mappings":"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","sourcesContent":["import { create } from 'zustand';\n\nimport {\n Logger,\n LogLevel,\n type FacetPathsForIndexField,\n type RangeValueForIndexField,\n type SearchcraftResponse,\n type SearchClientResponseItem,\n type AdClientResponseItem,\n} from '@searchcraft/core';\nimport type {\n SearchcraftState,\n SearchcraftStateFunctions,\n SearchcraftStateValues,\n} from './SearchcraftStore.types';\n\nconst initialSearchcraftStateValues: SearchcraftStateValues = {\n adClientResponseItems: [],\n core: undefined,\n logger: undefined,\n facetPathsForIndexFields: {},\n isPopoverVisible: false,\n searchTerm: '',\n rangeValueForIndexFields: {},\n searchMode: 'fuzzy',\n searchClientResponseItems: [],\n searchResponseTimeTaken: undefined,\n searchResponseFacetPrime: undefined,\n searchResultsCount: 0,\n searchResultsPerPage: 20,\n searchResultsPage: 1,\n sortType: 'asc',\n};\n\nconst useSearchcraftStore = create<SearchcraftState>((set, get) => {\n const functions: SearchcraftStateFunctions = {\n addFacetPathsForIndexField: (data: FacetPathsForIndexField) =>\n set((state) => ({\n facetPathsForIndexFields: {\n ...state.facetPathsForIndexFields,\n [data.fieldName]: data,\n },\n })),\n addRangeValueForIndexField: (data: RangeValueForIndexField) =>\n set((state) => ({\n rangeValueForIndexFields: {\n ...state.rangeValueForIndexFields,\n [data.fieldName]: data,\n },\n })),\n getSearchcraftInstance: () => {\n const { core } = get();\n return core;\n },\n initialize: (searchcraftInstance, debug = false) => {\n const core = searchcraftInstance;\n const logger = debug\n ? new Logger({ logLevel: LogLevel.DEBUG })\n : undefined;\n\n set({\n core,\n logger,\n searchResultsPerPage: core.config.searchResultsPerPage || 20,\n });\n },\n removeFacetPathsForIndexField: (fieldName: string) =>\n set((state) => {\n const currentPaths = state.facetPathsForIndexFields;\n delete currentPaths[fieldName];\n return {\n facetPathsForIndexFields: {\n ...currentPaths,\n },\n };\n }),\n removeRangeValueForIndexField: (fieldName: string) =>\n set((state) => {\n const currentValues = state.rangeValueForIndexFields;\n delete currentValues[fieldName];\n return {\n rangeValueForIndexFields: {\n ...currentValues,\n },\n };\n }),\n resetFacetPaths: () => {\n set({\n facetPathsForIndexFields: {},\n });\n },\n search: async () => {\n const state = get();\n state.logger?.log(\n LogLevel.INFO,\n `Starting search with search term: \"${state.searchTerm}\"`,\n );\n\n if (!state.core) {\n throw new Error('Searchcraft instance is not initialized.');\n }\n\n if (!state.searchTerm.trim()) {\n state.logger?.log(\n LogLevel.INFO,\n 'No search request was made: search term was empty.',\n );\n set({\n searchClientResponseItems: [],\n searchResultsCount: 0,\n searchResultsPage: 1,\n searchTerm: '',\n });\n return;\n }\n\n const handleSearchcraftResponse = (\n response: SearchcraftResponse,\n items: SearchClientResponseItem[],\n ) => {\n const facetsFromResponse = response.data.facets;\n\n set((state) => {\n return {\n searchClientResponseItems: items,\n searchResponseTimeTaken: response.data.time_taken || 0,\n searchResultsPage:\n // reset to first page when response count changes\n response.data.count === state.searchResultsCount\n ? state.searchResultsPage\n : 1,\n searchResultsCount: response.data.count || 0,\n };\n });\n\n if (facetsFromResponse) {\n set({ searchResponseFacetPrime: facetsFromResponse });\n }\n\n state.logger?.log(\n LogLevel.DEBUG,\n `Search results: ${JSON.stringify(items)}`,\n );\n state.logger?.log(\n LogLevel.DEBUG,\n `Facets from response: ${JSON.stringify(facetsFromResponse)}`,\n );\n };\n\n const handleAdResponse = (\n adClientResponseItems: AdClientResponseItem[],\n ) => {\n set({ adClientResponseItems });\n };\n\n state.core.getItems(\n {\n searchTerm: state.searchTerm,\n mode: state.searchMode,\n sort: state.sortType,\n facetPathsForIndexFields: state.facetPathsForIndexFields,\n rangeValueForIndexFields: state.rangeValueForIndexFields,\n offset: state.searchResultsPerPage\n ? state.searchResultsPerPage * (state.searchResultsPage - 1)\n : 0,\n limit: state.searchResultsPerPage,\n },\n handleSearchcraftResponse,\n handleAdResponse,\n );\n },\n setPopoverVisibility: (isVisible: boolean) => {\n set({\n isPopoverVisible: isVisible,\n });\n },\n setSearchMode: (mode) => set({ searchMode: mode }),\n setSortType: (type) => set({ sortType: type }),\n setSearchTerm: (searchTerm) => {\n /**\n * When a new searchTerm is set, also reset the sort type, search mode, and facet paths.\n */\n set({\n searchTerm,\n facetPathsForIndexFields: {},\n ...(searchTerm.trim().length === 0 && {\n searchMode: 'fuzzy',\n sortType: 'asc',\n }),\n });\n },\n setSearchClientResponseItems: (items) =>\n set({ searchClientResponseItems: items }),\n setSearchResultsPage: async (page) => {\n set({ searchResultsPage: page });\n await functions.search();\n },\n setSearchResultsPerPage: async (perPage) => {\n set({ searchResultsPerPage: perPage });\n await functions.search();\n },\n };\n\n const stateObject: SearchcraftState = {\n ...initialSearchcraftStateValues,\n ...functions,\n };\n\n return stateObject;\n});\n\nexport { useSearchcraftStore };\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SearchcraftStore.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchcraftStore.types.js","sourceRoot":"","sources":["../../../src/provider/SearchcraftStore.types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n FacetPathsForIndexField,\n FacetPrime,\n RangeValueForIndexField,\n Logger,\n SearchcraftCore,\n SearchClientResponseItem,\n AdClientResponseItem,\n} from '@searchcraft/core';\n\n/**\n * Callable functions made available by the SearchcraftStore.\n */\nexport interface SearchcraftStateFunctions {\n addFacetPathsForIndexField: (data: FacetPathsForIndexField) => void;\n addRangeValueForIndexField: (data: RangeValueForIndexField) => void;\n getSearchcraftInstance: () => SearchcraftCore | undefined;\n initialize: (searchcraft: SearchcraftCore, debug?: boolean) => void;\n removeFacetPathsForIndexField: (fieldName: string) => void;\n removeRangeValueForIndexField: (fieldName: string) => void;\n resetFacetPaths: () => void;\n search: () => Promise<void>;\n setPopoverVisibility: (isVisible: boolean) => void;\n setSearchClientResponseItems: (results: SearchClientResponseItem[]) => void;\n setSearchResultsPage: (page: number) => void;\n setSearchResultsPerPage: (perPage: number) => void;\n setSearchTerm: (searchTerm: string) => void;\n setSearchMode: (mode: 'fuzzy' | 'exact') => void;\n setSortType: (type: 'asc' | 'desc') => void;\n}\n\n/**\n * Values stored in SearchcraftStore.\n */\nexport interface SearchcraftStateValues {\n adClientResponseItems: AdClientResponseItem[];\n core: SearchcraftCore | undefined;\n logger: Logger | undefined;\n facetPathsForIndexFields: Record<string, FacetPathsForIndexField>;\n isPopoverVisible: boolean;\n rangeValueForIndexFields: Record<string, RangeValueForIndexField>;\n searchMode: 'fuzzy' | 'exact';\n searchClientResponseItems: SearchClientResponseItem[];\n searchResponseTimeTaken: number | undefined;\n searchResponseFacetPrime: FacetPrime | undefined;\n searchResultsCount: number;\n searchResultsPage: number;\n searchResultsPerPage: number;\n searchTerm: string;\n sortType: 'asc' | 'desc';\n}\n\nexport interface SearchcraftState\n extends SearchcraftStateFunctions,\n SearchcraftStateValues {}\n"]}
@@ -1,137 +1,3 @@
1
- import { create } from "zustand";
2
- import { SDKDebugger, LogLevel, } from "@searchcraft/core";
3
- // Zustand store for Searchcraft state
4
- const useSearchcraftStore = create((set, get) => {
5
- let searchcraft = null;
6
- let debuggerInstance = null;
7
- const log = (level, message) => {
8
- if (debuggerInstance) {
9
- switch (level) {
10
- case LogLevel.DEBUG:
11
- debuggerInstance.debug(message);
12
- break;
13
- case LogLevel.INFO:
14
- debuggerInstance.info(message);
15
- break;
16
- case LogLevel.WARN:
17
- debuggerInstance.warn(message);
18
- break;
19
- case LogLevel.ERROR:
20
- debuggerInstance.error(message);
21
- break;
22
- }
23
- }
24
- };
25
- return {
26
- setPopoverVisibility: (isVisible) => {
27
- set({
28
- isPopoverVisible: isVisible,
29
- });
30
- },
31
- isPopoverVisible: false,
32
- resetFacetPaths: () => {
33
- set({
34
- facetPathsForIndexFields: {},
35
- });
36
- },
37
- addFacetPathsForIndexField: (data) => set((state) => ({
38
- facetPathsForIndexFields: {
39
- ...state.facetPathsForIndexFields,
40
- [data.fieldName]: data,
41
- },
42
- })),
43
- removeFacetPathsForIndexField: (fieldName) => set((state) => {
44
- const currentPaths = state.facetPathsForIndexFields;
45
- delete currentPaths[fieldName];
46
- return {
47
- facetPathsForIndexFields: {
48
- ...currentPaths,
49
- },
50
- };
51
- }),
52
- addRangeValueForIndexField: (data) => set((state) => ({
53
- rangeValueForIndexFields: {
54
- ...state.rangeValueForIndexFields,
55
- [data.fieldName]: data,
56
- },
57
- })),
58
- removeRangeValueForIndexField: (fieldName) => set((state) => {
59
- const currentValues = state.rangeValueForIndexFields;
60
- delete currentValues[fieldName];
61
- return {
62
- rangeValueForIndexFields: {
63
- ...currentValues,
64
- },
65
- };
66
- }),
67
- setSearchMode: (mode) => set({ searchMode: mode }),
68
- setSortType: (type) => set({ sortType: type }),
69
- searchMode: 'fuzzy',
70
- sortType: 'asc',
71
- facetPathsForIndexFields: {},
72
- rangeValueForIndexFields: {},
73
- query: '',
74
- isRequesting: false,
75
- searchResults: null,
76
- facets: null,
77
- getSearchcraftInstance: () => searchcraft,
78
- setQuery: (query) => {
79
- /**
80
- * When a new query is set, also reset the sort type, search mode, and facet paths.
81
- */
82
- set({
83
- query,
84
- facetPathsForIndexFields: {},
85
- ...(query.trim().length === 0 && {
86
- searchMode: 'fuzzy',
87
- sortType: 'asc',
88
- }),
89
- });
90
- },
91
- setSearchResults: (results) => set({ searchResults: results }),
92
- setFacets: (facets) => set({ facets }),
93
- setIsRequesting: (isRequesting) => set({ isRequesting }),
94
- search: async () => {
95
- const state = get();
96
- log(LogLevel.INFO, `Starting search with search term: "${state.query}"`);
97
- if (!searchcraft) {
98
- throw new Error('Searchcraft instance is not initialized.');
99
- }
100
- if (!state.query.trim()) {
101
- log(LogLevel.INFO, 'No search request was made: search term was empty.');
102
- state.setSearchResults(null);
103
- return;
104
- }
105
- state.setIsRequesting(true);
106
- searchcraft.search({
107
- query: state.query,
108
- mode: state.searchMode,
109
- sort: state.sortType,
110
- facetPathsForIndexFields: state.facetPathsForIndexFields,
111
- rangeValueForIndexFields: state.rangeValueForIndexFields,
112
- }, (results) => {
113
- const updatedFacets = results.data.facets || null;
114
- state.setSearchResults(results);
115
- if (updatedFacets) {
116
- state.setFacets(updatedFacets);
117
- }
118
- log(LogLevel.DEBUG, `Search results: ${JSON.stringify(results)}`);
119
- log(LogLevel.DEBUG, `Updated facets: ${JSON.stringify(updatedFacets)}`);
120
- state.setIsRequesting(false);
121
- });
122
- },
123
- initialize: (searchcraftInstance, debug = false) => {
124
- searchcraft = searchcraftInstance;
125
- debuggerInstance = debug
126
- ? new SDKDebugger({ logLevel: LogLevel.DEBUG })
127
- : null;
128
- log(LogLevel.INFO, 'Searchcraft store initialized.');
129
- },
130
- };
131
- });
132
- const useThemeStore = create((set) => ({
133
- theme: 'light',
134
- toggleTheme: () => set((state) => ({ theme: state.theme === 'light' ? 'dark' : 'light' })),
135
- }));
136
- export { useSearchcraftStore, useThemeStore };
1
+ export * from './SearchcraftStore.types';
2
+ export * from './SearchcraftStore';
137
3
  //# sourceMappingURL=store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/provider/store.tsx"],"names":[],"mappings":"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","sourcesContent":["import { create } from 'zustand';\n\nimport {\n type SearchcraftCore,\n SDKDebugger,\n LogLevel,\n type SearchcraftResponse,\n type FacetPrime,\n type FacetPathsForIndexField,\n type RangeValueForIndexField,\n} from '@searchcraft/core';\n\ninterface ThemeState {\n theme: 'light' | 'dark';\n toggleTheme: () => void;\n}\n\nexport interface SearchcraftState {\n resetFacetPaths: () => void;\n addFacetPathsForIndexField: (data: FacetPathsForIndexField) => void;\n removeFacetPathsForIndexField: (fieldName: string) => void;\n addRangeValueForIndexField: (data: RangeValueForIndexField) => void;\n removeRangeValueForIndexField: (fieldName: string) => void;\n setSearchMode: (mode: 'fuzzy' | 'exact') => void;\n setSortType: (type: 'asc' | 'desc') => void;\n facetPathsForIndexFields: Record<string, FacetPathsForIndexField>;\n rangeValueForIndexFields: Record<string, RangeValueForIndexField>;\n searchMode: 'fuzzy' | 'exact';\n sortType: 'asc' | 'desc';\n facets: FacetPrime | null;\n getSearchcraftInstance: () => SearchcraftCore | null;\n initialize: (searchcraft: SearchcraftCore, debug?: boolean) => void;\n isRequesting: boolean;\n query: string;\n search: () => Promise<void>;\n searchResults: SearchcraftResponse | null;\n setFacets: (facets: FacetPrime) => void;\n setIsRequesting: (isRequesting: boolean) => void;\n setQuery: (query: string) => void;\n setSearchResults: (results: SearchcraftResponse | null) => void;\n setPopoverVisibility: (isVisible: boolean) => void;\n isPopoverVisible: boolean;\n}\n\n// Zustand store for Searchcraft state\nconst useSearchcraftStore = create<SearchcraftState>((set, get) => {\n let searchcraft: SearchcraftCore | null = null;\n let debuggerInstance: SDKDebugger | null = null;\n\n const log = (level: LogLevel, message: string) => {\n if (debuggerInstance) {\n switch (level) {\n case LogLevel.DEBUG:\n debuggerInstance.debug(message);\n break;\n case LogLevel.INFO:\n debuggerInstance.info(message);\n break;\n case LogLevel.WARN:\n debuggerInstance.warn(message);\n break;\n case LogLevel.ERROR:\n debuggerInstance.error(message);\n break;\n }\n }\n };\n\n return {\n setPopoverVisibility: (isVisible: boolean) => {\n set({\n isPopoverVisible: isVisible,\n });\n },\n isPopoverVisible: false,\n resetFacetPaths: () => {\n set({\n facetPathsForIndexFields: {},\n });\n },\n addFacetPathsForIndexField: (data: FacetPathsForIndexField) =>\n set((state) => ({\n facetPathsForIndexFields: {\n ...state.facetPathsForIndexFields,\n [data.fieldName]: data,\n },\n })),\n removeFacetPathsForIndexField: (fieldName: string) =>\n set((state) => {\n const currentPaths = state.facetPathsForIndexFields;\n delete currentPaths[fieldName];\n return {\n facetPathsForIndexFields: {\n ...currentPaths,\n },\n };\n }),\n addRangeValueForIndexField: (data: RangeValueForIndexField) =>\n set((state) => ({\n rangeValueForIndexFields: {\n ...state.rangeValueForIndexFields,\n [data.fieldName]: data,\n },\n })),\n removeRangeValueForIndexField: (fieldName: string) =>\n set((state) => {\n const currentValues = state.rangeValueForIndexFields;\n delete currentValues[fieldName];\n return {\n rangeValueForIndexFields: {\n ...currentValues,\n },\n };\n }),\n setSearchMode: (mode) => set({ searchMode: mode }),\n setSortType: (type) => set({ sortType: type }),\n searchMode: 'fuzzy',\n sortType: 'asc',\n facetPathsForIndexFields: {},\n rangeValueForIndexFields: {},\n query: '',\n isRequesting: false,\n searchResults: null,\n facets: null,\n getSearchcraftInstance: () => searchcraft,\n setQuery: (query) => {\n /**\n * When a new query is set, also reset the sort type, search mode, and facet paths.\n */\n set({\n query,\n facetPathsForIndexFields: {},\n ...(query.trim().length === 0 && {\n searchMode: 'fuzzy',\n sortType: 'asc',\n }),\n });\n },\n setSearchResults: (results) => set({ searchResults: results }),\n setFacets: (facets) => set({ facets }),\n setIsRequesting: (isRequesting) => set({ isRequesting }),\n search: async () => {\n const state = get();\n log(LogLevel.INFO, `Starting search with search term: \"${state.query}\"`);\n\n if (!searchcraft) {\n throw new Error('Searchcraft instance is not initialized.');\n }\n\n if (!state.query.trim()) {\n log(\n LogLevel.INFO,\n 'No search request was made: search term was empty.',\n );\n state.setSearchResults(null);\n return;\n }\n\n state.setIsRequesting(true);\n\n searchcraft.search(\n {\n query: state.query,\n mode: state.searchMode,\n sort: state.sortType,\n facetPathsForIndexFields: state.facetPathsForIndexFields,\n rangeValueForIndexFields: state.rangeValueForIndexFields,\n },\n (results: SearchcraftResponse) => {\n const updatedFacets = results.data.facets || null;\n\n state.setSearchResults(results);\n if (updatedFacets) {\n state.setFacets(updatedFacets);\n }\n\n log(LogLevel.DEBUG, `Search results: ${JSON.stringify(results)}`);\n log(\n LogLevel.DEBUG,\n `Updated facets: ${JSON.stringify(updatedFacets)}`,\n );\n state.setIsRequesting(false);\n },\n );\n },\n initialize: (searchcraftInstance, debug = false) => {\n searchcraft = searchcraftInstance;\n debuggerInstance = debug\n ? new SDKDebugger({ logLevel: LogLevel.DEBUG })\n : null;\n\n log(LogLevel.INFO, 'Searchcraft store initialized.');\n },\n };\n});\n\nconst useThemeStore = create<ThemeState>((set) => ({\n theme: 'light',\n toggleTheme: () =>\n set((state) => ({ theme: state.theme === 'light' ? 'dark' : 'light' })),\n}));\n\nexport { useSearchcraftStore, useThemeStore };\n"]}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/provider/store.tsx"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC","sourcesContent":["export * from './SearchcraftStore.types';\nexport * from './SearchcraftStore';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"units.js","sourceRoot":"","sources":["../../../src/utils/units.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SearchResultMapping } from 'types';\n\n/**\n * Given a document and a SearchResultMapping, return a mapped value from the document.\n *\n * Applies formatting based on the values specified in the `SearchResultFieldName` values.\n *\n * @param document\n * @param {SearchResultMapping} mapping\n * @returns {string | undefined}\n */\nexport function getDocumentValueFromSearchResultMapping(\n document: Record<string, unknown> | undefined,\n mapping: SearchResultMapping | undefined,\n): string | undefined {\n if (document && mapping) {\n return mapping.fieldNames\n .map((fieldNameDetails) => {\n let valueFound = document[fieldNameDetails.fieldName];\n\n if (valueFound) {\n switch (fieldNameDetails.dataType) {\n case 'date': {\n // TODO: Use fieldNameDetails.DateFormatOptions to format the date\n valueFound = getFormattedTimeFromNow(valueFound as string);\n break;\n }\n case 'number': {\n valueFound = Intl.NumberFormat(\n fieldNameDetails.numberFormatLocale,\n fieldNameDetails.numberFormatOptions,\n ).format(\n (valueFound as number) * (fieldNameDetails.numberScale || 1),\n );\n break;\n }\n default:\n break;\n }\n }\n\n return valueFound;\n })\n .filter((value) => !!value)\n .join(mapping.delimiter || ' ');\n }\n}\n\nexport function getMillis(unit: 'year' | 'month' | 'day' | 'hour'): number {\n const millisInHour = 60 * 60 * 1000;\n const millisInDay = 24 * millisInHour;\n const millisInMonth = 30 * millisInDay;\n const millisInYear = 365 * millisInDay;\n\n switch (unit) {\n case 'hour':\n return millisInHour;\n case 'day':\n return millisInDay;\n case 'month':\n return millisInMonth;\n case 'year':\n return millisInYear;\n default:\n return 3600000;\n }\n}\n\nexport function formatNumberWithCommas(number) {\n return number.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n}\n\n/**\n * Given a timestamp value, returns a formatted time string for the time\n * since now.\n *\n * @param timestamp\n * @returns {string} Formatted string value\n */\nexport function getFormattedTimeFromNow(timestamp: string): string {\n const now = new Date();\n const inputTime = new Date(timestamp);\n const diffInSeconds = Math.floor(\n (now.getTime() - inputTime.getTime()) / 1000,\n );\n\n const minutes = Math.floor(diffInSeconds / 60);\n const hours = Math.floor(minutes / 60);\n const days = Math.floor(hours / 24);\n const years = Math.floor(days / 365);\n\n if (minutes < 60) {\n return `${minutes}m ago`;\n }\n if (hours < 24) {\n return `${hours}h ago`;\n }\n if (days < 365) {\n return `${days}d ago`;\n }\n return `${years}y ago`;\n}\n"]}
1
+ {"version":3,"file":"units.js","sourceRoot":"","sources":["../../../src/utils/units.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SearchResultMapping } from '@searchcraft/core';\n\n/**\n * Given a document and a SearchResultMapping, return a mapped value from the document.\n *\n * Applies formatting based on the values specified in the `SearchResultFieldName` values.\n *\n * @param document\n * @param {SearchResultMapping} mapping\n * @returns {string | undefined}\n */\nexport function getDocumentValueFromSearchResultMapping(\n document: Record<string, unknown> | undefined,\n mapping: SearchResultMapping | undefined,\n): string | undefined {\n if (document && mapping) {\n return mapping.fieldNames\n .map((fieldNameDetails) => {\n let valueFound = document[fieldNameDetails.fieldName];\n\n if (valueFound) {\n switch (fieldNameDetails.dataType) {\n case 'date': {\n // TODO: Use fieldNameDetails.DateFormatOptions to format the date\n valueFound = getFormattedTimeFromNow(valueFound as string);\n break;\n }\n case 'number': {\n valueFound = Intl.NumberFormat(\n fieldNameDetails.numberFormatLocale,\n fieldNameDetails.numberFormatOptions,\n ).format(\n (valueFound as number) * (fieldNameDetails.numberScale || 1),\n );\n break;\n }\n default:\n break;\n }\n }\n\n return valueFound;\n })\n .filter((value) => !!value)\n .join(mapping.delimiter || ' ');\n }\n}\n\nexport function getMillis(unit: 'year' | 'month' | 'day' | 'hour'): number {\n const millisInHour = 60 * 60 * 1000;\n const millisInDay = 24 * millisInHour;\n const millisInMonth = 30 * millisInDay;\n const millisInYear = 365 * millisInDay;\n\n switch (unit) {\n case 'hour':\n return millisInHour;\n case 'day':\n return millisInDay;\n case 'month':\n return millisInMonth;\n case 'year':\n return millisInYear;\n default:\n return 3600000;\n }\n}\n\nexport function formatNumberWithCommas(number) {\n return number.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n}\n\n/**\n * Given a timestamp value, returns a formatted time string for the time\n * since now.\n *\n * @param timestamp\n * @returns {string} Formatted string value\n */\nexport function getFormattedTimeFromNow(timestamp: string): string {\n const now = new Date();\n const inputTime = new Date(timestamp);\n const diffInSeconds = Math.floor(\n (now.getTime() - inputTime.getTime()) / 1000,\n );\n\n const minutes = Math.floor(diffInSeconds / 60);\n const hours = Math.floor(minutes / 60);\n const days = Math.floor(hours / 24);\n const years = Math.floor(days / 365);\n\n if (minutes < 60) {\n return `${minutes}m ago`;\n }\n if (hours < 24) {\n return `${hours}h ago`;\n }\n if (days < 365) {\n return `${days}d ago`;\n }\n return `${years}y ago`;\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  import { SearchcraftBaseSearchResult } from './searchcraft-base-search-result.js';
2
+ import { SearchcraftBaseSearchResultAd } from './searchcraft-base-search-result-ad.js';
2
3
  import { SearchcraftBaseSearchResults } from './searchcraft-base-search-results.js';
3
4
  import { SearchcraftButton } from './searchcraft-button.js';
4
5
  import { SearchcraftErrorMessage } from './searchcraft-error-message.js';
@@ -6,22 +7,27 @@ import { SearchcraftFacetList } from './searchcraft-facet-list.js';
6
7
  import { SearchcraftFilterPanel } from './searchcraft-filter-panel.js';
7
8
  import { SearchcraftInputForm } from './searchcraft-input-form.js';
8
9
  import { SearchcraftInputLabel } from './searchcraft-input-label.js';
10
+ import { SearchcraftPagination } from './searchcraft-pagination.js';
9
11
  import { SearchcraftPopoverButton } from './searchcraft-popover-button.js';
10
12
  import { SearchcraftPopoverForm } from './searchcraft-popover-form.js';
11
13
  import { SearchcraftPopoverListItem } from './searchcraft-popover-list-item.js';
14
+ import { SearchcraftPopoverListItemAd } from './searchcraft-popover-list-item-ad.js';
12
15
  import { SearchcraftPopoverListView } from './searchcraft-popover-list-view.js';
13
16
  import { SearchcraftResultsInfo } from './searchcraft-results-info.js';
17
+ import { SearchcraftSearchResultsPerPage } from './searchcraft-search-results-per-page.js';
18
+ import { SearchcraftSelect } from './searchcraft-select.js';
14
19
  import { SearchcraftSlider } from './searchcraft-slider.js';
15
20
  import { SearchcraftTheme } from './searchcraft-theme.js';
16
21
  import { SearchcraftToggleButton } from './searchcraft-toggle-button.js';
17
22
  export { g as getAssetPath, s as setAssetPath, a as setNonce, b as setPlatformOptions } from './p-5365011f.js';
18
23
  export { p as parseCustomStyles, s as serializeStyles } from './p-d9551738.js';
19
- export { u as useSearchcraftStore, a as useThemeStore } from './p-936e2ed4.js';
24
+ export { u as useSearchcraftStore } from './p-38419178.js';
20
25
 
21
26
  const defineCustomElements = (opts) => {
22
27
  if (typeof customElements !== 'undefined') {
23
28
  [
24
29
  SearchcraftBaseSearchResult,
30
+ SearchcraftBaseSearchResultAd,
25
31
  SearchcraftBaseSearchResults,
26
32
  SearchcraftButton,
27
33
  SearchcraftErrorMessage,
@@ -29,11 +35,15 @@ const defineCustomElements = (opts) => {
29
35
  SearchcraftFilterPanel,
30
36
  SearchcraftInputForm,
31
37
  SearchcraftInputLabel,
38
+ SearchcraftPagination,
32
39
  SearchcraftPopoverButton,
33
40
  SearchcraftPopoverForm,
34
41
  SearchcraftPopoverListItem,
42
+ SearchcraftPopoverListItemAd,
35
43
  SearchcraftPopoverListView,
36
44
  SearchcraftResultsInfo,
45
+ SearchcraftSearchResultsPerPage,
46
+ SearchcraftSelect,
37
47
  SearchcraftSlider,
38
48
  SearchcraftTheme,
39
49
  SearchcraftToggleButton,
@@ -1 +1 @@
1
- {"file":"index.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
1
+ {"file":"index.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -10,7 +10,7 @@ const SearchcraftErrorMessage = /*@__PURE__*/ proxyCustomElement(class Searchcra
10
10
  */
11
11
  errorMessage;
12
12
  render() {
13
- return (h("p", { key: '432bc13abc15f4d9c62ebc751e44e266b258b1f9', class: 'searchcraft-error-message' }, this.errorMessage || 'Search term is required.'));
13
+ return (h("p", { key: 'dc97bb66da10a98fca027f928deaaf80d945417b', class: 'searchcraft-error-message' }, this.errorMessage || 'Search term is required.'));
14
14
  }
15
15
  }, [0, "searchcraft-error-message", {
16
16
  "errorMessage": [1, "error-message"]
@@ -31,4 +31,4 @@ function defineCustomElement() {
31
31
 
32
32
  export { SearchcraftErrorMessage as S, defineCustomElement as d };
33
33
 
34
- //# sourceMappingURL=p-a75ef832.js.map
34
+ //# sourceMappingURL=p-0e393fe1.js.map
@@ -1 +1 @@
1
- {"file":"p-a75ef832.js","mappings":";;MAea,uBAAuB;;;;;;;;IAI1B,YAAY,CAAU;IAE9B,MAAM;QACJ,QACE,0DAAG,KAAK,EAAC,2BAA2B,IACjC,IAAI,CAAC,YAAY,IAAI,0BAA0B,CAC9C,EACJ;KACH;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/searchcraft-error-message/searchcraft-error-message.tsx"],"sourcesContent":["import { Component, Prop, h } from '@stencil/core';\n\n/**\n * This web component is designed to display a user-friendly error message when a search query fails, providing clear feedback to users and enhancing their experience when an issue arises during the search process.\n *\n * ## Usage\n * ```html\n * <!-- index.html -->\n * <searchcraft-error-message error-message=\"No search results found for query\" />\n * ```\n */\n@Component({\n tag: 'searchcraft-error-message',\n shadow: false,\n})\nexport class SearchcraftErrorMessage {\n /**\n * The error message.\n */\n @Prop() errorMessage?: string;\n\n render() {\n return (\n <p class='searchcraft-error-message'>\n {this.errorMessage || 'Search term is required.'}\n </p>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-0e393fe1.js","mappings":";;MAea,uBAAuB;;;;;;;;IAI1B,YAAY,CAAU;IAE9B,MAAM;QACJ,QACE,0DAAG,KAAK,EAAC,2BAA2B,IACjC,IAAI,CAAC,YAAY,IAAI,0BAA0B,CAC9C,EACJ;KACH;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/searchcraft-error-message/searchcraft-error-message.tsx"],"sourcesContent":["import { Component, Prop, h } from '@stencil/core';\n\n/**\n * This web component is designed to display a user-friendly error message when a search query fails, providing clear feedback to users and enhancing their experience when an issue arises during the search process.\n *\n * ## Usage\n * ```html\n * <!-- index.html -->\n * <searchcraft-error-message error-message=\"No search results found for query\" />\n * ```\n */\n@Component({\n tag: 'searchcraft-error-message',\n shadow: false,\n})\nexport class SearchcraftErrorMessage {\n /**\n * The error message.\n */\n @Prop() errorMessage?: string;\n\n render() {\n return (\n <p class='searchcraft-error-message'>\n {this.errorMessage || 'Search term is required.'}\n </p>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,58 @@
1
+ import { p as proxyCustomElement, H, h } from './p-5365011f.js';
2
+ import { d as defineCustomElement$2 } from './p-ec0d230e.js';
3
+ import { d as defineCustomElement$1 } from './p-bff4d3fc.js';
4
+
5
+ const SearchcraftPopoverListView = /*@__PURE__*/ proxyCustomElement(class SearchcraftPopoverListView extends H {
6
+ constructor() {
7
+ super();
8
+ this.__registerHost();
9
+ }
10
+ /**
11
+ * The mappings that define how the data in the documents are mapped to the
12
+ * list-view-item elements.
13
+ */
14
+ popoverResultMappings;
15
+ /**
16
+ * The items to render in the list view.
17
+ */
18
+ searchClientResponseItems;
19
+ adClientResponseItems;
20
+ searchResultsPage;
21
+ searchResultsPerPage;
22
+ render() {
23
+ return (h("div", { key: 'a869d98e96f6fbbc80ecb79058c4753b4a3a8b1d', class: 'searchcraft-popover-list-view' }, this.adClientResponseItems?.map((item) => (h("searchcraft-popover-list-item-ad", { adClientResponseItem: item, key: item.adId }))), this.searchClientResponseItems?.map((item, index) => (h("searchcraft-popover-list-item", { item: item, key: item.id, popoverResultMappings: this.popoverResultMappings, documentPosition: this.searchResultsPerPage * (this.searchResultsPage - 1) + index })))));
24
+ }
25
+ }, [0, "searchcraft-popover-list-view", {
26
+ "popoverResultMappings": [16],
27
+ "searchClientResponseItems": [16],
28
+ "adClientResponseItems": [16],
29
+ "searchResultsPage": [2, "search-results-page"],
30
+ "searchResultsPerPage": [2, "search-results-per-page"]
31
+ }]);
32
+ function defineCustomElement() {
33
+ if (typeof customElements === "undefined") {
34
+ return;
35
+ }
36
+ const components = ["searchcraft-popover-list-view", "searchcraft-popover-list-item", "searchcraft-popover-list-item-ad"];
37
+ components.forEach(tagName => { switch (tagName) {
38
+ case "searchcraft-popover-list-view":
39
+ if (!customElements.get(tagName)) {
40
+ customElements.define(tagName, SearchcraftPopoverListView);
41
+ }
42
+ break;
43
+ case "searchcraft-popover-list-item":
44
+ if (!customElements.get(tagName)) {
45
+ defineCustomElement$2();
46
+ }
47
+ break;
48
+ case "searchcraft-popover-list-item-ad":
49
+ if (!customElements.get(tagName)) {
50
+ defineCustomElement$1();
51
+ }
52
+ break;
53
+ } });
54
+ }
55
+
56
+ export { SearchcraftPopoverListView as S, defineCustomElement as d };
57
+
58
+ //# sourceMappingURL=p-25ee7496.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-25ee7496.js","mappings":";;;;MAsBa,0BAA0B;;;;;;;;;IAK7B,qBAAqB,CAAoC;;;;IAIzD,yBAAyB,CAAyC;IAClE,qBAAqB,CAAqC;IAC1D,iBAAiB,CAAU;IAC3B,oBAAoB,CAAU;IAEtC,MAAM;QACJ,QACE,4DAAK,KAAK,EAAC,+BAA+B,IACvC,IAAI,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,IAAI,MACpC,wCACE,oBAAoB,EAAE,IAAI,EAC1B,GAAG,EAAE,IAAI,CAAC,IAAI,GACd,CACH,CAAC,EACD,IAAI,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MAC/C,qCACE,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,IAAI,CAAC,EAAE,EACZ,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,EACjD,gBAAgB,EACd,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,GAAG,KAAK,GAElE,CACH,CAAC,CACE,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/searchcraft-popover-list-view/searchcraft-popover-list-view.tsx"],"sourcesContent":["import type {\n AdClientResponseItem,\n SearchClientResponseItem,\n} from '@searchcraft/core';\nimport { Component, h, Prop } from '@stencil/core';\n\nimport type { PopoverResultMappings } from '@searchcraft/core';\n\n/**\n * This web component is designed to display a list of results within a popover interface.\n * It is consumed within the `searchcraft-popover-form` component.\n *\n * ## Usage\n * ```html\n * <!-- index.html -->\n * <searchcraft-popover-list-view />\n * ```\n */\n@Component({\n tag: 'searchcraft-popover-list-view',\n shadow: false,\n})\nexport class SearchcraftPopoverListView {\n /**\n * The mappings that define how the data in the documents are mapped to the\n * list-view-item elements.\n */\n @Prop() popoverResultMappings: PopoverResultMappings | undefined;\n /**\n * The items to render in the list view.\n */\n @Prop() searchClientResponseItems: SearchClientResponseItem[] | undefined;\n @Prop() adClientResponseItems: AdClientResponseItem[] | undefined;\n @Prop() searchResultsPage!: number;\n @Prop() searchResultsPerPage!: number;\n\n render() {\n return (\n <div class='searchcraft-popover-list-view'>\n {this.adClientResponseItems?.map((item) => (\n <searchcraft-popover-list-item-ad\n adClientResponseItem={item}\n key={item.adId}\n />\n ))}\n {this.searchClientResponseItems?.map((item, index) => (\n <searchcraft-popover-list-item\n item={item}\n key={item.id}\n popoverResultMappings={this.popoverResultMappings}\n documentPosition={\n this.searchResultsPerPage * (this.searchResultsPage - 1) + index\n }\n />\n ))}\n </div>\n );\n }\n}\n"],"version":3}