@searchcraft/javascript-sdk 0.8.1 → 0.9.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 (289) 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-ae78be68.js → p-3026f7d3.js} +18 -127
  12. package/dist/components/p-3026f7d3.js.map +1 -0
  13. package/dist/components/{p-ec0d230e.js → p-3568414f.js} +4 -4
  14. package/dist/components/p-3568414f.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-d19bf6ff.js → p-71cc28c1.js} +2 -2
  18. package/dist/components/p-71cc28c1.js.map +1 -0
  19. package/dist/components/{p-fc7cda96.js → p-7777d986.js} +4 -4
  20. package/dist/components/{p-fc7cda96.js.map → p-7777d986.js.map} +1 -1
  21. package/dist/components/p-b0bc5cee.js +102 -0
  22. package/dist/components/p-b0bc5cee.js.map +1 -0
  23. package/dist/components/{p-4e9cd62e.js → p-bb12ab5a.js} +3 -3
  24. package/dist/components/{p-4e9cd62e.js.map → p-bb12ab5a.js.map} +1 -1
  25. package/dist/components/{p-97332d3e.js → p-cd9ba361.js} +3 -3
  26. package/dist/components/p-cd9ba361.js.map +1 -0
  27. package/dist/components/searchcraft-ad.d.ts +11 -0
  28. package/dist/components/searchcraft-ad.js +8 -0
  29. package/dist/components/searchcraft-ad.js.map +1 -0
  30. package/dist/components/searchcraft-base-search-result.js +1 -1
  31. package/dist/components/searchcraft-base-search-results.js +79 -29
  32. package/dist/components/searchcraft-base-search-results.js.map +1 -1
  33. package/dist/components/searchcraft-button.js +1 -1
  34. package/dist/components/searchcraft-facet-list.js +1 -1
  35. package/dist/components/searchcraft-filter-panel.js +7 -7
  36. package/dist/components/searchcraft-filter-panel.js.map +1 -1
  37. package/dist/components/searchcraft-input-form.js +1 -1
  38. package/dist/components/searchcraft-pagination.js +5 -5
  39. package/dist/components/searchcraft-pagination.js.map +1 -1
  40. package/dist/components/searchcraft-popover-button.js +3 -3
  41. package/dist/components/searchcraft-popover-button.js.map +1 -1
  42. package/dist/components/searchcraft-popover-form.js +28 -35
  43. package/dist/components/searchcraft-popover-form.js.map +1 -1
  44. package/dist/components/searchcraft-popover-list-item.js +1 -1
  45. package/dist/components/searchcraft-popover-list-view.js +1 -1
  46. package/dist/components/searchcraft-results-info.js +2 -2
  47. package/dist/components/searchcraft-results-info.js.map +1 -1
  48. package/dist/components/searchcraft-search-results-per-page.js +3 -3
  49. package/dist/components/searchcraft-search-results-per-page.js.map +1 -1
  50. package/dist/components/searchcraft-slider.js +1 -1
  51. package/dist/components/searchcraft-theme.js +1 -1
  52. package/dist/components/searchcraft-theme.js.map +1 -1
  53. package/dist/components/searchcraft-toggle-button.js +1 -1
  54. package/dist/types/components/searchcraft-ad/searchcraft-ad.d.ts +19 -0
  55. package/dist/types/components/searchcraft-base-search-results/searchcraft-base-search-results.d.ts +10 -7
  56. package/dist/types/components/searchcraft-facet-list/searchcraft-facet-list.d.ts +1 -1
  57. package/dist/types/components/searchcraft-input-form/searchcraft-input-form.d.ts +4 -29
  58. package/dist/types/components/searchcraft-popover-form/searchcraft-popover-form.d.ts +1 -11
  59. package/dist/types/components/searchcraft-popover-list-view/searchcraft-popover-list-view.d.ts +4 -0
  60. package/dist/types/components.d.ts +33 -158
  61. package/dist/types/index.d.ts +10 -1
  62. package/dist/types/store/SearchcraftStore.d.ts +4 -0
  63. package/dist/types/{provider → store}/SearchcraftStore.types.d.ts +2 -1
  64. package/dist/{collection/provider/store.js → types/store/index.d.ts} +2 -2
  65. package/package.json +8 -17
  66. package/dist/cjs/SearchcraftStore-75fac5e0.js.map +0 -1
  67. package/dist/cjs/app-globals-3a1e7e63.js +0 -7
  68. package/dist/cjs/app-globals-3a1e7e63.js.map +0 -1
  69. package/dist/cjs/index-5b0b9d4c.js +0 -84
  70. package/dist/cjs/index-5b0b9d4c.js.map +0 -1
  71. package/dist/cjs/index-a81df4f0.js +0 -1577
  72. package/dist/cjs/index-a81df4f0.js.map +0 -1
  73. package/dist/cjs/index.cjs.js +0 -14
  74. package/dist/cjs/index.cjs.js.map +0 -1
  75. package/dist/cjs/loader.cjs.js +0 -17
  76. package/dist/cjs/loader.cjs.js.map +0 -1
  77. package/dist/cjs/searchcraft-base-search-result_2.cjs.entry.js +0 -152
  78. package/dist/cjs/searchcraft-base-search-result_2.cjs.entry.js.map +0 -1
  79. package/dist/cjs/searchcraft-base-search-results.cjs.entry.js +0 -97
  80. package/dist/cjs/searchcraft-base-search-results.cjs.entry.js.map +0 -1
  81. package/dist/cjs/searchcraft-button_3.cjs.entry.js +0 -88
  82. package/dist/cjs/searchcraft-button_3.cjs.entry.js.map +0 -1
  83. package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js +0 -393
  84. package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js.map +0 -1
  85. package/dist/cjs/searchcraft-filter-panel.cjs.entry.js +0 -113
  86. package/dist/cjs/searchcraft-filter-panel.cjs.entry.js.map +0 -1
  87. package/dist/cjs/searchcraft-input-form_2.cjs.entry.js +0 -260
  88. package/dist/cjs/searchcraft-input-form_2.cjs.entry.js.map +0 -1
  89. package/dist/cjs/searchcraft-javascript-sdk.cjs.js +0 -27
  90. package/dist/cjs/searchcraft-javascript-sdk.cjs.js.map +0 -1
  91. package/dist/cjs/searchcraft-pagination.cjs.entry.js +0 -106
  92. package/dist/cjs/searchcraft-pagination.cjs.entry.js.map +0 -1
  93. package/dist/cjs/searchcraft-popover-button.cjs.entry.js +0 -22
  94. package/dist/cjs/searchcraft-popover-button.cjs.entry.js.map +0 -1
  95. package/dist/cjs/searchcraft-popover-form.cjs.entry.js +0 -234
  96. package/dist/cjs/searchcraft-popover-form.cjs.entry.js.map +0 -1
  97. package/dist/cjs/searchcraft-popover-list-item_2.cjs.entry.js +0 -101
  98. package/dist/cjs/searchcraft-popover-list-item_2.cjs.entry.js.map +0 -1
  99. package/dist/cjs/searchcraft-results-info.cjs.entry.js +0 -80
  100. package/dist/cjs/searchcraft-results-info.cjs.entry.js.map +0 -1
  101. package/dist/cjs/searchcraft-search-results-per-page.cjs.entry.js +0 -75
  102. package/dist/cjs/searchcraft-search-results-per-page.cjs.entry.js.map +0 -1
  103. package/dist/cjs/searchcraft-select.cjs.entry.js +0 -70
  104. package/dist/cjs/searchcraft-select.cjs.entry.js.map +0 -1
  105. package/dist/cjs/searchcraft-theme.cjs.entry.js +0 -56
  106. package/dist/cjs/searchcraft-theme.cjs.entry.js.map +0 -1
  107. package/dist/cjs/styles-7b2d06f2.js +0 -28
  108. package/dist/cjs/styles-7b2d06f2.js.map +0 -1
  109. package/dist/cjs/units-fe4d8083.js +0 -88
  110. package/dist/cjs/units-fe4d8083.js.map +0 -1
  111. package/dist/collection/collection-manifest.json +0 -32
  112. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js +0 -302
  113. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js.map +0 -1
  114. package/dist/collection/components/searchcraft-base-search-result-ad/searchcraft-base-search-result-ad.js +0 -73
  115. package/dist/collection/components/searchcraft-base-search-result-ad/searchcraft-base-search-result-ad.js.map +0 -1
  116. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js +0 -313
  117. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js.map +0 -1
  118. package/dist/collection/components/searchcraft-button/searchcraft-button.js +0 -217
  119. package/dist/collection/components/searchcraft-button/searchcraft-button.js.map +0 -1
  120. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js +0 -44
  121. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js.map +0 -1
  122. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js +0 -200
  123. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js.map +0 -1
  124. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js +0 -149
  125. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js.map +0 -1
  126. package/dist/collection/components/searchcraft-input-form/searchcraft-input-form.js +0 -443
  127. package/dist/collection/components/searchcraft-input-form/searchcraft-input-form.js.map +0 -1
  128. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js +0 -67
  129. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js.map +0 -1
  130. package/dist/collection/components/searchcraft-pagination/searchcraft-pagination.js +0 -141
  131. package/dist/collection/components/searchcraft-pagination/searchcraft-pagination.js.map +0 -1
  132. package/dist/collection/components/searchcraft-popover-button/searchcraft-popover-button.js +0 -15
  133. package/dist/collection/components/searchcraft-popover-button/searchcraft-popover-button.js.map +0 -1
  134. package/dist/collection/components/searchcraft-popover-form/searchcraft-popover-form.js +0 -381
  135. package/dist/collection/components/searchcraft-popover-form/searchcraft-popover-form.js.map +0 -1
  136. package/dist/collection/components/searchcraft-popover-list-item/searchcraft-popover-list-item.js +0 -128
  137. package/dist/collection/components/searchcraft-popover-list-item/searchcraft-popover-list-item.js.map +0 -1
  138. package/dist/collection/components/searchcraft-popover-list-item-ad/searchcraft-popover-list-item-ad.js +0 -73
  139. package/dist/collection/components/searchcraft-popover-list-item-ad/searchcraft-popover-list-item-ad.js.map +0 -1
  140. package/dist/collection/components/searchcraft-popover-list-view/searchcraft-popover-list-view.js +0 -141
  141. package/dist/collection/components/searchcraft-popover-list-view/searchcraft-popover-list-view.js.map +0 -1
  142. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js +0 -138
  143. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js.map +0 -1
  144. package/dist/collection/components/searchcraft-search-results-per-page/searchcraft-search-results-per-page.js +0 -129
  145. package/dist/collection/components/searchcraft-search-results-per-page/searchcraft-search-results-per-page.js.map +0 -1
  146. package/dist/collection/components/searchcraft-select/searchcraft-select.js +0 -261
  147. package/dist/collection/components/searchcraft-select/searchcraft-select.js.map +0 -1
  148. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js +0 -194
  149. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js.map +0 -1
  150. package/dist/collection/components/searchcraft-theme/searchcraft-theme.js +0 -97
  151. package/dist/collection/components/searchcraft-theme/searchcraft-theme.js.map +0 -1
  152. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js +0 -118
  153. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js.map +0 -1
  154. package/dist/collection/index.js +0 -3
  155. package/dist/collection/index.js.map +0 -1
  156. package/dist/collection/provider/SearchcraftStore.js +0 -160
  157. package/dist/collection/provider/SearchcraftStore.js.map +0 -1
  158. package/dist/collection/provider/SearchcraftStore.types.js +0 -2
  159. package/dist/collection/provider/SearchcraftStore.types.js.map +0 -1
  160. package/dist/collection/provider/store.js.map +0 -1
  161. package/dist/collection/utils/facets.js +0 -128
  162. package/dist/collection/utils/facets.js.map +0 -1
  163. package/dist/collection/utils/index.js +0 -4
  164. package/dist/collection/utils/index.js.map +0 -1
  165. package/dist/collection/utils/styles.js +0 -22
  166. package/dist/collection/utils/styles.js.map +0 -1
  167. package/dist/collection/utils/units.js +0 -83
  168. package/dist/collection/utils/units.js.map +0 -1
  169. package/dist/components/p-25ee7496.js +0 -58
  170. package/dist/components/p-25ee7496.js.map +0 -1
  171. package/dist/components/p-38419178.js +0 -1625
  172. package/dist/components/p-38419178.js.map +0 -1
  173. package/dist/components/p-433f974c.js.map +0 -1
  174. package/dist/components/p-97332d3e.js.map +0 -1
  175. package/dist/components/p-ae78be68.js.map +0 -1
  176. package/dist/components/p-bff4d3fc.js +0 -65
  177. package/dist/components/p-bff4d3fc.js.map +0 -1
  178. package/dist/components/p-d19bf6ff.js.map +0 -1
  179. package/dist/components/p-de4a48b1.js +0 -65
  180. package/dist/components/p-de4a48b1.js.map +0 -1
  181. package/dist/components/p-ec0d230e.js.map +0 -1
  182. package/dist/components/searchcraft-base-search-result-ad.d.ts +0 -11
  183. package/dist/components/searchcraft-base-search-result-ad.js +0 -8
  184. package/dist/components/searchcraft-base-search-result-ad.js.map +0 -1
  185. package/dist/components/searchcraft-popover-list-item-ad.d.ts +0 -11
  186. package/dist/components/searchcraft-popover-list-item-ad.js +0 -8
  187. package/dist/components/searchcraft-popover-list-item-ad.js.map +0 -1
  188. package/dist/esm/SearchcraftStore-3cfd565a.js +0 -1625
  189. package/dist/esm/SearchcraftStore-3cfd565a.js.map +0 -1
  190. package/dist/esm/app-globals-0f993ce5.js +0 -5
  191. package/dist/esm/app-globals-0f993ce5.js.map +0 -1
  192. package/dist/esm/index-3608c57d.js +0 -1548
  193. package/dist/esm/index-3608c57d.js.map +0 -1
  194. package/dist/esm/index-72ac5051.js +0 -82
  195. package/dist/esm/index-72ac5051.js.map +0 -1
  196. package/dist/esm/index.js +0 -4
  197. package/dist/esm/index.js.map +0 -1
  198. package/dist/esm/loader.js +0 -13
  199. package/dist/esm/loader.js.map +0 -1
  200. package/dist/esm/searchcraft-base-search-result_2.entry.js +0 -147
  201. package/dist/esm/searchcraft-base-search-result_2.entry.js.map +0 -1
  202. package/dist/esm/searchcraft-base-search-results.entry.js +0 -93
  203. package/dist/esm/searchcraft-base-search-results.entry.js.map +0 -1
  204. package/dist/esm/searchcraft-button_3.entry.js +0 -82
  205. package/dist/esm/searchcraft-button_3.entry.js.map +0 -1
  206. package/dist/esm/searchcraft-facet-list_3.entry.js +0 -387
  207. package/dist/esm/searchcraft-facet-list_3.entry.js.map +0 -1
  208. package/dist/esm/searchcraft-filter-panel.entry.js +0 -109
  209. package/dist/esm/searchcraft-filter-panel.entry.js.map +0 -1
  210. package/dist/esm/searchcraft-input-form_2.entry.js +0 -255
  211. package/dist/esm/searchcraft-input-form_2.entry.js.map +0 -1
  212. package/dist/esm/searchcraft-javascript-sdk.js +0 -22
  213. package/dist/esm/searchcraft-javascript-sdk.js.map +0 -1
  214. package/dist/esm/searchcraft-pagination.entry.js +0 -102
  215. package/dist/esm/searchcraft-pagination.entry.js.map +0 -1
  216. package/dist/esm/searchcraft-popover-button.entry.js +0 -18
  217. package/dist/esm/searchcraft-popover-button.entry.js.map +0 -1
  218. package/dist/esm/searchcraft-popover-form.entry.js +0 -230
  219. package/dist/esm/searchcraft-popover-form.entry.js.map +0 -1
  220. package/dist/esm/searchcraft-popover-list-item_2.entry.js +0 -96
  221. package/dist/esm/searchcraft-popover-list-item_2.entry.js.map +0 -1
  222. package/dist/esm/searchcraft-results-info.entry.js +0 -76
  223. package/dist/esm/searchcraft-results-info.entry.js.map +0 -1
  224. package/dist/esm/searchcraft-search-results-per-page.entry.js +0 -71
  225. package/dist/esm/searchcraft-search-results-per-page.entry.js.map +0 -1
  226. package/dist/esm/searchcraft-select.entry.js +0 -66
  227. package/dist/esm/searchcraft-select.entry.js.map +0 -1
  228. package/dist/esm/searchcraft-theme.entry.js +0 -52
  229. package/dist/esm/searchcraft-theme.entry.js.map +0 -1
  230. package/dist/esm/styles-961644ef.js +0 -25
  231. package/dist/esm/styles-961644ef.js.map +0 -1
  232. package/dist/esm/units-daaf96f5.js +0 -84
  233. package/dist/esm/units-daaf96f5.js.map +0 -1
  234. package/dist/index.cjs.js +0 -1
  235. package/dist/index.js +0 -1
  236. package/dist/loader/cdn.js +0 -1
  237. package/dist/loader/index.cjs.js +0 -1
  238. package/dist/loader/index.d.ts +0 -24
  239. package/dist/loader/index.es2017.js +0 -1
  240. package/dist/loader/index.js +0 -2
  241. package/dist/loader/package.json +0 -11
  242. package/dist/searchcraft-javascript-sdk/index.esm.js +0 -2
  243. package/dist/searchcraft-javascript-sdk/index.esm.js.map +0 -1
  244. package/dist/searchcraft-javascript-sdk/p-279f3e15.entry.js +0 -2
  245. package/dist/searchcraft-javascript-sdk/p-279f3e15.entry.js.map +0 -1
  246. package/dist/searchcraft-javascript-sdk/p-2bc82b48.entry.js +0 -2
  247. package/dist/searchcraft-javascript-sdk/p-2bc82b48.entry.js.map +0 -1
  248. package/dist/searchcraft-javascript-sdk/p-2dc07b47.entry.js +0 -2
  249. package/dist/searchcraft-javascript-sdk/p-2dc07b47.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-5cdc6210.js +0 -7
  253. package/dist/searchcraft-javascript-sdk/p-5cdc6210.js.map +0 -1
  254. package/dist/searchcraft-javascript-sdk/p-5e064c07.entry.js +0 -2
  255. package/dist/searchcraft-javascript-sdk/p-5e064c07.entry.js.map +0 -1
  256. package/dist/searchcraft-javascript-sdk/p-6104fe5d.js +0 -2
  257. package/dist/searchcraft-javascript-sdk/p-6104fe5d.js.map +0 -1
  258. package/dist/searchcraft-javascript-sdk/p-69da4e58.entry.js +0 -2
  259. package/dist/searchcraft-javascript-sdk/p-69da4e58.entry.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-75779e4b.entry.js +0 -2
  263. package/dist/searchcraft-javascript-sdk/p-75779e4b.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-d2fffca9.entry.js +0 -2
  277. package/dist/searchcraft-javascript-sdk/p-d2fffca9.entry.js.map +0 -1
  278. package/dist/searchcraft-javascript-sdk/p-d9551738.js +0 -2
  279. package/dist/searchcraft-javascript-sdk/p-d9551738.js.map +0 -1
  280. package/dist/searchcraft-javascript-sdk/p-e11de2d6.entry.js +0 -2
  281. package/dist/searchcraft-javascript-sdk/p-e11de2d6.entry.js.map +0 -1
  282. package/dist/searchcraft-javascript-sdk/p-e1255160.js +0 -2
  283. package/dist/searchcraft-javascript-sdk/p-e1255160.js.map +0 -1
  284. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js +0 -2
  285. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js.map +0 -1
  286. package/dist/types/components/searchcraft-base-search-result-ad/searchcraft-base-search-result-ad.d.ts +0 -14
  287. package/dist/types/components/searchcraft-popover-list-item-ad/searchcraft-popover-list-item-ad.d.ts +0 -14
  288. package/dist/types/provider/SearchcraftStore.d.ts +0 -4
  289. package/dist/types/provider/store.d.ts +0 -3
