@searchcraft/javascript-sdk 0.2.3 → 0.2.5

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 (269) hide show
  1. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  2. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  3. package/dist/cjs/index-5b0b9d4c.js +84 -0
  4. package/dist/cjs/index-5b0b9d4c.js.map +1 -0
  5. package/dist/cjs/index-6c5282a0.js +1279 -0
  6. package/dist/cjs/index-6c5282a0.js.map +1 -0
  7. package/dist/cjs/index.cjs.js +17 -0
  8. package/dist/cjs/index.cjs.js.map +1 -0
  9. package/dist/cjs/loader.cjs.js +17 -0
  10. package/dist/cjs/loader.cjs.js.map +1 -0
  11. package/dist/cjs/searchcraft-auto-search-form_17.cjs.entry.js +809 -0
  12. package/dist/cjs/searchcraft-auto-search-form_17.cjs.entry.js.map +1 -0
  13. package/dist/cjs/searchcraft-base-search-form.cjs.entry.js +64 -0
  14. package/dist/cjs/searchcraft-base-search-form.cjs.entry.js.map +1 -0
  15. package/dist/cjs/searchcraft-button-icon.cjs.entry.js +18 -0
  16. package/dist/cjs/searchcraft-button-icon.cjs.entry.js.map +1 -0
  17. package/dist/cjs/searchcraft-button.cjs.entry.js +37 -0
  18. package/dist/cjs/searchcraft-button.cjs.entry.js.map +1 -0
  19. package/dist/cjs/searchcraft-javascript-sdk.cjs.js +27 -0
  20. package/dist/cjs/searchcraft-javascript-sdk.cjs.js.map +1 -0
  21. package/dist/cjs/store-c44c58ab.js +314 -0
  22. package/dist/cjs/store-c44c58ab.js.map +1 -0
  23. package/dist/{searchcraft-javascript-sdk/utils-6d98c145.js → cjs/utils-2dc6115c.js} +22 -5
  24. package/dist/cjs/utils-2dc6115c.js.map +1 -0
  25. package/dist/collection/assets/searchcraft-button-icons.js +9 -0
  26. package/dist/collection/assets/searchcraft-button-icons.js.map +1 -0
  27. package/dist/collection/assets/searchcraft-clear-icon-set.js +45 -0
  28. package/dist/collection/assets/searchcraft-clear-icon-set.js.map +1 -0
  29. package/dist/collection/assets/searchcraft-search-icon-set.js +84 -0
  30. package/dist/collection/assets/searchcraft-search-icon-set.js.map +1 -0
  31. package/dist/collection/collection-manifest.json +31 -0
  32. package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.js +365 -0
  33. package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.js.map +1 -0
  34. package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.module.css +15 -0
  35. package/dist/collection/components/searchcraft-base-search-form/searchcraft-base-search-form.js +168 -0
  36. package/dist/collection/components/searchcraft-base-search-form/searchcraft-base-search-form.js.map +1 -0
  37. package/dist/collection/components/searchcraft-base-search-form/searchcraft-base-search-form.module.css +18 -0
  38. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js +329 -0
  39. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js.map +1 -0
  40. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.module.css +214 -0
  41. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js +270 -0
  42. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js.map +1 -0
  43. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.module.css +47 -0
  44. package/dist/collection/components/searchcraft-button/searchcraft-button.js +137 -0
  45. package/dist/collection/components/searchcraft-button/searchcraft-button.js.map +1 -0
  46. package/dist/collection/components/searchcraft-button/searchcraft-button.module.css +82 -0
  47. package/dist/collection/components/searchcraft-clear-input-button/searchcraft-clear-input-button.js +95 -0
  48. package/dist/collection/components/searchcraft-clear-input-button/searchcraft-clear-input-button.js.map +1 -0
  49. package/dist/collection/components/searchcraft-clear-input-button/searchcraft-clear-input-button.module.css +33 -0
  50. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js +64 -0
  51. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js.map +1 -0
  52. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.module.css +21 -0
  53. package/dist/collection/components/searchcraft-filters-list/searchcraft-filters-list.js +170 -0
  54. package/dist/collection/components/searchcraft-filters-list/searchcraft-filters-list.js.map +1 -0
  55. package/dist/collection/components/searchcraft-filters-list/searchcraft-filters-list.module.css +70 -0
  56. package/dist/collection/components/searchcraft-input/searchcraft-input.js +352 -0
  57. package/dist/collection/components/searchcraft-input/searchcraft-input.js.map +1 -0
  58. package/dist/collection/components/searchcraft-input/searchcraft-input.module.css +241 -0
  59. package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.js +122 -0
  60. package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.js.map +1 -0
  61. package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.module.css +79 -0
  62. package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.js +109 -0
  63. package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.js.map +1 -0
  64. package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.module.css +17 -0
  65. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js +76 -0
  66. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js.map +1 -0
  67. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.module.css +21 -0
  68. package/dist/{searchcraft-javascript-sdk/searchcraft-results-info.entry.js → collection/components/searchcraft-results-info/searchcraft-results-info.js} +26 -15
  69. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js.map +1 -0
  70. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.module.css +15 -0
  71. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js +128 -0
  72. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js.map +1 -0
  73. package/dist/collection/components/searchcraft-slider/searchcraft-slider.module.css +68 -0
  74. package/dist/collection/components/searchcraft-spinner-dark/searchcraft-spinner-dark.js +19 -0
  75. package/dist/collection/components/searchcraft-spinner-dark/searchcraft-spinner-dark.js.map +1 -0
  76. package/dist/collection/components/searchcraft-spinner-dark/searchcraft-spinner-dark.module.css +35 -0
  77. package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.js +19 -0
  78. package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.js.map +1 -0
  79. package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.module.css +26 -0
  80. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js +92 -0
  81. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js.map +1 -0
  82. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.module.css +31 -0
  83. package/dist/collection/index.js +12 -0
  84. package/dist/collection/index.js.map +1 -0
  85. package/dist/collection/provider/store.js +96 -0
  86. package/dist/collection/provider/store.js.map +1 -0
  87. package/dist/collection/utils/utils.js +74 -0
  88. package/dist/collection/utils/utils.js.map +1 -0
  89. package/dist/components/index.js +58 -0
  90. package/dist/components/index.js.map +1 -0
  91. package/dist/components/p-157e5b1a.js +310 -0
  92. package/dist/components/p-157e5b1a.js.map +1 -0
  93. package/dist/components/p-1c377190.js +67 -0
  94. package/dist/components/p-1c377190.js.map +1 -0
  95. package/dist/components/p-25f18f2e.js +33 -0
  96. package/dist/components/p-25f18f2e.js.map +1 -0
  97. package/dist/{searchcraft-javascript-sdk/utils-dbb6302b.js → components/p-2bda632c.js} +13 -2
  98. package/dist/components/p-2bda632c.js.map +1 -0
  99. package/dist/components/p-3fece4e2.js +33 -0
  100. package/dist/components/p-3fece4e2.js.map +1 -0
  101. package/dist/components/p-576f0d2b.js +61 -0
  102. package/dist/components/p-576f0d2b.js.map +1 -0
  103. package/dist/{searchcraft-javascript-sdk/index-d6567b9c.js → components/p-5cdc6210.js} +2 -10
  104. package/dist/components/p-5cdc6210.js.map +1 -0
  105. package/dist/{searchcraft-javascript-sdk/searchcraft-input-caption.entry.js → components/p-6237f03e.js} +31 -10
  106. package/dist/components/p-6237f03e.js.map +1 -0
  107. package/dist/{searchcraft-javascript-sdk/searchcraft-clear-icon-set.entry.js → components/p-70722ab2.js} +24 -7
  108. package/dist/components/p-70722ab2.js.map +1 -0
  109. package/dist/components/p-7498e493.js +1113 -0
  110. package/dist/components/p-7498e493.js.map +1 -0
  111. package/dist/components/p-848301b7.js +40 -0
  112. package/dist/components/p-848301b7.js.map +1 -0
  113. package/dist/components/p-8c38185e.js +53 -0
  114. package/dist/components/p-8c38185e.js.map +1 -0
  115. package/dist/{searchcraft-javascript-sdk/searchcraft-search-icon-set.entry.js → components/p-a3bd1bc8.js} +26 -7
  116. package/dist/components/p-a3bd1bc8.js.map +1 -0
  117. package/dist/components/p-ae84b899.js +48 -0
  118. package/dist/components/p-ae84b899.js.map +1 -0
  119. package/dist/{searchcraft-javascript-sdk/searchcraft-input.entry.js → components/p-b5f97e04.js} +83 -12
  120. package/dist/components/p-b5f97e04.js.map +1 -0
  121. package/dist/components/p-bdf281cc.js +89 -0
  122. package/dist/components/p-bdf281cc.js.map +1 -0
  123. package/dist/components/searchcraft-auto-search-form.js +207 -0
  124. package/dist/components/searchcraft-auto-search-form.js.map +1 -0
  125. package/dist/components/searchcraft-base-search-form.js +152 -0
  126. package/dist/components/searchcraft-base-search-form.js.map +1 -0
  127. package/dist/components/searchcraft-base-search-result.js +8 -0
  128. package/dist/components/searchcraft-base-search-result.js.map +1 -0
  129. package/dist/{searchcraft-javascript-sdk/searchcraft-base-search-results.entry.js → components/searchcraft-base-search-results.js} +55 -12
  130. package/dist/components/searchcraft-base-search-results.js.map +1 -0
  131. package/dist/components/searchcraft-button-icon.js +32 -0
  132. package/dist/components/searchcraft-button-icon.js.map +1 -0
  133. package/dist/components/searchcraft-button.js +8 -0
  134. package/dist/components/searchcraft-button.js.map +1 -0
  135. package/dist/components/searchcraft-clear-icon-set.js +8 -0
  136. package/dist/components/searchcraft-clear-icon-set.js.map +1 -0
  137. package/dist/components/searchcraft-clear-input-button.js +8 -0
  138. package/dist/components/searchcraft-clear-input-button.js.map +1 -0
  139. package/dist/components/searchcraft-error-message.js +8 -0
  140. package/dist/components/searchcraft-error-message.js.map +1 -0
  141. package/dist/components/searchcraft-filters-list.js +141 -0
  142. package/dist/components/searchcraft-filters-list.js.map +1 -0
  143. package/dist/components/searchcraft-input-caption.js +8 -0
  144. package/dist/components/searchcraft-input-caption.js.map +1 -0
  145. package/dist/components/searchcraft-input-icon.js +8 -0
  146. package/dist/components/searchcraft-input-icon.js.map +1 -0
  147. package/dist/components/searchcraft-input-label.js +8 -0
  148. package/dist/components/searchcraft-input-label.js.map +1 -0
  149. package/dist/components/searchcraft-input.js +8 -0
  150. package/dist/components/searchcraft-input.js.map +1 -0
  151. package/dist/components/searchcraft-results-info.js +63 -0
  152. package/dist/components/searchcraft-results-info.js.map +1 -0
  153. package/dist/components/searchcraft-search-icon-set.js +8 -0
  154. package/dist/components/searchcraft-search-icon-set.js.map +1 -0
  155. package/dist/{searchcraft-javascript-sdk/searchcraft-slider.entry.js → components/searchcraft-slider.js} +36 -10
  156. package/dist/components/searchcraft-slider.js.map +1 -0
  157. package/dist/components/searchcraft-spinner-dark.js +8 -0
  158. package/dist/components/searchcraft-spinner-dark.js.map +1 -0
  159. package/dist/components/searchcraft-spinner-light.js +8 -0
  160. package/dist/components/searchcraft-spinner-light.js.map +1 -0
  161. package/dist/{searchcraft-javascript-sdk/searchcraft-toggle-button.entry.js → components/searchcraft-toggle-button.js} +33 -10
  162. package/dist/components/searchcraft-toggle-button.js.map +1 -0
  163. package/dist/esm/index-0ac5bb53.js +1251 -0
  164. package/dist/esm/index-0ac5bb53.js.map +1 -0
  165. package/dist/esm/index-72ac5051.js +82 -0
  166. package/dist/esm/index-72ac5051.js.map +1 -0
  167. package/dist/esm/index.js +4 -0
  168. package/dist/esm/index.js.map +1 -0
  169. package/dist/esm/loader.js +13 -0
  170. package/dist/esm/loader.js.map +1 -0
  171. package/dist/esm/searchcraft-auto-search-form_17.entry.js +789 -0
  172. package/dist/esm/searchcraft-auto-search-form_17.entry.js.map +1 -0
  173. package/dist/{searchcraft-javascript-sdk → esm}/searchcraft-base-search-form.entry.js +5 -5
  174. package/dist/esm/searchcraft-base-search-form.entry.js.map +1 -0
  175. package/dist/{searchcraft-javascript-sdk → esm}/searchcraft-button-icon.entry.js +1 -1
  176. package/dist/esm/searchcraft-button-icon.entry.js.map +1 -0
  177. package/dist/{searchcraft-javascript-sdk → esm}/searchcraft-button.entry.js +4 -4
  178. package/dist/esm/searchcraft-button.entry.js.map +1 -0
  179. package/dist/esm/searchcraft-javascript-sdk.js +22 -0
  180. package/dist/esm/searchcraft-javascript-sdk.js.map +1 -0
  181. package/dist/esm/store-9e0b0710.js +310 -0
  182. package/dist/esm/store-9e0b0710.js.map +1 -0
  183. package/dist/{searchcraft-javascript-sdk/utils-d88ac15c.js → esm/utils-a3373179.js} +14 -3
  184. package/dist/esm/utils-a3373179.js.map +1 -0
  185. package/dist/index.cjs.js +1 -0
  186. package/dist/index.js +1 -0
  187. package/dist/loader/cdn.js +1 -0
  188. package/dist/loader/index.cjs.js +1 -0
  189. package/dist/loader/index.d.ts +24 -0
  190. package/dist/loader/index.es2017.js +1 -0
  191. package/dist/loader/index.js +2 -0
  192. package/dist/loader/package.json +11 -0
  193. package/dist/searchcraft-javascript-sdk/index.esm.js +1 -14
  194. package/dist/searchcraft-javascript-sdk/index.esm.js.map +1 -1
  195. package/dist/searchcraft-javascript-sdk/p-0880cfbb.js +3 -0
  196. package/dist/searchcraft-javascript-sdk/p-0880cfbb.js.map +1 -0
  197. package/dist/searchcraft-javascript-sdk/p-2bda632c.js +2 -0
  198. package/dist/searchcraft-javascript-sdk/p-2bda632c.js.map +1 -0
  199. package/dist/searchcraft-javascript-sdk/p-5cdc6210.js +7 -0
  200. package/dist/searchcraft-javascript-sdk/p-5cdc6210.js.map +1 -0
  201. package/dist/searchcraft-javascript-sdk/p-5ec960bd.entry.js +2 -0
  202. package/dist/searchcraft-javascript-sdk/p-5ec960bd.entry.js.map +1 -0
  203. package/dist/searchcraft-javascript-sdk/p-63b3b565.entry.js +2 -0
  204. package/dist/searchcraft-javascript-sdk/p-63b3b565.entry.js.map +1 -0
  205. package/dist/searchcraft-javascript-sdk/p-901fee50.js +11 -0
  206. package/dist/searchcraft-javascript-sdk/p-901fee50.js.map +1 -0
  207. package/dist/searchcraft-javascript-sdk/p-cc454542.entry.js +2 -0
  208. package/dist/searchcraft-javascript-sdk/p-cc454542.entry.js.map +1 -0
  209. package/dist/searchcraft-javascript-sdk/p-cc9a02ef.entry.js +2 -0
  210. package/dist/searchcraft-javascript-sdk/p-cc9a02ef.entry.js.map +1 -0
  211. package/dist/searchcraft-javascript-sdk/p-e1255160.js +2 -0
  212. package/dist/searchcraft-javascript-sdk/p-e1255160.js.map +1 -0
  213. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js +1 -48
  214. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js.map +1 -1
  215. package/dist/types/components/searchcraft-base-search-result/searchcraft-base-search-result.d.ts +1 -0
  216. package/dist/types/components/searchcraft-base-search-results/searchcraft-base-search-results.d.ts +1 -0
  217. package/dist/types/components/searchcraft-filters-list/searchcraft-filters-list.d.ts +1 -5
  218. package/dist/types/components.d.ts +4 -0
  219. package/dist/types/utils/utils.d.ts +11 -0
  220. package/package.json +1 -1
  221. package/dist/searchcraft-javascript-sdk/_commonjsHelpers-63cbe26c.js +0 -34
  222. package/dist/searchcraft-javascript-sdk/_commonjsHelpers-63cbe26c.js.map +0 -1
  223. package/dist/searchcraft-javascript-sdk/index-8211f330.js +0 -3043
  224. package/dist/searchcraft-javascript-sdk/index-8211f330.js.map +0 -1
  225. package/dist/searchcraft-javascript-sdk/index-d6567b9c.js.map +0 -1
  226. package/dist/searchcraft-javascript-sdk/searchcraft-auto-search-form.entry.js +0 -113
  227. package/dist/searchcraft-javascript-sdk/searchcraft-auto-search-form.entry.js.map +0 -1
  228. package/dist/searchcraft-javascript-sdk/searchcraft-base-search-form.entry.js.map +0 -1
  229. package/dist/searchcraft-javascript-sdk/searchcraft-base-search-result.entry.js +0 -57
  230. package/dist/searchcraft-javascript-sdk/searchcraft-base-search-result.entry.js.map +0 -1
  231. package/dist/searchcraft-javascript-sdk/searchcraft-base-search-results.entry.js.map +0 -1
  232. package/dist/searchcraft-javascript-sdk/searchcraft-button-icon.entry.js.map +0 -1
  233. package/dist/searchcraft-javascript-sdk/searchcraft-button.entry.js.map +0 -1
  234. package/dist/searchcraft-javascript-sdk/searchcraft-clear-icon-set.entry.js.map +0 -1
  235. package/dist/searchcraft-javascript-sdk/searchcraft-clear-input-button.entry.js +0 -30
  236. package/dist/searchcraft-javascript-sdk/searchcraft-clear-input-button.entry.js.map +0 -1
  237. package/dist/searchcraft-javascript-sdk/searchcraft-error-message.entry.js +0 -22
  238. package/dist/searchcraft-javascript-sdk/searchcraft-error-message.entry.js.map +0 -1
  239. package/dist/searchcraft-javascript-sdk/searchcraft-filters-list.entry.js +0 -99
  240. package/dist/searchcraft-javascript-sdk/searchcraft-filters-list.entry.js.map +0 -1
  241. package/dist/searchcraft-javascript-sdk/searchcraft-input-caption.entry.js.map +0 -1
  242. package/dist/searchcraft-javascript-sdk/searchcraft-input-icon.entry.js +0 -25
  243. package/dist/searchcraft-javascript-sdk/searchcraft-input-icon.entry.js.map +0 -1
  244. package/dist/searchcraft-javascript-sdk/searchcraft-input-label.entry.js +0 -29
  245. package/dist/searchcraft-javascript-sdk/searchcraft-input-label.entry.js.map +0 -1
  246. package/dist/searchcraft-javascript-sdk/searchcraft-input.entry.js.map +0 -1
  247. package/dist/searchcraft-javascript-sdk/searchcraft-results-info.entry.js.map +0 -1
  248. package/dist/searchcraft-javascript-sdk/searchcraft-search-icon-set.entry.js.map +0 -1
  249. package/dist/searchcraft-javascript-sdk/searchcraft-slider.entry.js.map +0 -1
  250. package/dist/searchcraft-javascript-sdk/searchcraft-spinner-dark.entry.js +0 -17
  251. package/dist/searchcraft-javascript-sdk/searchcraft-spinner-dark.entry.js.map +0 -1
  252. package/dist/searchcraft-javascript-sdk/searchcraft-spinner-light.entry.js +0 -17
  253. package/dist/searchcraft-javascript-sdk/searchcraft-spinner-light.entry.js.map +0 -1
  254. package/dist/searchcraft-javascript-sdk/searchcraft-toggle-button.entry.js.map +0 -1
  255. package/dist/searchcraft-javascript-sdk/shadow-css-423dab2c.js +0 -334
  256. package/dist/searchcraft-javascript-sdk/shadow-css-423dab2c.js.map +0 -1
  257. package/dist/searchcraft-javascript-sdk/store-0451a982.js +0 -3070
  258. package/dist/searchcraft-javascript-sdk/store-0451a982.js.map +0 -1
  259. package/dist/searchcraft-javascript-sdk/store-18b7e3ea.js +0 -3071
  260. package/dist/searchcraft-javascript-sdk/store-18b7e3ea.js.map +0 -1
  261. package/dist/searchcraft-javascript-sdk/store-910b9836.js +0 -3071
  262. package/dist/searchcraft-javascript-sdk/store-910b9836.js.map +0 -1
  263. package/dist/searchcraft-javascript-sdk/store-935525f8.js +0 -3071
  264. package/dist/searchcraft-javascript-sdk/store-935525f8.js.map +0 -1
  265. package/dist/searchcraft-javascript-sdk/utils-6d98c145.js.map +0 -1
  266. package/dist/searchcraft-javascript-sdk/utils-d88ac15c.js.map +0 -1
  267. package/dist/searchcraft-javascript-sdk/utils-dbb6302b.js.map +0 -1
  268. /package/dist/{searchcraft-javascript-sdk → esm}/app-globals-0f993ce5.js +0 -0
  269. /package/dist/{searchcraft-javascript-sdk → esm}/app-globals-0f993ce5.js.map +0 -0
