@searchcraft/javascript-sdk 0.7.0 → 0.7.2

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 (263) hide show
  1. package/README.md +7 -1
  2. package/dist/cjs/{index-d4b4a45e.js → index-a81df4f0.js} +29 -113
  3. package/dist/{components/p-6cafd48d.js.map → cjs/index-a81df4f0.js.map} +1 -1
  4. package/dist/cjs/index.cjs.js +1 -1
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/searchcraft-base-search-result.cjs.entry.js +91 -44
  7. package/dist/cjs/searchcraft-base-search-result.cjs.entry.js.map +1 -1
  8. package/dist/cjs/searchcraft-base-search-results.cjs.entry.js +74 -50
  9. package/dist/cjs/searchcraft-base-search-results.cjs.entry.js.map +1 -1
  10. package/dist/cjs/searchcraft-button_3.cjs.entry.js +37 -36
  11. package/dist/cjs/searchcraft-button_3.cjs.entry.js.map +1 -1
  12. package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js +141 -119
  13. package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js.map +1 -1
  14. package/dist/cjs/searchcraft-filter-panel.cjs.entry.js +11 -14
  15. package/dist/cjs/searchcraft-filter-panel.cjs.entry.js.map +1 -1
  16. package/dist/cjs/searchcraft-input-form_2.cjs.entry.js +127 -92
  17. package/dist/cjs/searchcraft-input-form_2.cjs.entry.js.map +1 -1
  18. package/dist/cjs/searchcraft-javascript-sdk.cjs.js +2 -2
  19. package/dist/cjs/searchcraft-popover-button.cjs.entry.js +3 -7
  20. package/dist/cjs/searchcraft-popover-button.cjs.entry.js.map +1 -1
  21. package/dist/cjs/searchcraft-popover-form.cjs.entry.js +81 -75
  22. package/dist/cjs/searchcraft-popover-form.cjs.entry.js.map +1 -1
  23. package/dist/cjs/searchcraft-popover-list-item.cjs.entry.js +29 -6
  24. package/dist/cjs/searchcraft-popover-list-item.cjs.entry.js.map +1 -1
  25. package/dist/cjs/searchcraft-results-info.cjs.entry.js +9 -13
  26. package/dist/cjs/searchcraft-results-info.cjs.entry.js.map +1 -1
  27. package/dist/cjs/searchcraft-theme.cjs.entry.js +38 -0
  28. package/dist/cjs/searchcraft-theme.cjs.entry.js.map +1 -0
  29. package/dist/cjs/{store-abe47006.js → store-f6ba3dfb.js} +26 -10
  30. package/dist/cjs/{store-abe47006.js.map → store-f6ba3dfb.js.map} +1 -1
  31. package/dist/collection/collection-manifest.json +1 -0
  32. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js +102 -62
  33. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js.map +1 -1
  34. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js +77 -61
  35. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js.map +1 -1
  36. package/dist/collection/components/searchcraft-button/searchcraft-button.js +26 -30
  37. package/dist/collection/components/searchcraft-button/searchcraft-button.js.map +1 -1
  38. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js +6 -12
  39. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js.map +1 -1
  40. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js +59 -51
  41. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js.map +1 -1
  42. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js +9 -20
  43. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js.map +1 -1
  44. package/dist/collection/components/searchcraft-input-form/searchcraft-input-form.js +109 -87
  45. package/dist/collection/components/searchcraft-input-form/searchcraft-input-form.js.map +1 -1
  46. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js +10 -20
  47. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js.map +1 -1
  48. package/dist/collection/components/searchcraft-popover-button/searchcraft-popover-button.js +1 -11
  49. package/dist/collection/components/searchcraft-popover-button/searchcraft-popover-button.js.map +1 -1
  50. package/dist/collection/components/searchcraft-popover-form/searchcraft-popover-form.js +81 -82
  51. package/dist/collection/components/searchcraft-popover-form/searchcraft-popover-form.js.map +1 -1
  52. package/dist/collection/components/searchcraft-popover-list-item/searchcraft-popover-list-item.js +35 -17
  53. package/dist/collection/components/searchcraft-popover-list-item/searchcraft-popover-list-item.js.map +1 -1
  54. package/dist/collection/components/searchcraft-popover-list-view/searchcraft-popover-list-view.js +17 -19
  55. package/dist/collection/components/searchcraft-popover-list-view/searchcraft-popover-list-view.js.map +1 -1
  56. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js +7 -19
  57. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js.map +1 -1
  58. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js +57 -65
  59. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js.map +1 -1
  60. package/dist/collection/components/searchcraft-theme/searchcraft-theme.js +37 -0
  61. package/dist/collection/components/searchcraft-theme/searchcraft-theme.js.map +1 -0
  62. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js +23 -26
  63. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js.map +1 -1
  64. package/dist/collection/index.js.map +1 -1
  65. package/dist/collection/provider/store.js +25 -9
  66. package/dist/collection/provider/store.js.map +1 -1
  67. package/dist/collection/utils/facets.js +5 -3
  68. package/dist/collection/utils/facets.js.map +1 -1
  69. package/dist/components/index.js +4 -2
  70. package/dist/components/index.js.map +1 -1
  71. package/dist/components/p-0ef4ab33.js +66 -0
  72. package/dist/components/p-0ef4ab33.js.map +1 -0
  73. package/dist/components/p-1234974c.js +72 -0
  74. package/dist/components/p-1234974c.js.map +1 -0
  75. package/dist/components/p-4b92ae26.js +109 -0
  76. package/dist/components/p-4b92ae26.js.map +1 -0
  77. package/dist/components/{p-e1cf5f9d.js → p-506cdac1.js} +18 -14
  78. package/dist/components/p-506cdac1.js.map +1 -0
  79. package/dist/components/p-521fe971.js +60 -0
  80. package/dist/components/p-521fe971.js.map +1 -0
  81. package/dist/components/{p-6cafd48d.js → p-5365011f.js} +30 -123
  82. package/dist/components/p-5365011f.js.map +1 -0
  83. package/dist/components/p-54998882.js +285 -0
  84. package/dist/components/p-54998882.js.map +1 -0
  85. package/dist/{esm/store-712f0586.js → components/p-936e2ed4.js} +26 -10
  86. package/dist/components/{p-01dc5b3b.js.map → p-936e2ed4.js.map} +1 -1
  87. package/dist/components/p-960ddc89.js +284 -0
  88. package/dist/components/p-960ddc89.js.map +1 -0
  89. package/dist/components/p-a75ef832.js +34 -0
  90. package/dist/components/p-a75ef832.js.map +1 -0
  91. package/dist/components/p-b4a8fcbe.js +144 -0
  92. package/dist/components/p-b4a8fcbe.js.map +1 -0
  93. package/dist/components/p-ca881e5c.js +37 -0
  94. package/dist/components/p-ca881e5c.js.map +1 -0
  95. package/dist/components/searchcraft-base-search-result.js +1 -1
  96. package/dist/components/searchcraft-base-search-results.js +76 -52
  97. package/dist/components/searchcraft-base-search-results.js.map +1 -1
  98. package/dist/components/searchcraft-button.js +1 -1
  99. package/dist/components/searchcraft-error-message.js +1 -1
  100. package/dist/components/searchcraft-facet-list.js +1 -1
  101. package/dist/components/searchcraft-filter-panel.js +14 -17
  102. package/dist/components/searchcraft-filter-panel.js.map +1 -1
  103. package/dist/components/searchcraft-input-form.js +1 -1
  104. package/dist/components/searchcraft-input-label.js +1 -1
  105. package/dist/components/searchcraft-popover-button.js +3 -7
  106. package/dist/components/searchcraft-popover-button.js.map +1 -1
  107. package/dist/components/searchcraft-popover-form.js +87 -81
  108. package/dist/components/searchcraft-popover-form.js.map +1 -1
  109. package/dist/components/searchcraft-popover-list-item.js +1 -1
  110. package/dist/components/searchcraft-popover-list-view.js +1 -1
  111. package/dist/components/searchcraft-results-info.js +9 -13
  112. package/dist/components/searchcraft-results-info.js.map +1 -1
  113. package/dist/components/searchcraft-slider.js +1 -1
  114. package/dist/components/searchcraft-theme.d.ts +11 -0
  115. package/dist/components/searchcraft-theme.js +51 -0
  116. package/dist/components/searchcraft-theme.js.map +1 -0
  117. package/dist/components/searchcraft-toggle-button.js +1 -1
  118. package/dist/esm/{index-56b713de.js → index-3608c57d.js} +29 -113
  119. package/dist/esm/index-3608c57d.js.map +1 -0
  120. package/dist/esm/index.js +1 -1
  121. package/dist/esm/loader.js +3 -3
  122. package/dist/esm/searchcraft-base-search-result.entry.js +91 -44
  123. package/dist/esm/searchcraft-base-search-result.entry.js.map +1 -1
  124. package/dist/esm/searchcraft-base-search-results.entry.js +74 -50
  125. package/dist/esm/searchcraft-base-search-results.entry.js.map +1 -1
  126. package/dist/esm/searchcraft-button_3.entry.js +37 -36
  127. package/dist/esm/searchcraft-button_3.entry.js.map +1 -1
  128. package/dist/esm/searchcraft-facet-list_3.entry.js +141 -119
  129. package/dist/esm/searchcraft-facet-list_3.entry.js.map +1 -1
  130. package/dist/esm/searchcraft-filter-panel.entry.js +11 -14
  131. package/dist/esm/searchcraft-filter-panel.entry.js.map +1 -1
  132. package/dist/esm/searchcraft-input-form_2.entry.js +127 -92
  133. package/dist/esm/searchcraft-input-form_2.entry.js.map +1 -1
  134. package/dist/esm/searchcraft-javascript-sdk.js +3 -3
  135. package/dist/esm/searchcraft-popover-button.entry.js +3 -7
  136. package/dist/esm/searchcraft-popover-button.entry.js.map +1 -1
  137. package/dist/esm/searchcraft-popover-form.entry.js +81 -75
  138. package/dist/esm/searchcraft-popover-form.entry.js.map +1 -1
  139. package/dist/esm/searchcraft-popover-list-item.entry.js +29 -6
  140. package/dist/esm/searchcraft-popover-list-item.entry.js.map +1 -1
  141. package/dist/esm/searchcraft-results-info.entry.js +9 -13
  142. package/dist/esm/searchcraft-results-info.entry.js.map +1 -1
  143. package/dist/esm/searchcraft-theme.entry.js +34 -0
  144. package/dist/esm/searchcraft-theme.entry.js.map +1 -0
  145. package/dist/{components/p-01dc5b3b.js → esm/store-aa071d9c.js} +26 -10
  146. package/dist/esm/{store-712f0586.js.map → store-aa071d9c.js.map} +1 -1
  147. package/dist/searchcraft-javascript-sdk/index.esm.js +1 -1
  148. package/dist/searchcraft-javascript-sdk/p-109ab0e0.entry.js +2 -0
  149. package/dist/searchcraft-javascript-sdk/p-109ab0e0.entry.js.map +1 -0
  150. package/dist/searchcraft-javascript-sdk/p-26f5263d.entry.js +2 -0
  151. package/dist/searchcraft-javascript-sdk/p-26f5263d.entry.js.map +1 -0
  152. package/dist/searchcraft-javascript-sdk/p-2ff7eb35.entry.js +2 -0
  153. package/dist/searchcraft-javascript-sdk/p-2ff7eb35.entry.js.map +1 -0
  154. package/dist/searchcraft-javascript-sdk/p-36f0532e.entry.js +2 -0
  155. package/dist/searchcraft-javascript-sdk/p-36f0532e.entry.js.map +1 -0
  156. package/dist/searchcraft-javascript-sdk/p-41b6bc5d.entry.js +2 -0
  157. package/dist/searchcraft-javascript-sdk/p-41b6bc5d.entry.js.map +1 -0
  158. package/dist/searchcraft-javascript-sdk/p-57eddb07.entry.js +2 -0
  159. package/dist/searchcraft-javascript-sdk/p-57eddb07.entry.js.map +1 -0
  160. package/dist/searchcraft-javascript-sdk/p-5d6fbee0.entry.js +2 -0
  161. package/dist/searchcraft-javascript-sdk/p-5d6fbee0.entry.js.map +1 -0
  162. package/dist/searchcraft-javascript-sdk/p-64c5a1d2.entry.js +2 -0
  163. package/dist/searchcraft-javascript-sdk/p-64c5a1d2.entry.js.map +1 -0
  164. package/dist/searchcraft-javascript-sdk/p-7e13c128.js +3 -0
  165. package/dist/searchcraft-javascript-sdk/p-7e13c128.js.map +1 -0
  166. package/dist/searchcraft-javascript-sdk/{p-01dc5b3b.js → p-936e2ed4.js} +2 -2
  167. package/dist/searchcraft-javascript-sdk/{p-01dc5b3b.js.map → p-936e2ed4.js.map} +1 -1
  168. package/dist/searchcraft-javascript-sdk/p-c7df8be6.entry.js +2 -0
  169. package/dist/searchcraft-javascript-sdk/p-c7df8be6.entry.js.map +1 -0
  170. package/dist/searchcraft-javascript-sdk/p-eb6058e8.entry.js +2 -0
  171. package/dist/searchcraft-javascript-sdk/p-eb6058e8.entry.js.map +1 -0
  172. package/dist/searchcraft-javascript-sdk/p-faaa4394.entry.js +2 -0
  173. package/dist/searchcraft-javascript-sdk/p-faaa4394.entry.js.map +1 -0
  174. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js +1 -1
  175. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js.map +1 -1
  176. package/dist/types/components/searchcraft-base-search-result/searchcraft-base-search-result.d.ts +1 -0
  177. package/dist/types/components/searchcraft-base-search-results/searchcraft-base-search-results.d.ts +2 -1
  178. package/dist/types/components/searchcraft-button/searchcraft-button.d.ts +1 -0
  179. package/dist/types/components/searchcraft-error-message/searchcraft-error-message.d.ts +1 -0
  180. package/dist/types/components/searchcraft-facet-list/searchcraft-facet-list.d.ts +2 -1
  181. package/dist/types/components/searchcraft-filter-panel/searchcraft-filter-panel.d.ts +1 -0
  182. package/dist/types/components/searchcraft-input-form/searchcraft-input-form.d.ts +7 -10
  183. package/dist/types/components/searchcraft-input-label/searchcraft-input-label.d.ts +2 -1
  184. package/dist/types/components/searchcraft-popover-button/searchcraft-popover-button.d.ts +1 -0
  185. package/dist/types/components/searchcraft-popover-form/searchcraft-popover-form.d.ts +2 -1
  186. package/dist/types/components/searchcraft-popover-list-item/searchcraft-popover-list-item.d.ts +2 -0
  187. package/dist/types/components/searchcraft-popover-list-view/searchcraft-popover-list-view.d.ts +1 -0
  188. package/dist/types/components/searchcraft-results-info/searchcraft-results-info.d.ts +1 -0
  189. package/dist/types/components/searchcraft-slider/searchcraft-slider.d.ts +2 -1
  190. package/dist/types/components/searchcraft-theme/searchcraft-theme.d.ts +15 -0
  191. package/dist/types/components/searchcraft-toggle-button/searchcraft-toggle-button.d.ts +2 -1
  192. package/dist/types/components.d.ts +53 -4
  193. package/dist/types/index.d.ts +2 -1
  194. package/dist/types/provider/store.d.ts +1 -0
  195. package/dist/types/types/_shared.types.d.ts +1 -0
  196. package/dist/types/types/index.d.ts +1 -0
  197. package/dist/types/types/raw.d.ts +4 -0
  198. package/dist/types/types/searchcraft-base-search-results.types.d.ts +1 -0
  199. package/dist/types/types/searchcraft-filter-panel.types.d.ts +1 -0
  200. package/dist/types/types/searchcraft-popover-form.types.d.ts +1 -0
  201. package/dist/types/utils/facets.d.ts +1 -0
  202. package/dist/types/utils/index.d.ts +1 -0
  203. package/dist/types/utils/styles.d.ts +1 -0
  204. package/dist/types/utils/units.d.ts +1 -0
  205. package/package.json +5 -4
  206. package/dist/cjs/index-d4b4a45e.js.map +0 -1
  207. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.module.css +0 -227
  208. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.module.css +0 -179
  209. package/dist/collection/components/searchcraft-button/searchcraft-button.module.css +0 -174
  210. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.module.css +0 -158
  211. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.module.css +0 -266
  212. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.module.css +0 -168
  213. package/dist/collection/components/searchcraft-input-form/searchcraft-input-form.module.css +0 -293
  214. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.module.css +0 -159
  215. package/dist/collection/components/searchcraft-popover-button/searchcraft-popover-button.module.css +0 -0
  216. package/dist/collection/components/searchcraft-popover-form/searchcraft-popover-form.module.css +0 -322
  217. package/dist/collection/components/searchcraft-popover-list-item/searchcraft-popover-list-item.module.css +0 -209
  218. package/dist/collection/components/searchcraft-popover-list-view/searchcraft-popover-list-view.module.css +0 -0
  219. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.module.css +0 -169
  220. package/dist/collection/components/searchcraft-slider/searchcraft-slider.module.css +0 -231
  221. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.module.css +0 -207
  222. package/dist/components/p-1ae87308.js +0 -43
  223. package/dist/components/p-1ae87308.js.map +0 -1
  224. package/dist/components/p-649654b5.js +0 -268
  225. package/dist/components/p-649654b5.js.map +0 -1
  226. package/dist/components/p-662cb490.js +0 -67
  227. package/dist/components/p-662cb490.js.map +0 -1
  228. package/dist/components/p-87d1611b.js +0 -97
  229. package/dist/components/p-87d1611b.js.map +0 -1
  230. package/dist/components/p-c273e43d.js +0 -40
  231. package/dist/components/p-c273e43d.js.map +0 -1
  232. package/dist/components/p-cc9f8c61.js +0 -109
  233. package/dist/components/p-cc9f8c61.js.map +0 -1
  234. package/dist/components/p-cf096782.js +0 -56
  235. package/dist/components/p-cf096782.js.map +0 -1
  236. package/dist/components/p-da5b92ef.js +0 -253
  237. package/dist/components/p-da5b92ef.js.map +0 -1
  238. package/dist/components/p-e1cf5f9d.js.map +0 -1
  239. package/dist/components/p-f5a06210.js +0 -34
  240. package/dist/components/p-f5a06210.js.map +0 -1
  241. package/dist/esm/index-56b713de.js.map +0 -1
  242. package/dist/searchcraft-javascript-sdk/p-117fcdd3.entry.js +0 -2
  243. package/dist/searchcraft-javascript-sdk/p-117fcdd3.entry.js.map +0 -1
  244. package/dist/searchcraft-javascript-sdk/p-129e6f2c.js +0 -3
  245. package/dist/searchcraft-javascript-sdk/p-129e6f2c.js.map +0 -1
  246. package/dist/searchcraft-javascript-sdk/p-27cb401c.entry.js +0 -2
  247. package/dist/searchcraft-javascript-sdk/p-27cb401c.entry.js.map +0 -1
  248. package/dist/searchcraft-javascript-sdk/p-4df4a29e.entry.js +0 -2
  249. package/dist/searchcraft-javascript-sdk/p-4df4a29e.entry.js.map +0 -1
  250. package/dist/searchcraft-javascript-sdk/p-54248dd8.entry.js +0 -2
  251. package/dist/searchcraft-javascript-sdk/p-54248dd8.entry.js.map +0 -1
  252. package/dist/searchcraft-javascript-sdk/p-69430dbf.entry.js +0 -2
  253. package/dist/searchcraft-javascript-sdk/p-69430dbf.entry.js.map +0 -1
  254. package/dist/searchcraft-javascript-sdk/p-a460755d.entry.js +0 -2
  255. package/dist/searchcraft-javascript-sdk/p-a460755d.entry.js.map +0 -1
  256. package/dist/searchcraft-javascript-sdk/p-bc2c4259.entry.js +0 -2
  257. package/dist/searchcraft-javascript-sdk/p-bc2c4259.entry.js.map +0 -1
  258. package/dist/searchcraft-javascript-sdk/p-caecdcda.entry.js +0 -2
  259. package/dist/searchcraft-javascript-sdk/p-caecdcda.entry.js.map +0 -1
  260. package/dist/searchcraft-javascript-sdk/p-f8129731.entry.js +0 -2
  261. package/dist/searchcraft-javascript-sdk/p-f8129731.entry.js.map +0 -1
  262. package/dist/searchcraft-javascript-sdk/p-f839b682.entry.js +0 -2
  263. package/dist/searchcraft-javascript-sdk/p-f839b682.entry.js.map +0 -1
