@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,18 +1,104 @@
1
1
  :root {
2
- --font-stack: Helvetica, Arial, sans-serif;
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;
3
10
  }
4
11
 
5
- .formLTR {
6
- font-family: var(--font-stack);
7
- text-align: left;
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;
8
63
  }
9
64
 
10
- .formRTL {
11
- font-family: var(--font-stack);
12
- text-align: right;
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;
13
98
  }
14
99
 
15
- .searchContainer {
100
+ .searchcraft-base-search-form-input-container {
16
101
  align-items: center;
17
102
  display: flex;
103
+ gap: 8px;
18
104
  }
@@ -1,16 +1,9 @@
1
1
  import { useSearchcraftStore } from "../../provider/store";
2
2
  import { Fragment, h } from "@stencil/core";
3
- import classNames from "classnames";
4
3
  export class SearchcraftBaseSearchResult {
5
4
  constructor() {
6
- this.buttonCallback = () => { };
7
- this.keyDownCallback = () => { };
8
- this.resultCallback = () => { };
9
5
  this.searchcraftStore = useSearchcraftStore.getState();
10
- this.handleButtonClick = () => {
11
- this.buttonCallback();
12
- };
13
- this.handleClick = () => {
6
+ this.recordMeasureEvent = () => {
14
7
  var _a, _b, _c;
15
8
  const searchcraft = this.searchcraftStore.getSearchcraftInstance();
16
9
  if (searchcraft) {
@@ -25,40 +18,44 @@ export class SearchcraftBaseSearchResult {
25
18
  }
26
19
  };
27
20
  this.parseStyles = () => {
28
- try {
29
- return JSON.parse(this.customStyles);
30
- }
31
- catch (error) {
32
- console.error('Error parsing custom styles:', error);
33
- return {};
21
+ if (this.customStyles) {
22
+ try {
23
+ return JSON.parse(this.customStyles);
24
+ }
25
+ catch (error) {
26
+ console.error('Error parsing custom styles:', error);
27
+ return {};
28
+ }
34
29
  }
30
+ return {};
35
31
  };
36
- this.buttonText = '';
37
- this.customStyles = '{}';
38
- this.titleContent = '';
39
- this.imageDescription = '';
40
- this.imageSource = '';
41
- this.isInteractive = false;
42
- this.linkHref = '';
43
- this.primaryContent = '';
44
- this.secondaryContent = '';
45
- this.subtitleContent = '';
46
- this.tertiaryContent = '';
47
- this.themeMode = 'light';
48
- this.placeImageRight = false;
32
+ this.titleContent = undefined;
33
+ this.subtitleContent = undefined;
34
+ this.bodyContent = undefined;
35
+ this.footerContent = undefined;
36
+ this.buttonLabel = undefined;
37
+ this.buttonHref = undefined;
38
+ this.buttonTarget = '_blank';
39
+ this.buttonRel = undefined;
40
+ this.containerHref = undefined;
41
+ this.containerTarget = '_blank';
42
+ this.containerRel = undefined;
43
+ this.imageSrc = undefined;
44
+ this.imageAlt = undefined;
45
+ this.imagePlacement = undefined;
46
+ this.customStyles = undefined;
49
47
  this.documentPosition = 0;
50
48
  }
51
49
  render() {
52
- const isLightTheme = this.themeMode === 'light';
53
50
  const styles = this.parseStyles();
54
- const imageStyle = isLightTheme ? 'imageLight' : 'imageDark';
55
- const imageContainer = this.imageSource && (h("div", { key: '53541a311548a653d43505356b9a4f25a417093f', class: classNames('imageContainer', 'searchcraft-base-search-result-image-container') }, h("img", { key: '919a46fd856b521a548c2ce6bab8b360507469c2', alt: this.imageDescription, class: classNames(imageStyle, 'searchcraft-search-result-image'), src: this.imageSource, style: styles.image || {} })));
56
- const contentContainer = (h("div", { key: '944700daf2a0b683769bad992253a8482f71f685', class: classNames('contentContainer', 'searchcraft-base-search-result-content-container') }, h("h2", { key: '623096e2c7cf5f11bac7127cb00342386866089e', class: classNames(isLightTheme ? 'titleLight' : 'titleDark', 'searchcraft-base-search-result-title'), style: styles.title || {} }, this.titleContent), h("h3", { key: '2928f4d872e90d99fac31b75c9fecfee7e2a9a41', class: classNames(isLightTheme ? 'subtitleContentLight' : 'subtitleContentDark', 'searchcraft-base-search-result-subtitle'), style: styles.subtitle || {} }, this.subtitleContent), h("p", { key: '93bd00c9482d492a2d3d6262dba33044d4470d2c', class: classNames(isLightTheme ? 'primaryContentLight' : 'primaryContentDark', 'searchcraft-base-search-result-primary-content'), style: styles.primaryContent || {} }, this.primaryContent), h("div", { key: 'dc3bce7c0f75d121ba3068b3717fd5d934036012', class: classNames('secondaryContentContainer', 'searchcraft-base-search-result-secondary-content-container') }, h("p", { key: '80624ec83a0a7086142b6a35b4ac65d1fdb76a4e', class: classNames(isLightTheme ? 'secondaryContentLight' : 'secondaryContentDark', 'searchcraft-base-search-result-secondary-content'), style: styles.secondaryContent || {} }, this.secondaryContent), h("p", { key: '53bdb3471b16fd4a1f525d99472c3a4d5662b722', class: classNames(`${isLightTheme ? 'tertiaryContentLight' : 'tertiaryContentDark'}${this.tertiaryContent ? ' hasContent' : ''}`, 'searchcraft-base-search-result-tertiary-content'), style: styles.tertiaryContent || {} }, this.tertiaryContent)), this.buttonText && (h("button", { key: '442dc9aebe748ef06710e196382a80bf006a383e', onClick: this.handleButtonClick, style: styles.button || {}, type: 'button' }, this.buttonText))));
57
- return (h("a", { key: '2cf6a6d3768266f6d46e700588083aade92142f7', class: classNames(this.isInteractive
58
- ? isLightTheme
59
- ? 'interactiveResultContainerLight'
60
- : 'interactiveResultContainerDark'
61
- : 'resultContainer', 'searchcraft-search-result-container'), onKeyDown: this.keyDownCallback, onClick: this.handleClick, href: this.linkHref, rel: 'noreferrer', style: styles.container || {}, tabindex: '0', target: '_blank' }, this.placeImageRight ? (h(Fragment, null, contentContainer, imageContainer)) : (h(Fragment, null, imageContainer, contentContainer))));
51
+ const imageContainer = this.imageSrc && (h("img", { alt: this.imageAlt, class: 'searchcraft-search-result-image', src: this.imageSrc, style: styles.image || {} }));
52
+ const contentContainer = (h(Fragment, null, this.imageSrc && this.imagePlacement === 'left' && imageContainer, h("div", { class: 'searchcraft-base-search-result-content-container' }, this.titleContent && (h("h2", { class: 'searchcraft-base-search-result-title', style: styles.title || {} }, this.titleContent)), this.subtitleContent && (h("h3", { class: 'searchcraft-base-search-result-subtitle', style: styles.subtitle || {} }, this.subtitleContent)), this.bodyContent && (h("p", { class: 'searchcraft-base-search-result-body-content', style: styles.primaryContent || {} }, this.bodyContent)), this.footerContent && (h("p", { class: 'searchcraft-base-search-result-footer-content', style: styles.secondaryContent || {} }, this.footerContent)), this.buttonHref && !this.containerHref && this.buttonLabel && (h("a", { class: 'searchcraft-search-result-button', href: this.buttonHref, style: styles.button || {}, target: this.buttonTarget, rel: this.buttonRel }, this.buttonLabel))), this.imageSrc && this.imagePlacement === 'right' && imageContainer));
53
+ /** Render as an anchor tag if the containerHref prop is present. */
54
+ if (this.containerHref) {
55
+ return (h("a", { class: 'searchcraft-search-result-container', onClick: this.recordMeasureEvent, href: this.containerHref, rel: this.containerRel, style: styles.container || {}, tabindex: '0', target: this.containerTarget }, contentContainer));
56
+ }
57
+ /** Render as a div if no href prop. */
58
+ return (h("div", { class: 'searchcraft-search-result-container', style: styles.container || {} }, contentContainer));
62
59
  }
63
60
  static get is() { return "searchcraft-base-search-result"; }
64
61
  static get originalStyleUrls() {
@@ -73,11 +70,11 @@ export class SearchcraftBaseSearchResult {
73
70
  }
74
71
  static get properties() {
75
72
  return {
76
- "buttonText": {
73
+ "titleContent": {
77
74
  "type": "string",
78
75
  "mutable": false,
79
76
  "complexType": {
80
- "original": "string",
77
+ "original": "string | undefined",
81
78
  "resolved": "string",
82
79
  "references": {}
83
80
  },
@@ -87,15 +84,14 @@ export class SearchcraftBaseSearchResult {
87
84
  "tags": [],
88
85
  "text": ""
89
86
  },
90
- "attribute": "button-text",
91
- "reflect": false,
92
- "defaultValue": "''"
87
+ "attribute": "title-content",
88
+ "reflect": false
93
89
  },
94
- "customStyles": {
90
+ "subtitleContent": {
95
91
  "type": "string",
96
92
  "mutable": false,
97
93
  "complexType": {
98
- "original": "string",
94
+ "original": "string | undefined",
99
95
  "resolved": "string",
100
96
  "references": {}
101
97
  },
@@ -105,15 +101,14 @@ export class SearchcraftBaseSearchResult {
105
101
  "tags": [],
106
102
  "text": ""
107
103
  },
108
- "attribute": "custom-styles",
109
- "reflect": false,
110
- "defaultValue": "'{}'"
104
+ "attribute": "subtitle-content",
105
+ "reflect": false
111
106
  },
112
- "titleContent": {
107
+ "bodyContent": {
113
108
  "type": "string",
114
109
  "mutable": false,
115
110
  "complexType": {
116
- "original": "string",
111
+ "original": "string | undefined",
117
112
  "resolved": "string",
118
113
  "references": {}
119
114
  },
@@ -123,15 +118,14 @@ export class SearchcraftBaseSearchResult {
123
118
  "tags": [],
124
119
  "text": ""
125
120
  },
126
- "attribute": "title-content",
127
- "reflect": false,
128
- "defaultValue": "''"
121
+ "attribute": "body-content",
122
+ "reflect": false
129
123
  },
130
- "imageDescription": {
124
+ "footerContent": {
131
125
  "type": "string",
132
126
  "mutable": false,
133
127
  "complexType": {
134
- "original": "string",
128
+ "original": "string | undefined",
135
129
  "resolved": "string",
136
130
  "references": {}
137
131
  },
@@ -141,15 +135,14 @@ export class SearchcraftBaseSearchResult {
141
135
  "tags": [],
142
136
  "text": ""
143
137
  },
144
- "attribute": "image-description",
145
- "reflect": false,
146
- "defaultValue": "''"
138
+ "attribute": "footer-content",
139
+ "reflect": false
147
140
  },
148
- "imageSource": {
141
+ "buttonLabel": {
149
142
  "type": "string",
150
143
  "mutable": false,
151
144
  "complexType": {
152
- "original": "string",
145
+ "original": "string | undefined",
153
146
  "resolved": "string",
154
147
  "references": {}
155
148
  },
@@ -159,16 +152,15 @@ export class SearchcraftBaseSearchResult {
159
152
  "tags": [],
160
153
  "text": ""
161
154
  },
162
- "attribute": "image-source",
163
- "reflect": false,
164
- "defaultValue": "''"
155
+ "attribute": "button-label",
156
+ "reflect": false
165
157
  },
166
- "isInteractive": {
167
- "type": "boolean",
158
+ "buttonHref": {
159
+ "type": "string",
168
160
  "mutable": false,
169
161
  "complexType": {
170
- "original": "boolean",
171
- "resolved": "boolean",
162
+ "original": "string | undefined",
163
+ "resolved": "string",
172
164
  "references": {}
173
165
  },
174
166
  "required": false,
@@ -177,16 +169,15 @@ export class SearchcraftBaseSearchResult {
177
169
  "tags": [],
178
170
  "text": ""
179
171
  },
180
- "attribute": "is-interactive",
181
- "reflect": false,
182
- "defaultValue": "false"
172
+ "attribute": "button-href",
173
+ "reflect": false
183
174
  },
184
- "linkHref": {
175
+ "buttonTarget": {
185
176
  "type": "string",
186
177
  "mutable": false,
187
178
  "complexType": {
188
- "original": "string",
189
- "resolved": "string",
179
+ "original": "'_blank' | '_self' | '_top' | '_parent'",
180
+ "resolved": "\"_blank\" | \"_parent\" | \"_self\" | \"_top\"",
190
181
  "references": {}
191
182
  },
192
183
  "required": false,
@@ -195,16 +186,16 @@ export class SearchcraftBaseSearchResult {
195
186
  "tags": [],
196
187
  "text": ""
197
188
  },
198
- "attribute": "link-href",
189
+ "attribute": "button-target",
199
190
  "reflect": false,
200
- "defaultValue": "''"
191
+ "defaultValue": "'_blank'"
201
192
  },
202
- "primaryContent": {
193
+ "buttonRel": {
203
194
  "type": "string",
204
195
  "mutable": false,
205
196
  "complexType": {
206
- "original": "string",
207
- "resolved": "string",
197
+ "original": "'noreferrer' | 'noopener' | 'nofollow' | undefined",
198
+ "resolved": "\"nofollow\" | \"noopener\" | \"noreferrer\"",
208
199
  "references": {}
209
200
  },
210
201
  "required": false,
@@ -213,15 +204,14 @@ export class SearchcraftBaseSearchResult {
213
204
  "tags": [],
214
205
  "text": ""
215
206
  },
216
- "attribute": "primary-content",
217
- "reflect": false,
218
- "defaultValue": "''"
207
+ "attribute": "button-rel",
208
+ "reflect": false
219
209
  },
220
- "secondaryContent": {
210
+ "containerHref": {
221
211
  "type": "string",
222
212
  "mutable": false,
223
213
  "complexType": {
224
- "original": "string",
214
+ "original": "string | undefined",
225
215
  "resolved": "string",
226
216
  "references": {}
227
217
  },
@@ -231,16 +221,15 @@ export class SearchcraftBaseSearchResult {
231
221
  "tags": [],
232
222
  "text": ""
233
223
  },
234
- "attribute": "secondary-content",
235
- "reflect": false,
236
- "defaultValue": "''"
224
+ "attribute": "container-href",
225
+ "reflect": false
237
226
  },
238
- "subtitleContent": {
227
+ "containerTarget": {
239
228
  "type": "string",
240
229
  "mutable": false,
241
230
  "complexType": {
242
- "original": "string",
243
- "resolved": "string",
231
+ "original": "'_blank' | '_self' | '_top' | '_parent'",
232
+ "resolved": "\"_blank\" | \"_parent\" | \"_self\" | \"_top\"",
244
233
  "references": {}
245
234
  },
246
235
  "required": false,
@@ -249,16 +238,16 @@ export class SearchcraftBaseSearchResult {
249
238
  "tags": [],
250
239
  "text": ""
251
240
  },
252
- "attribute": "subtitle-content",
241
+ "attribute": "container-target",
253
242
  "reflect": false,
254
- "defaultValue": "''"
243
+ "defaultValue": "'_blank'"
255
244
  },
256
- "tertiaryContent": {
245
+ "containerRel": {
257
246
  "type": "string",
258
247
  "mutable": false,
259
248
  "complexType": {
260
- "original": "string",
261
- "resolved": "string",
249
+ "original": "'noreferrer' | 'noopener' | 'nofollow' | undefined",
250
+ "resolved": "\"nofollow\" | \"noopener\" | \"noreferrer\"",
262
251
  "references": {}
263
252
  },
264
253
  "required": false,
@@ -267,16 +256,15 @@ export class SearchcraftBaseSearchResult {
267
256
  "tags": [],
268
257
  "text": ""
269
258
  },
270
- "attribute": "tertiary-content",
271
- "reflect": false,
272
- "defaultValue": "''"
259
+ "attribute": "container-rel",
260
+ "reflect": false
273
261
  },
274
- "themeMode": {
262
+ "imageSrc": {
275
263
  "type": "string",
276
264
  "mutable": false,
277
265
  "complexType": {
278
- "original": "'light' | 'dark'",
279
- "resolved": "\"dark\" | \"light\"",
266
+ "original": "string | undefined",
267
+ "resolved": "string",
280
268
  "references": {}
281
269
  },
282
270
  "required": false,
@@ -285,16 +273,15 @@ export class SearchcraftBaseSearchResult {
285
273
  "tags": [],
286
274
  "text": ""
287
275
  },
288
- "attribute": "theme-mode",
289
- "reflect": false,
290
- "defaultValue": "'light'"
276
+ "attribute": "image-src",
277
+ "reflect": false
291
278
  },
292
- "placeImageRight": {
293
- "type": "boolean",
279
+ "imageAlt": {
280
+ "type": "string",
294
281
  "mutable": false,
295
282
  "complexType": {
296
- "original": "boolean",
297
- "resolved": "boolean",
283
+ "original": "string | undefined",
284
+ "resolved": "string",
298
285
  "references": {}
299
286
  },
300
287
  "required": false,
@@ -303,16 +290,15 @@ export class SearchcraftBaseSearchResult {
303
290
  "tags": [],
304
291
  "text": ""
305
292
  },
306
- "attribute": "place-image-right",
307
- "reflect": false,
308
- "defaultValue": "false"
293
+ "attribute": "image-alt",
294
+ "reflect": false
309
295
  },
310
- "documentPosition": {
311
- "type": "number",
296
+ "imagePlacement": {
297
+ "type": "string",
312
298
  "mutable": false,
313
299
  "complexType": {
314
- "original": "number",
315
- "resolved": "number",
300
+ "original": "'left' | 'right'",
301
+ "resolved": "\"left\" | \"right\"",
316
302
  "references": {}
317
303
  },
318
304
  "required": false,
@@ -321,59 +307,45 @@ export class SearchcraftBaseSearchResult {
321
307
  "tags": [],
322
308
  "text": ""
323
309
  },
324
- "attribute": "document-position",
325
- "reflect": false,
326
- "defaultValue": "0"
327
- }
328
- };
329
- }
330
- static get events() {
331
- return [{
332
- "method": "buttonCallback",
333
- "name": "buttonCallback",
334
- "bubbles": true,
335
- "cancelable": true,
336
- "composed": true,
337
- "docs": {
338
- "tags": [],
339
- "text": ""
340
- },
310
+ "attribute": "image-placement",
311
+ "reflect": false
312
+ },
313
+ "customStyles": {
314
+ "type": "string",
315
+ "mutable": false,
341
316
  "complexType": {
342
- "original": "any",
343
- "resolved": "any",
317
+ "original": "string | undefined",
318
+ "resolved": "string",
344
319
  "references": {}
345
- }
346
- }, {
347
- "method": "keyDownCallback",
348
- "name": "keyDownCallback",
349
- "bubbles": true,
350
- "cancelable": true,
351
- "composed": true,
320
+ },
321
+ "required": false,
322
+ "optional": false,
352
323
  "docs": {
353
324
  "tags": [],
354
325
  "text": ""
355
326
  },
327
+ "attribute": "custom-styles",
328
+ "reflect": false
329
+ },
330
+ "documentPosition": {
331
+ "type": "number",
332
+ "mutable": false,
356
333
  "complexType": {
357
- "original": "any",
358
- "resolved": "any",
334
+ "original": "number",
335
+ "resolved": "number",
359
336
  "references": {}
360
- }
361
- }, {
362
- "method": "resultCallback",
363
- "name": "resultCallback",
364
- "bubbles": true,
365
- "cancelable": true,
366
- "composed": true,
337
+ },
338
+ "required": false,
339
+ "optional": false,
367
340
  "docs": {
368
341
  "tags": [],
369
342
  "text": ""
370
343
  },
371
- "complexType": {
372
- "original": "any",
373
- "resolved": "any",
374
- "references": {}
375
- }
376
- }];
344
+ "attribute": "document-position",
345
+ "reflect": false,
346
+ "defaultValue": "0"
347
+ }
348
+ };
377
349
  }
378
350
  }
379
351
  //# sourceMappingURL=searchcraft-base-search-result.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"searchcraft-base-search-result.js","sourceRoot":"","sources":["../../../../src/components/searchcraft-base-search-result/searchcraft-base-search-result.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,UAAU,MAAM,YAAY,CAAC;AAOpC,MAAM,OAAO,2BAA2B;;QAgB7B,mBAAc,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;QACtC,oBAAe,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;QACvC,mBAAc,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;QAEvC,qBAAgB,GAAG,mBAAmB,CAAC,QAAQ,EAAE,CAAC;QAElD,sBAAiB,GAAG,GAAG,EAAE;YAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC;QAEM,gBAAW,GAAG,GAAG,EAAE;;YACzB,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,CAAC;YAEnE,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC;gBAChD,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBAChD,MAAM,mBAAmB,GACvB,CAAA,MAAA,MAAA,MAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,0CAAE,IAAI,0CAAE,IAAI,0CAAE,MAAM,KAAI,CAAC,CAAC;gBAE/D,WAAW,CAAC,gBAAgB,CAAC,kBAAkB,EAAE;oBAC/C,iBAAiB;oBACjB,mBAAmB;oBACnB,WAAW;iBACZ,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEM,gBAAW,GAAG,GAA8C,EAAE;YACpE,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACvC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;gBACrD,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;0BAjDmB,EAAE;4BACA,IAAI;4BACJ,EAAE;gCACE,EAAE;2BACP,EAAE;6BACA,KAAK;wBACV,EAAE;8BACI,EAAE;gCACA,EAAE;+BACH,EAAE;+BACF,EAAE;yBACU,OAAO;+BACnB,KAAK;gCACJ,CAAC;;IAsC5B,MAAM;QACJ,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;QAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,IAAI,CACzC,4DACE,KAAK,EAAE,UAAU,CACf,gBAAgB,EAChB,gDAAgD,CACjD;YAED,4DACE,GAAG,EAAE,IAAI,CAAC,gBAAgB,EAC1B,KAAK,EAAE,UAAU,CAAC,UAAU,EAAE,iCAAiC,CAAC,EAChE,GAAG,EAAE,IAAI,CAAC,WAAW,EACrB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,GACzB,CACE,CACP,CAAC;QAEF,MAAM,gBAAgB,GAAG,CACvB,4DACE,KAAK,EAAE,UAAU,CACf,kBAAkB,EAClB,kDAAkD,CACnD;YAED,2DACE,KAAK,EAAE,UAAU,CACf,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,EACzC,sCAAsC,CACvC,EACD,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,IAExB,IAAI,CAAC,YAAY,CACf;YACL,2DACE,KAAK,EAAE,UAAU,CACf,YAAY,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,qBAAqB,EAC7D,yCAAyC,CAC1C,EACD,KAAK,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE,IAE3B,IAAI,CAAC,eAAe,CAClB;YACL,0DACE,KAAK,EAAE,UAAU,CACf,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,oBAAoB,EAC3D,gDAAgD,CACjD,EACD,KAAK,EAAE,MAAM,CAAC,cAAc,IAAI,EAAE,IAEjC,IAAI,CAAC,cAAc,CAClB;YACJ,4DACE,KAAK,EAAE,UAAU,CACf,2BAA2B,EAC3B,4DAA4D,CAC7D;gBAED,0DACE,KAAK,EAAE,UAAU,CACf,YAAY,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,sBAAsB,EAC/D,kDAAkD,CACnD,EACD,KAAK,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE,IAEnC,IAAI,CAAC,gBAAgB,CACpB;gBACJ,0DACE,KAAK,EAAE,UAAU,CACf,GAAG,YAAY,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,qBAAqB,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAC9G,iDAAiD,CAClD,EACD,KAAK,EAAE,MAAM,CAAC,eAAe,IAAI,EAAE,IAElC,IAAI,CAAC,eAAe,CACnB,CACA;YACL,IAAI,CAAC,UAAU,IAAI,CAClB,+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,OAAO,CACL,0DACE,KAAK,EAAE,UAAU,CACf,IAAI,CAAC,aAAa;gBAChB,CAAC,CAAC,YAAY;oBACZ,CAAC,CAAC,iCAAiC;oBACnC,CAAC,CAAC,gCAAgC;gBACpC,CAAC,CAAC,iBAAiB,EACrB,qCAAqC,CACtC,EACD,SAAS,EAAE,IAAI,CAAC,eAAe,EAC/B,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,IAAI,EAAE,IAAI,CAAC,QAAQ,EACnB,GAAG,EAAC,YAAY,EAChB,KAAK,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE,EAC7B,QAAQ,EAAC,GAAG,EACZ,MAAM,EAAC,QAAQ,IAEd,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CACtB,EAAC,QAAQ;YACN,gBAAgB;YAChB,cAAc,CACN,CACZ,CAAC,CAAC,CAAC,CACF,EAAC,QAAQ;YACN,cAAc;YACd,gBAAgB,CACR,CACZ,CACC,CACL,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { useSearchcraftStore } from '@provider/store';\nimport { Component, Event, Fragment, h, Prop } from '@stencil/core';\nimport classNames from 'classnames';\n\n@Component({\n tag: 'searchcraft-base-search-result',\n styleUrl: 'searchcraft-base-search-result.module.scss',\n shadow: false,\n})\nexport class SearchcraftBaseSearchResult {\n @Prop() buttonText = '';\n @Prop() customStyles = '{}';\n @Prop() titleContent = '';\n @Prop() imageDescription = '';\n @Prop() imageSource = '';\n @Prop() isInteractive = false;\n @Prop() linkHref = '';\n @Prop() primaryContent = '';\n @Prop() secondaryContent = '';\n @Prop() subtitleContent = '';\n @Prop() tertiaryContent = '';\n @Prop() themeMode: 'light' | 'dark' = 'light';\n @Prop() placeImageRight = false;\n @Prop() documentPosition = 0;\n\n @Event() buttonCallback: () => void = () => {};\n @Event() keyDownCallback: () => void = () => {};\n @Event() resultCallback: () => void = () => {};\n\n private searchcraftStore = useSearchcraftStore.getState();\n\n private handleButtonClick = () => {\n this.buttonCallback();\n };\n\n private handleClick = () => {\n const searchcraft = this.searchcraftStore.getSearchcraftInstance();\n\n if (searchcraft) {\n const document_position = this.documentPosition;\n const search_term = this.searchcraftStore.query;\n const number_of_documents =\n this.searchcraftStore.searchResults?.data?.hits?.length || 0;\n\n searchcraft.sendMeasureEvent('document_clicked', {\n document_position,\n number_of_documents,\n search_term,\n });\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 const imageStyle = isLightTheme ? 'imageLight' : 'imageDark';\n const imageContainer = this.imageSource && (\n <div\n class={classNames(\n 'imageContainer',\n 'searchcraft-base-search-result-image-container',\n )}\n >\n <img\n alt={this.imageDescription}\n class={classNames(imageStyle, 'searchcraft-search-result-image')}\n src={this.imageSource}\n style={styles.image || {}}\n />\n </div>\n );\n\n const contentContainer = (\n <div\n class={classNames(\n 'contentContainer',\n 'searchcraft-base-search-result-content-container',\n )}\n >\n <h2\n class={classNames(\n isLightTheme ? 'titleLight' : 'titleDark',\n 'searchcraft-base-search-result-title',\n )}\n style={styles.title || {}}\n >\n {this.titleContent}\n </h2>\n <h3\n class={classNames(\n isLightTheme ? 'subtitleContentLight' : 'subtitleContentDark',\n 'searchcraft-base-search-result-subtitle',\n )}\n style={styles.subtitle || {}}\n >\n {this.subtitleContent}\n </h3>\n <p\n class={classNames(\n isLightTheme ? 'primaryContentLight' : 'primaryContentDark',\n 'searchcraft-base-search-result-primary-content',\n )}\n style={styles.primaryContent || {}}\n >\n {this.primaryContent}\n </p>\n <div\n class={classNames(\n 'secondaryContentContainer',\n 'searchcraft-base-search-result-secondary-content-container',\n )}\n >\n <p\n class={classNames(\n isLightTheme ? 'secondaryContentLight' : 'secondaryContentDark',\n 'searchcraft-base-search-result-secondary-content',\n )}\n style={styles.secondaryContent || {}}\n >\n {this.secondaryContent}\n </p>\n <p\n class={classNames(\n `${isLightTheme ? 'tertiaryContentLight' : 'tertiaryContentDark'}${this.tertiaryContent ? ' hasContent' : ''}`,\n 'searchcraft-base-search-result-tertiary-content',\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 <a\n class={classNames(\n this.isInteractive\n ? isLightTheme\n ? 'interactiveResultContainerLight'\n : 'interactiveResultContainerDark'\n : 'resultContainer',\n 'searchcraft-search-result-container',\n )}\n onKeyDown={this.keyDownCallback}\n onClick={this.handleClick}\n href={this.linkHref}\n rel='noreferrer'\n style={styles.container || {}}\n tabindex='0'\n target='_blank'\n >\n {this.placeImageRight ? (\n <Fragment>\n {contentContainer}\n {imageContainer}\n </Fragment>\n ) : (\n <Fragment>\n {imageContainer}\n {contentContainer}\n </Fragment>\n )}\n </a>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"searchcraft-base-search-result.js","sourceRoot":"","sources":["../../../../src/components/searchcraft-base-search-result/searchcraft-base-search-result.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useSearchcraftStore } from '@provider/store';\nimport { Component, 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: false,\n})\nexport class SearchcraftBaseSearchResult {\n @Prop() titleContent: string | undefined;\n @Prop() subtitleContent: string | undefined;\n @Prop() bodyContent: string | undefined;\n @Prop() footerContent: string | undefined;\n @Prop() buttonLabel: string | undefined;\n @Prop() buttonHref: string | undefined;\n @Prop() buttonTarget: '_blank' | '_self' | '_top' | '_parent' = '_blank';\n @Prop() buttonRel: 'noreferrer' | 'noopener' | 'nofollow' | undefined;\n @Prop() containerHref: string | undefined;\n @Prop() containerTarget: '_blank' | '_self' | '_top' | '_parent' = '_blank';\n @Prop() containerRel: 'noreferrer' | 'noopener' | 'nofollow' | undefined;\n @Prop() imageSrc: string | undefined;\n @Prop() imageAlt: string | undefined;\n @Prop() imagePlacement: 'left' | 'right';\n @Prop() customStyles: string | undefined;\n @Prop() documentPosition = 0;\n\n private searchcraftStore = useSearchcraftStore.getState();\n\n private recordMeasureEvent = () => {\n const searchcraft = this.searchcraftStore.getSearchcraftInstance();\n\n if (searchcraft) {\n const document_position = this.documentPosition;\n const search_term = this.searchcraftStore.query;\n const number_of_documents =\n this.searchcraftStore.searchResults?.data?.hits?.length || 0;\n\n searchcraft.sendMeasureEvent('document_clicked', {\n document_position,\n number_of_documents,\n search_term,\n });\n }\n };\n\n private parseStyles = (): Record<string, { [key: string]: string }> => {\n if (this.customStyles) {\n try {\n return JSON.parse(this.customStyles);\n } catch (error) {\n console.error('Error parsing custom styles:', error);\n return {};\n }\n }\n return {};\n };\n\n render() {\n const styles = this.parseStyles();\n const imageContainer = this.imageSrc && (\n <img\n alt={this.imageAlt}\n class='searchcraft-search-result-image'\n src={this.imageSrc}\n style={styles.image || {}}\n />\n );\n\n const contentContainer = (\n <Fragment>\n {this.imageSrc && this.imagePlacement === 'left' && imageContainer}\n <div class='searchcraft-base-search-result-content-container'>\n {this.titleContent && (\n <h2\n class='searchcraft-base-search-result-title'\n style={styles.title || {}}\n >\n {this.titleContent}\n </h2>\n )}\n {this.subtitleContent && (\n <h3\n class='searchcraft-base-search-result-subtitle'\n style={styles.subtitle || {}}\n >\n {this.subtitleContent}\n </h3>\n )}\n {this.bodyContent && (\n <p\n class='searchcraft-base-search-result-body-content'\n style={styles.primaryContent || {}}\n >\n {this.bodyContent}\n </p>\n )}\n\n {this.footerContent && (\n <p\n class='searchcraft-base-search-result-footer-content'\n style={styles.secondaryContent || {}}\n >\n {this.footerContent}\n </p>\n )}\n {this.buttonHref && !this.containerHref && this.buttonLabel && (\n <a\n class='searchcraft-search-result-button'\n href={this.buttonHref}\n style={styles.button || {}}\n target={this.buttonTarget}\n rel={this.buttonRel}\n >\n {this.buttonLabel}\n </a>\n )}\n </div>\n {this.imageSrc && this.imagePlacement === 'right' && imageContainer}\n </Fragment>\n );\n\n /** Render as an anchor tag if the containerHref prop is present. */\n if (this.containerHref) {\n return (\n <a\n class='searchcraft-search-result-container'\n onClick={this.recordMeasureEvent}\n href={this.containerHref}\n rel={this.containerRel}\n style={styles.container || {}}\n tabindex='0'\n target={this.containerTarget}\n >\n {contentContainer}\n </a>\n );\n }\n\n /** Render as a div if no href prop. */\n return (\n <div\n class='searchcraft-search-result-container'\n style={styles.container || {}}\n >\n {contentContainer}\n </div>\n );\n }\n}\n"]}