@searchcraft/javascript-sdk 0.3.0 → 0.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 (348) hide show
  1. package/README.md +198 -0
  2. package/dist/cjs/{index-6c5282a0.js → index-c8a8e492.js} +317 -10
  3. package/dist/cjs/index-c8a8e492.js.map +1 -0
  4. package/dist/cjs/index.cjs.js +4 -5
  5. package/dist/cjs/index.cjs.js.map +1 -1
  6. package/dist/cjs/loader.cjs.js +2 -2
  7. package/dist/cjs/package-ccc7e307.js +68 -0
  8. package/dist/cjs/package-ccc7e307.js.map +1 -0
  9. package/dist/cjs/searchcraft-auto-search-form.cjs.entry.js +160 -0
  10. package/dist/cjs/searchcraft-auto-search-form.cjs.entry.js.map +1 -0
  11. package/dist/cjs/searchcraft-base-search-form.cjs.entry.js +13 -8
  12. package/dist/cjs/searchcraft-base-search-form.cjs.entry.js.map +1 -1
  13. package/dist/cjs/searchcraft-base-search-result.cjs.entry.js +74 -0
  14. package/dist/cjs/searchcraft-base-search-result.cjs.entry.js.map +1 -0
  15. package/dist/cjs/searchcraft-base-search-results.cjs.entry.js +129 -0
  16. package/dist/cjs/searchcraft-base-search-results.cjs.entry.js.map +1 -0
  17. package/dist/cjs/searchcraft-button-icon.cjs.entry.js +1 -1
  18. package/dist/cjs/searchcraft-button.cjs.entry.js +4 -9
  19. package/dist/cjs/searchcraft-button.cjs.entry.js.map +1 -1
  20. package/dist/cjs/searchcraft-check-icon_2.cjs.entry.js +28 -0
  21. package/dist/cjs/searchcraft-check-icon_2.cjs.entry.js.map +1 -0
  22. package/dist/cjs/searchcraft-clear-icon-set.cjs.entry.js +30 -0
  23. package/dist/cjs/searchcraft-clear-icon-set.cjs.entry.js.map +1 -0
  24. package/dist/cjs/searchcraft-error-message_3.cjs.entry.js +95 -0
  25. package/dist/cjs/searchcraft-error-message_3.cjs.entry.js.map +1 -0
  26. package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js +183 -0
  27. package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js.map +1 -0
  28. package/dist/cjs/searchcraft-filter-panel.cjs.entry.js +134 -0
  29. package/dist/cjs/searchcraft-filter-panel.cjs.entry.js.map +1 -0
  30. package/dist/cjs/searchcraft-javascript-sdk.cjs.js +2 -2
  31. package/dist/cjs/searchcraft-results-info.cjs.entry.js +46 -0
  32. package/dist/cjs/searchcraft-results-info.cjs.entry.js.map +1 -0
  33. package/dist/cjs/searchcraft-search-icon-set.cjs.entry.js +33 -0
  34. package/dist/cjs/searchcraft-search-icon-set.cjs.entry.js.map +1 -0
  35. package/dist/cjs/searchcraft-spinner-dark.cjs.entry.js +22 -0
  36. package/dist/cjs/searchcraft-spinner-dark.cjs.entry.js.map +1 -0
  37. package/dist/cjs/searchcraft-spinner-light.cjs.entry.js +22 -0
  38. package/dist/cjs/searchcraft-spinner-light.cjs.entry.js.map +1 -0
  39. package/dist/cjs/store-72205332.js +945 -0
  40. package/dist/cjs/store-72205332.js.map +1 -0
  41. package/dist/cjs/utils-4ee2b88d.js +169 -0
  42. package/dist/cjs/utils-4ee2b88d.js.map +1 -0
  43. package/dist/collection/assets/searchcraft-button-icons.js.map +1 -1
  44. package/dist/collection/assets/searchcraft-check-icon.js.map +1 -1
  45. package/dist/collection/assets/searchcraft-clear-icon-set.js.map +1 -1
  46. package/dist/collection/assets/searchcraft-dash-icon.js.map +1 -1
  47. package/dist/collection/assets/searchcraft-search-icon-set.js.map +1 -1
  48. package/dist/collection/collection-manifest.json +2 -4
  49. package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.js +68 -94
  50. package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.js.map +1 -1
  51. package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.module.css +98 -9
  52. package/dist/collection/components/searchcraft-base-search-form/searchcraft-base-search-form.js +42 -20
  53. package/dist/collection/components/searchcraft-base-search-form/searchcraft-base-search-form.js.map +1 -1
  54. package/dist/collection/components/searchcraft-base-search-form/searchcraft-base-search-form.module.css +94 -8
  55. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js +158 -136
  56. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js.map +1 -1
  57. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.module.css +142 -189
  58. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js +172 -83
  59. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js.map +1 -1
  60. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.module.css +105 -23
  61. package/dist/collection/components/searchcraft-button/searchcraft-button.js +3 -10
  62. package/dist/collection/components/searchcraft-button/searchcraft-button.js.map +1 -1
  63. package/dist/collection/components/searchcraft-button/searchcraft-button.module.css +107 -65
  64. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js +2 -24
  65. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js.map +1 -1
  66. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.module.css +101 -15
  67. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js +140 -0
  68. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js.map +1 -0
  69. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.module.css +216 -0
  70. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js +166 -0
  71. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js.map +1 -0
  72. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.module.css +118 -0
  73. package/dist/collection/components/searchcraft-input/searchcraft-input.js +43 -133
  74. package/dist/collection/components/searchcraft-input/searchcraft-input.js.map +1 -1
  75. package/dist/collection/components/searchcraft-input/searchcraft-input.module.css +162 -221
  76. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js +1 -13
  77. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js.map +1 -1
  78. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.module.css +102 -14
  79. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js +4 -3
  80. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js.map +1 -1
  81. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.module.css +111 -7
  82. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js +101 -58
  83. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js.map +1 -1
  84. package/dist/collection/components/searchcraft-slider/searchcraft-slider.module.css +136 -23
  85. package/dist/collection/components/searchcraft-spinner-dark/searchcraft-spinner-dark.js +1 -1
  86. package/dist/collection/components/searchcraft-spinner-dark/searchcraft-spinner-dark.js.map +1 -1
  87. package/dist/collection/components/searchcraft-spinner-dark/searchcraft-spinner-dark.module.css +103 -4
  88. package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.js +1 -1
  89. package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.js.map +1 -1
  90. package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.module.css +102 -3
  91. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js +51 -64
  92. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js.map +1 -1
  93. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.module.css +135 -9
  94. package/dist/collection/index.js +2 -1
  95. package/dist/collection/index.js.map +1 -1
  96. package/dist/collection/provider/store.js +46 -31
  97. package/dist/collection/provider/store.js.map +1 -1
  98. package/dist/collection/types/index.js +3 -0
  99. package/dist/collection/types/index.js.map +1 -0
  100. package/dist/collection/types/searchcraft-base-search-results.types.js +2 -0
  101. package/dist/collection/types/searchcraft-base-search-results.types.js.map +1 -0
  102. package/dist/collection/types/searchcraft-filter-panel.types.js +2 -0
  103. package/dist/collection/types/searchcraft-filter-panel.types.js.map +1 -0
  104. package/dist/collection/utils/utils.js +117 -35
  105. package/dist/collection/utils/utils.js.map +1 -1
  106. package/dist/components/index.js +7 -11
  107. package/dist/components/index.js.map +1 -1
  108. package/dist/components/{p-d3187f5a.js → p-04d13314.js} +2 -2
  109. package/dist/components/{p-d3187f5a.js.map → p-04d13314.js.map} +1 -1
  110. package/dist/components/p-0deddac7.js +161 -0
  111. package/dist/components/p-0deddac7.js.map +1 -0
  112. package/dist/components/p-37f54c0b.js +54 -0
  113. package/dist/components/p-37f54c0b.js.map +1 -0
  114. package/dist/components/{p-7498e493.js → p-5639be85.js} +311 -10
  115. package/dist/components/p-5639be85.js.map +1 -0
  116. package/dist/components/p-68897c11.js +124 -0
  117. package/dist/components/p-68897c11.js.map +1 -0
  118. package/dist/components/p-69eed21e.js +66 -0
  119. package/dist/components/p-69eed21e.js.map +1 -0
  120. package/dist/components/p-8062f0ea.js +82 -0
  121. package/dist/components/p-8062f0ea.js.map +1 -0
  122. package/dist/components/p-9f2b8375.js +33 -0
  123. package/dist/components/p-9f2b8375.js.map +1 -0
  124. package/dist/components/p-ace4e6a0.js +35 -0
  125. package/dist/components/p-ace4e6a0.js.map +1 -0
  126. package/dist/components/p-b1a59f07.js +101 -0
  127. package/dist/components/p-b1a59f07.js.map +1 -0
  128. package/dist/components/p-be63dcac.js +941 -0
  129. package/dist/components/p-be63dcac.js.map +1 -0
  130. package/dist/components/p-c8bc1e4f.js +40 -0
  131. package/dist/components/p-c8bc1e4f.js.map +1 -0
  132. package/dist/components/{p-e5471fcf.js → p-de50441f.js} +2 -2
  133. package/dist/components/{p-e5471fcf.js.map → p-de50441f.js.map} +1 -1
  134. package/dist/components/p-e3c8b1ef.js +91 -0
  135. package/dist/components/p-e3c8b1ef.js.map +1 -0
  136. package/dist/components/p-ebf021b5.js +49 -0
  137. package/dist/components/p-ebf021b5.js.map +1 -0
  138. package/dist/components/searchcraft-auto-search-form.js +70 -84
  139. package/dist/components/searchcraft-auto-search-form.js.map +1 -1
  140. package/dist/components/searchcraft-base-search-form.js +27 -58
  141. package/dist/components/searchcraft-base-search-form.js.map +1 -1
  142. package/dist/components/searchcraft-base-search-result.js +1 -1
  143. package/dist/components/searchcraft-base-search-results.js +81 -53
  144. package/dist/components/searchcraft-base-search-results.js.map +1 -1
  145. package/dist/components/searchcraft-button-icon.js +1 -1
  146. package/dist/components/searchcraft-button.js +1 -1
  147. package/dist/components/searchcraft-check-icon.js +1 -1
  148. package/dist/components/searchcraft-clear-icon-set.js +39 -1
  149. package/dist/components/searchcraft-clear-icon-set.js.map +1 -1
  150. package/dist/components/searchcraft-dash-icon.js +1 -1
  151. package/dist/components/searchcraft-error-message.js +1 -1
  152. package/dist/components/searchcraft-facet-list.d.ts +11 -0
  153. package/dist/components/searchcraft-facet-list.js +8 -0
  154. package/dist/components/searchcraft-facet-list.js.map +1 -0
  155. package/dist/components/searchcraft-filter-panel.d.ts +11 -0
  156. package/dist/components/searchcraft-filter-panel.js +184 -0
  157. package/dist/components/searchcraft-filter-panel.js.map +1 -0
  158. package/dist/components/searchcraft-input-label.js +1 -1
  159. package/dist/components/searchcraft-input.js +1 -1
  160. package/dist/components/searchcraft-results-info.js +8 -7
  161. package/dist/components/searchcraft-results-info.js.map +1 -1
  162. package/dist/components/searchcraft-search-icon-set.js +44 -1
  163. package/dist/components/searchcraft-search-icon-set.js.map +1 -1
  164. package/dist/components/searchcraft-slider.js +1 -95
  165. package/dist/components/searchcraft-slider.js.map +1 -1
  166. package/dist/components/searchcraft-spinner-dark.js +1 -1
  167. package/dist/components/searchcraft-spinner-light.js +29 -1
  168. package/dist/components/searchcraft-spinner-light.js.map +1 -1
  169. package/dist/components/searchcraft-toggle-button.js +1 -91
  170. package/dist/components/searchcraft-toggle-button.js.map +1 -1
  171. package/dist/esm/{index-0ac5bb53.js → index-88dc5f88.js} +317 -10
  172. package/dist/esm/index-88dc5f88.js.map +1 -0
  173. package/dist/esm/index.js +2 -1
  174. package/dist/esm/index.js.map +1 -1
  175. package/dist/esm/loader.js +3 -3
  176. package/dist/esm/package-ee16f835.js +66 -0
  177. package/dist/esm/package-ee16f835.js.map +1 -0
  178. package/dist/esm/searchcraft-auto-search-form.entry.js +156 -0
  179. package/dist/esm/searchcraft-auto-search-form.entry.js.map +1 -0
  180. package/dist/esm/searchcraft-base-search-form.entry.js +13 -8
  181. package/dist/esm/searchcraft-base-search-form.entry.js.map +1 -1
  182. package/dist/esm/searchcraft-base-search-result.entry.js +70 -0
  183. package/dist/esm/searchcraft-base-search-result.entry.js.map +1 -0
  184. package/dist/esm/searchcraft-base-search-results.entry.js +125 -0
  185. package/dist/esm/searchcraft-base-search-results.entry.js.map +1 -0
  186. package/dist/esm/searchcraft-button-icon.entry.js +1 -1
  187. package/dist/esm/searchcraft-button.entry.js +4 -9
  188. package/dist/esm/searchcraft-button.entry.js.map +1 -1
  189. package/dist/esm/searchcraft-check-icon_2.entry.js +23 -0
  190. package/dist/esm/searchcraft-check-icon_2.entry.js.map +1 -0
  191. package/dist/{components/p-70722ab2.js → esm/searchcraft-clear-icon-set.entry.js} +7 -24
  192. package/dist/esm/searchcraft-clear-icon-set.entry.js.map +1 -0
  193. package/dist/esm/searchcraft-error-message_3.entry.js +89 -0
  194. package/dist/esm/searchcraft-error-message_3.entry.js.map +1 -0
  195. package/dist/esm/searchcraft-facet-list_3.entry.js +177 -0
  196. package/dist/esm/searchcraft-facet-list_3.entry.js.map +1 -0
  197. package/dist/esm/searchcraft-filter-panel.entry.js +130 -0
  198. package/dist/esm/searchcraft-filter-panel.entry.js.map +1 -0
  199. package/dist/esm/searchcraft-javascript-sdk.js +3 -3
  200. package/dist/esm/searchcraft-results-info.entry.js +42 -0
  201. package/dist/esm/searchcraft-results-info.entry.js.map +1 -0
  202. package/dist/{components/p-a3bd1bc8.js → esm/searchcraft-search-icon-set.entry.js} +7 -26
  203. package/dist/esm/searchcraft-search-icon-set.entry.js.map +1 -0
  204. package/dist/esm/searchcraft-spinner-dark.entry.js +18 -0
  205. package/dist/esm/searchcraft-spinner-dark.entry.js.map +1 -0
  206. package/dist/esm/searchcraft-spinner-light.entry.js +18 -0
  207. package/dist/esm/searchcraft-spinner-light.entry.js.map +1 -0
  208. package/dist/esm/store-52436995.js +941 -0
  209. package/dist/esm/store-52436995.js.map +1 -0
  210. package/dist/esm/utils-89a02921.js +161 -0
  211. package/dist/esm/utils-89a02921.js.map +1 -0
  212. package/dist/searchcraft-javascript-sdk/index.esm.js +1 -1
  213. package/dist/searchcraft-javascript-sdk/p-08bd95f1.entry.js +2 -0
  214. package/dist/searchcraft-javascript-sdk/p-08bd95f1.entry.js.map +1 -0
  215. package/dist/searchcraft-javascript-sdk/p-0deddac7.js +2 -0
  216. package/dist/searchcraft-javascript-sdk/p-0deddac7.js.map +1 -0
  217. package/dist/searchcraft-javascript-sdk/p-15f9891d.entry.js +2 -0
  218. package/dist/searchcraft-javascript-sdk/p-15f9891d.entry.js.map +1 -0
  219. package/dist/searchcraft-javascript-sdk/p-2419a8c5.entry.js +2 -0
  220. package/dist/searchcraft-javascript-sdk/p-2419a8c5.entry.js.map +1 -0
  221. package/dist/searchcraft-javascript-sdk/p-343adbe3.entry.js +2 -0
  222. package/dist/searchcraft-javascript-sdk/p-343adbe3.entry.js.map +1 -0
  223. package/dist/searchcraft-javascript-sdk/p-3a2d9be9.entry.js +2 -0
  224. package/dist/searchcraft-javascript-sdk/p-3a2d9be9.entry.js.map +1 -0
  225. package/dist/searchcraft-javascript-sdk/p-4278ff89.entry.js +2 -0
  226. package/dist/searchcraft-javascript-sdk/p-4278ff89.entry.js.map +1 -0
  227. package/dist/searchcraft-javascript-sdk/p-4c32c87d.js +3 -0
  228. package/dist/searchcraft-javascript-sdk/p-4c32c87d.js.map +1 -0
  229. package/dist/searchcraft-javascript-sdk/p-56413bef.entry.js +2 -0
  230. package/dist/searchcraft-javascript-sdk/p-56413bef.entry.js.map +1 -0
  231. package/dist/searchcraft-javascript-sdk/p-69eed21e.js +2 -0
  232. package/dist/searchcraft-javascript-sdk/p-69eed21e.js.map +1 -0
  233. package/dist/searchcraft-javascript-sdk/{p-5ec960bd.entry.js → p-69f64bdd.entry.js} +2 -2
  234. package/dist/searchcraft-javascript-sdk/p-7c59b3cd.entry.js +2 -0
  235. package/dist/searchcraft-javascript-sdk/p-7c59b3cd.entry.js.map +1 -0
  236. package/dist/searchcraft-javascript-sdk/p-93e9de71.entry.js +2 -0
  237. package/dist/searchcraft-javascript-sdk/p-93e9de71.entry.js.map +1 -0
  238. package/dist/searchcraft-javascript-sdk/p-9647ae41.entry.js +2 -0
  239. package/dist/searchcraft-javascript-sdk/p-9647ae41.entry.js.map +1 -0
  240. package/dist/searchcraft-javascript-sdk/p-a613a6ba.entry.js +2 -0
  241. package/dist/searchcraft-javascript-sdk/p-a613a6ba.entry.js.map +1 -0
  242. package/dist/searchcraft-javascript-sdk/p-acc645c7.entry.js +2 -0
  243. package/dist/searchcraft-javascript-sdk/p-acc645c7.entry.js.map +1 -0
  244. package/dist/searchcraft-javascript-sdk/p-bb03e946.js +11 -0
  245. package/dist/searchcraft-javascript-sdk/p-bb03e946.js.map +1 -0
  246. package/dist/searchcraft-javascript-sdk/p-bf80bbee.entry.js +2 -0
  247. package/dist/searchcraft-javascript-sdk/p-bf80bbee.entry.js.map +1 -0
  248. package/dist/searchcraft-javascript-sdk/p-f4612b94.entry.js +2 -0
  249. package/dist/searchcraft-javascript-sdk/p-f4612b94.entry.js.map +1 -0
  250. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js +1 -1
  251. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js.map +1 -1
  252. package/dist/types/components/searchcraft-auto-search-form/searchcraft-auto-search-form.d.ts +7 -7
  253. package/dist/types/components/searchcraft-base-search-form/searchcraft-base-search-form.d.ts +5 -4
  254. package/dist/types/components/searchcraft-base-search-result/searchcraft-base-search-result.d.ts +18 -17
  255. package/dist/types/components/searchcraft-base-search-results/searchcraft-base-search-results.d.ts +17 -5
  256. package/dist/types/components/searchcraft-button/searchcraft-button.d.ts +0 -2
  257. package/dist/types/components/searchcraft-error-message/searchcraft-error-message.d.ts +0 -7
  258. package/dist/types/components/searchcraft-facet-list/searchcraft-facet-list.d.ts +21 -0
  259. package/dist/types/components/searchcraft-filter-panel/searchcraft-filter-panel.d.ts +25 -0
  260. package/dist/types/components/searchcraft-input/searchcraft-input.d.ts +5 -11
  261. package/dist/types/components/searchcraft-input-label/searchcraft-input-label.d.ts +0 -2
  262. package/dist/types/components/searchcraft-slider/searchcraft-slider.d.ts +14 -10
  263. package/dist/types/components/searchcraft-toggle-button/searchcraft-toggle-button.d.ts +4 -9
  264. package/dist/types/components.d.ts +157 -193
  265. package/dist/types/index.d.ts +2 -1
  266. package/dist/types/provider/store.d.ts +16 -9
  267. package/dist/types/types/index.d.ts +2 -0
  268. package/dist/types/types/searchcraft-base-search-results.types.d.ts +17 -0
  269. package/dist/types/types/searchcraft-filter-panel.types.d.ts +42 -0
  270. package/dist/types/utils/utils.d.ts +24 -15
  271. package/package.json +2 -2
  272. package/dist/cjs/index-6c5282a0.js.map +0 -1
  273. package/dist/cjs/searchcraft-auto-search-form_19.cjs.entry.js +0 -861
  274. package/dist/cjs/searchcraft-auto-search-form_19.cjs.entry.js.map +0 -1
  275. package/dist/cjs/store-f3bec622.js +0 -406
  276. package/dist/cjs/store-f3bec622.js.map +0 -1
  277. package/dist/collection/components/searchcraft-clear-input-button/searchcraft-clear-input-button.js +0 -95
  278. package/dist/collection/components/searchcraft-clear-input-button/searchcraft-clear-input-button.js.map +0 -1
  279. package/dist/collection/components/searchcraft-clear-input-button/searchcraft-clear-input-button.module.css +0 -33
  280. package/dist/collection/components/searchcraft-filters-list/searchcraft-filters-list.js +0 -172
  281. package/dist/collection/components/searchcraft-filters-list/searchcraft-filters-list.js.map +0 -1
  282. package/dist/collection/components/searchcraft-filters-list/searchcraft-filters-list.module.css +0 -110
  283. package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.js +0 -122
  284. package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.js.map +0 -1
  285. package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.module.css +0 -79
  286. package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.js +0 -109
  287. package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.js.map +0 -1
  288. package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.module.css +0 -17
  289. package/dist/components/p-07edaa9b.js +0 -67
  290. package/dist/components/p-07edaa9b.js.map +0 -1
  291. package/dist/components/p-27a6ca57.js +0 -149
  292. package/dist/components/p-27a6ca57.js.map +0 -1
  293. package/dist/components/p-4468fba3.js +0 -61
  294. package/dist/components/p-4468fba3.js.map +0 -1
  295. package/dist/components/p-498c7ef9.js +0 -40
  296. package/dist/components/p-498c7ef9.js.map +0 -1
  297. package/dist/components/p-6237f03e.js +0 -60
  298. package/dist/components/p-6237f03e.js.map +0 -1
  299. package/dist/components/p-70722ab2.js.map +0 -1
  300. package/dist/components/p-7498e493.js.map +0 -1
  301. package/dist/components/p-7d1bcd2d.js +0 -88
  302. package/dist/components/p-7d1bcd2d.js.map +0 -1
  303. package/dist/components/p-8c38185e.js +0 -53
  304. package/dist/components/p-8c38185e.js.map +0 -1
  305. package/dist/components/p-a3bd1bc8.js.map +0 -1
  306. package/dist/components/p-ae84b899.js +0 -48
  307. package/dist/components/p-ae84b899.js.map +0 -1
  308. package/dist/components/p-bc3f9025.js +0 -33
  309. package/dist/components/p-bc3f9025.js.map +0 -1
  310. package/dist/components/p-bfb22305.js +0 -33
  311. package/dist/components/p-bfb22305.js.map +0 -1
  312. package/dist/components/p-c31274dd.js +0 -89
  313. package/dist/components/p-c31274dd.js.map +0 -1
  314. package/dist/components/p-ff049f0a.js +0 -313
  315. package/dist/components/p-ff049f0a.js.map +0 -1
  316. package/dist/components/searchcraft-clear-input-button.d.ts +0 -11
  317. package/dist/components/searchcraft-clear-input-button.js +0 -8
  318. package/dist/components/searchcraft-clear-input-button.js.map +0 -1
  319. package/dist/components/searchcraft-filters-list.d.ts +0 -11
  320. package/dist/components/searchcraft-filters-list.js +0 -155
  321. package/dist/components/searchcraft-filters-list.js.map +0 -1
  322. package/dist/components/searchcraft-input-caption.d.ts +0 -11
  323. package/dist/components/searchcraft-input-caption.js +0 -8
  324. package/dist/components/searchcraft-input-caption.js.map +0 -1
  325. package/dist/components/searchcraft-input-icon.d.ts +0 -11
  326. package/dist/components/searchcraft-input-icon.js +0 -8
  327. package/dist/components/searchcraft-input-icon.js.map +0 -1
  328. package/dist/esm/index-0ac5bb53.js.map +0 -1
  329. package/dist/esm/searchcraft-auto-search-form_19.entry.js +0 -839
  330. package/dist/esm/searchcraft-auto-search-form_19.entry.js.map +0 -1
  331. package/dist/esm/store-6af9ea01.js +0 -396
  332. package/dist/esm/store-6af9ea01.js.map +0 -1
  333. package/dist/searchcraft-javascript-sdk/p-05416a3e.entry.js +0 -2
  334. package/dist/searchcraft-javascript-sdk/p-05416a3e.entry.js.map +0 -1
  335. package/dist/searchcraft-javascript-sdk/p-0880cfbb.js +0 -3
  336. package/dist/searchcraft-javascript-sdk/p-0880cfbb.js.map +0 -1
  337. package/dist/searchcraft-javascript-sdk/p-1ab836bf.js +0 -11
  338. package/dist/searchcraft-javascript-sdk/p-1ab836bf.js.map +0 -1
  339. package/dist/searchcraft-javascript-sdk/p-3cb77ee1.entry.js +0 -2
  340. package/dist/searchcraft-javascript-sdk/p-3cb77ee1.entry.js.map +0 -1
  341. package/dist/searchcraft-javascript-sdk/p-72382d90.entry.js +0 -2
  342. package/dist/searchcraft-javascript-sdk/p-72382d90.entry.js.map +0 -1
  343. package/dist/types/components/searchcraft-clear-input-button/searchcraft-clear-input-button.d.ts +0 -10
  344. package/dist/types/components/searchcraft-filters-list/searchcraft-filters-list.d.ts +0 -34
  345. package/dist/types/components/searchcraft-input-caption/searchcraft-input-caption.d.ts +0 -9
  346. package/dist/types/components/searchcraft-input-icon/searchcraft-input-icon.d.ts +0 -9
  347. package/readme.md +0 -11
  348. /package/dist/searchcraft-javascript-sdk/{p-5ec960bd.entry.js.map → p-69f64bdd.entry.js.map} +0 -0
