@searchcraft/javascript-sdk 0.5.3 → 0.6.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 (314) hide show
  1. package/dist/cjs/{index-b76bece0.js → index-b3b77ea2.js} +2 -1
  2. package/dist/cjs/index-b3b77ea2.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +4 -4
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/searchcraft-base-search-result.cjs.entry.js +3 -3
  6. package/dist/cjs/searchcraft-base-search-result.cjs.entry.js.map +1 -1
  7. package/dist/cjs/searchcraft-base-search-results.cjs.entry.js +13 -12
  8. package/dist/cjs/searchcraft-base-search-results.cjs.entry.js.map +1 -1
  9. package/dist/cjs/searchcraft-button_3.cjs.entry.js +63 -0
  10. package/dist/cjs/searchcraft-button_3.cjs.entry.js.map +1 -0
  11. package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js +140 -14
  12. package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js.map +1 -1
  13. package/dist/cjs/searchcraft-filter-panel.cjs.entry.js +7 -7
  14. package/dist/cjs/searchcraft-filter-panel.cjs.entry.js.map +1 -1
  15. package/dist/cjs/searchcraft-input-form_2.cjs.entry.js +227 -0
  16. package/dist/cjs/searchcraft-input-form_2.cjs.entry.js.map +1 -0
  17. package/dist/cjs/searchcraft-javascript-sdk.cjs.js +2 -2
  18. package/dist/cjs/searchcraft-popover-button.cjs.entry.js +26 -0
  19. package/dist/cjs/searchcraft-popover-button.cjs.entry.js.map +1 -0
  20. package/dist/cjs/searchcraft-popover-form.cjs.entry.js +197 -3
  21. package/dist/cjs/searchcraft-popover-form.cjs.entry.js.map +1 -1
  22. package/dist/cjs/searchcraft-popover-list-item.cjs.entry.js +32 -0
  23. package/dist/cjs/searchcraft-popover-list-item.cjs.entry.js.map +1 -0
  24. package/dist/cjs/searchcraft-results-info.cjs.entry.js +5 -5
  25. package/dist/cjs/searchcraft-results-info.cjs.entry.js.map +1 -1
  26. package/dist/cjs/{store-943576b0.js → store-d7ebcf7a.js} +280 -267
  27. package/dist/cjs/store-d7ebcf7a.js.map +1 -0
  28. package/dist/cjs/styles-7b2d06f2.js +28 -0
  29. package/dist/cjs/styles-7b2d06f2.js.map +1 -0
  30. package/dist/cjs/units-fe4d8083.js +88 -0
  31. package/dist/cjs/units-fe4d8083.js.map +1 -0
  32. package/dist/collection/collection-manifest.json +2 -1
  33. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js +21 -16
  34. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js.map +1 -1
  35. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.module.css +54 -4
  36. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js +45 -13
  37. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js.map +1 -1
  38. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.module.css +52 -2
  39. package/dist/collection/components/searchcraft-button/searchcraft-button.js +11 -6
  40. package/dist/collection/components/searchcraft-button/searchcraft-button.js.map +1 -1
  41. package/dist/collection/components/searchcraft-button/searchcraft-button.module.css +52 -2
  42. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js +11 -2
  43. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js.map +1 -1
  44. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.module.css +52 -2
  45. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js +23 -4
  46. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js.map +1 -1
  47. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.module.css +52 -2
  48. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js +13 -4
  49. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js.map +1 -1
  50. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.module.css +52 -2
  51. package/dist/collection/components/searchcraft-input-form/searchcraft-input-form.js +66 -49
  52. package/dist/collection/components/searchcraft-input-form/searchcraft-input-form.js.map +1 -1
  53. package/dist/collection/components/searchcraft-input-form/searchcraft-input-form.module.css +56 -6
  54. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js +12 -6
  55. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js.map +1 -1
  56. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.module.css +52 -2
  57. package/dist/collection/components/searchcraft-popover-button/searchcraft-popover-button.js +25 -0
  58. package/dist/collection/components/searchcraft-popover-button/searchcraft-popover-button.js.map +1 -0
  59. package/dist/collection/components/searchcraft-popover-form/searchcraft-popover-form.js +278 -5
  60. package/dist/collection/components/searchcraft-popover-form/searchcraft-popover-form.js.map +1 -1
  61. package/dist/collection/components/searchcraft-popover-form/searchcraft-popover-form.module.css +322 -0
  62. package/dist/collection/components/searchcraft-popover-list-item/searchcraft-popover-list-item.js +139 -0
  63. package/dist/collection/components/searchcraft-popover-list-item/searchcraft-popover-list-item.js.map +1 -0
  64. package/dist/collection/components/searchcraft-popover-list-item/searchcraft-popover-list-item.module.css +209 -0
  65. package/dist/collection/components/searchcraft-popover-list-view/searchcraft-popover-list-view.js +47 -6
  66. package/dist/collection/components/searchcraft-popover-list-view/searchcraft-popover-list-view.js.map +1 -1
  67. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js +11 -1
  68. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js.map +1 -1
  69. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.module.css +53 -3
  70. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js +13 -8
  71. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js.map +1 -1
  72. package/dist/collection/components/searchcraft-slider/searchcraft-slider.module.css +52 -2
  73. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js +9 -5
  74. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js.map +1 -1
  75. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.module.css +52 -2
  76. package/dist/collection/index.js +1 -1
  77. package/dist/collection/index.js.map +1 -1
  78. package/dist/collection/provider/store.js +14 -15
  79. package/dist/collection/provider/store.js.map +1 -1
  80. package/dist/collection/types/_shared.types.js +2 -0
  81. package/dist/collection/types/_shared.types.js.map +1 -0
  82. package/dist/collection/types/index.js +1 -0
  83. package/dist/collection/types/index.js.map +1 -1
  84. package/dist/collection/types/searchcraft-base-search-results.types.js.map +1 -1
  85. package/dist/collection/types/searchcraft-popover-form.types.js.map +1 -1
  86. package/dist/collection/utils/{utils.js → facets.js} +7 -105
  87. package/dist/collection/utils/facets.js.map +1 -0
  88. package/dist/collection/utils/index.js +4 -0
  89. package/dist/collection/utils/index.js.map +1 -0
  90. package/dist/collection/utils/styles.js +22 -0
  91. package/dist/collection/utils/styles.js.map +1 -0
  92. package/dist/collection/utils/units.js +83 -0
  93. package/dist/collection/utils/units.js.map +1 -0
  94. package/dist/components/index.js +6 -4
  95. package/dist/components/index.js.map +1 -1
  96. package/dist/components/p-02a16e53.js +240 -0
  97. package/dist/components/p-02a16e53.js.map +1 -0
  98. package/dist/components/{p-cbdcf6df.js → p-04c46179.js} +3 -3
  99. package/dist/components/p-04c46179.js.map +1 -0
  100. package/dist/components/p-0e38a723.js +99 -0
  101. package/dist/components/p-0e38a723.js.map +1 -0
  102. package/dist/components/p-4c45ef80.js +67 -0
  103. package/dist/components/p-4c45ef80.js.map +1 -0
  104. package/dist/components/p-755f491b.js +84 -0
  105. package/dist/components/p-755f491b.js.map +1 -0
  106. package/dist/components/p-85765b81.js +56 -0
  107. package/dist/components/p-85765b81.js.map +1 -0
  108. package/dist/components/p-953f4238.js +35 -0
  109. package/dist/components/p-953f4238.js.map +1 -0
  110. package/dist/components/p-a248ad69.js +276 -0
  111. package/dist/components/p-a248ad69.js.map +1 -0
  112. package/dist/components/p-a9bd1872.js +38 -0
  113. package/dist/components/p-a9bd1872.js.map +1 -0
  114. package/dist/components/p-cf4ced92.js +49 -0
  115. package/dist/components/p-cf4ced92.js.map +1 -0
  116. package/dist/components/{p-ad4ebde0.js → p-d6a88eed.js} +280 -267
  117. package/dist/components/p-d6a88eed.js.map +1 -0
  118. package/dist/components/p-d9551738.js +25 -0
  119. package/dist/components/p-d9551738.js.map +1 -0
  120. package/dist/components/p-f9d778b3.js +48 -0
  121. package/dist/components/p-f9d778b3.js.map +1 -0
  122. package/dist/components/searchcraft-base-search-result.js +1 -1
  123. package/dist/components/searchcraft-base-search-results.js +6 -5
  124. package/dist/components/searchcraft-base-search-results.js.map +1 -1
  125. package/dist/components/searchcraft-button.js +1 -1
  126. package/dist/components/searchcraft-error-message.js +1 -1
  127. package/dist/components/searchcraft-facet-list.js +1 -1
  128. package/dist/components/searchcraft-filter-panel.js +8 -8
  129. package/dist/components/searchcraft-filter-panel.js.map +1 -1
  130. package/dist/components/searchcraft-input-form.js +1 -241
  131. package/dist/components/searchcraft-input-form.js.map +1 -1
  132. package/dist/components/searchcraft-input-label.js +1 -1
  133. package/dist/components/searchcraft-popover-button.d.ts +11 -0
  134. package/dist/components/searchcraft-popover-button.js +39 -0
  135. package/dist/components/searchcraft-popover-button.js.map +1 -0
  136. package/dist/components/searchcraft-popover-form.js +245 -5
  137. package/dist/components/searchcraft-popover-form.js.map +1 -1
  138. package/dist/components/searchcraft-popover-list-item.d.ts +11 -0
  139. package/dist/components/searchcraft-popover-list-item.js +8 -0
  140. package/dist/components/searchcraft-popover-list-item.js.map +1 -0
  141. package/dist/components/searchcraft-popover-list-view.js +1 -1
  142. package/dist/components/searchcraft-results-info.js +3 -3
  143. package/dist/components/searchcraft-results-info.js.map +1 -1
  144. package/dist/components/searchcraft-slider.js +1 -1
  145. package/dist/components/searchcraft-toggle-button.js +1 -1
  146. package/dist/esm/{index-be042742.js → index-11551663.js} +2 -2
  147. package/dist/esm/index-11551663.js.map +1 -0
  148. package/dist/esm/index.js +2 -2
  149. package/dist/esm/loader.js +3 -3
  150. package/dist/esm/searchcraft-base-search-result.entry.js +3 -3
  151. package/dist/esm/searchcraft-base-search-result.entry.js.map +1 -1
  152. package/dist/esm/searchcraft-base-search-results.entry.js +5 -4
  153. package/dist/esm/searchcraft-base-search-results.entry.js.map +1 -1
  154. package/dist/esm/searchcraft-button_3.entry.js +57 -0
  155. package/dist/esm/searchcraft-button_3.entry.js.map +1 -0
  156. package/dist/esm/searchcraft-facet-list_3.entry.js +137 -11
  157. package/dist/esm/searchcraft-facet-list_3.entry.js.map +1 -1
  158. package/dist/esm/searchcraft-filter-panel.entry.js +6 -6
  159. package/dist/esm/searchcraft-filter-panel.entry.js.map +1 -1
  160. package/dist/esm/searchcraft-input-form_2.entry.js +222 -0
  161. package/dist/esm/searchcraft-input-form_2.entry.js.map +1 -0
  162. package/dist/esm/searchcraft-javascript-sdk.js +3 -3
  163. package/dist/esm/searchcraft-popover-button.entry.js +22 -0
  164. package/dist/esm/searchcraft-popover-button.entry.js.map +1 -0
  165. package/dist/esm/searchcraft-popover-form.entry.js +197 -3
  166. package/dist/esm/searchcraft-popover-form.entry.js.map +1 -1
  167. package/dist/esm/searchcraft-popover-list-item.entry.js +28 -0
  168. package/dist/esm/searchcraft-popover-list-item.entry.js.map +1 -0
  169. package/dist/esm/searchcraft-results-info.entry.js +4 -4
  170. package/dist/esm/searchcraft-results-info.entry.js.map +1 -1
  171. package/dist/esm/{store-eb4269d6.js → store-1058f7b0.js} +280 -267
  172. package/dist/esm/store-1058f7b0.js.map +1 -0
  173. package/dist/esm/styles-961644ef.js +25 -0
  174. package/dist/esm/styles-961644ef.js.map +1 -0
  175. package/dist/esm/units-b6eba560.js +84 -0
  176. package/dist/esm/units-b6eba560.js.map +1 -0
  177. package/dist/searchcraft-javascript-sdk/index.esm.js +1 -1
  178. package/dist/searchcraft-javascript-sdk/p-4580e8a4.entry.js +2 -0
  179. package/dist/searchcraft-javascript-sdk/p-4580e8a4.entry.js.map +1 -0
  180. package/dist/searchcraft-javascript-sdk/p-7049b93d.entry.js +2 -0
  181. package/dist/searchcraft-javascript-sdk/p-7049b93d.entry.js.map +1 -0
  182. package/dist/searchcraft-javascript-sdk/p-755f491b.js +2 -0
  183. package/dist/searchcraft-javascript-sdk/p-755f491b.js.map +1 -0
  184. package/dist/searchcraft-javascript-sdk/p-8e539d62.entry.js +2 -0
  185. package/dist/searchcraft-javascript-sdk/p-8e539d62.entry.js.map +1 -0
  186. package/dist/searchcraft-javascript-sdk/p-98640a6a.entry.js +2 -0
  187. package/dist/searchcraft-javascript-sdk/p-98640a6a.entry.js.map +1 -0
  188. package/dist/searchcraft-javascript-sdk/p-9d0f5c89.entry.js +2 -0
  189. package/dist/searchcraft-javascript-sdk/p-9d0f5c89.entry.js.map +1 -0
  190. package/dist/searchcraft-javascript-sdk/p-b8bd53ce.entry.js +2 -0
  191. package/dist/searchcraft-javascript-sdk/p-b8bd53ce.entry.js.map +1 -0
  192. package/dist/searchcraft-javascript-sdk/p-c27a3673.entry.js +2 -0
  193. package/dist/searchcraft-javascript-sdk/p-c27a3673.entry.js.map +1 -0
  194. package/dist/searchcraft-javascript-sdk/p-cd852b84.entry.js +2 -0
  195. package/dist/searchcraft-javascript-sdk/p-cd852b84.entry.js.map +1 -0
  196. package/dist/searchcraft-javascript-sdk/p-d6a88eed.js +11 -0
  197. package/dist/searchcraft-javascript-sdk/p-d6a88eed.js.map +1 -0
  198. package/dist/searchcraft-javascript-sdk/p-d9551738.js +2 -0
  199. package/dist/searchcraft-javascript-sdk/p-d9551738.js.map +1 -0
  200. package/dist/searchcraft-javascript-sdk/p-e042deb9.entry.js +2 -0
  201. package/dist/searchcraft-javascript-sdk/p-e042deb9.entry.js.map +1 -0
  202. package/dist/searchcraft-javascript-sdk/{p-d7d0b88c.js → p-e0be53df.js} +2 -2
  203. package/dist/searchcraft-javascript-sdk/{p-d7d0b88c.js.map → p-e0be53df.js.map} +1 -1
  204. package/dist/searchcraft-javascript-sdk/p-efab9f3c.entry.js +2 -0
  205. package/dist/searchcraft-javascript-sdk/p-efab9f3c.entry.js.map +1 -0
  206. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js +1 -1
  207. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js.map +1 -1
  208. package/dist/types/components/searchcraft-base-search-result/searchcraft-base-search-result.d.ts +53 -0
  209. package/dist/types/components/searchcraft-base-search-results/searchcraft-base-search-results.d.ts +68 -0
  210. package/dist/types/components/searchcraft-button/searchcraft-button.d.ts +20 -0
  211. package/dist/types/components/searchcraft-error-message/searchcraft-error-message.d.ts +12 -0
  212. package/dist/types/components/searchcraft-facet-list/searchcraft-facet-list.d.ts +25 -0
  213. package/dist/types/components/searchcraft-filter-panel/searchcraft-filter-panel.d.ts +12 -0
  214. package/dist/types/components/searchcraft-input-form/searchcraft-input-form.d.ts +37 -13
  215. package/dist/types/components/searchcraft-input-label/searchcraft-input-label.d.ts +13 -1
  216. package/dist/types/components/searchcraft-popover-button/searchcraft-popover-button.d.ts +7 -0
  217. package/dist/types/components/searchcraft-popover-form/searchcraft-popover-form.d.ts +97 -1
  218. package/dist/types/components/searchcraft-popover-list-item/searchcraft-popover-list-item.d.ts +22 -0
  219. package/dist/types/components/searchcraft-popover-list-view/searchcraft-popover-list-view.d.ts +19 -3
  220. package/dist/types/components/searchcraft-results-info/searchcraft-results-info.d.ts +10 -0
  221. package/dist/types/components/searchcraft-slider/searchcraft-slider.d.ts +18 -0
  222. package/dist/types/components/searchcraft-toggle-button/searchcraft-toggle-button.d.ts +11 -3
  223. package/dist/types/components.d.ts +1023 -30
  224. package/dist/types/index.d.ts +1 -1
  225. package/dist/types/provider/store.d.ts +4 -2
  226. package/dist/types/types/_shared.types.d.ts +45 -0
  227. package/dist/types/types/index.d.ts +1 -0
  228. package/dist/types/types/searchcraft-base-search-results.types.d.ts +1 -8
  229. package/dist/types/types/searchcraft-popover-form.types.d.ts +2 -1
  230. package/dist/types/utils/facets.d.ts +6 -0
  231. package/dist/types/utils/index.d.ts +3 -0
  232. package/dist/types/utils/styles.d.ts +2 -0
  233. package/dist/types/utils/{utils.d.ts → units.d.ts} +12 -19
  234. package/package.json +7 -4
  235. package/dist/cjs/index-b76bece0.js.map +0 -1
  236. package/dist/cjs/searchcraft-button_2.cjs.entry.js +0 -51
  237. package/dist/cjs/searchcraft-button_2.cjs.entry.js.map +0 -1
  238. package/dist/cjs/searchcraft-error-message.cjs.entry.js +0 -23
  239. package/dist/cjs/searchcraft-error-message.cjs.entry.js.map +0 -1
  240. package/dist/cjs/searchcraft-input-form.cjs.entry.js +0 -202
  241. package/dist/cjs/searchcraft-input-form.cjs.entry.js.map +0 -1
  242. package/dist/cjs/searchcraft-popover-list-view.cjs.entry.js +0 -26
  243. package/dist/cjs/searchcraft-popover-list-view.cjs.entry.js.map +0 -1
  244. package/dist/cjs/searchcraft-popover-result.cjs.entry.js +0 -25
  245. package/dist/cjs/searchcraft-popover-result.cjs.entry.js.map +0 -1
  246. package/dist/cjs/store-943576b0.js.map +0 -1
  247. package/dist/cjs/utils-a17279a2.js +0 -226
  248. package/dist/cjs/utils-a17279a2.js.map +0 -1
  249. package/dist/collection/components/searchcraft-popover-result/searchcraft-popover-result.js +0 -21
  250. package/dist/collection/components/searchcraft-popover-result/searchcraft-popover-result.js.map +0 -1
  251. package/dist/collection/utils/utils.js.map +0 -1
  252. package/dist/components/p-16983367.js +0 -35
  253. package/dist/components/p-16983367.js.map +0 -1
  254. package/dist/components/p-42bfef5f.js +0 -151
  255. package/dist/components/p-42bfef5f.js.map +0 -1
  256. package/dist/components/p-5380505b.js +0 -99
  257. package/dist/components/p-5380505b.js.map +0 -1
  258. package/dist/components/p-672354c0.js +0 -38
  259. package/dist/components/p-672354c0.js.map +0 -1
  260. package/dist/components/p-9cb3d38b.js +0 -48
  261. package/dist/components/p-9cb3d38b.js.map +0 -1
  262. package/dist/components/p-a23d2994.js +0 -67
  263. package/dist/components/p-a23d2994.js.map +0 -1
  264. package/dist/components/p-ad4ebde0.js.map +0 -1
  265. package/dist/components/p-bd5fede3.js +0 -41
  266. package/dist/components/p-bd5fede3.js.map +0 -1
  267. package/dist/components/p-cbdcf6df.js.map +0 -1
  268. package/dist/components/p-f308d05d.js +0 -218
  269. package/dist/components/p-f308d05d.js.map +0 -1
  270. package/dist/components/searchcraft-popover-result.d.ts +0 -11
  271. package/dist/components/searchcraft-popover-result.js +0 -38
  272. package/dist/components/searchcraft-popover-result.js.map +0 -1
  273. package/dist/esm/index-be042742.js.map +0 -1
  274. package/dist/esm/searchcraft-button_2.entry.js +0 -46
  275. package/dist/esm/searchcraft-button_2.entry.js.map +0 -1
  276. package/dist/esm/searchcraft-error-message.entry.js +0 -19
  277. package/dist/esm/searchcraft-error-message.entry.js.map +0 -1
  278. package/dist/esm/searchcraft-input-form.entry.js +0 -198
  279. package/dist/esm/searchcraft-input-form.entry.js.map +0 -1
  280. package/dist/esm/searchcraft-popover-list-view.entry.js +0 -22
  281. package/dist/esm/searchcraft-popover-list-view.entry.js.map +0 -1
  282. package/dist/esm/searchcraft-popover-result.entry.js +0 -21
  283. package/dist/esm/searchcraft-popover-result.entry.js.map +0 -1
  284. package/dist/esm/store-eb4269d6.js.map +0 -1
  285. package/dist/esm/utils-c2ce411f.js +0 -218
  286. package/dist/esm/utils-c2ce411f.js.map +0 -1
  287. package/dist/searchcraft-javascript-sdk/p-04300412.entry.js +0 -2
  288. package/dist/searchcraft-javascript-sdk/p-04300412.entry.js.map +0 -1
  289. package/dist/searchcraft-javascript-sdk/p-09c7fbef.entry.js +0 -2
  290. package/dist/searchcraft-javascript-sdk/p-09c7fbef.entry.js.map +0 -1
  291. package/dist/searchcraft-javascript-sdk/p-32068485.entry.js +0 -2
  292. package/dist/searchcraft-javascript-sdk/p-32068485.entry.js.map +0 -1
  293. package/dist/searchcraft-javascript-sdk/p-4d3682a8.entry.js +0 -2
  294. package/dist/searchcraft-javascript-sdk/p-4d3682a8.entry.js.map +0 -1
  295. package/dist/searchcraft-javascript-sdk/p-61cf9d6c.entry.js +0 -2
  296. package/dist/searchcraft-javascript-sdk/p-61cf9d6c.entry.js.map +0 -1
  297. package/dist/searchcraft-javascript-sdk/p-93b92b65.entry.js +0 -2
  298. package/dist/searchcraft-javascript-sdk/p-93b92b65.entry.js.map +0 -1
  299. package/dist/searchcraft-javascript-sdk/p-a7a7b4e0.entry.js +0 -2
  300. package/dist/searchcraft-javascript-sdk/p-a7a7b4e0.entry.js.map +0 -1
  301. package/dist/searchcraft-javascript-sdk/p-a810aeae.entry.js +0 -2
  302. package/dist/searchcraft-javascript-sdk/p-a810aeae.entry.js.map +0 -1
  303. package/dist/searchcraft-javascript-sdk/p-aa155194.entry.js +0 -2
  304. package/dist/searchcraft-javascript-sdk/p-aa155194.entry.js.map +0 -1
  305. package/dist/searchcraft-javascript-sdk/p-ad4ebde0.js +0 -11
  306. package/dist/searchcraft-javascript-sdk/p-ad4ebde0.js.map +0 -1
  307. package/dist/searchcraft-javascript-sdk/p-adadf38a.entry.js +0 -2
  308. package/dist/searchcraft-javascript-sdk/p-adadf38a.entry.js.map +0 -1
  309. package/dist/searchcraft-javascript-sdk/p-d57eba31.entry.js +0 -2
  310. package/dist/searchcraft-javascript-sdk/p-d57eba31.entry.js.map +0 -1
  311. package/dist/searchcraft-javascript-sdk/p-f308d05d.js +0 -2
  312. package/dist/searchcraft-javascript-sdk/p-f308d05d.js.map +0 -1
  313. package/dist/types/components/searchcraft-popover-result/searchcraft-popover-result.d.ts +0 -6
  314. /package/dist/collection/components/{searchcraft-popover-result/searchcraft-popover-result.module.css → searchcraft-popover-button/searchcraft-popover-button.module.css} +0 -0