@@ -0,0 +1,66 @@
1
+ import { p as proxyCustomElement, H, h } from './p-5365011f.js';
2
+ import { u as useSearchcraftStore } from './p-936e2ed4.js';
3
+
4
+ const SearchcraftPopoverListItem = /*@__PURE__*/ proxyCustomElement(class SearchcraftPopoverListItem extends H {
5
+ constructor() {
6
+ super();
7
+ this.__registerHost();
8
+ }
9
+ /** The result title */
10
+ titleContent;
11
+ /** The result subtitle */
12
+ subtitleContent;
13
+ /** The source of the image. If not included, no item will be rendered. */
14
+ imageSrc;
15
+ /** The image alt tag. */
16
+ imageAlt;
17
+ /** The link href */
18
+ href;
19
+ /** The document position relative to the search results (For Measure) */
20
+ documentPosition = 0;
21
+ componentDidLoad() { }
22
+ connectedCallback() { }
23
+ disconnectedCallback() { }
24
+ handleButtonClick() { }
25
+ handleLinkClick = () => {
26
+ const state = useSearchcraftStore.getState();
27
+ const searchcraft = state.getSearchcraftInstance();
28
+ if (searchcraft) {
29
+ const document_position = this.documentPosition;
30
+ const search_term = state.query;
31
+ const number_of_documents = state.searchResults?.data?.hits?.length || 0;
32
+ searchcraft.sendMeasureEvent('document_clicked', {
33
+ document_position,
34
+ number_of_documents,
35
+ search_term,
36
+ });
37
+ }
38
+ };
39
+ render() {
40
+ return (h("a", { key: 'b20aae2fc421323774a5129dde7d53d4ae3283fb', class: 'searchcraft-popover-list-item', href: this.href, onClick: this.handleLinkClick.bind(this) }, this.imageSrc && (h("div", { key: '79541d12ea3adafff2e141cb8946aa3feaea51df', class: 'searchcraft-popover-list-item-image-wrapper' }, h("img", { key: '3e6368a0f544a58ee0af9d1c15d0c909c6231842', alt: this.imageAlt, src: this.imageSrc, class: 'searchcraft-popover-list-item-image' }))), h("div", { key: '87e7a9dcc8b868af259b4456e9962af9d8dee498', class: 'searchcraft-popover-list-item-info-wrapper' }, h("p", { key: 'e5b63b4c2752573d0ee0ef52c2903b593a8b94a0', class: 'searchcraft-popover-list-item-title' }, this.titleContent), h("p", { key: 'c506d5d7e569ec20885eb65cdc6476dfb8895a13', class: 'searchcraft-popover-list-item-subtitle' }, this.subtitleContent))));
41
+ }
42
+ }, [0, "searchcraft-popover-list-item", {
43
+ "titleContent": [1, "title-content"],
44
+ "subtitleContent": [1, "subtitle-content"],
45
+ "imageSrc": [1, "image-src"],
46
+ "imageAlt": [1, "image-alt"],
47
+ "href": [1],
48
+ "documentPosition": [2, "document-position"]
49
+ }]);
50
+ function defineCustomElement() {
51
+ if (typeof customElements === "undefined") {
52
+ return;
53
+ }
54
+ const components = ["searchcraft-popover-list-item"];
55
+ components.forEach(tagName => { switch (tagName) {
56
+ case "searchcraft-popover-list-item":
57
+ if (!customElements.get(tagName)) {
58
+ customElements.define(tagName, SearchcraftPopoverListItem);
59
+ }
60
+ break;
61
+ } });
62
+ }
63
+
64
+ export { SearchcraftPopoverListItem as S, defineCustomElement as d };
65
+
66
+ //# sourceMappingURL=p-0ef4ab33.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-0ef4ab33.js","mappings":";;;MAUa,0BAA0B;;;;;;IAE7B,YAAY,CAAqB;;IAEjC,eAAe,CAAqB;;IAEpC,QAAQ,CAAqB;;IAE7B,QAAQ,CAAqB;;IAE7B,IAAI,CAAqB;;IAEzB,gBAAgB,GAAG,CAAC,CAAC;IAE7B,gBAAgB,MAAK;IAErB,iBAAiB,MAAK;IAEtB,oBAAoB,MAAK;IAEzB,iBAAiB,MAAK;IAEtB,eAAe,GAAG;QAChB,MAAM,KAAK,GAAG,mBAAmB,CAAC,QAAQ,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,sBAAsB,EAAE,CAAC;QAEnD,IAAI,WAAW,EAAE;YACf,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAChD,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;YAChC,MAAM,mBAAmB,GAAG,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC;YAEzE,WAAW,CAAC,gBAAgB,CAAC,kBAAkB,EAAE;gBAC/C,iBAAiB;gBACjB,mBAAmB;gBACnB,WAAW;aACZ,CAAC,CAAC;SACJ;KACF,CAAC;IAEF,MAAM;QACJ,QACE,0DACE,KAAK,EAAC,+BAA+B,EACrC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAEvC,IAAI,CAAC,QAAQ,KACZ,4DAAK,KAAK,EAAC,6CAA6C,IACtD,4DACE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,KAAK,EAAC,qCAAqC,GAC3C,CACE,CACP,EACD,4DAAK,KAAK,EAAC,4CAA4C,IACrD,0DAAG,KAAK,EAAC,qCAAqC,IAAE,IAAI,CAAC,YAAY,CAAK,EACtE,0DAAG,KAAK,EAAC,wCAAwC,IAC9C,IAAI,CAAC,eAAe,CACnB,CACA,CACJ,EACJ;KACH;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/searchcraft-popover-list-item/searchcraft-popover-list-item.tsx"],"sourcesContent":["import { useSearchcraftStore } from '@provider/store';\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-popover-list-item',\n shadow: false,\n})\nexport class SearchcraftPopoverListItem {\n /** The result title */\n @Prop() titleContent: string | undefined;\n /** The result subtitle */\n @Prop() subtitleContent: string | undefined;\n /** The source of the image. If not included, no item will be rendered. */\n @Prop() imageSrc: string | undefined;\n /** The image alt tag. */\n @Prop() imageAlt: string | undefined;\n /** The link href */\n @Prop() href: string | undefined;\n /** The document position relative to the search results (For Measure) */\n @Prop() documentPosition = 0;\n\n componentDidLoad() {}\n\n connectedCallback() {}\n\n disconnectedCallback() {}\n\n handleButtonClick() {}\n\n handleLinkClick = () => {\n const state = useSearchcraftStore.getState();\n const searchcraft = state.getSearchcraftInstance();\n\n if (searchcraft) {\n const document_position = this.documentPosition;\n const search_term = state.query;\n const number_of_documents = state.searchResults?.data?.hits?.length || 0;\n\n searchcraft.sendMeasureEvent('document_clicked', {\n document_position,\n number_of_documents,\n search_term,\n });\n }\n };\n\n render() {\n return (\n <a\n class='searchcraft-popover-list-item'\n href={this.href}\n onClick={this.handleLinkClick.bind(this)}\n >\n {this.imageSrc && (\n <div class='searchcraft-popover-list-item-image-wrapper'>\n <img\n alt={this.imageAlt}\n src={this.imageSrc}\n class='searchcraft-popover-list-item-image'\n />\n </div>\n )}\n <div class='searchcraft-popover-list-item-info-wrapper'>\n <p class='searchcraft-popover-list-item-title'>{this.titleContent}</p>\n <p class='searchcraft-popover-list-item-subtitle'>\n {this.subtitleContent}\n </p>\n </div>\n </a>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,72 @@
1
+ import { p as proxyCustomElement, H, c as createEvent, h } from './p-5365011f.js';
2
+ import { u as useSearchcraftStore } from './p-936e2ed4.js';
3
+ import { c as classNames } from './p-5cdc6210.js';
4
+
5
+ const SearchcraftToggleButton = /*@__PURE__*/ proxyCustomElement(class SearchcraftToggleButton extends H {
6
+ constructor() {
7
+ super();
8
+ this.__registerHost();
9
+ this.toggleUpdated = createEvent(this, "toggleUpdated", 7);
10
+ }
11
+ /**
12
+ * The label.
13
+ */
14
+ label = 'Toggle';
15
+ /**
16
+ * The secondary label displayed below the main label.
17
+ */
18
+ subLabel;
19
+ /**
20
+ * When the toggle element is changed.
21
+ */
22
+ toggleUpdated;
23
+ isActive = false;
24
+ unsubscribe;
25
+ lastQuery;
26
+ handleToggle = async () => {
27
+ this.isActive = !this.isActive;
28
+ this.toggleUpdated?.emit(this.isActive);
29
+ };
30
+ connectedCallback() {
31
+ /** When the query changes, sets toggle button state back to inactive. */
32
+ this.unsubscribe = useSearchcraftStore.subscribe((state) => {
33
+ if (state.query !== this.lastQuery && state.query.trim().length === 0) {
34
+ this.isActive = false;
35
+ }
36
+ this.lastQuery = state.query;
37
+ });
38
+ }
39
+ disconnectedCallback() {
40
+ this.unsubscribe?.();
41
+ }
42
+ render() {
43
+ return (h("div", { key: '8967ffc9328e0e6822f558d04ab31bc7b7f5c871', class: 'searchcraft-toggle-button-container' }, h("div", { key: 'd46d8ad6aff1bb012bea8e4b10cec03a12da8d64' }, h("p", { key: 'f9fd16a0da58bd66697d13df34a93cd70a6148c6', class: 'searchcraft-toggle-button-label' }, this.label), this.subLabel && (h("p", { key: 'ba7a0c309ca4cc0faa891ad9e270ac16f1d1d4cc', class: 'searchcraft-toggle-button-sub-label' }, this.subLabel))), h("button", { key: '3b406713d41f055bbaf32d231188faba0dfa48fb', class: classNames('searchcraft-toggle-button-background', {
44
+ active: this.isActive,
45
+ }), onClick: this.handleToggle, type: 'button' }, h("div", { key: '7dab3166e027e4efad18a3db9b541c1a4ba7da5f', class: classNames('searchcraft-toggle-button-handle', {
46
+ active: this.isActive,
47
+ }) }))));
48
+ }
49
+ }, [0, "searchcraft-toggle-button", {
50
+ "label": [1],
51
+ "subLabel": [1, "sub-label"],
52
+ "isActive": [32],
53
+ "unsubscribe": [32],
54
+ "lastQuery": [32]
55
+ }]);
56
+ function defineCustomElement() {
57
+ if (typeof customElements === "undefined") {
58
+ return;
59
+ }
60
+ const components = ["searchcraft-toggle-button"];
61
+ components.forEach(tagName => { switch (tagName) {
62
+ case "searchcraft-toggle-button":
63
+ if (!customElements.get(tagName)) {
64
+ customElements.define(tagName, SearchcraftToggleButton);
65
+ }
66
+ break;
67
+ } });
68
+ }
69
+
70
+ export { SearchcraftToggleButton as S, defineCustomElement as d };
71
+
72
+ //# sourceMappingURL=p-1234974c.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-1234974c.js","mappings":";;;;MAmBa,uBAAuB;;;;;;;;;IAI1B,KAAK,GAAG,QAAQ,CAAC;;;;IAIjB,QAAQ,CAAqB;;;;IAK5B,aAAa,CAAyB;IAEtC,QAAQ,GAAG,KAAK,CAAC;IACjB,WAAW,CAA2B;IACtC,SAAS,CAAqB;IAE/B,YAAY,GAAG;QACrB,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACzC,CAAC;IAEF,iBAAiB;;QAEf,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,KAAK;YACrD,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;gBACrE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvB;YACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;SAC9B,CAAC,CAAC;KACJ;IAED,oBAAoB;QAClB,IAAI,CAAC,WAAW,IAAI,CAAC;KACtB;IAED,MAAM;QACJ,QACE,4DAAK,KAAK,EAAC,qCAAqC,IAC9C,8DACE,0DAAG,KAAK,EAAC,iCAAiC,IAAE,IAAI,CAAC,KAAK,CAAK,EAC1D,IAAI,CAAC,QAAQ,KACZ,0DAAG,KAAK,EAAC,qCAAqC,IAAE,IAAI,CAAC,QAAQ,CAAK,CACnE,CACG,EACN,+DACE,KAAK,EAAE,UAAU,CAAC,sCAAsC,EAAE;gBACxD,MAAM,EAAE,IAAI,CAAC,QAAQ;aACtB,CAAC,EACF,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,IAAI,EAAC,QAAQ,IAEb,4DACE,KAAK,EAAE,UAAU,CAAC,kCAAkC,EAAE;gBACpD,MAAM,EAAE,IAAI,CAAC,QAAQ;aACtB,CAAC,GACF,CACK,CACL,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/searchcraft-toggle-button/searchcraft-toggle-button.tsx"],"sourcesContent":["import { useSearchcraftStore } from '@provider/store';\nimport {\n Component,\n Event,\n h,\n Prop,\n State,\n type EventEmitter,\n} from '@stencil/core';\nimport classNames from 'classnames';\n\n/**\n * This web component simulates a light switch functionality, providing a simple and intuitive toggle between two states—on and off.\n * It is consumed within the `searchcraft-filter-panel` component.\n */\n@Component({\n tag: 'searchcraft-toggle-button',\n shadow: false,\n})\nexport class SearchcraftToggleButton {\n /**\n * The label.\n */\n @Prop() label = 'Toggle';\n /**\n * The secondary label displayed below the main label.\n */\n @Prop() subLabel: string | undefined;\n\n /**\n * When the toggle element is changed.\n */\n @Event() toggleUpdated?: EventEmitter<boolean>;\n\n @State() isActive = false;\n @State() unsubscribe: (() => void) | undefined;\n @State() lastQuery: string | undefined;\n\n private handleToggle = async () => {\n this.isActive = !this.isActive;\n this.toggleUpdated?.emit(this.isActive);\n };\n\n connectedCallback() {\n /** When the query changes, sets toggle button state back to inactive. */\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n if (state.query !== this.lastQuery && state.query.trim().length === 0) {\n this.isActive = false;\n }\n this.lastQuery = state.query;\n });\n }\n\n disconnectedCallback() {\n this.unsubscribe?.();\n }\n\n render() {\n return (\n <div class='searchcraft-toggle-button-container'>\n <div>\n <p class='searchcraft-toggle-button-label'>{this.label}</p>\n {this.subLabel && (\n <p class='searchcraft-toggle-button-sub-label'>{this.subLabel}</p>\n )}\n </div>\n <button\n class={classNames('searchcraft-toggle-button-background', {\n active: this.isActive,\n })}\n onClick={this.handleToggle}\n type='button'\n >\n <div\n class={classNames('searchcraft-toggle-button-handle', {\n active: this.isActive,\n })}\n />\n </button>\n </div>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,109 @@
1
+ import { p as proxyCustomElement, H, c as createEvent, h } from './p-5365011f.js';
2
+ import { a as getMillis } from './p-755f491b.js';
3
+ import { c as classNames } from './p-5cdc6210.js';
4
+
5
+ const SearchcraftSlider = /*@__PURE__*/ proxyCustomElement(class SearchcraftSlider extends H {
6
+ constructor() {
7
+ super();
8
+ this.__registerHost();
9
+ this.rangeChanged = createEvent(this, "rangeChanged", 7);
10
+ }
11
+ /**
12
+ * The maximum value allowed.
13
+ */
14
+ max = 100;
15
+ /**
16
+ * The minimum value allowed.
17
+ */
18
+ min = 0;
19
+ /**
20
+ * The granularity that the value must adhere to.
21
+ */
22
+ granularity = getMillis('month');
23
+ /** The type of data allowed. */
24
+ dataType = 'number';
25
+ endValue = this.max;
26
+ startValue = this.min;
27
+ lastFocusedHandle = 'max';
28
+ /**
29
+ * When the range has changed.
30
+ * */
31
+ rangeChanged;
32
+ componentDidLoad() {
33
+ this.startValue = this.min;
34
+ this.endValue = this.max;
35
+ }
36
+ emitUpdate = async () => {
37
+ this.rangeChanged?.emit({
38
+ startValue: this.startValue,
39
+ endValue: this.endValue,
40
+ });
41
+ };
42
+ handleStartValueChange = (event) => {
43
+ const inputElement = event.target;
44
+ const value = Number.parseInt(inputElement.value, 10);
45
+ this.lastFocusedHandle = 'min';
46
+ if (value <= this.endValue) {
47
+ this.startValue = value;
48
+ this.emitUpdate();
49
+ }
50
+ else {
51
+ this.startValue = this.endValue;
52
+ inputElement.value = `${this.endValue}`;
53
+ }
54
+ };
55
+ handleEndValueChange = (event) => {
56
+ const inputElement = event.target;
57
+ const value = Number.parseInt(inputElement.value, 10);
58
+ this.lastFocusedHandle = 'max';
59
+ if (value >= this.startValue) {
60
+ this.endValue = value;
61
+ this.emitUpdate();
62
+ }
63
+ else {
64
+ this.endValue = this.startValue;
65
+ inputElement.value = `${this.startValue}`;
66
+ }
67
+ };
68
+ render() {
69
+ const rangeMin = this.min;
70
+ const rangeMax = this.max;
71
+ const startPercent = ((this.startValue - rangeMin) / (rangeMax - rangeMin)) * 100;
72
+ const endPercent = ((this.endValue - rangeMin) / (rangeMax - rangeMin)) * 100;
73
+ const startLabel = this.dataType === 'number'
74
+ ? this.startValue
75
+ : new Date(this.startValue).getFullYear();
76
+ const endLabel = this.dataType === 'number'
77
+ ? this.endValue
78
+ : new Date(this.endValue).getFullYear();
79
+ return (h("div", { key: 'bf815949fc9e24e7f3ff9e1870affe676592fc68', class: 'searchcraft-slider-container' }, h("div", { key: 'd0913ee4e35f551782ec5649b9782c535e81ff74', class: 'searchcraft-slider-range-container' }, h("div", { key: '5397b3ef9a79c589080560e886ef709b77279748', class: 'searchcraft-slider-active-range', style: {
80
+ left: `${startPercent}%`,
81
+ width: `${endPercent - startPercent}%`,
82
+ } }), h("input", { key: '714896ec90ea07a1be7b73e7168c6fab9d2c095b', class: classNames('searchcraft-slider-input', 'searchcraft-slider-input-min-handle'), max: this.max, min: this.min, onInput: this.handleStartValueChange.bind(this), step: this.granularity, style: { zIndex: this.lastFocusedHandle === 'min' ? '2' : '1' }, type: 'range', value: this.startValue }), h("input", { key: '646042689f17b594dac00ba04c80d5d3a32a3cd0', class: classNames('searchcraft-slider-input', 'searchcraft-slider-input-max-handle'), max: this.max, min: this.min, onInput: this.handleEndValueChange.bind(this), step: this.granularity, style: { zIndex: this.lastFocusedHandle === 'max' ? '2' : '1' }, type: 'range', value: this.endValue })), h("div", { key: 'a6bc39619d6bcbb3ccf09e923436122db4559289', class: 'searchcraft-slider-label-container' }, h("span", { key: 'd15f19f86abeacb5c100403e9e4be20f28f604c0', class: 'searchcraft-slider-label' }, startLabel), h("span", { key: '6c0394917a4f54edae8a347cc8b225a64d044ea6', class: 'searchcraft-slider-label' }, endLabel))));
83
+ }
84
+ }, [0, "searchcraft-slider", {
85
+ "max": [2],
86
+ "min": [2],
87
+ "granularity": [2],
88
+ "dataType": [1, "data-type"],
89
+ "endValue": [32],
90
+ "startValue": [32],
91
+ "lastFocusedHandle": [32]
92
+ }]);
93
+ function defineCustomElement() {
94
+ if (typeof customElements === "undefined") {
95
+ return;
96
+ }
97
+ const components = ["searchcraft-slider"];
98
+ components.forEach(tagName => { switch (tagName) {
99
+ case "searchcraft-slider":
100
+ if (!customElements.get(tagName)) {
101
+ customElements.define(tagName, SearchcraftSlider);
102
+ }
103
+ break;
104
+ } });
105
+ }
106
+
107
+ export { SearchcraftSlider as S, defineCustomElement as d };
108
+
109
+ //# sourceMappingURL=p-4b92ae26.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-4b92ae26.js","mappings":";;;;MAoBa,iBAAiB;;;;;;;;;IAIpB,GAAG,GAAG,GAAG,CAAC;;;;IAIV,GAAG,GAAG,CAAC,CAAC;;;;IAIR,WAAW,GAAW,SAAS,CAAC,OAAO,CAAC,CAAC;;IAEzC,QAAQ,GAAsB,QAAQ,CAAC;IAEtC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;IACpB,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC;IACtB,iBAAiB,GAAkB,KAAK,CAAC;;;;IAKzC,YAAY,CAEP;IAEd,gBAAgB;QACd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;KAC1B;IAEO,UAAU,GAAG;QACnB,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC;YACtB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;KACJ,CAAC;IAEM,sBAAsB,GAAG,CAAC,KAAiB;QACjD,MAAM,YAAY,GAAG,KAAK,CAAC,MAA0B,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC1B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;YAChC,YAAY,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;SACzC;KACF,CAAC;IAEM,oBAAoB,GAAG,CAAC,KAAiB;QAC/C,MAAM,YAAY,GAAG,KAAK,CAAC,MAA0B,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;YAChC,YAAY,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;SAC3C;KACF,CAAC;IAEF,MAAM;QACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;QAC1B,MAAM,YAAY,GAChB,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,QAAQ,KAAK,QAAQ,GAAG,QAAQ,CAAC,IAAI,GAAG,CAAC;QAC/D,MAAM,UAAU,GACd,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,KAAK,QAAQ,GAAG,QAAQ,CAAC,IAAI,GAAG,CAAC;QAE7D,MAAM,UAAU,GACd,IAAI,CAAC,QAAQ,KAAK,QAAQ;cACtB,IAAI,CAAC,UAAU;cACf,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAE9C,MAAM,QAAQ,GACZ,IAAI,CAAC,QAAQ,KAAK,QAAQ;cACtB,IAAI,CAAC,QAAQ;cACb,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAE5C,QACE,4DAAK,KAAK,EAAC,8BAA8B,IACvC,4DAAK,KAAK,EAAC,oCAAoC,IAC7C,4DACE,KAAK,EAAC,iCAAiC,EACvC,KAAK,EAAE;gBACL,IAAI,EAAE,GAAG,YAAY,GAAG;gBACxB,KAAK,EAAE,GAAG,UAAU,GAAG,YAAY,GAAG;aACvC,GACD,EACF,8DACE,KAAK,EAAE,UAAU,CACf,0BAA0B,EAC1B,qCAAqC,CACtC,EACD,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAC/C,IAAI,EAAE,IAAI,CAAC,WAAW,EACtB,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,iBAAiB,KAAK,KAAK,GAAG,GAAG,GAAG,GAAG,EAAE,EAC/D,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,IAAI,CAAC,UAAU,GACtB,EACF,8DACE,KAAK,EAAE,UAAU,CACf,0BAA0B,EAC1B,qCAAqC,CACtC,EACD,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAC7C,IAAI,EAAE,IAAI,CAAC,WAAW,EACtB,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,iBAAiB,KAAK,KAAK,GAAG,GAAG,GAAG,GAAG,EAAE,EAC/D,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,IAAI,CAAC,QAAQ,GACpB,CACE,EACN,4DAAK,KAAK,EAAC,oCAAoC,IAC7C,6DAAM,KAAK,EAAC,0BAA0B,IAAE,UAAU,CAAQ,EAC1D,6DAAM,KAAK,EAAC,0BAA0B,IAAE,QAAQ,CAAQ,CACpD,CACF,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/searchcraft-slider/searchcraft-slider.tsx"],"sourcesContent":["import {\n Component,\n Event,\n type EventEmitter,\n h,\n State,\n Prop,\n} from '@stencil/core';\nimport { getMillis } from '@utils';\nimport classNames from 'classnames';\n\n/**\n * This web component is designed to allow users to select a value from a range defined by a minimum and maximum value.\n * The component renders a slider interface, which can be used to visually choose a value between two boundaries.\n * It is consumed by the `searchcraft-filter-panel` component.\n */\n@Component({\n tag: 'searchcraft-slider',\n shadow: false,\n})\nexport class SearchcraftSlider {\n /**\n * The maximum value allowed.\n */\n @Prop() max = 100;\n /**\n * The minimum value allowed.\n */\n @Prop() min = 0;\n /**\n * The granularity that the value must adhere to.\n */\n @Prop() granularity: number = getMillis('month');\n /** The type of data allowed. */\n @Prop() dataType: 'number' | 'date' = 'number';\n\n @State() endValue = this.max;\n @State() startValue = this.min;\n @State() lastFocusedHandle: 'min' | 'max' = 'max';\n\n /**\n * When the range has changed.\n * */\n @Event() rangeChanged:\n | EventEmitter<{ startValue: number; endValue: number }>\n | undefined;\n\n componentDidLoad() {\n this.startValue = this.min;\n this.endValue = this.max;\n }\n\n private emitUpdate = async () => {\n this.rangeChanged?.emit({\n startValue: this.startValue,\n endValue: this.endValue,\n });\n };\n\n private handleStartValueChange = (event: InputEvent) => {\n const inputElement = event.target as HTMLInputElement;\n const value = Number.parseInt(inputElement.value, 10);\n this.lastFocusedHandle = 'min';\n if (value <= this.endValue) {\n this.startValue = value;\n this.emitUpdate();\n } else {\n this.startValue = this.endValue;\n inputElement.value = `${this.endValue}`;\n }\n };\n\n private handleEndValueChange = (event: InputEvent) => {\n const inputElement = event.target as HTMLInputElement;\n const value = Number.parseInt(inputElement.value, 10);\n this.lastFocusedHandle = 'max';\n if (value >= this.startValue) {\n this.endValue = value;\n this.emitUpdate();\n } else {\n this.endValue = this.startValue;\n inputElement.value = `${this.startValue}`;\n }\n };\n\n render() {\n const rangeMin = this.min;\n const rangeMax = this.max;\n const startPercent =\n ((this.startValue - rangeMin) / (rangeMax - rangeMin)) * 100;\n const endPercent =\n ((this.endValue - rangeMin) / (rangeMax - rangeMin)) * 100;\n\n const startLabel =\n this.dataType === 'number'\n ? this.startValue\n : new Date(this.startValue).getFullYear();\n\n const endLabel =\n this.dataType === 'number'\n ? this.endValue\n : new Date(this.endValue).getFullYear();\n\n return (\n <div class='searchcraft-slider-container'>\n <div class='searchcraft-slider-range-container'>\n <div\n class='searchcraft-slider-active-range'\n style={{\n left: `${startPercent}%`,\n width: `${endPercent - startPercent}%`,\n }}\n />\n <input\n class={classNames(\n 'searchcraft-slider-input',\n 'searchcraft-slider-input-min-handle',\n )}\n max={this.max}\n min={this.min}\n onInput={this.handleStartValueChange.bind(this)}\n step={this.granularity}\n style={{ zIndex: this.lastFocusedHandle === 'min' ? '2' : '1' }}\n type='range'\n value={this.startValue}\n />\n <input\n class={classNames(\n 'searchcraft-slider-input',\n 'searchcraft-slider-input-max-handle',\n )}\n max={this.max}\n min={this.min}\n onInput={this.handleEndValueChange.bind(this)}\n step={this.granularity}\n style={{ zIndex: this.lastFocusedHandle === 'max' ? '2' : '1' }}\n type='range'\n value={this.endValue}\n />\n </div>\n <div class='searchcraft-slider-label-container'>\n <span class='searchcraft-slider-label'>{startLabel}</span>\n <span class='searchcraft-slider-label'>{endLabel}</span>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,31 +1,35 @@
1
- import { p as proxyCustomElement, H, h } from './p-6cafd48d.js';
1
+ import { p as proxyCustomElement, H, h } from './p-5365011f.js';
2
2
  import { g as getDocumentValueFromSearchResultMapping } from './p-755f491b.js';
