@searchcraft/javascript-sdk 0.2.6 → 0.2.8

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 (267) hide show
  1. package/dist/components/searchcraft-check-icon.d.ts +11 -0
  2. package/dist/components/searchcraft-dash-icon.d.ts +11 -0
  3. package/dist/searchcraft-javascript-sdk/_commonjsHelpers-63cbe26c.js +34 -0
  4. package/dist/searchcraft-javascript-sdk/_commonjsHelpers-63cbe26c.js.map +1 -0
  5. package/dist/searchcraft-javascript-sdk/index-8211f330.js +3043 -0
  6. package/dist/searchcraft-javascript-sdk/index-8211f330.js.map +1 -0
  7. package/dist/{components/p-5cdc6210.js → searchcraft-javascript-sdk/index-d6567b9c.js} +10 -2
  8. package/dist/searchcraft-javascript-sdk/index-d6567b9c.js.map +1 -0
  9. package/dist/searchcraft-javascript-sdk/index.esm.js +14 -1
  10. package/dist/searchcraft-javascript-sdk/index.esm.js.map +1 -1
  11. package/dist/searchcraft-javascript-sdk/searchcraft-auto-search-form.entry.js +127 -0
  12. package/dist/searchcraft-javascript-sdk/searchcraft-auto-search-form.entry.js.map +1 -0
  13. package/dist/{esm → searchcraft-javascript-sdk}/searchcraft-base-search-form.entry.js +6 -5
  14. package/dist/searchcraft-javascript-sdk/searchcraft-base-search-form.entry.js.map +1 -0
  15. package/dist/searchcraft-javascript-sdk/searchcraft-base-search-result.entry.js +60 -0
  16. package/dist/searchcraft-javascript-sdk/searchcraft-base-search-result.entry.js.map +1 -0
  17. package/dist/{components/searchcraft-base-search-results.js → searchcraft-javascript-sdk/searchcraft-base-search-results.entry.js} +12 -56
  18. package/dist/searchcraft-javascript-sdk/searchcraft-base-search-results.entry.js.map +1 -0
  19. package/dist/{esm → searchcraft-javascript-sdk}/searchcraft-button-icon.entry.js +1 -1
  20. package/dist/searchcraft-javascript-sdk/searchcraft-button-icon.entry.js.map +1 -0
  21. package/dist/{esm → searchcraft-javascript-sdk}/searchcraft-button.entry.js +5 -5
  22. package/dist/searchcraft-javascript-sdk/searchcraft-button.entry.js.map +1 -0
  23. package/dist/searchcraft-javascript-sdk/searchcraft-check-icon.entry.js +14 -0
  24. package/dist/searchcraft-javascript-sdk/searchcraft-check-icon.entry.js.map +1 -0
  25. package/dist/{components/p-70722ab2.js → searchcraft-javascript-sdk/searchcraft-clear-icon-set.entry.js} +7 -24
  26. package/dist/searchcraft-javascript-sdk/searchcraft-clear-icon-set.entry.js.map +1 -0
  27. package/dist/searchcraft-javascript-sdk/searchcraft-clear-input-button.entry.js +30 -0
  28. package/dist/searchcraft-javascript-sdk/searchcraft-clear-input-button.entry.js.map +1 -0
  29. package/dist/searchcraft-javascript-sdk/searchcraft-dash-icon.entry.js +14 -0
  30. package/dist/searchcraft-javascript-sdk/searchcraft-dash-icon.entry.js.map +1 -0
  31. package/dist/searchcraft-javascript-sdk/searchcraft-error-message.entry.js +22 -0
  32. package/dist/searchcraft-javascript-sdk/searchcraft-error-message.entry.js.map +1 -0
  33. package/dist/searchcraft-javascript-sdk/searchcraft-filters-list.entry.js +120 -0
  34. package/dist/searchcraft-javascript-sdk/searchcraft-filters-list.entry.js.map +1 -0
  35. package/dist/{components/p-6237f03e.js → searchcraft-javascript-sdk/searchcraft-input-caption.entry.js} +10 -31
  36. package/dist/searchcraft-javascript-sdk/searchcraft-input-caption.entry.js.map +1 -0
  37. package/dist/searchcraft-javascript-sdk/searchcraft-input-icon.entry.js +25 -0
  38. package/dist/searchcraft-javascript-sdk/searchcraft-input-icon.entry.js.map +1 -0
  39. package/dist/searchcraft-javascript-sdk/searchcraft-input-label.entry.js +29 -0
  40. package/dist/searchcraft-javascript-sdk/searchcraft-input-label.entry.js.map +1 -0
  41. package/dist/{components/p-b5f97e04.js → searchcraft-javascript-sdk/searchcraft-input.entry.js} +12 -83
  42. package/dist/searchcraft-javascript-sdk/searchcraft-input.entry.js.map +1 -0
  43. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js +48 -1
  44. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js.map +1 -1
  45. package/dist/{collection/components/searchcraft-results-info/searchcraft-results-info.js → searchcraft-javascript-sdk/searchcraft-results-info.entry.js} +16 -26
  46. package/dist/searchcraft-javascript-sdk/searchcraft-results-info.entry.js.map +1 -0
  47. package/dist/{components/p-a3bd1bc8.js → searchcraft-javascript-sdk/searchcraft-search-icon-set.entry.js} +7 -26
  48. package/dist/searchcraft-javascript-sdk/searchcraft-search-icon-set.entry.js.map +1 -0
  49. package/dist/{components/searchcraft-slider.js → searchcraft-javascript-sdk/searchcraft-slider.entry.js} +11 -36
  50. package/dist/searchcraft-javascript-sdk/searchcraft-slider.entry.js.map +1 -0
  51. package/dist/searchcraft-javascript-sdk/searchcraft-spinner-dark.entry.js +17 -0
  52. package/dist/searchcraft-javascript-sdk/searchcraft-spinner-dark.entry.js.map +1 -0
  53. package/dist/searchcraft-javascript-sdk/searchcraft-spinner-light.entry.js +17 -0
  54. package/dist/searchcraft-javascript-sdk/searchcraft-spinner-light.entry.js.map +1 -0
  55. package/dist/{components/searchcraft-toggle-button.js → searchcraft-javascript-sdk/searchcraft-toggle-button.entry.js} +11 -33
  56. package/dist/searchcraft-javascript-sdk/searchcraft-toggle-button.entry.js.map +1 -0
  57. package/dist/searchcraft-javascript-sdk/shadow-css-423dab2c.js +334 -0
  58. package/dist/searchcraft-javascript-sdk/shadow-css-423dab2c.js.map +1 -0
  59. package/dist/searchcraft-javascript-sdk/store-08ee97f6.js +3073 -0
  60. package/dist/searchcraft-javascript-sdk/store-08ee97f6.js.map +1 -0
  61. package/dist/{components/p-2bda632c.js → searchcraft-javascript-sdk/utils-9f198636.js} +19 -8
  62. package/dist/searchcraft-javascript-sdk/utils-9f198636.js.map +1 -0
  63. package/dist/types/assets/searchcraft-check-icon.d.ts +3 -0
  64. package/dist/types/assets/searchcraft-dash-icon.d.ts +3 -0
  65. package/dist/types/components/searchcraft-filters-list/searchcraft-filters-list.d.ts +13 -5
  66. package/dist/types/components.d.ts +26 -0
  67. package/dist/types/utils/utils.d.ts +3 -0
  68. package/package.json +1 -1
  69. package/dist/cjs/app-globals-3a1e7e63.js +0 -7
  70. package/dist/cjs/app-globals-3a1e7e63.js.map +0 -1
  71. package/dist/cjs/index-5b0b9d4c.js +0 -84
  72. package/dist/cjs/index-5b0b9d4c.js.map +0 -1
  73. package/dist/cjs/index-6c5282a0.js +0 -1279
  74. package/dist/cjs/index-6c5282a0.js.map +0 -1
  75. package/dist/cjs/index.cjs.js +0 -17
  76. package/dist/cjs/index.cjs.js.map +0 -1
  77. package/dist/cjs/loader.cjs.js +0 -17
  78. package/dist/cjs/loader.cjs.js.map +0 -1
  79. package/dist/cjs/searchcraft-auto-search-form_17.cjs.entry.js +0 -809
  80. package/dist/cjs/searchcraft-auto-search-form_17.cjs.entry.js.map +0 -1
  81. package/dist/cjs/searchcraft-base-search-form.cjs.entry.js +0 -64
  82. package/dist/cjs/searchcraft-base-search-form.cjs.entry.js.map +0 -1
  83. package/dist/cjs/searchcraft-button-icon.cjs.entry.js +0 -18
  84. package/dist/cjs/searchcraft-button-icon.cjs.entry.js.map +0 -1
  85. package/dist/cjs/searchcraft-button.cjs.entry.js +0 -37
  86. package/dist/cjs/searchcraft-button.cjs.entry.js.map +0 -1
  87. package/dist/cjs/searchcraft-javascript-sdk.cjs.js +0 -27
  88. package/dist/cjs/searchcraft-javascript-sdk.cjs.js.map +0 -1
  89. package/dist/cjs/store-c44c58ab.js +0 -314
  90. package/dist/cjs/store-c44c58ab.js.map +0 -1
  91. package/dist/cjs/utils-2dc6115c.js +0 -84
  92. package/dist/cjs/utils-2dc6115c.js.map +0 -1
  93. package/dist/collection/assets/searchcraft-button-icons.js +0 -9
  94. package/dist/collection/assets/searchcraft-button-icons.js.map +0 -1
  95. package/dist/collection/assets/searchcraft-clear-icon-set.js +0 -45
  96. package/dist/collection/assets/searchcraft-clear-icon-set.js.map +0 -1
  97. package/dist/collection/assets/searchcraft-search-icon-set.js +0 -84
  98. package/dist/collection/assets/searchcraft-search-icon-set.js.map +0 -1
  99. package/dist/collection/collection-manifest.json +0 -31
  100. package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.js +0 -365
  101. package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.js.map +0 -1
  102. package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.module.css +0 -15
  103. package/dist/collection/components/searchcraft-base-search-form/searchcraft-base-search-form.js +0 -168
  104. package/dist/collection/components/searchcraft-base-search-form/searchcraft-base-search-form.js.map +0 -1
  105. package/dist/collection/components/searchcraft-base-search-form/searchcraft-base-search-form.module.css +0 -18
  106. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js +0 -329
  107. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js.map +0 -1
  108. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.module.css +0 -214
  109. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js +0 -270
  110. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js.map +0 -1
  111. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.module.css +0 -47
  112. package/dist/collection/components/searchcraft-button/searchcraft-button.js +0 -137
  113. package/dist/collection/components/searchcraft-button/searchcraft-button.js.map +0 -1
  114. package/dist/collection/components/searchcraft-button/searchcraft-button.module.css +0 -82
  115. package/dist/collection/components/searchcraft-clear-input-button/searchcraft-clear-input-button.js +0 -95
  116. package/dist/collection/components/searchcraft-clear-input-button/searchcraft-clear-input-button.js.map +0 -1
  117. package/dist/collection/components/searchcraft-clear-input-button/searchcraft-clear-input-button.module.css +0 -33
  118. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js +0 -64
  119. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js.map +0 -1
  120. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.module.css +0 -21
  121. package/dist/collection/components/searchcraft-filters-list/searchcraft-filters-list.js +0 -170
  122. package/dist/collection/components/searchcraft-filters-list/searchcraft-filters-list.js.map +0 -1
  123. package/dist/collection/components/searchcraft-filters-list/searchcraft-filters-list.module.css +0 -70
  124. package/dist/collection/components/searchcraft-input/searchcraft-input.js +0 -352
  125. package/dist/collection/components/searchcraft-input/searchcraft-input.js.map +0 -1
  126. package/dist/collection/components/searchcraft-input/searchcraft-input.module.css +0 -241
  127. package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.js +0 -122
  128. package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.js.map +0 -1
  129. package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.module.css +0 -79
  130. package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.js +0 -109
  131. package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.js.map +0 -1
  132. package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.module.css +0 -17
  133. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js +0 -76
  134. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js.map +0 -1
  135. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.module.css +0 -21
  136. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js.map +0 -1
  137. package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.module.css +0 -15
  138. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js +0 -128
  139. package/dist/collection/components/searchcraft-slider/searchcraft-slider.js.map +0 -1
  140. package/dist/collection/components/searchcraft-slider/searchcraft-slider.module.css +0 -68
  141. package/dist/collection/components/searchcraft-spinner-dark/searchcraft-spinner-dark.js +0 -19
  142. package/dist/collection/components/searchcraft-spinner-dark/searchcraft-spinner-dark.js.map +0 -1
  143. package/dist/collection/components/searchcraft-spinner-dark/searchcraft-spinner-dark.module.css +0 -35
  144. package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.js +0 -19
  145. package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.js.map +0 -1
  146. package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.module.css +0 -26
  147. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js +0 -92
  148. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js.map +0 -1
  149. package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.module.css +0 -31
  150. package/dist/collection/index.js +0 -12
  151. package/dist/collection/index.js.map +0 -1
  152. package/dist/collection/provider/store.js +0 -96
  153. package/dist/collection/provider/store.js.map +0 -1
  154. package/dist/collection/utils/utils.js +0 -74
  155. package/dist/collection/utils/utils.js.map +0 -1
  156. package/dist/components/index.js +0 -58
  157. package/dist/components/index.js.map +0 -1
  158. package/dist/components/p-023371c8.js +0 -89
  159. package/dist/components/p-023371c8.js.map +0 -1
  160. package/dist/components/p-157e5b1a.js +0 -310
  161. package/dist/components/p-157e5b1a.js.map +0 -1
  162. package/dist/components/p-1c377190.js +0 -67
  163. package/dist/components/p-1c377190.js.map +0 -1
  164. package/dist/components/p-25f18f2e.js +0 -33
  165. package/dist/components/p-25f18f2e.js.map +0 -1
  166. package/dist/components/p-2bda632c.js.map +0 -1
  167. package/dist/components/p-3fece4e2.js +0 -33
  168. package/dist/components/p-3fece4e2.js.map +0 -1
  169. package/dist/components/p-576f0d2b.js +0 -61
  170. package/dist/components/p-576f0d2b.js.map +0 -1
  171. package/dist/components/p-5cdc6210.js.map +0 -1
  172. package/dist/components/p-6237f03e.js.map +0 -1
  173. package/dist/components/p-70722ab2.js.map +0 -1
  174. package/dist/components/p-7498e493.js +0 -1113
  175. package/dist/components/p-7498e493.js.map +0 -1
  176. package/dist/components/p-848301b7.js +0 -40
  177. package/dist/components/p-848301b7.js.map +0 -1
  178. package/dist/components/p-8c38185e.js +0 -53
  179. package/dist/components/p-8c38185e.js.map +0 -1
  180. package/dist/components/p-a3bd1bc8.js.map +0 -1
  181. package/dist/components/p-ae84b899.js +0 -48
  182. package/dist/components/p-ae84b899.js.map +0 -1
  183. package/dist/components/p-b5f97e04.js.map +0 -1
  184. package/dist/components/searchcraft-auto-search-form.js +0 -207
  185. package/dist/components/searchcraft-auto-search-form.js.map +0 -1
  186. package/dist/components/searchcraft-base-search-form.js +0 -152
  187. package/dist/components/searchcraft-base-search-form.js.map +0 -1
  188. package/dist/components/searchcraft-base-search-result.js +0 -8
  189. package/dist/components/searchcraft-base-search-result.js.map +0 -1
  190. package/dist/components/searchcraft-base-search-results.js.map +0 -1
  191. package/dist/components/searchcraft-button-icon.js +0 -32
  192. package/dist/components/searchcraft-button-icon.js.map +0 -1
  193. package/dist/components/searchcraft-button.js +0 -8
  194. package/dist/components/searchcraft-button.js.map +0 -1
  195. package/dist/components/searchcraft-clear-icon-set.js +0 -8
  196. package/dist/components/searchcraft-clear-icon-set.js.map +0 -1
  197. package/dist/components/searchcraft-clear-input-button.js +0 -8
  198. package/dist/components/searchcraft-clear-input-button.js.map +0 -1
  199. package/dist/components/searchcraft-error-message.js +0 -8
  200. package/dist/components/searchcraft-error-message.js.map +0 -1
  201. package/dist/components/searchcraft-filters-list.js +0 -141
  202. package/dist/components/searchcraft-filters-list.js.map +0 -1
  203. package/dist/components/searchcraft-input-caption.js +0 -8
  204. package/dist/components/searchcraft-input-caption.js.map +0 -1
  205. package/dist/components/searchcraft-input-icon.js +0 -8
  206. package/dist/components/searchcraft-input-icon.js.map +0 -1
  207. package/dist/components/searchcraft-input-label.js +0 -8
  208. package/dist/components/searchcraft-input-label.js.map +0 -1
  209. package/dist/components/searchcraft-input.js +0 -8
  210. package/dist/components/searchcraft-input.js.map +0 -1
  211. package/dist/components/searchcraft-results-info.js +0 -63
  212. package/dist/components/searchcraft-results-info.js.map +0 -1
  213. package/dist/components/searchcraft-search-icon-set.js +0 -8
  214. package/dist/components/searchcraft-search-icon-set.js.map +0 -1
  215. package/dist/components/searchcraft-slider.js.map +0 -1
  216. package/dist/components/searchcraft-spinner-dark.js +0 -8
  217. package/dist/components/searchcraft-spinner-dark.js.map +0 -1
  218. package/dist/components/searchcraft-spinner-light.js +0 -8
  219. package/dist/components/searchcraft-spinner-light.js.map +0 -1
  220. package/dist/components/searchcraft-toggle-button.js.map +0 -1
  221. package/dist/esm/index-0ac5bb53.js +0 -1251
  222. package/dist/esm/index-0ac5bb53.js.map +0 -1
  223. package/dist/esm/index-72ac5051.js +0 -82
  224. package/dist/esm/index-72ac5051.js.map +0 -1
  225. package/dist/esm/index.js +0 -4
  226. package/dist/esm/index.js.map +0 -1
  227. package/dist/esm/loader.js +0 -13
  228. package/dist/esm/loader.js.map +0 -1
  229. package/dist/esm/searchcraft-auto-search-form_17.entry.js +0 -789
  230. package/dist/esm/searchcraft-auto-search-form_17.entry.js.map +0 -1
  231. package/dist/esm/searchcraft-base-search-form.entry.js.map +0 -1
  232. package/dist/esm/searchcraft-button-icon.entry.js.map +0 -1
  233. package/dist/esm/searchcraft-button.entry.js.map +0 -1
  234. package/dist/esm/searchcraft-javascript-sdk.js +0 -22
  235. package/dist/esm/searchcraft-javascript-sdk.js.map +0 -1
  236. package/dist/esm/store-9e0b0710.js +0 -310
  237. package/dist/esm/store-9e0b0710.js.map +0 -1
  238. package/dist/esm/utils-a3373179.js +0 -77
  239. package/dist/esm/utils-a3373179.js.map +0 -1
  240. package/dist/index.cjs.js +0 -1
  241. package/dist/index.js +0 -1
  242. package/dist/loader/cdn.js +0 -1
  243. package/dist/loader/index.cjs.js +0 -1
  244. package/dist/loader/index.d.ts +0 -24
  245. package/dist/loader/index.es2017.js +0 -1
  246. package/dist/loader/index.js +0 -2
  247. package/dist/loader/package.json +0 -11
  248. package/dist/searchcraft-javascript-sdk/p-0880cfbb.js +0 -3
  249. package/dist/searchcraft-javascript-sdk/p-0880cfbb.js.map +0 -1
  250. package/dist/searchcraft-javascript-sdk/p-2bda632c.js +0 -2
  251. package/dist/searchcraft-javascript-sdk/p-2bda632c.js.map +0 -1
  252. package/dist/searchcraft-javascript-sdk/p-5cdc6210.js +0 -7
  253. package/dist/searchcraft-javascript-sdk/p-5cdc6210.js.map +0 -1
  254. package/dist/searchcraft-javascript-sdk/p-5ec960bd.entry.js +0 -2
  255. package/dist/searchcraft-javascript-sdk/p-5ec960bd.entry.js.map +0 -1
  256. package/dist/searchcraft-javascript-sdk/p-63b3b565.entry.js +0 -2
  257. package/dist/searchcraft-javascript-sdk/p-63b3b565.entry.js.map +0 -1
  258. package/dist/searchcraft-javascript-sdk/p-901fee50.js +0 -11
  259. package/dist/searchcraft-javascript-sdk/p-901fee50.js.map +0 -1
  260. package/dist/searchcraft-javascript-sdk/p-c2c4f6b7.entry.js +0 -2
  261. package/dist/searchcraft-javascript-sdk/p-c2c4f6b7.entry.js.map +0 -1
  262. package/dist/searchcraft-javascript-sdk/p-cc454542.entry.js +0 -2
  263. package/dist/searchcraft-javascript-sdk/p-cc454542.entry.js.map +0 -1
  264. package/dist/searchcraft-javascript-sdk/p-e1255160.js +0 -2
  265. package/dist/searchcraft-javascript-sdk/p-e1255160.js.map +0 -1
  266. /package/dist/{esm → searchcraft-javascript-sdk}/app-globals-0f993ce5.js +0 -0
  267. /package/dist/{esm → searchcraft-javascript-sdk}/app-globals-0f993ce5.js.map +0 -0