@@ -12,54 +12,247 @@ export { PopoverResultMappings, SearchResultMappings } from "./types/index";
12
12
  export { FilterItem } from "./types/searchcraft-filter-panel.types";
13
13
  export { SearchcraftConfig } from "@searchcraft/core";
14
14
  export namespace Components {
15
+ /**
16
+ * This web component is designed to display detailed information for a single search result.
17
+ * Once a query is submitted, the component formats and presents the result.
18
+ * It is consumed within the `searchcraft-base-search-results` component.
19
+ */
15
20
  interface SearchcraftBaseSearchResult {
21
+ /**
22
+ * The body content.
23
+ */
16
24
  "bodyContent": string | undefined;
25
+ /**
26
+ * The link for the button rendered when containerHref is not present.
27
+ */
17
28
  "buttonHref": string | undefined;
29
+ /**
30
+ * The label for the button rendered when containerHref is not present.
31
+ */
18
32
  "buttonLabel": string | undefined;
33
+ /**
34
+ * The relationship between the current document and the link for the button rendered when containerHref is not present.
35
+ */
19
36
  "buttonRel": 'noreferrer' | 'noopener' | 'nofollow' | undefined;
37
+ /**
38
+ * Where to open the link for the button rendered when containerHref is not present.
39
+ */
20
40
  "buttonTarget": '_blank' | '_self' | '_top' | '_parent';
41
+ /**
42
+ * The link for the containing element.
43
+ */
21
44
  "containerHref": string | undefined;
45
+ /**
46
+ * The relationship between the current document and the link for the containing element.
47
+ */
22
48
  "containerRel": 'noreferrer' | 'noopener' | 'nofollow' | undefined;
49
+ /**
50
+ * Where to open the link for the containing element.
51
+ */
23
52
  "containerTarget": '_blank' | '_self' | '_top' | '_parent';
53
+ /**
54
+ * A custom styles object.
55
+ */
24
56
  "customStyles": string | undefined;
57
+ /**
58
+ * The position in the document. Used with the "document_clicked" measure event.
59
+ */
25
60
  "documentPosition": number;
61
+ /**
62
+ * The footer content.
63
+ */
26
64
  "footerContent": string | undefined;
65
+ /**
66
+ * The image alternative text.
67
+ */
27
68
  "imageAlt": string | undefined;
69
+ /**
70
+ * The placement of the image.
71
+ */
28
72
  "imagePlacement": 'left' | 'right';
73
+ /**
74
+ * The image source.
75
+ */
29
76
  "imageSrc": string | undefined;
77
+ /**
78
+ * The subtitle content.
79
+ */
30
80
  "subtitleContent": string | undefined;
81
+ /**
82
+ * The title content.
83
+ */
31
84
  "titleContent": string | undefined;
32
85
  }
86
+ /**
87
+ * This web component is responsible for displaying the results of a search query.
88
+ * Once a query is submitted, the component formats and presents an ordered list of the results.
89
+ * ## Usage
90
+ * ```html
91
+ * <!-- index.html -->
92
+ * <searchcraft-base-search-results
93
+ * ad-interval="4"
94
+ * place-ad-at-start="false"
95
+ * result-image-placement="right"
96
+ * />
97
+ * ```
98
+ * ```js
99
+ * // index.js
100
+ * const baseSearchResults = document.querySelector('searchcraft-base-search-results');
101
+ * baseSearchResults.searchResultMappings = containerHref: {
102
+ * fieldNames: [
103
+ * {
104
+ * fieldName: 'canonical_link',
105
+ * dataType: 'text',
106
+ * },
107
+ * ],
108
+ * };
109
+ * baseSearchResults.addEventListener('noResults', () => {
110
+ * console.log('No search results found');
111
+ * });
112
+ * ```
113
+ */
33
114
  interface SearchcraftBaseSearchResults {
115
+ /**
116
+ * How often ads are injected.
117
+ */
34
118
  "adInterval": number;
119
+ /**
120
+ * The label for the button rendered when containerHref is not present for each result.
121
+ */
35
122
  "buttonLabel": string | undefined;
123
+ /**
124
+ * The relationship between the current document and the link for the button rendered when containerHref is not present for each result.
125
+ */
36
126
  "buttonRel": 'noreferrer' | 'noopener' | 'nofollow' | undefined;
127
+ /**
128
+ * Where to open the link for the button rendered when containerHref is not present for each result.
129
+ */
37
130
  "buttonTarget": '_blank' | '_self' | '_top' | '_parent';
131
+ /**
132
+ * The relationship between the current document and the link for the containing element for each result.
133
+ */
38
134
  "containerRel": 'noreferrer' | 'noopener' | 'nofollow' | undefined;
135
+ /**
136
+ * Where to open the link for the containing element for each result.
137
+ */
39
138
  "containerTarget": '_blank' | '_self' | '_top' | '_parent';
139
+ /**
140
+ * A custom styles object.
141
+ */
40
142
  "customStylesForResults": | string
41
143
  | Record<string, Record<string, string>>
42
144
  | undefined;
145
+ /**
146
+ * Should an ad be placed at the end of the results.
147
+ */
43
148
  "placeAdAtEnd": boolean;
149
+ /**
150
+ * Should an ad be placed at the start of the results.
151
+ */
44
152
  "placeAdAtStart": boolean;
153
+ /**
154
+ * The placement of the image for each result.
155
+ */
45
156
  "resultImagePlacement": 'left' | 'right';
157
+ /**
158
+ * Formats the content rendered for each result.
159
+ */
46
160
  "searchResultMappings": SearchResultMappings | undefined;
47
161
  }
162
+ /**
163
+ * This web component represents a button to be consumed within the `search-input-form` component.
164
+ * It provides a clear, interactive way for users to submit search queries or trigger actions in a search interface.
165
+ * It is consumed within the `searchcraft-input-form` component.
166
+ */
48
167
  interface SearchcraftButton {
168
+ /**
169
+ * The icon element.
170
+ */
49
171
  "iconElement"?: Element;
172
+ /**
173
+ * Should the button only display an icon.
174
+ */
50
175
  "iconOnly": boolean;
176
+ /**
177
+ * The position of the icon.
178
+ */
51
179
  "iconPosition": string;
180
+ /**
181
+ * The label for the button.
182
+ */
52
183
  "label": string;
53
184
  }
185
+ /**
186
+ * This web component is designed to display a user-friendly error message when a search query fails, providing clear feedback to users and enhancing their experience when an issue arises during the search process.
187
+ * ## Usage
188
+ * ```html
189
+ * <!-- index.html -->
190
+ * <searchcraft-error-message error-message="No search results found for query" />
191
+ * ```
192
+ */
54
193
  interface SearchcraftErrorMessage {
194
+ /**
195
+ * The error message.
196
+ */
55
197
  "errorMessage"?: string;
56
198
  }
199
+ /**
200
+ * This web component is designed to display facets in a search interface, allowing users to refine their search results by applying filters based on various attributes.
201
+ * It is consumed within the `searchcraft-filter-panel`.
202
+ * ## Usage
203
+ * ```html
204
+ * <!-- index.html -->
205
+ * <searchcraft-facet-list field-name="title" />
206
+ * ```
207
+ * ```js
208
+ * // index.js
209
+ * const facetList = document.querySelector('searchcraft-facet-list');
210
+ * facetList.addEventListener('facetSelectionUpdated', () => {
211
+ * console.log('Facet selection updated');
212
+ * });
213
+ * ```
214
+ */
57
215
  interface SearchcraftFacetList {
216
+ /**
217
+ * The name of the field where facets are applied.
218
+ */
58
219
  "fieldName": string;
59
220
  }
221
+ /**
222
+ * This web component represents a series of filters that allows users to refine and control their search queries by applying various filter criteria.
223
+ * ## Usage
224
+ * ```html
225
+ * <!-- index.html -->
226
+ * <searchcraft-filter-panel />
227
+ * ```
228
+ */
60
229
  interface SearchcraftFilterPanel {
230
+ /**
231
+ * The items to filter.
232
+ */
61
233
  "items": FilterItem[];
62
234
  }
235
+ /**
236
+ * This web component provides a user-friendly interface for querying an indexed dataset, enabling users to easily search large collections of data.
237
+ * It abstracts the complexities of index-based searching, making it accessible to users of all technical levels.
238
+ * ## Usage
239
+ * ```html
240
+ * <!-- index.html -->
241
+ * <searchcraft-input-form placeholder-value="Search here" />
242
+ * ```
243
+ * ```js
244
+ * // index.js
245
+ * const searchInputForm = document.querySelector('searchcraft-input-form');
246
+ * seardchInputForm.config = {
247
+ * index: [],
248
+ * readKey: '',
249
+ * endpointUrl: '',
250
+ * };
251
+ * searchForm.addEventListener('querySubmit', (event) => {
252
+ * console.log('Query submitted', event.detail);
253
+ * });
254
+ * ```
255
+ */
63
256
  interface SearchcraftInputForm {
64
257
  /**
65
258
  * Whether or not to automatically submit the search term when the input changes.
@@ -81,10 +274,6 @@ export namespace Components {
81
274
  * A custom styles object to be applied to the input element.
82
275
  */
83
276
  "customStyles": string | Record<string, string>;
84
- /**
85
- * The duration to debounce the input's `inputChange` event.
86
- */
87
- "debounceDelay": number;
88
277
  /**
89
278
  * The label rendered above the input.
90
279
  */
@@ -98,33 +287,168 @@ export namespace Components {
98
287
  */
99
288
  "searchTerm": string;
100
289
  }
290
+ /**
291
+ * This web component serves as the input label for the searchcraft-input-form component.
292
+ * ## Usage
293
+ * ```html
294
+ * <!-- index.html -->
295
+ * <searchcraft-input-label label="Search" />
296
+ * ```
297
+ */
101
298
  interface SearchcraftInputLabel {
299
+ /**
300
+ * The classname applied to the label element.
301
+ */
102
302
  "inputLabelClassName"?: string;
103
- "label"?: string;
303
+ "label": string;
104
304
  }
305
+ /**
306
+ * Renders a button which, when clicked, turns on popover visibility.
307
+ */
308
+ interface SearchcraftPopoverButton {
309
+ }
310
+ /**
311
+ * This web component is designed to display search results in a popover container that dynamically appears when the user interacts with a search input field.
312
+ * ## Usage
313
+ * ```html
314
+ * <!-- index.html -->
315
+ * <searchcraft-popover-form type="fullscreen" />
316
+ * ```
317
+ * ```js
318
+ * // index.js
319
+ * const popoverForm = document.querySelector('searchcraft-popover-form');
320
+ * popoverForm.config = {
321
+ * index: [index_name_from_vektron],
322
+ * readKey: 'read_key_from_vektron',
323
+ * endpointUrl: 'enpoint_url_from_vektron',
324
+ * };
325
+ * popoverForm.popoverResultMappings = {
326
+ * containerHref: {
327
+ * fieldNames: [
328
+ * {
329
+ * fieldName: 'canonical_link',
330
+ * dataType: 'text',
331
+ * },
332
+ * ],
333
+ * };
334
+ * ```
335
+ */
105
336
  interface SearchcraftPopoverForm {
337
+ /**
338
+ * The Searchcraft config object.
339
+ */
106
340
  "config": SearchcraftConfig | undefined;
341
+ /**
342
+ * The hotkey that activates the popover.
343
+ */
344
+ "hotkey": string;
345
+ /**
346
+ * The hotkey modifier that activates the popover. Used together with the `hotkey` prop.
347
+ */
348
+ "hotkeyModifier": 'ctrl' | 'meta' | 'alt' | 'option';
349
+ /**
350
+ * Formats the content rendered for each result.
351
+ */
107
352
  "popoverResultMappings": PopoverResultMappings | undefined;
353
+ /**
354
+ * The type of popover form to render. - `inline` - Renders inline with the rest of the content on the page. The search results pop over the page content. - `fullscreen` - Renders in fullscreen view. Used together with the `searchcraft-popover-button` component. - `modal` - Renders in a modal view. Used together with the `searchcraft-popover-button` component.
355
+ */
108
356
  "type": 'inline' | 'fullscreen' | 'modal';
109
357
  }
358
+ /**
359
+ * A single list item rendered in a searchcraft-popover-list-view.
360
+ */
361
+ interface SearchcraftPopoverListItem {
362
+ /**
363
+ * The document position relative to the search results (For Measure)
364
+ */
365
+ "documentPosition": number;
366
+ /**
367
+ * The link href
368
+ */
369
+ "href": string | undefined;
370
+ /**
371
+ * The image alt tag.
372
+ */
373
+ "imageAlt": string | undefined;
374
+ /**
375
+ * The source of the image. If not included, no item will be rendered.
376
+ */
377
+ "imageSrc": string | undefined;
378
+ /**
379
+ * The result subtitle
380
+ */
381
+ "subtitleContent": string | undefined;
382
+ /**
383
+ * The result title
384
+ */
385
+ "titleContent": string | undefined;
386
+ }
387
+ /**
388
+ * This web component is designed to display a list of results within a popover interface.
389
+ * It is consumed within the `searchcraft-popover-form` component.
390
+ * ## Usage
391
+ * ```html
392
+ * <!-- index.html -->
393
+ * <searchcraft-popover-list-view />
394
+ * ```
395
+ */
110
396
  interface SearchcraftPopoverListView {
397
+ /**
398
+ * The documents to render in the list view.
399
+ */
400
+ "documents": Record<string, unknown>[] | undefined;
401
+ /**
402
+ * The mappings that define how the data in the documents are mapped to the list-view-item elements.
403
+ */
111
404
  "popoverResultMappings": PopoverResultMappings | undefined;
112
405
  }
113
- interface SearchcraftPopoverResult {
114
- }
406
+ /**
407
+ * This web component is designed to display the number of results returned from a search query.
408
+ * It provides users with real-time feedback on the scale of the results, such as the total number of items found.
409
+ * ## Usage
410
+ * ```html
411
+ * <!-- index.html -->
412
+ * <searchcraft-results-info />
413
+ * ```
414
+ */
115
415
  interface SearchcraftResultsInfo {
116
416
  }
417
+ /**
418
+ * This web component is designed to allow users to select a value from a range defined by a minimum and maximum value.
419
+ * The component renders a slider interface, which can be used to visually choose a value between two boundaries.
420
+ * It is consumed by the `searchcraft-filter-panel` component.
421
+ */
117
422
  interface SearchcraftSlider {
423
+ /**
424
+ * The type of data allowed.
425
+ */
118
426
  "dataType": 'number' | 'date';
427
+ /**
428
+ * The granularity that the value must adhere to.
429
+ */
119
430
  "granularity": number;
431
+ /**
432
+ * The maximum value allowed.
433
+ */
120
434
  "max": number;
435
+ /**
436
+ * The minimum value allowed.
437
+ */
121
438
  "min": number;
122
439
  }
440
+ /**
441
+ * This web component simulates a light switch functionality, providing a simple and intuitive toggle between two states—on and off.
442
+ * It is consumed within the `searchcraft-filter-panel` component.
443
+ */
123
444
  interface SearchcraftToggleButton {
124
445
  /**
125
- * Type of the toggle - determines what it controls 'mode': toggles between 'fuzzy' and 'normal' 'sort': toggles between 'asc' and 'desc'
446
+ * The label.
126
447
  */
127
448
  "label": string;
449
+ /**
450
+ * The secondary label displayed below the main label.
451
+ */
128
452
  "subLabel": string | undefined;
129
453
  }
130
454
  }
@@ -153,6 +477,11 @@ export interface SearchcraftToggleButtonCustomEvent<T> extends CustomEvent<T> {
153
477
  target: HTMLSearchcraftToggleButtonElement;
154
478
  }
155
479
  declare global {
480
+ /**
481
+ * This web component is designed to display detailed information for a single search result.
482
+ * Once a query is submitted, the component formats and presents the result.
483
+ * It is consumed within the `searchcraft-base-search-results` component.
484
+ */
156
485
  interface HTMLSearchcraftBaseSearchResultElement extends Components.SearchcraftBaseSearchResult, HTMLStencilElement {
157
486
  }
158
487
  var HTMLSearchcraftBaseSearchResultElement: {
@@ -162,6 +491,34 @@ declare global {
162
491
  interface HTMLSearchcraftBaseSearchResultsElementEventMap {
163
492
  "noResults": void;
164
493
  }
494
+ /**
495
+ * This web component is responsible for displaying the results of a search query.
496
+ * Once a query is submitted, the component formats and presents an ordered list of the results.
497
+ * ## Usage
498
+ * ```html
499
+ * <!-- index.html -->
500
+ * <searchcraft-base-search-results
501
+ * ad-interval="4"
502
+ * place-ad-at-start="false"
503
+ * result-image-placement="right"
504
+ * />
505
+ * ```
506
+ * ```js
507
+ * // index.js
508
+ * const baseSearchResults = document.querySelector('searchcraft-base-search-results');
509
+ * baseSearchResults.searchResultMappings = containerHref: {
510
+ * fieldNames: [
511
+ * {
512
+ * fieldName: 'canonical_link',
513
+ * dataType: 'text',
514
+ * },
515
+ * ],
516
+ * };
517
+ * baseSearchResults.addEventListener('noResults', () => {
518
+ * console.log('No search results found');
519
+ * });
520
+ * ```
521
+ */
165
522
  interface HTMLSearchcraftBaseSearchResultsElement extends Components.SearchcraftBaseSearchResults, HTMLStencilElement {
166
523
  addEventListener<K extends keyof HTMLSearchcraftBaseSearchResultsElementEventMap>(type: K, listener: (this: HTMLSearchcraftBaseSearchResultsElement, ev: SearchcraftBaseSearchResultsCustomEvent<HTMLSearchcraftBaseSearchResultsElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
167
524
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
@@ -179,6 +536,11 @@ declare global {
179
536
  interface HTMLSearchcraftButtonElementEventMap {
180
537
  "buttonClick": void;
181
538
  }
539
+ /**
540
+ * This web component represents a button to be consumed within the `search-input-form` component.
541
+ * It provides a clear, interactive way for users to submit search queries or trigger actions in a search interface.
542
+ * It is consumed within the `searchcraft-input-form` component.
543
+ */
182
544
  interface HTMLSearchcraftButtonElement extends Components.SearchcraftButton, HTMLStencilElement {
183
545
  addEventListener<K extends keyof HTMLSearchcraftButtonElementEventMap>(type: K, listener: (this: HTMLSearchcraftButtonElement, ev: SearchcraftButtonCustomEvent<HTMLSearchcraftButtonElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
184
546
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
@@ -193,6 +555,14 @@ declare global {
193
555
  prototype: HTMLSearchcraftButtonElement;
194
556
  new (): HTMLSearchcraftButtonElement;
195
557
  };
558
+ /**
559
+ * This web component is designed to display a user-friendly error message when a search query fails, providing clear feedback to users and enhancing their experience when an issue arises during the search process.
560
+ * ## Usage
561
+ * ```html
562
+ * <!-- index.html -->
563
+ * <searchcraft-error-message error-message="No search results found for query" />
564
+ * ```
565
+ */
196
566
  interface HTMLSearchcraftErrorMessageElement extends Components.SearchcraftErrorMessage, HTMLStencilElement {
197
567
  }
198
568
  var HTMLSearchcraftErrorMessageElement: {
@@ -202,6 +572,22 @@ declare global {
202
572
  interface HTMLSearchcraftFacetListElementEventMap {
203
573
  "facetSelectionUpdated": { paths: string[] };
204
574
  }
575
+ /**
576
+ * This web component is designed to display facets in a search interface, allowing users to refine their search results by applying filters based on various attributes.
577
+ * It is consumed within the `searchcraft-filter-panel`.
578
+ * ## Usage
579
+ * ```html
580
+ * <!-- index.html -->
581
+ * <searchcraft-facet-list field-name="title" />
582
+ * ```
583
+ * ```js
584
+ * // index.js
585
+ * const facetList = document.querySelector('searchcraft-facet-list');
586
+ * facetList.addEventListener('facetSelectionUpdated', () => {
587
+ * console.log('Facet selection updated');
588
+ * });
589
+ * ```
590
+ */
205
591
  interface HTMLSearchcraftFacetListElement extends Components.SearchcraftFacetList, HTMLStencilElement {
206
592
  addEventListener<K extends keyof HTMLSearchcraftFacetListElementEventMap>(type: K, listener: (this: HTMLSearchcraftFacetListElement, ev: SearchcraftFacetListCustomEvent<HTMLSearchcraftFacetListElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
207
593
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
@@ -216,6 +602,14 @@ declare global {
216
602
  prototype: HTMLSearchcraftFacetListElement;
217
603
  new (): HTMLSearchcraftFacetListElement;
218
604
  };
605
+ /**
606
+ * This web component represents a series of filters that allows users to refine and control their search queries by applying various filter criteria.
607
+ * ## Usage
608
+ * ```html
609
+ * <!-- index.html -->
610
+ * <searchcraft-filter-panel />
611
+ * ```
612
+ */
219
613
  interface HTMLSearchcraftFilterPanelElement extends Components.SearchcraftFilterPanel, HTMLStencilElement {
220
614
  }
221
615
  var HTMLSearchcraftFilterPanelElement: {
@@ -225,10 +619,32 @@ declare global {
225
619
  interface HTMLSearchcraftInputFormElementEventMap {
226
620
  "inputCleared": void;
227
621
  "noResultsReceived": void;
228
- "querySubmit": string;
229
622
  "inputFocus": void;
230
623
  "inputBlur": void;
624
+ "inputInit": void;
625
+ "querySubmit": string;
231
626
  }
627
+ /**
628
+ * This web component provides a user-friendly interface for querying an indexed dataset, enabling users to easily search large collections of data.
629
+ * It abstracts the complexities of index-based searching, making it accessible to users of all technical levels.
630
+ * ## Usage
631
+ * ```html
632
+ * <!-- index.html -->
633
+ * <searchcraft-input-form placeholder-value="Search here" />
634
+ * ```
635
+ * ```js
636
+ * // index.js
637
+ * const searchInputForm = document.querySelector('searchcraft-input-form');
638
+ * seardchInputForm.config = {
639
+ * index: [],
640
+ * readKey: '',
641
+ * endpointUrl: '',
642
+ * };
643
+ * searchForm.addEventListener('querySubmit', (event) => {
644
+ * console.log('Query submitted', event.detail);
645
+ * });
646
+ * ```
647
+ */
232
648
  interface HTMLSearchcraftInputFormElement extends Components.SearchcraftInputForm, HTMLStencilElement {
233
649
  addEventListener<K extends keyof HTMLSearchcraftInputFormElementEventMap>(type: K, listener: (this: HTMLSearchcraftInputFormElement, ev: SearchcraftInputFormCustomEvent<HTMLSearchcraftInputFormElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
234
650
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
@@ -243,30 +659,94 @@ declare global {
243
659
  prototype: HTMLSearchcraftInputFormElement;
244
660
  new (): HTMLSearchcraftInputFormElement;
245
661
  };
662
+ /**
663
+ * This web component serves as the input label for the searchcraft-input-form component.
664
+ * ## Usage
665
+ * ```html
666
+ * <!-- index.html -->
667
+ * <searchcraft-input-label label="Search" />
668
+ * ```
669
+ */
246
670
  interface HTMLSearchcraftInputLabelElement extends Components.SearchcraftInputLabel, HTMLStencilElement {
247
671
  }
248
672
  var HTMLSearchcraftInputLabelElement: {
249
673
  prototype: HTMLSearchcraftInputLabelElement;
250
674
  new (): HTMLSearchcraftInputLabelElement;
251
675
  };
676
+ /**
677
+ * Renders a button which, when clicked, turns on popover visibility.
678
+ */
679
+ interface HTMLSearchcraftPopoverButtonElement extends Components.SearchcraftPopoverButton, HTMLStencilElement {
680
+ }
681
+ var HTMLSearchcraftPopoverButtonElement: {
682
+ prototype: HTMLSearchcraftPopoverButtonElement;
683
+ new (): HTMLSearchcraftPopoverButtonElement;
684
+ };
685
+ /**
686
+ * This web component is designed to display search results in a popover container that dynamically appears when the user interacts with a search input field.
687
+ * ## Usage
688
+ * ```html
689
+ * <!-- index.html -->
690
+ * <searchcraft-popover-form type="fullscreen" />
691
+ * ```
692
+ * ```js
693
+ * // index.js
694
+ * const popoverForm = document.querySelector('searchcraft-popover-form');
695
+ * popoverForm.config = {
696
+ * index: [index_name_from_vektron],
697
+ * readKey: 'read_key_from_vektron',
698
+ * endpointUrl: 'enpoint_url_from_vektron',
699
+ * };
700
+ * popoverForm.popoverResultMappings = {
701
+ * containerHref: {
702
+ * fieldNames: [
703
+ * {
704
+ * fieldName: 'canonical_link',
705
+ * dataType: 'text',
706
+ * },
707
+ * ],
708
+ * };
709
+ * ```
710
+ */
252
711
  interface HTMLSearchcraftPopoverFormElement extends Components.SearchcraftPopoverForm, HTMLStencilElement {
253
712
  }
254
713
  var HTMLSearchcraftPopoverFormElement: {
255
714
  prototype: HTMLSearchcraftPopoverFormElement;
256
715
  new (): HTMLSearchcraftPopoverFormElement;
257
716
  };
717
+ /**
718
+ * A single list item rendered in a searchcraft-popover-list-view.
719
+ */
720
+ interface HTMLSearchcraftPopoverListItemElement extends Components.SearchcraftPopoverListItem, HTMLStencilElement {
721
+ }
722
+ var HTMLSearchcraftPopoverListItemElement: {
723
+ prototype: HTMLSearchcraftPopoverListItemElement;
724
+ new (): HTMLSearchcraftPopoverListItemElement;
725
+ };
726
+ /**
727
+ * This web component is designed to display a list of results within a popover interface.
728
+ * It is consumed within the `searchcraft-popover-form` component.
729
+ * ## Usage
730
+ * ```html
731
+ * <!-- index.html -->
732
+ * <searchcraft-popover-list-view />
733
+ * ```
734
+ */
258
735
  interface HTMLSearchcraftPopoverListViewElement extends Components.SearchcraftPopoverListView, HTMLStencilElement {
259
736
  }
260
737
  var HTMLSearchcraftPopoverListViewElement: {
261
738
  prototype: HTMLSearchcraftPopoverListViewElement;
262
739
  new (): HTMLSearchcraftPopoverListViewElement;
263
740
  };
264
- interface HTMLSearchcraftPopoverResultElement extends Components.SearchcraftPopoverResult, HTMLStencilElement {
265
- }
266
- var HTMLSearchcraftPopoverResultElement: {
267
- prototype: HTMLSearchcraftPopoverResultElement;
268
- new (): HTMLSearchcraftPopoverResultElement;
269
- };
741
+ /**
742
+ * This web component is designed to display the number of results returned from a search query.
743
+ * It provides users with real-time feedback on the scale of the results, such as the total number of items found.
744
+ * ## Usage
745
+ * ```html
746
+ * <!-- index.html -->
747
+ * <searchcraft-results-info />
748
+ * ```
749
+ */
270
750
  interface HTMLSearchcraftResultsInfoElement extends Components.SearchcraftResultsInfo, HTMLStencilElement {
271
751
  }
272
752
  var HTMLSearchcraftResultsInfoElement: {
@@ -276,6 +756,11 @@ declare global {
276
756
  interface HTMLSearchcraftSliderElementEventMap {
277
757
  "rangeChanged": { startValue: number; endValue: number };
278
758
  }
759
+ /**
760
+ * This web component is designed to allow users to select a value from a range defined by a minimum and maximum value.
761
+ * The component renders a slider interface, which can be used to visually choose a value between two boundaries.
762
+ * It is consumed by the `searchcraft-filter-panel` component.
763
+ */
279
764
  interface HTMLSearchcraftSliderElement extends Components.SearchcraftSlider, HTMLStencilElement {
280
765
  addEventListener<K extends keyof HTMLSearchcraftSliderElementEventMap>(type: K, listener: (this: HTMLSearchcraftSliderElement, ev: SearchcraftSliderCustomEvent<HTMLSearchcraftSliderElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
281
766
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
@@ -293,6 +778,10 @@ declare global {
293
778
  interface HTMLSearchcraftToggleButtonElementEventMap {
294
779
  "toggleUpdated": boolean;
295
780
  }
781
+ /**
782
+ * This web component simulates a light switch functionality, providing a simple and intuitive toggle between two states—on and off.
783
+ * It is consumed within the `searchcraft-filter-panel` component.
784
+ */
296
785
  interface HTMLSearchcraftToggleButtonElement extends Components.SearchcraftToggleButton, HTMLStencilElement {
297
786
  addEventListener<K extends keyof HTMLSearchcraftToggleButtonElementEventMap>(type: K, listener: (this: HTMLSearchcraftToggleButtonElement, ev: SearchcraftToggleButtonCustomEvent<HTMLSearchcraftToggleButtonElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
298
787
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
@@ -316,66 +805,269 @@ declare global {
316
805
  "searchcraft-filter-panel": HTMLSearchcraftFilterPanelElement;
317
806
  "searchcraft-input-form": HTMLSearchcraftInputFormElement;
318
807
  "searchcraft-input-label": HTMLSearchcraftInputLabelElement;
808
+ "searchcraft-popover-button": HTMLSearchcraftPopoverButtonElement;
319
809
  "searchcraft-popover-form": HTMLSearchcraftPopoverFormElement;
810
+ "searchcraft-popover-list-item": HTMLSearchcraftPopoverListItemElement;
320
811
  "searchcraft-popover-list-view": HTMLSearchcraftPopoverListViewElement;
321
- "searchcraft-popover-result": HTMLSearchcraftPopoverResultElement;
322
812
  "searchcraft-results-info": HTMLSearchcraftResultsInfoElement;
323
813
  "searchcraft-slider": HTMLSearchcraftSliderElement;
324
814
  "searchcraft-toggle-button": HTMLSearchcraftToggleButtonElement;
325
815
  }
326
816
  }
327
817
  declare namespace LocalJSX {
818
+ /**
819
+ * This web component is designed to display detailed information for a single search result.
820
+ * Once a query is submitted, the component formats and presents the result.
821
+ * It is consumed within the `searchcraft-base-search-results` component.
822
+ */
328
823
  interface SearchcraftBaseSearchResult {
824
+ /**
825
+ * The body content.
826
+ */
329
827
  "bodyContent"?: string | undefined;
828
+ /**
829
+ * The link for the button rendered when containerHref is not present.
830
+ */
330
831
  "buttonHref"?: string | undefined;
832
+ /**
833
+ * The label for the button rendered when containerHref is not present.
834
+ */
331
835
  "buttonLabel"?: string | undefined;
836
+ /**
837
+ * The relationship between the current document and the link for the button rendered when containerHref is not present.
838
+ */
332
839
  "buttonRel"?: 'noreferrer' | 'noopener' | 'nofollow' | undefined;
840
+ /**
841
+ * Where to open the link for the button rendered when containerHref is not present.
842
+ */
333
843
  "buttonTarget"?: '_blank' | '_self' | '_top' | '_parent';
844
+ /**
845
+ * The link for the containing element.
846
+ */
334
847
  "containerHref"?: string | undefined;
848
+ /**
849
+ * The relationship between the current document and the link for the containing element.
850
+ */
335
851
  "containerRel"?: 'noreferrer' | 'noopener' | 'nofollow' | undefined;
852
+ /**
853
+ * Where to open the link for the containing element.
854
+ */
336
855
  "containerTarget"?: '_blank' | '_self' | '_top' | '_parent';
856
+ /**
857
+ * A custom styles object.
858
+ */
337
859
  "customStyles"?: string | undefined;
860
+ /**
861
+ * The position in the document. Used with the "document_clicked" measure event.
862
+ */
338
863
  "documentPosition"?: number;
864
+ /**
865
+ * The footer content.
866
+ */
339
867
  "footerContent"?: string | undefined;
868
+ /**
869
+ * The image alternative text.
870
+ */
340
871
  "imageAlt"?: string | undefined;
872
+ /**
873
+ * The placement of the image.
874
+ */
341
875
  "imagePlacement"?: 'left' | 'right';
876
+ /**
877
+ * The image source.
878
+ */
342
879
  "imageSrc"?: string | undefined;
880
+ /**
881
+ * The subtitle content.
882
+ */
343
883
  "subtitleContent"?: string | undefined;
884
+ /**
885
+ * The title content.
886
+ */
344
887
  "titleContent"?: string | undefined;
345
888
  }
889
+ /**
890
+ * This web component is responsible for displaying the results of a search query.
891
+ * Once a query is submitted, the component formats and presents an ordered list of the results.
892
+ * ## Usage
893
+ * ```html
894
+ * <!-- index.html -->
895
+ * <searchcraft-base-search-results
896
+ * ad-interval="4"
897
+ * place-ad-at-start="false"
898
+ * result-image-placement="right"
899
+ * />
900
+ * ```
901
+ * ```js
902
+ * // index.js
903
+ * const baseSearchResults = document.querySelector('searchcraft-base-search-results');
904
+ * baseSearchResults.searchResultMappings = containerHref: {
905
+ * fieldNames: [
906
+ * {
907
+ * fieldName: 'canonical_link',
908
+ * dataType: 'text',
909
+ * },
910
+ * ],
911
+ * };
912
+ * baseSearchResults.addEventListener('noResults', () => {
913
+ * console.log('No search results found');
914
+ * });
915
+ * ```
916
+ */
346
917
  interface SearchcraftBaseSearchResults {
918
+ /**
919
+ * How often ads are injected.
920
+ */
347
921
  "adInterval"?: number;
922
+ /**
923
+ * The label for the button rendered when containerHref is not present for each result.
924
+ */
348
925
  "buttonLabel"?: string | undefined;
926
+ /**
927
+ * The relationship between the current document and the link for the button rendered when containerHref is not present for each result.
928
+ */
349
929
  "buttonRel"?: 'noreferrer' | 'noopener' | 'nofollow' | undefined;
930
+ /**
931
+ * Where to open the link for the button rendered when containerHref is not present for each result.
932
+ */
350
933
  "buttonTarget"?: '_blank' | '_self' | '_top' | '_parent';
934
+ /**
935
+ * The relationship between the current document and the link for the containing element for each result.
936
+ */
351
937
  "containerRel"?: 'noreferrer' | 'noopener' | 'nofollow' | undefined;
938
+ /**
939
+ * Where to open the link for the containing element for each result.
940
+ */
352
941
  "containerTarget"?: '_blank' | '_self' | '_top' | '_parent';
942
+ /**
943
+ * A custom styles object.
944
+ */
353
945
  "customStylesForResults"?: | string
354
946
  | Record<string, Record<string, string>>
355
947
  | undefined;
948
+ /**
949
+ * When no results are returned.
950
+ */
356
951
  "onNoResults"?: (event: SearchcraftBaseSearchResultsCustomEvent<void>) => void;
952
+ /**
953
+ * Should an ad be placed at the end of the results.
954
+ */
357
955
  "placeAdAtEnd"?: boolean;
956
+ /**
957
+ * Should an ad be placed at the start of the results.
958
+ */
358
959
  "placeAdAtStart"?: boolean;
960
+ /**
961
+ * The placement of the image for each result.
962
+ */
359
963
  "resultImagePlacement"?: 'left' | 'right';
964
+ /**
965
+ * Formats the content rendered for each result.
966
+ */
360
967
  "searchResultMappings"?: SearchResultMappings | undefined;
361
968
  }
969
+ /**
970
+ * This web component represents a button to be consumed within the `search-input-form` component.
971
+ * It provides a clear, interactive way for users to submit search queries or trigger actions in a search interface.
972
+ * It is consumed within the `searchcraft-input-form` component.
973
+ */
362
974
  interface SearchcraftButton {
975
+ /**
976
+ * The icon element.
977
+ */
363
978
  "iconElement"?: Element;
979
+ /**
980
+ * Should the button only display an icon.
981
+ */
364
982
  "iconOnly"?: boolean;
983
+ /**
984
+ * The position of the icon.
985
+ */
365
986
  "iconPosition"?: string;
987
+ /**
988
+ * The label for the button.
989
+ */
366
990
  "label"?: string;
991
+ /**
992
+ * When the button is clicked.
993
+ */
367
994
  "onButtonClick"?: (event: SearchcraftButtonCustomEvent<void>) => void;
368
995
  }
996
+ /**
997
+ * This web component is designed to display a user-friendly error message when a search query fails, providing clear feedback to users and enhancing their experience when an issue arises during the search process.
998
+ * ## Usage
999
+ * ```html
1000
+ * <!-- index.html -->
1001
+ * <searchcraft-error-message error-message="No search results found for query" />
1002
+ * ```
1003
+ */
369
1004
  interface SearchcraftErrorMessage {
1005
+ /**
1006
+ * The error message.
1007
+ */
370
1008
  "errorMessage"?: string;
371
1009
  }
1010
+ /**
1011
+ * This web component is designed to display facets in a search interface, allowing users to refine their search results by applying filters based on various attributes.
1012
+ * It is consumed within the `searchcraft-filter-panel`.
1013
+ * ## Usage
1014
+ * ```html
1015
+ * <!-- index.html -->
1016
+ * <searchcraft-facet-list field-name="title" />
1017
+ * ```
1018
+ * ```js
1019
+ * // index.js
1020
+ * const facetList = document.querySelector('searchcraft-facet-list');
1021
+ * facetList.addEventListener('facetSelectionUpdated', () => {
1022
+ * console.log('Facet selection updated');
1023
+ * });
1024
+ * ```
1025
+ */
372
1026
  interface SearchcraftFacetList {
1027
+ /**
1028
+ * The name of the field where facets are applied.
1029
+ */
373
1030
  "fieldName"?: string;
1031
+ /**
1032
+ * When the facets are updated.
1033
+ */
374
1034
  "onFacetSelectionUpdated"?: (event: SearchcraftFacetListCustomEvent<{ paths: string[] }>) => void;
375
1035
  }
1036
+ /**
1037
+ * This web component represents a series of filters that allows users to refine and control their search queries by applying various filter criteria.
1038
+ * ## Usage
1039
+ * ```html
1040
+ * <!-- index.html -->
1041
+ * <searchcraft-filter-panel />
1042
+ * ```
1043
+ */
376
1044
  interface SearchcraftFilterPanel {
1045
+ /**
1046
+ * The items to filter.
1047
+ */
377
1048
  "items"?: FilterItem[];
378
1049
  }
1050
+ /**
1051
+ * This web component provides a user-friendly interface for querying an indexed dataset, enabling users to easily search large collections of data.
1052
+ * It abstracts the complexities of index-based searching, making it accessible to users of all technical levels.
1053
+ * ## Usage
1054
+ * ```html
1055
+ * <!-- index.html -->
1056
+ * <searchcraft-input-form placeholder-value="Search here" />
1057
+ * ```
1058
+ * ```js
1059
+ * // index.js
1060
+ * const searchInputForm = document.querySelector('searchcraft-input-form');
1061
+ * seardchInputForm.config = {
1062
+ * index: [],
1063
+ * readKey: '',
1064
+ * endpointUrl: '',
1065
+ * };
1066
+ * searchForm.addEventListener('querySubmit', (event) => {
1067
+ * console.log('Query submitted', event.detail);
1068
+ * });
1069
+ * ```
1070
+ */
379
1071
  interface SearchcraftInputForm {
380
1072
  /**
381
1073
  * Whether or not to automatically submit the search term when the input changes.
@@ -397,32 +1089,32 @@ declare namespace LocalJSX {
397
1089
  * A custom styles object to be applied to the input element.
398
1090
  */
399
1091
  "customStyles"?: string | Record<string, string>;
400
- /**
401
- * The duration to debounce the input's `inputChange` event.
402
- */
403
- "debounceDelay"?: number;
404
1092
  /**
405
1093
  * The label rendered above the input.
406
1094
  */
407
1095
  "inputLabel"?: string | undefined;
408
1096
  /**
409
- * Event emitted when the input has lost focus.
1097
+ * When the input becomes unfocused.
410
1098
  */
411
1099
  "onInputBlur"?: (event: SearchcraftInputFormCustomEvent<void>) => void;
412
1100
  /**
413
- * Event emitted when the input element has been cleared.
1101
+ * When the input is cleared.
414
1102
  */
415
1103
  "onInputCleared"?: (event: SearchcraftInputFormCustomEvent<void>) => void;
416
1104
  /**
417
- * Event emitted when the input has gained focus.
1105
+ * When the input becomes focused.
418
1106
  */
419
1107
  "onInputFocus"?: (event: SearchcraftInputFormCustomEvent<void>) => void;
420
1108
  /**
421
- * Event emitted when a query returns with no results received.
1109
+ * Event emitted when input initializes.
1110
+ */
1111
+ "onInputInit"?: (event: SearchcraftInputFormCustomEvent<void>) => void;
1112
+ /**
1113
+ * When no results are returned.
422
1114
  */
423
1115
  "onNoResultsReceived"?: (event: SearchcraftInputFormCustomEvent<void>) => void;
424
1116
  /**
425
- * Event emitted when a new search request has been submitted.
1117
+ * Event emitted when a query has been submitted.
426
1118
  */
427
1119
  "onQuerySubmit"?: (event: SearchcraftInputFormCustomEvent<string>) => void;
428
1120
  /**
@@ -434,35 +1126,176 @@ declare namespace LocalJSX {
434
1126
  */
435
1127
  "searchTerm"?: string;
436
1128
  }
1129
+ /**
1130
+ * This web component serves as the input label for the searchcraft-input-form component.
1131
+ * ## Usage
1132
+ * ```html
1133
+ * <!-- index.html -->
1134
+ * <searchcraft-input-label label="Search" />
1135
+ * ```
1136
+ */
437
1137
  interface SearchcraftInputLabel {
1138
+ /**
1139
+ * The classname applied to the label element.
1140
+ */
438
1141
  "inputLabelClassName"?: string;
439
1142
  "label"?: string;
440
1143
  }
1144
+ /**
1145
+ * Renders a button which, when clicked, turns on popover visibility.
1146
+ */
1147
+ interface SearchcraftPopoverButton {
1148
+ }
1149
+ /**
1150
+ * This web component is designed to display search results in a popover container that dynamically appears when the user interacts with a search input field.
1151
+ * ## Usage
1152
+ * ```html
1153
+ * <!-- index.html -->
1154
+ * <searchcraft-popover-form type="fullscreen" />
1155
+ * ```
1156
+ * ```js
1157
+ * // index.js
1158
+ * const popoverForm = document.querySelector('searchcraft-popover-form');
1159
+ * popoverForm.config = {
1160
+ * index: [index_name_from_vektron],
1161
+ * readKey: 'read_key_from_vektron',
1162
+ * endpointUrl: 'enpoint_url_from_vektron',
1163
+ * };
1164
+ * popoverForm.popoverResultMappings = {
1165
+ * containerHref: {
1166
+ * fieldNames: [
1167
+ * {
1168
+ * fieldName: 'canonical_link',
1169
+ * dataType: 'text',
1170
+ * },
1171
+ * ],
1172
+ * };
1173
+ * ```
1174
+ */
441
1175
  interface SearchcraftPopoverForm {
1176
+ /**
1177
+ * The Searchcraft config object.
1178
+ */
442
1179
  "config"?: SearchcraftConfig | undefined;
1180
+ /**
1181
+ * The hotkey that activates the popover.
1182
+ */
1183
+ "hotkey"?: string;
1184
+ /**
1185
+ * The hotkey modifier that activates the popover. Used together with the `hotkey` prop.
1186
+ */
1187
+ "hotkeyModifier"?: 'ctrl' | 'meta' | 'alt' | 'option';
1188
+ /**
1189
+ * Formats the content rendered for each result.
1190
+ */
443
1191
  "popoverResultMappings"?: PopoverResultMappings | undefined;
1192
+ /**
1193
+ * The type of popover form to render. - `inline` - Renders inline with the rest of the content on the page. The search results pop over the page content. - `fullscreen` - Renders in fullscreen view. Used together with the `searchcraft-popover-button` component. - `modal` - Renders in a modal view. Used together with the `searchcraft-popover-button` component.
1194
+ */
444
1195
  "type"?: 'inline' | 'fullscreen' | 'modal';
445
1196
  }
1197
+ /**
1198
+ * A single list item rendered in a searchcraft-popover-list-view.
1199
+ */
1200
+ interface SearchcraftPopoverListItem {
1201
+ /**
1202
+ * The document position relative to the search results (For Measure)
1203
+ */
1204
+ "documentPosition"?: number;
1205
+ /**
1206
+ * The link href
1207
+ */
1208
+ "href"?: string | undefined;
1209
+ /**
1210
+ * The image alt tag.
1211
+ */
1212
+ "imageAlt"?: string | undefined;
1213
+ /**
1214
+ * The source of the image. If not included, no item will be rendered.
1215
+ */
1216
+ "imageSrc"?: string | undefined;
1217
+ /**
1218
+ * The result subtitle
1219
+ */
1220
+ "subtitleContent"?: string | undefined;
1221
+ /**
1222
+ * The result title
1223
+ */
1224
+ "titleContent"?: string | undefined;
1225
+ }
1226
+ /**
1227
+ * This web component is designed to display a list of results within a popover interface.
1228
+ * It is consumed within the `searchcraft-popover-form` component.
1229
+ * ## Usage
1230
+ * ```html
1231
+ * <!-- index.html -->
1232
+ * <searchcraft-popover-list-view />
1233
+ * ```
1234
+ */
446
1235
  interface SearchcraftPopoverListView {
1236
+ /**
1237
+ * The documents to render in the list view.
1238
+ */
1239
+ "documents"?: Record<string, unknown>[] | undefined;
1240
+ /**
1241
+ * The mappings that define how the data in the documents are mapped to the list-view-item elements.
1242
+ */
447
1243
  "popoverResultMappings"?: PopoverResultMappings | undefined;
448
1244
  }
449
- interface SearchcraftPopoverResult {
450
- }
1245
+ /**
1246
+ * This web component is designed to display the number of results returned from a search query.
1247
+ * It provides users with real-time feedback on the scale of the results, such as the total number of items found.
1248
+ * ## Usage
1249
+ * ```html
1250
+ * <!-- index.html -->
1251
+ * <searchcraft-results-info />
1252
+ * ```
1253
+ */
451
1254
  interface SearchcraftResultsInfo {
452
1255
  }
1256
+ /**
1257
+ * This web component is designed to allow users to select a value from a range defined by a minimum and maximum value.
1258
+ * The component renders a slider interface, which can be used to visually choose a value between two boundaries.
1259
+ * It is consumed by the `searchcraft-filter-panel` component.
1260
+ */
453
1261
  interface SearchcraftSlider {
1262
+ /**
1263
+ * The type of data allowed.
1264
+ */
454
1265
  "dataType"?: 'number' | 'date';
1266
+ /**
1267
+ * The granularity that the value must adhere to.
1268
+ */
455
1269
  "granularity"?: number;
1270
+ /**
1271
+ * The maximum value allowed.
1272
+ */
456
1273
  "max"?: number;
1274
+ /**
1275
+ * The minimum value allowed.
1276
+ */
457
1277
  "min"?: number;
1278
+ /**
1279
+ * When the range has changed.
1280
+ */
458
1281
  "onRangeChanged"?: (event: SearchcraftSliderCustomEvent<{ startValue: number; endValue: number }>) => void;
459
1282
  }
1283
+ /**
1284
+ * This web component simulates a light switch functionality, providing a simple and intuitive toggle between two states—on and off.
1285
+ * It is consumed within the `searchcraft-filter-panel` component.
1286
+ */
460
1287
  interface SearchcraftToggleButton {
461
1288
  /**
462
- * Type of the toggle - determines what it controls 'mode': toggles between 'fuzzy' and 'normal' 'sort': toggles between 'asc' and 'desc'
1289
+ * The label.
463
1290
  */
464
1291
  "label"?: string;
1292
+ /**
1293
+ * When the toggle element is changed.
1294
+ */
465
1295
  "onToggleUpdated"?: (event: SearchcraftToggleButtonCustomEvent<boolean>) => void;
1296
+ /**
1297
+ * The secondary label displayed below the main label.
1298
+ */
466
1299
  "subLabel"?: string | undefined;
467
1300
  }
468
1301
  interface IntrinsicElements {
@@ -474,9 +1307,10 @@ declare namespace LocalJSX {
474
1307
  "searchcraft-filter-panel": SearchcraftFilterPanel;
475
1308
  "searchcraft-input-form": SearchcraftInputForm;
476
1309
  "searchcraft-input-label": SearchcraftInputLabel;
1310
+ "searchcraft-popover-button": SearchcraftPopoverButton;
477
1311
  "searchcraft-popover-form": SearchcraftPopoverForm;
1312
+ "searchcraft-popover-list-item": SearchcraftPopoverListItem;
478
1313
  "searchcraft-popover-list-view": SearchcraftPopoverListView;
479
- "searchcraft-popover-result": SearchcraftPopoverResult;
480
1314
  "searchcraft-results-info": SearchcraftResultsInfo;
481
1315
  "searchcraft-slider": SearchcraftSlider;
482
1316
  "searchcraft-toggle-button": SearchcraftToggleButton;
@@ -486,19 +1320,178 @@ export { LocalJSX as JSX };
486
1320
  declare module "@stencil/core" {
487
1321
  export namespace JSX {
488
1322
  interface IntrinsicElements {
1323
+ /**
1324
+ * This web component is designed to display detailed information for a single search result.
1325
+ * Once a query is submitted, the component formats and presents the result.
1326
+ * It is consumed within the `searchcraft-base-search-results` component.
1327
+ */
489
1328
  "searchcraft-base-search-result": LocalJSX.SearchcraftBaseSearchResult & JSXBase.HTMLAttributes<HTMLSearchcraftBaseSearchResultElement>;
1329
+ /**
1330
+ * This web component is responsible for displaying the results of a search query.
1331
+ * Once a query is submitted, the component formats and presents an ordered list of the results.
1332
+ * ## Usage
1333
+ * ```html
1334
+ * <!-- index.html -->
1335
+ * <searchcraft-base-search-results
1336
+ * ad-interval="4"
1337
+ * place-ad-at-start="false"
1338
+ * result-image-placement="right"
1339
+ * />
1340
+ * ```
1341
+ * ```js
1342
+ * // index.js
1343
+ * const baseSearchResults = document.querySelector('searchcraft-base-search-results');
1344
+ * baseSearchResults.searchResultMappings = containerHref: {
1345
+ * fieldNames: [
1346
+ * {
1347
+ * fieldName: 'canonical_link',
1348
+ * dataType: 'text',
1349
+ * },
1350
+ * ],
1351
+ * };
1352
+ * baseSearchResults.addEventListener('noResults', () => {
1353
+ * console.log('No search results found');
1354
+ * });
1355
+ * ```
1356
+ */
490
1357
  "searchcraft-base-search-results": LocalJSX.SearchcraftBaseSearchResults & JSXBase.HTMLAttributes<HTMLSearchcraftBaseSearchResultsElement>;
1358
+ /**
1359
+ * This web component represents a button to be consumed within the `search-input-form` component.
1360
+ * It provides a clear, interactive way for users to submit search queries or trigger actions in a search interface.
1361
+ * It is consumed within the `searchcraft-input-form` component.
1362
+ */
491
1363
  "searchcraft-button": LocalJSX.SearchcraftButton & JSXBase.HTMLAttributes<HTMLSearchcraftButtonElement>;
1364
+ /**
1365
+ * This web component is designed to display a user-friendly error message when a search query fails, providing clear feedback to users and enhancing their experience when an issue arises during the search process.
1366
+ * ## Usage
1367
+ * ```html
1368
+ * <!-- index.html -->
1369
+ * <searchcraft-error-message error-message="No search results found for query" />
1370
+ * ```
1371
+ */
492
1372
  "searchcraft-error-message": LocalJSX.SearchcraftErrorMessage & JSXBase.HTMLAttributes<HTMLSearchcraftErrorMessageElement>;
1373
+ /**
1374
+ * This web component is designed to display facets in a search interface, allowing users to refine their search results by applying filters based on various attributes.
1375
+ * It is consumed within the `searchcraft-filter-panel`.
1376
+ * ## Usage
1377
+ * ```html
1378
+ * <!-- index.html -->
1379
+ * <searchcraft-facet-list field-name="title" />
1380
+ * ```
1381
+ * ```js
1382
+ * // index.js
1383
+ * const facetList = document.querySelector('searchcraft-facet-list');
1384
+ * facetList.addEventListener('facetSelectionUpdated', () => {
1385
+ * console.log('Facet selection updated');
1386
+ * });
1387
+ * ```
1388
+ */
493
1389
  "searchcraft-facet-list": LocalJSX.SearchcraftFacetList & JSXBase.HTMLAttributes<HTMLSearchcraftFacetListElement>;
1390
+ /**
1391
+ * This web component represents a series of filters that allows users to refine and control their search queries by applying various filter criteria.
1392
+ * ## Usage
1393
+ * ```html
1394
+ * <!-- index.html -->
1395
+ * <searchcraft-filter-panel />
1396
+ * ```
1397
+ */
494
1398
  "searchcraft-filter-panel": LocalJSX.SearchcraftFilterPanel & JSXBase.HTMLAttributes<HTMLSearchcraftFilterPanelElement>;
1399
+ /**
1400
+ * This web component provides a user-friendly interface for querying an indexed dataset, enabling users to easily search large collections of data.
1401
+ * It abstracts the complexities of index-based searching, making it accessible to users of all technical levels.
1402
+ * ## Usage
1403
+ * ```html
1404
+ * <!-- index.html -->
1405
+ * <searchcraft-input-form placeholder-value="Search here" />
1406
+ * ```
1407
+ * ```js
1408
+ * // index.js
1409
+ * const searchInputForm = document.querySelector('searchcraft-input-form');
1410
+ * seardchInputForm.config = {
1411
+ * index: [],
1412
+ * readKey: '',
1413
+ * endpointUrl: '',
1414
+ * };
1415
+ * searchForm.addEventListener('querySubmit', (event) => {
1416
+ * console.log('Query submitted', event.detail);
1417
+ * });
1418
+ * ```
1419
+ */
495
1420
  "searchcraft-input-form": LocalJSX.SearchcraftInputForm & JSXBase.HTMLAttributes<HTMLSearchcraftInputFormElement>;
1421
+ /**
1422
+ * This web component serves as the input label for the searchcraft-input-form component.
1423
+ * ## Usage
1424
+ * ```html
1425
+ * <!-- index.html -->
1426
+ * <searchcraft-input-label label="Search" />
1427
+ * ```
1428
+ */
496
1429
  "searchcraft-input-label": LocalJSX.SearchcraftInputLabel & JSXBase.HTMLAttributes<HTMLSearchcraftInputLabelElement>;
1430
+ /**
1431
+ * Renders a button which, when clicked, turns on popover visibility.
1432
+ */
1433
+ "searchcraft-popover-button": LocalJSX.SearchcraftPopoverButton & JSXBase.HTMLAttributes<HTMLSearchcraftPopoverButtonElement>;
1434
+ /**
1435
+ * This web component is designed to display search results in a popover container that dynamically appears when the user interacts with a search input field.
1436
+ * ## Usage
1437
+ * ```html
1438
+ * <!-- index.html -->
1439
+ * <searchcraft-popover-form type="fullscreen" />
1440
+ * ```
1441
+ * ```js
1442
+ * // index.js
1443
+ * const popoverForm = document.querySelector('searchcraft-popover-form');
1444
+ * popoverForm.config = {
1445
+ * index: [index_name_from_vektron],
1446
+ * readKey: 'read_key_from_vektron',
1447
+ * endpointUrl: 'enpoint_url_from_vektron',
1448
+ * };
1449
+ * popoverForm.popoverResultMappings = {
1450
+ * containerHref: {
1451
+ * fieldNames: [
1452
+ * {
1453
+ * fieldName: 'canonical_link',
1454
+ * dataType: 'text',
1455
+ * },
1456
+ * ],
1457
+ * };
1458
+ * ```
1459
+ */
497
1460
  "searchcraft-popover-form": LocalJSX.SearchcraftPopoverForm & JSXBase.HTMLAttributes<HTMLSearchcraftPopoverFormElement>;
1461
+ /**
1462
+ * A single list item rendered in a searchcraft-popover-list-view.
1463
+ */
1464
+ "searchcraft-popover-list-item": LocalJSX.SearchcraftPopoverListItem & JSXBase.HTMLAttributes<HTMLSearchcraftPopoverListItemElement>;
1465
+ /**
1466
+ * This web component is designed to display a list of results within a popover interface.
1467
+ * It is consumed within the `searchcraft-popover-form` component.
1468
+ * ## Usage
1469
+ * ```html
1470
+ * <!-- index.html -->
1471
+ * <searchcraft-popover-list-view />
1472
+ * ```
1473
+ */
498
1474
  "searchcraft-popover-list-view": LocalJSX.SearchcraftPopoverListView & JSXBase.HTMLAttributes<HTMLSearchcraftPopoverListViewElement>;
499
- "searchcraft-popover-result": LocalJSX.SearchcraftPopoverResult & JSXBase.HTMLAttributes<HTMLSearchcraftPopoverResultElement>;
1475
+ /**
1476
+ * This web component is designed to display the number of results returned from a search query.
1477
+ * It provides users with real-time feedback on the scale of the results, such as the total number of items found.
1478
+ * ## Usage
1479
+ * ```html
1480
+ * <!-- index.html -->
1481
+ * <searchcraft-results-info />
1482
+ * ```
1483
+ */
500
1484
  "searchcraft-results-info": LocalJSX.SearchcraftResultsInfo & JSXBase.HTMLAttributes<HTMLSearchcraftResultsInfoElement>;
1485
+ /**
1486
+ * This web component is designed to allow users to select a value from a range defined by a minimum and maximum value.
1487
+ * The component renders a slider interface, which can be used to visually choose a value between two boundaries.
1488
+ * It is consumed by the `searchcraft-filter-panel` component.
1489
+ */
501
1490
  "searchcraft-slider": LocalJSX.SearchcraftSlider & JSXBase.HTMLAttributes<HTMLSearchcraftSliderElement>;
1491
+ /**
1492
+ * This web component simulates a light switch functionality, providing a simple and intuitive toggle between two states—on and off.
1493
+ * It is consumed within the `searchcraft-filter-panel` component.
1494
+ */
502
1495
  "searchcraft-toggle-button": LocalJSX.SearchcraftToggleButton & JSXBase.HTMLAttributes<HTMLSearchcraftToggleButtonElement>;
503
1496
  }
504
1497
  }