3
- import { d as defineCustomElement$1 } from './p-1ae87308.js';
4
-
5
- const searchcraftPopoverListViewModuleCss = "";
6
- const SearchcraftPopoverListViewStyle0 = searchcraftPopoverListViewModuleCss;
3
+ import { d as defineCustomElement$1 } from './p-0ef4ab33.js';
7
4
 
8
5
  const SearchcraftPopoverListView = /*@__PURE__*/ proxyCustomElement(class SearchcraftPopoverListView extends H {
9
6
  constructor() {
10
7
  super();
11
8
  this.__registerHost();
12
9
  }
10
+ /**
11
+ * The mappings that define how the data in the documents are mapped to the
12
+ * list-view-item elements.
13
+ */
14
+ popoverResultMappings;
15
+ /**
16
+ * The documents to render in the list view.
17
+ */
18
+ documents;
13
19
  renderDocument(document, index) {
14
20
  /**
15
21
  * Index field values -> Result container props mappings.
16
22
  */
17
- const titleContent = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings.title);
18
- const subtitleContent = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings.subtitle);
19
- const href = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings.href);
20
- const imageSource = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings.imageSource);
21
- const imageAlt = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings.imageAlt);
23
+ const titleContent = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.title);
24
+ const subtitleContent = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.subtitle);
25
+ const href = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.href);
26
+ const imageSource = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.imageSource);
27
+ const imageAlt = getDocumentValueFromSearchResultMapping(document, this.popoverResultMappings?.imageAlt);
22
28
  return (h("searchcraft-popover-list-item", { key: `${document.document_id}-${index}`, "title-content": titleContent, "subtitle-content": subtitleContent, "image-src": imageSource, "image-alt": imageAlt, href: href, "document-position": index }));
