@searchcraft/javascript-sdk 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. package/README.md +198 -0
  2. package/dist/cjs/{index-6c5282a0.js → index-c8a8e492.js} +317 -10
  3. package/dist/cjs/index-c8a8e492.js.map +1 -0
  4. package/dist/cjs/index.cjs.js +4 -5
  5. package/dist/cjs/index.cjs.js.map +1 -1
  6. package/dist/cjs/loader.cjs.js +2 -2
  7. package/dist/cjs/package-ccc7e307.js +68 -0
  8. package/dist/cjs/package-ccc7e307.js.map +1 -0
  9. package/dist/cjs/searchcraft-auto-search-form.cjs.entry.js +160 -0
  10. package/dist/cjs/searchcraft-auto-search-form.cjs.entry.js.map +1 -0
  11. package/dist/cjs/searchcraft-base-search-form.cjs.entry.js +13 -8
  12. package/dist/cjs/searchcraft-base-search-form.cjs.entry.js.map +1 -1
  13. package/dist/cjs/searchcraft-base-search-result.cjs.entry.js +74 -0
  14. package/dist/cjs/searchcraft-base-search-result.cjs.entry.js.map +1 -0
  15. package/dist/cjs/searchcraft-base-search-results.cjs.entry.js +129 -0
  16. package/dist/cjs/searchcraft-base-search-results.cjs.entry.js.map +1 -0
  17. package/dist/cjs/searchcraft-button-icon.cjs.entry.js +1 -1
  18. package/dist/cjs/searchcraft-button.cjs.entry.js +4 -9
  19. package/dist/cjs/searchcraft-button.cjs.entry.js.map +1 -1
  20. package/dist/cjs/searchcraft-check-icon_2.cjs.entry.js +28 -0
  21. package/dist/cjs/searchcraft-check-icon_2.cjs.entry.js.map +1 -0
  22. package/dist/cjs/searchcraft-clear-icon-set.cjs.entry.js +30 -0
  23. package/dist/cjs/searchcraft-clear-icon-set.cjs.entry.js.map +1 -0
  24. package/dist/cjs/searchcraft-error-message_3.cjs.entry.js +95 -0
  25. package/dist/cjs/searchcraft-error-message_3.cjs.entry.js.map +1 -0
  26. package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js +183 -0
  27. package/dist/cjs/searchcraft-facet-list_3.cjs.entry.js.map +1 -0
  28. package/dist/cjs/searchcraft-filter-panel.cjs.entry.js +134 -0
  29. package/dist/cjs/searchcraft-filter-panel.cjs.entry.js.map +1 -0
  30. package/dist/cjs/searchcraft-javascript-sdk.cjs.js +2 -2
  31. package/dist/cjs/searchcraft-results-info.cjs.entry.js +46 -0
  32. package/dist/cjs/searchcraft-results-info.cjs.entry.js.map +1 -0
  33. package/dist/cjs/searchcraft-search-icon-set.cjs.entry.js +33 -0
  34. package/dist/cjs/searchcraft-search-icon-set.cjs.entry.js.map +1 -0
  35. package/dist/cjs/searchcraft-spinner-dark.cjs.entry.js +22 -0
  36. package/dist/cjs/searchcraft-spinner-dark.cjs.entry.js.map +1 -0
  37. package/dist/cjs/searchcraft-spinner-light.cjs.entry.js +22 -0
  38. package/dist/cjs/searchcraft-spinner-light.cjs.entry.js.map +1 -0
  39. package/dist/cjs/store-72205332.js +945 -0
  40. package/dist/cjs/store-72205332.js.map +1 -0
  41. package/dist/cjs/utils-4ee2b88d.js +169 -0
  42. package/dist/cjs/utils-4ee2b88d.js.map +1 -0
  43. package/dist/collection/assets/searchcraft-button-icons.js.map +1 -1
  44. package/dist/collection/assets/searchcraft-check-icon.js.map +1 -1
  45. package/dist/collection/assets/searchcraft-clear-icon-set.js.map +1 -1
  46. package/dist/collection/assets/searchcraft-dash-icon.js.map +1 -1
  47. package/dist/collection/assets/searchcraft-search-icon-set.js.map +1 -1
  48. package/dist/collection/collection-manifest.json +2 -4
  49. package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.js +68 -94
  50. package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.js.map +1 -1
  51. package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.module.css +98 -9
  52. package/dist/collection/components/searchcraft-base-search-form/searchcraft-base-search-form.js +42 -20
  53. package/dist/collection/components/searchcraft-base-search-form/searchcraft-base-search-form.js.map +1 -1
  54. package/dist/collection/components/searchcraft-base-search-form/searchcraft-base-search-form.module.css +94 -8
  55. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js +158 -136
  56. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js.map +1 -1
  57. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.module.css +142 -189
  58. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js +172 -83
  59. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js.map +1 -1
  60. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.module.css +105 -23
  61. package/dist/collection/components/searchcraft-button/searchcraft-button.js +3 -10
  62. package/dist/collection/components/searchcraft-button/searchcraft-button.js.map +1 -1
  63. package/dist/collection/components/searchcraft-button/searchcraft-button.module.css +107 -65
  64. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js +2 -24
  65. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js.map +1 -1
  66. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.module.css +101 -15
  67. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js +140 -0
  68. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.js.map +1 -0
  69. package/dist/collection/components/searchcraft-facet-list/searchcraft-facet-list.module.css +216 -0
  70. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js +166 -0
  71. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.js.map +1 -0
  72. package/dist/collection/components/searchcraft-filter-panel/searchcraft-filter-panel.module.css +118 -0
  73. package/dist/collection/components/searchcraft-input/searchcraft-input.js +43 -133
  74. package/dist/collection/components/searchcraft-input/searchcraft-input.js.map +1 -1
  75. package/dist/collection/components/searchcraft-input/searchcraft-input.module.css +162 -221
  76. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js +1 -13
  77. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js.map +1 -1
  78. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.module.css +102 -14
  79. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js +4 -3
  80. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js.map +1 -1
  81. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.module.css +111 -7
  82. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js +101 -58
  83. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js.map +1 -1
  84. package/dist/collection/components/searchcraft-slider/searchcraft-slider.module.css +136 -23
  85. package/dist/collection/components/searchcraft-spinner-dark/searchcraft-spinner-dark.js +1 -1
  86. package/dist/collection/components/searchcraft-spinner-dark/searchcraft-spinner-dark.js.map +1 -1
  87. package/dist/collection/components/searchcraft-spinner-dark/searchcraft-spinner-dark.module.css +103 -4
  88. package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.js +1 -1
  89. package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.js.map +1 -1
  90. package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.module.css +102 -3
  91. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js +51 -64
  92. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js.map +1 -1
  93. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.module.css +135 -9
  94. package/dist/collection/index.js +2 -1
  95. package/dist/collection/index.js.map +1 -1
  96. package/dist/collection/provider/store.js +46 -31
  97. package/dist/collection/provider/store.js.map +1 -1
  98. package/dist/collection/types/index.js +3 -0
  99. package/dist/collection/types/index.js.map +1 -0
  100. package/dist/collection/types/searchcraft-base-search-results.types.js +2 -0
  101. package/dist/collection/types/searchcraft-base-search-results.types.js.map +1 -0
  102. package/dist/collection/types/searchcraft-filter-panel.types.js +2 -0
  103. package/dist/collection/types/searchcraft-filter-panel.types.js.map +1 -0
  104. package/dist/collection/utils/utils.js +117 -35
  105. package/dist/collection/utils/utils.js.map +1 -1
  106. package/dist/components/index.js +7 -11
  107. package/dist/components/index.js.map +1 -1
  108. package/dist/components/{p-d3187f5a.js → p-04d13314.js} +2 -2
  109. package/dist/components/{p-d3187f5a.js.map → p-04d13314.js.map} +1 -1
  110. package/dist/components/p-0deddac7.js +161 -0
  111. package/dist/components/p-0deddac7.js.map +1 -0
  112. package/dist/components/p-37f54c0b.js +54 -0
  113. package/dist/components/p-37f54c0b.js.map +1 -0
  114. package/dist/components/{p-7498e493.js → p-5639be85.js} +311 -10
  115. package/dist/components/p-5639be85.js.map +1 -0
  116. package/dist/components/p-68897c11.js +124 -0
  117. package/dist/components/p-68897c11.js.map +1 -0
  118. package/dist/components/p-69eed21e.js +66 -0
  119. package/dist/components/p-69eed21e.js.map +1 -0
  120. package/dist/components/p-8062f0ea.js +82 -0
  121. package/dist/components/p-8062f0ea.js.map +1 -0
  122. package/dist/components/p-9f2b8375.js +33 -0
  123. package/dist/components/p-9f2b8375.js.map +1 -0
  124. package/dist/components/p-ace4e6a0.js +35 -0
  125. package/dist/components/p-ace4e6a0.js.map +1 -0
  126. package/dist/components/p-b1a59f07.js +101 -0
  127. package/dist/components/p-b1a59f07.js.map +1 -0
  128. package/dist/components/p-be63dcac.js +941 -0
  129. package/dist/components/p-be63dcac.js.map +1 -0
  130. package/dist/components/p-c8bc1e4f.js +40 -0
  131. package/dist/components/p-c8bc1e4f.js.map +1 -0
  132. package/dist/components/{p-e5471fcf.js → p-de50441f.js} +2 -2
  133. package/dist/components/{p-e5471fcf.js.map → p-de50441f.js.map} +1 -1
  134. package/dist/components/p-e3c8b1ef.js +91 -0
  135. package/dist/components/p-e3c8b1ef.js.map +1 -0
  136. package/dist/components/p-ebf021b5.js +49 -0
  137. package/dist/components/p-ebf021b5.js.map +1 -0
  138. package/dist/components/searchcraft-auto-search-form.js +70 -84
  139. package/dist/components/searchcraft-auto-search-form.js.map +1 -1
  140. package/dist/components/searchcraft-base-search-form.js +27 -58
  141. package/dist/components/searchcraft-base-search-form.js.map +1 -1
  142. package/dist/components/searchcraft-base-search-result.js +1 -1
  143. package/dist/components/searchcraft-base-search-results.js +81 -53
  144. package/dist/components/searchcraft-base-search-results.js.map +1 -1
  145. package/dist/components/searchcraft-button-icon.js +1 -1
  146. package/dist/components/searchcraft-button.js +1 -1
  147. package/dist/components/searchcraft-check-icon.js +1 -1
  148. package/dist/components/searchcraft-clear-icon-set.js +39 -1
  149. package/dist/components/searchcraft-clear-icon-set.js.map +1 -1
  150. package/dist/components/searchcraft-dash-icon.js +1 -1
  151. package/dist/components/searchcraft-error-message.js +1 -1
  152. package/dist/components/searchcraft-facet-list.d.ts +11 -0
  153. package/dist/components/searchcraft-facet-list.js +8 -0
  154. package/dist/components/searchcraft-facet-list.js.map +1 -0
  155. package/dist/components/searchcraft-filter-panel.d.ts +11 -0
  156. package/dist/components/searchcraft-filter-panel.js +184 -0
  157. package/dist/components/searchcraft-filter-panel.js.map +1 -0
  158. package/dist/components/searchcraft-input-label.js +1 -1
  159. package/dist/components/searchcraft-input.js +1 -1
  160. package/dist/components/searchcraft-results-info.js +8 -7
  161. package/dist/components/searchcraft-results-info.js.map +1 -1
  162. package/dist/components/searchcraft-search-icon-set.js +44 -1
  163. package/dist/components/searchcraft-search-icon-set.js.map +1 -1
  164. package/dist/components/searchcraft-slider.js +1 -95
  165. package/dist/components/searchcraft-slider.js.map +1 -1
  166. package/dist/components/searchcraft-spinner-dark.js +1 -1
  167. package/dist/components/searchcraft-spinner-light.js +29 -1
  168. package/dist/components/searchcraft-spinner-light.js.map +1 -1
  169. package/dist/components/searchcraft-toggle-button.js +1 -91
  170. package/dist/components/searchcraft-toggle-button.js.map +1 -1
  171. package/dist/esm/{index-0ac5bb53.js → index-88dc5f88.js} +317 -10
  172. package/dist/esm/index-88dc5f88.js.map +1 -0
  173. package/dist/esm/index.js +2 -1
  174. package/dist/esm/index.js.map +1 -1
  175. package/dist/esm/loader.js +3 -3
  176. package/dist/esm/package-ee16f835.js +66 -0
  177. package/dist/esm/package-ee16f835.js.map +1 -0
  178. package/dist/esm/searchcraft-auto-search-form.entry.js +156 -0
  179. package/dist/esm/searchcraft-auto-search-form.entry.js.map +1 -0
  180. package/dist/esm/searchcraft-base-search-form.entry.js +13 -8
  181. package/dist/esm/searchcraft-base-search-form.entry.js.map +1 -1
  182. package/dist/esm/searchcraft-base-search-result.entry.js +70 -0
  183. package/dist/esm/searchcraft-base-search-result.entry.js.map +1 -0
  184. package/dist/esm/searchcraft-base-search-results.entry.js +125 -0
  185. package/dist/esm/searchcraft-base-search-results.entry.js.map +1 -0
  186. package/dist/esm/searchcraft-button-icon.entry.js +1 -1
  187. package/dist/esm/searchcraft-button.entry.js +4 -9
  188. package/dist/esm/searchcraft-button.entry.js.map +1 -1
  189. package/dist/esm/searchcraft-check-icon_2.entry.js +23 -0
  190. package/dist/esm/searchcraft-check-icon_2.entry.js.map +1 -0
  191. package/dist/{components/p-70722ab2.js → esm/searchcraft-clear-icon-set.entry.js} +7 -24
  192. package/dist/esm/searchcraft-clear-icon-set.entry.js.map +1 -0
  193. package/dist/esm/searchcraft-error-message_3.entry.js +89 -0
  194. package/dist/esm/searchcraft-error-message_3.entry.js.map +1 -0
  195. package/dist/esm/searchcraft-facet-list_3.entry.js +177 -0
  196. package/dist/esm/searchcraft-facet-list_3.entry.js.map +1 -0
  197. package/dist/esm/searchcraft-filter-panel.entry.js +130 -0
  198. package/dist/esm/searchcraft-filter-panel.entry.js.map +1 -0
  199. package/dist/esm/searchcraft-javascript-sdk.js +3 -3
  200. package/dist/esm/searchcraft-results-info.entry.js +42 -0
  201. package/dist/esm/searchcraft-results-info.entry.js.map +1 -0
  202. package/dist/{components/p-a3bd1bc8.js → esm/searchcraft-search-icon-set.entry.js} +7 -26
  203. package/dist/esm/searchcraft-search-icon-set.entry.js.map +1 -0
  204. package/dist/esm/searchcraft-spinner-dark.entry.js +18 -0
  205. package/dist/esm/searchcraft-spinner-dark.entry.js.map +1 -0
  206. package/dist/esm/searchcraft-spinner-light.entry.js +18 -0
  207. package/dist/esm/searchcraft-spinner-light.entry.js.map +1 -0
  208. package/dist/esm/store-52436995.js +941 -0
  209. package/dist/esm/store-52436995.js.map +1 -0
  210. package/dist/esm/utils-89a02921.js +161 -0
  211. package/dist/esm/utils-89a02921.js.map +1 -0
  212. package/dist/searchcraft-javascript-sdk/index.esm.js +1 -1
  213. package/dist/searchcraft-javascript-sdk/p-08bd95f1.entry.js +2 -0
  214. package/dist/searchcraft-javascript-sdk/p-08bd95f1.entry.js.map +1 -0
  215. package/dist/searchcraft-javascript-sdk/p-0deddac7.js +2 -0
  216. package/dist/searchcraft-javascript-sdk/p-0deddac7.js.map +1 -0
  217. package/dist/searchcraft-javascript-sdk/p-15f9891d.entry.js +2 -0
  218. package/dist/searchcraft-javascript-sdk/p-15f9891d.entry.js.map +1 -0
  219. package/dist/searchcraft-javascript-sdk/p-2419a8c5.entry.js +2 -0
  220. package/dist/searchcraft-javascript-sdk/p-2419a8c5.entry.js.map +1 -0
  221. package/dist/searchcraft-javascript-sdk/p-343adbe3.entry.js +2 -0
  222. package/dist/searchcraft-javascript-sdk/p-343adbe3.entry.js.map +1 -0
  223. package/dist/searchcraft-javascript-sdk/p-3a2d9be9.entry.js +2 -0
  224. package/dist/searchcraft-javascript-sdk/p-3a2d9be9.entry.js.map +1 -0
  225. package/dist/searchcraft-javascript-sdk/p-4278ff89.entry.js +2 -0
  226. package/dist/searchcraft-javascript-sdk/p-4278ff89.entry.js.map +1 -0
  227. package/dist/searchcraft-javascript-sdk/p-4c32c87d.js +3 -0
  228. package/dist/searchcraft-javascript-sdk/p-4c32c87d.js.map +1 -0
  229. package/dist/searchcraft-javascript-sdk/p-56413bef.entry.js +2 -0
  230. package/dist/searchcraft-javascript-sdk/p-56413bef.entry.js.map +1 -0
  231. package/dist/searchcraft-javascript-sdk/p-69eed21e.js +2 -0
  232. package/dist/searchcraft-javascript-sdk/p-69eed21e.js.map +1 -0
  233. package/dist/searchcraft-javascript-sdk/{p-5ec960bd.entry.js → p-69f64bdd.entry.js} +2 -2
  234. package/dist/searchcraft-javascript-sdk/p-7c59b3cd.entry.js +2 -0
  235. package/dist/searchcraft-javascript-sdk/p-7c59b3cd.entry.js.map +1 -0
  236. package/dist/searchcraft-javascript-sdk/p-93e9de71.entry.js +2 -0
  237. package/dist/searchcraft-javascript-sdk/p-93e9de71.entry.js.map +1 -0
  238. package/dist/searchcraft-javascript-sdk/p-9647ae41.entry.js +2 -0
  239. package/dist/searchcraft-javascript-sdk/p-9647ae41.entry.js.map +1 -0
  240. package/dist/searchcraft-javascript-sdk/p-a613a6ba.entry.js +2 -0
  241. package/dist/searchcraft-javascript-sdk/p-a613a6ba.entry.js.map +1 -0
  242. package/dist/searchcraft-javascript-sdk/p-acc645c7.entry.js +2 -0
  243. package/dist/searchcraft-javascript-sdk/p-acc645c7.entry.js.map +1 -0
  244. package/dist/searchcraft-javascript-sdk/p-bb03e946.js +11 -0
  245. package/dist/searchcraft-javascript-sdk/p-bb03e946.js.map +1 -0
  246. package/dist/searchcraft-javascript-sdk/p-bf80bbee.entry.js +2 -0
  247. package/dist/searchcraft-javascript-sdk/p-bf80bbee.entry.js.map +1 -0
  248. package/dist/searchcraft-javascript-sdk/p-f4612b94.entry.js +2 -0
  249. package/dist/searchcraft-javascript-sdk/p-f4612b94.entry.js.map +1 -0
  250. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js +1 -1
  251. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js.map +1 -1
  252. package/dist/types/components/searchcraft-auto-search-form/searchcraft-auto-search-form.d.ts +7 -7
  253. package/dist/types/components/searchcraft-base-search-form/searchcraft-base-search-form.d.ts +5 -4
  254. package/dist/types/components/searchcraft-base-search-result/searchcraft-base-search-result.d.ts +18 -17
  255. package/dist/types/components/searchcraft-base-search-results/searchcraft-base-search-results.d.ts +17 -5
  256. package/dist/types/components/searchcraft-button/searchcraft-button.d.ts +0 -2
  257. package/dist/types/components/searchcraft-error-message/searchcraft-error-message.d.ts +0 -7
  258. package/dist/types/components/searchcraft-facet-list/searchcraft-facet-list.d.ts +21 -0
  259. package/dist/types/components/searchcraft-filter-panel/searchcraft-filter-panel.d.ts +25 -0
  260. package/dist/types/components/searchcraft-input/searchcraft-input.d.ts +5 -11
  261. package/dist/types/components/searchcraft-input-label/searchcraft-input-label.d.ts +0 -2
  262. package/dist/types/components/searchcraft-slider/searchcraft-slider.d.ts +14 -10
  263. package/dist/types/components/searchcraft-toggle-button/searchcraft-toggle-button.d.ts +4 -9
  264. package/dist/types/components.d.ts +157 -193
  265. package/dist/types/index.d.ts +2 -1
  266. package/dist/types/provider/store.d.ts +16 -9
  267. package/dist/types/types/index.d.ts +2 -0
  268. package/dist/types/types/searchcraft-base-search-results.types.d.ts +17 -0
  269. package/dist/types/types/searchcraft-filter-panel.types.d.ts +42 -0
  270. package/dist/types/utils/utils.d.ts +24 -15
  271. package/package.json +2 -2
  272. package/dist/cjs/index-6c5282a0.js.map +0 -1
  273. package/dist/cjs/searchcraft-auto-search-form_19.cjs.entry.js +0 -861
  274. package/dist/cjs/searchcraft-auto-search-form_19.cjs.entry.js.map +0 -1
  275. package/dist/cjs/store-f3bec622.js +0 -406
  276. package/dist/cjs/store-f3bec622.js.map +0 -1
  277. package/dist/collection/components/searchcraft-clear-input-button/searchcraft-clear-input-button.js +0 -95
  278. package/dist/collection/components/searchcraft-clear-input-button/searchcraft-clear-input-button.js.map +0 -1
  279. package/dist/collection/components/searchcraft-clear-input-button/searchcraft-clear-input-button.module.css +0 -33
  280. package/dist/collection/components/searchcraft-filters-list/searchcraft-filters-list.js +0 -172
  281. package/dist/collection/components/searchcraft-filters-list/searchcraft-filters-list.js.map +0 -1
  282. package/dist/collection/components/searchcraft-filters-list/searchcraft-filters-list.module.css +0 -110
  283. package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.js +0 -122
  284. package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.js.map +0 -1
  285. package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.module.css +0 -79
  286. package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.js +0 -109
  287. package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.js.map +0 -1
  288. package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.module.css +0 -17
  289. package/dist/components/p-07edaa9b.js +0 -67
  290. package/dist/components/p-07edaa9b.js.map +0 -1
  291. package/dist/components/p-27a6ca57.js +0 -149
  292. package/dist/components/p-27a6ca57.js.map +0 -1
  293. package/dist/components/p-4468fba3.js +0 -61
  294. package/dist/components/p-4468fba3.js.map +0 -1
  295. package/dist/components/p-498c7ef9.js +0 -40
  296. package/dist/components/p-498c7ef9.js.map +0 -1
  297. package/dist/components/p-6237f03e.js +0 -60
  298. package/dist/components/p-6237f03e.js.map +0 -1
  299. package/dist/components/p-70722ab2.js.map +0 -1
  300. package/dist/components/p-7498e493.js.map +0 -1
  301. package/dist/components/p-7d1bcd2d.js +0 -88
  302. package/dist/components/p-7d1bcd2d.js.map +0 -1
  303. package/dist/components/p-8c38185e.js +0 -53
  304. package/dist/components/p-8c38185e.js.map +0 -1
  305. package/dist/components/p-a3bd1bc8.js.map +0 -1
  306. package/dist/components/p-ae84b899.js +0 -48
  307. package/dist/components/p-ae84b899.js.map +0 -1
  308. package/dist/components/p-bc3f9025.js +0 -33
  309. package/dist/components/p-bc3f9025.js.map +0 -1
  310. package/dist/components/p-bfb22305.js +0 -33
  311. package/dist/components/p-bfb22305.js.map +0 -1
  312. package/dist/components/p-c31274dd.js +0 -89
  313. package/dist/components/p-c31274dd.js.map +0 -1
  314. package/dist/components/p-ff049f0a.js +0 -313
  315. package/dist/components/p-ff049f0a.js.map +0 -1
  316. package/dist/components/searchcraft-clear-input-button.d.ts +0 -11
  317. package/dist/components/searchcraft-clear-input-button.js +0 -8
  318. package/dist/components/searchcraft-clear-input-button.js.map +0 -1
  319. package/dist/components/searchcraft-filters-list.d.ts +0 -11
  320. package/dist/components/searchcraft-filters-list.js +0 -155
  321. package/dist/components/searchcraft-filters-list.js.map +0 -1
  322. package/dist/components/searchcraft-input-caption.d.ts +0 -11
  323. package/dist/components/searchcraft-input-caption.js +0 -8
  324. package/dist/components/searchcraft-input-caption.js.map +0 -1
  325. package/dist/components/searchcraft-input-icon.d.ts +0 -11
  326. package/dist/components/searchcraft-input-icon.js +0 -8
  327. package/dist/components/searchcraft-input-icon.js.map +0 -1
  328. package/dist/esm/index-0ac5bb53.js.map +0 -1
  329. package/dist/esm/searchcraft-auto-search-form_19.entry.js +0 -839
  330. package/dist/esm/searchcraft-auto-search-form_19.entry.js.map +0 -1
  331. package/dist/esm/store-6af9ea01.js +0 -396
  332. package/dist/esm/store-6af9ea01.js.map +0 -1
  333. package/dist/searchcraft-javascript-sdk/p-05416a3e.entry.js +0 -2
  334. package/dist/searchcraft-javascript-sdk/p-05416a3e.entry.js.map +0 -1
  335. package/dist/searchcraft-javascript-sdk/p-0880cfbb.js +0 -3
  336. package/dist/searchcraft-javascript-sdk/p-0880cfbb.js.map +0 -1
  337. package/dist/searchcraft-javascript-sdk/p-1ab836bf.js +0 -11
  338. package/dist/searchcraft-javascript-sdk/p-1ab836bf.js.map +0 -1
  339. package/dist/searchcraft-javascript-sdk/p-3cb77ee1.entry.js +0 -2
  340. package/dist/searchcraft-javascript-sdk/p-3cb77ee1.entry.js.map +0 -1
  341. package/dist/searchcraft-javascript-sdk/p-72382d90.entry.js +0 -2
  342. package/dist/searchcraft-javascript-sdk/p-72382d90.entry.js.map +0 -1
  343. package/dist/types/components/searchcraft-clear-input-button/searchcraft-clear-input-button.d.ts +0 -10
  344. package/dist/types/components/searchcraft-filters-list/searchcraft-filters-list.d.ts +0 -34
  345. package/dist/types/components/searchcraft-input-caption/searchcraft-input-caption.d.ts +0 -9
  346. package/dist/types/components/searchcraft-input-icon/searchcraft-input-icon.d.ts +0 -9
  347. package/readme.md +0 -11
  348. /package/dist/searchcraft-javascript-sdk/{p-5ec960bd.entry.js.map → p-69f64bdd.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"searchcraft-button.entry.cjs.js","mappings":";;;;;;;AAAA,MAAM,0BAA0B,GAAG,y/BAAy/B,CAAC;AAC7hC,gCAAe,0BAA0B;;MCe5B,iBAAiB;;;;QAepB,gBAAW,GAAG;YACpB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;SACzB,CAAC;;wBAfiB,KAAK;4BACD,MAAM;qBACb,QAAQ;4BAIA,KAAK;qBACZ,OAAO;;IAEhB,cAAc;QACpB,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,GAAG,aAAa,GAAG,YAAY,CAAC;KAC9D;IAMD,MAAM;QACJ,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAE1C,QACEA,QAACC,cAAQ,uDACN,IAAI,CAAC,QAAQ,IACZD,oBACE,KAAK,EAAEE,kBAAU,CAAC,WAAW,EAAE,oBAAoB,CAAC,EACpD,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,IAAI,EAAC,QAAQ,IAEZ,IAAI,CAAC,YAAY,IAChBF,yCAA4B,KAE5B,IAAI,CAAC,WAAW,CACjB,CACM,KAETA,oBACE,KAAK,EAAEE,kBAAU,CAAC,WAAW,EAAE,oBAAoB,CAAC,EACpD,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,IAAI,EAAC,QAAQ,IAEZ,IAAI,CAAC,YAAY,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,IAChDF,iBAAK,KAAK,EAAC,sBAAsB,IAC/BA,yCAA4B,CACxB,KAEN,IAAI,CAAC,WAAW,CACjB,EACDA,kBACE,KAAK,EAAEE,kBAAU,CACf,IAAI,CAAC,YAAY,IAAI,cAAc,EACnC,0BAA0B,CAC3B,IAEA,IAAI,CAAC,KAAK,CACN,CACA,CACV,CACQ,EACX;KACH;;;;;;","names":["h","Fragment","classNames"],"sources":["src/components/searchcraft-button/searchcraft-button.module.scss?tag=searchcraft-button&encapsulation=shadow","src/components/searchcraft-button/searchcraft-button.tsx"],"sourcesContent":["@import '../../utils/theme';\n\n:root {\n --font-stack: Helvetica, Arial, sans-serif;\n}\n\n@mixin button-base {\n border-radius: 8px;\n display: flex;\n font-family: var(--font-stack);\n font-size: 16px;\n font-weight: 700;\n line-height: 20px;\n padding: 11px 20px;\n position: relative;\n\n &:hover {\n cursor: pointer;\n }\n}\n\n.buttonLight {\n @include button-base;\n background-color: $light-background;\n border: 1px solid $light-button-border;\n color: $light-button-color;\n\n &:hover {\n background-color: $light-button-hover;\n }\n\n &:focus {\n outline: 2px solid $light-button-outline-focus;\n }\n}\n\n.buttonDark {\n @include button-base;\n background-color: $dark-background;\n border: 1px solid $dark-button-border;\n color: $dark-button-color;\n\n &:hover {\n background-color: $dark-button-hover;\n }\n\n &:focus {\n outline: 2px solid $dark-button-outline-focus;\n }\n}\n\n.spinnerMarginRight {\n left: 4px;\n margin-right: 4px;\n position: absolute;\n}\n\n.spinnerMarginLeft {\n left: 4px;\n margin-left: 4px;\n position: absolute;\n}\n\n.buttonLabel {\n animation: right-and-back .2s;\n margin-left: 4px;\n position: relative;\n}\n\n@keyframes right-and-back {\n 0% { right: -6px; }\n 50% { right: -12px; }\n 75% { right: -6px; }\n 100% {right: 0px; }\n}","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@Component({\n tag: 'searchcraft-button',\n styleUrl: 'searchcraft-button.module.scss',\n shadow: true,\n})\nexport class SearchcraftButton {\n @Prop() iconElement?: Element;\n @Prop() iconOnly = false;\n @Prop() iconPosition = 'left';\n @Prop() label = 'Search';\n\n @Event() buttonClick!: EventEmitter<void>;\n\n @State() isRequesting = false;\n @State() theme = 'light';\n\n private getButtonStyle() {\n return this.theme === 'light' ? 'buttonLight' : 'buttonDark';\n }\n\n private handleClick = () => {\n this.buttonClick.emit(); // Emit the event instead of calling a function\n };\n\n render() {\n const buttonStyle = this.getButtonStyle();\n\n return (\n <Fragment>\n {this.iconOnly ? (\n <button\n class={classNames(buttonStyle, '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(buttonStyle, 'searchcraft-button')}\n onClick={this.handleClick}\n type='submit'\n >\n {this.iconPosition === 'left' && this.isRequesting ? (\n <div class='spinner-margin-right'>\n <searchcraft-spinner-dark />\n </div>\n ) : (\n this.iconElement\n )}\n <span\n class={classNames(\n this.isRequesting && 'button-label',\n 'searchcraft-button-label',\n )}\n >\n {this.label}\n </span>\n </button>\n )}\n </Fragment>\n );\n }\n}\n"],"version":3}
