@searchcraft/javascript-sdk 0.8.2 → 0.9.1

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 (287) hide show
  1. package/README.md +25 -37
  2. package/dist/components/defineCustomElements.d.ts +1 -0
  3. package/dist/components/defineCustomElements.js +46 -0
  4. package/dist/components/index.d.ts +44 -11
  5. package/dist/components/index.js +104 -53
  6. package/dist/components/index.js.map +1 -1
  7. package/dist/components/p-05872320.js +1462 -0
  8. package/dist/components/p-05872320.js.map +1 -0
  9. package/dist/components/{p-433f974c.js → p-11b05b94.js} +5 -5
  10. package/dist/components/p-11b05b94.js.map +1 -0
  11. package/dist/components/{p-ec0d230e.js → p-3568414f.js} +4 -4
  12. package/dist/components/p-3568414f.js.map +1 -0
  13. package/dist/components/{p-6e2eef88.js → p-5bd5c3cb.js} +17 -126
  14. package/dist/components/p-5bd5c3cb.js.map +1 -0
  15. package/dist/{cjs/SearchcraftStore-75fac5e0.js → components/p-6d8b0ead.js} +1408 -1350
  16. package/dist/components/p-6d8b0ead.js.map +1 -0
  17. package/dist/components/{p-fc7cda96.js → p-7777d986.js} +4 -4
  18. package/dist/components/{p-fc7cda96.js.map → p-7777d986.js.map} +1 -1
  19. package/dist/components/p-b0bc5cee.js +102 -0
  20. package/dist/components/p-b0bc5cee.js.map +1 -0
  21. package/dist/components/{p-4e9cd62e.js → p-bb12ab5a.js} +3 -3
  22. package/dist/components/{p-4e9cd62e.js.map → p-bb12ab5a.js.map} +1 -1
  23. package/dist/components/{p-97332d3e.js → p-cd9ba361.js} +3 -3
  24. package/dist/components/p-cd9ba361.js.map +1 -0
  25. package/dist/components/searchcraft-ad.d.ts +11 -0
  26. package/dist/components/searchcraft-ad.js +8 -0
  27. package/dist/components/searchcraft-ad.js.map +1 -0
  28. package/dist/components/searchcraft-base-search-result.js +1 -1
  29. package/dist/components/searchcraft-base-search-results.js +79 -29
  30. package/dist/components/searchcraft-base-search-results.js.map +1 -1
  31. package/dist/components/searchcraft-facet-list.js +1 -1
  32. package/dist/components/searchcraft-filter-panel.js +9 -9
  33. package/dist/components/searchcraft-filter-panel.js.map +1 -1
  34. package/dist/components/searchcraft-input-form.js +1 -1
  35. package/dist/components/searchcraft-pagination.js +2 -2
  36. package/dist/components/searchcraft-pagination.js.map +1 -1
  37. package/dist/components/searchcraft-popover-button.js +3 -3
  38. package/dist/components/searchcraft-popover-button.js.map +1 -1
  39. package/dist/components/searchcraft-popover-form.js +28 -35
  40. package/dist/components/searchcraft-popover-form.js.map +1 -1
  41. package/dist/components/searchcraft-popover-list-item.js +1 -1
  42. package/dist/components/searchcraft-popover-list-view.js +1 -1
  43. package/dist/components/searchcraft-results-info.js +2 -2
  44. package/dist/components/searchcraft-results-info.js.map +1 -1
  45. package/dist/components/searchcraft-search-results-per-page.js +3 -3
  46. package/dist/components/searchcraft-search-results-per-page.js.map +1 -1
  47. package/dist/components/searchcraft-slider.js +1 -1
  48. package/dist/components/searchcraft-theme.js +5 -5
  49. package/dist/components/searchcraft-theme.js.map +1 -1
  50. package/dist/components/searchcraft-toggle-button.js +1 -1
  51. package/dist/types/components/searchcraft-ad/searchcraft-ad.d.ts +19 -0
  52. package/dist/types/components/searchcraft-base-search-result/searchcraft-base-search-result.d.ts +5 -5
  53. package/dist/types/components/searchcraft-base-search-results/searchcraft-base-search-results.d.ts +15 -12
  54. package/dist/types/components/searchcraft-facet-list/searchcraft-facet-list.d.ts +1 -1
  55. package/dist/types/components/searchcraft-input-form/searchcraft-input-form.d.ts +6 -31
  56. package/dist/types/components/searchcraft-popover-form/searchcraft-popover-form.d.ts +2 -12
  57. package/dist/types/components/searchcraft-popover-list-view/searchcraft-popover-list-view.d.ts +4 -0
  58. package/dist/types/components/searchcraft-theme/searchcraft-theme.d.ts +2 -2
  59. package/dist/types/components.d.ts +62 -189
  60. package/dist/types/index.d.ts +14 -1
  61. package/dist/types/store/SearchcraftStore.d.ts +4 -0
  62. package/dist/types/{provider → store}/SearchcraftStore.types.d.ts +2 -1
  63. package/dist/{collection/provider/store.js → types/store/index.d.ts} +2 -2
  64. package/package.json +8 -17
  65. package/dist/cjs/SearchcraftStore-75fac5e0.js.map +0 -1
  66. package/dist/cjs/app-globals-3a1e7e63.js +0 -7
  67. package/dist/cjs/app-globals-3a1e7e63.js.map +0 -1
  68. package/dist/cjs/index-5b0b9d4c.js +0 -84
  69. package/dist/cjs/index-5b0b9d4c.js.map +0 -1
  70. package/dist/cjs/index-a81df4f0.js +0 -1577
  71. package/dist/cjs/index-a81df4f0.js.map +0 -1
  72. package/dist/cjs/index.cjs.js +0 -14
  73. package/dist/cjs/index.cjs.js.map +0 -1
  74. package/dist/cjs/loader.cjs.js +0 -17
  75. package/dist/cjs/loader.cjs.js.map +0 -1
  76. package/dist/cjs/searchcraft-base-search-result_2.cjs.entry.js +0 -152
  77. package/dist/cjs/searchcraft-base-search-result_2.cjs.entry.js.map +0 -1
  78. package/dist/cjs/searchcraft-base-search-results.cjs.entry.js +0 -97
  79. package/dist/cjs/searchcraft-base-search-results.cjs.entry.js.map +0 -1
  80. package/dist/cjs/searchcraft-button_3.cjs.entry.js +0 -88
  81. package/dist/cjs/searchcraft-button_3.cjs.entry.js.map +0 -1
  82. package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js +0 -393
  83. package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js.map +0 -1
  84. package/dist/cjs/searchcraft-filter-panel.cjs.entry.js +0 -113
  85. package/dist/cjs/searchcraft-filter-panel.cjs.entry.js.map +0 -1
  86. package/dist/cjs/searchcraft-input-form_2.cjs.entry.js +0 -260
  87. package/dist/cjs/searchcraft-input-form_2.cjs.entry.js.map +0 -1
  88. package/dist/cjs/searchcraft-javascript-sdk.cjs.js +0 -27
  89. package/dist/cjs/searchcraft-javascript-sdk.cjs.js.map +0 -1
  90. package/dist/cjs/searchcraft-pagination.cjs.entry.js +0 -106
  91. package/dist/cjs/searchcraft-pagination.cjs.entry.js.map +0 -1
  92. package/dist/cjs/searchcraft-popover-button.cjs.entry.js +0 -22
  93. package/dist/cjs/searchcraft-popover-button.cjs.entry.js.map +0 -1
  94. package/dist/cjs/searchcraft-popover-form.cjs.entry.js +0 -234
  95. package/dist/cjs/searchcraft-popover-form.cjs.entry.js.map +0 -1
  96. package/dist/cjs/searchcraft-popover-list-item_2.cjs.entry.js +0 -101
  97. package/dist/cjs/searchcraft-popover-list-item_2.cjs.entry.js.map +0 -1
  98. package/dist/cjs/searchcraft-results-info.cjs.entry.js +0 -80
  99. package/dist/cjs/searchcraft-results-info.cjs.entry.js.map +0 -1
  100. package/dist/cjs/searchcraft-search-results-per-page.cjs.entry.js +0 -75
  101. package/dist/cjs/searchcraft-search-results-per-page.cjs.entry.js.map +0 -1
  102. package/dist/cjs/searchcraft-select.cjs.entry.js +0 -70
  103. package/dist/cjs/searchcraft-select.cjs.entry.js.map +0 -1
  104. package/dist/cjs/searchcraft-theme.cjs.entry.js +0 -56
  105. package/dist/cjs/searchcraft-theme.cjs.entry.js.map +0 -1
  106. package/dist/cjs/styles-7b2d06f2.js +0 -28
  107. package/dist/cjs/styles-7b2d06f2.js.map +0 -1
  108. package/dist/cjs/units-fe4d8083.js +0 -88
  109. package/dist/cjs/units-fe4d8083.js.map +0 -1
  110. package/dist/collection/collection-manifest.json +0 -32
  111. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js +0 -302
  112. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js.map +0 -1
  113. package/dist/collection/components/searchcraft-base-search-result-ad/searchcraft-base-search-result-ad.js +0 -73
  114. package/dist/collection/components/searchcraft-base-search-result-ad/searchcraft-base-search-result-ad.js.map +0 -1
  115. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js +0 -313
  116. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js.map +0 -1
  117. package/dist/collection/components/searchcraft-button/searchcraft-button.js +0 -217
  118. package/dist/collection/components/searchcraft-button/searchcraft-button.js.map +0 -1
  119. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js +0 -44
  120. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js.map +0 -1
  121. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js +0 -200
  122. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js.map +0 -1
  123. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js +0 -149
  124. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js.map +0 -1
  125. package/dist/collection/components/searchcraft-input-form/searchcraft-input-form.js +0 -443
  126. package/dist/collection/components/searchcraft-input-form/searchcraft-input-form.js.map +0 -1
  127. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js +0 -67
  128. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js.map +0 -1
  129. package/dist/collection/components/searchcraft-pagination/searchcraft-pagination.js +0 -141
  130. package/dist/collection/components/searchcraft-pagination/searchcraft-pagination.js.map +0 -1
  131. package/dist/collection/components/searchcraft-popover-button/searchcraft-popover-button.js +0 -15
  132. package/dist/collection/components/searchcraft-popover-button/searchcraft-popover-button.js.map +0 -1
  133. package/dist/collection/components/searchcraft-popover-form/searchcraft-popover-form.js +0 -381
  134. package/dist/collection/components/searchcraft-popover-form/searchcraft-popover-form.js.map +0 -1
  135. package/dist/collection/components/searchcraft-popover-list-item/searchcraft-popover-list-item.js +0 -128
  136. package/dist/collection/components/searchcraft-popover-list-item/searchcraft-popover-list-item.js.map +0 -1
  137. package/dist/collection/components/searchcraft-popover-list-item-ad/searchcraft-popover-list-item-ad.js +0 -73
  138. package/dist/collection/components/searchcraft-popover-list-item-ad/searchcraft-popover-list-item-ad.js.map +0 -1
  139. package/dist/collection/components/searchcraft-popover-list-view/searchcraft-popover-list-view.js +0 -141
  140. package/dist/collection/components/searchcraft-popover-list-view/searchcraft-popover-list-view.js.map +0 -1
  141. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js +0 -138
  142. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js.map +0 -1
  143. package/dist/collection/components/searchcraft-search-results-per-page/searchcraft-search-results-per-page.js +0 -129
  144. package/dist/collection/components/searchcraft-search-results-per-page/searchcraft-search-results-per-page.js.map +0 -1
  145. package/dist/collection/components/searchcraft-select/searchcraft-select.js +0 -261
  146. package/dist/collection/components/searchcraft-select/searchcraft-select.js.map +0 -1
  147. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js +0 -194
  148. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js.map +0 -1
  149. package/dist/collection/components/searchcraft-theme/searchcraft-theme.js +0 -97
  150. package/dist/collection/components/searchcraft-theme/searchcraft-theme.js.map +0 -1
  151. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js +0 -118
  152. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js.map +0 -1
  153. package/dist/collection/index.js +0 -3
  154. package/dist/collection/index.js.map +0 -1
  155. package/dist/collection/provider/SearchcraftStore.js +0 -160
  156. package/dist/collection/provider/SearchcraftStore.js.map +0 -1
  157. package/dist/collection/provider/SearchcraftStore.types.js +0 -2
  158. package/dist/collection/provider/SearchcraftStore.types.js.map +0 -1
  159. package/dist/collection/provider/store.js.map +0 -1
  160. package/dist/collection/utils/facets.js +0 -128
  161. package/dist/collection/utils/facets.js.map +0 -1
  162. package/dist/collection/utils/index.js +0 -4
  163. package/dist/collection/utils/index.js.map +0 -1
  164. package/dist/collection/utils/styles.js +0 -22
  165. package/dist/collection/utils/styles.js.map +0 -1
  166. package/dist/collection/utils/units.js +0 -83
  167. package/dist/collection/utils/units.js.map +0 -1
  168. package/dist/components/p-25ee7496.js +0 -58
  169. package/dist/components/p-25ee7496.js.map +0 -1
  170. package/dist/components/p-38419178.js +0 -1625
  171. package/dist/components/p-38419178.js.map +0 -1
  172. package/dist/components/p-433f974c.js.map +0 -1
  173. package/dist/components/p-6e2eef88.js.map +0 -1
  174. package/dist/components/p-97332d3e.js.map +0 -1
  175. package/dist/components/p-bff4d3fc.js +0 -65
  176. package/dist/components/p-bff4d3fc.js.map +0 -1
  177. package/dist/components/p-de4a48b1.js +0 -65
  178. package/dist/components/p-de4a48b1.js.map +0 -1
  179. package/dist/components/p-ec0d230e.js.map +0 -1
  180. package/dist/components/searchcraft-base-search-result-ad.d.ts +0 -11
  181. package/dist/components/searchcraft-base-search-result-ad.js +0 -8
  182. package/dist/components/searchcraft-base-search-result-ad.js.map +0 -1
  183. package/dist/components/searchcraft-popover-list-item-ad.d.ts +0 -11
  184. package/dist/components/searchcraft-popover-list-item-ad.js +0 -8
  185. package/dist/components/searchcraft-popover-list-item-ad.js.map +0 -1
  186. package/dist/esm/SearchcraftStore-3cfd565a.js +0 -1625
  187. package/dist/esm/SearchcraftStore-3cfd565a.js.map +0 -1
  188. package/dist/esm/app-globals-0f993ce5.js +0 -5
  189. package/dist/esm/app-globals-0f993ce5.js.map +0 -1
  190. package/dist/esm/index-3608c57d.js +0 -1548
  191. package/dist/esm/index-3608c57d.js.map +0 -1
  192. package/dist/esm/index-72ac5051.js +0 -82
  193. package/dist/esm/index-72ac5051.js.map +0 -1
  194. package/dist/esm/index.js +0 -4
  195. package/dist/esm/index.js.map +0 -1
  196. package/dist/esm/loader.js +0 -13
  197. package/dist/esm/loader.js.map +0 -1
  198. package/dist/esm/searchcraft-base-search-result_2.entry.js +0 -147
  199. package/dist/esm/searchcraft-base-search-result_2.entry.js.map +0 -1
  200. package/dist/esm/searchcraft-base-search-results.entry.js +0 -93
  201. package/dist/esm/searchcraft-base-search-results.entry.js.map +0 -1
  202. package/dist/esm/searchcraft-button_3.entry.js +0 -82
  203. package/dist/esm/searchcraft-button_3.entry.js.map +0 -1
  204. package/dist/esm/searchcraft-facet-list_3.entry.js +0 -387
  205. package/dist/esm/searchcraft-facet-list_3.entry.js.map +0 -1
  206. package/dist/esm/searchcraft-filter-panel.entry.js +0 -109
  207. package/dist/esm/searchcraft-filter-panel.entry.js.map +0 -1
  208. package/dist/esm/searchcraft-input-form_2.entry.js +0 -255
  209. package/dist/esm/searchcraft-input-form_2.entry.js.map +0 -1
  210. package/dist/esm/searchcraft-javascript-sdk.js +0 -22
  211. package/dist/esm/searchcraft-javascript-sdk.js.map +0 -1
  212. package/dist/esm/searchcraft-pagination.entry.js +0 -102
  213. package/dist/esm/searchcraft-pagination.entry.js.map +0 -1
  214. package/dist/esm/searchcraft-popover-button.entry.js +0 -18
  215. package/dist/esm/searchcraft-popover-button.entry.js.map +0 -1
  216. package/dist/esm/searchcraft-popover-form.entry.js +0 -230
  217. package/dist/esm/searchcraft-popover-form.entry.js.map +0 -1
  218. package/dist/esm/searchcraft-popover-list-item_2.entry.js +0 -96
  219. package/dist/esm/searchcraft-popover-list-item_2.entry.js.map +0 -1
  220. package/dist/esm/searchcraft-results-info.entry.js +0 -76
  221. package/dist/esm/searchcraft-results-info.entry.js.map +0 -1
  222. package/dist/esm/searchcraft-search-results-per-page.entry.js +0 -71
  223. package/dist/esm/searchcraft-search-results-per-page.entry.js.map +0 -1
  224. package/dist/esm/searchcraft-select.entry.js +0 -66
  225. package/dist/esm/searchcraft-select.entry.js.map +0 -1
  226. package/dist/esm/searchcraft-theme.entry.js +0 -52
  227. package/dist/esm/searchcraft-theme.entry.js.map +0 -1
  228. package/dist/esm/styles-961644ef.js +0 -25
  229. package/dist/esm/styles-961644ef.js.map +0 -1
  230. package/dist/esm/units-daaf96f5.js +0 -84
  231. package/dist/esm/units-daaf96f5.js.map +0 -1
  232. package/dist/index.cjs.js +0 -1
  233. package/dist/index.js +0 -1
  234. package/dist/loader/cdn.js +0 -1
  235. package/dist/loader/index.cjs.js +0 -1
  236. package/dist/loader/index.d.ts +0 -24
  237. package/dist/loader/index.es2017.js +0 -1
  238. package/dist/loader/index.js +0 -2
  239. package/dist/loader/package.json +0 -11
  240. package/dist/searchcraft-javascript-sdk/index.esm.js +0 -2
  241. package/dist/searchcraft-javascript-sdk/index.esm.js.map +0 -1
  242. package/dist/searchcraft-javascript-sdk/p-279f3e15.entry.js +0 -2
  243. package/dist/searchcraft-javascript-sdk/p-279f3e15.entry.js.map +0 -1
  244. package/dist/searchcraft-javascript-sdk/p-2bc82b48.entry.js +0 -2
  245. package/dist/searchcraft-javascript-sdk/p-2bc82b48.entry.js.map +0 -1
  246. package/dist/searchcraft-javascript-sdk/p-2dc07b47.entry.js +0 -2
  247. package/dist/searchcraft-javascript-sdk/p-2dc07b47.entry.js.map +0 -1
  248. package/dist/searchcraft-javascript-sdk/p-37842dee.entry.js +0 -2
  249. package/dist/searchcraft-javascript-sdk/p-37842dee.entry.js.map +0 -1
  250. package/dist/searchcraft-javascript-sdk/p-38419178.js +0 -11
  251. package/dist/searchcraft-javascript-sdk/p-38419178.js.map +0 -1
  252. package/dist/searchcraft-javascript-sdk/p-3be70f20.entry.js +0 -2
  253. package/dist/searchcraft-javascript-sdk/p-3be70f20.entry.js.map +0 -1
  254. package/dist/searchcraft-javascript-sdk/p-5cdc6210.js +0 -7
  255. package/dist/searchcraft-javascript-sdk/p-5cdc6210.js.map +0 -1
  256. package/dist/searchcraft-javascript-sdk/p-5e064c07.entry.js +0 -2
  257. package/dist/searchcraft-javascript-sdk/p-5e064c07.entry.js.map +0 -1
  258. package/dist/searchcraft-javascript-sdk/p-6104fe5d.js +0 -2
  259. package/dist/searchcraft-javascript-sdk/p-6104fe5d.js.map +0 -1
  260. package/dist/searchcraft-javascript-sdk/p-6bffd3f5.entry.js +0 -2
  261. package/dist/searchcraft-javascript-sdk/p-6bffd3f5.entry.js.map +0 -1
  262. package/dist/searchcraft-javascript-sdk/p-7813f3cc.entry.js +0 -2
  263. package/dist/searchcraft-javascript-sdk/p-7813f3cc.entry.js.map +0 -1
  264. package/dist/searchcraft-javascript-sdk/p-7e13c128.js +0 -3
  265. package/dist/searchcraft-javascript-sdk/p-7e13c128.js.map +0 -1
  266. package/dist/searchcraft-javascript-sdk/p-7f4dd50c.entry.js +0 -2
  267. package/dist/searchcraft-javascript-sdk/p-7f4dd50c.entry.js.map +0 -1
  268. package/dist/searchcraft-javascript-sdk/p-9340f4e4.entry.js +0 -2
  269. package/dist/searchcraft-javascript-sdk/p-9340f4e4.entry.js.map +0 -1
  270. package/dist/searchcraft-javascript-sdk/p-a84b1548.entry.js +0 -2
  271. package/dist/searchcraft-javascript-sdk/p-a84b1548.entry.js.map +0 -1
  272. package/dist/searchcraft-javascript-sdk/p-b8ea0454.entry.js +0 -2
  273. package/dist/searchcraft-javascript-sdk/p-b8ea0454.entry.js.map +0 -1
  274. package/dist/searchcraft-javascript-sdk/p-c4a9d8ab.entry.js +0 -2
  275. package/dist/searchcraft-javascript-sdk/p-c4a9d8ab.entry.js.map +0 -1
  276. package/dist/searchcraft-javascript-sdk/p-d9551738.js +0 -2
  277. package/dist/searchcraft-javascript-sdk/p-d9551738.js.map +0 -1
  278. package/dist/searchcraft-javascript-sdk/p-e11de2d6.entry.js +0 -2
  279. package/dist/searchcraft-javascript-sdk/p-e11de2d6.entry.js.map +0 -1
  280. package/dist/searchcraft-javascript-sdk/p-e1255160.js +0 -2
  281. package/dist/searchcraft-javascript-sdk/p-e1255160.js.map +0 -1
  282. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js +0 -2
  283. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js.map +0 -1
  284. package/dist/types/components/searchcraft-base-search-result-ad/searchcraft-base-search-result-ad.d.ts +0 -14
  285. package/dist/types/components/searchcraft-popover-list-item-ad/searchcraft-popover-list-item-ad.d.ts +0 -14
  286. package/dist/types/provider/SearchcraftStore.d.ts +0 -4
  287. package/dist/types/provider/store.d.ts +0 -3