23
29
  }
24
30
  render() {
25
- var _a;
26
- return (h("div", { key: '6e9017370d7079412d6d31fb439be599d689c9c2', class: 'searchcraft-popover-list-view' }, (_a = this.documents) === null || _a === void 0 ? void 0 : _a.map((document, index) => this.renderDocument(document, index))));
31
+ return (h("div", { key: '2eee5552a2bf24bd0c75a224d4de6da8526df316', class: 'searchcraft-popover-list-view' }, this.documents?.map((document, index) => this.renderDocument(document, index))));
27
32
  }
28
- static get style() { return SearchcraftPopoverListViewStyle0; }
29
33
  }, [0, "searchcraft-popover-list-view", {
30
34
  "popoverResultMappings": [16],
31
35
  "documents": [16]
@@ -51,4 +55,4 @@ function defineCustomElement() {
51
55
 
52
56
  export { SearchcraftPopoverListView as S, defineCustomElement as d };
53
57
 
54
- //# sourceMappingURL=p-e1cf5f9d.js.map
58
+ //# sourceMappingURL=p-506cdac1.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-506cdac1.js","mappings":";;;;MAmBa,0BAA0B;;;;;;;;;IAK7B,qBAAqB,CAAoC;;;;IAIzD,SAAS,CAAwC;IAEzD,cAAc,CAAC,QAAiC,EAAE,KAAa;;;;QAI7D,MAAM,YAAY,GAAG,uCAAuC,CAC1D,QAAQ,EACR,IAAI,CAAC,qBAAqB,EAAE,KAAK,CAClC,CAAC;QACF,MAAM,eAAe,GAAG,uCAAuC,CAC7D,QAAQ,EACR,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CACrC,CAAC;QACF,MAAM,IAAI,GAAG,uCAAuC,CAClD,QAAQ,EACR,IAAI,CAAC,qBAAqB,EAAE,IAAI,CACjC,CAAC;QACF,MAAM,WAAW,GAAG,uCAAuC,CACzD,QAAQ,EACR,IAAI,CAAC,qBAAqB,EAAE,WAAW,CACxC,CAAC;QACF,MAAM,QAAQ,GAAG,uCAAuC,CACtD,QAAQ,EACR,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CACrC,CAAC;QAEF,QACE,qCACE,GAAG,EAAE,GAAG,QAAQ,CAAC,WAAW,IAAI,KAAK,EAAE,mBACxB,YAAY,sBACT,eAAe,eACtB,WAAW,eACX,QAAQ,EACnB,IAAI,EAAE,IAAI,uBACS,KAAK,GACxB,EACF;KACH;IAED,MAAM;QACJ,QACE,4DAAK,KAAK,EAAC,+BAA+B,IACvC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,KACnC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CACrC,CACG,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/searchcraft-popover-list-view/searchcraft-popover-list-view.tsx"],"sourcesContent":["import { Component, h, Prop } from '@stencil/core';\n\nimport { getDocumentValueFromSearchResultMapping } from '@utils';\nimport type { PopoverResultMappings } from 'types';\n\n/**\n * This web component is designed to display a list of results within a popover interface.\n * It is consumed within the `searchcraft-popover-form` component.\n *\n * ## Usage\n * ```html\n * <!-- index.html -->\n * <searchcraft-popover-list-view />\n * ```\n */\n@Component({\n tag: 'searchcraft-popover-list-view',\n shadow: false,\n})\nexport class SearchcraftPopoverListView {\n /**\n * The mappings that define how the data in the documents are mapped to the\n * list-view-item elements.\n */\n @Prop() popoverResultMappings: PopoverResultMappings | undefined;\n /**\n * The documents to render in the list view.\n */\n @Prop() documents: Record<string, unknown>[] | undefined;\n\n renderDocument(document: Record<string, unknown>, index: number) {\n /**\n * Index field values -> Result container props mappings.\n */\n const titleContent = getDocumentValueFromSearchResultMapping(\n document,\n this.popoverResultMappings?.title,\n );\n const subtitleContent = getDocumentValueFromSearchResultMapping(\n document,\n this.popoverResultMappings?.subtitle,\n );\n const href = getDocumentValueFromSearchResultMapping(\n document,\n this.popoverResultMappings?.href,\n );\n const imageSource = getDocumentValueFromSearchResultMapping(\n document,\n this.popoverResultMappings?.imageSource,\n );\n const imageAlt = getDocumentValueFromSearchResultMapping(\n document,\n this.popoverResultMappings?.imageAlt,\n );\n\n return (\n <searchcraft-popover-list-item\n key={`${document.document_id}-${index}`}\n title-content={titleContent}\n subtitle-content={subtitleContent}\n image-src={imageSource}\n image-alt={imageAlt}\n href={href}\n document-position={index}\n />\n );\n }\n\n render() {\n return (\n <div class='searchcraft-popover-list-view'>\n {this.documents?.map((document, index) =>\n this.renderDocument(document, index),\n )}\n </div>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,60 @@
1
+ import { p as proxyCustomElement, H, c as createEvent, h, F as Fragment } from './p-5365011f.js';
2
+ import { c as classNames } from './p-5cdc6210.js';
3
+
4
+ const SearchcraftButton = /*@__PURE__*/ proxyCustomElement(class SearchcraftButton extends H {
5
+ constructor() {
6
+ super();
7
+ this.__registerHost();
8
+ this.buttonClick = createEvent(this, "buttonClick", 7);
9
+ }
10
+ /**
11
+ * The icon element.
12
+ */
13
+ iconElement;
14
+ /**
15
+ * Should the button only display an icon.
16
+ */
17
+ iconOnly = false;
18
+ /**
19
+ * The position of the icon.
20
+ */
21
+ iconPosition = 'left';
22
+ /**
23
+ * The label for the button.
24
+ */
25
+ label = 'Search';
26
+ /**
27
+ * When the button is clicked.
28
+ */
29
+ buttonClick;
30
+ isRequesting = false;
31
+ handleClick = () => {
32
+ this.buttonClick.emit();
33
+ };
34
+ render() {
35
+ return (h(Fragment, { key: 'af99927e7c05f06ec9a63123c7f740a0e96e734b' }, this.iconOnly ? (h("button", { class: classNames('searchcraft-button'), onClick: this.handleClick, type: 'submit' }, this.isRequesting ? (h("searchcraft-spinner-dark", null)) : (this.iconElement))) : (h("button", { class: classNames('searchcraft-button'), onClick: this.handleClick, type: 'submit' }, this.iconPosition === 'left' && this.iconElement, h("span", { class: classNames('buttonLabel', 'searchcraft-button-label') }, this.label)))));
36
+ }
37
+ }, [0, "searchcraft-button", {
38
+ "iconElement": [16],
39
+ "iconOnly": [4, "icon-only"],
40
+ "iconPosition": [1, "icon-position"],
41
+ "label": [1],
42
+ "isRequesting": [32]
43
+ }]);
44
+ function defineCustomElement() {
45
+ if (typeof customElements === "undefined") {
46
+ return;
47
+ }
48
+ const components = ["searchcraft-button"];
49
+ components.forEach(tagName => { switch (tagName) {
50
+ case "searchcraft-button":
51
+ if (!customElements.get(tagName)) {
52
+ customElements.define(tagName, SearchcraftButton);
53
+ }
54
+ break;
55
+ } });
56
+ }
57
+
58
+ export { SearchcraftButton as S, defineCustomElement as d };
59
+
60
+ //# sourceMappingURL=p-521fe971.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-521fe971.js","mappings":";;;MAoBa,iBAAiB;;;;;;;;;IAIpB,WAAW,CAAW;;;;IAItB,QAAQ,GAAG,KAAK,CAAC;;;;IAIjB,YAAY,GAAG,MAAM,CAAC;;;;IAItB,KAAK,GAAG,QAAQ,CAAC;;;;IAKhB,WAAW,CAAsB;IAEjC,YAAY,GAAG,KAAK,CAAC;IAEtB,WAAW,GAAG;QACpB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;KACzB,CAAC;IAEF,MAAM;QACJ,QACE,EAAC,QAAQ,uDACN,IAAI,CAAC,QAAQ,IACZ,cACE,KAAK,EAAE,UAAU,CAAC,oBAAoB,CAAC,EACvC,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,IAAI,EAAC,QAAQ,IAEZ,IAAI,CAAC,YAAY,IAChB,mCAA4B,KAE5B,IAAI,CAAC,WAAW,CACjB,CACM,KAET,cACE,KAAK,EAAE,UAAU,CAAC,oBAAoB,CAAC,EACvC,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,IAAI,EAAC,QAAQ,IAEZ,IAAI,CAAC,YAAY,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EACjD,YAAM,KAAK,EAAE,UAAU,CAAC,aAAa,EAAE,0BAA0B,CAAC,IAC/D,IAAI,CAAC,KAAK,CACN,CACA,CACV,CACQ,EACX;KACH;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/searchcraft-button/searchcraft-button.tsx"],"sourcesContent":["import {\n Component,\n Event,\n type EventEmitter,\n Prop,\n h,\n State,\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 * The icon element.\n */\n @Prop() iconElement?: Element;\n /**\n * Should the button only display an icon.\n */\n @Prop() iconOnly = false;\n /**\n * The position of the icon.\n */\n @Prop() iconPosition = 'left';\n /**\n * The label for the button.\n */\n @Prop() label = 'Search';\n\n /**\n * When the button is clicked.\n */\n @Event() buttonClick!: EventEmitter<void>;\n\n @State() isRequesting = false;\n\n private handleClick = () => {\n this.buttonClick.emit();\n };\n\n render() {\n return (\n <Fragment>\n {this.iconOnly ? (\n <button\n class={classNames('searchcraft-button')}\n onClick={this.handleClick}\n type='submit'\n >\n {this.isRequesting ? (\n <searchcraft-spinner-dark />\n ) : (\n this.iconElement\n )}\n </button>\n ) : (\n <button\n class={classNames('searchcraft-button')}\n onClick={this.handleClick}\n type='submit'\n >\n {this.iconPosition === 'left' && this.iconElement}\n <span class={classNames('buttonLabel', 'searchcraft-button-label')}>\n {this.label}\n </span>\n </button>\n )}\n </Fragment>\n );\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  const NAMESPACE = 'searchcraft-javascript-sdk';
2
- const BUILD = /* searchcraft-javascript-sdk */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: false, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: false, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, modernPropertyDecls: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: false, propNumber: true, propString: true, reflect: false, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: false, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: true, taskQueue: true, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: false, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: false, watchCallback: true };
2
+ const BUILD = /* searchcraft-javascript-sdk */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: false, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: false, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, modernPropertyDecls: true, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: false, propNumber: true, propString: true, reflect: false, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: false, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: false, svg: true, taskQueue: true, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: false, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: false, watchCallback: true };
3
3
 
4
4
  /*
5
5
  Stencil Client Platform v4.25.0 | MIT Licensed | https://stenciljs.com
@@ -14,6 +14,30 @@ var __export = (target, all) => {
14
14
  var SVG_NS = "http://www.w3.org/2000/svg";
15
15
  var HTML_NS = "http://www.w3.org/1999/xhtml";
16
16
 
17
+ // src/utils/es2022-rewire-class-members.ts
18
+ var reWireGetterSetter = (instance, hostRef) => {
19
+ var _a;
20
+ const cmpMeta = hostRef.$cmpMeta$;
21
+ const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
22
+ members.map(([memberName, [memberFlags]]) => {
23
+ if ((memberFlags & 31 /* Prop */ || memberFlags & 32 /* State */)) {
24
+ const ogValue = instance[memberName];
25
+ const ogDescriptor = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(instance), memberName);
26
+ Object.defineProperty(instance, memberName, {
27
+ get() {
28
+ return ogDescriptor.get.call(this);
29
+ },
30
+ set(newValue) {
31
+ ogDescriptor.set.call(this, newValue);
32
+ },
33
+ configurable: true,
34
+ enumerable: true
35
+ });
36
+ instance[memberName] = hostRef.$instanceValues$.has(memberName) ? hostRef.$instanceValues$.get(memberName) : ogValue;
37
+ }
38
+ });
39
+ };
40
+
17
41
  // src/client/client-host-ref.ts