@@ -1,48 +0,0 @@
1
- import { p as proxyCustomElement, H, h } from './p-7498e493.js';
2
- import { c as classNames } from './p-5cdc6210.js';
3
-
4
- const searchcraftInputLabelModuleCss = ":root{--font-stack:Helvetica, Arial, sans-serif}.labelLight{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-top:4px;color:#292929}.labelDark{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-top:4px;color:#FFF}";
5
- const SearchcraftInputLabelStyle0 = searchcraftInputLabelModuleCss;
6
-
7
- const SearchcraftInputLabel = /*@__PURE__*/ proxyCustomElement(class SearchcraftInputLabel extends H {
8
- constructor() {
9
- super();
10
- this.__registerHost();
11
- this.__attachShadow();
12
- this.inputLabelClassName = '';
13
- this.label = undefined;
14
- this.theme = 'light';
15
- }
16
- isLightTheme() {
17
- return this.theme === 'light';
18
- }
19
- render() {
20
- if (!this.label) {
21
- return null;
22
- }
23
- const labelStyle = this.isLightTheme() ? 'labelLight' : 'labelDark';
24
- return (h("label", { class: classNames(labelStyle, this.inputLabelClassName), htmlFor: 'searchcraft-input-id' }, this.label));
25
- }
26
- static get style() { return SearchcraftInputLabelStyle0; }
27
- }, [1, "searchcraft-input-label", {
28
- "inputLabelClassName": [1, "input-label-class-name"],
29
- "label": [1],
30
- "theme": [32]
31
- }]);
32
- function defineCustomElement() {
33
- if (typeof customElements === "undefined") {
34
- return;
35
- }
36
- const components = ["searchcraft-input-label"];
37
- components.forEach(tagName => { switch (tagName) {
38
- case "searchcraft-input-label":
39
- if (!customElements.get(tagName)) {
40
- customElements.define(tagName, SearchcraftInputLabel);
41
- }
42
- break;
43
- } });
44
- }
45
-
46
- export { SearchcraftInputLabel as S, defineCustomElement as d };
47
-
48
- //# sourceMappingURL=p-ae84b899.js.map
@@ -1 +0,0 @@
1
- {"file":"p-ae84b899.js","mappings":";;;AAAA,MAAM,8BAA8B,GAAG,4RAA4R,CAAC;AACpU,oCAAe,8BAA8B;;MCOhC,qBAAqB;;;;;mCACD,EAAE;;qBAEhB,OAAO;;IAEhB,YAAY;QAClB,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC;KAC/B;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,OAAO,IAAI,CAAC;SACb;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,YAAY,GAAG,WAAW,CAAC;QACpE,QACE,aACE,KAAK,EAAE,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,EACvD,OAAO,EAAC,sBAAsB,IAE7B,IAAI,CAAC,KAAK,CACL,EACR;KACH;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/searchcraft-input-label/searchcraft-input-label.module.scss?tag=searchcraft-input-label&encapsulation=shadow","src/components/searchcraft-input-label/searchcraft-input-label.tsx"],"sourcesContent":["@import '../../utils/theme';\n\n:root {\n --font-stack: Helvetica, Arial, sans-serif;\n}\n\n@mixin input-label-base {\n font-family: var(--font-stack);\n font-size: 12px;\n font-weight: 400;\n line-height: 16px;\n margin-top: 4px;\n}\n\n.labelLight {\n @include input-label-base;\n color: $light-input-label-color;\n}\n\n.labelDark {\n @include input-label-base;\n color: $dark-input-label-color;\n}","import { Component, Prop, h, State } from '@stencil/core';\nimport classNames from 'classnames';\n\n@Component({\n tag: 'searchcraft-input-label',\n styleUrl: 'searchcraft-input-label.module.scss',\n shadow: true,\n})\nexport class SearchcraftInputLabel {\n @Prop() inputLabelClassName? = '';\n @Prop() label?: string;\n @State() theme = 'light';\n\n private isLightTheme() {\n return this.theme === 'light';\n }\n\n render() {\n if (!this.label) {\n return null;\n }\n const labelStyle = this.isLightTheme() ? 'labelLight' : 'labelDark';\n return (\n <label\n class={classNames(labelStyle, this.inputLabelClassName)}\n htmlFor='searchcraft-input-id'\n >\n {this.label}\n </label>\n );\n }\n}\n"],"version":3}
@@ -1,33 +0,0 @@
1
- import { p as proxyCustomElement, H, h } from './p-7498e493.js';
2
-
3
- const searchcraftSpinnerDarkModuleCss = ".spinnerContainer{background-color:transparent;height:20px;width:20px}.spinnerDark{animation:spinning 1s linear infinite;background:conic-gradient(#000 50%, #FFFFFF);clip-path:circle(50%);height:100%;mask-image:radial-gradient(circle at center, rgba(0, 0, 0, 0) 6.6666666667px, rgb(0, 0, 0) 6.6666666667px);width:100%}.spinnerLight{animation:spinning 1s linear infinite;background:conic-gradient(#737373 50%, #FFFFFF);clip-path:circle(50%);height:100%;mask-image:radial-gradient(circle at center, rgba(0, 0, 0, 0) 6.6666666667px, rgb(0, 0, 0) 6.6666666667px);width:100%}@keyframes spinning{0%{transform:rotate(0deg)}50%{transform:rotate(180deg)}100%{transform:rotate(360deg)}}";
4
- const SearchcraftSpinnerDarkStyle0 = searchcraftSpinnerDarkModuleCss;
5
-
6
- const SearchcraftSpinnerDark = /*@__PURE__*/ proxyCustomElement(class SearchcraftSpinnerDark extends H {
7
- constructor() {
8
- super();
9
- this.__registerHost();
10
- this.__attachShadow();
11
- }
12
- render() {
13
- return (h("div", { key: 'be34b9a3ecec05fdc169145a5db5a4f37bbd404b', class: 'spinnerContainer' }, h("div", { key: 'b59ffd2fe8dd3ac990003bff3085cb571c08730e', class: 'spinnerDark' })));
14
- }
15
- static get style() { return SearchcraftSpinnerDarkStyle0; }
16
- }, [1, "searchcraft-spinner-dark"]);
17
- function defineCustomElement() {
18
- if (typeof customElements === "undefined") {
19
- return;
20
- }
21
- const components = ["searchcraft-spinner-dark"];
22
- components.forEach(tagName => { switch (tagName) {
23
- case "searchcraft-spinner-dark":
24
- if (!customElements.get(tagName)) {
25
- customElements.define(tagName, SearchcraftSpinnerDark);
26
- }
27
- break;
28
- } });
29
- }
30
-
31
- export { SearchcraftSpinnerDark as S, defineCustomElement as d };
32
-
33
- //# sourceMappingURL=p-bc3f9025.js.map
@@ -1 +0,0 @@
1
- {"file":"p-bc3f9025.js","mappings":";;AAAA,MAAM,+BAA+B,GAAG,sqBAAsqB,CAAC;AAC/sB,qCAAe,+BAA+B;;MCMjC,sBAAsB;;;;;;IACjC,MAAM;QACJ,QACE,4DAAK,KAAK,EAAC,kBAAkB,IAC3B,4DAAK,KAAK,EAAC,aAAa,GAAG,CACvB,EACN;KACH;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/searchcraft-spinner-dark/searchcraft-spinner-dark.module.scss?tag=searchcraft-spinner-dark&encapsulation=shadow","src/components/searchcraft-spinner-dark/searchcraft-spinner-dark.tsx"],"sourcesContent":["$spinner-size: 20px;\n\n.spinnerContainer {\n background-color: transparent;\n height: $spinner-size;\n width: $spinner-size;\n}\n\n.spinnerDark {\n animation: spinning 1s linear infinite;\n background: conic-gradient(#000 50%, #FFFFFF);\n clip-path: circle(50%);\n height: 100%;\n mask-image: radial-gradient(circle at center, rgba(0,0,0,0) calc($spinner-size/3), rgba(0,0,0,1) calc($spinner-size/3));\n width: 100%;\n}\n\n.spinnerLight {\n animation: spinning 1s linear infinite;\n background: conic-gradient(#737373 50%, #FFFFFF);\n clip-path: circle(50%);\n height: 100%;\n mask-image: radial-gradient(circle at center, rgba(0,0,0,0) calc($spinner-size/3), rgba(0,0,0,1) calc($spinner-size/3));\n width: 100%;\n}\n\n@keyframes spinning {\n 0% { transform: rotate(0deg); }\n 50% {transform: rotate(180deg);}\n 100% { transform: rotate(360deg); }\n}","import { Component, h } from '@stencil/core';\n\n@Component({\n tag: 'searchcraft-spinner-dark',\n styleUrl: 'searchcraft-spinner-dark.module.scss',\n shadow: true,\n})\nexport class SearchcraftSpinnerDark {\n render() {\n return (\n <div class='spinnerContainer'>\n <div class='spinnerDark' />\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,33 +0,0 @@
1
- import { p as proxyCustomElement, H, h } from './p-7498e493.js';
2
-
3
- const searchcraftSpinnerLightModuleCss = ".spinnerContainer{background-color:transparent;height:20px;width:20px}.spinnerLight{animation:spinning 1s linear infinite;background:conic-gradient(#737373 50%, #FFFFFF);clip-path:circle(50%);height:100%;mask-image:radial-gradient(circle at center, rgba(0, 0, 0, 0) 6.6666666667px, rgb(0, 0, 0) 6.6666666667px);width:100%}@keyframes spinning{0%{transform:rotate(0deg)}50%{transform:rotate(180deg)}100%{transform:rotate(360deg)}}";
4
- const SearchcraftSpinnerLightStyle0 = searchcraftSpinnerLightModuleCss;
5
-
6
- const SearchcraftSpinnerLight = /*@__PURE__*/ proxyCustomElement(class SearchcraftSpinnerLight extends H {
7
- constructor() {
8
- super();
9
- this.__registerHost();
10
- this.__attachShadow();
11
- }
12
- render() {
13
- return (h("div", { key: 'a4f73eee03d4d7253c04c47995315bd121e8ded3', class: 'spinnerContainer' }, h("div", { key: '53e3486ef7a2fa6029a6107bae2c0655b1608a12', class: 'spinnerLight' })));
14
- }
15
- static get style() { return SearchcraftSpinnerLightStyle0; }
16
- }, [1, "searchcraft-spinner-light"]);
17
- function defineCustomElement() {
18
- if (typeof customElements === "undefined") {
19
- return;
20
- }
21
- const components = ["searchcraft-spinner-light"];
22
- components.forEach(tagName => { switch (tagName) {
23
- case "searchcraft-spinner-light":
24
- if (!customElements.get(tagName)) {
25
- customElements.define(tagName, SearchcraftSpinnerLight);
26
- }
27
- break;
28
- } });
29
- }
30
-
31
- export { SearchcraftSpinnerLight as S, defineCustomElement as d };
32
-
33
- //# sourceMappingURL=p-bfb22305.js.map
@@ -1 +0,0 @@
1
- {"file":"p-bfb22305.js","mappings":";;AAAA,MAAM,gCAAgC,GAAG,8aAA8a,CAAC;AACxd,sCAAe,gCAAgC;;MCMlC,uBAAuB;;;;;;IAClC,MAAM;QACJ,QACE,4DAAK,KAAK,EAAC,kBAAkB,IAC3B,4DAAK,KAAK,EAAC,cAAc,GAAG,CACxB,EACN;KACH;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/searchcraft-spinner-light/searchcraft-spinner-light.module.scss?tag=searchcraft-spinner-light&encapsulation=shadow","src/components/searchcraft-spinner-light/searchcraft-spinner-light.tsx"],"sourcesContent":["$spinner-size: 20px;\n\n.spinnerContainer {\n background-color: transparent;\n height: $spinner-size;\n width: $spinner-size;\n}\n\n.spinnerLight {\n animation: spinning 1s linear infinite;\n background: conic-gradient(#737373 50%, #FFFFFF);\n clip-path: circle(50%);\n height: 100%;\n mask-image: radial-gradient(circle at center, rgba(0,0,0,0) calc($spinner-size/3), rgba(0,0,0,1) calc($spinner-size/3));\n width: 100%;\n}\n\n@keyframes spinning {\n 0% { transform: rotate(0deg); }\n 50% {transform: rotate(180deg);}\n 100% { transform: rotate(360deg); }\n}","import { Component, h } from '@stencil/core';\n\n@Component({\n tag: 'searchcraft-spinner-light',\n styleUrl: 'searchcraft-spinner-light.module.scss',\n shadow: true,\n})\nexport class SearchcraftSpinnerLight {\n render() {\n return (\n <div class='spinnerContainer'>\n <div class='spinnerLight' />\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,89 +0,0 @@
1
- import { p as proxyCustomElement, H, c as createEvent, h, F as Fragment } from './p-7498e493.js';
2
-
3
- const searchcraftBaseSearchResultModuleCss = "@charset \"UTF-8\";:root{--font-stack:Helvetica, Arial, sans-serif}.interactiveResultContainerLight{align-items:flex-start;border-radius:16px;display:flex;flex-direction:column;gap:16px;padding:8px;position:relative;background-color:#FAFAFA}@media (min-width: 600px){.interactiveResultContainerLight{flex-direction:row}}.interactiveResultContainerDark{align-items:flex-start;border-radius:16px;display:flex;flex-direction:column;gap:16px;padding:8px;position:relative;background-color:#2E2E2E}@media (min-width: 600px){.interactiveResultContainerDark{flex-direction:row}}.resultContainer{align-items:flex-start;display:flex;flex-direction:column;gap:16px}@media (min-width: 600px){.resultContainer{flex-direction:row}}.interactiveIconLarge{display:inline-block;position:absolute;right:5px;top:8px}@media (max-width: 600px){.interactiveIconLarge{display:none}}.interactiveIconSmall{display:inline-block;position:absolute;right:5px;top:-2px}@media (min-width: 600px){.interactiveIconSmall{display:none}}.imageContainer{max-width:100%}.contentContainer{max-height:100%;max-width:100%}@media (min-width: 600px){.contentContainer{max-width:50%}}.secondaryContentContainer{display:flex}.imageLight{border-radius:8px;max-height:100%;max-width:100%;border:1px solid #D9D9D9}.imageDark{border-radius:8px;max-height:100%;max-width:100%;border:1px solid #333}.headingLight{font-family:var(--font-stack);font-size:16px;font-weight:700;line-height:20px;margin-bottom:4px;margin-top:0;position:relative;-webkit-font-smoothing:antialiased;color:#292929}.headingDark{font-family:var(--font-stack);font-size:16px;font-weight:700;line-height:20px;margin-bottom:4px;margin-top:0;position:relative;-webkit-font-smoothing:antialiased;color:#FFF}.subheadingLight{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-bottom:4px;margin-top:0px;-webkit-font-smoothing:antialiased;color:#737373}.subheadingDark{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-bottom:4px;margin-top:0px;-webkit-font-smoothing:antialiased;color:#BFBFBF}.primaryContentLight{font-family:var(--font-stack);font-size:16px;font-weight:400;line-height:20px;margin-bottom:4px;margin-top:0px;-webkit-font-smoothing:antialiased;color:#404040}.primaryContentDark{font-family:var(--font-stack);font-size:16px;font-weight:400;line-height:20px;margin-bottom:4px;margin-top:0px;-webkit-font-smoothing:antialiased;color:#E6E6E6}.secondaryContentLight{font-family:var(--font-stack);font-size:16px;font-weight:400;line-height:20px;margin-bottom:4px;margin-top:0px;-webkit-font-smoothing:antialiased;color:#404040}.secondaryContentLight::after{content:\"•\";color:#404040;font-size:1em;margin-left:5px;margin-right:5px}.secondaryContentDark{font-family:var(--font-stack);font-size:16px;font-weight:400;line-height:20px;margin-bottom:4px;margin-top:0px;-webkit-font-smoothing:antialiased;color:#E6E6E6}.tertiaryContentLight{font-family:var(--font-stack);font-size:16px;font-weight:400;line-height:20px;margin-bottom:4px;margin-top:0px;-webkit-font-smoothing:antialiased;color:#404040}.tertiaryContentDark{font-family:var(--font-stack);font-size:16px;font-weight:400;line-height:20px;margin-bottom:4px;margin-top:0px;-webkit-font-smoothing:antialiased;color:#E6E6E6}";
4
- const SearchcraftBaseSearchResultStyle0 = searchcraftBaseSearchResultModuleCss;
5
-
6
- const SearchcraftBaseSearchResult = /*@__PURE__*/ proxyCustomElement(class SearchcraftBaseSearchResult extends H {
7
- constructor() {
8
- super();
9
- this.__registerHost();
10
- this.__attachShadow();
11
- this.buttonCallback = createEvent(this, "buttonCallback", 7);
12
- this.keyDownCallback = createEvent(this, "keyDownCallback", 7);
13
- this.resultCallback = createEvent(this, "resultCallback", 7);
14
- this.buttonCallback = () => { }; // Callback for button click
15
- this.keyDownCallback = () => { }; // Callback for key down event
16
- this.resultCallback = () => { }; // Callback for result container click
17
- this.handleButtonClick = () => {
18
- this.buttonCallback();
19
- };
20
- this.handleContainerClick = () => {
21
- if (this.isInteractive) {
22
- this.resultCallback();
23
- }
24
- };
25
- this.buttonText = '';
26
- this.customStyles = '{}';
27
- this.headingText = '';
28
- this.imageDescription = '';
29
- this.imageSource = '';
30
- this.isInteractive = false;
31
- this.primaryContent = '';
32
- this.secondaryContent = '';
33
- this.subheadingText = '';
34
- this.tertiaryContent = '';
35
- this.themeMode = 'light';
36
- this.placeImageRight = false;
37
- }
38
- parseStyles() {
39
- try {
40
- return JSON.parse(this.customStyles);
41
- }
42
- catch (error) {
43
- console.error('Error parsing custom styles:', error);
44
- return {};
45
- }
46
- }
47
- render() {
48
- const isLightTheme = this.themeMode === 'light';
49
- const styles = this.parseStyles();
50
- const imageContainer = this.imageSource && (h("div", { key: '5446a636265cf330a7e67f7539dad7e25077ecda', class: 'imageContainer' }, h("img", { key: '59529cce35008eb171f4ee634ed94ff96e716dad', alt: this.imageDescription, class: isLightTheme ? 'imageLight' : 'imageDark', src: this.imageSource, style: styles.image || {} })));
51
- const contentContainer = (h("div", { key: 'fd052ef1e3dedcf5b1467b6b0760d0be349c1faf', class: 'contentContainer' }, h("h2", { key: '1d1eca475651641b34d477ea7e2ea2f3eb7a2c49', class: isLightTheme ? 'headingLight' : 'headingDark', style: styles.heading || {} }, this.headingText), h("h3", { key: '9fcf054f634d088b72b67a2675b67a89f651285b', class: isLightTheme ? 'subheadingLight' : 'subheadingDark', style: styles.subheading || {} }, this.subheadingText), h("p", { key: '477078081008771a462abb042232b84f1e72ddd5', class: isLightTheme ? 'primaryContentLight' : 'primaryContentDark', style: styles.primaryContent || {} }, this.primaryContent), h("div", { key: '716ea0fe1efbd18f0b6313baac80834fbab53001', class: 'secondaryContentContainer' }, h("p", { key: '340dad3f568e5cc2b0a1b412b92a335b9afb7a0f', class: isLightTheme ? 'secondaryContentLight' : 'secondaryContentDark', style: styles.secondaryContent || {} }, this.secondaryContent), h("p", { key: 'b0c940aab4b48d4e560aabe7551b3c1a0a4ef3ae', class: isLightTheme ? 'tertiaryContentLight' : 'tertiaryContentDark', style: styles.tertiaryContent || {} }, this.tertiaryContent)), this.buttonText && (h("button", { key: 'd9a08ff62c8bc7d2b13bb42872e2391290de0712', onClick: this.handleButtonClick, style: styles.button || {}, type: 'button' }, this.buttonText))));
52
- return (h("div", { key: '310676a0e48c3a3d76559b3e3012db1681a55499', class: this.isInteractive
53
- ? isLightTheme
54
- ? 'interactiveResultContainerLight'
55
- : 'interactiveResultContainerDark'
56
- : 'resultContainer', onKeyDown: this.keyDownCallback, onClick: this.handleContainerClick, style: styles.container || {}, tabindex: '0' }, this.placeImageRight ? (h(Fragment, null, contentContainer, imageContainer)) : (h(Fragment, null, imageContainer, contentContainer))));
57
- }
58
- static get style() { return SearchcraftBaseSearchResultStyle0; }
59
- }, [1, "searchcraft-base-search-result", {
60
- "buttonText": [1, "button-text"],
61
- "customStyles": [1, "custom-styles"],
62
- "headingText": [1, "heading-text"],
63
- "imageDescription": [1, "image-description"],
64
- "imageSource": [1, "image-source"],
65
- "isInteractive": [4, "is-interactive"],
66
- "primaryContent": [1, "primary-content"],
67
- "secondaryContent": [1, "secondary-content"],
68
- "subheadingText": [1, "subheading-text"],
69
- "tertiaryContent": [1, "tertiary-content"],
70
- "themeMode": [1, "theme-mode"],
71
- "placeImageRight": [4, "place-image-right"]
72
- }]);
73
- function defineCustomElement() {
74
- if (typeof customElements === "undefined") {
75
- return;
76
- }
77
- const components = ["searchcraft-base-search-result"];
78
- components.forEach(tagName => { switch (tagName) {
79
- case "searchcraft-base-search-result":
80
- if (!customElements.get(tagName)) {
81
- customElements.define(tagName, SearchcraftBaseSearchResult);
82
- }
83
- break;
84
- } });
85
- }
86
-
87
- export { SearchcraftBaseSearchResult as S, defineCustomElement as d };
88
-
89
- //# sourceMappingURL=p-c31274dd.js.map
@@ -1 +0,0 @@
1
- {"file":"p-c31274dd.js","mappings":";;AAAA,MAAM,oCAAoC,GAAG,ysGAAysG,CAAC;AACvvG,0CAAe,oCAAoC;;MCMtC,2BAA2B;;;;;;;;QAc7B,mBAAc,GAAe,SAAQ,CAAC;QACtC,oBAAe,GAAe,SAAQ,CAAC;QACvC,mBAAc,GAAe,SAAQ,CAAC;QAEvC,sBAAiB,GAAG;YAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB,CAAC;QAEM,yBAAoB,GAAG;YAC7B,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;SACF,CAAC;0BAzBmB,EAAE;4BACA,IAAI;2BACL,EAAE;gCACG,EAAE;2BACP,EAAE;6BACA,KAAK;8BACJ,EAAE;gCACA,EAAE;8BACJ,EAAE;+BACD,EAAE;yBACU,OAAO;+BACnB,KAAK;;IAgBvB,WAAW;QACjB,IAAI;YACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACtC;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO,EAAE,CAAC;SACX;KACF;IAED,MAAM;QACJ,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAElC,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,KACrC,4DAAK,KAAK,EAAC,gBAAgB,IACzB,4DACE,GAAG,EAAE,IAAI,CAAC,gBAAgB,EAC1B,KAAK,EAAE,YAAY,GAAG,YAAY,GAAG,WAAW,EAChD,GAAG,EAAE,IAAI,CAAC,WAAW,EACrB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,GACzB,CACE,CACP,CAAC;QAEF,MAAM,gBAAgB,IACpB,4DAAK,KAAK,EAAC,kBAAkB,IAC3B,2DACE,KAAK,EAAE,YAAY,GAAG,cAAc,GAAG,aAAa,EACpD,KAAK,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,IAE1B,IAAI,CAAC,WAAW,CACd,EACL,2DACE,KAAK,EAAE,YAAY,GAAG,iBAAiB,GAAG,gBAAgB,EAC1D,KAAK,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE,IAE7B,IAAI,CAAC,cAAc,CACjB,EACL,0DACE,KAAK,EAAE,YAAY,GAAG,qBAAqB,GAAG,oBAAoB,EAClE,KAAK,EAAE,MAAM,CAAC,cAAc,IAAI,EAAE,IAEjC,IAAI,CAAC,cAAc,CAClB,EACJ,4DAAK,KAAK,EAAC,2BAA2B,IACpC,0DACE,KAAK,EACH,YAAY,GAAG,uBAAuB,GAAG,sBAAsB,EAEjE,KAAK,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE,IAEnC,IAAI,CAAC,gBAAgB,CACpB,EACJ,0DACE,KAAK,EACH,YAAY,GAAG,sBAAsB,GAAG,qBAAqB,EAE/D,KAAK,EAAE,MAAM,CAAC,eAAe,IAAI,EAAE,IAElC,IAAI,CAAC,eAAe,CACnB,CACA,EACL,IAAI,CAAC,UAAU,KACd,+DACE,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,EAC1B,IAAI,EAAC,QAAQ,IAEZ,IAAI,CAAC,UAAU,CACT,CACV,CACG,CACP,CAAC;QAEF,QACE,4DACE,KAAK,EACH,IAAI,CAAC,aAAa;kBACd,YAAY;sBACV,iCAAiC;sBACjC,gCAAgC;kBAClC,iBAAiB,EAEvB,SAAS,EAAE,IAAI,CAAC,eAAe,EAC/B,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAClC,KAAK,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE,EAC7B,QAAQ,EAAC,GAAG,IAEX,IAAI,CAAC,eAAe,IACnB,EAAC,QAAQ,QACN,gBAAgB,EAChB,cAAc,CACN,KAEX,EAAC,QAAQ,QACN,cAAc,EACd,gBAAgB,CACR,CACZ,CACG,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/searchcraft-base-search-result/searchcraft-base-search-result.module.scss?tag=searchcraft-base-search-result&encapsulation=shadow","src/components/searchcraft-base-search-result/searchcraft-base-search-result.tsx"],"sourcesContent":["@import '../../utils/theme';\n\n:root {\n --font-stack: Helvetica, Arial, sans-serif;\n}\n\n@mixin interactive-result-container-base {\n align-items: flex-start;\n border-radius: 16px;\n display: flex;\n flex-direction: column;\n gap: 16px;\n padding: 8px;\n position: relative;\n\n @media (min-width: 600px) {\n flex-direction: row;\n }\n}\n\n.interactiveResultContainerLight {\n @include interactive-result-container-base;\n background-color: $light-search-result-container-background;\n}\n\n.interactiveResultContainerDark {\n @include interactive-result-container-base;\n background-color: $dark-search-result-container-background;\n}\n\n.resultContainer {\n align-items: flex-start;\n display: flex;\n flex-direction: column;\n gap: 16px;\n\n @media (min-width: 600px) {\n flex-direction: row;\n }\n}\n\n.interactiveIconLarge {\n display: inline-block;\n position: absolute;\n right: 5px;\n top: 8px;\n\n\n @media (max-width: 600px) {\n display: none;\n }\n}\n\n.interactiveIconSmall {\n display: inline-block;\n position: absolute;\n right: 5px;\n top: -2px;\n\n\n @media (min-width: 600px) {\n display: none;\n }\n}\n\n.imageContainer {\n max-width: 100%;\n}\n\n.contentContainer {\n max-height: 100%;\n max-width: 100%;\n\n @media (min-width: 600px) {\n max-width: 50%;\n }\n}\n\n.secondaryContentContainer {\n display: flex;\n\n}\n\n@mixin image-base {\n border-radius: 8px;\n max-height: 100%;\n max-width: 100%;\n}\n\n.imageLight {\n @include image-base;\n border: 1px solid $light-search-result-image-border;\n}\n\n.imageDark {\n @include image-base;\n border: 1px solid $dark-search-result-image-border;\n}\n\n@mixin heading-base {\n font-family: var(--font-stack);\n font-size: 16px;\n font-weight: 700;\n line-height: 20px;\n margin-bottom: 4px;\n margin-top: 0;\n position: relative;\n -webkit-font-smoothing: antialiased;\n}\n\n.headingLight {\n @include heading-base;\n color: $light-search-result-heading-color;\n}\n\n.headingDark {\n @include heading-base;\n color: $dark-search-result-heading-color;\n}\n\n@mixin subheading-base {\n font-family: var(--font-stack);\n font-size: 12px;\n font-weight: 400;\n line-height: 16px;\n margin-bottom: 4px;\n margin-top: 0px;\n -webkit-font-smoothing: antialiased;\n}\n\n.subheadingLight {\n @include subheading-base;\n color: $light-search-result-subheading-color;\n}\n\n.subheadingDark {\n @include subheading-base;\n color: $dark-search-result-subheading-color\n}\n\n@mixin body-content-base {\n font-family: var(--font-stack);\n font-size: 16px;\n font-weight: 400;\n line-height: 20px;\n margin-bottom: 4px;\n margin-top: 0px;\n -webkit-font-smoothing: antialiased;\n}\n\n.primaryContentLight {\n @include body-content-base;\n color: $light-search-result-body-content-color;\n}\n\n.primaryContentDark {\n @include body-content-base;\n color: $dark-search-result-body-content-color;\n}\n\n.secondaryContentLight {\n @include body-content-base;\n color: $light-search-result-body-content-color;\n}\n\n.secondaryContentLight::after {\n content: \"•\";\n color: $light-search-result-body-content-color;\n font-size: 1em;\n margin-left: 5px;\n margin-right: 5px;\n}\n\n.secondaryContentDark {\n @include body-content-base;\n color: $dark-search-result-body-content-color;\n}\n\n.tertiaryContentLight {\n @include body-content-base;\n color: $light-search-result-body-content-color;\n}\n\n.tertiaryContentDark {\n @include body-content-base;\n color: $dark-search-result-body-content-color;\n}","import { Component, Event, Fragment, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'searchcraft-base-search-result',\n styleUrl: 'searchcraft-base-search-result.module.scss',\n shadow: true,\n})\nexport class SearchcraftBaseSearchResult {\n @Prop() buttonText = ''; // Label for the button\n @Prop() customStyles = '{}'; // New string prop for serialized styles.\n @Prop() headingText = ''; // Text for the heading\n @Prop() imageDescription = ''; // Alternative text for the image\n @Prop() imageSource = ''; // Source URL for the image\n @Prop() isInteractive = false; // Determines if the result is interactive\n @Prop() primaryContent = ''; // Primary body content\n @Prop() secondaryContent = ''; // Secondary body content\n @Prop() subheadingText = ''; // Text for the subheading\n @Prop() tertiaryContent = ''; // Tertiary body content\n @Prop() themeMode: 'light' | 'dark' = 'light'; // Light or dark theme context\n @Prop() placeImageRight = false; // Determines the placement of the image container\n\n @Event() buttonCallback: () => void = () => {}; // Callback for button click\n @Event() keyDownCallback: () => void = () => {}; // Callback for key down event\n @Event() resultCallback: () => void = () => {}; // Callback for result container click\n\n private handleButtonClick = () => {\n this.buttonCallback();\n };\n\n private handleContainerClick = () => {\n if (this.isInteractive) {\n this.resultCallback();\n }\n };\n\n private parseStyles(): Record<string, { [key: string]: string }> {\n try {\n return JSON.parse(this.customStyles);\n } catch (error) {\n console.error('Error parsing custom styles:', error);\n return {};\n }\n }\n\n render() {\n const isLightTheme = this.themeMode === 'light';\n const styles = this.parseStyles();\n\n const imageContainer = this.imageSource && (\n <div class='imageContainer'>\n <img\n alt={this.imageDescription}\n class={isLightTheme ? 'imageLight' : 'imageDark'}\n src={this.imageSource}\n style={styles.image || {}}\n />\n </div>\n );\n\n const contentContainer = (\n <div class='contentContainer'>\n <h2\n class={isLightTheme ? 'headingLight' : 'headingDark'}\n style={styles.heading || {}}\n >\n {this.headingText}\n </h2>\n <h3\n class={isLightTheme ? 'subheadingLight' : 'subheadingDark'}\n style={styles.subheading || {}}\n >\n {this.subheadingText}\n </h3>\n <p\n class={isLightTheme ? 'primaryContentLight' : 'primaryContentDark'}\n style={styles.primaryContent || {}}\n >\n {this.primaryContent}\n </p>\n <div class='secondaryContentContainer'>\n <p\n class={\n isLightTheme ? 'secondaryContentLight' : 'secondaryContentDark'\n }\n style={styles.secondaryContent || {}}\n >\n {this.secondaryContent}\n </p>\n <p\n class={\n isLightTheme ? 'tertiaryContentLight' : 'tertiaryContentDark'\n }\n style={styles.tertiaryContent || {}}\n >\n {this.tertiaryContent}\n </p>\n </div>\n {this.buttonText && (\n <button\n onClick={this.handleButtonClick}\n style={styles.button || {}}\n type='button'\n >\n {this.buttonText}\n </button>\n )}\n </div>\n );\n\n return (\n <div\n class={\n this.isInteractive\n ? isLightTheme\n ? 'interactiveResultContainerLight'\n : 'interactiveResultContainerDark'\n : 'resultContainer'\n }\n onKeyDown={this.keyDownCallback}\n onClick={this.handleContainerClick}\n style={styles.container || {}}\n tabindex='0'\n >\n {this.placeImageRight ? (\n <Fragment>\n {contentContainer}\n {imageContainer}\n </Fragment>\n ) : (\n <Fragment>\n {imageContainer}\n {contentContainer}\n </Fragment>\n )}\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,313 +0,0 @@
1
- import { b as filterPaths } from './p-7d1bcd2d.js';
2
-
3
- var f = Object.defineProperty;
4
- var c = (o, t, e) => t in o ? f(o, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[t] = e;
5
- var l$1 = (o, t, e) => c(o, typeof t != "symbol" ? t + "" : t, e);
6
- class g {
7
- constructor(t) {
8
- l$1(this, "config");
9
- /**
10
- * Performs a search operation.
11
- * @param {SearchParams} searchParams - The parameters for the search.
12
- * @returns {Promise<SearchcraftResponse>} - Returns the search response or throws an error.
13
- */
14
- l$1(this, "search", async (t) => {
15
- if ((t.query.match(/"/g) || []).length % 2 !== 0)
16
- throw new Error(
17
- "The search term contains an uneven number of quote characters."
18
- );
19
- try {
20
- const n = this.config.index.join(","), s = `${this.config.endpointURL}/index/${n}/search`, r = {
21
- query: this.buildQueryObject(t),
22
- limit: t.limit ?? 20
23
- // Default to 20 if not provided
24
- };
25
- t.offset !== void 0 && (r.offset = t.offset), t.facets && (r.facets = t.facets), t.order_by && (r.order_by = t.order_by, r.sort = t.sort === "desc" || t.sort === "asc" ? t.sort : "asc");
26
- const u = {
27
- method: "POST",
28
- headers: {
29
- Authorization: this.config.apiKey,
30
- "Content-Type": "application/json"
31
- },
32
- body: JSON.stringify(r)
33
- }, i = await fetch(s, u);
34
- if (!i.ok)
35
- throw new Error(
36
- `Error: ${i.statusText} (Status: ${i.status})`
37
- );
38
- return await i.json();
39
- } catch (n) {
40
- throw console.error("Error parsing response:", n), n;
41
- }
42
- });
43
- if (!t.endpointURL || !t.index || !t.apiKey)
44
- throw new Error(
45
- "Endpoint URL, Index value(s), and API Key must be provided"
46
- );
47
- this.config = t;
48
- }
49
- /**
50
- * Builds a query object for the search request.
51
- * @param {SearchParams} searchParams - The parameters for the search.
52
- * @returns {QueryObject} - A properly formatted query object.
53
- */
54
- buildQueryObject(t) {
55
- var r;
56
- const e = [];
57
- let n = "should";
58
- if (t.yearsRange) {
59
- n = "must";
60
- const u = /* @__PURE__ */ new Date(`${t.yearsRange[0]}-01-01`), i = /* @__PURE__ */ new Date(`${t.yearsRange[1]}-12-31`);
61
- e.push({
62
- occur: n,
63
- normal: {
64
- ctx: `date_published:[${u.toISOString()} TO ${i.toISOString()}]`
65
- }
66
- });
67
- }
68
- const s = Object.keys(((r = t == null ? void 0 : t.facets) == null ? void 0 : r.section.counts) || {});
69
- return s && s.length > 0 && (n = "must", e.push({
70
- occur: n,
71
- normal: {
72
- ctx: `section: IN [${s.join(" ")}]`
73
- }
74
- })), t.sort === "desc" ? t.order_by = "date_published" : t.order_by = "", e.push({
75
- occur: n,
76
- // Valid, as 'occur' is a required property in QueryItem
77
- [t.mode]: { ctx: t.query }
78
- // Ensure dynamic mode is inside queryType
79
- }), e;
80
- }
81
- }
82
- var d = /* @__PURE__ */ ((o) => (o[o.DEBUG = 0] = "DEBUG", o[o.INFO = 1] = "INFO", o[o.WARN = 2] = "WARN", o[o.ERROR = 3] = "ERROR", o))(d || {});
83
- class b {
84
- constructor(t) {
85
- l$1(this, "logLevel");
86
- l$1(this, "logFormatter");
87
- this.logLevel = t.logLevel || 1, this.logFormatter = t.logFormatter || this.defaultFormatter;
88
- }
89
- defaultFormatter(t, e) {
90
- return `[${d[t]}] ${( new Date()).toISOString()}: ${e}`;
91
- }
92
- debug(t) {
93
- this.logLevel <= 0 && console.log(this.logFormatter(0, t));
94
- }
95
- info(t) {
96
- this.logLevel <= 1 && console.info(this.logFormatter(1, t));
97
- }
98
- warn(t) {
99
- this.logLevel <= 2 && console.warn(this.logFormatter(2, t));
100
- }
101
- error(t) {
102
- this.logLevel <= 3 && console.error(this.logFormatter(3, t));
103
- }
104
- }
105
-
106
- var zustand = {};
107
-
108
- var vanilla$1 = {};
109
-
110
- const createStoreImpl = (createState) => {
111
- let state;
112
- const listeners = /* @__PURE__ */ new Set();
113
- const setState = (partial, replace) => {
114
- const nextState = typeof partial === "function" ? partial(state) : partial;
115
- if (!Object.is(nextState, state)) {
116
- const previousState = state;
117
- state = (replace != null ? replace : typeof nextState !== "object" || nextState === null) ? nextState : Object.assign({}, state, nextState);
118
- listeners.forEach((listener) => listener(state, previousState));
119
- }
120
- };
121
- const getState = () => state;
122
- const getInitialState = () => initialState;
123
- const subscribe = (listener) => {
124
- listeners.add(listener);
125
- return () => listeners.delete(listener);
126
- };
127
- const api = { setState, getState, getInitialState, subscribe };
128
- const initialState = state = createState(setState, getState, api);
129
- return api;
130
- };
131
- const createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;
132
-
133
- vanilla$1.createStore = createStore;
134
-
135
- var react$1 = {};
136
-
137
- var react = {exports: {}};
138
-
139
- var react_production_min = {};
140
-
141
- /**
142
- * @license React
143
- * react.production.min.js
144
- *
145
- * Copyright (c) Facebook, Inc. and its affiliates.
146
- *
147
- * This source code is licensed under the MIT license found in the
148
- * LICENSE file in the root directory of this source tree.
149
- */
150
- var l=Symbol.for("react.element"),n=Symbol.for("react.portal"),p=Symbol.for("react.fragment"),q=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),t=Symbol.for("react.provider"),u=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),w=Symbol.for("react.suspense"),x=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),z=Symbol.iterator;function A(a){if(null===a||"object"!==typeof a)return null;a=z&&a[z]||a["@@iterator"];return "function"===typeof a?a:null}
151
- var B={isMounted:function(){return !1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B;}E.prototype.isReactComponent={};
152
- E.prototype.setState=function(a,b){if("object"!==typeof a&&"function"!==typeof a&&null!=a)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,a,b,"setState");};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,"forceUpdate");};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B;}var H=G.prototype=new F;
153
- H.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};
154
- function M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=""+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f;}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return {$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}
155
- function N(a,b){return {$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return "object"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={"=":"=0",":":"=2"};return "$"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\/+/g;function Q(a,b){return "object"===typeof a&&null!==a&&null!=a.key?escape(""+a.key):b.toString(36)}
156
- function R(a,b,e,d,c){var k=typeof a;if("undefined"===k||"boolean"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case "string":case "number":h=!0;break;case "object":switch(a.$$typeof){case l:case n:h=!0;}}if(h)return h=a,c=c(h),a=""===d?"."+Q(h,0):d,I(c)?(e="",null!=a&&(e=a.replace(P,"$&/")+"/"),R(c,b,e,"",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?"":(""+c.key).replace(P,"$&/")+"/")+a)),b.push(c)),1;h=0;d=""===d?".":d+":";if(I(a))for(var g=0;g<a.length;g++){k=
157
- a[g];var f=d+Q(k,g);h+=R(k,b,e,f,c);}else if(f=A(a),"function"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if("object"===k)throw b=String(a),Error("Objects are not valid as a React child (found: "+("[object Object]"===b?"object with keys {"+Object.keys(a).join(", ")+"}":b)+"). If you meant to render a collection of children, use an array instead.");return h}
158
- function S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,"","",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b;},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b;});-1===a._status&&(a._status=0,a._result=b);}if(1===a._status)return a._result.default;throw a._result;}
159
- var U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};function X(){throw Error("act(...) is not supported in production builds of React.");}
160
- react_production_min.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments);},e);},count:function(a){var b=0;S(a,function(){b++;});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error("React.Children.only expected to receive a single React element child.");return a}};react_production_min.Component=E;react_production_min.Fragment=p;react_production_min.Profiler=r;react_production_min.PureComponent=G;react_production_min.StrictMode=q;react_production_min.Suspense=w;
161
- react_production_min.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;react_production_min.act=X;
162
- react_production_min.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+a+".");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=""+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f]);}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);
163
- for(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g;}return {$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};react_production_min.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};react_production_min.createElement=M;react_production_min.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};react_production_min.createRef=function(){return {current:null}};
164
- react_production_min.forwardRef=function(a){return {$$typeof:v,render:a}};react_production_min.isValidElement=O;react_production_min.lazy=function(a){return {$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};react_production_min.memo=function(a,b){return {$$typeof:x,type:a,compare:void 0===b?null:b}};react_production_min.startTransition=function(a){var b=V.transition;V.transition={};try{a();}finally{V.transition=b;}};react_production_min.unstable_act=X;react_production_min.useCallback=function(a,b){return U.current.useCallback(a,b)};react_production_min.useContext=function(a){return U.current.useContext(a)};
165
- react_production_min.useDebugValue=function(){};react_production_min.useDeferredValue=function(a){return U.current.useDeferredValue(a)};react_production_min.useEffect=function(a,b){return U.current.useEffect(a,b)};react_production_min.useId=function(){return U.current.useId()};react_production_min.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};react_production_min.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};react_production_min.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};
166
- react_production_min.useMemo=function(a,b){return U.current.useMemo(a,b)};react_production_min.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};react_production_min.useRef=function(a){return U.current.useRef(a)};react_production_min.useState=function(a){return U.current.useState(a)};react_production_min.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};react_production_min.useTransition=function(){return U.current.useTransition()};react_production_min.version="18.3.1";
167
-
168
- {
169
- react.exports = react_production_min;
170
- }
171
-
172
- var React = react.exports;
173
- var vanilla = vanilla$1;
174
-
175
- const identity = (arg) => arg;
176
- function useStore(api, selector = identity) {
177
- const slice = React.useSyncExternalStore(
178
- api.subscribe,
179
- () => selector(api.getState()),
180
- () => selector(api.getInitialState())
181
- );
182
- React.useDebugValue(slice);
183
- return slice;
184
- }
185
- const createImpl = (createState) => {
186
- const api = vanilla.createStore(createState);
187
- const useBoundStore = (selector) => useStore(api, selector);
188
- Object.assign(useBoundStore, api);
189
- return useBoundStore;
190
- };
191
- const create = (createState) => createState ? createImpl(createState) : createImpl;
192
-
193
- react$1.create = create;
194
- react$1.useStore = useStore;
195
-
196
- (function (exports) {
197
-
198
- var vanilla = vanilla$1;
199
- var react = react$1;
200
-
201
-
202
-
203
- Object.keys(vanilla).forEach(function (k) {
204
- if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
205
- enumerable: true,
206
- get: function () { return vanilla[k]; }
207
- });
208
- });
209
- Object.keys(react).forEach(function (k) {
210
- if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
211
- enumerable: true,
212
- get: function () { return react[k]; }
213
- });
214
- });
215
- }(zustand));
216
-
217
- // Zustand store for Searchcraft state
218
- const useSearchcraftStore = zustand.create((set, get) => {
219
- let searchcraft = null;
220
- let debuggerInstance = null;
221
- const log = (level, message) => {
222
- if (debuggerInstance) {
223
- switch (level) {
224
- case d.DEBUG:
225
- debuggerInstance.debug(message);
226
- break;
227
- case d.INFO:
228
- debuggerInstance.info(message);
229
- break;
230
- case d.WARN:
231
- debuggerInstance.warn(message);
232
- break;
233
- case d.ERROR:
234
- debuggerInstance.error(message);
235
- break;
236
- }
237
- }
238
- };
239
- return {
240
- query: '',
241
- isRequesting: false,
242
- searchResults: null,
243
- facets: null,
244
- selectedFilters: [],
245
- searchParams: {
246
- mode: 'fuzzy',
247
- sort: 'asc',
248
- },
249
- setQuery: (query) => set({ query }),
250
- setSearchResults: (results) => set({ searchResults: results }),
251
- setFacets: (facets) => set({ facets }),
252
- setSelectedFilters: (filters) => set({ selectedFilters: filters }),
253
- setIsRequesting: (isRequesting) => set({ isRequesting }),
254
- setSearchParams: (params) => set((state) => ({
255
- searchParams: Object.assign(Object.assign({}, state.searchParams), params),
256
- })),
257
- setYearsRange: (yearsRange) => set((state) => ({
258
- searchParams: Object.assign(Object.assign({}, state.searchParams), { yearsRange }),
259
- })),
260
- search: async () => {
261
- const { query, selectedFilters, setIsRequesting, setSearchResults, setFacets, searchParams, } = get();
262
- if (!searchcraft) {
263
- throw new Error('Searchcraft instance is not initialized.');
264
- }
265
- setIsRequesting(true);
266
- log(d.INFO, `Starting search with query: "${query}"`);
267
- const filters = filterPaths(selectedFilters);
268
- try {
269
- const searchRequest = {
270
- query,
271
- mode: searchParams.mode,
272
- sort: searchParams.sort,
273
- facets: selectedFilters.length > 0
274
- ? {
275
- section: {
276
- counts: Object.fromEntries(filters.map((path) => [path, 1])),
277
- },
278
- }
279
- : null,
280
- yearsRange: searchParams.yearsRange,
281
- };
282
- const results = await searchcraft.search(searchRequest);
283
- setSearchResults(results);
284
- const updatedFacets = results.data.facets || null;
285
- setFacets(updatedFacets);
286
- log(d.DEBUG, `Search results: ${JSON.stringify(results)}`);
287
- log(d.DEBUG, `Updated facets: ${JSON.stringify(updatedFacets)}`);
288
- }
289
- catch (error) {
290
- console.error(`Search failed: ${error.message}`);
291
- log(d.ERROR, `Search failed with error: ${error.message}`);
292
- }
293
- finally {
294
- setIsRequesting(false);
295
- }
296
- },
297
- initialize: (searchcraftInstance, debug = false) => {
298
- searchcraft = searchcraftInstance;
299
- debuggerInstance = debug
300
- ? new b({ logLevel: d.DEBUG })
301
- : null;
302
- log(d.INFO, 'Searchcraft store initialized.');
303
- },
304
- };
305
- });
306
- const useThemeStore = zustand.create((set) => ({
307
- theme: 'light',
308
- toggleTheme: () => set((state) => ({ theme: state.theme === 'light' ? 'dark' : 'light' })),
309
- }));
310
-
311
- export { useThemeStore as a, g, useSearchcraftStore as u };
312
-
313
- //# sourceMappingURL=p-ff049f0a.js.map