@@ -1,105 +1,19 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h } from './p-5365011f.js';
2
- import { u as useSearchcraftStore, g as ge } from './p-38419178.js';
3
- import { p as parseCustomStyles } from './p-d9551738.js';
4
2
  import { c as classNames } from './p-5cdc6210.js';
3
+ import { p as parseCustomStyles } from './p-d9551738.js';
4
+ import { s as searchcraftStore } from './p-6d8b0ead.js';
5
5
  import { d as defineCustomElement$3 } from './p-71cc28c1.js';
6
6
  import { d as defineCustomElement$2 } from './p-0e393fe1.js';
7
7
  import { d as defineCustomElement$1 } from './p-e55a7970.js';
8
8
 
9
- const name = "@searchcraft/javascript-sdk";
10
- const version = "0.8.2";
11
- const description = "Searchcraft Javascript SDK";
12
- const author = "Searchcraft";
13
- const license = "Apache-2.0";
14
- const main = "dist/index.cjs.js";
15
- const module = "dist/index.js";
16
- const types = "dist/types/index.d.ts";
17
- const collection = "dist/collection/collection-manifest.json";
18
- const unpkg = "dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js";
19
- const exports = {
20
- ".": {
21
- "import": "./dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js",
22
- require: "./dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.cjs.js",
23
- types: "./dist/types/index.d.ts"
24
- },
25
- "./components": {
26
- "import": "./dist/components/index.js",
27
- types: "./dist/components/index.d.ts"
28
- },
29
- "./loader": {
30
- "import": "./dist/loader/index.js",
31
- require: "./dist/loader/index.cjs",
32
- types: "./dist/loader/index.d.ts"
33
- },
34
- "./dist/components/*": {
35
- "import": "./dist/components/*",
36
- types: "./dist/components/*"
37
- }
38
- };
39
- const repository = {
40
- type: "git",
41
- url: "https://bitbucket.org/madebychalk/searchcraft-javascript-sdks/"
42
- };
43
- const files = [
44
- "dist/"
45
- ];
46
- const scripts = {
47
- build: "stencil build && yarn docs",
48
- docs: "typedoc --options typedoc.json",
49
- dev: "stencil build --dev --watch",
50
- test: "stencil test --spec --e2e",
51
- "test.watch": "stencil test --spec --e2e --watchAll",
52
- generate: "stencil generate"
53
- };
54
- const dependencies = {
55
- "@stencil/vue-output-target": "^0.9.2",
56
- classnames: "^2.3.2"
57
- };
58
- const devDependencies = {
59
- "@searchcraft/core": "^0.8.2",
60
- "@searchcraft/javascript-sdk": "*",
61
- "@stencil/core": "^4.7.0",
62
- "@stencil/react-output-target": "^0.8.2",
63
- "@stencil/sass": "^3.0.12",
64
- "@types/node": "^16.18.11",
65
- zustand: "^5.0.1"
66
- };
67
- const packageJson = {
68
- name: name,
69
- "private": false,
70
- version: version,
71
- description: description,
72
- author: author,
73
- license: license,
74
- main: main,
75
- module: module,
76
- types: types,
77
- collection: collection,
78
- "collection:main": "dist/collection/index.js",
79
- unpkg: unpkg,
80
- exports: exports,
81
- repository: repository,
82
- files: files,
83
- scripts: scripts,
84
- dependencies: dependencies,
85
- devDependencies: devDependencies
86
- };
87
-
88
9
  const SearchcraftInput = /*@__PURE__*/ proxyCustomElement(class SearchcraftInput extends H {
89
10
  constructor() {
90
11
  super();
91
12
  this.__registerHost();
92
- this.inputCleared = createEvent(this, "inputCleared", 7);
93
- this.noResultsReceived = createEvent(this, "noResultsReceived", 7);
94
13
  this.inputFocus = createEvent(this, "inputFocus", 7);
95
14
  this.inputBlur = createEvent(this, "inputBlur", 7);
96
15
  this.inputInit = createEvent(this, "inputInit", 7);
97
- this.querySubmit = createEvent(this, "querySubmit", 7);
98
16
  }
99
- /**
100
- * The Searchcraft config object.
101
- */
102
- config;
103
17
  /**
104
18
  * Whether or not to automatically submit the search term when the input changes.
105
19
  */
@@ -128,14 +42,6 @@ const SearchcraftInput = /*@__PURE__*/ proxyCustomElement(class SearchcraftInput
128
42
  * The starting value of the input element.
129
43
  */
130
44
  searchTerm = '';
131
- /**
132
- * When the input is cleared.
133
- */
134
- inputCleared;
135
- /**
136
- * When no results are returned.
137
- */
138
- noResultsReceived;
139
45
  /**
140
46
  * When the input becomes focused.
141
47
  */
@@ -148,29 +54,20 @@ const SearchcraftInput = /*@__PURE__*/ proxyCustomElement(class SearchcraftInput
148
54
  * Event emitted when input initializes.
149
55
  */
150
56
  inputInit;
151
- /**
152
- * Event emitted when a query has been submitted.
153
- */
154
- querySubmit;
155
57
  inputValue = this.searchTerm;
156
58
  error = false;
157
- isSearchcraftInitialized = false;
158
- searchStore = useSearchcraftStore.getState();
59
+ core;
60
+ searchStore = searchcraftStore.getState();
159
61
  init() {
160
- if (this.config && !this.isSearchcraftInitialized) {
161
- const searchcraft = new ge(this.config, {
162
- sdkName: packageJson.name,
163
- sdkVersion: packageJson.version,
164
- });
165
- this.searchStore.initialize(searchcraft, true);
166
- this.isSearchcraftInitialized = true;
62
+ if (this.core) {
63
+ this.searchStore.initialize(this.core);
167
64
  this.inputInit?.emit();
168
65
  }
169
66
  }
170
- componentDidLoad() {
67
+ connectedCallback() {
171
68
  this.init();
172
69
  }
173
- onConfigChange() {
70
+ onCoreChange() {
174
71
  this.init();
175
72
  }
176
73
  handleOnInput = (event) => {
@@ -179,25 +76,21 @@ const SearchcraftInput = /*@__PURE__*/ proxyCustomElement(class SearchcraftInput
179
76
  if (!this.autoSearch) {
180
77
  return;
181
78
  }
182
- if (input.value.trim() === '') {
183
- this.inputCleared?.emit();
184
- }
185
79
  this.performSearch(input.value);
186
80
  };
187
81
  performSearch = async (value) => {
188
- if (value === useSearchcraftStore.getState().searchTerm) {
82
+ if (value === searchcraftStore.getState().searchTerm) {
189
83
  return;
190
84
  }
191
85
  this.searchTerm = value.trim();
192
86
  this.error = false;
193
87
  this.searchStore.setSearchTerm(this.searchTerm);
194
- this.querySubmit?.emit(this.searchTerm);
195
88
  try {
196
89
  await this.searchStore.search();
197
90
  }
198
91
  catch (error) {
92
+ console.log(error);
199
93
  this.error = true;
200
- this.inputCleared?.emit();
201
94
  }
202
95
  };
203
96
  handleClearInput = () => {
@@ -206,7 +99,6 @@ const SearchcraftInput = /*@__PURE__*/ proxyCustomElement(class SearchcraftInput
206
99
  this.searchStore.setSearchTerm('');
207
100
  this.searchStore.setSearchClientResponseItems([]);
208
101
  this.error = false;
209
- this.inputCleared?.emit();
210
102
  };
211
103
  handleFormSubmit = async (event) => {
212
104
  event.preventDefault();
@@ -224,15 +116,14 @@ const SearchcraftInput = /*@__PURE__*/ proxyCustomElement(class SearchcraftInput
224
116
  const inputGridStyles = {
225
117
  gap: shouldHaveVerticalGap ? '4px 8px' : '0px 8px',
226
118
  };
227
- return (h("form", { key: 'bc665c50db8de601a3c95266bdf063ebb988d6a8', class: 'searchcraft-input-form', onSubmit: this.handleFormSubmit }, h("div", { key: 'a6936858c08d866b66b887c7ae03b35961cf04a1', class: inputGridClassNames, style: inputGridStyles }, h("div", { key: '915ac892fccb771f1c5338cd2d52f16f1793615d', class: 'searchcraft-input-button-wrapper' }, h("searchcraft-button", { key: '81447da28dcb9cb80a8cdf0c6765c909c2746585', onButtonClick: this.handleFormSubmit, label: this.buttonLabel })), this.inputLabel && (h("div", { key: '939c3407d16075be25ff23bf9b379c05ba1a66d4', class: 'searchcraft-input-label-wrapper' }, h("searchcraft-input-label", { key: '9d9c4043c04132b27710cca47abf102a188a80b9', label: this.inputLabel }))), this.error && (h("div", { key: '7e309f8a5c81a41bdd593f4e4ee1ba30c531c97d', class: 'searchcraft-input-error-wrapper' }, h("searchcraft-error-message", { key: 'de947c04f0948e36786f50ac65720eeb598ae7bf', errorMessage: 'Something went wrong.' }))), h("div", { key: 'bcf774e3fa5164ab838b634badf2002495437fe7', class: 'searchcraft-input-wrapper' }, h("input", { key: 'fd9759559712a39d3493e069ddddf7c267879c84', autoComplete: 'off', class: 'searchcraft-input', onFocus: () => this.inputFocus?.emit(), onBlur: () => this.inputBlur?.emit(), onInput: (event) => {
119
+ return (h("form", { key: '52760b113a209c51638bcb005e0b6c3d5bf9741d', class: 'searchcraft-input-form', onSubmit: this.handleFormSubmit }, h("div", { key: '6b20020b8a67c9d860fca7da67150a8d75bd3313', class: inputGridClassNames, style: inputGridStyles }, h("div", { key: '67bba2889e6fde70c4f349dfbd61d9a632c08301', class: 'searchcraft-input-button-wrapper' }, h("searchcraft-button", { key: 'a839e1a67d238bfbe6d47857f6339e49d14f9560', onButtonClick: this.handleFormSubmit, label: this.buttonLabel })), this.inputLabel && (h("div", { key: 'a2a69b7dbdf1142459d6ffad90dc26a38a76276d', class: 'searchcraft-input-label-wrapper' }, h("searchcraft-input-label", { key: '621a4903821ba8c1854e3ff89d30a24dba3ed0fb', label: this.inputLabel }))), this.error && (h("div", { key: 'b4cd633a139488cac185c38123b138fc5d51cd20', class: 'searchcraft-input-error-wrapper' }, h("searchcraft-error-message", { key: 'ccadaf96ac8317b6415a83e6523816328e83eb3e', errorMessage: 'Something went wrong.' }))), h("div", { key: '0f13777c2e5f806ce12fff9680d7862a27b2e260', class: 'searchcraft-input-wrapper' }, h("input", { key: 'a9b58a486dfaadaedf3eeb9aec5e4c3c3548536b', autoComplete: 'off', class: 'searchcraft-input', onFocus: () => this.inputFocus?.emit(), onBlur: () => this.inputBlur?.emit(), onInput: (event) => {
228
120
  this.handleOnInput(event);
229
- }, placeholder: this.placeholderValue, style: validatedCustomStyles, type: 'text', value: this.inputValue }), h("div", { key: '8564b18962feeea8d9ab8bb46af4ba28a089d8f4', class: 'searchcraft-input-search-icon-wrapper' }, h("svg", { key: '90c3636ea306ed70887d76deaf058ab3ace61134', class: 'searchcraft-input-search-icon', viewBox: '0 0 20 20', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', "aria-labelledby": 'searchcraft-title' }, h("title", { key: 'c9921263b87df28e06bab9990e324aa1bebac767', id: 'searchcraft-title' }, "Searchcraft Search Icon Light"), h("path", { key: 'bb82073fd722ff4a74e1a86c74cdf0dd9a8080b4', d: 'M17.5 17.5L13.875 13.875M15.8333 9.16667C15.8333 12.8486 12.8486 15.8333 9.16667 15.8333C5.48477 15.8333 2.5 12.8486 2.5 9.16667C2.5 5.48477 5.48477 2.5 9.16667 2.5C12.8486 2.5 15.8333 5.48477 15.8333 9.16667Z', stroke: 'currentColor', "stroke-width": '1.5', "stroke-linecap": 'round', "stroke-linejoin": 'round' }))), isShowingClearButton && (h("button", { key: 'e708cb9426171bfdfb29e0a98206d086fa14e15e', type: 'button', class: 'searchcraft-input-clear-button', onClick: this.handleClearInput }, h("svg", { key: '243b6eacc68fa8cc57d5e11b9b317d7fe581406f', class: 'searchcraft-input-clear-icon', viewBox: '0 0 22 22', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', "aria-labelledby": 'icon-title' }, h("title", { key: 'd8a8b44fe04345b5b27ba33ec4ba510500eab3bf', id: 'icon-title' }, "Searchcraft Clear Input Icon Light"), h("path", { key: '0602cbff7aac6755dabb496b84e6ef3e4e2ac7a6', d: 'M14 8L8 14M8 8L14 14M21 11C21 16.5228 16.5228 21 11 21C5.47715 21 1 16.5228 1 11C1 5.47715 5.47715 1 11 1C16.5228 1 21 5.47715 21 11Z', stroke: 'currentColor', "stroke-width": '1.5', "stroke-linecap": 'round', "stroke-linejoin": 'round' }))))))));
121
+ }, placeholder: this.placeholderValue, style: validatedCustomStyles, type: 'text', value: this.inputValue }), h("div", { key: 'a57e4f72ee1383e42158bbc9e35d47d2c468acf5', class: 'searchcraft-input-search-icon-wrapper' }, h("svg", { key: 'c7bda92af1488981d5de08af0f9ae3064c76c354', class: 'searchcraft-input-search-icon', viewBox: '0 0 20 20', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', "aria-labelledby": 'searchcraft-title' }, h("title", { key: 'f4dc47ae6c88517eeaea574fe819423b3d6e6cb5', id: 'searchcraft-title' }, "Searchcraft Search Icon Light"), h("path", { key: 'c77497591b4f31de0f3e008baa79c006fd0a2eb9', d: 'M17.5 17.5L13.875 13.875M15.8333 9.16667C15.8333 12.8486 12.8486 15.8333 9.16667 15.8333C5.48477 15.8333 2.5 12.8486 2.5 9.16667C2.5 5.48477 5.48477 2.5 9.16667 2.5C12.8486 2.5 15.8333 5.48477 15.8333 9.16667Z', stroke: 'currentColor', "stroke-width": '1.5', "stroke-linecap": 'round', "stroke-linejoin": 'round' }))), isShowingClearButton && (h("button", { key: 'e125b759eaa21dfdd4058bf36f3c10233f067835', type: 'button', class: 'searchcraft-input-clear-button', onClick: this.handleClearInput }, h("svg", { key: 'b2767658bb9edbc51efd6430e051127b08c9ab83', class: 'searchcraft-input-clear-icon', viewBox: '0 0 22 22', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', "aria-labelledby": 'icon-title' }, h("title", { key: '990ff3c8f207d09192e954b0f5d059e0683db2d4', id: 'icon-title' }, "Searchcraft Clear Input Icon Light"), h("path", { key: '5322d9abb4d60a75869ca943a17157a32c502035', d: 'M14 8L8 14M8 8L14 14M21 11C21 16.5228 16.5228 21 11 21C5.47715 21 1 16.5228 1 11C1 5.47715 5.47715 1 11 1C16.5228 1 21 5.47715 21 11Z', stroke: 'currentColor', "stroke-width": '1.5', "stroke-linecap": 'round', "stroke-linejoin": 'round' }))))))));
230
122
  }
231
123
  static get watchers() { return {
232
- "config": ["onConfigChange"]
124
+ "core": ["onCoreChange"]
233
125
  }; }
234
126
  }, [0, "searchcraft-input-form", {
235
- "config": [16],
236
127
  "autoSearch": [4, "auto-search"],
237
128
  "buttonPlacement": [1, "button-placement"],
238
129
  "buttonLabel": [1, "button-label"],
@@ -240,11 +131,11 @@ const SearchcraftInput = /*@__PURE__*/ proxyCustomElement(class SearchcraftInput
240
131
  "customStyles": [1, "custom-styles"],
241
132
  "placeholderValue": [1, "placeholder-value"],
242
133
  "searchTerm": [1, "search-term"],
134
+ "core": [16],
243
135
  "inputValue": [32],
244
- "error": [32],
245
- "isSearchcraftInitialized": [32]
136
+ "error": [32]
246
137
  }, undefined, {
247
- "config": ["onConfigChange"]
138
+ "core": ["onCoreChange"]
248
139
  }]);
249
140
  function defineCustomElement() {
250
141
  if (typeof customElements === "undefined") {
@@ -277,4 +168,4 @@ function defineCustomElement() {
277
168
 
278
169
  export { SearchcraftInput as S, defineCustomElement as d };
279
170
 
280
- //# sourceMappingURL=p-6e2eef88.js.map
171
+ //# sourceMappingURL=p-5bd5c3cb.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-5bd5c3cb.js","mappings":"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","names":[],"sources":["src/components/searchcraft-input-form/searchcraft-input-form.tsx"],"sourcesContent":["import {\n Component,\n h,\n Prop,\n State,\n Event,\n type EventEmitter,\n Watch,\n} from '@stencil/core';\nimport classNames from 'classnames';\n\nimport type { SearchcraftCore } from '@searchcraft/core';\n\nimport { parseCustomStyles } from '@utils';\nimport { searchcraftStore } from '@store';\n\n/**\n * This web component provides a user-friendly interface for querying an indexed dataset, enabling users to easily search large collections of data.\n * It abstracts the complexities of index-based searching, making it accessible to users of all technical levels.\n *\n * ## Usage\n * ```html\n * <!-- index.html -->\n * <searchcraft-input-form placeholder-value=\"Search here\" />\n * ```\n *\n * ```js\n * // index.js\n * const searchInputForm = document.querySelector('searchcraft-input-form');\n *\n * ```\n */\n@Component({\n tag: 'searchcraft-input-form',\n shadow: false,\n})\nexport class SearchcraftInput {\n /**\n * Whether or not to automatically submit the search term when the input changes.\n */\n @Prop() autoSearch = true;\n /**\n * Where to place the search button.\n */\n @Prop() buttonPlacement: 'left' | 'right' | 'none' = 'none';\n /**\n * The label for the submit button.\n */\n @Prop() buttonLabel?: string;\n /**\n * The label rendered above the input.\n */\n @Prop() inputLabel?: string;\n /**\n * A custom styles object to be applied to the input element.\n */\n @Prop() customStyles: string | Record<string, string> = {};\n /**\n * The input element's placeholder value.\n */\n @Prop() placeholderValue = 'Enter Search';\n /**\n * The starting value of the input element.\n */\n @Prop() searchTerm = '';\n /**\n * When the input becomes focused.\n */\n @Event() inputFocus?: EventEmitter<void>;\n /**\n * When the input becomes unfocused.\n */\n @Event() inputBlur?: EventEmitter<void>;\n /**\n * Event emitted when input initializes.\n */\n @Event() inputInit?: EventEmitter<void>;\n\n @State() inputValue = this.searchTerm;\n @State() error = false;\n\n @Prop() core?: SearchcraftCore;\n\n private searchStore = searchcraftStore.getState();\n\n init() {\n if (this.core) {\n this.searchStore.initialize(this.core);\n this.inputInit?.emit();\n }\n }\n\n connectedCallback() {\n this.init();\n }\n\n @Watch('core')\n onCoreChange() {\n this.init();\n }\n\n handleOnInput = (event: Event) => {\n const input = event.target as HTMLInputElement;\n this.inputValue = input.value;\n\n if (!this.autoSearch) {\n return;\n }\n\n this.performSearch(input.value);\n };\n\n private performSearch = async (value: string) => {\n if (value === searchcraftStore.getState().searchTerm) {\n return;\n }\n\n this.searchTerm = value.trim();\n this.error = false;\n this.searchStore.setSearchTerm(this.searchTerm);\n\n try {\n await this.searchStore.search();\n } catch (error) {\n console.log(error);\n this.error = true;\n }\n };\n\n handleClearInput = () => {\n this.inputValue = '';\n this.searchTerm = '';\n this.searchStore.setSearchTerm('');\n this.searchStore.setSearchClientResponseItems([]);\n this.error = false;\n };\n\n handleFormSubmit = async (event: Event) => {\n event.preventDefault();\n await this.performSearch(this.searchTerm);\n };\n\n render() {\n const validatedCustomStyles = parseCustomStyles(this.customStyles);\n\n const isShowingClearButton = this.inputValue.length > 0;\n\n const inputGridClassNames = classNames('searchcraft-input-grid', {\n 'searchcraft-input-grid-buttonLeft': this.buttonPlacement === 'left',\n 'searchcraft-input-grid-buttonRight': this.buttonPlacement === 'right',\n 'searchcraft-input-grid-buttonNone': this.buttonPlacement === 'none',\n });\n\n const shouldHaveVerticalGap = this.inputLabel || this.error;\n const inputGridStyles = {\n gap: shouldHaveVerticalGap ? '4px 8px' : '0px 8px',\n };\n\n return (\n <form class='searchcraft-input-form' onSubmit={this.handleFormSubmit}>\n <div class={inputGridClassNames} style={inputGridStyles}>\n <div class='searchcraft-input-button-wrapper'>\n <searchcraft-button\n onButtonClick={this.handleFormSubmit}\n label={this.buttonLabel}\n />\n </div>\n {this.inputLabel && (\n <div class='searchcraft-input-label-wrapper'>\n <searchcraft-input-label label={this.inputLabel} />\n </div>\n )}\n {this.error && (\n <div class='searchcraft-input-error-wrapper'>\n <searchcraft-error-message errorMessage='Something went wrong.' />\n </div>\n )}\n <div class='searchcraft-input-wrapper'>\n <input\n autoComplete='off'\n class='searchcraft-input'\n onFocus={() => this.inputFocus?.emit()}\n onBlur={() => this.inputBlur?.emit()}\n onInput={(event) => {\n this.handleOnInput(event);\n }}\n placeholder={this.placeholderValue}\n style={validatedCustomStyles}\n type='text'\n value={this.inputValue}\n />\n <div class='searchcraft-input-search-icon-wrapper'>\n <svg\n class='searchcraft-input-search-icon'\n viewBox='0 0 20 20'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n aria-labelledby='searchcraft-title'\n >\n <title id='searchcraft-title'>\n Searchcraft Search Icon Light\n </title>\n <path\n d='M17.5 17.5L13.875 13.875M15.8333 9.16667C15.8333 12.8486 12.8486 15.8333 9.16667 15.8333C5.48477 15.8333 2.5 12.8486 2.5 9.16667C2.5 5.48477 5.48477 2.5 9.16667 2.5C12.8486 2.5 15.8333 5.48477 15.8333 9.16667Z'\n stroke='currentColor'\n stroke-width='1.5'\n stroke-linecap='round'\n stroke-linejoin='round'\n />\n </svg>\n </div>\n {isShowingClearButton && (\n <button\n type='button'\n class='searchcraft-input-clear-button'\n onClick={this.handleClearInput}\n >\n <svg\n class='searchcraft-input-clear-icon'\n viewBox='0 0 22 22'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n aria-labelledby='icon-title'\n >\n <title id='icon-title'>\n Searchcraft Clear Input Icon Light\n </title>\n <path\n d='M14 8L8 14M8 8L14 14M21 11C21 16.5228 16.5228 21 11 21C5.47715 21 1 16.5228 1 11C1 5.47715 5.47715 1 11 1C16.5228 1 21 5.47715 21 11Z'\n stroke='currentColor'\n stroke-width='1.5'\n stroke-linecap='round'\n stroke-linejoin='round'\n />\n </svg>\n </button>\n )}\n </div>\n </div>\n </form>\n );\n }\n}\n"],"version":3}