1
+ {"file":"searchcraft-button.entry.cjs.js","mappings":";;;;;;;AAAA,MAAM,0BAA0B,GAAG,soHAAsoH,CAAC;AAC1qH,gCAAe,0BAA0B;;MCe5B,iBAAiB;;;;QAUpB,gBAAW,GAAG;YACpB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;SACzB,CAAC;;wBAViB,KAAK;4BACD,MAAM;qBACb,QAAQ;4BAIA,KAAK;;IAM7B,MAAM;QACJ,QACEA,QAACC,cAAQ,uDACN,IAAI,CAAC,QAAQ,IACZD,oBACE,KAAK,EAAEE,kBAAU,CAAC,oBAAoB,CAAC,EACvC,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,IAAI,EAAC,QAAQ,IAEZ,IAAI,CAAC,YAAY,IAChBF,yCAA4B,KAE5B,IAAI,CAAC,WAAW,CACjB,CACM,KAETA,oBACE,KAAK,EAAEE,kBAAU,CAAC,oBAAoB,CAAC,EACvC,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,IAAI,EAAC,QAAQ,IAEZ,IAAI,CAAC,YAAY,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EACjDF,kBAAM,KAAK,EAAEE,kBAAU,CAAC,aAAa,EAAE,0BAA0B,CAAC,IAC/D,IAAI,CAAC,KAAK,CACN,CACA,CACV,CACQ,EACX;KACH;;;;;;","names":["h","Fragment","classNames"],"sources":["src/components/searchcraft-button/searchcraft-button.module.scss?tag=searchcraft-button","src/components/searchcraft-button/searchcraft-button.tsx"],"sourcesContent":[".searchcraft-button {\n @include body-bold;\n\n border-radius: 8px;\n display: flex;\n padding: 12px 20px;\n position: relative;\n\n background-color: var(--sc-surface-brand-primary);\n border: 1px solid var(--sc-border-primary);\n color: var(--sc-content-brand-on-primary);\n\n &:hover {\n cursor: pointer;\n background-color: var(--sc-surface-brand-primary-hover);\n }\n\n &:focus {\n outline: 2px solid var(--sc-surface-brand-primary);\n }\n}\n\n.buttonLabel {\n position: relative;\n}","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@Component({\n tag: 'searchcraft-button',\n styleUrl: 'searchcraft-button.module.scss',\n shadow: false,\n})\nexport class SearchcraftButton {\n @Prop() iconElement?: Element;\n @Prop() iconOnly = false;\n @Prop() iconPosition = 'left';\n @Prop() label = 'Search';\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}
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-c8a8e492.js');
6
+
7
+ const SearchcraftCheckIcon = class {
8
+ constructor(hostRef) {
9
+ index.registerInstance(this, hostRef);
10
+ }
11
+ render() {
12
+ return (index.h("svg", { key: '3db200942b79612a38293544a029c6854dfa4beb', width: '16', height: '16', viewBox: '0 0 16 16', fill: 'none' }, index.h("title", { key: 'b7b6af8651edb5cc0e054ed775b9029c6c93535e' }, "Checkbox Check"), index.h("path", { key: '7c74edc45f007245e4c6e4fd5d37dbc6dad20de0', d: 'M13.9999 2L5.74988 10L1.99988 6.36364', stroke: 'white', "stroke-width": '3', "stroke-linecap": 'round', "stroke-linejoin": 'round' })));
13
+ }
14
+ };
15
+
16
+ const SearchcraftDashIcon = class {
17
+ constructor(hostRef) {
18
+ index.registerInstance(this, hostRef);
19
+ }
20
+ render() {
21
+ return (index.h("svg", { key: '4d0c3ab69a973ec8b1d89f52082e4b98ce17e39d', width: '14', height: '3', viewBox: '0 0 14 3', fill: 'none' }, index.h("title", { key: '99a099dcd6a163ba5b8c1f5b80f9ebfde2152778' }, "Checkbox Dash"), index.h("line", { key: '49f030f69ff1d37139f868ffb94b5f24442dce37', x1: '1.5', y1: '1.5', x2: '12.5', y2: '1.5', stroke: 'white', "stroke-width": '3', "stroke-linecap": 'round' })));
22
+ }
23
+ };
24
+
25
+ exports.searchcraft_check_icon = SearchcraftCheckIcon;
26
+ exports.searchcraft_dash_icon = SearchcraftDashIcon;
27
+
28
+ //# sourceMappingURL=searchcraft-check-icon_2.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"searchcraft-check-icon.searchcraft-dash-icon.entry.cjs.js","mappings":";;;;;;MAMa,oBAAoB;;;;IAC/B,MAAM;QACJ,QACEA,kEAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,IACzDA,uFAA6B,EAC7BA,mEACE,CAAC,EAAC,uCAAuC,EACzC,MAAM,EAAC,OAAO,kBACD,GAAG,oBACD,OAAO,qBACN,OAAO,GACvB,CACE,EACN;KACH;;;MCdU,mBAAmB;;;;IAC9B,MAAM;QACJ,QACEA,kEAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,GAAG,EAAC,OAAO,EAAC,UAAU,EAAC,IAAI,EAAC,MAAM,IACvDA,sFAA4B,EAC5BA,mEACE,EAAE,EAAC,KAAK,EACR,EAAE,EAAC,KAAK,EACR,EAAE,EAAC,MAAM,EACT,EAAE,EAAC,KAAK,EACR,MAAM,EAAC,OAAO,kBACD,GAAG,oBACD,OAAO,GACtB,CACE,EACN;KACH;;;;;;","names":["h"],"sources":["src/assets/searchcraft-check-icon.tsx","src/assets/searchcraft-dash-icon.tsx"],"sourcesContent":["import { Component, h } from '@stencil/core';\n\n@Component({\n tag: 'searchcraft-check-icon',\n shadow: true,\n})\nexport class SearchcraftCheckIcon {\n render() {\n return (\n <svg width='16' height='16' viewBox='0 0 16 16' fill='none'>\n <title>Checkbox Check</title>\n <path\n d='M13.9999 2L5.74988 10L1.99988 6.36364'\n stroke='white'\n stroke-width='3'\n stroke-linecap='round'\n stroke-linejoin='round'\n />\n </svg>\n );\n }\n}\n","import { Component, h } from '@stencil/core';\n\n@Component({\n tag: 'searchcraft-dash-icon',\n shadow: true,\n})\nexport class SearchcraftDashIcon {\n render() {\n return (\n <svg width='14' height='3' viewBox='0 0 14 3' fill='none'>\n <title>Checkbox Dash</title>\n <line\n x1='1.5'\n y1='1.5'\n x2='12.5'\n y2='1.5'\n stroke='white'\n stroke-width='3'\n stroke-linecap='round'\n />\n </svg>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-c8a8e492.js');
6
+
7
+ const SearchcraftClearIconSet = class {
8
+ constructor(hostRef) {
9
+ index.registerInstance(this, hostRef);
10
+ this.type = 'clear-light';
11
+ }
12
+ render() {
13
+ switch (this.type) {
14
+ case 'clear-light':
15
+ return (index.h("svg", { width: '22', height: '22', viewBox: '0 0 22 22', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', "aria-labelledby": 'icon-title' }, index.h("title", { id: 'icon-title' }, "Searchcraft Clear Input Icon Light"), index.h("path", { d: 'M14 8L8 14M8 8L14 14M21 11C21 16.5228 16.5228 21 11 21C5.47715 21 1 16.5228 1 11C1 5.47715 5.47715 1 11 1C16.5228 1 21 5.47715 21 11Z', stroke: 'black', "stroke-width": '1.5', "stroke-linecap": 'round', "stroke-linejoin": 'round' })));
16
+ case 'clear-dark':
17
+ return (index.h("svg", { width: '22', height: '22', viewBox: '0 0 22 22', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', "aria-labelledby": 'icon-title' }, index.h("title", { id: 'icon-title' }, "Searchcraft Clear Input Icon Dark"), index.h("path", { d: 'M14 8L8 14M8 8L14 14M21 11C21 16.5228 16.5228 21 11 21C5.47715 21 1 16.5228 1 11C1 5.47715 5.47715 1 11 1C16.5228 1 21 5.47715 21 11Z', stroke: 'white', "stroke-width": '1.5', "stroke-linecap": 'round', "stroke-linejoin": 'round' })));
18
+ case 'arrow-light':
19
+ return (index.h("svg", { width: '20', height: '21', viewBox: '0 0 20 21', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', "aria-labelledby": 'icon-title' }, index.h("title", { id: 'icon-title' }, "Searchcraft Arrow Right Icon Light"), index.h("path", { d: 'M7.5 15.0444L12.5 10.0444L7.5 5.04443', stroke: '#737373', "stroke-width": '1.5', "stroke-linecap": 'round', "stroke-linejoin": 'round' })));
20
+ case 'arrow-dark':
21
+ return (index.h("svg", { width: '8', height: '12', viewBox: '0 0 8 12', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', "aria-labelledby": 'icon-title' }, index.h("title", { id: 'icon-title' }, "Searchcraft Arrow Right Icon Dark"), index.h("path", { d: 'M1.5 11L6.5 6L1.5 1', stroke: '#BFBFBF', "stroke-width": '1.5', "stroke-linecap": 'round', "stroke-linejoin": 'round' })));
22
+ default:
23
+ return null;
24
+ }
25
+ }
26
+ };
27
+
28
+ exports.searchcraft_clear_icon_set = SearchcraftClearIconSet;
29
+
30
+ //# sourceMappingURL=searchcraft-clear-icon-set.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"searchcraft-clear-icon-set.entry.cjs.js","mappings":";;;;;;MAMa,uBAAuB;;;oBAMhC,aAAa;;IAEf,MAAM;QACJ,QAAQ,IAAI,CAAC,IAAI;YACf,KAAK,aAAa;gBAChB,QACEA,iBACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,qBAClB,YAAY,IAE5BA,mBAAO,EAAE,EAAC,YAAY,yCAA2C,EACjEA,kBACE,CAAC,EAAC,uIAAuI,EACzI,MAAM,EAAC,OAAO,kBACD,KAAK,oBACH,OAAO,qBACN,OAAO,GACvB,CACE,EACN;YACJ,KAAK,YAAY;gBACf,QACEA,iBACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,qBAClB,YAAY,IAE5BA,mBAAO,EAAE,EAAC,YAAY,wCAA0C,EAChEA,kBACE,CAAC,EAAC,uIAAuI,EACzI,MAAM,EAAC,OAAO,kBACD,KAAK,oBACH,OAAO,qBACN,OAAO,GACvB,CACE,EACN;YACJ,KAAK,aAAa;gBAChB,QACEA,iBACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,qBAClB,YAAY,IAE5BA,mBAAO,EAAE,EAAC,YAAY,yCAA2C,EACjEA,kBACE,CAAC,EAAC,uCAAuC,EACzC,MAAM,EAAC,SAAS,kBACH,KAAK,oBACH,OAAO,qBACN,OAAO,GACvB,CACE,EACN;YACJ,KAAK,YAAY;gBACf,QACEA,iBACE,KAAK,EAAC,GAAG,EACT,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,UAAU,EAClB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,qBAClB,YAAY,IAE5BA,mBAAO,EAAE,EAAC,YAAY,wCAA0C,EAChEA,kBACE,CAAC,EAAC,qBAAqB,EACvB,MAAM,EAAC,SAAS,kBACH,KAAK,oBACH,OAAO,qBACN,OAAO,GACvB,CACE,EACN;YAEJ;gBACE,OAAO,IAAI,CAAC;SACf;KACF;;;;;","names":["h"],"sources":["src/assets/searchcraft-clear-icon-set.tsx"],"sourcesContent":["import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'searchcraft-clear-icon-set',\n shadow: true,\n})\nexport class SearchcraftClearIconSet {\n /**\n * Type of the icon to display.\n * Options: 'clear-light', 'clear-dark', 'arrow-light', 'arrow-dark'\n */\n @Prop() type: 'clear-light' | 'clear-dark' | 'arrow-light' | 'arrow-dark' =\n 'clear-light';\n\n render() {\n switch (this.type) {\n case 'clear-light':\n return (\n <svg\n width='22'\n height='22'\n viewBox='0 0 22 22'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n aria-labelledby='icon-title'\n >\n <title id='icon-title'>Searchcraft Clear Input Icon Light</title>\n <path\n d='M14 8L8 14M8 8L14 14M21 11C21 16.5228 16.5228 21 11 21C5.47715 21 1 16.5228 1 11C1 5.47715 5.47715 1 11 1C16.5228 1 21 5.47715 21 11Z'\n stroke='black'\n stroke-width='1.5'\n stroke-linecap='round'\n stroke-linejoin='round'\n />\n </svg>\n );\n case 'clear-dark':\n return (\n <svg\n width='22'\n height='22'\n viewBox='0 0 22 22'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n aria-labelledby='icon-title'\n >\n <title id='icon-title'>Searchcraft Clear Input Icon Dark</title>\n <path\n d='M14 8L8 14M8 8L14 14M21 11C21 16.5228 16.5228 21 11 21C5.47715 21 1 16.5228 1 11C1 5.47715 5.47715 1 11 1C16.5228 1 21 5.47715 21 11Z'\n stroke='white'\n stroke-width='1.5'\n stroke-linecap='round'\n stroke-linejoin='round'\n />\n </svg>\n );\n case 'arrow-light':\n return (\n <svg\n width='20'\n height='21'\n viewBox='0 0 20 21'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n aria-labelledby='icon-title'\n >\n <title id='icon-title'>Searchcraft Arrow Right Icon Light</title>\n <path\n d='M7.5 15.0444L12.5 10.0444L7.5 5.04443'\n stroke='#737373'\n stroke-width='1.5'\n stroke-linecap='round'\n stroke-linejoin='round'\n />\n </svg>\n );\n case 'arrow-dark':\n return (\n <svg\n width='8'\n height='12'\n viewBox='0 0 8 12'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n aria-labelledby='icon-title'\n >\n <title id='icon-title'>Searchcraft Arrow Right Icon Dark</title>\n <path\n d='M1.5 11L6.5 6L1.5 1'\n stroke='#BFBFBF'\n stroke-width='1.5'\n stroke-linecap='round'\n stroke-linejoin='round'\n />\n </svg>\n );\n\n default:\n return null;\n }\n }\n}\n"],"version":3}
@@ -0,0 +1,95 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-c8a8e492.js');
6
+ const index$1 = require('./index-5b0b9d4c.js');
7
+ const utils = require('./utils-4ee2b88d.js');
8
+
9
+ const searchcraftErrorMessageModuleCss = ":root{--sc-spinner-size:20px;--sc-input-border-radius:8px;--sc-input-search-icon-size:20px;--sc-input-clear-icon-size:20px;--sc-input-padding-left:44px;--sc-input-padding-right:44px;--sc-image-border-radius:8px}:root{--sc-surface-disabled:#D9D9D9;--sc-surface-neutral-primary:#FFFFFF;--sc-surface-neutral-secondary:#F3F3F3;--sc-surface-neutral-light:#FFFFFF;--sc-surface-neutral-primary-hover:#FAFAFA;--sc-surface-neutral-primary-active:#F7F7F7;--sc-surface-neutral-secondary-hover:#EDEDED;--sc-surface-neutral-secondary-active:#E6E6E6;--sc-surface-brand-primary:#000000;--sc-surface-brand-secondary:#E6E6E6;--sc-surface-brand-primary-hover:#2E2E2E;--sc-surface-brand-primary-active:#292929;--sc-surface-brand-secondary-hover:#EBEBEB;--sc-surface-brand-secondary-active:#E0E0E0;--sc-surface-success-primary:#008000;--sc-surface-success-secondary:#CCFFCC;--sc-surface-success-primary-hover:#009900;--sc-surface-success-primary-active:#006600;--sc-surface-success-secondary-hover:#E6FFE6;--sc-surface-success-secondary-active:#E6FFE6;--sc-surface-caution-primary:#CC6600;--sc-surface-caution-secondary:#FFD9B3;--sc-surface-caution-primary-hover:#E57300;--sc-surface-caution-primary-active:#B25A00;--sc-surface-caution-secondary-hover:#FFE5CC;--sc-surface-caution-secondary-active:#FFCC99;--sc-surface-danger-primary:#CC0000;--sc-surface-danger-secondary:#FFCCCC;--sc-surface-danger-primary-hover:#E50000;--sc-surface-danger-primary-active:#B30000;--sc-surface-danger-secondary-hover:#FFE7E7;--sc-surface-danger-secondary-active:#FFB3B3;--sc-content-brand:#000000;--sc-content-success:#008000;--sc-content-caution:#994D00;--sc-content-danger:#990000;--sc-content-disabled:#737373;--sc-content-neutral-primary:#292929;--sc-content-neutral-secondary:#404040;--sc-content-brand-on-primary:#FFFFFF;--sc-content-success-on-primary:#FFFFFF;--sc-content-caution-on-primary:#FFFFFF;--sc-content-danger-on-primary:#FFFFFF;--sc-content-disabled-on-disabled:#737373;--sc-border-neutral:rgba(0,0,0, 0.1);--sc-border-brand:#000000;--sc-border-success:#008000;--sc-border-caution:#CC6600;--sc-border-danger:#CC0000;--sc-border-disabled:#737373}:root{--sc-font-family:sans-serif;--sc-heading-1-font-size:32px;--sc-heading-1-line-height:36px;--sc-heading-1-font-weight:700;--sc-heading-2-font-size:29px;--sc-heading-2-line-height:32px;--sc-heading-2-font-weight:700;--sc-heading-3-font-size:26px;--sc-heading-3-line-height:28px;--sc-heading-3-font-weight:700;--sc-heading-4-font-size:23px;--sc-heading-4-line-height:24px;--sc-heading-4-font-weight:700;--sc-heading-5-font-size:20px;--sc-heading-5-line-height:24px;--sc-heading-5-font-weight:700;--sc-heading-6-font-size:10px;--sc-heading-6-line-height:12px;--sc-heading-6-font-weight:700;--sc-body-bold-font-size:16px;--sc-body-bold-line-height:20px;--sc-body-bold-font-weight:700;--sc-body-font-size:16px;--sc-body-line-height:20px;--sc-body-font-weight:400;--sc-body-small-bold-font-size:12px;--sc-body-small-bold-line-height:16px;--sc-body-small-bold-font-weight:700;--sc-body-small-font-size:12px;--sc-body-small-line-height:16px;--sc-body-small-font-weight:400}.searchcraft-error-message{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-body-small-font-weight);line-height:var(--sc-body-small-line-height);color:var(--sc-content-danger)}";
10
+ const SearchcraftErrorMessageStyle0 = searchcraftErrorMessageModuleCss;
11
+
12
+ const SearchcraftErrorMessage = class {
13
+ constructor(hostRef) {
14
+ index.registerInstance(this, hostRef);
15
+ this.errorMessage = undefined;
16
+ }
17
+ render() {
18
+ return (index.h("p", { key: '07a5a9e83a30988018aa9d3d3ece9d0894923399', class: 'searchcraft-error-message' }, this.errorMessage || 'Search term is required.'));
19
+ }
20
+ };
21
+ SearchcraftErrorMessage.style = SearchcraftErrorMessageStyle0;
22
+
23
+ const searchcraftInputModuleCss = ":root{--sc-spinner-size:20px;--sc-input-border-radius:8px;--sc-input-search-icon-size:20px;--sc-input-clear-icon-size:20px;--sc-input-padding-left:44px;--sc-input-padding-right:44px;--sc-image-border-radius:8px}:root{--sc-surface-disabled:#D9D9D9;--sc-surface-neutral-primary:#FFFFFF;--sc-surface-neutral-secondary:#F3F3F3;--sc-surface-neutral-light:#FFFFFF;--sc-surface-neutral-primary-hover:#FAFAFA;--sc-surface-neutral-primary-active:#F7F7F7;--sc-surface-neutral-secondary-hover:#EDEDED;--sc-surface-neutral-secondary-active:#E6E6E6;--sc-surface-brand-primary:#000000;--sc-surface-brand-secondary:#E6E6E6;--sc-surface-brand-primary-hover:#2E2E2E;--sc-surface-brand-primary-active:#292929;--sc-surface-brand-secondary-hover:#EBEBEB;--sc-surface-brand-secondary-active:#E0E0E0;--sc-surface-success-primary:#008000;--sc-surface-success-secondary:#CCFFCC;--sc-surface-success-primary-hover:#009900;--sc-surface-success-primary-active:#006600;--sc-surface-success-secondary-hover:#E6FFE6;--sc-surface-success-secondary-active:#E6FFE6;--sc-surface-caution-primary:#CC6600;--sc-surface-caution-secondary:#FFD9B3;--sc-surface-caution-primary-hover:#E57300;--sc-surface-caution-primary-active:#B25A00;--sc-surface-caution-secondary-hover:#FFE5CC;--sc-surface-caution-secondary-active:#FFCC99;--sc-surface-danger-primary:#CC0000;--sc-surface-danger-secondary:#FFCCCC;--sc-surface-danger-primary-hover:#E50000;--sc-surface-danger-primary-active:#B30000;--sc-surface-danger-secondary-hover:#FFE7E7;--sc-surface-danger-secondary-active:#FFB3B3;--sc-content-brand:#000000;--sc-content-success:#008000;--sc-content-caution:#994D00;--sc-content-danger:#990000;--sc-content-disabled:#737373;--sc-content-neutral-primary:#292929;--sc-content-neutral-secondary:#404040;--sc-content-brand-on-primary:#FFFFFF;--sc-content-success-on-primary:#FFFFFF;--sc-content-caution-on-primary:#FFFFFF;--sc-content-danger-on-primary:#FFFFFF;--sc-content-disabled-on-disabled:#737373;--sc-border-neutral:rgba(0,0,0, 0.1);--sc-border-brand:#000000;--sc-border-success:#008000;--sc-border-caution:#CC6600;--sc-border-danger:#CC0000;--sc-border-disabled:#737373}:root{--sc-font-family:sans-serif;--sc-heading-1-font-size:32px;--sc-heading-1-line-height:36px;--sc-heading-1-font-weight:700;--sc-heading-2-font-size:29px;--sc-heading-2-line-height:32px;--sc-heading-2-font-weight:700;--sc-heading-3-font-size:26px;--sc-heading-3-line-height:28px;--sc-heading-3-font-weight:700;--sc-heading-4-font-size:23px;--sc-heading-4-line-height:24px;--sc-heading-4-font-weight:700;--sc-heading-5-font-size:20px;--sc-heading-5-line-height:24px;--sc-heading-5-font-weight:700;--sc-heading-6-font-size:10px;--sc-heading-6-line-height:12px;--sc-heading-6-font-weight:700;--sc-body-bold-font-size:16px;--sc-body-bold-line-height:20px;--sc-body-bold-font-weight:700;--sc-body-font-size:16px;--sc-body-line-height:20px;--sc-body-font-weight:400;--sc-body-small-bold-font-size:12px;--sc-body-small-bold-line-height:16px;--sc-body-small-bold-font-weight:700;--sc-body-small-font-size:12px;--sc-body-small-line-height:16px;--sc-body-small-font-weight:400}searchcraft-input{display:flex;flex:1}.searchcraft-input-wrapper{display:inline-block;position:relative;cursor:text}.searchcraft-input-wrapper-flex{display:flex;flex:1}.searchcraft-input-flex{flex:1}.searchcraft-input{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-body-font-weight);line-height:var(--sc-body-line-height);background-color:var(--sc-surface-neutral-secondary);border:none;border-radius:var(--sc-input-border-radius);color:var(--sc-content-neutral-primary);outline:none;padding-left:var(--sc-input-padding-left);padding-right:var(--sc-input-padding-right);padding-top:12px;padding-bottom:12px}.searchcraft-input::placeholder{color:var(--sc-content-disabled)}.searchcraft-input:focus{outline:var(--sc-border-brand) solid 2px}.searchcraft-input:focus::placeholder{opacity:0}.searchcraft-input.error{color:var(--sc-content-danger);outline:var(--sc-border-danger) solid 2px}.searchcraft-input.error:focus{outline:var(--sc-border-danger) solid 2px}.searchcraft-input-search-icon-wrapper{align-items:center;justify-content:center;display:flex;position:absolute;pointer-events:none;bottom:0;left:0;top:0;width:var(--sc-input-padding-left)}.searchcraft-input-search-icon{pointer-events:none;width:var(--sc-input-search-icon-size);height:var(--sc-input-search-icon-size)}.searchcraft-input-clear-button{all:unset;align-items:center;justify-content:center;cursor:pointer;display:flex;position:absolute;border:none;outline:none;bottom:0;right:0;top:0;width:var(--sc-input-padding-right)}.searchcraft-input-clear-icon{width:var(--sc-input-clear-icon-size);height:var(--sc-input-clear-icon-size)}";
24
+ const SearchcraftInputStyle0 = searchcraftInputModuleCss;
25
+
26
+ const SearchcraftInput = class {
27
+ constructor(hostRef) {
28
+ index.registerInstance(this, hostRef);
29
+ this.clearInput = index.createEvent(this, "clearInput", 7);
30
+ this.inputChange = index.createEvent(this, "inputChange", 7);
31
+ this.handleOnInput = (event) => {
32
+ const input = event.target;
33
+ this.inputValue = input.value;
34
+ this.inputChange.emit(input.value);
35
+ };
36
+ this.handleClearInput = () => {
37
+ this.inputValue = '';
38
+ if (this.clearInput) {
39
+ this.clearInput.emit();
40
+ }
41
+ if (this.inputValue === '') {
42
+ return;
43
+ }
44
+ };
45
+ this.customStyles = {};
46
+ this.error = false;
47
+ this.inputCaptionClassName = '';
48
+ this.inputCaptionValue = '';
49
+ this.inputClassName = '';
50
+ this.isRequesting = false;
51
+ this.placeholderValue = 'Enter Search';
52
+ this.query = '';
53
+ this.flex = true;
54
+ this.inputValue = this.query;
55
+ }
56
+ render() {
57
+ const validatedCustomStyles = utils.parseCustomStyles(this.customStyles);
58
+ const inputWrapperClassNames = index$1.classNames('searchcraft-input-wrapper', {
59
+ 'searchcraft-input-wrapper-flex': this.flex,
60
+ });
61
+ const inputClassNames = index$1.classNames('searchcraft-input', {
62
+ 'searchcraft-input-flex': this.flex,
63
+ error: this.error,
64
+ });
65
+ const isShowingClearButton = this.inputValue.length > 0;
66
+ return (index.h("div", { key: 'ccc37209c67ce2d5faa3ad435f0c303bf23b9355', class: inputWrapperClassNames }, index.h("input", { key: 'd368f669c9e5ab7716502100d27325140a7d4c4e', autoComplete: 'off', class: inputClassNames, onInput: (event) => {
67
+ this.handleOnInput(event);
68
+ }, placeholder: this.placeholderValue, style: validatedCustomStyles, type: 'text', value: this.inputValue }), index.h("div", { key: 'b26c20cf29469f80a072635a4dc23ca8123d2b0b', class: 'searchcraft-input-search-icon-wrapper' }, index.h("svg", { key: '0865511d00e078982fe873e2b6fce30df290cdbd', class: 'searchcraft-input-search-icon', viewBox: '0 0 20 20', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', "aria-labelledby": 'searchcraft-title' }, index.h("title", { key: '09e89005bc7972729888ed787f579ad18b6886b4', id: 'searchcraft-title' }, "Searchcraft Search Icon Light"), index.h("path", { key: 'fc37d213842b87f26d9d9f89c0708392a197648c', d: 'M17.5 17.5L13.875 13.875M15.8333 9.16667C15.8333 12.8486 12.8486 15.8333 9.16667 15.8333C5.48477 15.8333 2.5 12.8486 2.5 9.16667C2.5 5.48477 5.48477 2.5 9.16667 2.5C12.8486 2.5 15.8333 5.48477 15.8333 9.16667Z', stroke: '#404040', "stroke-width": '1.5', "stroke-linecap": 'round', "stroke-linejoin": 'round' }))), isShowingClearButton && (index.h("button", { key: '779b81efc2ae5e985415edf4f9c02618852c7185', type: 'button', class: 'searchcraft-input-clear-button', onClick: this.handleClearInput }, index.h("svg", { key: '511dd4755fd75ab0a75ecd21ad18eb8726f84c94', class: 'searchcraft-input-clear-icon', viewBox: '0 0 22 22', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', "aria-labelledby": 'icon-title' }, index.h("title", { key: '97304d272345567dd59ef1c1985663074bd0ed0e', id: 'icon-title' }, "Searchcraft Clear Input Icon Light"), index.h("path", { key: '147f88e2f51d855fbc097e81d32f24c27217f443', d: 'M14 8L8 14M8 8L14 14M21 11C21 16.5228 16.5228 21 11 21C5.47715 21 1 16.5228 1 11C1 5.47715 5.47715 1 11 1C16.5228 1 21 5.47715 21 11Z', stroke: 'black', "stroke-width": '1.5', "stroke-linecap": 'round', "stroke-linejoin": 'round' }))))));
69
+ }
70
+ };
71
+ SearchcraftInput.style = SearchcraftInputStyle0;
72
+
73
+ const searchcraftInputLabelModuleCss = ":root{--sc-spinner-size:20px;--sc-input-border-radius:8px;--sc-input-search-icon-size:20px;--sc-input-clear-icon-size:20px;--sc-input-padding-left:44px;--sc-input-padding-right:44px;--sc-image-border-radius:8px}:root{--sc-surface-disabled:#D9D9D9;--sc-surface-neutral-primary:#FFFFFF;--sc-surface-neutral-secondary:#F3F3F3;--sc-surface-neutral-light:#FFFFFF;--sc-surface-neutral-primary-hover:#FAFAFA;--sc-surface-neutral-primary-active:#F7F7F7;--sc-surface-neutral-secondary-hover:#EDEDED;--sc-surface-neutral-secondary-active:#E6E6E6;--sc-surface-brand-primary:#000000;--sc-surface-brand-secondary:#E6E6E6;--sc-surface-brand-primary-hover:#2E2E2E;--sc-surface-brand-primary-active:#292929;--sc-surface-brand-secondary-hover:#EBEBEB;--sc-surface-brand-secondary-active:#E0E0E0;--sc-surface-success-primary:#008000;--sc-surface-success-secondary:#CCFFCC;--sc-surface-success-primary-hover:#009900;--sc-surface-success-primary-active:#006600;--sc-surface-success-secondary-hover:#E6FFE6;--sc-surface-success-secondary-active:#E6FFE6;--sc-surface-caution-primary:#CC6600;--sc-surface-caution-secondary:#FFD9B3;--sc-surface-caution-primary-hover:#E57300;--sc-surface-caution-primary-active:#B25A00;--sc-surface-caution-secondary-hover:#FFE5CC;--sc-surface-caution-secondary-active:#FFCC99;--sc-surface-danger-primary:#CC0000;--sc-surface-danger-secondary:#FFCCCC;--sc-surface-danger-primary-hover:#E50000;--sc-surface-danger-primary-active:#B30000;--sc-surface-danger-secondary-hover:#FFE7E7;--sc-surface-danger-secondary-active:#FFB3B3;--sc-content-brand:#000000;--sc-content-success:#008000;--sc-content-caution:#994D00;--sc-content-danger:#990000;--sc-content-disabled:#737373;--sc-content-neutral-primary:#292929;--sc-content-neutral-secondary:#404040;--sc-content-brand-on-primary:#FFFFFF;--sc-content-success-on-primary:#FFFFFF;--sc-content-caution-on-primary:#FFFFFF;--sc-content-danger-on-primary:#FFFFFF;--sc-content-disabled-on-disabled:#737373;--sc-border-neutral:rgba(0,0,0, 0.1);--sc-border-brand:#000000;--sc-border-success:#008000;--sc-border-caution:#CC6600;--sc-border-danger:#CC0000;--sc-border-disabled:#737373}:root{--sc-font-family:sans-serif;--sc-heading-1-font-size:32px;--sc-heading-1-line-height:36px;--sc-heading-1-font-weight:700;--sc-heading-2-font-size:29px;--sc-heading-2-line-height:32px;--sc-heading-2-font-weight:700;--sc-heading-3-font-size:26px;--sc-heading-3-line-height:28px;--sc-heading-3-font-weight:700;--sc-heading-4-font-size:23px;--sc-heading-4-line-height:24px;--sc-heading-4-font-weight:700;--sc-heading-5-font-size:20px;--sc-heading-5-line-height:24px;--sc-heading-5-font-weight:700;--sc-heading-6-font-size:10px;--sc-heading-6-line-height:12px;--sc-heading-6-font-weight:700;--sc-body-bold-font-size:16px;--sc-body-bold-line-height:20px;--sc-body-bold-font-weight:700;--sc-body-font-size:16px;--sc-body-line-height:20px;--sc-body-font-weight:400;--sc-body-small-bold-font-size:12px;--sc-body-small-bold-line-height:16px;--sc-body-small-bold-font-weight:700;--sc-body-small-font-size:12px;--sc-body-small-line-height:16px;--sc-body-small-font-weight:400}.searchcraft-input-label{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-bold-font-size);font-weight:var(--sc-body-small-bold-font-weight);line-height:var(--sc-body-small-bold-line-height);color:var(--sc-content-neutral-primary);margin-top:4px;margin-bottom:4px}";
74
+ const SearchcraftInputLabelStyle0 = searchcraftInputLabelModuleCss;
75
+
76
+ const SearchcraftInputLabel = class {
77
+ constructor(hostRef) {
78
+ index.registerInstance(this, hostRef);
79
+ this.inputLabelClassName = '';
80
+ this.label = undefined;
81
+ }
82
+ render() {
83
+ if (!this.label) {
84
+ return null;
85
+ }
86
+ return (index.h("label", { class: 'searchcraft-input-label', htmlFor: 'searchcraft-input-id' }, this.label));
87
+ }
88
+ };
89
+ SearchcraftInputLabel.style = SearchcraftInputLabelStyle0;
90
+
91
+ exports.searchcraft_error_message = SearchcraftErrorMessage;
92
+ exports.searchcraft_input = SearchcraftInput;
93
+ exports.searchcraft_input_label = SearchcraftInputLabel;
94
+
95
+ //# sourceMappingURL=searchcraft-error-message_3.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"searchcraft-error-message.searchcraft-input.searchcraft-input-label.entry.cjs.js","mappings":"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","names":["h","parseCustomStyles","classNames"],"sources":["src/components/searchcraft-error-message/searchcraft-error-message.module.scss?tag=searchcraft-error-message","src/components/searchcraft-error-message/searchcraft-error-message.tsx","src/components/searchcraft-input/searchcraft-input.module.scss?tag=searchcraft-input","src/components/searchcraft-input/searchcraft-input.tsx","src/components/searchcraft-input-label/searchcraft-input-label.module.scss?tag=searchcraft-input-label","src/components/searchcraft-input-label/searchcraft-input-label.tsx"],"sourcesContent":[".searchcraft-error-message {\n @include body-small();\n color: var(--sc-content-danger);\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'searchcraft-error-message',\n styleUrl: 'searchcraft-error-message.module.scss',\n shadow: false,\n})\nexport class SearchcraftErrorMessage {\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","searchcraft-input {\n display: flex;\n flex: 1;\n}\n\n.searchcraft-input-wrapper {\n display: inline-block;\n position: relative;\n cursor: text;\n}\n\n.searchcraft-input-wrapper-flex {\n display: flex;\n flex: 1;\n}\n\n.searchcraft-input-flex {\n flex: 1;\n}\n\n.searchcraft-input {\n @include body();\n background-color: var(--sc-surface-neutral-secondary);\n border: none;\n border-radius: var(--sc-input-border-radius);\n color: var(--sc-content-neutral-primary);\n outline: none;\n padding-left: var(--sc-input-padding-left);\n padding-right: var(--sc-input-padding-right);\n padding-top: 12px;\n padding-bottom: 12px;\n\n &::placeholder {\n color: var(--sc-content-disabled);\n }\n\n &:focus {\n outline: var(--sc-border-brand) solid 2px;\n }\n\n &:focus::placeholder {\n opacity: 0;\n }\n}\n\n.searchcraft-input.error {\n color: var(--sc-content-danger);\n outline: var(--sc-border-danger) solid 2px;\n\n &:focus {\n outline: var(--sc-border-danger) solid 2px;\n }\n}\n\n.searchcraft-input-search-icon-wrapper {\n align-items: center;\n justify-content: center;\n display: flex;\n position: absolute;\n pointer-events: none;\n bottom: 0;\n left: 0;\n top: 0;\n width: var(--sc-input-padding-left);\n}\n\n.searchcraft-input-search-icon {\n pointer-events: none;\n width: var(--sc-input-search-icon-size);\n height: var(--sc-input-search-icon-size);\n}\n\n.searchcraft-input-clear-button {\n all: unset;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n display: flex;\n position: absolute;\n border: none;\n outline: none;\n bottom: 0;\n right: 0;\n top: 0;\n width: var(--sc-input-padding-right);\n}\n\n.searchcraft-input-clear-icon {\n width: var(--sc-input-clear-icon-size);\n height: var(--sc-input-clear-icon-size);\n}\n","import {\n Component,\n h,\n Prop,\n State,\n Event,\n type EventEmitter,\n} from '@stencil/core';\nimport classNames from 'classnames';\n\nimport { parseCustomStyles } from '@utils/utils';\n\nexport interface ScInputCustomEvent<T> extends CustomEvent<T> {\n detail: T;\n target: HTMLSearchcraftInputElement;\n}\n\n@Component({\n tag: 'searchcraft-input',\n styleUrl: 'searchcraft-input.module.scss',\n shadow: false,\n})\nexport class SearchcraftInput {\n @Prop() customStyles: string | Record<string, string> = {};\n @Prop() error = false;\n @Prop() inputCaptionClassName = '';\n @Prop() inputCaptionValue = '';\n @Prop() inputClassName = '';\n @Prop() isRequesting = false;\n @Prop() placeholderValue = 'Enter Search';\n @Prop() query = '';\n @Prop() flex = true;\n\n @Event() clearInput: EventEmitter<void>;\n @Event() inputChange: EventEmitter<string>;\n\n @State() inputValue = this.query;\n\n handleOnInput = (event: Event) => {\n const input = event.target as HTMLInputElement;\n this.inputValue = input.value;\n this.inputChange.emit(input.value);\n };\n\n handleClearInput = () => {\n this.inputValue = '';\n\n if (this.clearInput) {\n this.clearInput.emit();\n }\n if (this.inputValue === '') {\n return;\n }\n };\n\n render() {\n const validatedCustomStyles = parseCustomStyles(this.customStyles);\n\n const inputWrapperClassNames = classNames('searchcraft-input-wrapper', {\n 'searchcraft-input-wrapper-flex': this.flex,\n });\n\n const inputClassNames = classNames('searchcraft-input', {\n 'searchcraft-input-flex': this.flex,\n error: this.error,\n });\n\n const isShowingClearButton = this.inputValue.length > 0;\n\n return (\n <div class={inputWrapperClassNames}>\n <input\n autoComplete='off'\n class={inputClassNames}\n onInput={(event) => {\n this.handleOnInput(event);\n }}\n placeholder={this.placeholderValue}\n style={validatedCustomStyles}\n type='text'\n value={this.inputValue}\n />\n <div class='searchcraft-input-search-icon-wrapper'>\n <svg\n class='searchcraft-input-search-icon'\n viewBox='0 0 20 20'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n aria-labelledby='searchcraft-title'\n >\n <title id='searchcraft-title'>Searchcraft Search Icon Light</title>\n <path\n d='M17.5 17.5L13.875 13.875M15.8333 9.16667C15.8333 12.8486 12.8486 15.8333 9.16667 15.8333C5.48477 15.8333 2.5 12.8486 2.5 9.16667C2.5 5.48477 5.48477 2.5 9.16667 2.5C12.8486 2.5 15.8333 5.48477 15.8333 9.16667Z'\n stroke='#404040'\n stroke-width='1.5'\n stroke-linecap='round'\n stroke-linejoin='round'\n />\n </svg>\n </div>\n {isShowingClearButton && (\n <button\n type='button'\n class='searchcraft-input-clear-button'\n onClick={this.handleClearInput}\n >\n <svg\n class='searchcraft-input-clear-icon'\n viewBox='0 0 22 22'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n aria-labelledby='icon-title'\n >\n <title id='icon-title'>Searchcraft Clear Input Icon Light</title>\n <path\n d='M14 8L8 14M8 8L14 14M21 11C21 16.5228 16.5228 21 11 21C5.47715 21 1 16.5228 1 11C1 5.47715 5.47715 1 11 1C16.5228 1 21 5.47715 21 11Z'\n stroke='black'\n stroke-width='1.5'\n stroke-linecap='round'\n stroke-linejoin='round'\n />\n </svg>\n </button>\n )}\n </div>\n );\n }\n}\n",".searchcraft-input-label {\n @include body-small-bold();\n color: var(--sc-content-neutral-primary);\n margin-top: 4px;\n margin-bottom: 4px;\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'searchcraft-input-label',\n styleUrl: 'searchcraft-input-label.module.scss',\n shadow: false,\n})\nexport class SearchcraftInputLabel {\n @Prop() inputLabelClassName? = '';\n @Prop() label?: string;\n\n render() {\n if (!this.label) {\n return null;\n }\n return (\n <label class='searchcraft-input-label' htmlFor='searchcraft-input-id'>\n {this.label}\n </label>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,183 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-c8a8e492.js');
6
+ const index$1 = require('./index-5b0b9d4c.js');
7
+ const store = require('./store-72205332.js');
8
+ const utils = require('./utils-4ee2b88d.js');
9
+
10
+ const searchcraftFacetListModuleCss = ":root{--sc-spinner-size:20px;--sc-input-border-radius:8px;--sc-input-search-icon-size:20px;--sc-input-clear-icon-size:20px;--sc-input-padding-left:44px;--sc-input-padding-right:44px;--sc-image-border-radius:8px}:root{--sc-surface-disabled:#D9D9D9;--sc-surface-neutral-primary:#FFFFFF;--sc-surface-neutral-secondary:#F3F3F3;--sc-surface-neutral-light:#FFFFFF;--sc-surface-neutral-primary-hover:#FAFAFA;--sc-surface-neutral-primary-active:#F7F7F7;--sc-surface-neutral-secondary-hover:#EDEDED;--sc-surface-neutral-secondary-active:#E6E6E6;--sc-surface-brand-primary:#000000;--sc-surface-brand-secondary:#E6E6E6;--sc-surface-brand-primary-hover:#2E2E2E;--sc-surface-brand-primary-active:#292929;--sc-surface-brand-secondary-hover:#EBEBEB;--sc-surface-brand-secondary-active:#E0E0E0;--sc-surface-success-primary:#008000;--sc-surface-success-secondary:#CCFFCC;--sc-surface-success-primary-hover:#009900;--sc-surface-success-primary-active:#006600;--sc-surface-success-secondary-hover:#E6FFE6;--sc-surface-success-secondary-active:#E6FFE6;--sc-surface-caution-primary:#CC6600;--sc-surface-caution-secondary:#FFD9B3;--sc-surface-caution-primary-hover:#E57300;--sc-surface-caution-primary-active:#B25A00;--sc-surface-caution-secondary-hover:#FFE5CC;--sc-surface-caution-secondary-active:#FFCC99;--sc-surface-danger-primary:#CC0000;--sc-surface-danger-secondary:#FFCCCC;--sc-surface-danger-primary-hover:#E50000;--sc-surface-danger-primary-active:#B30000;--sc-surface-danger-secondary-hover:#FFE7E7;--sc-surface-danger-secondary-active:#FFB3B3;--sc-content-brand:#000000;--sc-content-success:#008000;--sc-content-caution:#994D00;--sc-content-danger:#990000;--sc-content-disabled:#737373;--sc-content-neutral-primary:#292929;--sc-content-neutral-secondary:#404040;--sc-content-brand-on-primary:#FFFFFF;--sc-content-success-on-primary:#FFFFFF;--sc-content-caution-on-primary:#FFFFFF;--sc-content-danger-on-primary:#FFFFFF;--sc-content-disabled-on-disabled:#737373;--sc-border-neutral:rgba(0,0,0, 0.1);--sc-border-brand:#000000;--sc-border-success:#008000;--sc-border-caution:#CC6600;--sc-border-danger:#CC0000;--sc-border-disabled:#737373}:root{--sc-font-family:sans-serif;--sc-heading-1-font-size:32px;--sc-heading-1-line-height:36px;--sc-heading-1-font-weight:700;--sc-heading-2-font-size:29px;--sc-heading-2-line-height:32px;--sc-heading-2-font-weight:700;--sc-heading-3-font-size:26px;--sc-heading-3-line-height:28px;--sc-heading-3-font-weight:700;--sc-heading-4-font-size:23px;--sc-heading-4-line-height:24px;--sc-heading-4-font-weight:700;--sc-heading-5-font-size:20px;--sc-heading-5-line-height:24px;--sc-heading-5-font-weight:700;--sc-heading-6-font-size:10px;--sc-heading-6-line-height:12px;--sc-heading-6-font-weight:700;--sc-body-bold-font-size:16px;--sc-body-bold-line-height:20px;--sc-body-bold-font-weight:700;--sc-body-font-size:16px;--sc-body-line-height:20px;--sc-body-font-weight:400;--sc-body-small-bold-font-size:12px;--sc-body-small-bold-line-height:16px;--sc-body-small-bold-font-weight:700;--sc-body-small-font-size:12px;--sc-body-small-line-height:16px;--sc-body-small-font-weight:400}.filtersListContainer{width:100%}.filterCheckboxLabel{align-items:center;color:var(--sc-content-primary);display:flex;font-family:var(--sc-font-family);font-size:14px;font-weight:600;gap:14px;position:relative;-webkit-font-smoothing:antialiased}.filterCheckboxLabel input[type=checkbox]{align-items:center;appearance:none;background-color:var(--sc-surface-brand-secondary-hover);border:1px solid var(--sc-surface-disabled);border-radius:8px;cursor:pointer;display:flex;height:24px;justify-content:center;width:24px}.filterCheckboxLabel input[type=checkbox]:focus{outline:2px solid var(--sc-surface-brand-primary)}.filterCheckboxLabel input[type=checkbox]:checked{background-color:var(--sc-surface-brand-primary);position:relative}.filterCheckboxLabel input[type=checkbox]:checked+.checkContainer{display:block}.filterCheckboxLabel input[type=checkbox]:checked+.dashContainer{display:block}.childFilterCheckboxLabel{align-items:center;color:var(--sc-content-primary);display:flex;font-family:var(--sc-font-family);font-size:14px;font-weight:600;gap:12px;margin-left:24px;position:relative}.childFilterCheckboxLabel input[type=checkbox]{align-items:center;appearance:none;background-color:var(--sc-surface-brand-secondary-hover);border:1px solid var(--sc-surface-disabled);border-radius:8px;cursor:pointer;display:flex;height:24px;justify-content:center;position:relative;width:24px;-webkit-font-smoothing:antialiased}.childFilterCheckboxLabel input[type=checkbox]:focus{outline:2px solid var(--sc-surface-brand-primary)}.childFilterCheckboxLabel input[type=checkbox]:checked{background-color:var(--sc-surface-brand-primary);position:relative}.childFilterCheckboxLabel input[type=checkbox]:checked+.checkContainer{display:block}.childFilterCheckboxLabel input[type=checkbox]:checked+.dashContainer{display:block}.checkContainer{display:none;height:16px;width:16px;position:absolute;top:9px;left:8px}.dashContainer{display:none;height:3px;width:14px;position:absolute;top:3px;left:9px}.searchcraft-facet-message{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-body-small-font-weight);line-height:var(--sc-body-small-line-height);color:var(--sc-content-disabled);text-align:center}";
11
+ const SearchcraftFacetListStyle0 = searchcraftFacetListModuleCss;
12
+
13
+ const SearchcraftFiltersList = class {
14
+ constructor(hostRef) {
15
+ index.registerInstance(this, hostRef);
16
+ this.facetSelectionUpdated = index.createEvent(this, "facetSelectionUpdated", 7);
17
+ this.searchStore = store.useSearchcraftStore.getState();
18
+ this.formatLabel = (facetChild) => {
19
+ const label = facetChild.path.replace(/^\//, '');
20
+ const count = facetChild.count;
21
+ return `${label.replace(/-/g, ' ').replace(/\b\w/g, (char) => char.toUpperCase())} (${count})`;
22
+ };
23
+ this.formatSubLabel = (facetChild, facetChildAncestor) => {
24
+ const facetChildPath = facetChild.path.substring(facetChildAncestor.path.length);
25
+ const label = facetChildPath.replace(/^\//, '');
26
+ const count = facetChild.count;
27
+ return `${label.replace(/-/g, ' ').replace(/\b\w/g, (char) => char.toUpperCase())} (${count})`;
28
+ };
29
+ this.fieldName = undefined;
30
+ this.facetRoot = undefined;
31
+ this.selectedPaths = {};
32
+ this.lastQuery = undefined;
33
+ this.unsubscribe = undefined;
34
+ }
35
+ initFacetRootFromState(state) {
36
+ var _a;
37
+ const facetPrime = (_a = state.searchResults) === null || _a === void 0 ? void 0 : _a.data.facets;
38
+ if (facetPrime) {
39
+ const facetRoot = facetPrime.find((facet) => this.fieldName === Object.keys(facet)[0]);
40
+ if (this.facetRoot) {
41
+ this.facetRoot = utils.mergeFacetRoots(this.fieldName, this.facetRoot, facetRoot);
42
+ }
43
+ else {
44
+ this.facetRoot = facetRoot;
45
+ }
46
+ // Clear the selected paths if the query changed
47
+ if (state.query !== this.lastQuery) {
48
+ this.selectedPaths = {};
49
+ // Remove the facet root if the query is empty
50
+ if (state.query.trim().length === 0) {
51
+ this.facetRoot = undefined;
52
+ }
53
+ }
54
+ }
55
+ this.lastQuery = state.query;
56
+ }
57
+ connectedCallback() {
58
+ this.initFacetRootFromState(this.searchStore);
59
+ this.unsubscribe = store.useSearchcraftStore.subscribe((state) => {
60
+ this.initFacetRootFromState(state);
61
+ });
62
+ }
63
+ disconnectedCallback() {
64
+ var _a;
65
+ (_a = this.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(this);
66
+ }
67
+ handleCheckboxChange(path) {
68
+ this.selectedPaths = Object.assign(Object.assign({}, this.selectedPaths), { [path]: !this.selectedPaths[path] });
69
+ const paths = Object.keys(this.selectedPaths).filter((path) => this.selectedPaths[path]);
70
+ const pathsWithParentPathsRemoved = utils.removeSubstringMatches(paths);
71
+ this.facetSelectionUpdated.emit({ paths: pathsWithParentPathsRemoved });
72
+ }
73
+ render() {
74
+ var _a;
75
+ const firstFacet = (_a = this.facetRoot) === null || _a === void 0 ? void 0 : _a[this.fieldName];
76
+ return (index.h("div", { key: '3f7daaa4d9efdd5cfef6c254bd56aad457eceb47', class: index$1.classNames('filtersListContainer', 'searchcraft-filters-list-container') }, !firstFacet && (index.h("p", { key: '3f9fc14961209475b88cd4726014035dfcf62a20', class: 'searchcraft-facet-message' }, "Enter a search to view facets.")), firstFacet === null || firstFacet === void 0 ? void 0 :
77
+ firstFacet.map((facetChild) => {
78
+ var _a;
79
+ const isChildSelected = facetChild.children
80
+ ? (_a = facetChild.children) === null || _a === void 0 ? void 0 : _a.some((child) => this.selectedPaths[child.path])
81
+ : false;
82
+ return (index.h("div", { key: facetChild.path, class: index$1.classNames('searchcraft-filters-list-item') }, index.h("label", { class: index$1.classNames('filterCheckboxLabel', 'searchcraft-filters-list-checkbox-label') }, index.h("input", { checked: this.selectedPaths[facetChild.path], onChange: (_event) => this.handleCheckboxChange(facetChild.path), type: 'checkbox' }), isChildSelected ? (index.h("div", { class: index$1.classNames('dashContainer', 'searchcraft-filter-list-dash-container') }, index.h("searchcraft-dash-icon", null))) : (index.h("div", { class: index$1.classNames('checkContainer', 'searchcraft-filter-list-check-container') }, index.h("searchcraft-check-icon", null))), this.formatLabel(facetChild)), facetChild.children && facetChild.children.length > 0 && (index.h(index.Fragment, null, facetChild.children.map((grandchild) => (index.h("label", { key: grandchild.path, class: index$1.classNames('childFilterCheckboxLabel', 'searchcraft-child-filter-checkbox-label'), style: {
83
+ display: this.selectedPaths[facetChild.path]
84
+ ? 'flex'
85
+ : 'none',
86
+ } }, index.h("input", { checked: this.selectedPaths[grandchild.path], onChange: (_event) => {
87
+ this.handleCheckboxChange(grandchild.path);
88
+ }, type: 'checkbox' }), index.h("div", { class: index$1.classNames('checkContainer', 'searchcraft-filter-list-check-container') }, index.h("searchcraft-check-icon", null)), this.formatSubLabel(grandchild, facetChild))))))));
89
+ })));
90
+ }
91
+ };
92
+ SearchcraftFiltersList.style = SearchcraftFacetListStyle0;
93
+
94
+ const searchcraftSliderModuleCss = ":root{--sc-spinner-size:20px;--sc-input-border-radius:8px;--sc-input-search-icon-size:20px;--sc-input-clear-icon-size:20px;--sc-input-padding-left:44px;--sc-input-padding-right:44px;--sc-image-border-radius:8px}:root{--sc-surface-disabled:#D9D9D9;--sc-surface-neutral-primary:#FFFFFF;--sc-surface-neutral-secondary:#F3F3F3;--sc-surface-neutral-light:#FFFFFF;--sc-surface-neutral-primary-hover:#FAFAFA;--sc-surface-neutral-primary-active:#F7F7F7;--sc-surface-neutral-secondary-hover:#EDEDED;--sc-surface-neutral-secondary-active:#E6E6E6;--sc-surface-brand-primary:#000000;--sc-surface-brand-secondary:#E6E6E6;--sc-surface-brand-primary-hover:#2E2E2E;--sc-surface-brand-primary-active:#292929;--sc-surface-brand-secondary-hover:#EBEBEB;--sc-surface-brand-secondary-active:#E0E0E0;--sc-surface-success-primary:#008000;--sc-surface-success-secondary:#CCFFCC;--sc-surface-success-primary-hover:#009900;--sc-surface-success-primary-active:#006600;--sc-surface-success-secondary-hover:#E6FFE6;--sc-surface-success-secondary-active:#E6FFE6;--sc-surface-caution-primary:#CC6600;--sc-surface-caution-secondary:#FFD9B3;--sc-surface-caution-primary-hover:#E57300;--sc-surface-caution-primary-active:#B25A00;--sc-surface-caution-secondary-hover:#FFE5CC;--sc-surface-caution-secondary-active:#FFCC99;--sc-surface-danger-primary:#CC0000;--sc-surface-danger-secondary:#FFCCCC;--sc-surface-danger-primary-hover:#E50000;--sc-surface-danger-primary-active:#B30000;--sc-surface-danger-secondary-hover:#FFE7E7;--sc-surface-danger-secondary-active:#FFB3B3;--sc-content-brand:#000000;--sc-content-success:#008000;--sc-content-caution:#994D00;--sc-content-danger:#990000;--sc-content-disabled:#737373;--sc-content-neutral-primary:#292929;--sc-content-neutral-secondary:#404040;--sc-content-brand-on-primary:#FFFFFF;--sc-content-success-on-primary:#FFFFFF;--sc-content-caution-on-primary:#FFFFFF;--sc-content-danger-on-primary:#FFFFFF;--sc-content-disabled-on-disabled:#737373;--sc-border-neutral:rgba(0,0,0, 0.1);--sc-border-brand:#000000;--sc-border-success:#008000;--sc-border-caution:#CC6600;--sc-border-danger:#CC0000;--sc-border-disabled:#737373}:root{--sc-font-family:sans-serif;--sc-heading-1-font-size:32px;--sc-heading-1-line-height:36px;--sc-heading-1-font-weight:700;--sc-heading-2-font-size:29px;--sc-heading-2-line-height:32px;--sc-heading-2-font-weight:700;--sc-heading-3-font-size:26px;--sc-heading-3-line-height:28px;--sc-heading-3-font-weight:700;--sc-heading-4-font-size:23px;--sc-heading-4-line-height:24px;--sc-heading-4-font-weight:700;--sc-heading-5-font-size:20px;--sc-heading-5-line-height:24px;--sc-heading-5-font-weight:700;--sc-heading-6-font-size:10px;--sc-heading-6-line-height:12px;--sc-heading-6-font-weight:700;--sc-body-bold-font-size:16px;--sc-body-bold-line-height:20px;--sc-body-bold-font-weight:700;--sc-body-font-size:16px;--sc-body-line-height:20px;--sc-body-font-weight:400;--sc-body-small-bold-font-size:12px;--sc-body-small-bold-line-height:16px;--sc-body-small-bold-font-weight:700;--sc-body-small-font-size:12px;--sc-body-small-line-height:16px;--sc-body-small-font-weight:400}.sliderContainer{align-items:center;display:flex;flex-direction:column;gap:10px;width:100%}.rangeContainer{align-items:center;background-color:var(--sc-surface-disabled);border-radius:999px;display:flex;position:relative;height:4px;width:100%}.rangeContainer::-webkit-slider-runnable-track{pointer-events:none}.rangeContainer .activeRange{background-color:var(--sc-surface-brand-primary);border-radius:2px;height:4px;position:absolute;top:50%;transform:translateY(-50%);z-index:0}.rangeContainer .activeRange::-webkit-slider-runnable-track{pointer-events:none}.rangeContainer .activeRange::-moz-range-track{pointer-events:none}.rangeContainer .rangeSlider{appearance:none;background:transparent;border-radius:2px;height:4px;margin:0;outline:none;pointer-events:none;position:absolute;width:100%;-webkit-appearance:none}.rangeContainer .rangeSlider::-webkit-slider-thumb{background-color:var(--sc-surface-neutral-light);border-radius:50%;border:2px solid var(--sc-border-neutral);cursor:pointer;height:20px;pointer-events:all;width:20px;-webkit-appearance:none}.rangeContainer .rangeSlider::-moz-range-thumb{background-color:var(--sc-surface-neutral-light);border-radius:50%;border:2px solid var(--sc-border-neutral);cursor:pointer;height:20px;pointer-events:all;width:20px}.yearLabels{color:var(--sc-content-primary);display:flex;font-family:\"Source Sans Pro\", sans-serif;font-size:15px;font-weight:600;justify-content:space-between;margin-top:10px;width:100%}.yearLabel{min-width:30px;text-align:center}";
95
+ const SearchcraftSliderStyle0 = searchcraftSliderModuleCss;
96
+
97
+ const SearchcraftSlider = class {
98
+ constructor(hostRef) {
99
+ index.registerInstance(this, hostRef);
100
+ this.rangeChanged = index.createEvent(this, "rangeChanged", 7);
101
+ this.updateValues = async () => {
102
+ this.rangeChanged.emit({
103
+ startValue: this.startValue,
104
+ endValue: this.endValue,
105
+ });
106
+ };
107
+ this.handlestartValueChange = (event) => {
108
+ const value = Number.parseInt(event.target.value, 10);
109
+ if (value <= this.endValue) {
110
+ this.startValue = value;
111
+ this.updateValues();
112
+ }
113
+ };
114
+ this.handleendValueChange = (event) => {
115
+ const value = Number.parseInt(event.target.value, 10);
116
+ if (value >= this.startValue) {
117
+ this.endValue = value;
118
+ this.updateValues();
119
+ }
120
+ };
121
+ this.max = 100;
122
+ this.min = 0;
123
+ this.granularity = utils.getMillis('month');
124
+ this.dataType = 'number';
125
+ this.endValue = this.max;
126
+ this.startValue = this.min;
127
+ this.hasSearched = false;
128
+ this.query = '';
129
+ this.resultsCount = 0;
130
+ }
131
+ componentDidLoad() {
132
+ this.startValue = this.min;
133
+ this.endValue = this.max;
134
+ }
135
+ render() {
136
+ const rangeMin = this.min;
137
+ const rangeMax = this.max;
138
+ const startPercent = ((this.startValue - rangeMin) / (rangeMax - rangeMin)) * 100;
139
+ const endPercent = ((this.endValue - rangeMin) / (rangeMax - rangeMin)) * 100;
140
+ const startLabel = this.dataType === 'number'
141
+ ? this.startValue
142
+ : new Date(this.startValue).getFullYear();
143
+ const endLabel = this.dataType === 'number'
144
+ ? this.endValue
145
+ : new Date(this.endValue).getFullYear();
146
+ return (index.h("div", { key: '5b85ed684719fc53cb2c6d4d6b9b25dda95238c4', class: index$1.classNames('sliderContainer', 'searchcraft-slider-container') }, index.h("div", { key: '4222101284dc36c5fc70f033fbdd5080e4c25f41', class: index$1.classNames('rangeContainer', 'searchcraft-slider-range-container') }, index.h("div", { key: '8610d8fbdd7c920e93969d588d75e4b1266d24a9', class: index$1.classNames('activeRange', 'searchcraft-slider-active-range'), style: {
147
+ left: `${startPercent}%`,
148
+ width: `${endPercent - startPercent}%`,
149
+ } }), index.h("input", { key: 'aafc7ecf347131e8f86bce144d046ca33d3ce7a9', class: index$1.classNames('rangeSlider', 'searchcraft-slider-range-slider-start-thumb'), max: this.max, min: this.min, onInput: this.handlestartValueChange, step: this.granularity, type: 'range', value: this.startValue }), index.h("input", { key: '8247c65541d1fe70ac078d4f3ddf9111919750e7', class: index$1.classNames('rangeSlider', 'searchcraft-slider-range-slider-end-thumb'), max: this.max, min: this.min, onInput: this.handleendValueChange, step: this.granularity, type: 'range', value: this.endValue })), index.h("div", { key: '43f708034b96d7683dea2c60c95b1689bce47ad5', class: index$1.classNames('yearLabels', 'searchcraft-slider-year-label-container') }, index.h("span", { key: '39c5a9f41c9ddc87f81cb7fc488fdc61afd82ae6', class: index$1.classNames('yearLabel', 'searchcraft-slider-start-year-label') }, startLabel), index.h("span", { key: '536fb604734b109318f3b4da38743c00581f369a', class: index$1.classNames('yearLabel', 'searchcraft-slider-end-year-label') }, endLabel))));
150
+ }
151
+ };
152
+ SearchcraftSlider.style = SearchcraftSliderStyle0;
153
+
154
+ const searchcraftToggleButtonModuleCss = ":root{--sc-spinner-size:20px;--sc-input-border-radius:8px;--sc-input-search-icon-size:20px;--sc-input-clear-icon-size:20px;--sc-input-padding-left:44px;--sc-input-padding-right:44px;--sc-image-border-radius:8px}:root{--sc-surface-disabled:#D9D9D9;--sc-surface-neutral-primary:#FFFFFF;--sc-surface-neutral-secondary:#F3F3F3;--sc-surface-neutral-light:#FFFFFF;--sc-surface-neutral-primary-hover:#FAFAFA;--sc-surface-neutral-primary-active:#F7F7F7;--sc-surface-neutral-secondary-hover:#EDEDED;--sc-surface-neutral-secondary-active:#E6E6E6;--sc-surface-brand-primary:#000000;--sc-surface-brand-secondary:#E6E6E6;--sc-surface-brand-primary-hover:#2E2E2E;--sc-surface-brand-primary-active:#292929;--sc-surface-brand-secondary-hover:#EBEBEB;--sc-surface-brand-secondary-active:#E0E0E0;--sc-surface-success-primary:#008000;--sc-surface-success-secondary:#CCFFCC;--sc-surface-success-primary-hover:#009900;--sc-surface-success-primary-active:#006600;--sc-surface-success-secondary-hover:#E6FFE6;--sc-surface-success-secondary-active:#E6FFE6;--sc-surface-caution-primary:#CC6600;--sc-surface-caution-secondary:#FFD9B3;--sc-surface-caution-primary-hover:#E57300;--sc-surface-caution-primary-active:#B25A00;--sc-surface-caution-secondary-hover:#FFE5CC;--sc-surface-caution-secondary-active:#FFCC99;--sc-surface-danger-primary:#CC0000;--sc-surface-danger-secondary:#FFCCCC;--sc-surface-danger-primary-hover:#E50000;--sc-surface-danger-primary-active:#B30000;--sc-surface-danger-secondary-hover:#FFE7E7;--sc-surface-danger-secondary-active:#FFB3B3;--sc-content-brand:#000000;--sc-content-success:#008000;--sc-content-caution:#994D00;--sc-content-danger:#990000;--sc-content-disabled:#737373;--sc-content-neutral-primary:#292929;--sc-content-neutral-secondary:#404040;--sc-content-brand-on-primary:#FFFFFF;--sc-content-success-on-primary:#FFFFFF;--sc-content-caution-on-primary:#FFFFFF;--sc-content-danger-on-primary:#FFFFFF;--sc-content-disabled-on-disabled:#737373;--sc-border-neutral:rgba(0,0,0, 0.1);--sc-border-brand:#000000;--sc-border-success:#008000;--sc-border-caution:#CC6600;--sc-border-danger:#CC0000;--sc-border-disabled:#737373}:root{--sc-font-family:sans-serif;--sc-heading-1-font-size:32px;--sc-heading-1-line-height:36px;--sc-heading-1-font-weight:700;--sc-heading-2-font-size:29px;--sc-heading-2-line-height:32px;--sc-heading-2-font-weight:700;--sc-heading-3-font-size:26px;--sc-heading-3-line-height:28px;--sc-heading-3-font-weight:700;--sc-heading-4-font-size:23px;--sc-heading-4-line-height:24px;--sc-heading-4-font-weight:700;--sc-heading-5-font-size:20px;--sc-heading-5-line-height:24px;--sc-heading-5-font-weight:700;--sc-heading-6-font-size:10px;--sc-heading-6-line-height:12px;--sc-heading-6-font-weight:700;--sc-body-bold-font-size:16px;--sc-body-bold-line-height:20px;--sc-body-bold-font-weight:700;--sc-body-font-size:16px;--sc-body-line-height:20px;--sc-body-font-weight:400;--sc-body-small-bold-font-size:12px;--sc-body-small-bold-line-height:16px;--sc-body-small-bold-font-weight:700;--sc-body-small-font-size:12px;--sc-body-small-line-height:16px;--sc-body-small-font-weight:400}.searchcraft-toggle-button-container{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.searchcraft-toggle-button-label{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-body-font-weight);line-height:var(--sc-body-line-height);margin:0;color:var(--sc-content-neutral-primary)}.searchcraft-toggle-button-sub-label{font-family:var(--sc-font-family);-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-body-small-font-weight);line-height:var(--sc-body-small-line-height);margin:0;color:var(--sc-content-neutral-secondary)}.searchcraft-toggle-button-background{transition:background-color 0.2s;background:var(--sc-surface-disabled);border:none;border-radius:16px;cursor:pointer;height:26px;position:relative;width:44px;flex-shrink:0}.searchcraft-toggle-button-background.active{background:var(--sc-surface-brand-primary);box-shadow:0px 0px 0px 1px rgba(0, 0, 0, 0.05)}.searchcraft-toggle-button-handle{background:var(--sc-surface-neutral-light);border-radius:50%;height:18px;left:4px;position:absolute;top:calc(50% - 9px);transition:transform 0.3s ease;width:18px}.searchcraft-toggle-button-handle.active{transform:translateX(16px)}";
155
+ const SearchcraftToggleButtonStyle0 = searchcraftToggleButtonModuleCss;
156
+
157
+ const SearchcraftToggleButton = class {
158
+ constructor(hostRef) {
159
+ index.registerInstance(this, hostRef);
160
+ this.toggleUpdated = index.createEvent(this, "toggleUpdated", 7);
161
+ this.handleToggle = async () => {
162
+ this.isActive = !this.isActive;
163
+ this.toggleUpdated.emit(this.isActive);
164
+ };
165
+ this.label = 'Toggle';
166
+ this.subLabel = undefined;
167
+ this.isActive = false;
168
+ }
169
+ render() {
170
+ return (index.h("div", { key: 'd22c50dcf65d66208bd0ee78c88f452ba94c96e1', class: 'searchcraft-toggle-button-container' }, index.h("div", { key: 'c7309a315b979c1bc68b140f4e3d250fdb208e37' }, index.h("p", { key: '2a22fc2b52f73a5fe79512c4e3ed105110a514cd', class: 'searchcraft-toggle-button-label' }, this.label), this.subLabel && (index.h("p", { key: '8c1670c628751c19576ff9f8cf4bad71b974fb4f', class: 'searchcraft-toggle-button-sub-label' }, this.subLabel))), index.h("button", { key: '10600dd271917d074bf4d1e8dea473b583c79031', class: index$1.classNames('searchcraft-toggle-button-background', {
171
+ active: this.isActive,
172
+ }), onClick: this.handleToggle, type: 'button' }, index.h("div", { key: '3cd18a77345001252c700d6b1ca3f34b9e7e849d', class: index$1.classNames('searchcraft-toggle-button-handle', {
173
+ active: this.isActive,
174
+ }) }))));
175
+ }
176
+ };
177
+ SearchcraftToggleButton.style = SearchcraftToggleButtonStyle0;
178
+
179
+ exports.searchcraft_facet_list = SearchcraftFiltersList;
180
+ exports.searchcraft_slider = SearchcraftSlider;
181
+ exports.searchcraft_toggle_button = SearchcraftToggleButton;
182
+
183
+ //# sourceMappingURL=searchcraft-facet-list_3.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"searchcraft-facet-list.searchcraft-slider.searchcraft-toggle-button.entry.cjs.js","mappings":"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","names":["useSearchcraftStore","mergeFacetRoots","removeSubstringMatches","h","classNames","Fragment","getMillis"],"sources":["src/components/searchcraft-facet-list/searchcraft-facet-list.module.scss?tag=searchcraft-facet-list","src/components/searchcraft-facet-list/searchcraft-facet-list.tsx","src/components/searchcraft-slider/searchcraft-slider.module.scss?tag=searchcraft-slider","src/components/searchcraft-slider/searchcraft-slider.tsx","src/components/searchcraft-toggle-button/searchcraft-toggle-button.module.scss?tag=searchcraft-toggle-button","src/components/searchcraft-toggle-button/searchcraft-toggle-button.tsx"],"sourcesContent":[".filtersListContainer {\n width: 100%;\n}\n\n.filterCheckboxLabel {\n align-items: center;\n color: var(--sc-content-primary);\n display: flex;\n font-family: var(--sc-font-family);\n font-size: 14px;\n font-weight: 600;\n gap: 14px;\n position: relative;\n -webkit-font-smoothing: antialiased;\n}\n\n.filterCheckboxLabel input[type=\"checkbox\"] {\n align-items: center;\n appearance: none;\n background-color: var(--sc-surface-brand-secondary-hover);\n border: 1px solid var(--sc-surface-disabled);\n border-radius: 8px;\n cursor: pointer;\n display: flex;\n height: 24px;\n justify-content: center;\n width: 24px;\n}\n\n.filterCheckboxLabel input[type=\"checkbox\"]:focus {\n outline: 2px solid var(--sc-surface-brand-primary);\n}\n\n.filterCheckboxLabel input[type=\"checkbox\"]:checked {\n background-color: var(--sc-surface-brand-primary);\n position: relative;\n}\n\n.filterCheckboxLabel input[type=\"checkbox\"]:checked + .checkContainer {\n display: block;\n}\n\n.filterCheckboxLabel input[type=\"checkbox\"]:checked + .dashContainer {\n display: block;\n}\n\n.childFilterCheckboxLabel {\n align-items: center;\n color: var(--sc-content-primary);\n display: flex;\n font-family: var(--sc-font-family);\n font-size: 14px;\n font-weight: 600;\n gap: 12px;\n margin-left: 24px;\n position: relative;\n}\n\n.childFilterCheckboxLabel input[type=\"checkbox\"] {\n align-items: center;\n appearance: none;\n background-color: var(--sc-surface-brand-secondary-hover);\n border: 1px solid var(--sc-surface-disabled);\n border-radius: 8px;\n cursor: pointer;\n display: flex;\n height: 24px;\n justify-content: center;\n position: relative;\n width: 24px;\n -webkit-font-smoothing: antialiased;\n}\n\n.childFilterCheckboxLabel input[type=\"checkbox\"]:focus {\n outline: 2px solid var(--sc-surface-brand-primary);\n}\n\n.childFilterCheckboxLabel input[type=\"checkbox\"]:checked {\n background-color: var(--sc-surface-brand-primary);\n position: relative;\n}\n\n.childFilterCheckboxLabel input[type=\"checkbox\"]:checked + .checkContainer {\n display: block;\n}\n\n.childFilterCheckboxLabel input[type=\"checkbox\"]:checked + .dashContainer {\n display: block;\n}\n\n.checkContainer {\n display: none;\n height: 16px;\n width: 16px;\n position: absolute;\n top: 9px;\n left: 8px;\n}\n\n.dashContainer {\n display: none;\n height: 3px;\n width: 14px;\n position: absolute;\n top: 3px;\n left: 9px;\n}\n\n.searchcraft-facet-message {\n @include body-small();\n color: var(--sc-content-disabled);\n text-align: center;\n}","import {\n Component,\n h,\n State,\n Prop,\n Event,\n type EventEmitter,\n Fragment,\n} from '@stencil/core';\nimport classNames from 'classnames';\n\nimport type { FacetChild, FacetRoot } from '@searchcraft/core';\n\nimport { useSearchcraftStore, type SearchcraftState } from '@provider/store';\nimport { mergeFacetRoots, removeSubstringMatches } from '@utils/utils';\n\n@Component({\n tag: 'searchcraft-facet-list',\n styleUrl: 'searchcraft-facet-list.module.scss',\n shadow: false,\n})\nexport class SearchcraftFiltersList {\n @Prop() fieldName: string;\n\n @Event() facetSelectionUpdated: EventEmitter<{ paths: string[] }>;\n\n @State() facetRoot: FacetRoot | undefined;\n @State() selectedPaths: Record<string, boolean> = {};\n @State() lastQuery: string | undefined;\n\n @State() unsubscribe: (() => void) | undefined;\n\n private searchStore = useSearchcraftStore.getState();\n\n initFacetRootFromState(state: SearchcraftState) {\n const facetPrime = state.searchResults?.data.facets;\n\n if (facetPrime) {\n const facetRoot: FacetRoot = facetPrime.find(\n (facet) => this.fieldName === Object.keys(facet)[0],\n );\n\n if (this.facetRoot) {\n this.facetRoot = mergeFacetRoots(\n this.fieldName,\n this.facetRoot,\n facetRoot,\n );\n } else {\n this.facetRoot = facetRoot;\n }\n\n // Clear the selected paths if the query changed\n if (state.query !== this.lastQuery) {\n this.selectedPaths = {};\n\n // Remove the facet root if the query is empty\n if (state.query.trim().length === 0) {\n this.facetRoot = undefined;\n }\n }\n }\n\n this.lastQuery = state.query;\n }\n\n connectedCallback() {\n this.initFacetRootFromState(this.searchStore);\n\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n this.initFacetRootFromState(state);\n });\n }\n\n disconnectedCallback() {\n this.unsubscribe?.();\n }\n\n handleCheckboxChange(path: string) {\n this.selectedPaths = {\n ...this.selectedPaths,\n [path]: !this.selectedPaths[path],\n };\n\n const paths = Object.keys(this.selectedPaths).filter(\n (path) => this.selectedPaths[path],\n );\n\n const pathsWithParentPathsRemoved = removeSubstringMatches(paths);\n\n this.facetSelectionUpdated.emit({ paths: pathsWithParentPathsRemoved });\n }\n\n formatLabel = (facetChild: FacetChild): string => {\n const label = facetChild.path.replace(/^\\//, '');\n const count = facetChild.count;\n return `${label.replace(/-/g, ' ').replace(/\\b\\w/g, (char) => char.toUpperCase())} (${count})`;\n };\n\n formatSubLabel = (\n facetChild: FacetChild,\n facetChildAncestor: FacetChild,\n ): string => {\n const facetChildPath = facetChild.path.substring(\n facetChildAncestor.path.length,\n );\n const label = facetChildPath.replace(/^\\//, '');\n const count = facetChild.count;\n return `${label.replace(/-/g, ' ').replace(/\\b\\w/g, (char) => char.toUpperCase())} (${count})`;\n };\n\n render() {\n const firstFacet = this.facetRoot?.[this.fieldName];\n\n return (\n <div\n class={classNames(\n 'filtersListContainer',\n 'searchcraft-filters-list-container',\n )}\n >\n {!firstFacet && (\n <p class='searchcraft-facet-message'>\n Enter a search to view facets.\n </p>\n )}\n {firstFacet?.map((facetChild: FacetChild) => {\n const isChildSelected = facetChild.children\n ? facetChild.children?.some(\n (child) => this.selectedPaths[child.path],\n )\n : false;\n\n return (\n <div\n key={facetChild.path}\n class={classNames('searchcraft-filters-list-item')}\n >\n <label\n class={classNames(\n 'filterCheckboxLabel',\n 'searchcraft-filters-list-checkbox-label',\n )}\n >\n <input\n checked={this.selectedPaths[facetChild.path]}\n onChange={(_event: Event) =>\n this.handleCheckboxChange(facetChild.path)\n }\n type='checkbox'\n />\n {isChildSelected ? (\n <div\n class={classNames(\n 'dashContainer',\n 'searchcraft-filter-list-dash-container',\n )}\n >\n <searchcraft-dash-icon />\n </div>\n ) : (\n <div\n class={classNames(\n 'checkContainer',\n 'searchcraft-filter-list-check-container',\n )}\n >\n <searchcraft-check-icon />\n </div>\n )}\n {this.formatLabel(facetChild)}\n </label>\n {facetChild.children && facetChild.children.length > 0 && (\n <Fragment>\n {facetChild.children.map((grandchild) => (\n <label\n key={grandchild.path}\n class={classNames(\n 'childFilterCheckboxLabel',\n 'searchcraft-child-filter-checkbox-label',\n )}\n style={{\n display: this.selectedPaths[facetChild.path]\n ? 'flex'\n : 'none',\n }}\n >\n <input\n checked={this.selectedPaths[grandchild.path]}\n onChange={(_event: Event) => {\n this.handleCheckboxChange(grandchild.path);\n }}\n type='checkbox'\n />\n <div\n class={classNames(\n 'checkContainer',\n 'searchcraft-filter-list-check-container',\n )}\n >\n <searchcraft-check-icon />\n </div>\n {this.formatSubLabel(grandchild, facetChild)}\n </label>\n ))}\n </Fragment>\n )}\n </div>\n );\n })}\n </div>\n );\n }\n}\n",".sliderContainer {\n align-items: center;\n display: flex;\n flex-direction: column;\n gap: 10px;\n width: 100%;\n}\n\n.rangeContainer {\n align-items: center;\n background-color: var(--sc-surface-disabled);\n border-radius: 999px;\n display: flex;\n position: relative;\n height: 4px;\n width: 100%;\n\n &::-webkit-slider-runnable-track {\n pointer-events: none;\n }\n\n .activeRange {\n background-color: var(--sc-surface-brand-primary);\n border-radius: 2px;\n height: 4px;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n z-index: 0;\n\n &::-webkit-slider-runnable-track {\n pointer-events: none;\n }\n\n &::-moz-range-track {\n pointer-events: none;\n }\n }\n\n .rangeSlider {\n appearance: none;\n background: transparent;\n border-radius: 2px;\n height: 4px;\n margin: 0;\n outline: none;\n pointer-events: none;\n position: absolute;\n width: 100%;\n -webkit-appearance: none;\n\n &::-webkit-slider-thumb {\n background-color: var(--sc-surface-neutral-light);\n border-radius: 50%;\n border: 2px solid var(--sc-border-neutral);\n cursor: pointer;\n height: 20px;\n pointer-events: all;\n width: 20px;\n -webkit-appearance: none;\n }\n\n &::-moz-range-thumb {\n background-color: var(--sc-surface-neutral-light);\n border-radius: 50%;\n border: 2px solid var(--sc-border-neutral);\n cursor: pointer;\n height: 20px;\n pointer-events: all;\n width: 20px;\n }\n }\n}\n\n.yearLabels {\n color: var(--sc-content-primary);\n display: flex;\n font-family: 'Source Sans Pro', sans-serif;\n font-size: 15px;\n font-weight: 600;\n justify-content: space-between;\n margin-top: 10px;\n width: 100%;\n}\n\n.yearLabel {\n min-width: 30px;\n text-align: center;\n}","import {\n Component,\n Event,\n type EventEmitter,\n h,\n State,\n Prop,\n} from '@stencil/core';\nimport { getMillis } from '@utils/utils';\nimport classNames from 'classnames';\n\n@Component({\n tag: 'searchcraft-slider',\n styleUrl: 'searchcraft-slider.module.scss',\n shadow: false,\n})\nexport class SearchcraftSlider {\n @Prop() max = 100;\n @Prop() min = 0;\n @Prop() granularity: number = getMillis('month');\n @Prop() dataType: 'number' | 'date' = 'number';\n\n @State() endValue = this.max;\n @State() startValue = this.min;\n @State() hasSearched = false;\n @State() query = '';\n @State() resultsCount = 0;\n\n @Event() rangeChanged: EventEmitter<{ startValue: number; endValue: number }>;\n\n componentDidLoad() {\n this.startValue = this.min;\n this.endValue = this.max;\n }\n\n private updateValues = async () => {\n this.rangeChanged.emit({\n startValue: this.startValue,\n endValue: this.endValue,\n });\n };\n\n private handlestartValueChange = (event: InputEvent) => {\n const value = Number.parseInt((event.target as HTMLInputElement).value, 10);\n if (value <= this.endValue) {\n this.startValue = value;\n this.updateValues();\n }\n };\n\n private handleendValueChange = (event: InputEvent) => {\n const value = Number.parseInt((event.target as HTMLInputElement).value, 10);\n if (value >= this.startValue) {\n this.endValue = value;\n this.updateValues();\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\n class={classNames('sliderContainer', 'searchcraft-slider-container')}\n >\n <div\n class={classNames(\n 'rangeContainer',\n 'searchcraft-slider-range-container',\n )}\n >\n <div\n class={classNames('activeRange', 'searchcraft-slider-active-range')}\n style={{\n left: `${startPercent}%`,\n width: `${endPercent - startPercent}%`,\n }}\n />\n <input\n class={classNames(\n 'rangeSlider',\n 'searchcraft-slider-range-slider-start-thumb',\n )}\n max={this.max}\n min={this.min}\n onInput={this.handlestartValueChange}\n step={this.granularity}\n type='range'\n value={this.startValue}\n />\n <input\n class={classNames(\n 'rangeSlider',\n 'searchcraft-slider-range-slider-end-thumb',\n )}\n max={this.max}\n min={this.min}\n onInput={this.handleendValueChange}\n step={this.granularity}\n type='range'\n value={this.endValue}\n />\n </div>\n <div\n class={classNames(\n 'yearLabels',\n 'searchcraft-slider-year-label-container',\n )}\n >\n <span\n class={classNames(\n 'yearLabel',\n 'searchcraft-slider-start-year-label',\n )}\n >\n {startLabel}\n </span>\n <span\n class={classNames('yearLabel', 'searchcraft-slider-end-year-label')}\n >\n {endLabel}\n </span>\n </div>\n </div>\n );\n }\n}\n",".searchcraft-toggle-button-container {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: 10px;\n}\n\n.searchcraft-toggle-button-label {\n @include body();\n margin: 0;\n color: var(--sc-content-neutral-primary);\n}\n\n.searchcraft-toggle-button-sub-label {\n @include body-small();\n margin: 0;\n color: var(--sc-content-neutral-secondary);\n}\n\n.searchcraft-toggle-button-background {\n transition: background-color 0.2s;\n background: var(--sc-surface-disabled);\n border: none;\n border-radius: 16px;\n cursor: pointer;\n height: 26px;\n position: relative;\n width: 44px;\n flex-shrink: 0;\n}\n\n.searchcraft-toggle-button-background.active {\n background: var(--sc-surface-brand-primary);\n box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.05);\n}\n\n.searchcraft-toggle-button-handle {\n background: var(--sc-surface-neutral-light);\n border-radius: 50%;\n height: 18px;\n left: 4px;\n position: absolute;\n top: calc(50% - 18px/2);\n transition: transform 0.3s ease;\n width: 18px;\n}\n\n.searchcraft-toggle-button-handle.active {\n transform: translateX(16px);\n}\n","import {\n Component,\n Event,\n h,\n Prop,\n State,\n type EventEmitter,\n} from '@stencil/core';\nimport classNames from 'classnames';\n@Component({\n tag: 'searchcraft-toggle-button',\n styleUrl: 'searchcraft-toggle-button.module.scss',\n shadow: false,\n})\nexport class SearchcraftToggleButton {\n /**\n * Type of the toggle - determines what it controls\n * 'mode': toggles between 'fuzzy' and 'normal'\n * 'sort': toggles between 'asc' and 'desc'\n */\n @Prop() label = 'Toggle';\n @Prop() subLabel: string | undefined;\n\n @Event() toggleUpdated: EventEmitter<boolean>;\n\n @State() isActive = false;\n\n private handleToggle = async () => {\n this.isActive = !this.isActive;\n this.toggleUpdated.emit(this.isActive);\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}