18
42
  var hostRefs = /* @__PURE__ */ new WeakMap();
19
43
  var deleteHostRef = (ref) => hostRefs.delete(ref);
@@ -31,15 +55,13 @@ var registerHost = (hostElement, cmpMeta) => {
31
55
  hostElement["s-rc"] = [];
32
56
  }
33
57
  const ref = hostRefs.set(hostElement, hostRef);
58
+ {
59
+ reWireGetterSetter(hostElement, hostRef);
60
+ }
34
61
  return ref;
35
62
  };
36
63
  var isMemberInElement = (elm, memberName) => memberName in elm;
37
64
  var consoleError = (e, el) => (0, console.error)(e, el);
38
-
39
- // src/client/client-style.ts
40
- var styles = /* @__PURE__ */ new Map();
41
- var HYDRATED_STYLE_ID = "sty-id";
42
- var SLOT_FB_CSS = "slot-fb{display:contents}slot-fb[hidden]{display:none}";
43
65
  var win = typeof window !== "undefined" ? window : {};
44
66
  var doc = win.document || { head: {} };
45
67
  var H = win.HTMLElement || class {
@@ -55,14 +77,6 @@ var plt = {
55
77
  };
56
78
  var supportsShadow = BUILD.shadowDom;
57
79
  var promiseResolve = (v) => Promise.resolve(v);
58
- var supportsConstructableStylesheets = /* @__PURE__ */ (() => {
59
- try {
60
- new CSSStyleSheet();
61
- return typeof new CSSStyleSheet().replaceSync === "function";
62
- } catch (e) {
63
- }
64
- return false;
65
- })() ;
66
80
  var queuePending = false;
67
81
  var queueDomReads = [];
68
82
  var queueDomWrites = [];
@@ -110,12 +124,6 @@ var isComplexType = (o) => {
110
124
  return o === "object" || o === "function";
111
125
  };
112
126
 
113
- // src/utils/query-nonce-meta-tag-content.ts
114
- function queryNonceMetaTagContent(doc2) {
115
- var _a, _b, _c;
116
- return (_c = (_b = (_a = doc2.head) == null ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) == null ? void 0 : _b.getAttribute("content")) != null ? _c : void 0;
117
- }
118
-
119
127
  // src/utils/result.ts
120
128
  var result_exports = {};
121
129
  __export(result_exports, {
@@ -376,90 +384,6 @@ var emitEvent = (elm, name, opts) => {
376
384
  return ev;
377
385
  };
378
386
  var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
379
- var registerStyle = (scopeId2, cssText, allowCS) => {
380
- let style = styles.get(scopeId2);
381
- if (supportsConstructableStylesheets && allowCS) {
382
- style = style || new CSSStyleSheet();
383
- if (typeof style === "string") {
384
- style = cssText;
385
- } else {
386
- style.replaceSync(cssText);
387
- }
388
- } else {
389
- style = cssText;
390
- }
391
- styles.set(scopeId2, style);
392
- };
393
- var addStyle = (styleContainerNode, cmpMeta, mode) => {
394
- var _a;
395
- const scopeId2 = getScopeId(cmpMeta);
396
- const style = styles.get(scopeId2);
397
- styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc;
398
- if (style) {
399
- if (typeof style === "string") {
400
- styleContainerNode = styleContainerNode.head || styleContainerNode;
401
- let appliedStyles = rootAppliedStyles.get(styleContainerNode);
402
- let styleElm;
403
- if (!appliedStyles) {
404
- rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
405
- }
406
- if (!appliedStyles.has(scopeId2)) {
407
- {
408
- styleElm = document.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`) || doc.createElement("style");
409
- styleElm.innerHTML = style;
410
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);
411
- if (nonce != null) {
412
- styleElm.setAttribute("nonce", nonce);
413
- }
414
- if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
415
- if (styleContainerNode.nodeName === "HEAD") {
416
- const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
417
- const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
418
- styleContainerNode.insertBefore(styleElm, referenceNode2);
419
- } else if ("host" in styleContainerNode) {
420
- if (supportsConstructableStylesheets) {
421
- const stylesheet = new CSSStyleSheet();
422
- stylesheet.replaceSync(style);
423
- styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];
424
- } else {
425
- const existingStyleContainer = styleContainerNode.querySelector("style");
426
- if (existingStyleContainer) {
427
- existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
428
- } else {
429
- styleContainerNode.prepend(styleElm);
430
- }
431
- }
432
- } else {
433
- styleContainerNode.append(styleElm);
434
- }
435
- }
436
- if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== "HEAD") {
437
- styleContainerNode.insertBefore(styleElm, null);
438
- }
439
- }
440
- if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
441
- styleElm.innerHTML += SLOT_FB_CSS;
442
- }
443
- if (appliedStyles) {
444
- appliedStyles.add(scopeId2);
445
- }
446
- }
447
- } else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
448
- styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
449
- }
450
- }
451
- return scopeId2;
452
- };
453
- var attachStyles = (hostRef) => {
454
- const cmpMeta = hostRef.$cmpMeta$;
455
- const elm = hostRef.$hostElement$;
456
- const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
457
- addStyle(
458
- elm.getRootNode(),
459
- cmpMeta);
460
- endAttachStyles();
461
- };
462
- var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
463
387
  var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
464
388
  if (oldValue !== newValue) {
465
389
  let isProp = isMemberInElement(elm, memberName);
@@ -1072,9 +996,6 @@ var updateComponent = async (hostRef, instance, isInitialLoad) => {
1072
996
  const elm = hostRef.$hostElement$;
1073
997
  const endUpdate = createTime("update", hostRef.$cmpMeta$.$tagName$);
1074
998
  const rc = elm["s-rc"];
1075
- if (isInitialLoad) {
1076
- attachStyles(hostRef);
1077
- }
1078
999
  const endRender = createTime("render", hostRef.$cmpMeta$.$tagName$);
1079
1000
  {
1080
1001
  callRender(hostRef, instance, elm, isInitialLoad);
@@ -1306,26 +1227,12 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1306
1227
 
1307
1228
  // src/runtime/initialize-component.ts
1308
1229
  var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1309
- let Cstr;
1310
1230
  if ((hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {
1311
1231
  hostRef.$flags$ |= 32 /* hasInitializedComponent */;
1312
1232
  {
1313
- Cstr = elm.constructor;
1314
1233
  const cmpTag = elm.localName;
1315
1234
  customElements.whenDefined(cmpTag).then(() => hostRef.$flags$ |= 128 /* isWatchReady */);
1316
1235
  }
1317
- if (Cstr && Cstr.style) {
1318
- let style;
1319
- if (typeof Cstr.style === "string") {
1320
- style = Cstr.style;
1321
- }
1322
- const scopeId2 = getScopeId(cmpMeta);
1323
- if (!styles.has(scopeId2)) {
1324
- const endRegisterStyles = createTime("registerStyles", cmpMeta.$tagName$);
1325
- registerStyle(scopeId2, style, !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */));
1326
- endRegisterStyles();
1327
- }
1328
- }
1329
1236
  }
1330
1237
  const ancestorComponent = hostRef.$ancestorComponent$;
1331
1238
  const schedule = () => scheduleUpdate(hostRef, true);
@@ -1371,7 +1278,7 @@ var connectedCallback = (elm) => {
1371
1278
  });
1372
1279
  }
1373
1280
  {
1374
- initializeComponent(elm, hostRef, cmpMeta);
1281
+ initializeComponent(elm, hostRef);
1375
1282
  }
1376
1283
  } else {
1377
1284
  if (hostRef == null ? void 0 : hostRef.$lazyInstance$) ; else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
@@ -1464,4 +1371,4 @@ var setPlatformOptions = (opts) => Object.assign(plt, opts);
1464
1371
 
1465
1372
  export { Fragment as F, H, setNonce as a, setPlatformOptions as b, createEvent as c, getAssetPath as g, h, proxyCustomElement as p, setAssetPath as s };
1466
1373
 
1467
- //# sourceMappingURL=p-6cafd48d.js.map
1374
+ //# sourceMappingURL=p-5365011f.js.map