@@ -0,0 +1,48 @@
1
+ import { p as proxyCustomElement, H, h } from './p-7498e493.js';
2
+ import { c as classNames } from './p-5cdc6210.js';
3
+
4
+ const searchcraftInputLabelModuleCss = ":root{--font-stack:Helvetica, Arial, sans-serif}.labelLight{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-top:4px;color:#292929}.labelDark{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-top:4px;color:#FFF}";
5
+ const SearchcraftInputLabelStyle0 = searchcraftInputLabelModuleCss;
6
+
7
+ const SearchcraftInputLabel = /*@__PURE__*/ proxyCustomElement(class SearchcraftInputLabel extends H {
8
+ constructor() {
9
+ super();
10
+ this.__registerHost();
11
+ this.__attachShadow();
12
+ this.inputLabelClassName = '';
13
+ this.label = undefined;
14
+ this.theme = 'light';
15
+ }
16
+ isLightTheme() {
17
+ return this.theme === 'light';
18
+ }
19
+ render() {
20
+ if (!this.label) {
21
+ return null;
22
+ }
23
+ const labelStyle = this.isLightTheme() ? 'labelLight' : 'labelDark';
24
+ return (h("label", { class: classNames(labelStyle, this.inputLabelClassName), htmlFor: 'searchcraft-input-id' }, this.label));
25
+ }
26
+ static get style() { return SearchcraftInputLabelStyle0; }
27
+ }, [1, "searchcraft-input-label", {
28
+ "inputLabelClassName": [1, "input-label-class-name"],
29
+ "label": [1],
30
+ "theme": [32]
31
+ }]);
32
+ function defineCustomElement() {
33
+ if (typeof customElements === "undefined") {
34
+ return;
35
+ }
36
+ const components = ["searchcraft-input-label"];
37
+ components.forEach(tagName => { switch (tagName) {
38
+ case "searchcraft-input-label":
39
+ if (!customElements.get(tagName)) {
40
+ customElements.define(tagName, SearchcraftInputLabel);
41
+ }
42
+ break;
43
+ } });
44
+ }
45
+
46
+ export { SearchcraftInputLabel as S, defineCustomElement as d };
47
+
48
+ //# sourceMappingURL=p-ae84b899.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-ae84b899.js","mappings":";;;AAAA,MAAM,8BAA8B,GAAG,4RAA4R,CAAC;AACpU,oCAAe,8BAA8B;;MCOhC,qBAAqB;;;;;mCACD,EAAE;;qBAEhB,OAAO;;IAEhB,YAAY;QAClB,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC;KAC/B;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,OAAO,IAAI,CAAC;SACb;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,YAAY,GAAG,WAAW,CAAC;QACpE,QACE,aACE,KAAK,EAAE,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,EACvD,OAAO,EAAC,sBAAsB,IAE7B,IAAI,CAAC,KAAK,CACL,EACR;KACH;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/searchcraft-input-label/searchcraft-input-label.module.scss?tag=searchcraft-input-label&encapsulation=shadow","src/components/searchcraft-input-label/searchcraft-input-label.tsx"],"sourcesContent":["@import '../../utils/theme';\n\n:root {\n --font-stack: Helvetica, Arial, sans-serif;\n}\n\n@mixin input-label-base {\n font-family: var(--font-stack);\n font-size: 12px;\n font-weight: 400;\n line-height: 16px;\n margin-top: 4px;\n}\n\n.labelLight {\n @include input-label-base;\n color: $light-input-label-color;\n}\n\n.labelDark {\n @include input-label-base;\n color: $dark-input-label-color;\n}","import { Component, Prop, h, State } from '@stencil/core';\nimport classNames from 'classnames';\n\n@Component({\n tag: 'searchcraft-input-label',\n styleUrl: 'searchcraft-input-label.module.scss',\n shadow: true,\n})\nexport class SearchcraftInputLabel {\n @Prop() inputLabelClassName? = '';\n @Prop() label?: string;\n @State() theme = 'light';\n\n private isLightTheme() {\n return this.theme === 'light';\n }\n\n render() {\n if (!this.label) {\n return null;\n }\n const labelStyle = this.isLightTheme() ? 'labelLight' : 'labelDark';\n return (\n <label\n class={classNames(labelStyle, this.inputLabelClassName)}\n htmlFor='searchcraft-input-id'\n >\n {this.label}\n </label>\n );\n }\n}\n"],"version":3}
@@ -1,13 +1,22 @@
1
- import { r as registerInstance, a as createEvent, h, F as Fragment } from './index-8211f330.js';
2
- import { c as classNames } from './index-d6567b9c.js';
3
- import { p as parseCustomStyles } from './utils-dbb6302b.js';
4
- import './_commonjsHelpers-63cbe26c.js';
1
+ import { p as proxyCustomElement, H, c as createEvent, h, F as Fragment } from './p-7498e493.js';
2
+ import { c as classNames } from './p-5cdc6210.js';
3
+ import { p as parseCustomStyles } from './p-2bda632c.js';
4
+ import { d as defineCustomElement$7 } from './p-70722ab2.js';
5
+ import { d as defineCustomElement$6 } from './p-1c377190.js';
6
+ import { d as defineCustomElement$5 } from './p-6237f03e.js';
7
+ import { d as defineCustomElement$4 } from './p-8c38185e.js';
8
+ import { d as defineCustomElement$3 } from './p-a3bd1bc8.js';
9
+ import { d as defineCustomElement$2 } from './p-3fece4e2.js';
10
+ import { d as defineCustomElement$1 } from './p-25f18f2e.js';
5
11
 
