@searchcraft/javascript-sdk 0.3.1 → 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 (344) hide show
  1. package/README.md +198 -0
  2. package/dist/cjs/{index-264ebadc.js → index-c8a8e492.js} +29 -3
  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-35d3b670.js → package-ccc7e307.js} +3 -3
  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 +8 -11
  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 +3 -8
  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 +3 -3
  36. package/dist/cjs/searchcraft-spinner-dark.cjs.entry.js.map +1 -1
  37. package/dist/cjs/searchcraft-spinner-light.cjs.entry.js +3 -3
  38. package/dist/cjs/searchcraft-spinner-light.cjs.entry.js.map +1 -1
  39. package/dist/{esm/store-b519dd0b.js → cjs/store-72205332.js} +139 -205
  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/collection-manifest.json +2 -4
  44. package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.js +61 -95
  45. package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.js.map +1 -1
  46. package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.module.css +98 -9
  47. package/dist/collection/components/searchcraft-base-search-form/searchcraft-base-search-form.js +31 -16
  48. package/dist/collection/components/searchcraft-base-search-form/searchcraft-base-search-form.js.map +1 -1
  49. package/dist/collection/components/searchcraft-base-search-form/searchcraft-base-search-form.module.css +94 -8
  50. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js +125 -153
  51. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js.map +1 -1
  52. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.module.css +139 -206
  53. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js +138 -89
  54. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js.map +1 -1
  55. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.module.css +105 -23
  56. package/dist/collection/components/searchcraft-button/searchcraft-button.js +2 -8
  57. package/dist/collection/components/searchcraft-button/searchcraft-button.js.map +1 -1
  58. package/dist/collection/components/searchcraft-button/searchcraft-button.module.css +107 -36
  59. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js +1 -22
  60. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js.map +1 -1
  61. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.module.css +101 -15
  62. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js +140 -0
  63. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js.map +1 -0
  64. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.module.css +216 -0
  65. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js +166 -0
  66. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js.map +1 -0
  67. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.module.css +118 -0
  68. package/dist/collection/components/searchcraft-input/searchcraft-input.js +36 -125
  69. package/dist/collection/components/searchcraft-input/searchcraft-input.js.map +1 -1
  70. package/dist/collection/components/searchcraft-input/searchcraft-input.module.css +158 -209
  71. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js +1 -12
  72. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js.map +1 -1
  73. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.module.css +102 -14
  74. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js +1 -2
  75. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js.map +1 -1
  76. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.module.css +103 -9
  77. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js +79 -62
  78. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js.map +1 -1
  79. package/dist/collection/components/searchcraft-slider/searchcraft-slider.module.css +106 -7
  80. package/dist/collection/components/searchcraft-spinner-dark/searchcraft-spinner-dark.js +1 -1
  81. package/dist/collection/components/searchcraft-spinner-dark/searchcraft-spinner-dark.module.css +103 -4
  82. package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.js +1 -1
  83. package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.module.css +102 -3
  84. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js +50 -65
  85. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js.map +1 -1
  86. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.module.css +135 -9
  87. package/dist/collection/index.js +2 -1
  88. package/dist/collection/index.js.map +1 -1
  89. package/dist/collection/provider/store.js +45 -31
  90. package/dist/collection/provider/store.js.map +1 -1
  91. package/dist/collection/types/index.js +3 -0
  92. package/dist/collection/types/index.js.map +1 -0
  93. package/dist/collection/types/searchcraft-base-search-results.types.js +2 -0
  94. package/dist/collection/types/searchcraft-base-search-results.types.js.map +1 -0
  95. package/dist/collection/types/searchcraft-filter-panel.types.js +2 -0
  96. package/dist/collection/types/searchcraft-filter-panel.types.js.map +1 -0
  97. package/dist/collection/utils/utils.js +114 -35
  98. package/dist/collection/utils/utils.js.map +1 -1
  99. package/dist/components/index.js +7 -11
  100. package/dist/components/index.js.map +1 -1
  101. package/dist/components/{p-bbf9973a.js → p-04d13314.js} +2 -2
  102. package/dist/components/{p-bbf9973a.js.map → p-04d13314.js.map} +1 -1
  103. package/dist/components/p-0deddac7.js +161 -0
  104. package/dist/components/p-0deddac7.js.map +1 -0
  105. package/dist/components/p-37f54c0b.js +54 -0
  106. package/dist/components/p-37f54c0b.js.map +1 -0
  107. package/dist/components/{p-6b353c3e.js → p-5639be85.js} +23 -3
  108. package/dist/components/p-5639be85.js.map +1 -0
  109. package/dist/components/p-68897c11.js +124 -0
  110. package/dist/components/p-68897c11.js.map +1 -0
  111. package/dist/components/{p-b0c1fd63.js → p-69eed21e.js} +3 -3
  112. package/dist/components/p-69eed21e.js.map +1 -0
  113. package/dist/components/p-8062f0ea.js +82 -0
  114. package/dist/components/p-8062f0ea.js.map +1 -0
  115. package/dist/components/p-9f2b8375.js +33 -0
  116. package/dist/components/p-9f2b8375.js.map +1 -0
  117. package/dist/components/p-ace4e6a0.js +35 -0
  118. package/dist/components/p-ace4e6a0.js.map +1 -0
  119. package/dist/components/p-b1a59f07.js +101 -0
  120. package/dist/components/p-b1a59f07.js.map +1 -0
  121. package/dist/components/{p-727bfc38.js → p-be63dcac.js} +126 -110
  122. package/dist/components/p-be63dcac.js.map +1 -0
  123. package/dist/components/p-c8bc1e4f.js +40 -0
  124. package/dist/components/p-c8bc1e4f.js.map +1 -0
  125. package/dist/components/{p-aad03c2a.js → p-de50441f.js} +2 -2
  126. package/dist/components/{p-aad03c2a.js.map → p-de50441f.js.map} +1 -1
  127. package/dist/components/p-e3c8b1ef.js +91 -0
  128. package/dist/components/p-e3c8b1ef.js.map +1 -0
  129. package/dist/components/p-ebf021b5.js +49 -0
  130. package/dist/components/p-ebf021b5.js.map +1 -0
  131. package/dist/components/searchcraft-auto-search-form.js +64 -74
  132. package/dist/components/searchcraft-auto-search-form.js.map +1 -1
  133. package/dist/components/searchcraft-base-search-form.js +20 -52
  134. package/dist/components/searchcraft-base-search-form.js.map +1 -1
  135. package/dist/components/searchcraft-base-search-result.js +1 -1
  136. package/dist/components/searchcraft-base-search-results.js +75 -53
  137. package/dist/components/searchcraft-base-search-results.js.map +1 -1
  138. package/dist/components/searchcraft-button-icon.js +1 -1
  139. package/dist/components/searchcraft-button.js +1 -1
  140. package/dist/components/searchcraft-check-icon.js +1 -1
  141. package/dist/components/searchcraft-clear-icon-set.js +39 -1
  142. package/dist/components/searchcraft-clear-icon-set.js.map +1 -1
  143. package/dist/components/searchcraft-dash-icon.js +1 -1
  144. package/dist/components/searchcraft-error-message.js +1 -1
  145. package/dist/components/searchcraft-facet-list.d.ts +11 -0
  146. package/dist/components/searchcraft-facet-list.js +8 -0
  147. package/dist/components/searchcraft-facet-list.js.map +1 -0
  148. package/dist/components/searchcraft-filter-panel.d.ts +11 -0
  149. package/dist/components/searchcraft-filter-panel.js +184 -0
  150. package/dist/components/searchcraft-filter-panel.js.map +1 -0
  151. package/dist/components/searchcraft-input-label.js +1 -1
  152. package/dist/components/searchcraft-input.js +1 -1
  153. package/dist/components/searchcraft-results-info.js +5 -6
  154. package/dist/components/searchcraft-results-info.js.map +1 -1
  155. package/dist/components/searchcraft-search-icon-set.js +44 -1
  156. package/dist/components/searchcraft-search-icon-set.js.map +1 -1
  157. package/dist/components/searchcraft-slider.js +1 -104
  158. package/dist/components/searchcraft-slider.js.map +1 -1
  159. package/dist/components/searchcraft-spinner-dark.js +1 -1
  160. package/dist/components/searchcraft-spinner-light.js +3 -3
  161. package/dist/components/searchcraft-spinner-light.js.map +1 -1
  162. package/dist/components/searchcraft-toggle-button.js +1 -93
  163. package/dist/components/searchcraft-toggle-button.js.map +1 -1
  164. package/dist/esm/{index-d851fb46.js → index-88dc5f88.js} +29 -3
  165. package/dist/esm/index-88dc5f88.js.map +1 -0
  166. package/dist/esm/index.js +2 -1
  167. package/dist/esm/index.js.map +1 -1
  168. package/dist/esm/loader.js +3 -3
  169. package/dist/esm/{package-82baadd7.js → package-ee16f835.js} +3 -3
  170. package/dist/esm/package-ee16f835.js.map +1 -0
  171. package/dist/esm/searchcraft-auto-search-form.entry.js +156 -0
  172. package/dist/esm/searchcraft-auto-search-form.entry.js.map +1 -0
  173. package/dist/esm/searchcraft-base-search-form.entry.js +8 -11
  174. package/dist/esm/searchcraft-base-search-form.entry.js.map +1 -1
  175. package/dist/esm/searchcraft-base-search-result.entry.js +70 -0
  176. package/dist/esm/searchcraft-base-search-result.entry.js.map +1 -0
  177. package/dist/esm/searchcraft-base-search-results.entry.js +125 -0
  178. package/dist/esm/searchcraft-base-search-results.entry.js.map +1 -0
  179. package/dist/esm/searchcraft-button-icon.entry.js +1 -1
  180. package/dist/esm/searchcraft-button.entry.js +3 -8
  181. package/dist/esm/searchcraft-button.entry.js.map +1 -1
  182. package/dist/esm/searchcraft-check-icon_2.entry.js +23 -0
  183. package/dist/esm/searchcraft-check-icon_2.entry.js.map +1 -0
  184. package/dist/{components/p-62e6b69c.js → esm/searchcraft-clear-icon-set.entry.js} +7 -24
  185. package/dist/esm/searchcraft-clear-icon-set.entry.js.map +1 -0
  186. package/dist/esm/searchcraft-error-message_3.entry.js +89 -0
  187. package/dist/esm/searchcraft-error-message_3.entry.js.map +1 -0
  188. package/dist/esm/searchcraft-facet-list_3.entry.js +177 -0
  189. package/dist/esm/searchcraft-facet-list_3.entry.js.map +1 -0
  190. package/dist/esm/searchcraft-filter-panel.entry.js +130 -0
  191. package/dist/esm/searchcraft-filter-panel.entry.js.map +1 -0
  192. package/dist/esm/searchcraft-javascript-sdk.js +3 -3
  193. package/dist/esm/searchcraft-results-info.entry.js +42 -0
  194. package/dist/esm/searchcraft-results-info.entry.js.map +1 -0
  195. package/dist/{components/p-5a872bdf.js → esm/searchcraft-search-icon-set.entry.js} +7 -26
  196. package/dist/esm/searchcraft-search-icon-set.entry.js.map +1 -0
  197. package/dist/esm/searchcraft-spinner-dark.entry.js +3 -3
  198. package/dist/esm/searchcraft-spinner-dark.entry.js.map +1 -1
  199. package/dist/esm/searchcraft-spinner-light.entry.js +3 -3
  200. package/dist/esm/searchcraft-spinner-light.entry.js.map +1 -1
  201. package/dist/{cjs/store-e3bbdd49.js → esm/store-52436995.js} +136 -217
  202. package/dist/esm/store-52436995.js.map +1 -0
  203. package/dist/esm/utils-89a02921.js +161 -0
  204. package/dist/esm/utils-89a02921.js.map +1 -0
  205. package/dist/searchcraft-javascript-sdk/index.esm.js +1 -1
  206. package/dist/searchcraft-javascript-sdk/p-08bd95f1.entry.js +2 -0
  207. package/dist/searchcraft-javascript-sdk/p-08bd95f1.entry.js.map +1 -0
  208. package/dist/searchcraft-javascript-sdk/p-0deddac7.js +2 -0
  209. package/dist/searchcraft-javascript-sdk/p-0deddac7.js.map +1 -0
  210. package/dist/searchcraft-javascript-sdk/p-15f9891d.entry.js +2 -0
  211. package/dist/searchcraft-javascript-sdk/p-15f9891d.entry.js.map +1 -0
  212. package/dist/searchcraft-javascript-sdk/p-2419a8c5.entry.js +2 -0
  213. package/dist/searchcraft-javascript-sdk/p-2419a8c5.entry.js.map +1 -0
  214. package/dist/searchcraft-javascript-sdk/p-343adbe3.entry.js +2 -0
  215. package/dist/searchcraft-javascript-sdk/p-343adbe3.entry.js.map +1 -0
  216. package/dist/searchcraft-javascript-sdk/p-3a2d9be9.entry.js +2 -0
  217. package/dist/searchcraft-javascript-sdk/p-3a2d9be9.entry.js.map +1 -0
  218. package/dist/searchcraft-javascript-sdk/p-4278ff89.entry.js +2 -0
  219. package/dist/searchcraft-javascript-sdk/p-4278ff89.entry.js.map +1 -0
  220. package/dist/searchcraft-javascript-sdk/p-4c32c87d.js +3 -0
  221. package/dist/searchcraft-javascript-sdk/p-4c32c87d.js.map +1 -0
  222. package/dist/searchcraft-javascript-sdk/p-56413bef.entry.js +2 -0
  223. package/dist/searchcraft-javascript-sdk/p-56413bef.entry.js.map +1 -0
  224. package/dist/searchcraft-javascript-sdk/p-69eed21e.js +2 -0
  225. package/dist/searchcraft-javascript-sdk/{p-99356c9a.entry.js → p-69f64bdd.entry.js} +2 -2
  226. package/dist/searchcraft-javascript-sdk/p-7c59b3cd.entry.js +2 -0
  227. package/dist/searchcraft-javascript-sdk/p-7c59b3cd.entry.js.map +1 -0
  228. package/dist/searchcraft-javascript-sdk/p-93e9de71.entry.js +2 -0
  229. package/dist/searchcraft-javascript-sdk/p-93e9de71.entry.js.map +1 -0
  230. package/dist/searchcraft-javascript-sdk/p-9647ae41.entry.js +2 -0
  231. package/dist/searchcraft-javascript-sdk/p-9647ae41.entry.js.map +1 -0
  232. package/dist/searchcraft-javascript-sdk/p-a613a6ba.entry.js +2 -0
  233. package/dist/searchcraft-javascript-sdk/p-a613a6ba.entry.js.map +1 -0
  234. package/dist/searchcraft-javascript-sdk/p-acc645c7.entry.js +2 -0
  235. package/dist/searchcraft-javascript-sdk/p-acc645c7.entry.js.map +1 -0
  236. package/dist/searchcraft-javascript-sdk/p-bb03e946.js +11 -0
  237. package/dist/searchcraft-javascript-sdk/p-bb03e946.js.map +1 -0
  238. package/dist/searchcraft-javascript-sdk/p-bf80bbee.entry.js +2 -0
  239. package/dist/searchcraft-javascript-sdk/p-bf80bbee.entry.js.map +1 -0
  240. package/dist/searchcraft-javascript-sdk/p-f4612b94.entry.js +2 -0
  241. package/dist/searchcraft-javascript-sdk/p-f4612b94.entry.js.map +1 -0
  242. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js +1 -1
  243. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js.map +1 -1
  244. package/dist/types/components/searchcraft-auto-search-form/searchcraft-auto-search-form.d.ts +6 -6
  245. package/dist/types/components/searchcraft-base-search-form/searchcraft-base-search-form.d.ts +3 -2
  246. package/dist/types/components/searchcraft-base-search-result/searchcraft-base-search-result.d.ts +16 -18
  247. package/dist/types/components/searchcraft-base-search-results/searchcraft-base-search-results.d.ts +15 -6
  248. package/dist/types/components/searchcraft-button/searchcraft-button.d.ts +0 -2
  249. package/dist/types/components/searchcraft-error-message/searchcraft-error-message.d.ts +0 -1
  250. package/dist/types/components/searchcraft-facet-list/searchcraft-facet-list.d.ts +21 -0
  251. package/dist/types/components/searchcraft-filter-panel/searchcraft-filter-panel.d.ts +25 -0
  252. package/dist/types/components/searchcraft-input/searchcraft-input.d.ts +4 -10
  253. package/dist/types/components/searchcraft-input-label/searchcraft-input-label.d.ts +0 -2
  254. package/dist/types/components/searchcraft-slider/searchcraft-slider.d.ts +11 -12
  255. package/dist/types/components/searchcraft-toggle-button/searchcraft-toggle-button.d.ts +4 -9
  256. package/dist/types/components.d.ts +123 -185
  257. package/dist/types/index.d.ts +2 -1
  258. package/dist/types/provider/store.d.ts +15 -9
  259. package/dist/types/types/index.d.ts +2 -0
  260. package/dist/types/types/searchcraft-base-search-results.types.d.ts +17 -0
  261. package/dist/types/types/searchcraft-filter-panel.types.d.ts +42 -0
  262. package/dist/types/utils/utils.d.ts +23 -15
  263. package/package.json +2 -2
  264. package/dist/cjs/index-264ebadc.js.map +0 -1
  265. package/dist/cjs/package-35d3b670.js.map +0 -1
  266. package/dist/cjs/searchcraft-auto-search-form_17.cjs.entry.js +0 -867
  267. package/dist/cjs/searchcraft-auto-search-form_17.cjs.entry.js.map +0 -1
  268. package/dist/cjs/store-e3bbdd49.js.map +0 -1
  269. package/dist/collection/components/searchcraft-clear-input-button/searchcraft-clear-input-button.js +0 -94
  270. package/dist/collection/components/searchcraft-clear-input-button/searchcraft-clear-input-button.js.map +0 -1
  271. package/dist/collection/components/searchcraft-clear-input-button/searchcraft-clear-input-button.module.css +0 -33
  272. package/dist/collection/components/searchcraft-filters-list/searchcraft-filters-list.js +0 -168
  273. package/dist/collection/components/searchcraft-filters-list/searchcraft-filters-list.js.map +0 -1
  274. package/dist/collection/components/searchcraft-filters-list/searchcraft-filters-list.module.css +0 -111
  275. package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.js +0 -121
  276. package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.js.map +0 -1
  277. package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.module.css +0 -79
  278. package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.js +0 -109
  279. package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.js.map +0 -1
  280. package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.module.css +0 -17
  281. package/dist/components/p-4f939ba2.js +0 -53
  282. package/dist/components/p-4f939ba2.js.map +0 -1
  283. package/dist/components/p-5015a359.js +0 -39
  284. package/dist/components/p-5015a359.js.map +0 -1
  285. package/dist/components/p-54848b4d.js +0 -136
  286. package/dist/components/p-54848b4d.js.map +0 -1
  287. package/dist/components/p-5a872bdf.js.map +0 -1
  288. package/dist/components/p-62c40862.js +0 -91
  289. package/dist/components/p-62c40862.js.map +0 -1
  290. package/dist/components/p-62e6b69c.js.map +0 -1
  291. package/dist/components/p-69ee3b9a.js +0 -59
  292. package/dist/components/p-69ee3b9a.js.map +0 -1
  293. package/dist/components/p-6b353c3e.js.map +0 -1
  294. package/dist/components/p-727bfc38.js.map +0 -1
  295. package/dist/components/p-7c280820.js +0 -33
  296. package/dist/components/p-7c280820.js.map +0 -1
  297. package/dist/components/p-7d385ffb.js +0 -60
  298. package/dist/components/p-7d385ffb.js.map +0 -1
  299. package/dist/components/p-8524c749.js +0 -54
  300. package/dist/components/p-8524c749.js.map +0 -1
  301. package/dist/components/p-b0c1fd63.js.map +0 -1
  302. package/dist/components/p-b38d171d.js +0 -47
  303. package/dist/components/p-b38d171d.js.map +0 -1
  304. package/dist/components/p-cd9a038a.js +0 -105
  305. package/dist/components/p-cd9a038a.js.map +0 -1
  306. package/dist/components/searchcraft-clear-input-button.d.ts +0 -11
  307. package/dist/components/searchcraft-clear-input-button.js +0 -8
  308. package/dist/components/searchcraft-clear-input-button.js.map +0 -1
  309. package/dist/components/searchcraft-filters-list.d.ts +0 -11
  310. package/dist/components/searchcraft-filters-list.js +0 -151
  311. package/dist/components/searchcraft-filters-list.js.map +0 -1
  312. package/dist/components/searchcraft-input-caption.d.ts +0 -11
  313. package/dist/components/searchcraft-input-caption.js +0 -8
  314. package/dist/components/searchcraft-input-caption.js.map +0 -1
  315. package/dist/components/searchcraft-input-icon.d.ts +0 -11
  316. package/dist/components/searchcraft-input-icon.js +0 -8
  317. package/dist/components/searchcraft-input-icon.js.map +0 -1
  318. package/dist/esm/index-d851fb46.js.map +0 -1
  319. package/dist/esm/package-82baadd7.js.map +0 -1
  320. package/dist/esm/searchcraft-auto-search-form_17.entry.js +0 -847
  321. package/dist/esm/searchcraft-auto-search-form_17.entry.js.map +0 -1
  322. package/dist/esm/store-b519dd0b.js.map +0 -1
  323. package/dist/searchcraft-javascript-sdk/p-1f3ae7f3.entry.js +0 -2
  324. package/dist/searchcraft-javascript-sdk/p-1f3ae7f3.entry.js.map +0 -1
  325. package/dist/searchcraft-javascript-sdk/p-201cb2dc.entry.js +0 -2
  326. package/dist/searchcraft-javascript-sdk/p-201cb2dc.entry.js.map +0 -1
  327. package/dist/searchcraft-javascript-sdk/p-2c220368.entry.js +0 -2
  328. package/dist/searchcraft-javascript-sdk/p-2c220368.entry.js.map +0 -1
  329. package/dist/searchcraft-javascript-sdk/p-39c0ca33.entry.js +0 -2
  330. package/dist/searchcraft-javascript-sdk/p-39c0ca33.entry.js.map +0 -1
  331. package/dist/searchcraft-javascript-sdk/p-476829a4.entry.js +0 -2
  332. package/dist/searchcraft-javascript-sdk/p-476829a4.entry.js.map +0 -1
  333. package/dist/searchcraft-javascript-sdk/p-b0c1fd63.js +0 -2
  334. package/dist/searchcraft-javascript-sdk/p-b42eaa55.js +0 -3
  335. package/dist/searchcraft-javascript-sdk/p-b42eaa55.js.map +0 -1
  336. package/dist/searchcraft-javascript-sdk/p-d5f8dda2.js +0 -11
  337. package/dist/searchcraft-javascript-sdk/p-d5f8dda2.js.map +0 -1
  338. package/dist/types/components/searchcraft-clear-input-button/searchcraft-clear-input-button.d.ts +0 -10
  339. package/dist/types/components/searchcraft-filters-list/searchcraft-filters-list.d.ts +0 -34
  340. package/dist/types/components/searchcraft-input-caption/searchcraft-input-caption.d.ts +0 -9
  341. package/dist/types/components/searchcraft-input-icon/searchcraft-input-icon.d.ts +0 -9
  342. package/readme.md +0 -11
  343. /package/dist/searchcraft-javascript-sdk/{p-b0c1fd63.js.map → p-69eed21e.js.map} +0 -0
  344. /package/dist/searchcraft-javascript-sdk/{p-99356c9a.entry.js.map → p-69f64bdd.entry.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { h } from "@stencil/core";
2
2
  export class SearchcraftSpinnerLight {
3
3
  render() {
4
- return (h("div", { key: 'a4f73eee03d4d7253c04c47995315bd121e8ded3', class: 'spinnerContainer' }, h("div", { key: '53e3486ef7a2fa6029a6107bae2c0655b1608a12', class: 'spinnerLight' })));
4
+ return (h("div", { key: 'de06c1135cf78661d281880cfccea9c07271f184', class: 'spinnerContainer' }, h("div", { key: '1422c0fd8e9b2b57f5999933a762ffde4559e609', class: 'spinnerLight' })));
5
5
  }
6
6
  static get is() { return "searchcraft-spinner-light"; }
7
7
  static get encapsulation() { return "shadow"; }
@@ -1,7 +1,106 @@
1
+ :root {
2
+ /** Appearance & Layout */
3
+ --sc-spinner-size: 20px;
4
+ --sc-input-border-radius: 8px;
5
+ --sc-input-search-icon-size: 20px;
6
+ --sc-input-clear-icon-size: 20px;
7
+ --sc-input-padding-left: 44px;
8
+ --sc-input-padding-right: 44px;
9
+ --sc-image-border-radius: 8px;
10
+ }
11
+
12
+ :root {
13
+ --sc-surface-disabled: #D9D9D9;
14
+ --sc-surface-neutral-primary: #FFFFFF;
15
+ --sc-surface-neutral-secondary: #F3F3F3;
16
+ --sc-surface-neutral-light: #FFFFFF;
17
+ --sc-surface-neutral-primary-hover: #FAFAFA;
18
+ --sc-surface-neutral-primary-active: #F7F7F7;
19
+ --sc-surface-neutral-secondary-hover: #EDEDED;
20
+ --sc-surface-neutral-secondary-active: #E6E6E6;
21
+ --sc-surface-brand-primary: #000000;
22
+ --sc-surface-brand-secondary: #E6E6E6;
23
+ --sc-surface-brand-primary-hover: #2E2E2E;
24
+ --sc-surface-brand-primary-active: #292929;
25
+ --sc-surface-brand-secondary-hover: #EBEBEB;
26
+ --sc-surface-brand-secondary-active: #E0E0E0;
27
+ --sc-surface-success-primary: #008000;
28
+ --sc-surface-success-secondary: #CCFFCC;
29
+ --sc-surface-success-primary-hover: #009900;
30
+ --sc-surface-success-primary-active: #006600;
31
+ --sc-surface-success-secondary-hover: #E6FFE6;
32
+ --sc-surface-success-secondary-active: #E6FFE6;
33
+ --sc-surface-caution-primary: #CC6600;
34
+ --sc-surface-caution-secondary: #FFD9B3;
35
+ --sc-surface-caution-primary-hover: #E57300;
36
+ --sc-surface-caution-primary-active: #B25A00;
37
+ --sc-surface-caution-secondary-hover: #FFE5CC;
38
+ --sc-surface-caution-secondary-active: #FFCC99;
39
+ --sc-surface-danger-primary: #CC0000;
40
+ --sc-surface-danger-secondary: #FFCCCC;
41
+ --sc-surface-danger-primary-hover: #E50000;
42
+ --sc-surface-danger-primary-active: #B30000;
43
+ --sc-surface-danger-secondary-hover: #FFE7E7;
44
+ --sc-surface-danger-secondary-active: #FFB3B3;
45
+ --sc-content-brand: #000000;
46
+ --sc-content-success: #008000;
47
+ --sc-content-caution: #994D00;
48
+ --sc-content-danger: #990000;
49
+ --sc-content-disabled: #737373;
50
+ --sc-content-neutral-primary: #292929;
51
+ --sc-content-neutral-secondary: #404040;
52
+ --sc-content-brand-on-primary: #FFFFFF;
53
+ --sc-content-success-on-primary: #FFFFFF;
54
+ --sc-content-caution-on-primary: #FFFFFF;
55
+ --sc-content-danger-on-primary: #FFFFFF;
56
+ --sc-content-disabled-on-disabled: #737373;
57
+ --sc-border-neutral: rgba(0,0,0, 0.1);
58
+ --sc-border-brand: #000000;
59
+ --sc-border-success: #008000;
60
+ --sc-border-caution: #CC6600;
61
+ --sc-border-danger: #CC0000;
62
+ --sc-border-disabled: #737373;
63
+ }
64
+
65
+ :root {
66
+ /** Typography */
67
+ --sc-font-family: sans-serif;
68
+ --sc-heading-1-font-size: 32px;
69
+ --sc-heading-1-line-height: 36px;
70
+ --sc-heading-1-font-weight: 700;
71
+ --sc-heading-2-font-size: 29px;
72
+ --sc-heading-2-line-height: 32px;
73
+ --sc-heading-2-font-weight: 700;
74
+ --sc-heading-3-font-size: 26px;
75
+ --sc-heading-3-line-height: 28px;
76
+ --sc-heading-3-font-weight: 700;
77
+ --sc-heading-4-font-size: 23px;
78
+ --sc-heading-4-line-height: 24px;
79
+ --sc-heading-4-font-weight: 700;
80
+ --sc-heading-5-font-size: 20px;
81
+ --sc-heading-5-line-height: 24px;
82
+ --sc-heading-5-font-weight: 700;
83
+ --sc-heading-6-font-size: 10px;
84
+ --sc-heading-6-line-height: 12px;
85
+ --sc-heading-6-font-weight: 700;
86
+ --sc-body-bold-font-size: 16px;
87
+ --sc-body-bold-line-height: 20px;
88
+ --sc-body-bold-font-weight: 700;
89
+ --sc-body-font-size: 16px;
90
+ --sc-body-line-height: 20px;
91
+ --sc-body-font-weight:400;
92
+ --sc-body-small-bold-font-size: 12px;
93
+ --sc-body-small-bold-line-height: 16px;
94
+ --sc-body-small-bold-font-weight: 700;
95
+ --sc-body-small-font-size: 12px;
96
+ --sc-body-small-line-height: 16px;
97
+ --sc-body-small-font-weight: 400;
98
+ }
99
+
1
100
  .spinnerContainer {
2
101
  background-color: transparent;
3
- height: 20px;
4
- width: 20px;
102
+ height: var(--sc-spinner-size);
103
+ width: var(--sc-spinner-size);
5
104
  }
6
105
 
7
106
  .spinnerLight {
@@ -9,7 +108,7 @@
9
108
  background: conic-gradient(#737373 50%, #FFFFFF);
10
109
  clip-path: circle(50%);
11
110
  height: 100%;
12
- mask-image: radial-gradient(circle at center, rgba(0, 0, 0, 0) 6.6666666667px, rgb(0, 0, 0) 6.6666666667px);
111
+ mask-image: radial-gradient(circle at center, rgba(0, 0, 0, 0) calc(var(--sc-spinner-size) / 3), rgb(0, 0, 0) calc(var(--sc-spinner-size) / 3));
13
112
  width: 100%;
14
113
  }
15
114
 
@@ -1,69 +1,21 @@
1
- import { h } from "@stencil/core";
1
+ import { h, } from "@stencil/core";
2
2
  import classNames from "classnames";
3
- import { useSearchcraftStore } from "../../provider/store";
4
3
  export class SearchcraftToggleButton {
5
4
  constructor() {
6
- this.autoSearchFormElement = null;
7
- this.searchStore = useSearchcraftStore.getState();
8
- this.handleSearchRequest = () => {
9
- this.isActive = false;
10
- this.searchStore.setSearchParams({
11
- mode: 'fuzzy',
12
- sort: 'asc',
13
- });
14
- };
15
5
  this.handleToggle = async () => {
16
6
  this.isActive = !this.isActive;
17
- if (this.type === 'mode') {
18
- const mode = this.isActive ? 'normal' : 'fuzzy';
19
- this.searchStore.setSearchParams({
20
- mode,
21
- });
22
- }
23
- else if (this.type === 'sort') {
24
- const sort = this.isActive ? 'desc' : 'asc';
25
- this.searchStore.setSearchParams({
26
- sort,
27
- });
28
- }
29
- try {
30
- await this.searchStore.search();
31
- }
32
- catch (error) {
33
- console.error('Search failed:', error);
34
- }
7
+ this.toggleUpdated.emit(this.isActive);
35
8
  };
36
- this.type = 'mode';
9
+ this.label = 'Toggle';
10
+ this.subLabel = undefined;
37
11
  this.isActive = false;
38
- this.query = '';
39
- this.resultsCount = 0;
40
- }
41
- componentDidLoad() {
42
- this.unsubscribe = useSearchcraftStore.subscribe((state) => {
43
- var _a, _b, _c;
44
- this.query = state.query || '';
45
- this.resultsCount = ((_c = (_b = (_a = state.searchResults) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.hits) === null || _c === void 0 ? void 0 : _c.length) || 0;
46
- });
47
- this.autoSearchFormElement = document.querySelector('searchcraft-auto-search-form');
48
- if (this.autoSearchFormElement) {
49
- this.autoSearchFormElement.addEventListener('querySubmit', this.handleSearchRequest);
50
- }
51
- }
52
- disconnectedCallback() {
53
- if (this.unsubscribe) {
54
- this.unsubscribe();
55
- }
56
- if (this.autoSearchFormElement) {
57
- this.autoSearchFormElement.addEventListener('querySubmit', this.handleSearchRequest);
58
- }
59
12
  }
60
13
  render() {
61
- if (!this.query || this.resultsCount === 0) {
62
- return null;
63
- }
64
- const toggleContainerStyle = `toggleWrapper ${this.isActive ? 'active' : ''}`;
65
- const toggleSwitchStyle = `toggleSwitch ${this.isActive ? 'active' : ''}`;
66
- return (h("button", { class: classNames(toggleContainerStyle, 'searchcraft-toggle-button-container'), onClick: this.handleToggle, type: 'button' }, h("div", { class: classNames(toggleSwitchStyle, 'searchcraft-toggle-switch') })));
14
+ return (h("div", { key: 'd22c50dcf65d66208bd0ee78c88f452ba94c96e1', class: 'searchcraft-toggle-button-container' }, h("div", { key: 'c7309a315b979c1bc68b140f4e3d250fdb208e37' }, h("p", { key: '2a22fc2b52f73a5fe79512c4e3ed105110a514cd', class: 'searchcraft-toggle-button-label' }, this.label), this.subLabel && (h("p", { key: '8c1670c628751c19576ff9f8cf4bad71b974fb4f', class: 'searchcraft-toggle-button-sub-label' }, this.subLabel))), h("button", { key: '10600dd271917d074bf4d1e8dea473b583c79031', class: classNames('searchcraft-toggle-button-background', {
15
+ active: this.isActive,
16
+ }), onClick: this.handleToggle, type: 'button' }, h("div", { key: '3cd18a77345001252c700d6b1ca3f34b9e7e849d', class: classNames('searchcraft-toggle-button-handle', {
17
+ active: this.isActive,
18
+ }) }))));
67
19
  }
68
20
  static get is() { return "searchcraft-toggle-button"; }
69
21
  static get originalStyleUrls() {
@@ -78,12 +30,12 @@ export class SearchcraftToggleButton {
78
30
  }
79
31
  static get properties() {
80
32
  return {
81
- "type": {
33
+ "label": {
82
34
  "type": "string",
83
35
  "mutable": false,
84
36
  "complexType": {
85
- "original": "'mode' | 'sort'",
86
- "resolved": "\"mode\" | \"sort\"",
37
+ "original": "string",
38
+ "resolved": "string",
87
39
  "references": {}
88
40
  },
89
41
  "required": false,
@@ -92,18 +44,51 @@ export class SearchcraftToggleButton {
92
44
  "tags": [],
93
45
  "text": "Type of the toggle - determines what it controls\n'mode': toggles between 'fuzzy' and 'normal'\n'sort': toggles between 'asc' and 'desc'"
94
46
  },
95
- "attribute": "type",
47
+ "attribute": "label",
96
48
  "reflect": false,
97
- "defaultValue": "'mode'"
49
+ "defaultValue": "'Toggle'"
50
+ },
51
+ "subLabel": {
52
+ "type": "string",
53
+ "mutable": false,
54
+ "complexType": {
55
+ "original": "string | undefined",
56
+ "resolved": "string",
57
+ "references": {}
58
+ },
59
+ "required": false,
60
+ "optional": false,
61
+ "docs": {
62
+ "tags": [],
63
+ "text": ""
64
+ },
65
+ "attribute": "sub-label",
66
+ "reflect": false
98
67
  }
99
68
  };
100
69
  }
101
70
  static get states() {
102
71
  return {
103
- "isActive": {},
104
- "query": {},
105
- "resultsCount": {}
72
+ "isActive": {}
106
73
  };
107
74
  }
75
+ static get events() {
76
+ return [{
77
+ "method": "toggleUpdated",
78
+ "name": "toggleUpdated",
79
+ "bubbles": true,
80
+ "cancelable": true,
81
+ "composed": true,
82
+ "docs": {
83
+ "tags": [],
84
+ "text": ""
85
+ },
86
+ "complexType": {
87
+ "original": "boolean",
88
+ "resolved": "boolean",
89
+ "references": {}
90
+ }
91
+ }];
92
+ }
108
93
  }
109
94
  //# sourceMappingURL=searchcraft-toggle-button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"searchcraft-toggle-button.js","sourceRoot":"","sources":["../../../../src/components/searchcraft-toggle-button/searchcraft-toggle-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, State } from '@stencil/core';\nimport classNames from 'classnames';\n\nimport { useSearchcraftStore } from '@provider/store';\n\n@Component({\n tag: 'searchcraft-toggle-button',\n styleUrl: 'searchcraft-toggle-button.module.scss',\n shadow: false,\n})\nexport class SearchcraftToggleButton {\n /**\n * Type of the toggle - determines what it controls\n * 'mode': toggles between 'fuzzy' and 'normal'\n * 'sort': toggles between 'asc' and 'desc'\n */\n @Prop() type: 'mode' | 'sort' = 'mode';\n\n @State() isActive = false;\n @State() query = ''; // Track the query\n @State() resultsCount = 0; // Track the count of search results\n\n private autoSearchFormElement: HTMLElement | null = null;\n private searchStore = useSearchcraftStore.getState();\n private unsubscribe: () => void;\n\n componentDidLoad() {\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n this.query = state.query || '';\n this.resultsCount = state.searchResults?.data?.hits?.length || 0;\n });\n\n this.autoSearchFormElement = document.querySelector(\n 'searchcraft-auto-search-form',\n );\n if (this.autoSearchFormElement) {\n this.autoSearchFormElement.addEventListener(\n 'querySubmit',\n this.handleSearchRequest,\n );\n }\n }\n\n disconnectedCallback() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n if (this.autoSearchFormElement) {\n this.autoSearchFormElement.addEventListener(\n 'querySubmit',\n this.handleSearchRequest,\n );\n }\n }\n\n handleSearchRequest = () => {\n this.isActive = false;\n this.searchStore.setSearchParams({\n mode: 'fuzzy',\n sort: 'asc',\n });\n };\n\n private handleToggle = async () => {\n this.isActive = !this.isActive;\n\n if (this.type === 'mode') {\n const mode = this.isActive ? 'normal' : 'fuzzy';\n this.searchStore.setSearchParams({\n mode,\n });\n } else if (this.type === 'sort') {\n const sort = this.isActive ? 'desc' : 'asc';\n this.searchStore.setSearchParams({\n sort,\n });\n }\n\n try {\n await this.searchStore.search();\n } catch (error) {\n console.error('Search failed:', error);\n }\n };\n\n render() {\n if (!this.query || this.resultsCount === 0) {\n return null;\n }\n const toggleContainerStyle = `toggleWrapper ${this.isActive ? 'active' : ''}`;\n const toggleSwitchStyle = `toggleSwitch ${this.isActive ? 'active' : ''}`;\n\n return (\n <button\n class={classNames(\n toggleContainerStyle,\n 'searchcraft-toggle-button-container',\n )}\n onClick={this.handleToggle}\n type='button'\n >\n <div\n class={classNames(toggleSwitchStyle, 'searchcraft-toggle-switch')}\n />\n </button>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"searchcraft-toggle-button.js","sourceRoot":"","sources":["../../../../src/components/searchcraft-toggle-button/searchcraft-toggle-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,EACL,CAAC,EACD,IAAI,EACJ,KAAK,GAEN,MAAM,eAAe,CAAC;AACvB,OAAO,UAAU,MAAM,YAAY,CAAC;AAMpC,MAAM,OAAO,uBAAuB;;QAa1B,iBAAY,GAAG,KAAK,IAAI,EAAE;YAChC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC,CAAC;qBAVc,QAAQ;;wBAKJ,KAAK;;IAOzB,MAAM;QACJ,OAAO,CACL,4DAAK,KAAK,EAAC,qCAAqC;YAC9C;gBACE,0DAAG,KAAK,EAAC,iCAAiC,IAAE,IAAI,CAAC,KAAK,CAAK;gBAC1D,IAAI,CAAC,QAAQ,IAAI,CAChB,0DAAG,KAAK,EAAC,qCAAqC,IAAE,IAAI,CAAC,QAAQ,CAAK,CACnE,CACG;YACN,+DACE,KAAK,EAAE,UAAU,CAAC,sCAAsC,EAAE;oBACxD,MAAM,EAAE,IAAI,CAAC,QAAQ;iBACtB,CAAC,EACF,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,IAAI,EAAC,QAAQ;gBAEb,4DACE,KAAK,EAAE,UAAU,CAAC,kCAAkC,EAAE;wBACpD,MAAM,EAAE,IAAI,CAAC,QAAQ;qBACtB,CAAC,GACF,CACK,CACL,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Event,\n h,\n Prop,\n State,\n type EventEmitter,\n} from '@stencil/core';\nimport classNames from 'classnames';\n@Component({\n tag: 'searchcraft-toggle-button',\n styleUrl: 'searchcraft-toggle-button.module.scss',\n shadow: false,\n})\nexport class SearchcraftToggleButton {\n /**\n * Type of the toggle - determines what it controls\n * 'mode': toggles between 'fuzzy' and 'normal'\n * 'sort': toggles between 'asc' and 'desc'\n */\n @Prop() label = 'Toggle';\n @Prop() subLabel: string | undefined;\n\n @Event() toggleUpdated: EventEmitter<boolean>;\n\n @State() isActive = false;\n\n private handleToggle = async () => {\n this.isActive = !this.isActive;\n this.toggleUpdated.emit(this.isActive);\n };\n\n render() {\n return (\n <div class='searchcraft-toggle-button-container'>\n <div>\n <p class='searchcraft-toggle-button-label'>{this.label}</p>\n {this.subLabel && (\n <p class='searchcraft-toggle-button-sub-label'>{this.subLabel}</p>\n )}\n </div>\n <button\n class={classNames('searchcraft-toggle-button-background', {\n active: this.isActive,\n })}\n onClick={this.handleToggle}\n type='button'\n >\n <div\n class={classNames('searchcraft-toggle-button-handle', {\n active: this.isActive,\n })}\n />\n </button>\n </div>\n );\n }\n}\n"]}
@@ -1,22 +1,148 @@
1
- .toggleWrapper {
2
- background: #D9D9D9;
1
+ :root {
2
+ /** Appearance & Layout */
3
+ --sc-spinner-size: 20px;
4
+ --sc-input-border-radius: 8px;
5
+ --sc-input-search-icon-size: 20px;
6
+ --sc-input-clear-icon-size: 20px;
7
+ --sc-input-padding-left: 44px;
8
+ --sc-input-padding-right: 44px;
9
+ --sc-image-border-radius: 8px;
10
+ }
11
+
12
+ :root {
13
+ --sc-surface-disabled: #D9D9D9;
14
+ --sc-surface-neutral-primary: #FFFFFF;
15
+ --sc-surface-neutral-secondary: #F3F3F3;
16
+ --sc-surface-neutral-light: #FFFFFF;
17
+ --sc-surface-neutral-primary-hover: #FAFAFA;
18
+ --sc-surface-neutral-primary-active: #F7F7F7;
19
+ --sc-surface-neutral-secondary-hover: #EDEDED;
20
+ --sc-surface-neutral-secondary-active: #E6E6E6;
21
+ --sc-surface-brand-primary: #000000;
22
+ --sc-surface-brand-secondary: #E6E6E6;
23
+ --sc-surface-brand-primary-hover: #2E2E2E;
24
+ --sc-surface-brand-primary-active: #292929;
25
+ --sc-surface-brand-secondary-hover: #EBEBEB;
26
+ --sc-surface-brand-secondary-active: #E0E0E0;
27
+ --sc-surface-success-primary: #008000;
28
+ --sc-surface-success-secondary: #CCFFCC;
29
+ --sc-surface-success-primary-hover: #009900;
30
+ --sc-surface-success-primary-active: #006600;
31
+ --sc-surface-success-secondary-hover: #E6FFE6;
32
+ --sc-surface-success-secondary-active: #E6FFE6;
33
+ --sc-surface-caution-primary: #CC6600;
34
+ --sc-surface-caution-secondary: #FFD9B3;
35
+ --sc-surface-caution-primary-hover: #E57300;
36
+ --sc-surface-caution-primary-active: #B25A00;
37
+ --sc-surface-caution-secondary-hover: #FFE5CC;
38
+ --sc-surface-caution-secondary-active: #FFCC99;
39
+ --sc-surface-danger-primary: #CC0000;
40
+ --sc-surface-danger-secondary: #FFCCCC;
41
+ --sc-surface-danger-primary-hover: #E50000;
42
+ --sc-surface-danger-primary-active: #B30000;
43
+ --sc-surface-danger-secondary-hover: #FFE7E7;
44
+ --sc-surface-danger-secondary-active: #FFB3B3;
45
+ --sc-content-brand: #000000;
46
+ --sc-content-success: #008000;
47
+ --sc-content-caution: #994D00;
48
+ --sc-content-danger: #990000;
49
+ --sc-content-disabled: #737373;
50
+ --sc-content-neutral-primary: #292929;
51
+ --sc-content-neutral-secondary: #404040;
52
+ --sc-content-brand-on-primary: #FFFFFF;
53
+ --sc-content-success-on-primary: #FFFFFF;
54
+ --sc-content-caution-on-primary: #FFFFFF;
55
+ --sc-content-danger-on-primary: #FFFFFF;
56
+ --sc-content-disabled-on-disabled: #737373;
57
+ --sc-border-neutral: rgba(0,0,0, 0.1);
58
+ --sc-border-brand: #000000;
59
+ --sc-border-success: #008000;
60
+ --sc-border-caution: #CC6600;
61
+ --sc-border-danger: #CC0000;
62
+ --sc-border-disabled: #737373;
63
+ }
64
+
65
+ :root {
66
+ /** Typography */
67
+ --sc-font-family: sans-serif;
68
+ --sc-heading-1-font-size: 32px;
69
+ --sc-heading-1-line-height: 36px;
70
+ --sc-heading-1-font-weight: 700;
71
+ --sc-heading-2-font-size: 29px;
72
+ --sc-heading-2-line-height: 32px;
73
+ --sc-heading-2-font-weight: 700;
74
+ --sc-heading-3-font-size: 26px;
75
+ --sc-heading-3-line-height: 28px;
76
+ --sc-heading-3-font-weight: 700;
77
+ --sc-heading-4-font-size: 23px;
78
+ --sc-heading-4-line-height: 24px;
79
+ --sc-heading-4-font-weight: 700;
80
+ --sc-heading-5-font-size: 20px;
81
+ --sc-heading-5-line-height: 24px;
82
+ --sc-heading-5-font-weight: 700;
83
+ --sc-heading-6-font-size: 10px;
84
+ --sc-heading-6-line-height: 12px;
85
+ --sc-heading-6-font-weight: 700;
86
+ --sc-body-bold-font-size: 16px;
87
+ --sc-body-bold-line-height: 20px;
88
+ --sc-body-bold-font-weight: 700;
89
+ --sc-body-font-size: 16px;
90
+ --sc-body-line-height: 20px;
91
+ --sc-body-font-weight:400;
92
+ --sc-body-small-bold-font-size: 12px;
93
+ --sc-body-small-bold-line-height: 16px;
94
+ --sc-body-small-bold-font-weight: 700;
95
+ --sc-body-small-font-size: 12px;
96
+ --sc-body-small-line-height: 16px;
97
+ --sc-body-small-font-weight: 400;
98
+ }
99
+
100
+ .searchcraft-toggle-button-container {
101
+ display: flex;
102
+ justify-content: space-between;
103
+ align-items: flex-start;
104
+ gap: 10px;
105
+ }
106
+
107
+ .searchcraft-toggle-button-label {
108
+ font-family: var(--sc-font-family);
109
+ -webkit-font-smoothing: antialiased;
110
+ font-size: var(--sc-body-font-size);
111
+ font-weight: var(--sc-body-font-weight);
112
+ line-height: var(--sc-body-line-height);
113
+ margin: 0;
114
+ color: var(--sc-content-neutral-primary);
115
+ }
116
+
117
+ .searchcraft-toggle-button-sub-label {
118
+ font-family: var(--sc-font-family);
119
+ -webkit-font-smoothing: antialiased;
120
+ font-size: var(--sc-body-small-font-size);
121
+ font-weight: var(--sc-body-small-font-weight);
122
+ line-height: var(--sc-body-small-line-height);
123
+ margin: 0;
124
+ color: var(--sc-content-neutral-secondary);
125
+ }
126
+
127
+ .searchcraft-toggle-button-background {
128
+ transition: background-color 0.2s;
129
+ background: var(--sc-surface-disabled);
3
130
  border: none;
4
131
  border-radius: 16px;
5
- box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.05);
6
132
  cursor: pointer;
7
133
  height: 26px;
8
- margin-left: 10px;
9
134
  position: relative;
10
135
  width: 44px;
136
+ flex-shrink: 0;
11
137
  }
12
138
 
13
- .toggleWrapper.active {
14
- background: #000000;
139
+ .searchcraft-toggle-button-background.active {
140
+ background: var(--sc-surface-brand-primary);
15
141
  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.05);
16
142
  }
17
143
 
18
- .toggleWrapper .toggleSwitch {
19
- background: #FFFFFF;
144
+ .searchcraft-toggle-button-handle {
145
+ background: var(--sc-surface-neutral-light);
20
146
  border-radius: 50%;
21
147
  height: 18px;
22
148
  left: 4px;
@@ -26,6 +152,6 @@
26
152
  width: 18px;
27
153
  }
28
154
 
29
- .toggleWrapper .toggleSwitch.active {
155
+ .searchcraft-toggle-button-handle.active {
30
156
  transform: translateX(16px);
31
157
  }
@@ -7,6 +7,7 @@
7
7
  * DO NOT use this file to export your components. Instead, use the recommended approaches
8
8
  * to consume components of this package as outlined in the `README.md`.
9
9
  */
10
- export { extractDynamicProperties, parseCustomStyles, parseSearchKeys, serializeStyles, } from './utils/utils';
10
+ export { parseCustomStyles, serializeStyles, } from './utils/utils';
11
11
  export { useSearchcraftStore, useThemeStore } from './provider/store';
12
+ export * from './types';
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,EACf,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC","sourcesContent":["/**\n * @fileoverview entry point for your component library\n *\n * This is the entry point for your component library. Use this file to export utilities,\n * constants or data structure that accompany your components.\n *\n * DO NOT use this file to export your components. Instead, use the recommended approaches\n * to consume components of this package as outlined in the `README.md`.\n */\n\nexport type * from './components';\n\nexport {\n extractDynamicProperties,\n parseCustomStyles,\n parseSearchKeys,\n serializeStyles,\n} from './utils/utils';\n\nexport { useSearchcraftStore, useThemeStore } from './provider/store';\n\nexport { Components } from './components';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EACL,iBAAiB,EACjB,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAItE,cAAc,SAAS,CAAC","sourcesContent":["/**\n * @fileoverview entry point for your component library\n *\n * This is the entry point for your component library. Use this file to export utilities,\n * constants or data structure that accompany your components.\n *\n * DO NOT use this file to export your components. Instead, use the recommended approaches\n * to consume components of this package as outlined in the `README.md`.\n */\n\nexport type * from './components';\n\nexport {\n parseCustomStyles,\n serializeStyles,\n} from './utils/utils';\n\nexport { useSearchcraftStore, useThemeStore } from './provider/store';\n\nexport { Components } from './components';\n\nexport * from './types';\n"]}
@@ -1,6 +1,5 @@
1
1
  import { create } from "zustand";
2
2
  import { SDKDebugger, LogLevel, } from "@searchcraft/core";
3
- import { filterPaths } from "../utils/utils";
4
3
  // Zustand store for Searchcraft state
5
4
  const useSearchcraftStore = create((set, get) => {
6
5
  let searchcraft = null;
@@ -24,53 +23,68 @@ const useSearchcraftStore = create((set, get) => {
24
23
  }
25
24
  };
26
25
  return {
26
+ resetFacetPaths: () => {
27
+ set({
28
+ facetPathsForIndexFields: {},
29
+ });
30
+ },
31
+ addFacetPathsForIndexField: (data) => set((state) => ({
32
+ facetPathsForIndexFields: Object.assign(Object.assign({}, state.facetPathsForIndexFields), { [data.fieldName]: data }),
33
+ })),
34
+ removeFacetPathsForIndexField: (fieldName) => set((state) => {
35
+ const currentPaths = state.facetPathsForIndexFields;
36
+ delete currentPaths[fieldName];
37
+ return {
38
+ facetPathsForIndexFields: Object.assign({}, currentPaths),
39
+ };
40
+ }),
41
+ addRangeValueForIndexField: (data) => set((state) => ({
42
+ rangeValueForIndexFields: Object.assign(Object.assign({}, state.rangeValueForIndexFields), { [data.fieldName]: data }),
43
+ })),
44
+ removeRangeValueForIndexField: (fieldName) => set((state) => {
45
+ const currentValues = state.rangeValueForIndexFields;
46
+ delete currentValues[fieldName];
47
+ return {
48
+ rangeValueForIndexFields: Object.assign({}, currentValues),
49
+ };
50
+ }),
51
+ setSearchMode: (mode) => set({ searchMode: mode }),
52
+ setSortType: (type) => set({ sortType: type }),
53
+ searchMode: 'fuzzy',
54
+ sortType: 'asc',
55
+ facetPathsForIndexFields: {},
56
+ rangeValueForIndexFields: {},
27
57
  query: '',
28
58
  isRequesting: false,
29
59
  searchResults: null,
30
60
  facets: null,
31
61
  getSearchcraftInstance: () => searchcraft,
32
- selectedFilters: [],
33
62
  searchParams: {
34
63
  mode: 'fuzzy',
35
64
  sort: 'asc',
36
65
  },
37
- setQuery: (query) => set({ query }),
66
+ setQuery: (query) => set({ query, facetPathsForIndexFields: {} }),
38
67
  setSearchResults: (results) => set({ searchResults: results }),
39
68
  setFacets: (facets) => set({ facets }),
40
- setSelectedFilters: (filters) => set({ selectedFilters: filters }),
41
69
  setIsRequesting: (isRequesting) => set({ isRequesting }),
42
- setSearchParams: (params) => set((state) => ({
43
- searchParams: Object.assign(Object.assign({}, state.searchParams), params),
44
- })),
45
- setYearsRange: (yearsRange) => set((state) => ({
46
- searchParams: Object.assign(Object.assign({}, state.searchParams), { yearsRange }),
47
- })),
48
70
  search: async () => {
49
- const { query, selectedFilters, setIsRequesting, setSearchResults, setFacets, searchParams, } = get();
71
+ const state = get();
50
72
  if (!searchcraft) {
51
73
  throw new Error('Searchcraft instance is not initialized.');
52
74
  }
53
- setIsRequesting(true);
54
- log(LogLevel.INFO, `Starting search with query: "${query}"`);
55
- const filters = filterPaths(selectedFilters);
75
+ state.setIsRequesting(true);
76
+ log(LogLevel.INFO, `Starting search with query: "${state.query}"`);
56
77
  try {
57
- const searchRequest = {
58
- query,
59
- mode: searchParams.mode,
60
- sort: searchParams.sort,
61
- facets: selectedFilters.length > 0
62
- ? {
63
- section: {
64
- counts: Object.fromEntries(filters.map((path) => [path, 1])),
65
- },
66
- }
67
- : null,
68
- yearsRange: searchParams.yearsRange,
69
- };
70
- const results = await searchcraft.search(searchRequest);
71
- setSearchResults(results);
78
+ const results = await searchcraft.search({
79
+ query: state.query,
80
+ mode: state.searchMode,
81
+ sort: state.sortType,
82
+ facetPathsForIndexFields: state.facetPathsForIndexFields,
83
+ rangeValueForIndexFields: state.rangeValueForIndexFields,
84
+ });
72
85
  const updatedFacets = results.data.facets || null;
73
- setFacets(updatedFacets);
86
+ state.setSearchResults(results);
87
+ state.setFacets(updatedFacets);
74
88
  log(LogLevel.DEBUG, `Search results: ${JSON.stringify(results)}`);
75
89
  log(LogLevel.DEBUG, `Updated facets: ${JSON.stringify(updatedFacets)}`);
76
90
  }
@@ -79,7 +93,7 @@ const useSearchcraftStore = create((set, get) => {
79
93
  log(LogLevel.ERROR, `Search failed with error: ${error.message}`);
80
94
  }
81
95
  finally {
82
- setIsRequesting(false);
96
+ state.setIsRequesting(false);
83
97
  }
84
98
  },
85
99
  initialize: (searchcraftInstance, debug = false) => {
@@ -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 Facets,\n} from '@searchcraft/core';\n\nimport { filterPaths } from '@utils/utils';\n\ninterface ThemeState {\n theme: 'light' | 'dark';\n toggleTheme: () => void;\n}\n\ninterface SearchParams {\n mode: 'fuzzy' | 'normal';\n sort: 'asc' | 'desc';\n yearsRange?: [number, number];\n}\n\ninterface SearchcraftState {\n facets: Facets | null;\n getSearchcraftInstance: () => SearchcraftCore | null;\n initialize: (searchcraft: SearchcraftCore, debug?: boolean) => void;\n isRequesting: boolean;\n query: string;\n search: () => Promise<void>;\n searchParams: SearchParams;\n searchResults: SearchcraftResponse | null;\n selectedFilters: string[]; // Add this to store selected filters\n setFacets: (facets: Facets) => void;\n setIsRequesting: (isRequesting: boolean) => void;\n setQuery: (query: string) => void;\n setSearchParams: (params: Partial<SearchParams>) => void;\n setSearchResults: (results: SearchcraftResponse | null) => void;\n setSelectedFilters: (filters: string[]) => void; // Update selected filters\n setYearsRange: (yearsRange: [number, number]) => void;\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 query: '',\n isRequesting: false,\n searchResults: null,\n facets: null,\n getSearchcraftInstance: () => searchcraft,\n selectedFilters: [],\n searchParams: {\n mode: 'fuzzy',\n sort: 'asc',\n },\n setQuery: (query) => set({ query }),\n setSearchResults: (results) => set({ searchResults: results }),\n setFacets: (facets) => set({ facets }),\n setSelectedFilters: (filters) => set({ selectedFilters: filters }),\n setIsRequesting: (isRequesting) => set({ isRequesting }),\n setSearchParams: (params) =>\n set((state) => ({\n searchParams: {\n ...state.searchParams,\n ...params,\n },\n })),\n setYearsRange: (yearsRange) =>\n set((state) => ({\n searchParams: {\n ...state.searchParams,\n yearsRange,\n },\n })),\n search: async () => {\n const {\n query,\n selectedFilters,\n setIsRequesting,\n setSearchResults,\n setFacets,\n searchParams,\n } = get();\n if (!searchcraft) {\n throw new Error('Searchcraft instance is not initialized.');\n }\n setIsRequesting(true);\n log(LogLevel.INFO, `Starting search with query: \"${query}\"`);\n const filters = filterPaths(selectedFilters);\n try {\n const searchRequest = {\n query,\n mode: searchParams.mode,\n sort: searchParams.sort,\n facets:\n selectedFilters.length > 0\n ? {\n section: {\n counts: Object.fromEntries(\n filters.map((path) => [path, 1]),\n ),\n },\n }\n : null,\n yearsRange: searchParams.yearsRange,\n };\n\n const results = await searchcraft.search(searchRequest);\n setSearchResults(results);\n const updatedFacets = results.data.facets || null;\n setFacets(updatedFacets);\n\n log(LogLevel.DEBUG, `Search results: ${JSON.stringify(results)}`);\n log(LogLevel.DEBUG, `Updated facets: ${JSON.stringify(updatedFacets)}`);\n } catch (error) {\n console.error(`Search failed: ${(error as Error).message}`);\n log(\n LogLevel.ERROR,\n `Search failed with error: ${(error as Error).message}`,\n );\n } finally {\n setIsRequesting(false);\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":"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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\ninterface SearchParams {\n mode: 'fuzzy' | 'normal';\n sort: 'asc' | 'desc';\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' | 'normal') => void;\n setSortType: (type: 'asc' | 'desc') => void;\n facetPathsForIndexFields: Record<string, FacetPathsForIndexField>;\n rangeValueForIndexFields: Record<string, RangeValueForIndexField>;\n searchMode: 'fuzzy' | 'normal';\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 searchParams: SearchParams;\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}\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 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 searchParams: {\n mode: 'fuzzy',\n sort: 'asc',\n },\n setQuery: (query) => set({ query, facetPathsForIndexFields: {} }),\n setSearchResults: (results) => set({ searchResults: results }),\n setFacets: (facets) => set({ facets }),\n setIsRequesting: (isRequesting) => set({ isRequesting }),\n search: async () => {\n const state = get();\n if (!searchcraft) {\n throw new Error('Searchcraft instance is not initialized.');\n }\n state.setIsRequesting(true);\n log(LogLevel.INFO, `Starting search with query: \"${state.query}\"`);\n try {\n const results = await searchcraft.search({\n query: state.query,\n mode: state.searchMode,\n sort: state.sortType,\n facetPathsForIndexFields: state.facetPathsForIndexFields,\n rangeValueForIndexFields: state.rangeValueForIndexFields,\n });\n const updatedFacets = results.data.facets || null;\n\n state.setSearchResults(results);\n state.setFacets(updatedFacets);\n\n log(LogLevel.DEBUG, `Search results: ${JSON.stringify(results)}`);\n log(LogLevel.DEBUG, `Updated facets: ${JSON.stringify(updatedFacets)}`);\n } catch (error) {\n console.error(`Search failed: ${(error as Error).message}`);\n log(\n LogLevel.ERROR,\n `Search failed with error: ${(error as Error).message}`,\n );\n } finally {\n state.setIsRequesting(false);\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"]}
@@ -0,0 +1,3 @@
1
+ export * from './searchcraft-base-search-results.types';
2
+ export * from './searchcraft-filter-panel.types';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,yCAAyC,CAAC;AACxD,cAAc,kCAAkC,CAAC","sourcesContent":["export * from './searchcraft-base-search-results.types';\nexport * from './searchcraft-filter-panel.types';\n"]}