@@ -1,3 +1,5 @@
1
+ import './_commonjsHelpers-63cbe26c.js';
2
+
1
3
  var classnames = {exports: {}};
2
4
 
3
5
  /*!
@@ -10,6 +12,7 @@ var classnames = {exports: {}};
10
12
  /* global define */
11
13
 
12
14
  (function () {
15
+ 'use strict';
13
16
 
14
17
  var hasOwn = {}.hasOwnProperty;
15
18
 
@@ -66,9 +69,14 @@ var classnames = {exports: {}};
66
69
  return value + newClass;
67
70
  }
68
71
 
69
- if (module.exports) {
72
+ if ('object' !== 'undefined' && module.exports) {
70
73
  classNames.default = classNames;
71
74
  module.exports = classNames;
75
+ } else if (typeof undefined === 'function' && typeof undefined.amd === 'object' && undefined.amd) {
76
+ // register as 'classnames', consistent with npm package name
77
+ undefined('classnames', [], function () {
78
+ return classNames;
79
+ });
72
80
  } else {
73
81
  window.classNames = classNames;
74
82
  }
@@ -79,4 +87,4 @@ const classNames = classnames.exports;
79
87
 
80
88
  export { classNames as c };
81
89
 
82
- //# sourceMappingURL=p-5cdc6210.js.map
90
+ //# sourceMappingURL=index-d6567b9c.js.map
@@ -0,0 +1 @@
1
+ {"file":"index-d6567b9c.js","mappings":";;;;;;;;;;;AAKA;AACA;AACA,CAAC,YAAY;AACb,CAAC,YAAY,CAAC;AACd;AACA,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC,cAAc,CAAC;AAChC;AACA,CAAC,SAAS,UAAU,IAAI;AACxB,EAAE,IAAI,OAAO,GAAG,EAAE,CAAC;AACnB;AACA,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7C,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAC1B,GAAG,IAAI,GAAG,EAAE;AACZ,IAAI,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,IAAI;AACJ,GAAG;AACH;AACA,EAAE,OAAO,OAAO,CAAC;AACjB,EAAE;AACF;AACA,CAAC,SAAS,UAAU,EAAE,GAAG,EAAE;AAC3B,EAAE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAC1D,GAAG,OAAO,GAAG,CAAC;AACd,GAAG;AACH;AACA,EAAE,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAC/B,GAAG,OAAO,EAAE,CAAC;AACb,GAAG;AACH;AACA,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AAC1B,GAAG,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACtC,GAAG;AACH;AACA,EAAE,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,SAAS,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;AACxG,GAAG,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACzB,GAAG;AACH;AACA,EAAE,IAAI,OAAO,GAAG,EAAE,CAAC;AACnB;AACA,EAAE,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE;AACvB,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE;AAC1C,IAAI,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACxC,IAAI;AACJ,GAAG;AACH;AACA,EAAE,OAAO,OAAO,CAAC;AACjB,EAAE;AACF;AACA,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE;AACxC,EAAE,IAAI,CAAC,QAAQ,EAAE;AACjB,GAAG,OAAO,KAAK,CAAC;AAChB,GAAG;AACH;AACA,EAAE,IAAI,KAAK,EAAE;AACb,GAAG,OAAO,KAAK,GAAG,GAAG,GAAG,QAAQ,CAAC;AACjC,GAAG;AACH;AACA,EAAE,OAAO,KAAK,GAAG,QAAQ,CAAC;AAC1B,EAAE;AACF;AACA,CAAC,IAAI,QAAa,KAAK,WAAW,IAAI,MAAM,CAAC,OAAO,EAAE;AACtD,EAAE,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC;AAClC,EAAE,iBAAiB,UAAU,CAAC;AAC9B,EAAE,MAAM,IAAI,OAAOA,SAAM,KAAK,UAAU,IAAI,OAAOA,SAAM,CAAC,GAAG,KAAK,QAAQ,IAAIA,SAAM,CAAC,GAAG,EAAE;AAC1F;AACA,EAAEA,SAAM,CAAC,YAAY,EAAE,EAAE,EAAE,YAAY;AACvC,GAAG,OAAO,UAAU,CAAC;AACrB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM;AACR,EAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;AACjC,EAAE;AACF,CAAC,EAAE;;;;;;;","names":["define"],"sources":["../../node_modules/classnames/index.js"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n"],"version":3}
@@ -1,2 +1,15 @@
1
- export{e as extractDynamicProperties,p as parseCustomStyles,a as parseSearchKeys,s as serializeStyles}from"./p-2bda632c.js";export{u as useSearchcraftStore,a as useThemeStore}from"./p-901fee50.js";
1
+ export { e as extractDynamicProperties, p as parseCustomStyles, a as parseSearchKeys, s as serializeStyles } from './utils-9f198636.js';
2
+ export { u as useSearchcraftStore, a as useThemeStore } from './store-08ee97f6.js';
3
+ import './_commonjsHelpers-63cbe26c.js';
4
+
5
+ /**
6
+ * @fileoverview entry point for your component library
7
+ *
8
+ * This is the entry point for your component library. Use this file to export utilities,
9
+ * constants or data structure that accompany your components.
10
+ *
11
+ * DO NOT use this file to export your components. Instead, use the recommended approaches
12
+ * to consume components of this package as outlined in the `README.md`.
13
+ */
14
+
2
15
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":[],"mappings":"","ignoreList":[]}
1
+ {"file":"index.esm.js","mappings":";;;;AAAA;;;;;;;;","names":[],"sources":["src/index.ts"],"sourcesContent":["/**\n * @fileoverview entry point for your component library\n *\n * This is the entry point for your component library. Use this file to export utilities,\n * constants or data structure that accompany your components.\n *\n * DO NOT use this file to export your components. Instead, use the recommended approaches\n * to consume components of this package as outlined in the `README.md`.\n */\n\nexport type * from './components';\n\nexport {\n extractDynamicProperties,\n parseCustomStyles,\n parseSearchKeys,\n serializeStyles,\n} from './utils/utils';\n\nexport { useSearchcraftStore, useThemeStore } from './provider/store';\n\nexport { Components } from './components';\n"],"version":3}
@@ -0,0 +1,127 @@
1
+ import { r as registerInstance, a as createEvent, h } from './index-8211f330.js';
2
+ import { u as useSearchcraftStore, g } from './store-08ee97f6.js';
3
+ import { p as parseCustomStyles } from './utils-9f198636.js';
4
+ import './_commonjsHelpers-63cbe26c.js';
5
+
6
+ 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%}";
7
+
8
+ const SearchcraftAutoSearchForm = class {
9
+ constructor(hostRef) {
10
+ registerInstance(this, hostRef);
11
+ this.inputClearedOrNoResults = createEvent(this, "inputClearedOrNoResults", 7);
12
+ this.querySubmit = createEvent(this, "querySubmit", 7);
13
+ this.debounceTimeout = null;
14
+ this.debounceDelay = 0;
15
+ this.searchStore = useSearchcraftStore.getState();
16
+ this.handleInputChange = (event) => {
17
+ this.query = event.detail;
18
+ this.searchStore.setQuery(this.query);
19
+ if (this.query.trim() === '') {
20
+ this.searchResults = null;
21
+ this.searchStore.setSearchResults(null);
22
+ }
23
+ else {
24
+ this.querySubmit.emit(this.query);
25
+ }
26
+ };
27
+ this.handleInputKeyUp = (event) => {
28
+ const target = event.detail;
29
+ if (target === this.query) {
30
+ return;
31
+ }
32
+ this.query = target;
33
+ if (this.debounceTimeout) {
34
+ clearTimeout(this.debounceTimeout);
35
+ }
36
+ this.debounceTimeout = setTimeout(() => {
37
+ if (this.query.trim() === '') {
38
+ this.searchResults = null;
39
+ this.searchStore.setSearchResults(null);
40
+ }
41
+ else {
42
+ this.searchStore.setQuery(this.query);
43
+ this.querySubmit.emit(this.query);
44
+ this.runSearch();
45
+ }
46
+ }, this.debounceDelay);
47
+ };
48
+ this.handleClearInput = () => {
49
+ this.query = '';
50
+ this.searchResults = null;
51
+ this.searchStore.setQuery('');
52
+ this.searchStore.setSearchResults(null);
53
+ if (typeof this.clearInput === 'function') {
54
+ this.clearInput();
55
+ }
56
+ if (this.debounceTimeout) {
57
+ clearTimeout(this.debounceTimeout);
58
+ }
59
+ this.error = false;
60
+ this.inputClearedOrNoResults.emit();
61
+ };
62
+ this.runSearch = async () => {
63
+ if (this.query.trim() === '') {
64
+ this.error = true;
65
+ this.inputClearedOrNoResults.emit();
66
+ }
67
+ else {
68
+ this.error = false;
69
+ this.searchStore.setQuery(this.query);
70
+ this.searchStore.setSelectedFilters([]);
71
+ try {
72
+ await this.searchStore.search();
73
+ }
74
+ catch (error) {
75
+ this.error = true;
76
+ this.inputClearedOrNoResults.emit();
77
+ }
78
+ }
79
+ };
80
+ this.handleFormSubmit = async (event) => {
81
+ event.preventDefault();
82
+ await this.runSearch();
83
+ };
84
+ this.autoSearchFormClass = '';
85
+ this.clearInput = () => { };
86
+ this.config = {
87
+ apiKey: '',
88
+ endpointURL: '',
89
+ index: [],
90
+ };
91
+ this.customStylesForInput = {};
92
+ this.inputCaptionValue = '';
93
+ this.inputIconHeight = 20;
94
+ this.inputIconWidth = 20;
95
+ this.labelForInput = '';
96
+ this.placeholderValue = 'Search here';
97
+ this.rightToLeftOrientation = false;
98
+ this.searchContainerClass = '';
99
+ this.error = false;
100
+ this.isRequesting = false;
101
+ this.query = '';
102
+ this.searchResults = null;
103
+ }
104
+ componentDidLoad() {
105
+ const searchcraft = new g(this.config);
106
+ this.searchStore.initialize(searchcraft, true);
107
+ this.unsubscribe = useSearchcraftStore.subscribe((state) => {
108
+ this.isRequesting = state.isRequesting;
109
+ this.searchResults = Object.assign({}, state.searchResults);
110
+ });
111
+ }
112
+ disconnectedCallback() {
113
+ if (this.unsubscribe) {
114
+ this.unsubscribe();
115
+ }
116
+ }
117
+ render() {
118
+ const formClass = this.rightToLeftOrientation ? 'formRTL' : 'formLTR';
119
+ const parsedCustomStyles = parseCustomStyles(this.customStylesForInput);
120
+ return (h("form", { key: '2421495aa88b52a47658af9b682e172da7d23691', class: `${formClass}`, onSubmit: this.handleFormSubmit }, h("searchcraft-input-label", { key: '032e7e3a7f83af11422b64b023a38c2f433d3809', label: this.labelForInput }), h("searchcraft-input", { key: 'a3a286e6b5ade795a157a1a046278477731684b4', 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: '4588522cf331cc8165e789bb3d58f35ef5148f11', errorMessage: 'Please enter a search query.' }))));
121
+ }
122
+ };
123
+ SearchcraftAutoSearchForm.style = searchcraftAutoSearchFormModuleCss;
124
+
125
+ export { SearchcraftAutoSearchForm as searchcraft_auto_search_form };
126
+
127
+ //# sourceMappingURL=searchcraft-auto-search-form.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"searchcraft-auto-search-form.entry.esm.js","mappings":"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","names":["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\n if (this.query.trim() === '') {\n this.searchResults = null;\n this.searchStore.setSearchResults(null);\n } else {\n this.querySubmit.emit(this.query);\n }\n };\n\n handleInputKeyUp = (event: ScInputCustomEvent<string>) => {\n const target = event.detail;\n if (target === this.query) {\n return;\n }\n this.query = target;\n\n if (this.debounceTimeout) {\n clearTimeout(this.debounceTimeout);\n }\n\n this.debounceTimeout = setTimeout(() => {\n if (this.query.trim() === '') {\n this.searchResults = null;\n this.searchStore.setSearchResults(null);\n } else {\n this.searchStore.setQuery(this.query);\n this.querySubmit.emit(this.query);\n this.runSearch();\n }\n }, this.debounceDelay);\n };\n\n handleClearInput = () => {\n this.query = '';\n this.searchResults = null;\n this.searchStore.setQuery('');\n this.searchStore.setSearchResults(null);\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 this.searchStore.setSelectedFilters([]);\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\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}
@@ -1,8 +1,9 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-0ac5bb53.js';
2
- import { u as useSearchcraftStore, a as useThemeStore, g } from './store-9e0b0710.js';
1
+ import { r as registerInstance, a as createEvent, h } from './index-8211f330.js';
2
+ import { u as useSearchcraftStore, a as useThemeStore, g } from './store-08ee97f6.js';
3
+ import './_commonjsHelpers-63cbe26c.js';
4
+ import './utils-9f198636.js';
3
5
 
4
6
  const searchcraftBaseSearchFormModuleCss = ":root{--font-stack:Helvetica, Arial, sans-serif}.formLTR{font-family:var(--font-stack);text-align:left}.formRTL{font-family:var(--font-stack);text-align:right}.searchContainer{align-items:center;display:flex}";
5
- const SearchcraftBaseSearchFormStyle0 = searchcraftBaseSearchFormModuleCss;
6
7
 
7
8
  const SearchcraftBaseSearchForm = class {
8
9
  constructor(hostRef) {
@@ -50,10 +51,10 @@ const SearchcraftBaseSearchForm = class {
50
51
  this.searchResults = null;
51
52
  }
52
53
  render() {
53
- return (h("form", { key: '419514742ed966aedcba041eae337853ad811be7', class: this.rightToLeftOrientation ? 'formRTL' : 'formLTR', onSubmit: this.handleFormSubmit }, h("searchcraft-input-label", { key: 'daf9504d63660d0f2d7a8f95b6c59af7702dbf05', label: this.labelForInput }), h("div", { key: 'f3dd5108d3172390417c19bf51ad7c2b1c4ee999', class: 'searchContainer' }, this.rightToLeftOrientation && h("searchcraft-button", { key: 'd4d9c381be592d64464a846de72afd087ee40185' }), h("searchcraft-input", { key: 'db5b9f2b721f5d09faf245da4784a1f267406d71', onClearInput: this.handleClearInput, onSearchInputChange: this.handleSearchInputChange, query: this.query, rightToLeftOrientation: this.rightToLeftOrientation }), !this.rightToLeftOrientation && (h("searchcraft-button", { key: 'b07821ced7e60f29934170be742a67a030c172ef', onButtonClick: this.handleFormSubmit }))), this.error && (h("searchcraft-error-message", { key: 'd2977f59a562fdefc21018b739f48e5543854112', errorMessage: this.errorMessage }))));
54
+ return (h("form", { key: 'f3fa26d678324efddf3bf2bd12b130f24d8f2788', class: this.rightToLeftOrientation ? 'formRTL' : 'formLTR', onSubmit: this.handleFormSubmit }, h("searchcraft-input-label", { key: 'a8011d97796cbd1334e55b18b7e92b85c498e096', label: this.labelForInput }), h("div", { key: '19323cdc3b4d854987710fa45bab9d91d0046c5c', class: 'searchContainer' }, this.rightToLeftOrientation && h("searchcraft-button", { key: '0a8349e990f79ac704a477a615c6072dec5230c2' }), h("searchcraft-input", { key: '3a2a00544c5bcc4ad2e81bc68002a2a8a76bbfda', onClearInput: this.handleClearInput, onSearchInputChange: this.handleSearchInputChange, query: this.query, rightToLeftOrientation: this.rightToLeftOrientation }), !this.rightToLeftOrientation && (h("searchcraft-button", { key: '5094f79b0fccd5c44725176c8f308cc4e0c47eec', onButtonClick: this.handleFormSubmit }))), this.error && (h("searchcraft-error-message", { key: '70fc3e31319e30c9e38a158ee82b8e7c74f88e18', errorMessage: this.errorMessage }))));
54
55
  }
55
56
  };
56
- SearchcraftBaseSearchForm.style = SearchcraftBaseSearchFormStyle0;
57
+ SearchcraftBaseSearchForm.style = searchcraftBaseSearchFormModuleCss;
57
58
 
58
59
  export { SearchcraftBaseSearchForm as searchcraft_base_search_form };
59
60
 
@@ -0,0 +1 @@
1
+ {"file":"searchcraft-base-search-form.entry.esm.js","mappings":";;;;;AAAA,MAAM,kCAAkC,GAAG,kNAAkN;;MCgBhP,yBAAyB;;;;QAU3B,eAAU,GAAG,SAAQ,CAAC;QAMvB,gBAAW,GAAG,mBAAmB,CAAC,QAAQ,EAAE,CAAC;QAC7C,eAAU,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC;QAE9C,qBAAgB,GAAG;YACjB,MAAM,WAAW,GAAG,IAAIA,CAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;SAChD,CAAC;QAEF,qBAAgB,GAAG,OAAO,KAAK;YAC7B,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;aACnB;iBAAM;gBACL,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACtC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBAChC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;aACrE;SACF,CAAC;QAEF,4BAAuB,GAAG,CAAC,KAAiC;YAC1D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;SAC3B,CAAC;QAEF,qBAAgB,GAAG;YACjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAAE,CAAC;SACpB,CAAC;QAEF,gBAAW,GAAG;YACZ,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;SAC/B,CAAC;sBA9C8B;YAC9B,MAAM,EAAE,EAAE;YACV,WAAW,EAAE,EAAE;YACf,KAAK,EAAE,EAAE;SACV;4BACsB,yBAAyB;6BACxB,QAAQ;sCACC,KAAK;qBAIrB,KAAK;qBACL,EAAE;6BACqB,IAAI;;IAmC5C,MAAM;QACJ,QACE,6DACE,KAAK,EAAE,IAAI,CAAC,sBAAsB,GAAG,SAAS,GAAG,SAAS,EAC1D,QAAQ,EAAE,IAAI,CAAC,gBAAgB,IAE/B,gFAAyB,KAAK,EAAE,IAAI,CAAC,aAAa,GAAI,EACtD,4DAAK,KAAK,EAAC,iBAAiB,IACzB,IAAI,CAAC,sBAAsB,IAAI,4EAAsB,EACtD,0EACE,YAAY,EAAE,IAAI,CAAC,gBAAgB,EACnC,mBAAmB,EAAE,IAAI,CAAC,uBAAuB,EACjD,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,GACnD,EACD,CAAC,IAAI,CAAC,sBAAsB,KAC3B,2EAAoB,aAAa,EAAE,IAAI,CAAC,gBAAgB,GAAI,CAC7D,CACG,EACL,IAAI,CAAC,KAAK,KACT,kFAA2B,YAAY,EAAE,IAAI,CAAC,YAAY,GAAI,CAC/D,CACI,EACP;KACH;;;;;;","names":["SearchcraftCore"],"sources":["src/components/searchcraft-base-search-form/searchcraft-base-search-form.module.scss?tag=searchcraft-base-search-form&encapsulation=shadow","src/components/searchcraft-base-search-form/searchcraft-base-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}\n\n.formRTL {\n font-family: var(--font-stack);\n text-align: right;\n}\n\n.searchContainer {\n align-items: center;\n display: flex;\n}","import { Component, h, Event, Prop, State } from '@stencil/core';\n\nimport {\n type CoreConfigSDK,\n CoreSDK as SearchcraftCore,\n} from '@searchcraft/core';\n\nimport { useSearchcraftStore, useThemeStore } from '@provider/store';\n\nimport type { ScInputCustomEvent } from '@components/searchcraft-input/searchcraft-input';\n\n@Component({\n tag: 'searchcraft-base-search-form',\n styleUrl: 'searchcraft-base-search-form.module.scss',\n shadow: true,\n})\nexport class SearchcraftBaseSearchForm {\n @Prop() config: CoreConfigSDK = {\n apiKey: '',\n endpointURL: '',\n index: [],\n };\n @Prop() errorMessage = 'Search was unsuccessful';\n @Prop() labelForInput = 'Search';\n @Prop() rightToLeftOrientation = false;\n\n @Event() clearInput = () => {};\n\n @State() error = false;\n @State() query = '';\n @State() searchResults: string | null = null;\n\n private searchStore = useSearchcraftStore.getState();\n private themeStore = useThemeStore.getState();\n\n componentDidLoad = () => {\n const searchcraft = new SearchcraftCore(this.config);\n this.searchStore.initialize(searchcraft, true);\n };\n\n handleFormSubmit = async (event) => {\n event.preventDefault();\n if (this.query.trim() === '') {\n this.error = true;\n } else {\n this.error = false;\n this.searchStore.setQuery(this.query);\n await this.searchStore.search();\n this.searchResults = JSON.stringify(this.searchStore.searchResults);\n }\n };\n\n handleSearchInputChange = (event: ScInputCustomEvent<string>) => {\n this.query = event.detail;\n };\n\n handleClearInput = () => {\n this.query = '';\n this?.clearInput();\n };\n\n toggleTheme = () => {\n this.themeStore.toggleTheme();\n };\n\n render() {\n return (\n <form\n class={this.rightToLeftOrientation ? 'formRTL' : 'formLTR'}\n onSubmit={this.handleFormSubmit}\n >\n <searchcraft-input-label label={this.labelForInput} />\n <div class='searchContainer'>\n {this.rightToLeftOrientation && <searchcraft-button />}\n <searchcraft-input\n onClearInput={this.handleClearInput}\n onSearchInputChange={this.handleSearchInputChange}\n query={this.query}\n rightToLeftOrientation={this.rightToLeftOrientation}\n />\n {!this.rightToLeftOrientation && (\n <searchcraft-button onButtonClick={this.handleFormSubmit} />\n )}\n </div>\n {this.error && (\n <searchcraft-error-message errorMessage={this.errorMessage} />\n )}\n </form>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,60 @@
1
+ import { r as registerInstance, a as createEvent, h, F as Fragment } from './index-8211f330.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;-webkit-font-smoothing:antialiased;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;-webkit-font-smoothing:antialiased;color:#FFF}.subheadingLight{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-bottom:4px;margin-top:0px;-webkit-font-smoothing:antialiased;color:#737373}.subheadingDark{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-bottom:4px;margin-top:0px;-webkit-font-smoothing:antialiased;color:#BFBFBF}.primaryContentLight{font-family:var(--font-stack);font-size:16px;font-weight:400;line-height:20px;margin-bottom:4px;margin-top:0px;-webkit-font-smoothing:antialiased;color:#404040}.primaryContentDark{font-family:var(--font-stack);font-size:16px;font-weight:400;line-height:20px;margin-bottom:4px;margin-top:0px;-webkit-font-smoothing:antialiased;color:#E6E6E6}.secondaryContentLight{font-family:var(--font-stack);font-size:16px;font-weight:400;line-height:20px;margin-bottom:4px;margin-top:0px;-webkit-font-smoothing:antialiased;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;-webkit-font-smoothing:antialiased;color:#E6E6E6}.tertiaryContentLight{font-family:var(--font-stack);font-size:16px;font-weight:400;line-height:20px;margin-bottom:4px;margin-top:0px;-webkit-font-smoothing:antialiased;color:#404040}.tertiaryContentDark{font-family:var(--font-stack);font-size:16px;font-weight:400;line-height:20px;margin-bottom:4px;margin-top:0px;-webkit-font-smoothing:antialiased;color:#E6E6E6}";
4
+
5
+ const SearchcraftBaseSearchResult = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.buttonCallback = createEvent(this, "buttonCallback", 7);
9
+ this.keyDownCallback = createEvent(this, "keyDownCallback", 7);
10
+ this.resultCallback = createEvent(this, "resultCallback", 7);
11
+ this.buttonCallback = () => { }; // Callback for button click
12
+ this.keyDownCallback = () => { }; // Callback for key down event
13
+ this.resultCallback = () => { }; // Callback for result container click
14
+ this.handleButtonClick = () => {
15
+ this.buttonCallback();
16
+ };
17
+ this.handleContainerClick = () => {
18
+ if (this.isInteractive) {
19
+ this.resultCallback();
20
+ }
21
+ };
22
+ this.buttonText = '';
23
+ this.customStyles = '{}';
24
+ this.headingText = '';
25
+ this.imageDescription = '';
26
+ this.imageSource = '';
27
+ this.isInteractive = false;
28
+ this.primaryContent = '';
29
+ this.secondaryContent = '';
30
+ this.subheadingText = '';
31
+ this.tertiaryContent = '';
32
+ this.themeMode = 'light';
33
+ this.placeImageRight = false;
34
+ }
35
+ parseStyles() {
36
+ try {
37
+ return JSON.parse(this.customStyles);
38
+ }
39
+ catch (error) {
40
+ console.error('Error parsing custom styles:', error);
41
+ return {};
42
+ }
43
+ }
44
+ render() {
45
+ const isLightTheme = this.themeMode === 'light';
46
+ const styles = this.parseStyles();
47
+ const imageContainer = this.imageSource && (h("div", { key: '5446a636265cf330a7e67f7539dad7e25077ecda', class: 'imageContainer' }, h("img", { key: '59529cce35008eb171f4ee634ed94ff96e716dad', alt: this.imageDescription, class: isLightTheme ? 'imageLight' : 'imageDark', src: this.imageSource, style: styles.image || {} })));
48
+ const contentContainer = (h("div", { key: 'fd052ef1e3dedcf5b1467b6b0760d0be349c1faf', class: 'contentContainer' }, h("h2", { key: '1d1eca475651641b34d477ea7e2ea2f3eb7a2c49', class: isLightTheme ? 'headingLight' : 'headingDark', style: styles.heading || {} }, this.headingText), h("h3", { key: '9fcf054f634d088b72b67a2675b67a89f651285b', class: isLightTheme ? 'subheadingLight' : 'subheadingDark', style: styles.subheading || {} }, this.subheadingText), h("p", { key: '477078081008771a462abb042232b84f1e72ddd5', class: isLightTheme ? 'primaryContentLight' : 'primaryContentDark', style: styles.primaryContent || {} }, this.primaryContent), h("div", { key: '716ea0fe1efbd18f0b6313baac80834fbab53001', class: 'secondaryContentContainer' }, h("p", { key: '340dad3f568e5cc2b0a1b412b92a335b9afb7a0f', class: isLightTheme ? 'secondaryContentLight' : 'secondaryContentDark', style: styles.secondaryContent || {} }, this.secondaryContent), h("p", { key: 'b0c940aab4b48d4e560aabe7551b3c1a0a4ef3ae', class: isLightTheme ? 'tertiaryContentLight' : 'tertiaryContentDark', style: styles.tertiaryContent || {} }, this.tertiaryContent)), this.buttonText && (h("button", { key: 'd9a08ff62c8bc7d2b13bb42872e2391290de0712', onClick: this.handleButtonClick, style: styles.button || {}, type: 'button' }, this.buttonText))));
49
+ return (h("div", { key: '310676a0e48c3a3d76559b3e3012db1681a55499', class: this.isInteractive
50
+ ? isLightTheme
51
+ ? 'interactiveResultContainerLight'
52
+ : 'interactiveResultContainerDark'
53
+ : 'resultContainer', onKeyDown: this.keyDownCallback, onClick: this.handleContainerClick, style: styles.container || {}, tabindex: '0' }, this.placeImageRight ? (h(Fragment, null, contentContainer, imageContainer)) : (h(Fragment, null, imageContainer, contentContainer))));
54
+ }
55
+ };
56
+ SearchcraftBaseSearchResult.style = searchcraftBaseSearchResultModuleCss;
57
+
58
+ export { SearchcraftBaseSearchResult as searchcraft_base_search_result };
59
+
60
+ //# sourceMappingURL=searchcraft-base-search-result.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"searchcraft-base-search-result.entry.esm.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 -webkit-font-smoothing: antialiased;\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 -webkit-font-smoothing: antialiased;\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 -webkit-font-smoothing: antialiased;\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 = this.imageSource && (\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}
@@ -1,17 +1,13 @@
1
- import { p as proxyCustomElement, H, h } from './p-7498e493.js';
2
- import { u as useSearchcraftStore } from './p-157e5b1a.js';
3
- import { a as parseSearchKeys, s as serializeStyles, e as extractDynamicProperties, g as getFormattedTimeFromNow } from './p-2bda632c.js';
4
- import { d as defineCustomElement$3 } from './p-023371c8.js';
5
- import { d as defineCustomElement$2 } from './p-848301b7.js';
1
+ import { r as registerInstance, h } from './index-8211f330.js';
2
+ import { u as useSearchcraftStore } from './store-08ee97f6.js';
3
+ import { a as parseSearchKeys, s as serializeStyles, e as extractDynamicProperties, g as getFormattedTimeFromNow } from './utils-9f198636.js';
4
+ import './_commonjsHelpers-63cbe26c.js';
6
5
 
7
6
  const searchcraftBaseSearchResultsModuleCss = ":root{--font-stack:Helvetica, Arial, sans-serif}.resultsContainer{display:flex;flex-direction:column;justify-content:center;margin:16px 0}.resultsContainer>p{align-self:center}.resultsContainer>div{margin-bottom:20px}.resultsContainer>div img{height:300px;width:200px}.adSection{align-items:center;background-color:#F1F1F1;border:1px solid #DCDDDE;border-radius:16px;display:flex;flex-direction:column;font-size:16px;justify-content:center;margin:auto;min-height:150px;text-align:center;width:100%}.adSection p{margin-top:5px}.emptyState{text-align:center;width:100%}.errorMessageContainer{text-align:center}";
8
- const SearchcraftBaseSearchResultsStyle0 = searchcraftBaseSearchResultsModuleCss;
9
7
 
10
- const SearchcraftBaseSearchResults$1 = /*@__PURE__*/ proxyCustomElement(class SearchcraftBaseSearchResults extends H {
11
- constructor() {
12
- super();
13
- this.__registerHost();
14
- this.__attachShadow();
8
+ const SearchcraftBaseSearchResults = class {
9
+ constructor(hostRef) {
10
+ registerInstance(this, hostRef);
15
11
  this.adInterval = 4;
16
12
  this.customStylesForResults = {};
17
13
  this.documentAttributesForDisplay = '';
@@ -55,8 +51,7 @@ const SearchcraftBaseSearchResults$1 = /*@__PURE__*/ proxyCustomElement(class Se
55
51
  return (h("div", { class: 'emptyState' }, h("slot", { name: 'empty-search' })));
56
52
  }
57
53
  if (!((_a = this.searchResults) === null || _a === void 0 ? void 0 : _a.data)) {
58
- console.warn('No search results data available');
59
- return h("div", { class: 'emptyState' }, "No results to display.");
54
+ return;
60
55
  }
61
56
  const parsedSearchKeys = parseSearchKeys(this.documentAttributesForDisplay);
62
57
  const serializedStyles = typeof this.customStylesForResults === 'string'
@@ -69,7 +64,6 @@ const SearchcraftBaseSearchResults$1 = /*@__PURE__*/ proxyCustomElement(class Se
69
64
  for (const key of parsedSearchKeys) {
70
65
  if (dynamicProperties[key]) {
71
66
  const value = dynamicProperties[key];
72
- // Check if the value is a valid ISO timestamp
73
67
  if (typeof value === 'string' &&
74
68
  !Number.isNaN(Date.parse(value))) {
75
69
  dynamicProperties[key] = getFormattedTimeFromNow(value);
@@ -100,47 +94,9 @@ const SearchcraftBaseSearchResults$1 = /*@__PURE__*/ proxyCustomElement(class Se
100
94
  return (h("div", { class: 'resultsContainer' }, finalComponents, this.query.length > 0 &&
101
95
  ((_g = (_f = (_e = this.searchResults) === null || _e === void 0 ? void 0 : _e.data) === null || _f === void 0 ? void 0 : _f.hits) === null || _g === void 0 ? void 0 : _g.length) === 0 && (h("div", { class: 'errorMessageContainer' }, h("searchcraft-error-message", { "error-message": `No search results found for "${this.query}" query` })))));
102
96
  }
103
- static get style() { return SearchcraftBaseSearchResultsStyle0; }
104
- }, [1, "searchcraft-base-search-results", {
105
- "adInterval": [2, "ad-interval"],
106
- "customStylesForResults": [1, "custom-styles-for-results"],
107
- "documentAttributesForDisplay": [1, "document-attributes-for-display"],
108
- "fallbackElement": [16],
109
- "formatTime": [4, "format-time"],
110
- "placeAdAtEnd": [4, "place-ad-at-end"],
111
- "placeAdAtStart": [4, "place-ad-at-start"],
112
- "placeResultImageRight": [4, "place-result-image-right"],
113
- "hasSearched": [32],
114
- "query": [32],
115
- "searchResults": [32]
116
- }]);
117
- function defineCustomElement$1() {
118
- if (typeof customElements === "undefined") {
119
- return;
120
- }
121
- const components = ["searchcraft-base-search-results", "searchcraft-base-search-result", "searchcraft-error-message"];
122
- components.forEach(tagName => { switch (tagName) {
123
- case "searchcraft-base-search-results":
124
- if (!customElements.get(tagName)) {
125
- customElements.define(tagName, SearchcraftBaseSearchResults$1);
126
- }
127
- break;
128
- case "searchcraft-base-search-result":
129
- if (!customElements.get(tagName)) {
130
- defineCustomElement$3();
131
- }
132
- break;
133
- case "searchcraft-error-message":
134
- if (!customElements.get(tagName)) {
135
- defineCustomElement$2();
136
- }
137
- break;
138
- } });
139
- }
140
-
141
- const SearchcraftBaseSearchResults = SearchcraftBaseSearchResults$1;
142
- const defineCustomElement = defineCustomElement$1;
97
+ };
98
+ SearchcraftBaseSearchResults.style = searchcraftBaseSearchResultsModuleCss;
143
99
 
144
- export { SearchcraftBaseSearchResults, defineCustomElement };
100
+ export { SearchcraftBaseSearchResults as searchcraft_base_search_results };
145
101
 
146
- //# sourceMappingURL=searchcraft-base-search-results.js.map
102
+ //# sourceMappingURL=searchcraft-base-search-results.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"searchcraft-base-search-results.entry.esm.js","mappings":"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","names":[],"sources":["src/components/searchcraft-base-search-results/searchcraft-base-search-results.module.scss?tag=searchcraft-base-search-results&encapsulation=shadow","src/components/searchcraft-base-search-results/searchcraft-base-search-results.tsx"],"sourcesContent":[":root {\n --font-stack: Helvetica, Arial, sans-serif;\n}\n\n.resultsContainer {\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin: 16px 0;\n\n & > p {\n align-self: center;\n }\n\n & > div {\n margin-bottom: 20px;\n img {\n height: 300px;\n width: 200px;\n }\n }\n}\n\n.adSection {\n align-items: center;\n background-color: #F1F1F1;\n border: 1px solid #DCDDDE;\n border-radius: 16px;\n display: flex;\n flex-direction: column;\n font-size: 16px;\n justify-content: center;\n margin: auto;\n min-height: 150px;\n text-align: center;\n width: 100%;\n\n p {\n margin-top: 5px;\n }\n}\n\n.emptyState {\n text-align: center;\n width: 100%;\n}\n\n.errorMessageContainer {\n text-align: center;\n}\n","import { Component, h, Prop, State } from '@stencil/core';\n\nimport type { SearchcraftResponse } from '@searchcraft/core';\n\nimport { useSearchcraftStore } from '@provider/store';\n\nimport {\n extractDynamicProperties,\n getFormattedTimeFromNow,\n parseSearchKeys,\n serializeStyles,\n} from '@utils/utils';\n\n@Component({\n tag: 'searchcraft-base-search-results',\n styleUrl: 'searchcraft-base-search-results.module.scss',\n shadow: true,\n})\nexport class SearchcraftBaseSearchResults {\n @Prop() adInterval = 4;\n @Prop() customStylesForResults:\n | string\n | Record<string, Record<string, string>> = {};\n @Prop() documentAttributesForDisplay = '';\n @Prop() fallbackElement: HTMLElement | null = null;\n @Prop() formatTime = true;\n @Prop() placeAdAtEnd = false;\n @Prop() placeAdAtStart = true;\n @Prop() placeResultImageRight = false;\n\n @State() hasSearched = false;\n @State() query = '';\n @State() searchResults: SearchcraftResponse | null = null;\n\n private unsubscribe: () => void;\n\n componentDidLoad() {\n if (\n !this.documentAttributesForDisplay ||\n this.documentAttributesForDisplay.length === 0\n ) {\n console.warn('No document attributes provided; using empty keys array.');\n this.documentAttributesForDisplay = '';\n }\n\n this.unsubscribe = useSearchcraftStore.subscribe((state) => {\n if (state.query.length > 0) {\n this.hasSearched = true;\n } else {\n this.hasSearched = false;\n }\n this.searchResults = { ...state.searchResults };\n this.query = state.query;\n });\n\n const { searchResults, query } = useSearchcraftStore.getState();\n this.searchResults = searchResults;\n this.query = query;\n }\n\n disconnectedCallback() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n }\n\n render() {\n if (!this.hasSearched) {\n return (\n <div class='emptyState'>\n <slot name='empty-search' />\n </div>\n );\n }\n\n if (!this.searchResults?.data) {\n return;\n }\n\n const parsedSearchKeys = parseSearchKeys(this.documentAttributesForDisplay);\n const serializedStyles =\n typeof this.customStylesForResults === 'string'\n ? this.customStylesForResults\n : serializeStyles(this.customStylesForResults);\n\n const resultsComponents = this.searchResults?.data?.hits?.map(\n (document, index) => {\n const { doc: result } = document;\n const dynamicProperties = extractDynamicProperties(\n result,\n parsedSearchKeys,\n );\n\n if (this.formatTime) {\n for (const key of parsedSearchKeys) {\n if (dynamicProperties[key]) {\n const value = dynamicProperties[key];\n if (\n typeof value === 'string' &&\n !Number.isNaN(Date.parse(value))\n ) {\n dynamicProperties[key] = getFormattedTimeFromNow(value);\n }\n }\n }\n }\n\n return (\n <searchcraft-base-search-result\n button-callback={() => console.log('button callback')}\n custom-styles={serializedStyles}\n image-source={\n dynamicProperties[parsedSearchKeys[parsedSearchKeys.length - 1]]\n }\n is-interactive={true}\n key={`${document.document_id}-${index}`}\n keydown-callback={() => console.log('keydown')}\n heading-text={dynamicProperties[parsedSearchKeys[0]]}\n place-image-right={this.placeResultImageRight}\n primary-content={dynamicProperties[parsedSearchKeys[2]]}\n result-callback={() => console.log('interactive element')}\n secondary-content={dynamicProperties[parsedSearchKeys[3]]}\n subheading-text={dynamicProperties[parsedSearchKeys[1]]}\n tertiary-content={dynamicProperties[parsedSearchKeys[4]]}\n />\n );\n },\n );\n\n const finalComponents: JSX.Element[] = [];\n\n if (this.placeAdAtStart) {\n finalComponents.push(\n <div key='ad-section-start' class='adSection'>\n <span>##</span>\n <p> Ad Impressions</p>\n </div>,\n );\n }\n\n if (this.adInterval > 0) {\n resultsComponents.forEach((component, index) => {\n finalComponents.push(component);\n if ((index + 1) % this.adInterval === 0) {\n finalComponents.push(\n <div key={`ad-section-${index + 1}`} class='adSection'>\n <span>##</span>\n <p> Ad Impressions</p>\n </div>,\n );\n }\n });\n } else {\n finalComponents.push(...resultsComponents);\n }\n\n if (this.placeAdAtEnd) {\n finalComponents.push(\n <div key='ad-section-end' class='adSection'>\n <span>##</span>\n <p> Ad Impressions</p>\n </div>,\n );\n }\n\n return (\n <div class='resultsContainer'>\n {finalComponents}\n {this.query.length > 0 &&\n this.searchResults?.data?.hits?.length === 0 && (\n <div class='errorMessageContainer'>\n <searchcraft-error-message\n error-message={`No search results found for \"${this.query}\" query`}\n />\n </div>\n )}\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-0ac5bb53.js';
1
+ import { r as registerInstance, h } from './index-8211f330.js';
2
2
 
3
3
  const SearchcraftButtonIcon = class {
4
4
  constructor(hostRef) {
@@ -0,0 +1 @@
1
+ {"file":"searchcraft-button-icon.entry.esm.js","mappings":";;MAMa,qBAAqB;;;;IAChC,MAAM;QACJ,QACE,4DACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,qBAClB,mBAAmB,IAEnC,8DAAO,EAAE,EAAC,mBAAmB,8BAAgC,EAC7D,6DACE,CAAC,EAAC,8rBAA8rB,EAChsB,MAAM,EAAC,OAAO,kBACD,KAAK,oBACH,OAAO,qBACN,OAAO,GACvB,CACE,EACN;KACH;;;;;","names":[],"sources":["src/assets/searchcraft-button-icons.tsx"],"sourcesContent":["import { Component, h } from '@stencil/core';\n\n@Component({\n tag: 'searchcraft-button-icon',\n shadow: true,\n})\nexport class SearchcraftButtonIcon {\n render() {\n return (\n <svg\n width='20'\n height='20'\n viewBox='0 0 20 20'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n aria-labelledby='button-icon-title'\n >\n <title id='button-icon-title'>Searchcraft Button Icon</title>\n <path\n d='M2.725 5.79959L10 10.0079L17.275 5.79959M10 18.3996V9.99959M17.5 13.3329V6.66626C17.4997 6.37399 17.4225 6.08693 17.2763 5.8339C17.13 5.58086 16.9198 5.37073 16.6667 5.22459L10.8333 1.89126C10.58 1.74498 10.2926 1.66797 10 1.66797C9.70744 1.66797 9.42003 1.74498 9.16667 1.89126L3.33333 5.22459C3.08022 5.37073 2.86998 5.58086 2.72372 5.8339C2.57745 6.08693 2.5003 6.37399 2.5 6.66626V13.3329C2.5003 13.6252 2.57745 13.9123 2.72372 14.1653C2.86998 14.4183 3.08022 14.6285 3.33333 14.7746L9.16667 18.1079C9.42003 18.2542 9.70744 18.3312 10 18.3312C10.2926 18.3312 10.58 18.2542 10.8333 18.1079L16.6667 14.7746C16.9198 14.6285 17.13 14.4183 17.2763 14.1653C17.4225 13.9123 17.4997 13.6252 17.5 13.3329Z'\n stroke='white'\n stroke-width='1.5'\n stroke-linecap='round'\n stroke-linejoin='round'\n />\n </svg>\n );\n }\n}\n"],"version":3}
@@ -1,8 +1,8 @@
1
- import { r as registerInstance, c as createEvent, h, F as Fragment } from './index-0ac5bb53.js';
2
- import { c as classNames } from './index-72ac5051.js';
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 './_commonjsHelpers-63cbe26c.js';
3
4
 
4
5
  const searchcraftButtonModuleCss = ":root{--font-stack:Helvetica, Arial, sans-serif}.buttonLight{border-radius:8px;display:flex;font-family:var(--font-stack);font-size:16px;font-weight:700;line-height:20px;padding:11px 20px;position:relative;background-color:#000;border:1px solid #E6E6E6;color:#FFF}.buttonLight:hover{cursor:pointer}.buttonLight:hover{background-color:#2E2E2E}.buttonLight:focus{outline:2px solid #000000}.buttonDark{border-radius:8px;display:flex;font-family:var(--font-stack);font-size:16px;font-weight:700;line-height:20px;padding:11px 20px;position:relative;background-color:#FFF;border:1px solid #404040;color:#292929}.buttonDark:hover{cursor:pointer}.buttonDark:hover{background-color:#FAFAFA}.buttonDark:focus{outline:2px solid #404040}.spinnerMarginRight{left:4px;margin-right:4px;position:absolute}.spinnerMarginLeft{left:4px;margin-left:4px;position:absolute}.buttonLabel{animation:right-and-back 0.2s;margin-left:4px;position:relative}@keyframes right-and-back{0%{right:-6px}50%{right:-12px}75%{right:-6px}100%{right:0px}}";
5
- const SearchcraftButtonStyle0 = searchcraftButtonModuleCss;
6
6
 
7
7
  const SearchcraftButton = class {
8
8
  constructor(hostRef) {
@@ -23,10 +23,10 @@ const SearchcraftButton = class {
23
23
  }
24
24
  render() {
25
25
  const buttonStyle = this.getButtonStyle();
26
- return (h(Fragment, { key: 'f10a9faa6357ef626c4e5414a5c8bdc1fe0b63a1' }, this.iconOnly ? (h("button", { class: classNames(buttonStyle, 'searchcraft-button'), onClick: this.handleClick, type: 'submit' }, this.isRequesting ? (h("searchcraft-spinner-dark", null)) : (this.iconElement))) : (h("button", { class: classNames(buttonStyle, 'searchcraft-button'), onClick: this.handleClick, type: 'submit' }, this.iconPosition === 'left' && this.isRequesting ? (h("div", { class: 'spinner-margin-right' }, h("searchcraft-spinner-dark", null))) : (this.iconElement), h("span", { class: classNames(this.isRequesting && 'button-label', 'searchcraft-button-label') }, this.label)))));
26
+ return (h(Fragment, { key: '31e65bdc250d9e87848b6d0c59798ded2855de79' }, this.iconOnly ? (h("button", { class: classNames(buttonStyle, 'searchcraft-button'), onClick: this.handleClick, type: 'submit' }, this.isRequesting ? (h("searchcraft-spinner-dark", null)) : (this.iconElement))) : (h("button", { class: classNames(buttonStyle, 'searchcraft-button'), onClick: this.handleClick, type: 'submit' }, this.iconPosition === 'left' && this.isRequesting ? (h("div", { class: 'spinner-margin-right' }, h("searchcraft-spinner-dark", null))) : (this.iconElement), h("span", { class: classNames(this.isRequesting && 'button-label', 'searchcraft-button-label') }, this.label)))));
27
27
  }
28
28
  };
29
- SearchcraftButton.style = SearchcraftButtonStyle0;
29
+ SearchcraftButton.style = searchcraftButtonModuleCss;
30
30
 
31
31
  export { SearchcraftButton as searchcraft_button };
32
32
 
@@ -0,0 +1 @@
1
+ {"file":"searchcraft-button.entry.esm.js","mappings":";;;;AAAA,MAAM,0BAA0B,GAAG,y/BAAy/B;;MCgB/gC,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,QACE,EAAC,QAAQ,uDACN,IAAI,CAAC,QAAQ,IACZ,cACE,KAAK,EAAE,UAAU,CAAC,WAAW,EAAE,oBAAoB,CAAC,EACpD,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,IAAI,EAAC,QAAQ,IAEZ,IAAI,CAAC,YAAY,IAChB,mCAA4B,KAE5B,IAAI,CAAC,WAAW,CACjB,CACM,KAET,cACE,KAAK,EAAE,UAAU,CAAC,WAAW,EAAE,oBAAoB,CAAC,EACpD,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,IAAI,EAAC,QAAQ,IAEZ,IAAI,CAAC,YAAY,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,IAChD,WAAK,KAAK,EAAC,sBAAsB,IAC/B,mCAA4B,CACxB,KAEN,IAAI,CAAC,WAAW,CACjB,EACD,YACE,KAAK,EAAE,UAAU,CACf,IAAI,CAAC,YAAY,IAAI,cAAc,EACnC,0BAA0B,CAC3B,IAEA,IAAI,CAAC,KAAK,CACN,CACA,CACV,CACQ,EACX;KACH;;;;;;","names":[],"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}
@@ -0,0 +1,14 @@
1
+ import { r as registerInstance, h } from './index-8211f330.js';
2
+
3
+ const SearchcraftCheckIcon = class {
4
+ constructor(hostRef) {
5
+ registerInstance(this, hostRef);
6
+ }
7
+ render() {
8
+ return (h("svg", { key: '3db200942b79612a38293544a029c6854dfa4beb', width: '16', height: '16', viewBox: '0 0 16 16', fill: 'none' }, h("title", { key: 'b7b6af8651edb5cc0e054ed775b9029c6c93535e' }, "Checkbox Check"), h("path", { key: '7c74edc45f007245e4c6e4fd5d37dbc6dad20de0', d: 'M13.9999 2L5.74988 10L1.99988 6.36364', stroke: 'white', "stroke-width": '3', "stroke-linecap": 'round', "stroke-linejoin": 'round' })));
9
+ }
10
+ };
11
+
12
+ export { SearchcraftCheckIcon as searchcraft_check_icon };
13
+
14
+ //# sourceMappingURL=searchcraft-check-icon.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"searchcraft-check-icon.entry.esm.js","mappings":";;MAMa,oBAAoB;;;;IAC/B,MAAM;QACJ,QACE,4DAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,IACzD,iFAA6B,EAC7B,6DACE,CAAC,EAAC,uCAAuC,EACzC,MAAM,EAAC,OAAO,kBACD,GAAG,oBACD,OAAO,qBACN,OAAO,GACvB,CACE,EACN;KACH;;;;;","names":[],"sources":["src/assets/searchcraft-check-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"],"version":3}
@@ -1,10 +1,8 @@
1
- import { p as proxyCustomElement, H, h } from './p-7498e493.js';
1
+ import { r as registerInstance, h } from './index-8211f330.js';
2
2
 
3
- const SearchcraftClearIconSet = /*@__PURE__*/ proxyCustomElement(class SearchcraftClearIconSet extends H {
4
- constructor() {
5
- super();
6
- this.__registerHost();
7
- this.__attachShadow();
3
+ const SearchcraftClearIconSet = class {
4
+ constructor(hostRef) {
5
+ registerInstance(this, hostRef);
8
6
  this.type = 'clear-light';
9
7
  }
10
8
  render() {
@@ -21,23 +19,8 @@ const SearchcraftClearIconSet = /*@__PURE__*/ proxyCustomElement(class Searchcra
21
19
  return null;
22
20
  }
23
21
  }
24
- }, [1, "searchcraft-clear-icon-set", {
25
- "type": [1]
26
- }]);
27
- function defineCustomElement() {
28
- if (typeof customElements === "undefined") {
29
- return;
30
- }
31
- const components = ["searchcraft-clear-icon-set"];
32
- components.forEach(tagName => { switch (tagName) {
33
- case "searchcraft-clear-icon-set":
34
- if (!customElements.get(tagName)) {
35
- customElements.define(tagName, SearchcraftClearIconSet);
36
- }
37
- break;
38
- } });
39
- }
22
+ };
40
23
 
41
- export { SearchcraftClearIconSet as S, defineCustomElement as d };
24
+ export { SearchcraftClearIconSet as searchcraft_clear_icon_set };
42
25
 
43
- //# sourceMappingURL=p-70722ab2.js.map
26
+ //# sourceMappingURL=searchcraft-clear-icon-set.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"searchcraft-clear-icon-set.entry.esm.js","mappings":";;MAMa,uBAAuB;;;oBAMhC,aAAa;;IAEf,MAAM;QACJ,QAAQ,IAAI,CAAC,IAAI;YACf,KAAK,aAAa;gBAChB,QACE,WACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,qBAClB,YAAY,IAE5B,aAAO,EAAE,EAAC,YAAY,yCAA2C,EACjE,YACE,CAAC,EAAC,uIAAuI,EACzI,MAAM,EAAC,OAAO,kBACD,KAAK,oBACH,OAAO,qBACN,OAAO,GACvB,CACE,EACN;YACJ,KAAK,YAAY;gBACf,QACE,WACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,qBAClB,YAAY,IAE5B,aAAO,EAAE,EAAC,YAAY,wCAA0C,EAChE,YACE,CAAC,EAAC,uIAAuI,EACzI,MAAM,EAAC,OAAO,kBACD,KAAK,oBACH,OAAO,qBACN,OAAO,GACvB,CACE,EACN;YACJ,KAAK,aAAa;gBAChB,QACE,WACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,qBAClB,YAAY,IAE5B,aAAO,EAAE,EAAC,YAAY,yCAA2C,EACjE,YACE,CAAC,EAAC,uCAAuC,EACzC,MAAM,EAAC,SAAS,kBACH,KAAK,oBACH,OAAO,qBACN,OAAO,GACvB,CACE,EACN;YACJ,KAAK,YAAY;gBACf,QACE,WACE,KAAK,EAAC,GAAG,EACT,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,UAAU,EAClB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,qBAClB,YAAY,IAE5B,aAAO,EAAE,EAAC,YAAY,wCAA0C,EAChE,YACE,CAAC,EAAC,qBAAqB,EACvB,MAAM,EAAC,SAAS,kBACH,KAAK,oBACH,OAAO,qBACN,OAAO,GACvB,CACE,EACN;YAEJ;gBACE,OAAO,IAAI,CAAC;SACf;KACF;;;;;","names":[],"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}