6
12
  const searchcraftInputModuleCss = ":root{--font-stack:Helvetica, Arial, sans-serif}.inputContainerLTR{position:relative;width:100%}.inputContainerRTL{position:relative;width:100%;margin-left:8px}.inputLightLTR{border:none;border-radius:8px;font-family:var(--font-stack);outline:none;padding-bottom:15px;padding-top:15px;width:100%;background-color:#EDEDED;color:#292929;margin-right:8px;padding-left:36px;padding-right:16px}.inputLightLTR::placeholder{font-family:var(--font-stack);font-size:16px}.inputLightLTR::placeholder{color:#737373}.inputLightLTR:focus{outline:2px solid #000}.inputDarkLTR{border:none;border-radius:8px;font-family:var(--font-stack);outline:none;padding-bottom:15px;padding-top:15px;width:100%;background-color:#1A1A1A;color:#FFF;margin-right:8px;padding-left:36px;padding-right:16px}.inputDarkLTR::placeholder{font-family:var(--font-stack);font-size:16px}.inputDarkLTR::placeholder{color:#BFBFBF}.inputDarkLTR:focus{outline:2px solid #FFF}.inputErrorLightLTR{border:none;border-radius:8px;font-family:var(--font-stack);outline:none;padding-bottom:15px;padding-top:15px;width:100%;background-color:#EDEDED;color:#292929;outline:2px solid #c00;margin-right:8px;padding-left:36px;padding-right:16px}.inputErrorLightLTR::placeholder{font-family:var(--font-stack);font-size:16px}.inputErrorLightLTR::placeholder{color:#737373}.inputErrorLightLTR:focus{outline:2px solid #000}.inputErrorLightLTR:focus-visible{outline:2px solid #c00}.inputErrorDarkLTR{border:none;border-radius:8px;font-family:var(--font-stack);outline:none;padding-bottom:15px;padding-top:15px;width:100%;background-color:#1A1A1A;color:#FFF;outline:2px solid #FFB3B3;margin-right:8px;padding-left:36px;padding-right:16px}.inputErrorDarkLTR::placeholder{font-family:var(--font-stack);font-size:16px}.inputErrorDarkLTR::placeholder{color:#BFBFBF}.inputErrorDarkLTR:focus{outline:2px solid #FFF}.inputErrorDarkLTR:focus-visible{outline:2px solid #FFB3B3}.inputLightRTL{border:none;border-radius:8px;font-family:var(--font-stack);outline:none;padding-bottom:15px;padding-top:15px;width:100%;background-color:#EDEDED;color:#292929;margin-left:8px;padding-left:16px;padding-right:36px;text-align:right}.inputLightRTL::placeholder{font-family:var(--font-stack);font-size:16px}.inputLightRTL::placeholder{color:#737373}.inputLightRTL:focus{outline:2px solid #000}.inputDarkRTL{border:none;border-radius:8px;font-family:var(--font-stack);outline:none;padding-bottom:15px;padding-top:15px;width:100%;background-color:#1A1A1A;color:#FFF;margin-left:8px;padding-left:16px;padding-right:36px;text-align:right}.inputDarkRTL::placeholder{font-family:var(--font-stack);font-size:16px}.inputDarkRTL::placeholder{color:#BFBFBF}.inputDarkRTL:focus{outline:2px solid #FFF}.inputErrorLightRTL{border:none;border-radius:8px;font-family:var(--font-stack);outline:none;padding-bottom:15px;padding-top:15px;width:100%;background-color:#EDEDED;color:#292929;outline:2px solid #c00;margin-left:8px;padding-left:16px;padding-right:36px;text-align:right}.inputErrorLightRTL::placeholder{font-family:var(--font-stack);font-size:16px}.inputErrorLightRTL::placeholder{color:#737373}.inputErrorLightRTL:focus{outline:2px solid #000}.inputErrorLightRTL:focus-visible{outline:2px solid #c00}.inputErrorDarkRTL{border:none;border-radius:8px;font-family:var(--font-stack);outline:none;padding-bottom:15px;padding-top:15px;width:100%;background-color:#1A1A1A;color:#FFF;outline:2px solid #FFB3B3;margin-left:8px;padding-left:16px;padding-right:36px;text-align:right}.inputErrorDarkRTL::placeholder{font-family:var(--font-stack);font-size:16px}.inputErrorDarkRTL::placeholder{color:#BFBFBF}.inputErrorDarkRTL:focus{outline:2px solid #FFF}.inputErrorDarkRTL:focus-visible{outline:2px solid #FFB3B3}.inputWrapper{align-items:center;display:flex;position:relative;width:100%}";