@@ -1,152 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-a81df4f0.js');
6
- const SearchcraftStore = require('./SearchcraftStore-75fac5e0.js');
7
- const units = require('./units-fe4d8083.js');
8
-
9
- const SearchcraftBaseSearchResult = class {
10
- constructor(hostRef) {
11
- index.registerInstance(this, hostRef);
12
- }
13
- item;
14
- searchResultMappings;
15
- /**
16
- * Where to open the link for the containing element.
17
- */
18
- containerTarget = '_blank';
19
- /**
20
- * The relationship between the current document and the link for the containing element.
21
- */
22
- containerRel;
23
- /**
24
- * Where to open the link for the button rendered when containerHref is not present.
25
- */
26
- buttonTarget = '_blank';
27
- /**
28
- * The relationship between the current document and the link for the button rendered when containerHref is not present.
29
- */
30
- buttonRel;
31
- /**
32
- * The placement of the image.
33
- */
34
- imagePlacement = 'right';
35
- /**
36
- * A custom styles object.
37
- */
38
- customStyles;
39
- /**
40
- * The position in the document. Used with the "document_clicked" measure event.
41
- */
42
- documentPosition = 0;
43
- titleContent;
44
- subtitleContent;
45
- bodyContent;
46
- footerContent;
47
- buttonLabel;
48
- buttonHref;
49
- containerHref;
50
- imageSrc;
51
- imageAlt;
52
- searchcraftStore = SearchcraftStore.useSearchcraftStore.getState();
53
- connectedCallback() {
54
- if (this.item) {
55
- this.mapValuesFromDocument(this.item.document);
56
- }
57
- }
58
- mapValuesFromDocument(document) {
59
- this.titleContent = units.getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.title);
60
- this.subtitleContent = units.getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.subtitle);
61
- this.bodyContent = units.getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.body);
62
- this.containerHref = units.getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.containerHref);
63
- this.buttonHref = units.getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.buttonHref);
64
- this.imageSrc = units.getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.imageSource);
65
- this.footerContent = units.getDocumentValueFromSearchResultMapping(document, this.searchResultMappings?.footer);
66
- }
67
- handleLinkClick = () => {
68
- const searchcraft = this.searchcraftStore.getSearchcraftInstance();
69
- if (searchcraft) {
70
- const document_position = this.documentPosition;
71
- const search_term = this.searchcraftStore.searchTerm;
72
- const number_of_documents = this.searchcraftStore.searchClientResponseItems.length;
73
- searchcraft.measureClient?.sendMeasureEvent('document_clicked', {
74
- document_position,
75
- number_of_documents,
76
- search_term,
77
- });
78
- }
79
- };
80
- parseStyles = () => {
81
- if (this.customStyles) {
82
- try {
83
- return JSON.parse(this.customStyles);
84
- }
85
- catch (error) {
86
- console.error('Error parsing custom styles:', error);
87
- return {};
88
- }
89
- }
90
- return {};
91
- };
92
- render() {
93
- const styles = this.parseStyles();
94
- const imageContainer = this.imageSrc && (index.h("img", { alt: this.imageAlt, class: 'searchcraft-search-result-image', src: this.imageSrc, style: styles.image || {} }));
95
- const contentContainer = (index.h(index.Fragment, null, this.imageSrc && this.imagePlacement === 'left' && imageContainer, index.h("div", { class: 'searchcraft-base-search-result-content-container' }, this.titleContent && (index.h("h2", { class: 'searchcraft-base-search-result-title', style: styles.title || {} }, this.titleContent)), this.subtitleContent && (index.h("h3", { class: 'searchcraft-base-search-result-subtitle', style: styles.subtitle || {} }, this.subtitleContent)), this.bodyContent && (index.h("p", { class: 'searchcraft-base-search-result-body-content', style: styles.primaryContent || {} }, this.bodyContent)), this.footerContent && (index.h("p", { class: 'searchcraft-base-search-result-footer-content', style: styles.secondaryContent || {} }, this.footerContent)), this.buttonHref && !this.containerHref && this.buttonLabel && (index.h("a", { class: 'searchcraft-search-result-button', href: this.buttonHref, style: styles.button || {}, target: this.buttonTarget, rel: this.buttonRel }, this.buttonLabel))), this.imageSrc && this.imagePlacement === 'right' && imageContainer));
96
- /** Render as an anchor tag if the containerHref prop is present. */
97
- if (this.containerHref) {
98
- return (index.h("a", { class: 'searchcraft-search-result-container', onClick: this.handleLinkClick, href: this.containerHref, rel: this.containerRel, style: styles.container || {}, tabindex: '0', target: this.containerTarget }, contentContainer));
99
- }
100
- /** Render as a div if no href prop. */
101
- return (index.h("div", { class: 'searchcraft-search-result-container', style: styles.container || {} }, contentContainer));
102
- }
103
- };
104
-
105
- const SearchcraftBaseSearchResultAd = class {
106
- constructor(hostRef) {
107
- index.registerInstance(this, hostRef);
108
- }
109
- adClientResponseItem;
110
- connectedCallback() {
111
- if (this.adClientResponseItem?.admAd?.impression_url) {
112
- fetch(this.adClientResponseItem?.admAd?.impression_url);
113
- }
114
- }
115
- renderADMProductAd() {
116
- const ad = this.adClientResponseItem?.admAd;
117
- if (!ad) {
118
- return;
119
- }
120
- return (index.h("a", { class: 'searchcraft-base-ad', href: ad.click_url }, ad.image_url && (index.h("div", { class: 'searchcraft-base-ad-image-wrapper' }, index.h("img", { alt: ad.term, src: ad.image_url, class: 'searchcraft-base-ad-image' }))), index.h("div", { class: 'searchcraft-base-ad-info-wrapper' }, index.h("p", { class: 'searchcraft-base-ad-title' }, ad.term), index.h("p", { class: 'searchcraft-base-ad-subtitle' }, ad.price))));
121
- }
122
- renderADMTextAd() {
123
- const ad = this.adClientResponseItem?.admAd;
124
- if (!ad) {
125
- return;
126
- }
127
- return (index.h("a", { class: 'searchcraft-base-ad', href: ad.click_url }, ad.image_url && (index.h("div", { class: 'searchcraft-base-ad-image-wrapper' }, index.h("img", { alt: ad.term, src: ad.image_url, class: 'searchcraft-base-ad-image' }))), index.h("div", { class: 'searchcraft-base-ad-info-wrapper' }, index.h("p", { class: 'searchcraft-base-ad-title' }, ad.term))));
128
- }
129
- renderNativoAd() { }
130
- renderAdPlaceholder() {
131
- return index.h("p", null, "Ad placeholder");
132
- // return;
133
- }
134
- render() {
135
- if (!this.adClientResponseItem) {
136
- return this.renderAdPlaceholder();
137
- }
138
- switch (this.adClientResponseItem.type) {
139
- case 'adm-product-ad':
140
- return this.renderADMProductAd();
141
- case 'adm-text-ad':
142
- return this.renderADMTextAd();
143
- case 'nativo-ad':
144
- return this.renderNativoAd();
145
- }
146
- }
147
- };
148
-
149
- exports.searchcraft_base_search_result = SearchcraftBaseSearchResult;
150
- exports.searchcraft_base_search_result_ad = SearchcraftBaseSearchResultAd;
151
-
152
- //# sourceMappingURL=searchcraft-base-search-result_2.cjs.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"searchcraft-base-search-result.searchcraft-base-search-result-ad.entry.cjs.js","mappings":";;;;;;;;MAkBa,2BAA2B;;;;IAC9B,IAAI,CAAuC;IAC3C,oBAAoB,CAAmC;;;;IAIvD,eAAe,GAA4C,QAAQ,CAAC;;;;IAIpE,YAAY,CAAqD;;;;IAIjE,YAAY,GAA4C,QAAQ,CAAC;;;;IAIjE,SAAS,CAAqD;;;;IAI9D,cAAc,GAAqB,OAAO,CAAC;;;;IAI3C,YAAY,CAAqB;;;;IAIjC,gBAAgB,GAAG,CAAC,CAAC;IAEpB,YAAY,CAAqB;IACjC,eAAe,CAAqB;IACpC,WAAW,CAAqB;IAChC,aAAa,CAAqB;IAClC,WAAW,CAAqB;IAChC,UAAU,CAAqB;IAC/B,aAAa,CAAqB;IAClC,QAAQ,CAAqB;IAC7B,QAAQ,CAAqB;IAE9B,gBAAgB,GAAGA,oCAAmB,CAAC,QAAQ,EAAE,CAAC;IAE1D,iBAAiB;QACf,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAChD;KACF;IAED,qBAAqB,CAAC,QAAwB;QAC5C,IAAI,CAAC,YAAY,GAAGC,6CAAuC,CACzD,QAAQ,EACR,IAAI,CAAC,oBAAoB,EAAE,KAAK,CACjC,CAAC;QACF,IAAI,CAAC,eAAe,GAAGA,6CAAuC,CAC5D,QAAQ,EACR,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CACpC,CAAC;QACF,IAAI,CAAC,WAAW,GAAGA,6CAAuC,CACxD,QAAQ,EACR,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAChC,CAAC;QACF,IAAI,CAAC,aAAa,GAAGA,6CAAuC,CAC1D,QAAQ,EACR,IAAI,CAAC,oBAAoB,EAAE,aAAa,CACzC,CAAC;QACF,IAAI,CAAC,UAAU,GAAGA,6CAAuC,CACvD,QAAQ,EACR,IAAI,CAAC,oBAAoB,EAAE,UAAU,CACtC,CAAC;QACF,IAAI,CAAC,QAAQ,GAAGA,6CAAuC,CACrD,QAAQ,EACR,IAAI,CAAC,oBAAoB,EAAE,WAAW,CACvC,CAAC;QACF,IAAI,CAAC,aAAa,GAAGA,6CAAuC,CAC1D,QAAQ,EACR,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAClC,CAAC;KACH;IAEO,eAAe,GAAG;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,CAAC;QAEnE,IAAI,WAAW,EAAE;YACf,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAChD,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;YACrD,MAAM,mBAAmB,GACvB,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,MAAM,CAAC;YAEzD,WAAW,CAAC,aAAa,EAAE,gBAAgB,CAAC,kBAAkB,EAAE;gBAC9D,iBAAiB;gBACjB,mBAAmB;gBACnB,WAAW;aACZ,CAAC,CAAC;SACJ;KACF,CAAC;IAEM,WAAW,GAAG;QACpB,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI;gBACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aACtC;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;gBACrD,OAAO,EAAE,CAAC;aACX;SACF;QACD,OAAO,EAAE,CAAC;KACX,CAAC;IAEF,MAAM;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,KAClCC,iBACE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,KAAK,EAAC,iCAAiC,EACvC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,GACzB,CACH,CAAC;QAEF,MAAM,gBAAgB,IACpBA,QAACC,cAAQ,QACN,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,KAAK,MAAM,IAAI,cAAc,EAClED,iBAAK,KAAK,EAAC,kDAAkD,IAC1D,IAAI,CAAC,YAAY,KAChBA,gBACE,KAAK,EAAC,sCAAsC,EAC5C,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,IAExB,IAAI,CAAC,YAAY,CACf,CACN,EACA,IAAI,CAAC,eAAe,KACnBA,gBACE,KAAK,EAAC,yCAAyC,EAC/C,KAAK,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE,IAE3B,IAAI,CAAC,eAAe,CAClB,CACN,EACA,IAAI,CAAC,WAAW,KACfA,eACE,KAAK,EAAC,6CAA6C,EACnD,KAAK,EAAE,MAAM,CAAC,cAAc,IAAI,EAAE,IAEjC,IAAI,CAAC,WAAW,CACf,CACL,EAEA,IAAI,CAAC,aAAa,KACjBA,eACE,KAAK,EAAC,+CAA+C,EACrD,KAAK,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE,IAEnC,IAAI,CAAC,aAAa,CACjB,CACL,EACA,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,KACzDA,eACE,KAAK,EAAC,kCAAkC,EACxC,IAAI,EAAE,IAAI,CAAC,UAAU,EACrB,KAAK,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,EAC1B,MAAM,EAAE,IAAI,CAAC,YAAY,EACzB,GAAG,EAAE,IAAI,CAAC,SAAS,IAElB,IAAI,CAAC,WAAW,CACf,CACL,CACG,EACL,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,KAAK,OAAO,IAAI,cAAc,CAC1D,CACZ,CAAC;;QAGF,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,QACEA,eACE,KAAK,EAAC,qCAAqC,EAC3C,OAAO,EAAE,IAAI,CAAC,eAAe,EAC7B,IAAI,EAAE,IAAI,CAAC,aAAa,EACxB,GAAG,EAAE,IAAI,CAAC,YAAY,EACtB,KAAK,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE,EAC7B,QAAQ,EAAC,GAAG,EACZ,MAAM,EAAE,IAAI,CAAC,eAAe,IAE3B,gBAAgB,CACf,EACJ;SACH;;QAGD,QACEA,iBACE,KAAK,EAAC,qCAAqC,EAC3C,KAAK,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE,IAE5B,gBAAgB,CACb,EACN;KACH;;;MC5MU,6BAA6B;;;;IAChC,oBAAoB,CAAwB;IAEpD,iBAAiB;QACf,IAAI,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,cAAc,EAAE;YACpD,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;SACzD;KACF;IAED,kBAAkB;QAChB,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB,EAAE,KAAqB,CAAC;QAC5D,IAAI,CAAC,EAAE,EAAE;YACP,OAAO;SACR;QAED,QACEA,eAAG,KAAK,EAAC,qBAAqB,EAAC,IAAI,EAAE,EAAE,CAAC,SAAS,IAC9C,EAAE,CAAC,SAAS,KACXA,iBAAK,KAAK,EAAC,mCAAmC,IAC5CA,iBACE,GAAG,EAAE,EAAE,CAAC,IAAI,EACZ,GAAG,EAAE,EAAE,CAAC,SAAS,EACjB,KAAK,EAAC,2BAA2B,GACjC,CACE,CACP,EACDA,iBAAK,KAAK,EAAC,kCAAkC,IAC3CA,eAAG,KAAK,EAAC,2BAA2B,IAAE,EAAE,CAAC,IAAI,CAAK,EAClDA,eAAG,KAAK,EAAC,8BAA8B,IAAE,EAAE,CAAC,KAAK,CAAK,CAClD,CACJ,EACJ;KACH;IAED,eAAe;QACb,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB,EAAE,KAAkB,CAAC;QACzD,IAAI,CAAC,EAAE,EAAE;YACP,OAAO;SACR;QAED,QACEA,eAAG,KAAK,EAAC,qBAAqB,EAAC,IAAI,EAAE,EAAE,CAAC,SAAS,IAC9C,EAAE,CAAC,SAAS,KACXA,iBAAK,KAAK,EAAC,mCAAmC,IAC5CA,iBACE,GAAG,EAAE,EAAE,CAAC,IAAI,EACZ,GAAG,EAAE,EAAE,CAAC,SAAS,EACjB,KAAK,EAAC,2BAA2B,GACjC,CACE,CACP,EACDA,iBAAK,KAAK,EAAC,kCAAkC,IAC3CA,eAAG,KAAK,EAAC,2BAA2B,IAAE,EAAE,CAAC,IAAI,CAAK,CAC9C,CACJ,EACJ;KACH;IAED,cAAc,MAAK;IAEnB,mBAAmB;QACjB,OAAOA,oCAAqB,CAAC;;KAE9B;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC9B,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;SACnC;QAED,QAAQ,IAAI,CAAC,oBAAoB,CAAC,IAAI;YACpC,KAAK,gBAAgB;gBACnB,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACnC,KAAK,aAAa;gBAChB,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;YAChC,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;SAChC;KACF;;;;;;","names":["useSearchcraftStore","getDocumentValueFromSearchResultMapping","h","Fragment"],"sources":["src/components/searchcraft-base-search-result/searchcraft-base-search-result.tsx","src/components/searchcraft-base-search-result-ad/searchcraft-base-search-result-ad.tsx"],"sourcesContent":["import { useSearchcraftStore } from '@provider/store';\nimport type {\n SearchClientResponseItem,\n SearchDocument,\n} from '@searchcraft/core';\nimport { Component, Fragment, h, Prop, State } from '@stencil/core';\nimport { getDocumentValueFromSearchResultMapping } from '@utils';\nimport type { SearchResultMappings } from '@searchcraft/core';\n\n/**\n * This web component is designed to display detailed information for a single search result.\n * Once a query is submitted, the component formats and presents the result.\n * It is consumed within the `searchcraft-base-search-results` component.\n */\n@Component({\n tag: 'searchcraft-base-search-result',\n shadow: false,\n})\nexport class SearchcraftBaseSearchResult {\n @Prop() item: SearchClientResponseItem | undefined;\n @Prop() searchResultMappings: SearchResultMappings | undefined;\n /**\n * Where to open the link for the containing element.\n */\n @Prop() containerTarget: '_blank' | '_self' | '_top' | '_parent' = '_blank';\n /**\n * The relationship between the current document and the link for the containing element.\n */\n @Prop() containerRel: 'noreferrer' | 'noopener' | 'nofollow' | undefined;\n /**\n * Where to open the link for the button rendered when containerHref is not present.\n */\n @Prop() buttonTarget: '_blank' | '_self' | '_top' | '_parent' = '_blank';\n /**\n * The relationship between the current document and the link for the button rendered when containerHref is not present.\n */\n @Prop() buttonRel: 'noreferrer' | 'noopener' | 'nofollow' | undefined;\n /**\n * The placement of the image.\n */\n @Prop() imagePlacement: 'left' | 'right' = 'right';\n /**\n * A custom styles object.\n */\n @Prop() customStyles: string | undefined;\n /**\n * The position in the document. Used with the \"document_clicked\" measure event.\n */\n @Prop() documentPosition = 0;\n\n @State() titleContent: string | undefined;\n @State() subtitleContent: string | undefined;\n @State() bodyContent: string | undefined;\n @State() footerContent: string | undefined;\n @State() buttonLabel: string | undefined;\n @State() buttonHref: string | undefined;\n @State() containerHref: string | undefined;\n @State() imageSrc: string | undefined;\n @State() imageAlt: string | undefined;\n\n private searchcraftStore = useSearchcraftStore.getState();\n\n connectedCallback() {\n if (this.item) {\n this.mapValuesFromDocument(this.item.document);\n }\n }\n\n mapValuesFromDocument(document: SearchDocument) {\n this.titleContent = getDocumentValueFromSearchResultMapping(\n document,\n this.searchResultMappings?.title,\n );\n this.subtitleContent = getDocumentValueFromSearchResultMapping(\n document,\n this.searchResultMappings?.subtitle,\n );\n this.bodyContent = getDocumentValueFromSearchResultMapping(\n document,\n this.searchResultMappings?.body,\n );\n this.containerHref = getDocumentValueFromSearchResultMapping(\n document,\n this.searchResultMappings?.containerHref,\n );\n this.buttonHref = getDocumentValueFromSearchResultMapping(\n document,\n this.searchResultMappings?.buttonHref,\n );\n this.imageSrc = getDocumentValueFromSearchResultMapping(\n document,\n this.searchResultMappings?.imageSource,\n );\n this.footerContent = getDocumentValueFromSearchResultMapping(\n document,\n this.searchResultMappings?.footer,\n );\n }\n\n private handleLinkClick = () => {\n const searchcraft = this.searchcraftStore.getSearchcraftInstance();\n\n if (searchcraft) {\n const document_position = this.documentPosition;\n const search_term = this.searchcraftStore.searchTerm;\n const number_of_documents =\n this.searchcraftStore.searchClientResponseItems.length;\n\n searchcraft.measureClient?.sendMeasureEvent('document_clicked', {\n document_position,\n number_of_documents,\n search_term,\n });\n }\n };\n\n private parseStyles = (): Record<string, { [key: string]: string }> => {\n if (this.customStyles) {\n try {\n return JSON.parse(this.customStyles);\n } catch (error) {\n console.error('Error parsing custom styles:', error);\n return {};\n }\n }\n return {};\n };\n\n render() {\n const styles = this.parseStyles();\n const imageContainer = this.imageSrc && (\n <img\n alt={this.imageAlt}\n class='searchcraft-search-result-image'\n src={this.imageSrc}\n style={styles.image || {}}\n />\n );\n\n const contentContainer = (\n <Fragment>\n {this.imageSrc && this.imagePlacement === 'left' && imageContainer}\n <div class='searchcraft-base-search-result-content-container'>\n {this.titleContent && (\n <h2\n class='searchcraft-base-search-result-title'\n style={styles.title || {}}\n >\n {this.titleContent}\n </h2>\n )}\n {this.subtitleContent && (\n <h3\n class='searchcraft-base-search-result-subtitle'\n style={styles.subtitle || {}}\n >\n {this.subtitleContent}\n </h3>\n )}\n {this.bodyContent && (\n <p\n class='searchcraft-base-search-result-body-content'\n style={styles.primaryContent || {}}\n >\n {this.bodyContent}\n </p>\n )}\n\n {this.footerContent && (\n <p\n class='searchcraft-base-search-result-footer-content'\n style={styles.secondaryContent || {}}\n >\n {this.footerContent}\n </p>\n )}\n {this.buttonHref && !this.containerHref && this.buttonLabel && (\n <a\n class='searchcraft-search-result-button'\n href={this.buttonHref}\n style={styles.button || {}}\n target={this.buttonTarget}\n rel={this.buttonRel}\n >\n {this.buttonLabel}\n </a>\n )}\n </div>\n {this.imageSrc && this.imagePlacement === 'right' && imageContainer}\n </Fragment>\n );\n\n /** Render as an anchor tag if the containerHref prop is present. */\n if (this.containerHref) {\n return (\n <a\n class='searchcraft-search-result-container'\n onClick={this.handleLinkClick}\n href={this.containerHref}\n rel={this.containerRel}\n style={styles.container || {}}\n tabindex='0'\n target={this.containerTarget}\n >\n {contentContainer}\n </a>\n );\n }\n\n /** Render as a div if no href prop. */\n return (\n <div\n class='searchcraft-search-result-container'\n style={styles.container || {}}\n >\n {contentContainer}\n </div>\n );\n }\n}\n","import type {\n AdClientResponseItem,\n ADMProductAd,\n ADMTextAd,\n} from '@searchcraft/core';\nimport { Component, h, Prop } from '@stencil/core';\n\n/**\n * A single list item rendered in a searchcraft-popover-list-view.\n */\n@Component({\n tag: 'searchcraft-base-search-result-ad',\n shadow: false,\n})\nexport class SearchcraftBaseSearchResultAd {\n @Prop() adClientResponseItem?: AdClientResponseItem;\n\n connectedCallback() {\n if (this.adClientResponseItem?.admAd?.impression_url) {\n fetch(this.adClientResponseItem?.admAd?.impression_url);\n }\n }\n\n renderADMProductAd() {\n const ad = this.adClientResponseItem?.admAd as ADMProductAd;\n if (!ad) {\n return;\n }\n\n return (\n <a class='searchcraft-base-ad' href={ad.click_url}>\n {ad.image_url && (\n <div class='searchcraft-base-ad-image-wrapper'>\n <img\n alt={ad.term}\n src={ad.image_url}\n class='searchcraft-base-ad-image'\n />\n </div>\n )}\n <div class='searchcraft-base-ad-info-wrapper'>\n <p class='searchcraft-base-ad-title'>{ad.term}</p>\n <p class='searchcraft-base-ad-subtitle'>{ad.price}</p>\n </div>\n </a>\n );\n }\n\n renderADMTextAd() {\n const ad = this.adClientResponseItem?.admAd as ADMTextAd;\n if (!ad) {\n return;\n }\n\n return (\n <a class='searchcraft-base-ad' href={ad.click_url}>\n {ad.image_url && (\n <div class='searchcraft-base-ad-image-wrapper'>\n <img\n alt={ad.term}\n src={ad.image_url}\n class='searchcraft-base-ad-image'\n />\n </div>\n )}\n <div class='searchcraft-base-ad-info-wrapper'>\n <p class='searchcraft-base-ad-title'>{ad.term}</p>\n </div>\n </a>\n );\n }\n\n renderNativoAd() {}\n\n renderAdPlaceholder() {\n return <p>Ad placeholder</p>;\n // return;\n }\n\n render() {\n if (!this.adClientResponseItem) {\n return this.renderAdPlaceholder();\n }\n\n switch (this.adClientResponseItem.type) {\n case 'adm-product-ad':\n return this.renderADMProductAd();\n case 'adm-text-ad':\n return this.renderADMTextAd();\n case 'nativo-ad':\n return this.renderNativoAd();\n }\n }\n}\n"],"version":3}
@@ -1,97 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-a81df4f0.js');
6
- const SearchcraftStore = require('./SearchcraftStore-75fac5e0.js');
7
- const styles = require('./styles-7b2d06f2.js');
8
-
9
- const SearchcraftBaseSearchResults = class {
10
- constructor(hostRef) {
11
- index.registerInstance(this, hostRef);
12
- this.noResults = index.createEvent(this, "noResults", 7);
13
- }
14
- /**
15
- * A custom styles object.
16
- */
17
- customStylesForResults;
18
- /**
19
- * Formats the content rendered for each result.
20
- */
21
- searchResultMappings;
22
- /**
23
- * The placement of the image for each result.
24
- */
25
- resultImagePlacement = 'right';
26
- /**
27
- * The label for the button rendered when containerHref is not present for each result.
28
- */
29
- buttonLabel;
30
- /**
31
- * Where to open the link for the button rendered when containerHref is not present for each result.
32
- */
33
- buttonTarget = '_blank';
34
- /**
35
- * The relationship between the current document and the link for the button rendered when containerHref is not present for each result.
36
- */
37
- buttonRel;
38
- /**
39
- * Where to open the link for the containing element for each result.
40
- */
41
- containerTarget = '_blank';
42
- /**
43
- * The relationship between the current document and the link for the containing element for each result.
44
- */
45
- containerRel;
46
- /**
47
- * When no results are returned.
48
- */
49
- noResults;
50
- searchTerm = '';
51
- searchClientResponseItems = [];
52
- adClientResponseItems = [];
53
- searchResultsPerPage;
54
- searchResultsPage;
55
- unsubscribe = () => { };
56
- componentDidLoad() {
57
- this.unsubscribe = SearchcraftStore.useSearchcraftStore.subscribe((state) => this.handleStateChange(state));
58
- const currentState = SearchcraftStore.useSearchcraftStore.getState();
59
- this.searchClientResponseItems = currentState.searchClientResponseItems;
60
- this.searchTerm = currentState.searchTerm;
61
- }
62
- disconnectedCallback() {
63
- this.unsubscribe?.();
64
- }
65
- handleStateChange(state) {
66
- this.searchClientResponseItems = [...state.searchClientResponseItems];
67
- this.adClientResponseItems = [...state.adClientResponseItems];
68
- this.searchTerm = state.searchTerm;
69
- this.searchResultsPage = state.searchResultsPage;
70
- this.searchResultsPerPage = state.searchResultsPerPage;
71
- }
72
- render() {
73
- if (this.searchTerm.trim() === '') {
74
- return (index.h("div", { class: 'searchcraft-search-results-empty-state-container' }, index.h("slot", { name: 'empty-search' })));
75
- }
76
- if (this.searchClientResponseItems.length === 0) {
77
- return;
78
- }
79
- if (this.searchTerm.length > 0 &&
80
- this.searchClientResponseItems.length === 0) {
81
- this.noResults?.emit();
82
- }
83
- let serializedStyles = '';
84
- if (this.customStylesForResults) {
85
- serializedStyles =
86
- typeof this.customStylesForResults === 'string'
87
- ? this.customStylesForResults
88
- : styles.serializeStyles(this.customStylesForResults);
89
- }
90
- return (index.h("div", { class: 'searchcraft-search-results-container' }, this.adClientResponseItems?.map((item) => (index.h("searchcraft-base-search-result-ad", { adClientResponseItem: item, key: item.adId }))), this.searchClientResponseItems?.map((item, index$1) => (index.h("searchcraft-base-search-result", { key: item.id, "custom-styles": serializedStyles, "image-placement": this.resultImagePlacement, "container-rel": this.containerRel, "container-target": this.containerTarget, "button-label": this.buttonLabel || 'View more', "button-rel": this.buttonRel, "button-target": this.buttonTarget, "document-position": this.searchResultsPerPage * this.searchResultsPage + index$1, searchResultMappings: this.searchResultMappings, item: item }))), this.searchTerm.length > 0 &&
91
- this.searchClientResponseItems.length === 0 && (index.h("div", { class: 'searchcraft-search-results-error-message-container' }, index.h("searchcraft-error-message", { "error-message": `No search results found for "${this.searchTerm}" query` })))));
92
- }
93
- };
94
-
95
- exports.searchcraft_base_search_results = SearchcraftBaseSearchResults;
96
-
97
- //# sourceMappingURL=searchcraft-base-search-results.cjs.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"searchcraft-base-search-results.entry.cjs.js","mappings":"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","names":["useSearchcraftStore","h","serializeStyles","index"],"sources":["src/components/searchcraft-base-search-results/searchcraft-base-search-results.tsx"],"sourcesContent":["import {\n Component,\n h,\n Event,\n Prop,\n State,\n type EventEmitter,\n} from '@stencil/core';\n\nimport type {\n AdClientResponseItem,\n SearchClientResponseItem,\n} from '@searchcraft/core';\n\nimport { type SearchcraftState, useSearchcraftStore } from '@provider/store';\n\nimport { serializeStyles } from '@utils';\nimport type { SearchResultMappings } from '@searchcraft/core';\n\n/**\n * This web component is responsible for displaying the results of a search query.\n * Once a query is submitted, the component formats and presents an ordered list of the results.\n *\n * ## Usage\n * ```html\n * <!-- index.html -->\n * <searchcraft-base-search-results\n * ad-interval=\"4\"\n * place-ad-at-start=\"false\"\n * result-image-placement=\"right\"\n * />\n * ```\n *\n * ```js\n * // index.js\n * const baseSearchResults = document.querySelector('searchcraft-base-search-results');\n *\n * baseSearchResults.searchResultMappings = containerHref: {\n * fieldNames: [\n * {\n * fieldName: 'canonical_link',\n * dataType: 'text',\n * },\n * ],\n * };\n *\n * baseSearchResults.addEventListener('noResults', () => {\n * console.log('No search results found');\n * });\n * ```\n */\n@Component({\n tag: 'searchcraft-base-search-results',\n shadow: false,\n})\nexport class SearchcraftBaseSearchResults {\n /**\n * A custom styles object.\n */\n @Prop() customStylesForResults:\n | string\n | Record<string, Record<string, string>>\n | undefined;\n /**\n * Formats the content rendered for each result.\n */\n @Prop() searchResultMappings: SearchResultMappings | undefined;\n /**\n * The placement of the image for each result.\n */\n @Prop() resultImagePlacement: 'left' | 'right' = 'right';\n /**\n * The label for the button rendered when containerHref is not present for each result.\n */\n @Prop() buttonLabel: string | undefined;\n /**\n * Where to open the link for the button rendered when containerHref is not present for each result.\n */\n @Prop() buttonTarget: '_blank' | '_self' | '_top' | '_parent' = '_blank';\n /**\n * The relationship between the current document and the link for the button rendered when containerHref is not present for each result.\n */\n @Prop() buttonRel: 'noreferrer' | 'noopener' | 'nofollow' | undefined;\n /**\n * Where to open the link for the containing element for each result.\n */\n @Prop() containerTarget: '_blank' | '_self' | '_top' | '_parent' = '_blank';\n /**\n * The relationship between the current document and the link for the containing element for each result.\n */\n @Prop() containerRel: 'noreferrer' | 'noopener' | 'nofollow' | undefined;\n\n /**\n * When no results are returned.\n */\n @Event() noResults?: EventEmitter<void>;\n\n @State() searchTerm = '';\n @State() searchClientResponseItems: SearchClientResponseItem[] = [];\n @State() adClientResponseItems: AdClientResponseItem[] = [];\n @State() searchResultsPerPage;\n @State() searchResultsPage;\n\n private unsubscribe: () => void = () => {};\n\n componentDidLoad() {\n this.unsubscribe = useSearchcraftStore.subscribe((state) =>\n this.handleStateChange(state),\n );\n const currentState = useSearchcraftStore.getState();\n this.searchClientResponseItems = currentState.searchClientResponseItems;\n this.searchTerm = currentState.searchTerm;\n }\n\n disconnectedCallback() {\n this.unsubscribe?.();\n }\n\n handleStateChange(state: SearchcraftState) {\n this.searchClientResponseItems = [...state.searchClientResponseItems];\n this.adClientResponseItems = [...state.adClientResponseItems];\n this.searchTerm = state.searchTerm;\n this.searchResultsPage = state.searchResultsPage;\n this.searchResultsPerPage = state.searchResultsPerPage;\n }\n\n render() {\n if (this.searchTerm.trim() === '') {\n return (\n <div class='searchcraft-search-results-empty-state-container'>\n <slot name='empty-search' />\n </div>\n );\n }\n\n if (this.searchClientResponseItems.length === 0) {\n return;\n }\n\n if (\n this.searchTerm.length > 0 &&\n this.searchClientResponseItems.length === 0\n ) {\n this.noResults?.emit();\n }\n\n let serializedStyles = '';\n if (this.customStylesForResults) {\n serializedStyles =\n typeof this.customStylesForResults === 'string'\n ? this.customStylesForResults\n : serializeStyles(this.customStylesForResults);\n }\n\n return (\n <div class='searchcraft-search-results-container'>\n {this.adClientResponseItems?.map((item) => (\n <searchcraft-base-search-result-ad\n adClientResponseItem={item}\n key={item.adId}\n />\n ))}\n {this.searchClientResponseItems?.map((item, index) => (\n <searchcraft-base-search-result\n key={item.id}\n custom-styles={serializedStyles}\n image-placement={this.resultImagePlacement}\n container-rel={this.containerRel}\n container-target={this.containerTarget}\n button-label={this.buttonLabel || 'View more'}\n button-rel={this.buttonRel}\n button-target={this.buttonTarget}\n document-position={\n this.searchResultsPerPage * this.searchResultsPage + index\n }\n searchResultMappings={this.searchResultMappings}\n item={item}\n />\n ))}\n {this.searchTerm.length > 0 &&\n this.searchClientResponseItems.length === 0 && (\n <div class='searchcraft-search-results-error-message-container'>\n <searchcraft-error-message\n error-message={`No search results found for \"${this.searchTerm}\" query`}\n />\n </div>\n )}\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,88 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-a81df4f0.js');
6
- const index$1 = require('./index-5b0b9d4c.js');
7
-
8
- const SearchcraftButton = class {
9
- constructor(hostRef) {
10
- index.registerInstance(this, hostRef);
11
- this.buttonClick = index.createEvent(this, "buttonClick", 7);
12
- }
13
- /**
14
- * Controls the visual representation of the button.
15
- */
16
- hierarchy = 'primary';
17
- /**
18
- * Whether the button is disabled.
19
- */
20
- disabled = false;
21
- /**
22
- * The icon element.
23
- */
24
- icon;
25
- /**
26
- * Should the button only display an icon.
27
- */
28
- iconOnly = false;
29
- /**
30
- * The position of the icon.
31
- */
32
- iconPosition = 'left';
33
- /**
34
- * The label for the button.
35
- */
36
- label = 'Search';
37
- /**
38
- * The type of the button.
39
- */
40
- type = 'button';
41
- /**
42
- * The event fired when the button is clicked.
43
- */
44
- buttonClick;
45
- handleButtonClick = () => {
46
- this.buttonClick.emit();
47
- };
48
- render() {
49
- return (index.h("button", { key: 'fc258e1c7aab54611c781789eef7facc074f02c3', class: index$1.classNames('searchcraft-button', {
50
- 'searchcraft-button-primary': this.hierarchy === 'primary',
51
- 'searchcraft-button-tertiary': this.hierarchy === 'tertiary',
52
- 'searchcraft-button-disabled': this.disabled,
53
- }), disabled: this.disabled, onClick: this.handleButtonClick, type: this.type }, this.iconOnly ? (this.icon) : (index.h(index.Fragment, null, this.iconPosition === 'left' && this.icon, index.h("span", null, this.label), this.iconPosition === 'right' && this.icon))));
54
- }
55
- };
56
-
57
- const SearchcraftErrorMessage = class {
58
- constructor(hostRef) {
59
- index.registerInstance(this, hostRef);
60
- }
61
- /**
62
- * The error message.
63
- */
64
- errorMessage;
65
- render() {
66
- return (index.h("p", { key: 'dc97bb66da10a98fca027f928deaaf80d945417b', class: 'searchcraft-error-message' }, this.errorMessage || 'Search term is required.'));
67
- }
68
- };
69
-
70
- const SearchcraftInputLabel = class {
71
- constructor(hostRef) {
72
- index.registerInstance(this, hostRef);
73
- }
74
- /**
75
- * The classname applied to the label element.
76
- */
77
- inputLabelClassName = '';
78
- label = '';
79
- render() {
80
- return (index.h("label", { key: '528396d4be9f22ff0c02d95d8bcea056576aed41', class: index$1.classNames('searchcraft-input-label', this.inputLabelClassName), htmlFor: 'searchcraft-input-id' }, this.label));
81
- }
82
- };
83
-
84
- exports.searchcraft_button = SearchcraftButton;
85
- exports.searchcraft_error_message = SearchcraftErrorMessage;
86
- exports.searchcraft_input_label = SearchcraftInputLabel;
87
-
88
- //# sourceMappingURL=searchcraft-button_3.cjs.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"searchcraft-button.searchcraft-error-message.searchcraft-input-label.entry.cjs.js","mappings":";;;;;;;MAmBa,iBAAiB;;;;;;;;IAIpB,SAAS,GAA4B,SAAS,CAAC;;;;IAI/C,QAAQ,GAAa,KAAK,CAAC;;;;IAI3B,IAAI,CAAW;;;;IAIf,QAAQ,GAAa,KAAK,CAAC;;;;IAI3B,YAAY,GAAsB,MAAM,CAAC;;;;IAIzC,KAAK,GAAG,QAAQ,CAAC;;;;IAIjB,IAAI,GAAmC,QAAQ,CAAC;;;;IAI/C,WAAW,CAAsB;IAElC,iBAAiB,GAAG;QAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;KACzB,CAAC;IAEF,MAAM;QACJ,QACEA,qEACE,KAAK,EAAEC,kBAAU,CAAC,oBAAoB,EAAE;gBACtC,4BAA4B,EAAE,IAAI,CAAC,SAAS,KAAK,SAAS;gBAC1D,6BAA6B,EAAE,IAAI,CAAC,SAAS,KAAK,UAAU;gBAC5D,6BAA6B,EAAE,IAAI,CAAC,QAAQ;aAC7C,CAAC,EACF,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAC/B,IAAI,EAAE,IAAI,CAAC,IAAI,IAEd,IAAI,CAAC,QAAQ,IACZ,IAAI,CAAC,IAAI,KAETD,QAACE,cAAQ,QACN,IAAI,CAAC,YAAY,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAC1CF,sBAAO,IAAI,CAAC,KAAK,CAAQ,EACxB,IAAI,CAAC,YAAY,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,CAClC,CACZ,CACM,EACT;KACH;;;MCjEU,uBAAuB;;;;;;;IAI1B,YAAY,CAAU;IAE9B,MAAM;QACJ,QACEA,gEAAG,KAAK,EAAC,2BAA2B,IACjC,IAAI,CAAC,YAAY,IAAI,0BAA0B,CAC9C,EACJ;KACH;;;MCXU,qBAAqB;;;;;;;IAIxB,mBAAmB,GAAI,EAAE,CAAC;IAC1B,KAAK,GAAG,EAAE,CAAC;IAEnB,MAAM;QACJ,QACEA,oEACE,KAAK,EAAEC,kBAAU,CAAC,yBAAyB,EAAE,IAAI,CAAC,mBAAmB,CAAC,EACtE,OAAO,EAAC,sBAAsB,IAE7B,IAAI,CAAC,KAAK,CACL,EACR;KACH;;;;;;;","names":["h","classNames","Fragment"],"sources":["src/components/searchcraft-button/searchcraft-button.tsx","src/components/searchcraft-error-message/searchcraft-error-message.tsx","src/components/searchcraft-input-label/searchcraft-input-label.tsx"],"sourcesContent":["import {\n Component,\n Event,\n type EventEmitter,\n Prop,\n h,\n Fragment,\n} from '@stencil/core';\nimport classNames from 'classnames';\n\n/**\n * This web component represents a button to be consumed within the `search-input-form` component.\n * It provides a clear, interactive way for users to submit search queries or trigger actions in a search interface.\n * It is consumed within the `searchcraft-input-form` component.\n */\n@Component({\n tag: 'searchcraft-button',\n shadow: false,\n})\nexport class SearchcraftButton {\n /**\n * Controls the visual representation of the button.\n */\n @Prop() hierarchy?: 'primary' | 'tertiary' = 'primary';\n /**\n * Whether the button is disabled.\n */\n @Prop() disabled?: boolean = false;\n /**\n * The icon element.\n */\n @Prop() icon?: Element;\n /**\n * Should the button only display an icon.\n */\n @Prop() iconOnly?: boolean = false;\n /**\n * The position of the icon.\n */\n @Prop() iconPosition?: 'left' | 'right' = 'left';\n /**\n * The label for the button.\n */\n @Prop() label = 'Search';\n /**\n * The type of the button.\n */\n @Prop() type?: 'submit' | 'reset' | 'button' = 'button';\n /**\n * The event fired when the button is clicked.\n */\n @Event() buttonClick!: EventEmitter<void>;\n\n private handleButtonClick = () => {\n this.buttonClick.emit();\n };\n\n render() {\n return (\n <button\n class={classNames('searchcraft-button', {\n 'searchcraft-button-primary': this.hierarchy === 'primary',\n 'searchcraft-button-tertiary': this.hierarchy === 'tertiary',\n 'searchcraft-button-disabled': this.disabled,\n })}\n disabled={this.disabled}\n onClick={this.handleButtonClick}\n type={this.type}\n >\n {this.iconOnly ? (\n this.icon\n ) : (\n <Fragment>\n {this.iconPosition === 'left' && this.icon}\n <span>{this.label}</span>\n {this.iconPosition === 'right' && this.icon}\n </Fragment>\n )}\n </button>\n );\n }\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n/**\n * 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.\n *\n * ## Usage\n * ```html\n * <!-- index.html -->\n * <searchcraft-error-message error-message=\"No search results found for query\" />\n * ```\n */\n@Component({\n tag: 'searchcraft-error-message',\n shadow: false,\n})\nexport class SearchcraftErrorMessage {\n /**\n * The error message.\n */\n @Prop() errorMessage?: string;\n\n render() {\n return (\n <p class='searchcraft-error-message'>\n {this.errorMessage || 'Search term is required.'}\n </p>\n );\n }\n}\n","import { Component, Prop, h } from '@stencil/core';\nimport classNames from 'classnames';\n\n/**\n * This web component serves as the input label for the searchcraft-input-form component.\n *\n * ## Usage\n * ```html\n * <!-- index.html -->\n * <searchcraft-input-label label=\"Search\" />\n * ```\n */\n@Component({\n tag: 'searchcraft-input-label',\n shadow: false,\n})\nexport class SearchcraftInputLabel {\n /**\n * The classname applied to the label element.\n */\n @Prop() inputLabelClassName? = '';\n @Prop() label = '';\n\n render() {\n return (\n <label\n class={classNames('searchcraft-input-label', this.inputLabelClassName)}\n htmlFor='searchcraft-input-id'\n >\n {this.label}\n </label>\n );\n }\n}\n"],"version":3}