13
+ const SearchcraftInputStyle0 = searchcraftInputModuleCss;
7
14
 
8
- const SearchcraftInput = class {
9
- constructor(hostRef) {
10
- registerInstance(this, hostRef);
15
+ const SearchcraftInput = /*@__PURE__*/ proxyCustomElement(class SearchcraftInput extends H {
16
+ constructor() {
17
+ super();
18
+ this.__registerHost();
19
+ this.__attachShadow();
11
20
  this.clearInput = createEvent(this, "clearInput", 7);
12
21
  this.searchInputChange = createEvent(this, "searchInputChange", 7);
13
22
  this.inputKeyUp = createEvent(this, "inputKeyUp", 7);
@@ -56,7 +65,7 @@ const SearchcraftInput = class {
56
65
  const placeholderStyle = {
57
66
  fontSize: validatedCustomStyles.placeholderFontSize || '16px',
58
67
  };
59
- return (h("div", { key: '80b683ed9ed141f5e74b06f63dabab10e17b9de2', class: classNames(containerClassName, this.formClassName, 'searchcraft-input-form') }, this.rightToLeftOrientation ? (h(Fragment, null, h("input", { autoComplete: 'off', class: classNames(inputClassName, 'searchcraft-input'), id: 'searchcraft-input-id', onChange: this.handleInputChange.bind(this), onKeyUp: this.handleInputKeyUp.bind(this), placeholder: this.placeholderValue, type: 'text', value: this.query, style: validatedCustomStyles }), h("style", null, `
68
+ return (h("div", { key: 'ca2698b808ef606d890817f6b8c133503663570e', class: classNames(containerClassName, this.formClassName, 'searchcraft-input-form') }, this.rightToLeftOrientation ? (h(Fragment, null, h("input", { autoComplete: 'off', class: classNames(inputClassName, 'searchcraft-input'), id: 'searchcraft-input-id', onChange: this.handleInputChange.bind(this), onKeyUp: this.handleInputKeyUp.bind(this), placeholder: this.placeholderValue, type: 'text', value: this.query, style: validatedCustomStyles }), h("style", null, `
60
69
  #searchcraft-input-id::placeholder {
61
70
  font-size: ${placeholderStyle.fontSize};
62
71
  }
@@ -66,9 +75,71 @@ const SearchcraftInput = class {
66
75
  }
67
76
  `), this.inputCaptionValue && (h("searchcraft-input-caption", { inputCaptionClassName: this.inputCaptionClassName, inputCaptionValue: this.inputCaptionValue, rightToLeftOrientation: this.rightToLeftOrientation })), this.query.length > 0 && (h("searchcraft-clear-input-button", { isRequesting: this.isRequesting, onClearInput: this.handleClearInput, rightToLeftOrientation: this.rightToLeftOrientation }))))));
68
77
  }
69
- };
70
- SearchcraftInput.style = searchcraftInputModuleCss;
78
+ static get style() { return SearchcraftInputStyle0; }
79
+ }, [1, "searchcraft-input", {
80
+ "customStyles": [1, "custom-styles"],
81
+ "error": [4],
82
+ "formClassName": [1, "form-class-name"],
83
+ "inputCaptionClassName": [1, "input-caption-class-name"],
84
+ "inputCaptionValue": [1, "input-caption-value"],
85
+ "inputClassName": [1, "input-class-name"],
86
+ "inputIconHeight": [2, "input-icon-height"],
87
+ "inputIconWidth": [2, "input-icon-width"],
88
+ "isRequesting": [4, "is-requesting"],
89
+ "placeholderValue": [1, "placeholder-value"],
90
+ "rightToLeftOrientation": [4, "right-to-left-orientation"],
91
+ "query": [1],
92
+ "theme": [32]
93
+ }]);
94
+ function defineCustomElement() {
95
+ if (typeof customElements === "undefined") {
96
+ return;
97
+ }
98
+ const components = ["searchcraft-input", "searchcraft-clear-icon-set", "searchcraft-clear-input-button", "searchcraft-input-caption", "searchcraft-input-icon", "searchcraft-search-icon-set", "searchcraft-spinner-dark", "searchcraft-spinner-light"];
99
+ components.forEach(tagName => { switch (tagName) {
100
+ case "searchcraft-input":
101
+ if (!customElements.get(tagName)) {
102
+ customElements.define(tagName, SearchcraftInput);
103
+ }
104
+ break;
105
+ case "searchcraft-clear-icon-set":
106
+ if (!customElements.get(tagName)) {
107
+ defineCustomElement$7();
108
+ }
109
+ break;
110
+ case "searchcraft-clear-input-button":
111
+ if (!customElements.get(tagName)) {
112
+ defineCustomElement$6();
113
+ }
114
+ break;
115
+ case "searchcraft-input-caption":
116
+ if (!customElements.get(tagName)) {
117
+ defineCustomElement$5();
118
+ }
119
+ break;
120
+ case "searchcraft-input-icon":
121
+ if (!customElements.get(tagName)) {
122
+ defineCustomElement$4();
123
+ }
124
+ break;
125
+ case "searchcraft-search-icon-set":
126
+ if (!customElements.get(tagName)) {
127
+ defineCustomElement$3();
128
+ }
129
+ break;
130
+ case "searchcraft-spinner-dark":
131
+ if (!customElements.get(tagName)) {
132
+ defineCustomElement$2();
133
+ }
134
+ break;
135
+ case "searchcraft-spinner-light":
136
+ if (!customElements.get(tagName)) {
137
+ defineCustomElement$1();
138
+ }
139
+ break;
140
+ } });
141
+ }
71
142
 
72
- export { SearchcraftInput as searchcraft_input };
143
+ export { SearchcraftInput as S, defineCustomElement as d };
73
144
 
74
- //# sourceMappingURL=searchcraft-input.entry.js.map
145
+ //# sourceMappingURL=p-b5f97e04.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-b5f97e04.js","mappings":"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","names":[],"sources":["src/components/searchcraft-input/searchcraft-input.module.scss?tag=searchcraft-input&encapsulation=shadow","src/components/searchcraft-input/searchcraft-input.tsx"],"sourcesContent":["@import '../../utils/theme';\n\n:root {\n --font-stack: Helvetica, Arial, sans-serif;\n}\n\n@mixin input-container-base {\n position: relative;\n width: 100%;\n}\n\n@mixin input-base {\n border: none;\n border-radius: 8px;\n font-family: var(--font-stack);\n outline: none;\n padding-bottom: 15px;\n padding-top: 15px;\n width: 100%;\n\n &::placeholder {\n font-family: var(--font-stack);\n font-size: 16px;\n }\n}\n\n@mixin input-base-light {\n @include input-base;\n background-color: $light-input-background-color;\n color: $light-input-label-color;\n\n &::placeholder {\n color: $light-input-placeholder-color;\n }\n\n &:focus {\n outline: 2px solid $light-input-outline-focus;\n }\n}\n\n@mixin input-base-dark {\n @include input-base;\n background-color: $dark-input-background-color;\n color: $dark-input-label-color;\n\n &::placeholder {\n color: $dark-input-placeholder-color;\n }\n\n &:focus {\n outline: 2px solid $dark-input-outline-focus;\n }\n}\n\n@mixin input-error-base-light {\n @include input-base-light;\n outline: 2px solid $light-input-error-outline;\n\n &:focus-visible {\n outline: 2px solid $light-input-error-outline,\n }\n}\n\n@mixin input-error-base-dark {\n @include input-base-dark;\n outline: 2px solid $dark-input-error-outline;\n\n &:focus-visible {\n outline: 2px solid $dark-input-error-outline;\n }\n}\n\n.inputContainerLTR {\n @include input-container-base;\n}\n\n.inputContainerRTL {\n @include input-container-base;\n margin-left: 8px;\n}\n\n@mixin align-LTR {\n margin-right: 8px;\n padding-left: 36px;\n padding-right: 16px;\n}\n\n.inputLightLTR {\n @include input-base-light;\n @include align-LTR;\n}\n\n.inputDarkLTR {\n @include input-base-dark;\n @include align-LTR;\n}\n\n.inputErrorLightLTR {\n @include input-error-base-light;\n @include align-LTR;\n}\n\n.inputErrorDarkLTR {\n @include input-error-base-dark;\n @include align-LTR;\n}\n\n@mixin align-RTL {\n margin-left: 8px;\n padding-left: 16px;\n padding-right: 36px;\n text-align: right;\n}\n\n.inputLightRTL {\n @include input-base-light;\n @include align-RTL;\n}\n\n.inputDarkRTL {\n @include input-base-dark;\n @include align-RTL;\n}\n\n.inputErrorLightRTL {\n @include input-error-base-light;\n @include align-RTL;\n}\n\n.inputErrorDarkRTL {\n @include input-error-base-dark;\n @include align-RTL;\n}\n\n.inputWrapper {\n align-items: center;\n display: flex;\n position: relative;\n width: 100%;\n}\n","import {\n Component,\n h,\n Prop,\n State,\n Event,\n Fragment,\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: true,\n})\nexport class SearchcraftInput {\n @Prop() customStyles: string | Record<string, string> = {};\n @Prop() error = false;\n @Prop() formClassName = '';\n @Prop() inputCaptionClassName = '';\n @Prop() inputCaptionValue = '';\n @Prop() inputClassName = '';\n @Prop() inputIconHeight = 20;\n @Prop() inputIconWidth = 20;\n @Prop() isRequesting = false;\n @Prop() placeholderValue = 'Enter Search';\n @Prop() rightToLeftOrientation = false;\n @Prop() query = '';\n\n @Event() clearInput: EventEmitter<void>;\n @Event() searchInputChange: EventEmitter<string>;\n @Event() inputKeyUp: EventEmitter<string>;\n\n @State() theme = 'light';\n\n private get isLightTheme() {\n return this.theme === 'light';\n }\n\n handleInputChange(event: Event) {\n const input = event.target as HTMLInputElement;\n this.searchInputChange.emit(input.value);\n }\n\n handleInputKeyUp(event: KeyboardEvent) {\n const input = event.target as HTMLInputElement;\n this.inputKeyUp.emit(input.value);\n }\n\n handleClearInput() {\n if (this.clearInput) {\n this.clearInput.emit();\n }\n }\n\n render() {\n const containerClassName = this.rightToLeftOrientation\n ? 'inputContainerRTL'\n : 'inputContainerLTR';\n\n const inputClassName = classNames(\n this.error\n ? this.isLightTheme\n ? 'inputErrorLightRTL'\n : 'inputErrorDarkRTL'\n : this.isLightTheme\n ? 'inputLightLTR'\n : 'inputDarkLTR',\n 'searchcraft-input',\n );\n\n const validatedCustomStyles = parseCustomStyles(this.customStyles);\n\n const placeholderStyle = {\n fontSize: validatedCustomStyles.placeholderFontSize || '16px',\n };\n return (\n <div\n class={classNames(\n containerClassName,\n this.formClassName,\n 'searchcraft-input-form',\n )}\n >\n {this.rightToLeftOrientation ? (\n <Fragment>\n <input\n autoComplete='off'\n class={classNames(inputClassName, 'searchcraft-input')}\n id='searchcraft-input-id'\n onChange={this.handleInputChange.bind(this)}\n onKeyUp={this.handleInputKeyUp.bind(this)}\n placeholder={this.placeholderValue}\n type='text'\n value={this.query}\n style={validatedCustomStyles}\n />\n <style>\n {`\n #searchcraft-input-id::placeholder {\n font-size: ${placeholderStyle.fontSize};\n }\n `}\n </style>\n {this.inputCaptionValue && (\n <searchcraft-input-caption\n inputCaptionClassName={this.inputCaptionClassName}\n inputCaptionValue={this.inputCaptionValue}\n rightToLeftOrientation={this.rightToLeftOrientation}\n />\n )}\n {this.query.length > 0 && (\n <searchcraft-clear-input-button\n isRequesting={this.isRequesting}\n onClearInput={this.handleClearInput}\n rightToLeftOrientation={this.rightToLeftOrientation}\n />\n )}\n <searchcraft-input-icon\n error={this.error}\n height={this.inputIconHeight}\n rightToLeftOrientation={this.rightToLeftOrientation}\n width={this.inputIconWidth}\n />\n </Fragment>\n ) : (\n <Fragment>\n <searchcraft-input-icon\n error={this.error}\n height={this.inputIconHeight}\n rightToLeftOrientation={this.rightToLeftOrientation}\n width={this.inputIconWidth}\n />\n <input\n autoComplete='off'\n class={classNames(inputClassName, 'searchcraft-input')}\n id='searchcraft-input-id'\n onChange={this.handleInputChange.bind(this)}\n onKeyUp={this.handleInputKeyUp.bind(this)}\n placeholder={this.placeholderValue}\n type='text'\n value={this.query}\n style={validatedCustomStyles}\n />\n <style>\n {`\n #searchcraft-input-id::placeholder {\n font-size: ${placeholderStyle.fontSize};\n }\n `}\n </style>\n {this.inputCaptionValue && (\n <searchcraft-input-caption\n inputCaptionClassName={this.inputCaptionClassName}\n inputCaptionValue={this.inputCaptionValue}\n rightToLeftOrientation={this.rightToLeftOrientation}\n />\n )}\n {this.query.length > 0 && (\n <searchcraft-clear-input-button\n isRequesting={this.isRequesting}\n onClearInput={this.handleClearInput}\n rightToLeftOrientation={this.rightToLeftOrientation}\n />\n )}\n </Fragment>\n )}\n </div>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,89 @@
1
+ import { p as proxyCustomElement, H, c as createEvent, h, F as Fragment } from './p-7498e493.js';
2
+
3
+ const searchcraftBaseSearchResultModuleCss = "@charset \"UTF-8\";:root{--font-stack:Helvetica, Arial, sans-serif}.interactiveResultContainerLight{align-items:flex-start;border-radius:16px;display:flex;flex-direction:column;gap:16px;padding:8px;position:relative;background-color:#FAFAFA}@media (min-width: 600px){.interactiveResultContainerLight{flex-direction:row}}.interactiveResultContainerDark{align-items:flex-start;border-radius:16px;display:flex;flex-direction:column;gap:16px;padding:8px;position:relative;background-color:#2E2E2E}@media (min-width: 600px){.interactiveResultContainerDark{flex-direction:row}}.resultContainer{align-items:flex-start;display:flex;flex-direction:column;gap:16px}@media (min-width: 600px){.resultContainer{flex-direction:row}}.interactiveIconLarge{display:inline-block;position:absolute;right:5px;top:8px}@media (max-width: 600px){.interactiveIconLarge{display:none}}.interactiveIconSmall{display:inline-block;position:absolute;right:5px;top:-2px}@media (min-width: 600px){.interactiveIconSmall{display:none}}.imageContainer{max-width:100%}.contentContainer{max-height:100%;max-width:100%}@media (min-width: 600px){.contentContainer{max-width:50%}}.secondaryContentContainer{display:flex}.imageLight{border-radius:8px;max-height:100%;max-width:100%;border:1px solid #D9D9D9}.imageDark{border-radius:8px;max-height:100%;max-width:100%;border:1px solid #333}.headingLight{font-family:var(--font-stack);font-size:16px;font-weight:700;line-height:20px;margin-bottom:4px;margin-top:0;position:relative;color:#292929}.headingDark{font-family:var(--font-stack);font-size:16px;font-weight:700;line-height:20px;margin-bottom:4px;margin-top:0;position:relative;color:#FFF}.subheadingLight{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-bottom:4px;margin-top:0px;color:#737373}.subheadingDark{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-bottom:4px;margin-top:0px;color:#BFBFBF}.primaryContentLight{font-family:var(--font-stack);font-size:16px;font-weight:400;line-height:20px;margin-bottom:4px;margin-top:0px;color:#404040}.primaryContentDark{font-family:var(--font-stack);font-size:16px;font-weight:400;line-height:20px;margin-bottom:4px;margin-top:0px;color:#E6E6E6}.secondaryContentLight{font-family:var(--font-stack);font-size:16px;font-weight:400;line-height:20px;margin-bottom:4px;margin-top:0px;color:#404040}.secondaryContentLight::after{content:\"•\";color:#404040;font-size:1em;margin-left:5px;margin-right:5px}.secondaryContentDark{font-family:var(--font-stack);font-size:16px;font-weight:400;line-height:20px;margin-bottom:4px;margin-top:0px;color:#E6E6E6}.tertiaryContentLight{font-family:var(--font-stack);font-size:16px;font-weight:400;line-height:20px;margin-bottom:4px;margin-top:0px;color:#404040}.tertiaryContentDark{font-family:var(--font-stack);font-size:16px;font-weight:400;line-height:20px;margin-bottom:4px;margin-top:0px;color:#E6E6E6}";
4
+ const SearchcraftBaseSearchResultStyle0 = searchcraftBaseSearchResultModuleCss;
5
+
6
+ const SearchcraftBaseSearchResult = /*@__PURE__*/ proxyCustomElement(class SearchcraftBaseSearchResult extends H {
7
+ constructor() {
8
+ super();
9
+ this.__registerHost();
10
+ this.__attachShadow();
11
+ this.buttonCallback = createEvent(this, "buttonCallback", 7);
12
+ this.keyDownCallback = createEvent(this, "keyDownCallback", 7);
13
+ this.resultCallback = createEvent(this, "resultCallback", 7);
14
+ this.buttonCallback = () => { }; // Callback for button click
15
+ this.keyDownCallback = () => { }; // Callback for key down event
16
+ this.resultCallback = () => { }; // Callback for result container click
17
+ this.handleButtonClick = () => {
18
+ this.buttonCallback();
19
+ };
20
+ this.handleContainerClick = () => {
21
+ if (this.isInteractive) {
22
+ this.resultCallback();
23
+ }
24
+ };
25
+ this.buttonText = '';
26
+ this.customStyles = '{}';
27
+ this.headingText = '';
28
+ this.imageDescription = '';
29
+ this.imageSource = '';
30
+ this.isInteractive = false;
31
+ this.primaryContent = '';
32
+ this.secondaryContent = '';
33
+ this.subheadingText = '';
34
+ this.tertiaryContent = '';
35
+ this.themeMode = 'light';
36
+ this.placeImageRight = false;
37
+ }
38
+ parseStyles() {
39
+ try {
40
+ return JSON.parse(this.customStyles);
41
+ }
42
+ catch (error) {
43
+ console.error('Error parsing custom styles:', error);
44
+ return {};
45
+ }
46
+ }
47
+ render() {
48
+ const isLightTheme = this.themeMode === 'light';
49
+ const styles = this.parseStyles();
50
+ const imageContainer = (h("div", { key: '83bd0ac730469f4004ac4024c749cd66edfbf7c7', class: 'imageContainer' }, h("img", { key: 'e379c01b45808499d6ac78557294e9c408b1734f', alt: this.imageDescription, class: isLightTheme ? 'imageLight' : 'imageDark', src: this.imageSource, style: styles.image || {} })));
51
+ const contentContainer = (h("div", { key: '1847892cef75ecb2179178ec17217376c523b1b2', class: 'contentContainer' }, h("h2", { key: '16f6c8dac748fa2b99575eb4b8bcf217a7452ea0', class: isLightTheme ? 'headingLight' : 'headingDark', style: styles.heading || {} }, this.headingText), h("h3", { key: '3539e9fc9b2e567d5cb088b4ae77307f03fb47d1', class: isLightTheme ? 'subheadingLight' : 'subheadingDark', style: styles.subheading || {} }, this.subheadingText), h("p", { key: '20beff8ed55ca1c18cef587f4306b50829c81775', class: isLightTheme ? 'primaryContentLight' : 'primaryContentDark', style: styles.primaryContent || {} }, this.primaryContent), h("div", { key: 'd79107bd79de978f64906db23aa14c533132f369', class: 'secondaryContentContainer' }, h("p", { key: '978f7176d8fa3372a1360a516640d8334ffe9612', class: isLightTheme ? 'secondaryContentLight' : 'secondaryContentDark', style: styles.secondaryContent || {} }, this.secondaryContent), h("p", { key: '08e70740d73f78ef10769f882ac4ddf80545fac2', class: isLightTheme ? 'tertiaryContentLight' : 'tertiaryContentDark', style: styles.tertiaryContent || {} }, this.tertiaryContent)), this.buttonText && (h("button", { key: '3f3bfe27e824829e86764445ad9c0cd66bfeae92', onClick: this.handleButtonClick, style: styles.button || {}, type: 'button' }, this.buttonText))));
52
+ return (h("div", { key: 'f6dc4ad85634cef131ffc85d574ef35a862f9d77', class: this.isInteractive
53
+ ? isLightTheme
54
+ ? 'interactiveResultContainerLight'
55
+ : 'interactiveResultContainerDark'
56
+ : 'resultContainer', onKeyDown: this.keyDownCallback, onClick: this.handleContainerClick, style: styles.container || {}, tabindex: '0' }, this.placeImageRight ? (h(Fragment, null, contentContainer, imageContainer)) : (h(Fragment, null, imageContainer, contentContainer))));
57
+ }
58
+ static get style() { return SearchcraftBaseSearchResultStyle0; }
59
+ }, [1, "searchcraft-base-search-result", {
60
+ "buttonText": [1, "button-text"],
61
+ "customStyles": [1, "custom-styles"],
62
+ "headingText": [1, "heading-text"],
63
+ "imageDescription": [1, "image-description"],
64
+ "imageSource": [1, "image-source"],
65
+ "isInteractive": [4, "is-interactive"],
66
+ "primaryContent": [1, "primary-content"],
67
+ "secondaryContent": [1, "secondary-content"],
68
+ "subheadingText": [1, "subheading-text"],
69
+ "tertiaryContent": [1, "tertiary-content"],
70
+ "themeMode": [1, "theme-mode"],
71
+ "placeImageRight": [4, "place-image-right"]
72
+ }]);
73
+ function defineCustomElement() {
74
+ if (typeof customElements === "undefined") {
75
+ return;
76
+ }
77
+ const components = ["searchcraft-base-search-result"];
78
+ components.forEach(tagName => { switch (tagName) {
79
+ case "searchcraft-base-search-result":
80
+ if (!customElements.get(tagName)) {
81
+ customElements.define(tagName, SearchcraftBaseSearchResult);
82
+ }
83
+ break;
84
+ } });
85
+ }
86
+
87
+ export { SearchcraftBaseSearchResult as S, defineCustomElement as d };
88
+
89
+ //# sourceMappingURL=p-bdf281cc.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-bdf281cc.js","mappings":"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","names":[],"sources":["src/components/searchcraft-base-search-result/searchcraft-base-search-result.module.scss?tag=searchcraft-base-search-result&encapsulation=shadow","src/components/searchcraft-base-search-result/searchcraft-base-search-result.tsx"],"sourcesContent":["@import '../../utils/theme';\n\n:root {\n --font-stack: Helvetica, Arial, sans-serif;\n}\n\n@mixin interactive-result-container-base {\n align-items: flex-start;\n border-radius: 16px;\n display: flex;\n flex-direction: column;\n gap: 16px;\n padding: 8px;\n position: relative;\n\n @media (min-width: 600px) {\n flex-direction: row;\n }\n}\n\n.interactiveResultContainerLight {\n @include interactive-result-container-base;\n background-color: $light-search-result-container-background;\n}\n\n.interactiveResultContainerDark {\n @include interactive-result-container-base;\n background-color: $dark-search-result-container-background;\n}\n\n.resultContainer {\n align-items: flex-start;\n display: flex;\n flex-direction: column;\n gap: 16px;\n\n @media (min-width: 600px) {\n flex-direction: row;\n }\n}\n\n.interactiveIconLarge {\n display: inline-block;\n position: absolute;\n right: 5px;\n top: 8px;\n\n\n @media (max-width: 600px) {\n display: none;\n }\n}\n\n.interactiveIconSmall {\n display: inline-block;\n position: absolute;\n right: 5px;\n top: -2px;\n\n\n @media (min-width: 600px) {\n display: none;\n }\n}\n\n.imageContainer {\n max-width: 100%;\n}\n\n.contentContainer {\n max-height: 100%;\n max-width: 100%;\n\n @media (min-width: 600px) {\n max-width: 50%;\n }\n}\n\n.secondaryContentContainer {\n display: flex;\n\n}\n\n@mixin image-base {\n border-radius: 8px;\n max-height: 100%;\n max-width: 100%;\n}\n\n.imageLight {\n @include image-base;\n border: 1px solid $light-search-result-image-border;\n}\n\n.imageDark {\n @include image-base;\n border: 1px solid $dark-search-result-image-border;\n}\n\n@mixin heading-base {\n font-family: var(--font-stack);\n font-size: 16px;\n font-weight: 700;\n line-height: 20px;\n margin-bottom: 4px;\n margin-top: 0;\n position: relative;\n}\n\n.headingLight {\n @include heading-base;\n color: $light-search-result-heading-color;\n}\n\n.headingDark {\n @include heading-base;\n color: $dark-search-result-heading-color;\n}\n\n@mixin subheading-base {\n font-family: var(--font-stack);\n font-size: 12px;\n font-weight: 400;\n line-height: 16px;\n margin-bottom: 4px;\n margin-top: 0px;\n}\n\n.subheadingLight {\n @include subheading-base;\n color: $light-search-result-subheading-color;\n}\n\n.subheadingDark {\n @include subheading-base;\n color: $dark-search-result-subheading-color\n}\n\n@mixin body-content-base {\n font-family: var(--font-stack);\n font-size: 16px;\n font-weight: 400;\n line-height: 20px;\n margin-bottom: 4px;\n margin-top: 0px;\n}\n\n.primaryContentLight {\n @include body-content-base;\n color: $light-search-result-body-content-color;\n}\n\n.primaryContentDark {\n @include body-content-base;\n color: $dark-search-result-body-content-color;\n}\n\n.secondaryContentLight {\n @include body-content-base;\n color: $light-search-result-body-content-color;\n}\n\n.secondaryContentLight::after {\n content: \"•\";\n color: $light-search-result-body-content-color;\n font-size: 1em;\n margin-left: 5px;\n margin-right: 5px;\n}\n\n.secondaryContentDark {\n @include body-content-base;\n color: $dark-search-result-body-content-color;\n}\n\n.tertiaryContentLight {\n @include body-content-base;\n color: $light-search-result-body-content-color;\n}\n\n.tertiaryContentDark {\n @include body-content-base;\n color: $dark-search-result-body-content-color;\n}","import { Component, Event, Fragment, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'searchcraft-base-search-result',\n styleUrl: 'searchcraft-base-search-result.module.scss',\n shadow: true,\n})\nexport class SearchcraftBaseSearchResult {\n @Prop() buttonText = ''; // Label for the button\n @Prop() customStyles = '{}'; // New string prop for serialized styles.\n @Prop() headingText = ''; // Text for the heading\n @Prop() imageDescription = ''; // Alternative text for the image\n @Prop() imageSource = ''; // Source URL for the image\n @Prop() isInteractive = false; // Determines if the result is interactive\n @Prop() primaryContent = ''; // Primary body content\n @Prop() secondaryContent = ''; // Secondary body content\n @Prop() subheadingText = ''; // Text for the subheading\n @Prop() tertiaryContent = ''; // Tertiary body content\n @Prop() themeMode: 'light' | 'dark' = 'light'; // Light or dark theme context\n @Prop() placeImageRight = false; // Determines the placement of the image container\n\n @Event() buttonCallback: () => void = () => {}; // Callback for button click\n @Event() keyDownCallback: () => void = () => {}; // Callback for key down event\n @Event() resultCallback: () => void = () => {}; // Callback for result container click\n\n private handleButtonClick = () => {\n this.buttonCallback();\n };\n\n private handleContainerClick = () => {\n if (this.isInteractive) {\n this.resultCallback();\n }\n };\n\n private parseStyles(): Record<string, { [key: string]: string }> {\n try {\n return JSON.parse(this.customStyles);\n } catch (error) {\n console.error('Error parsing custom styles:', error);\n return {};\n }\n }\n\n render() {\n const isLightTheme = this.themeMode === 'light';\n const styles = this.parseStyles();\n\n const imageContainer = (\n <div class='imageContainer'>\n <img\n alt={this.imageDescription}\n class={isLightTheme ? 'imageLight' : 'imageDark'}\n src={this.imageSource}\n style={styles.image || {}}\n />\n </div>\n );\n\n const contentContainer = (\n <div class='contentContainer'>\n <h2\n class={isLightTheme ? 'headingLight' : 'headingDark'}\n style={styles.heading || {}}\n >\n {this.headingText}\n </h2>\n <h3\n class={isLightTheme ? 'subheadingLight' : 'subheadingDark'}\n style={styles.subheading || {}}\n >\n {this.subheadingText}\n </h3>\n <p\n class={isLightTheme ? 'primaryContentLight' : 'primaryContentDark'}\n style={styles.primaryContent || {}}\n >\n {this.primaryContent}\n </p>\n <div class='secondaryContentContainer'>\n <p\n class={\n isLightTheme ? 'secondaryContentLight' : 'secondaryContentDark'\n }\n style={styles.secondaryContent || {}}\n >\n {this.secondaryContent}\n </p>\n <p\n class={\n isLightTheme ? 'tertiaryContentLight' : 'tertiaryContentDark'\n }\n style={styles.tertiaryContent || {}}\n >\n {this.tertiaryContent}\n </p>\n </div>\n {this.buttonText && (\n <button\n onClick={this.handleButtonClick}\n style={styles.button || {}}\n type='button'\n >\n {this.buttonText}\n </button>\n )}\n </div>\n );\n\n return (\n <div\n class={\n this.isInteractive\n ? isLightTheme\n ? 'interactiveResultContainerLight'\n : 'interactiveResultContainerDark'\n : 'resultContainer'\n }\n onKeyDown={this.keyDownCallback}\n onClick={this.handleContainerClick}\n style={styles.container || {}}\n tabindex='0'\n >\n {this.placeImageRight ? (\n <Fragment>\n {contentContainer}\n {imageContainer}\n </Fragment>\n ) : (\n <Fragment>\n {imageContainer}\n {contentContainer}\n </Fragment>\n )}\n </div>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,207 @@
1
+ import { p as proxyCustomElement, H, c as createEvent, h } from './p-7498e493.js';
2
+ import { u as useSearchcraftStore, g } from './p-157e5b1a.js';
3
+ import { p as parseCustomStyles } from './p-2bda632c.js';
4
+ import { d as defineCustomElement$b } from './p-70722ab2.js';
5
+ import { d as defineCustomElement$a } from './p-1c377190.js';
6
+ import { d as defineCustomElement$9 } from './p-848301b7.js';
7
+ import { d as defineCustomElement$8 } from './p-b5f97e04.js';
8
+ import { d as defineCustomElement$7 } from './p-6237f03e.js';
9
+ import { d as defineCustomElement$6 } from './p-8c38185e.js';
10
+ import { d as defineCustomElement$5 } from './p-ae84b899.js';
11
+ import { d as defineCustomElement$4 } from './p-a3bd1bc8.js';
12
+ import { d as defineCustomElement$3 } from './p-3fece4e2.js';
13
+ import { d as defineCustomElement$2 } from './p-25f18f2e.js';
14
+
15
+ const searchcraftAutoSearchFormModuleCss = ":root{--font-stack:Helvetica, Arial, sans-serif}.formLTR{font-family:var(--font-stack);text-align:left;width:100%}.formRTL{font-family:var(--font-stack);text-align:right;width:100%}";
16
+ const SearchcraftAutoSearchFormStyle0 = searchcraftAutoSearchFormModuleCss;
17
+
18
+ const SearchcraftAutoSearchForm$1 = /*@__PURE__*/ proxyCustomElement(class SearchcraftAutoSearchForm extends H {
19
+ constructor() {
20
+ super();
21
+ this.__registerHost();
22
+ this.__attachShadow();
23
+ this.inputClearedOrNoResults = createEvent(this, "inputClearedOrNoResults", 7);
24
+ this.querySubmit = createEvent(this, "querySubmit", 7);
25
+ this.debounceTimeout = null;
26
+ this.debounceDelay = 0;
27
+ this.searchStore = useSearchcraftStore.getState();
28
+ this.handleInputChange = (event) => {
29
+ this.query = event.detail;
30
+ this.searchStore.setQuery(this.query);
31
+ this.querySubmit.emit(this.query);
32
+ };
33
+ this.handleInputKeyUp = (event) => {
34
+ const target = event.detail;
35
+ this.query = target;
36
+ this.searchStore.setQuery(this.query);
37
+ this.querySubmit.emit(this.query);
38
+ if (this.debounceTimeout) {
39
+ clearTimeout(this.debounceTimeout);
40
+ }
41
+ this.debounceTimeout = setTimeout(() => {
42
+ this.query.trim() !== '' && this.runSearch();
43
+ }, this.debounceDelay);
44
+ };
45
+ this.handleClearInput = () => {
46
+ this.query = '';
47
+ this.searchStore.setQuery('');
48
+ if (typeof this.clearInput === 'function') {
49
+ this.clearInput();
50
+ }
51
+ if (this.debounceTimeout) {
52
+ clearTimeout(this.debounceTimeout);
53
+ }
54
+ this.error = false;
55
+ this.inputClearedOrNoResults.emit();
56
+ };
57
+ this.runSearch = async () => {
58
+ if (this.query.trim() === '') {
59
+ this.error = true;
60
+ this.inputClearedOrNoResults.emit();
61
+ }
62
+ else {
63
+ this.error = false;
64
+ this.searchStore.setQuery(this.query);
65
+ try {
66
+ await this.searchStore.search();
67
+ }
68
+ catch (error) {
69
+ this.error = true;
70
+ this.inputClearedOrNoResults.emit();
71
+ }
72
+ }
73
+ };
74
+ this.handleFormSubmit = async (event) => {
75
+ event.preventDefault();
76
+ await this.runSearch();
77
+ };
78
+ this.autoSearchFormClass = '';
79
+ this.clearInput = () => { };
80
+ this.config = {
81
+ apiKey: '',
82
+ endpointURL: '',
83
+ index: [],
84
+ };
85
+ this.customStylesForInput = {};
86
+ this.inputCaptionValue = '';
87
+ this.inputIconHeight = 20;
88
+ this.inputIconWidth = 20;
89
+ this.labelForInput = '';
90
+ this.placeholderValue = 'Search here';
91
+ this.rightToLeftOrientation = false;
92
+ this.searchContainerClass = '';
93
+ this.error = false;
94
+ this.isRequesting = false;
95
+ this.query = '';
96
+ this.searchResults = null;
97
+ }
98
+ componentDidLoad() {
99
+ const searchcraft = new g(this.config);
100
+ this.searchStore.initialize(searchcraft, true);
101
+ this.unsubscribe = useSearchcraftStore.subscribe((state) => {
102
+ this.isRequesting = state.isRequesting;
103
+ this.searchResults = Object.assign({}, state.searchResults);
104
+ });
105
+ }
106
+ disconnectedCallback() {
107
+ if (this.unsubscribe) {
108
+ this.unsubscribe();
109
+ }
110
+ }
111
+ render() {
112
+ var _a, _b, _c;
113
+ const formClass = this.rightToLeftOrientation ? 'formRTL' : 'formLTR';
114
+ const parsedCustomStyles = parseCustomStyles(this.customStylesForInput);
115
+ if (this.query.length > 0 && ((_c = (_b = (_a = this.searchResults) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.hits) === null || _c === void 0 ? void 0 : _c.length) === 0) {
116
+ this.inputClearedOrNoResults.emit();
117
+ }
118
+ return (h("form", { key: '1ecc90be4b39c7fbfff4a3c89c319343f6478a1e', class: `${formClass}`, onSubmit: this.handleFormSubmit }, h("searchcraft-input-label", { key: '82ee01912536de6a11e20f7df533856a41ebc343', label: this.labelForInput }), h("searchcraft-input", { key: 'ad00322933a20db2865cd79241056f7b0ee84a15', customStyles: parsedCustomStyles, "input-caption-value": this.inputCaptionValue, "input-icon-height": this.inputIconHeight, "input-icon-width": this.inputIconWidth, "is-requesting": this.isRequesting, onClearInput: this.handleClearInput, onInputKeyUp: this.handleInputKeyUp, onSearchInputChange: this.handleInputChange, "placeholder-value": this.placeholderValue, query: this.query, "right-to-left-orientation": this.rightToLeftOrientation }), this.error && (h("searchcraft-error-message", { key: '588a134a1130d3c4e4fc921b09450268057b8217', errorMessage: 'Please enter a search query.' }))));
119
+ }
120
+ static get style() { return SearchcraftAutoSearchFormStyle0; }
121
+ }, [1, "searchcraft-auto-search-form", {
122
+ "autoSearchFormClass": [1, "auto-search-form-class"],
123
+ "clearInput": [16],
124
+ "config": [16],
125
+ "customStylesForInput": [1, "custom-styles-for-input"],
126
+ "inputCaptionValue": [1, "input-caption-value"],
127
+ "inputIconHeight": [2, "input-icon-height"],
128
+ "inputIconWidth": [2, "input-icon-width"],
129
+ "labelForInput": [1, "label-for-input"],
130
+ "placeholderValue": [1, "placeholder-value"],
131
+ "rightToLeftOrientation": [4, "right-to-left-orientation"],
132
+ "searchContainerClass": [1, "search-container-class"],
133
+ "error": [32],
134
+ "isRequesting": [32],
135
+ "query": [32],
136
+ "searchResults": [32]
137
+ }]);
138
+ function defineCustomElement$1() {
139
+ if (typeof customElements === "undefined") {
140
+ return;
141
+ }
142
+ const components = ["searchcraft-auto-search-form", "searchcraft-clear-icon-set", "searchcraft-clear-input-button", "searchcraft-error-message", "searchcraft-input", "searchcraft-input-caption", "searchcraft-input-icon", "searchcraft-input-label", "searchcraft-search-icon-set", "searchcraft-spinner-dark", "searchcraft-spinner-light"];
143
+ components.forEach(tagName => { switch (tagName) {
144
+ case "searchcraft-auto-search-form":
145
+ if (!customElements.get(tagName)) {
146
+ customElements.define(tagName, SearchcraftAutoSearchForm$1);
147
+ }
148
+ break;
149
+ case "searchcraft-clear-icon-set":
150
+ if (!customElements.get(tagName)) {
151
+ defineCustomElement$b();
152
+ }
153
+ break;
154
+ case "searchcraft-clear-input-button":
155
+ if (!customElements.get(tagName)) {
156
+ defineCustomElement$a();
157
+ }
158
+ break;
159
+ case "searchcraft-error-message":
160
+ if (!customElements.get(tagName)) {
161
+ defineCustomElement$9();
162
+ }
163
+ break;
164
+ case "searchcraft-input":
165
+ if (!customElements.get(tagName)) {
166
+ defineCustomElement$8();
167
+ }
168
+ break;
169
+ case "searchcraft-input-caption":
170
+ if (!customElements.get(tagName)) {
171
+ defineCustomElement$7();
172
+ }
173
+ break;
174
+ case "searchcraft-input-icon":
175
+ if (!customElements.get(tagName)) {
176
+ defineCustomElement$6();
177
+ }
178
+ break;
179
+ case "searchcraft-input-label":
180
+ if (!customElements.get(tagName)) {
181
+ defineCustomElement$5();
182
+ }
183
+ break;
184
+ case "searchcraft-search-icon-set":
185
+ if (!customElements.get(tagName)) {
186
+ defineCustomElement$4();
187
+ }
188
+ break;
189
+ case "searchcraft-spinner-dark":
190
+ if (!customElements.get(tagName)) {
191
+ defineCustomElement$3();
192
+ }
193
+ break;
194
+ case "searchcraft-spinner-light":
195
+ if (!customElements.get(tagName)) {
196
+ defineCustomElement$2();
197
+ }
198
+ break;
199
+ } });
200
+ }
201
+
202
+ const SearchcraftAutoSearchForm = SearchcraftAutoSearchForm$1;
203
+ const defineCustomElement = defineCustomElement$1;
204
+
205
+ export { SearchcraftAutoSearchForm, defineCustomElement };
206
+
207
+ //# sourceMappingURL=searchcraft-auto-search-form.js.map
@@ -0,0 +1 @@
1
+ {"file":"searchcraft-auto-search-form.js","mappings":"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","names":["SearchcraftAutoSearchForm","SearchcraftCore"],"sources":["src/components/searchcraft-auto-search-form/searchcraft-auto-search-form.module.scss?tag=searchcraft-auto-search-form&encapsulation=shadow","src/components/searchcraft-auto-search-form/searchcraft-auto-search-form.tsx"],"sourcesContent":[":root {\n --font-stack: Helvetica, Arial, sans-serif;\n}\n\n.formLTR {\n font-family: var(--font-stack);\n text-align: left;\n width: 100%;\n}\n\n.formRTL {\n font-family: var(--font-stack);\n text-align: right;\n width: 100%;\n}","import {\n Component,\n Prop,\n State,\n Event,\n type EventEmitter,\n h,\n} from '@stencil/core';\n\nimport {\n type CoreConfigSDK,\n CoreSDK as SearchcraftCore,\n type SearchcraftResponse,\n} from '@searchcraft/core';\n\nimport { useSearchcraftStore } from '@provider/store';\n\nimport { parseCustomStyles } from '@utils/utils';\n\nimport type { ScInputCustomEvent } from '@components/searchcraft-input/searchcraft-input';\n\n@Component({\n tag: 'searchcraft-auto-search-form',\n styleUrl: 'searchcraft-auto-search-form.module.scss',\n shadow: true,\n})\nexport class SearchcraftAutoSearchForm {\n @Prop() autoSearchFormClass = '';\n @Prop() clearInput: () => void = () => {};\n @Prop() config: CoreConfigSDK = {\n apiKey: '',\n endpointURL: '',\n index: [],\n };\n @Prop() customStylesForInput: string | Record<string, string> = {};\n @Prop() inputCaptionValue = '';\n @Prop() inputIconHeight = 20;\n @Prop() inputIconWidth = 20;\n @Prop() labelForInput = '';\n @Prop() placeholderValue = 'Search here';\n @Prop() rightToLeftOrientation = false;\n @Prop() searchContainerClass = '';\n\n @Event() inputClearedOrNoResults: EventEmitter<void>;\n @Event() querySubmit: EventEmitter<string>;\n\n @State() error = false;\n @State() isRequesting = false;\n @State() query = '';\n @State() searchResults: SearchcraftResponse | null = null;\n\n private debounceTimeout: ReturnType<typeof setTimeout> | null = null;\n private debounceDelay = 0;\n private searchStore = useSearchcraftStore.getState();\n unsubscribe: () => void;\n\n componentDidLoad() {\n const searchcraft = new SearchcraftCore(this.config);\n this.searchStore.initialize(searchcraft, true);\n\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n this.isRequesting = state.isRequesting;\n this.searchResults = { ...state.searchResults };\n });\n }\n\n disconnectedCallback() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n }\n\n handleInputChange = (event: ScInputCustomEvent<string>) => {\n this.query = event.detail;\n this.searchStore.setQuery(this.query);\n this.querySubmit.emit(this.query);\n };\n\n handleInputKeyUp = (event: ScInputCustomEvent<string>) => {\n const target = event.detail;\n this.query = target;\n this.searchStore.setQuery(this.query);\n this.querySubmit.emit(this.query);\n\n if (this.debounceTimeout) {\n clearTimeout(this.debounceTimeout);\n }\n\n this.debounceTimeout = setTimeout(() => {\n this.query.trim() !== '' && this.runSearch();\n }, this.debounceDelay);\n };\n\n handleClearInput = () => {\n this.query = '';\n this.searchStore.setQuery('');\n\n if (typeof this.clearInput === 'function') {\n this.clearInput();\n }\n\n if (this.debounceTimeout) {\n clearTimeout(this.debounceTimeout);\n }\n\n this.error = false;\n this.inputClearedOrNoResults.emit();\n };\n\n private runSearch = async () => {\n if (this.query.trim() === '') {\n this.error = true;\n this.inputClearedOrNoResults.emit();\n } else {\n this.error = false;\n this.searchStore.setQuery(this.query);\n\n try {\n await this.searchStore.search();\n } catch (error) {\n this.error = true;\n this.inputClearedOrNoResults.emit();\n }\n }\n };\n\n handleFormSubmit = async (event: Event) => {\n event.preventDefault();\n await this.runSearch();\n };\n\n render() {\n const formClass = this.rightToLeftOrientation ? 'formRTL' : 'formLTR';\n const parsedCustomStyles = parseCustomStyles(this.customStylesForInput);\n if (this.query.length > 0 && this.searchResults?.data?.hits?.length === 0) {\n this.inputClearedOrNoResults.emit();\n }\n\n return (\n <form class={`${formClass}`} onSubmit={this.handleFormSubmit}>\n <searchcraft-input-label label={this.labelForInput} />\n <searchcraft-input\n customStyles={parsedCustomStyles}\n input-caption-value={this.inputCaptionValue}\n input-icon-height={this.inputIconHeight}\n input-icon-width={this.inputIconWidth}\n is-requesting={this.isRequesting}\n onClearInput={this.handleClearInput}\n onInputKeyUp={this.handleInputKeyUp}\n onSearchInputChange={this.handleInputChange}\n placeholder-value={this.placeholderValue}\n query={this.query}\n right-to-left-orientation={this.rightToLeftOrientation}\n />\n {this.error && (\n <searchcraft-error-message errorMessage='Please enter a search query.' />\n )}\n </form>\n );\n }\n}\n"],"version":3}