@searchcraft/javascript-sdk 0.1.3 → 0.1.4

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 (230) 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-e7bd239c.js +1270 -0
  6. package/dist/cjs/index-e7bd239c.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_13.cjs.entry.js +458 -0
  12. package/dist/cjs/searchcraft-auto-search-form_13.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-ab3978ce.js +251 -0
  22. package/dist/cjs/store-ab3978ce.js.map +1 -0
  23. package/dist/cjs/utils-39791159.js +53 -0
  24. package/dist/cjs/utils-39791159.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 +45 -0
  30. package/dist/collection/assets/searchcraft-search-icon-set.js.map +1 -0
  31. package/dist/collection/collection-manifest.json +27 -0
  32. package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.js +294 -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 +19 -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 +14 -0
  38. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js +309 -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 +210 -0
  41. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js +111 -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 +20 -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 +96 -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-input/searchcraft-input.js +276 -0
  54. package/dist/collection/components/searchcraft-input/searchcraft-input.js.map +1 -0
  55. package/dist/collection/components/searchcraft-input/searchcraft-input.module.css +241 -0
  56. package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.js +122 -0
  57. package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.js.map +1 -0
  58. package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.module.css +79 -0
  59. package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.js +71 -0
  60. package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.js.map +1 -0
  61. package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.module.css +21 -0
  62. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js +77 -0
  63. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js.map +1 -0
  64. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.module.css +21 -0
  65. package/dist/collection/components/searchcraft-spinner-dark/searchcraft-spinner-dark.js +19 -0
  66. package/dist/collection/components/searchcraft-spinner-dark/searchcraft-spinner-dark.js.map +1 -0
  67. package/dist/collection/components/searchcraft-spinner-dark/searchcraft-spinner-dark.module.css +35 -0
  68. package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.js +19 -0
  69. package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.js.map +1 -0
  70. package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.module.css +26 -0
  71. package/dist/collection/index.js +14 -0
  72. package/dist/collection/index.js.map +1 -0
  73. package/dist/collection/provider/store.js +68 -0
  74. package/dist/collection/provider/store.js.map +1 -0
  75. package/dist/collection/utils/utils.js +45 -0
  76. package/dist/collection/utils/utils.js.map +1 -0
  77. package/dist/components/index.js +5 -0
  78. package/dist/components/index.js.map +1 -0
  79. package/dist/{searchcraft-javascript-sdk/searchcraft-search-icon-set.entry.js → components/p-04e7305e.js} +25 -7
  80. package/dist/components/p-04e7305e.js.map +1 -0
  81. package/dist/components/p-0c25e95d.js +41 -0
  82. package/dist/components/p-0c25e95d.js.map +1 -0
  83. package/dist/{searchcraft-javascript-sdk/searchcraft-clear-icon-set.entry.js → components/p-155f7a59.js} +25 -7
  84. package/dist/components/p-155f7a59.js.map +1 -0
  85. package/dist/components/p-16a533e3.js +34 -0
  86. package/dist/components/p-16a533e3.js.map +1 -0
  87. package/dist/components/p-17c94ac1.js +48 -0
  88. package/dist/components/p-17c94ac1.js.map +1 -0
  89. package/dist/{searchcraft-javascript-sdk/searchcraft-input-caption.entry.js → components/p-199065b5.js} +32 -10
  90. package/dist/components/p-199065b5.js.map +1 -0
  91. package/dist/components/p-2cc8c074.js +69 -0
  92. package/dist/components/p-2cc8c074.js.map +1 -0
  93. package/dist/components/p-36c95064.js +247 -0
  94. package/dist/components/p-36c95064.js.map +1 -0
  95. package/dist/{searchcraft-javascript-sdk/searchcraft-input.entry.js → components/p-4244171c.js} +80 -11
  96. package/dist/components/p-4244171c.js.map +1 -0
  97. package/dist/{searchcraft-javascript-sdk/searchcraft-base-search-result.entry.js → components/p-4f201f41.js} +37 -8
  98. package/dist/components/p-4f201f41.js.map +1 -0
  99. package/dist/{searchcraft-javascript-sdk/index-d6567b9c.js → components/p-5cdc6210.js} +2 -10
  100. package/dist/components/p-5cdc6210.js.map +1 -0
  101. package/dist/components/p-9283a3c2.js +50 -0
  102. package/dist/components/p-9283a3c2.js.map +1 -0
  103. package/dist/components/p-a7ab9d65.js +50 -0
  104. package/dist/components/p-a7ab9d65.js.map +1 -0
  105. package/dist/components/p-c69651f6.js +1106 -0
  106. package/dist/components/p-c69651f6.js.map +1 -0
  107. package/dist/components/p-e8e40447.js +34 -0
  108. package/dist/components/p-e8e40447.js.map +1 -0
  109. package/dist/components/p-f83f2b59.js +62 -0
  110. package/dist/components/p-f83f2b59.js.map +1 -0
  111. package/dist/components/searchcraft-auto-search-form.js +185 -0
  112. package/dist/components/searchcraft-auto-search-form.js.map +1 -0
  113. package/dist/components/searchcraft-base-search-form.js +153 -0
  114. package/dist/components/searchcraft-base-search-form.js.map +1 -0
  115. package/dist/components/searchcraft-base-search-result.js +8 -0
  116. package/dist/components/searchcraft-base-search-result.js.map +1 -0
  117. package/dist/{searchcraft-javascript-sdk/searchcraft-base-search-results.entry.js → components/searchcraft-base-search-results.js} +47 -11
  118. package/dist/components/searchcraft-base-search-results.js.map +1 -0
  119. package/dist/components/searchcraft-button-icon.js +33 -0
  120. package/dist/components/searchcraft-button-icon.js.map +1 -0
  121. package/dist/components/searchcraft-button.js +8 -0
  122. package/dist/components/searchcraft-button.js.map +1 -0
  123. package/dist/components/searchcraft-clear-icon-set.js +8 -0
  124. package/dist/components/searchcraft-clear-icon-set.js.map +1 -0
  125. package/dist/components/searchcraft-clear-input-button.js +8 -0
  126. package/dist/components/searchcraft-clear-input-button.js.map +1 -0
  127. package/dist/components/searchcraft-error-message.js +8 -0
  128. package/dist/components/searchcraft-error-message.js.map +1 -0
  129. package/dist/components/searchcraft-input-caption.js +8 -0
  130. package/dist/components/searchcraft-input-caption.js.map +1 -0
  131. package/dist/components/searchcraft-input-icon.js +8 -0
  132. package/dist/components/searchcraft-input-icon.js.map +1 -0
  133. package/dist/components/searchcraft-input-label.js +8 -0
  134. package/dist/components/searchcraft-input-label.js.map +1 -0
  135. package/dist/components/searchcraft-input.js +8 -0
  136. package/dist/components/searchcraft-input.js.map +1 -0
  137. package/dist/components/searchcraft-search-icon-set.js +8 -0
  138. package/dist/components/searchcraft-search-icon-set.js.map +1 -0
  139. package/dist/components/searchcraft-spinner-dark.js +8 -0
  140. package/dist/components/searchcraft-spinner-dark.js.map +1 -0
  141. package/dist/components/searchcraft-spinner-light.js +8 -0
  142. package/dist/components/searchcraft-spinner-light.js.map +1 -0
  143. package/dist/esm/index-0d9f850d.js +1242 -0
  144. package/dist/esm/index-0d9f850d.js.map +1 -0
  145. package/dist/esm/index-72ac5051.js +82 -0
  146. package/dist/esm/index-72ac5051.js.map +1 -0
  147. package/dist/esm/index.js +4 -0
  148. package/dist/esm/index.js.map +1 -0
  149. package/dist/esm/loader.js +13 -0
  150. package/dist/esm/loader.js.map +1 -0
  151. package/dist/esm/searchcraft-auto-search-form_13.entry.js +442 -0
  152. package/dist/esm/searchcraft-auto-search-form_13.entry.js.map +1 -0
  153. package/dist/{searchcraft-javascript-sdk → esm}/searchcraft-base-search-form.entry.js +4 -4
  154. package/dist/esm/searchcraft-base-search-form.entry.js.map +1 -0
  155. package/dist/{searchcraft-javascript-sdk → esm}/searchcraft-button-icon.entry.js +1 -1
  156. package/dist/esm/searchcraft-button-icon.entry.js.map +1 -0
  157. package/dist/{searchcraft-javascript-sdk → esm}/searchcraft-button.entry.js +4 -4
  158. package/dist/esm/searchcraft-button.entry.js.map +1 -0
  159. package/dist/esm/searchcraft-javascript-sdk.js +22 -0
  160. package/dist/esm/searchcraft-javascript-sdk.js.map +1 -0
  161. package/dist/esm/store-e55b12aa.js +247 -0
  162. package/dist/esm/store-e55b12aa.js.map +1 -0
  163. package/dist/index.cjs.js +1 -0
  164. package/dist/index.js +1 -0
  165. package/dist/loader/cdn.js +1 -0
  166. package/dist/loader/index.cjs.js +1 -0
  167. package/dist/loader/index.d.ts +24 -0
  168. package/dist/loader/index.es2017.js +1 -0
  169. package/dist/loader/index.js +2 -0
  170. package/dist/loader/package.json +11 -0
  171. package/dist/searchcraft-javascript-sdk/index.esm.js +1 -14
  172. package/dist/searchcraft-javascript-sdk/index.esm.js.map +1 -1
  173. package/dist/searchcraft-javascript-sdk/p-04e2f067.entry.js +2 -0
  174. package/dist/searchcraft-javascript-sdk/p-04e2f067.entry.js.map +1 -0
  175. package/dist/searchcraft-javascript-sdk/p-09af71e8.entry.js +2 -0
  176. package/dist/searchcraft-javascript-sdk/p-09af71e8.entry.js.map +1 -0
  177. package/dist/searchcraft-javascript-sdk/p-17c94ac1.js +2 -0
  178. package/dist/searchcraft-javascript-sdk/p-17c94ac1.js.map +1 -0
  179. package/dist/searchcraft-javascript-sdk/p-329c3f66.js +3 -0
  180. package/dist/searchcraft-javascript-sdk/p-329c3f66.js.map +1 -0
  181. package/dist/searchcraft-javascript-sdk/p-36c95064.js +11 -0
  182. package/dist/searchcraft-javascript-sdk/p-36c95064.js.map +1 -0
  183. package/dist/searchcraft-javascript-sdk/p-40791ead.entry.js +2 -0
  184. package/dist/searchcraft-javascript-sdk/p-40791ead.entry.js.map +1 -0
  185. package/dist/searchcraft-javascript-sdk/p-4d18a44a.entry.js +2 -0
  186. package/dist/searchcraft-javascript-sdk/p-4d18a44a.entry.js.map +1 -0
  187. package/dist/searchcraft-javascript-sdk/p-5cdc6210.js +7 -0
  188. package/dist/searchcraft-javascript-sdk/p-5cdc6210.js.map +1 -0
  189. package/dist/searchcraft-javascript-sdk/p-e1255160.js +2 -0
  190. package/dist/searchcraft-javascript-sdk/p-e1255160.js.map +1 -0
  191. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js +1 -48
  192. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js.map +1 -1
  193. package/dist/types/index.d.ts +1 -1
  194. package/package.json +1 -1
  195. package/dist/searchcraft-javascript-sdk/_commonjsHelpers-63cbe26c.js +0 -34
  196. package/dist/searchcraft-javascript-sdk/_commonjsHelpers-63cbe26c.js.map +0 -1
  197. package/dist/searchcraft-javascript-sdk/index-be6bffea.js +0 -3043
  198. package/dist/searchcraft-javascript-sdk/index-be6bffea.js.map +0 -1
  199. package/dist/searchcraft-javascript-sdk/index-d6567b9c.js.map +0 -1
  200. package/dist/searchcraft-javascript-sdk/searchcraft-auto-search-form.entry.js +0 -93
  201. package/dist/searchcraft-javascript-sdk/searchcraft-auto-search-form.entry.js.map +0 -1
  202. package/dist/searchcraft-javascript-sdk/searchcraft-base-search-form.entry.js.map +0 -1
  203. package/dist/searchcraft-javascript-sdk/searchcraft-base-search-result.entry.js.map +0 -1
  204. package/dist/searchcraft-javascript-sdk/searchcraft-base-search-results.entry.js.map +0 -1
  205. package/dist/searchcraft-javascript-sdk/searchcraft-button-icon.entry.js.map +0 -1
  206. package/dist/searchcraft-javascript-sdk/searchcraft-button.entry.js.map +0 -1
  207. package/dist/searchcraft-javascript-sdk/searchcraft-clear-icon-set.entry.js.map +0 -1
  208. package/dist/searchcraft-javascript-sdk/searchcraft-clear-input-button.entry.js +0 -31
  209. package/dist/searchcraft-javascript-sdk/searchcraft-clear-input-button.entry.js.map +0 -1
  210. package/dist/searchcraft-javascript-sdk/searchcraft-error-message.entry.js +0 -22
  211. package/dist/searchcraft-javascript-sdk/searchcraft-error-message.entry.js.map +0 -1
  212. package/dist/searchcraft-javascript-sdk/searchcraft-input-caption.entry.js.map +0 -1
  213. package/dist/searchcraft-javascript-sdk/searchcraft-input-icon.entry.js +0 -23
  214. package/dist/searchcraft-javascript-sdk/searchcraft-input-icon.entry.js.map +0 -1
  215. package/dist/searchcraft-javascript-sdk/searchcraft-input-label.entry.js +0 -30
  216. package/dist/searchcraft-javascript-sdk/searchcraft-input-label.entry.js.map +0 -1
  217. package/dist/searchcraft-javascript-sdk/searchcraft-input.entry.js.map +0 -1
  218. package/dist/searchcraft-javascript-sdk/searchcraft-search-icon-set.entry.js.map +0 -1
  219. package/dist/searchcraft-javascript-sdk/searchcraft-spinner-dark.entry.js +0 -17
  220. package/dist/searchcraft-javascript-sdk/searchcraft-spinner-dark.entry.js.map +0 -1
  221. package/dist/searchcraft-javascript-sdk/searchcraft-spinner-light.entry.js +0 -17
  222. package/dist/searchcraft-javascript-sdk/searchcraft-spinner-light.entry.js.map +0 -1
  223. package/dist/searchcraft-javascript-sdk/shadow-css-423dab2c.js +0 -334
  224. package/dist/searchcraft-javascript-sdk/shadow-css-423dab2c.js.map +0 -1
  225. package/dist/searchcraft-javascript-sdk/store-b50263a1.js +0 -3008
  226. package/dist/searchcraft-javascript-sdk/store-b50263a1.js.map +0 -1
  227. /package/dist/{searchcraft-javascript-sdk → esm}/app-globals-0f993ce5.js +0 -0
  228. /package/dist/{searchcraft-javascript-sdk → esm}/app-globals-0f993ce5.js.map +0 -0
  229. /package/dist/{searchcraft-javascript-sdk → esm}/utils-7bff0c78.js +0 -0
  230. /package/dist/{searchcraft-javascript-sdk → esm}/utils-7bff0c78.js.map +0 -0
@@ -0,0 +1,79 @@
1
+ :root {
2
+ --font-stack: Helvetica, Arial, sans-serif;
3
+ }
4
+
5
+ .inputCaptionLightLTR {
6
+ font-family: var(--font-stack);
7
+ font-size: 12px;
8
+ font-weight: 400;
9
+ line-height: 16px;
10
+ margin-top: 4px;
11
+ color: #404040;
12
+ }
13
+
14
+ .inputCaptionDarkLTR {
15
+ font-family: var(--font-stack);
16
+ font-size: 12px;
17
+ font-weight: 400;
18
+ line-height: 16px;
19
+ margin-top: 4px;
20
+ color: #E6E6E6;
21
+ }
22
+
23
+ .inputCaptionErrorLightLTR {
24
+ font-family: var(--font-stack);
25
+ font-size: 12px;
26
+ font-weight: 400;
27
+ line-height: 16px;
28
+ margin-top: 4px;
29
+ color: #990000;
30
+ }
31
+
32
+ .inputCaptionErrorDarkLTR {
33
+ font-family: var(--font-stack);
34
+ font-size: 12px;
35
+ font-weight: 400;
36
+ line-height: 16px;
37
+ margin-top: 4px;
38
+ color: #FFB3B3;
39
+ }
40
+
41
+ .inputCaptionLightRTL {
42
+ font-family: var(--font-stack);
43
+ font-size: 12px;
44
+ font-weight: 400;
45
+ line-height: 16px;
46
+ margin-top: 4px;
47
+ color: #404040;
48
+ text-align: right;
49
+ }
50
+
51
+ .inputCaptionDarkRTL {
52
+ font-family: var(--font-stack);
53
+ font-size: 12px;
54
+ font-weight: 400;
55
+ line-height: 16px;
56
+ margin-top: 4px;
57
+ color: #E6E6E6;
58
+ text-align: right;
59
+ }
60
+
61
+ .inputCaptionErrorLightRTL {
62
+ font-family: var(--font-stack);
63
+ font-size: 12px;
64
+ font-weight: 400;
65
+ line-height: 16px;
66
+ margin-top: 4px;
67
+ color: #990000;
68
+ text-align: right;
69
+ }
70
+
71
+ .inputCaptionErrorDarkRTL {
72
+ font-family: var(--font-stack);
73
+ font-size: 12px;
74
+ font-weight: 400;
75
+ line-height: 16px;
76
+ margin-top: 4px;
77
+ color: #FFB3B3;
78
+ text-align: right;
79
+ }
@@ -0,0 +1,71 @@
1
+ import { h } from "@stencil/core";
2
+ export class SearchcraftInputIcon {
3
+ constructor() {
4
+ this.error = undefined;
5
+ this.rightToLeftOrientation = false;
6
+ this.theme = 'light';
7
+ }
8
+ isLightTheme() {
9
+ return this.theme === 'light';
10
+ }
11
+ render() {
12
+ return this.error ? (h("div", { class: this.rightToLeftOrientation ? 'inputIconRTL' : 'inputIconLTR' }, this.isLightTheme ? (h("searchcraft-search-icon-set", { type: 'error-light' })) : (h("searchcraft-search-icon-set", { type: 'error-dark' })))) : (h("div", { class: this.rightToLeftOrientation ? 'inputIconRTL' : 'inputIconLTR' }, this.isLightTheme ? (h("searchcraft-search-icon-set", { type: 'search-light' })) : (h("searchcraft-search-icon-set", { type: 'search-dark' }))));
13
+ }
14
+ static get is() { return "searchcraft-input-icon"; }
15
+ static get encapsulation() { return "shadow"; }
16
+ static get originalStyleUrls() {
17
+ return {
18
+ "$": ["searchcraft-input-icon.module.scss"]
19
+ };
20
+ }
21
+ static get styleUrls() {
22
+ return {
23
+ "$": ["searchcraft-input-icon.module.css"]
24
+ };
25
+ }
26
+ static get properties() {
27
+ return {
28
+ "error": {
29
+ "type": "boolean",
30
+ "mutable": false,
31
+ "complexType": {
32
+ "original": "boolean",
33
+ "resolved": "boolean",
34
+ "references": {}
35
+ },
36
+ "required": false,
37
+ "optional": true,
38
+ "docs": {
39
+ "tags": [],
40
+ "text": ""
41
+ },
42
+ "attribute": "error",
43
+ "reflect": false
44
+ },
45
+ "rightToLeftOrientation": {
46
+ "type": "boolean",
47
+ "mutable": false,
48
+ "complexType": {
49
+ "original": "boolean",
50
+ "resolved": "boolean",
51
+ "references": {}
52
+ },
53
+ "required": false,
54
+ "optional": false,
55
+ "docs": {
56
+ "tags": [],
57
+ "text": ""
58
+ },
59
+ "attribute": "right-to-left-orientation",
60
+ "reflect": false,
61
+ "defaultValue": "false"
62
+ }
63
+ };
64
+ }
65
+ static get states() {
66
+ return {
67
+ "theme": {}
68
+ };
69
+ }
70
+ }
71
+ //# sourceMappingURL=searchcraft-input-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchcraft-input-icon.js","sourceRoot":"","sources":["../../../src/components/searchcraft-input-icon/searchcraft-input-icon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAO1D,MAAM,OAAO,oBAAoB;;;sCAEE,KAAK;qBACrB,OAAO;;IAEhB,YAAY;QAClB,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC;IAChC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAClB,WACE,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,IAEnE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CACnB,mCAA6B,IAAI,EAAC,aAAa,GAAG,CACnD,CAAC,CAAC,CAAC,CACF,mCAA6B,IAAI,EAAC,YAAY,GAAG,CAClD,CACG,CACP,CAAC,CAAC,CAAC,CACF,WACE,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,IAEnE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CACnB,mCAA6B,IAAI,EAAC,cAAc,GAAG,CACpD,CAAC,CAAC,CAAC,CACF,mCAA6B,IAAI,EAAC,aAAa,GAAG,CACnD,CACG,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, State } from '@stencil/core';\n\n@Component({\n tag: 'searchcraft-input-icon',\n styleUrl: 'searchcraft-input-icon.module.scss',\n shadow: true,\n})\nexport class SearchcraftInputIcon {\n @Prop() error?: boolean;\n @Prop() rightToLeftOrientation = false;\n @State() theme = 'light';\n\n private isLightTheme() {\n return this.theme === 'light';\n }\n\n render() {\n return this.error ? (\n <div\n class={this.rightToLeftOrientation ? 'inputIconRTL' : 'inputIconLTR'}\n >\n {this.isLightTheme ? (\n <searchcraft-search-icon-set type='error-light' />\n ) : (\n <searchcraft-search-icon-set type='error-dark' />\n )}\n </div>\n ) : (\n <div\n class={this.rightToLeftOrientation ? 'inputIconRTL' : 'inputIconLTR'}\n >\n {this.isLightTheme ? (\n <searchcraft-search-icon-set type='search-light' />\n ) : (\n <searchcraft-search-icon-set type='search-dark' />\n )}\n </div>\n );\n }\n}\n"]}
@@ -0,0 +1,21 @@
1
+ :root {
2
+ --font-stack: Helvetica, Arial, sans-serif;
3
+ }
4
+
5
+ .inputIconLTR {
6
+ height: 20px;
7
+ left: 15px;
8
+ position: absolute;
9
+ top: 50%;
10
+ transform: translateY(-50%);
11
+ width: 20px;
12
+ }
13
+
14
+ .inputIconRTL {
15
+ height: 20px;
16
+ position: absolute;
17
+ right: 15px;
18
+ top: 50%;
19
+ transform: translateY(-50%);
20
+ width: 20px;
21
+ }
@@ -0,0 +1,77 @@
1
+ import { h } from "@stencil/core";
2
+ import classNames from "classnames";
3
+ export class SearchcraftInputLabel {
4
+ constructor() {
5
+ this.inputLabelClassName = '';
6
+ this.label = undefined;
7
+ this.theme = 'light';
8
+ }
9
+ isLightTheme() {
10
+ return this.theme === 'light';
11
+ }
12
+ render() {
13
+ // Render nothing if no label prop is provided
14
+ if (!this.label) {
15
+ return null;
16
+ }
17
+ const labelStyle = this.isLightTheme() ? 'labelLight' : 'labelDark';
18
+ return (h("label", { class: classNames(labelStyle, this.inputLabelClassName), htmlFor: 'searchcraft-input-id' }, this.label));
19
+ }
20
+ static get is() { return "searchcraft-input-label"; }
21
+ static get encapsulation() { return "shadow"; }
22
+ static get originalStyleUrls() {
23
+ return {
24
+ "$": ["searchcraft-input-label.module.scss"]
25
+ };
26
+ }
27
+ static get styleUrls() {
28
+ return {
29
+ "$": ["searchcraft-input-label.module.css"]
30
+ };
31
+ }
32
+ static get properties() {
33
+ return {
34
+ "inputLabelClassName": {
35
+ "type": "string",
36
+ "mutable": false,
37
+ "complexType": {
38
+ "original": "string",
39
+ "resolved": "string",
40
+ "references": {}
41
+ },
42
+ "required": false,
43
+ "optional": true,
44
+ "docs": {
45
+ "tags": [],
46
+ "text": ""
47
+ },
48
+ "attribute": "input-label-class-name",
49
+ "reflect": false,
50
+ "defaultValue": "''"
51
+ },
52
+ "label": {
53
+ "type": "string",
54
+ "mutable": false,
55
+ "complexType": {
56
+ "original": "string",
57
+ "resolved": "string",
58
+ "references": {}
59
+ },
60
+ "required": false,
61
+ "optional": true,
62
+ "docs": {
63
+ "tags": [],
64
+ "text": ""
65
+ },
66
+ "attribute": "label",
67
+ "reflect": false
68
+ }
69
+ };
70
+ }
71
+ static get states() {
72
+ return {
73
+ "theme": {}
74
+ };
75
+ }
76
+ }
77
+ //# sourceMappingURL=searchcraft-input-label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchcraft-input-label.js","sourceRoot":"","sources":["../../../src/components/searchcraft-input-label/searchcraft-input-label.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,UAAU,MAAM,YAAY,CAAC;AAOpC,MAAM,OAAO,qBAAqB;;mCACD,EAAE;;qBAEhB,OAAO;;IAEhB,YAAY;QAClB,OAAO,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC;IAChC,CAAC;IAED,MAAM;QACJ,8CAA8C;QAC9C,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;QAEpE,OAAO,CACL,aACE,KAAK,EAAE,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,EACvD,OAAO,EAAC,sBAAsB,IAE7B,IAAI,CAAC,KAAK,CACL,CACT,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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; // Make label optional\n @State() theme = 'light';\n\n private isLightTheme() {\n return this.theme === 'light';\n }\n\n render() {\n // Render nothing if no label prop is provided\n if (!this.label) {\n return null;\n }\n\n const labelStyle = this.isLightTheme() ? 'labelLight' : 'labelDark';\n\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"]}
@@ -0,0 +1,21 @@
1
+ :root {
2
+ --font-stack: Helvetica, Arial, sans-serif;
3
+ }
4
+
5
+ .labelLight {
6
+ font-family: var(--font-stack);
7
+ font-size: 12px;
8
+ font-weight: 400;
9
+ line-height: 16px;
10
+ margin-top: 4px;
11
+ color: #292929;
12
+ }
13
+
14
+ .labelDark {
15
+ font-family: var(--font-stack);
16
+ font-size: 12px;
17
+ font-weight: 400;
18
+ line-height: 16px;
19
+ margin-top: 4px;
20
+ color: #FFF;
21
+ }
@@ -0,0 +1,19 @@
1
+ import { h } from "@stencil/core";
2
+ export class SearchcraftSpinnerDark {
3
+ render() {
4
+ return (h("div", { key: '60b629930c2e2795236f6768b40c95ce9390e882', class: 'spinnerContainer' }, h("div", { key: 'bfef3329f2e81ecf6538738ac0213da6259dd1c3', class: 'spinnerDark' })));
5
+ }
6
+ static get is() { return "searchcraft-spinner-dark"; }
7
+ static get encapsulation() { return "shadow"; }
8
+ static get originalStyleUrls() {
9
+ return {
10
+ "$": ["searchcraft-spinner-dark.module.scss"]
11
+ };
12
+ }
13
+ static get styleUrls() {
14
+ return {
15
+ "$": ["searchcraft-spinner-dark.module.css"]
16
+ };
17
+ }
18
+ }
19
+ //# sourceMappingURL=searchcraft-spinner-dark.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchcraft-spinner-dark.js","sourceRoot":"","sources":["../../../src/components/searchcraft-spinner-dark/searchcraft-spinner-dark.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAO7C,MAAM,OAAO,sBAAsB;IACjC,MAAM;QACJ,OAAO,CACL,4DAAK,KAAK,EAAC,kBAAkB;YAC3B,4DAAK,KAAK,EAAC,aAAa,GAAG,CACvB,CACP,CAAC;IACJ,CAAC;;;;;;;;;CACF","sourcesContent":["import { Component, h } from '@stencil/core';\n\n@Component({\n tag: 'searchcraft-spinner-dark',\n styleUrl: 'searchcraft-spinner-dark.module.scss',\n shadow: true,\n})\nexport class SearchcraftSpinnerDark {\n render() {\n return (\n <div class='spinnerContainer'>\n <div class='spinnerDark' />\n </div>\n );\n }\n}\n"]}
@@ -0,0 +1,35 @@
1
+ .spinnerContainer {
2
+ background-color: transparent;
3
+ height: 20px;
4
+ width: 20px;
5
+ }
6
+
7
+ .spinnerDark {
8
+ height: 100%;
9
+ width: 100%;
10
+ background: conic-gradient(#000 50%, #FFFFFF);
11
+ clip-path: circle(50%);
12
+ mask-image: radial-gradient(circle at center, rgba(0, 0, 0, 0) 6.6666666667px, rgb(0, 0, 0) 6.6666666667px);
13
+ animation: spinning 1s linear infinite;
14
+ }
15
+
16
+ .spinnerLight {
17
+ height: 100%;
18
+ width: 100%;
19
+ background: conic-gradient(#737373 50%, #FFFFFF);
20
+ clip-path: circle(50%);
21
+ mask-image: radial-gradient(circle at center, rgba(0, 0, 0, 0) 6.6666666667px, rgb(0, 0, 0) 6.6666666667px);
22
+ animation: spinning 1s linear infinite;
23
+ }
24
+
25
+ @keyframes spinning {
26
+ 0% {
27
+ transform: rotate(0deg);
28
+ }
29
+ 50% {
30
+ transform: rotate(180deg);
31
+ }
32
+ 100% {
33
+ transform: rotate(360deg);
34
+ }
35
+ }
@@ -0,0 +1,19 @@
1
+ import { h } from "@stencil/core";
2
+ export class SearchcraftSpinnerLight {
3
+ render() {
4
+ return (h("div", { key: 'ad5224c97faf7e329d2a8904488c17dfd7414b9e', class: 'spinnerContainer' }, h("div", { key: '6336ce7737af65eedac46ee290b20291ce5b6096', class: 'spinnerLight' })));
5
+ }
6
+ static get is() { return "searchcraft-spinner-light"; }
7
+ static get encapsulation() { return "shadow"; }
8
+ static get originalStyleUrls() {
9
+ return {
10
+ "$": ["searchcraft-spinner-light.module.scss"]
11
+ };
12
+ }
13
+ static get styleUrls() {
14
+ return {
15
+ "$": ["searchcraft-spinner-light.module.css"]
16
+ };
17
+ }
18
+ }
19
+ //# sourceMappingURL=searchcraft-spinner-light.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchcraft-spinner-light.js","sourceRoot":"","sources":["../../../src/components/searchcraft-spinner-light/searchcraft-spinner-light.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAO7C,MAAM,OAAO,uBAAuB;IAClC,MAAM;QACJ,OAAO,CACL,4DAAK,KAAK,EAAC,kBAAkB;YAC3B,4DAAK,KAAK,EAAC,cAAc,GAAG,CACxB,CACP,CAAC;IACJ,CAAC;;;;;;;;;CACF","sourcesContent":["import { Component, h } from '@stencil/core';\n\n@Component({\n tag: 'searchcraft-spinner-light',\n styleUrl: 'searchcraft-spinner-light.module.scss',\n shadow: true,\n})\nexport class SearchcraftSpinnerLight {\n render() {\n return (\n <div class='spinnerContainer'>\n <div class='spinnerLight' />\n </div>\n );\n }\n}\n"]}
@@ -0,0 +1,26 @@
1
+ .spinnerContainer {
2
+ background-color: transparent;
3
+ height: 20px;
4
+ width: 20px;
5
+ }
6
+
7
+ .spinnerLight {
8
+ height: 100%;
9
+ width: 100%;
10
+ background: conic-gradient(#737373 50%, #FFFFFF);
11
+ clip-path: circle(50%);
12
+ mask-image: radial-gradient(circle at center, rgba(0, 0, 0, 0) 6.6666666667px, rgb(0, 0, 0) 6.6666666667px);
13
+ animation: spinning 1s linear infinite;
14
+ }
15
+
16
+ @keyframes spinning {
17
+ 0% {
18
+ transform: rotate(0deg);
19
+ }
20
+ 50% {
21
+ transform: rotate(180deg);
22
+ }
23
+ 100% {
24
+ transform: rotate(360deg);
25
+ }
26
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @fileoverview entry point for your component library
3
+ *
4
+ * This is the entry point for your component library. Use this file to export utilities,
5
+ * constants or data structure that accompany your components.
6
+ *
7
+ * DO NOT use this file to export your components. Instead, use the recommended approaches
8
+ * to consume components of this package as outlined in the `README.md`.
9
+ */
10
+ // Export utility functions
11
+ export { extractDynamicProperties, parseCustomStyles, parseSearchKeys, serializeStyles, } from './utils/utils';
12
+ // Export Zustand store and useTheme hook
13
+ export { useSearchcraftStore, useThemeStore } from './provider/store';
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,2BAA2B;AAC3B,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,EACf,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,yCAAyC;AACzC,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC","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\n// Export utility functions\nexport {\n extractDynamicProperties,\n parseCustomStyles,\n parseSearchKeys,\n serializeStyles,\n} from './utils/utils';\n\n// Export Zustand store and useTheme hook\nexport { useSearchcraftStore, useThemeStore } from './provider/store';\n"]}
@@ -0,0 +1,68 @@
1
+ import { create } from "zustand";
2
+ import { SDKDebugger, LogLevel, } from "@searchcraft/core";
3
+ // Zustand store for Searchcraft state
4
+ const useSearchcraftStore = create((set, get) => {
5
+ let searchcraft = null;
6
+ let debuggerInstance = null;
7
+ const log = (level, message) => {
8
+ if (debuggerInstance) {
9
+ switch (level) {
10
+ case LogLevel.DEBUG:
11
+ debuggerInstance.debug(message);
12
+ break;
13
+ case LogLevel.INFO:
14
+ debuggerInstance.info(message);
15
+ break;
16
+ case LogLevel.WARN:
17
+ debuggerInstance.warn(message);
18
+ break;
19
+ case LogLevel.ERROR:
20
+ debuggerInstance.error(message);
21
+ break;
22
+ }
23
+ }
24
+ };
25
+ return {
26
+ query: '',
27
+ isRequesting: false,
28
+ searchResults: null,
29
+ setQuery: (query) => set({ query }),
30
+ setSearchResults: (results) => set({ searchResults: results }),
31
+ setIsRequesting: (isRequesting) => set({ isRequesting }),
32
+ search: async () => {
33
+ const { query, setIsRequesting, setSearchResults } = get();
34
+ if (!searchcraft) {
35
+ throw new Error('Searchcraft instance is not initialized.');
36
+ }
37
+ log(LogLevel.INFO, `Starting search with query: "${query}"`);
38
+ setIsRequesting(true);
39
+ try {
40
+ const results = await searchcraft.search({ query, mode: 'fuzzy' });
41
+ setSearchResults(results);
42
+ log(LogLevel.DEBUG, `Search results: ${JSON.stringify(results)}`);
43
+ }
44
+ catch (error) {
45
+ console.error(`Search failed: ${error.message}`);
46
+ log(LogLevel.ERROR, `Search failed with error: ${error.message}`);
47
+ }
48
+ finally {
49
+ setIsRequesting(false);
50
+ }
51
+ },
52
+ initialize: (searchcraftInstance, debug = false) => {
53
+ searchcraft = searchcraftInstance;
54
+ debuggerInstance = debug
55
+ ? new SDKDebugger({ logLevel: LogLevel.DEBUG })
56
+ : null;
57
+ log(LogLevel.INFO, 'Searchcraft store initialized.');
58
+ },
59
+ };
60
+ });
61
+ // Zustand store for Theme state
62
+ const useThemeStore = create((set) => ({
63
+ theme: 'light',
64
+ toggleTheme: () => set((state) => ({ theme: state.theme === 'light' ? 'dark' : 'light' })),
65
+ }));
66
+ // Export the Zustand stores for use in Stencil components
67
+ export { useSearchcraftStore, useThemeStore };
68
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/provider/store.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAEL,WAAW,EACX,QAAQ,GAET,MAAM,mBAAmB,CAAC;AAkB3B,sCAAsC;AACtC,MAAM,mBAAmB,GAAG,MAAM,CAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAChE,IAAI,WAAW,GAA2B,IAAI,CAAC;IAC/C,IAAI,gBAAgB,GAAuB,IAAI,CAAC;IAEhD,MAAM,GAAG,GAAG,CAAC,KAAe,EAAE,OAAe,EAAE,EAAE;QAC/C,IAAI,gBAAgB,EAAE,CAAC;YACrB,QAAQ,KAAK,EAAE,CAAC;gBACd,KAAK,QAAQ,CAAC,KAAK;oBACjB,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAChC,MAAM;gBACR,KAAK,QAAQ,CAAC,IAAI;oBAChB,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC/B,MAAM;gBACR,KAAK,QAAQ,CAAC,IAAI;oBAChB,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC/B,MAAM;gBACR,KAAK,QAAQ,CAAC,KAAK;oBACjB,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAChC,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,EAAE;QACT,YAAY,EAAE,KAAK;QACnB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;QACnC,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;QAC9D,eAAe,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,CAAC;QACxD,MAAM,EAAE,KAAK,IAAI,EAAE;YACjB,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,GAAG,EAAE,CAAC;YAC3D,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YAED,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,gCAAgC,KAAK,GAAG,CAAC,CAAC;YAC7D,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBACnE,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAC1B,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACpE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,kBAAmB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5D,GAAG,CACD,QAAQ,CAAC,KAAK,EACd,6BAA8B,KAAe,CAAC,OAAO,EAAE,CACxD,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,eAAe,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QACD,UAAU,EAAE,CAAC,mBAAmB,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE;YACjD,WAAW,GAAG,mBAAmB,CAAC;YAClC,gBAAgB,GAAG,KAAK;gBACtB,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAC/C,CAAC,CAAC,IAAI,CAAC;YAET,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;QACvD,CAAC;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,gCAAgC;AAChC,MAAM,aAAa,GAAG,MAAM,CAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACjD,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,GAAG,EAAE,CAChB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;CAC1E,CAAC,CAAC,CAAC;AAEJ,0DAA0D;AAC1D,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,CAAC","sourcesContent":["import { create } from 'zustand';\nimport {\n type CoreSDK as SearchcraftCore,\n SDKDebugger,\n LogLevel,\n type SearchcraftResponse,\n} from '@searchcraft/core';\n\ninterface SearchcraftState {\n query: string;\n isRequesting: boolean;\n searchResults: SearchcraftResponse | null;\n setQuery: (query: string) => void;\n setSearchResults: (results: SearchcraftResponse | null) => void;\n setIsRequesting: (isRequesting: boolean) => void;\n search: () => Promise<void>;\n initialize: (searchcraft: SearchcraftCore, debug?: boolean) => void;\n}\n\ninterface ThemeState {\n theme: 'light' | 'dark';\n toggleTheme: () => void;\n}\n\n// Zustand store for Searchcraft state\nconst useSearchcraftStore = create<SearchcraftState>((set, get) => {\n let searchcraft: SearchcraftCore | null = null;\n let debuggerInstance: SDKDebugger | null = null;\n\n const log = (level: LogLevel, message: string) => {\n if (debuggerInstance) {\n switch (level) {\n case LogLevel.DEBUG:\n debuggerInstance.debug(message);\n break;\n case LogLevel.INFO:\n debuggerInstance.info(message);\n break;\n case LogLevel.WARN:\n debuggerInstance.warn(message);\n break;\n case LogLevel.ERROR:\n debuggerInstance.error(message);\n break;\n }\n }\n };\n\n return {\n query: '',\n isRequesting: false,\n searchResults: null,\n setQuery: (query) => set({ query }),\n setSearchResults: (results) => set({ searchResults: results }),\n setIsRequesting: (isRequesting) => set({ isRequesting }),\n search: async () => {\n const { query, setIsRequesting, setSearchResults } = get();\n if (!searchcraft) {\n throw new Error('Searchcraft instance is not initialized.');\n }\n\n log(LogLevel.INFO, `Starting search with query: \"${query}\"`);\n setIsRequesting(true);\n try {\n const results = await searchcraft.search({ query, mode: 'fuzzy' });\n setSearchResults(results);\n log(LogLevel.DEBUG, `Search results: ${JSON.stringify(results)}`);\n } catch (error) {\n console.error(`Search failed: ${(error as Error).message}`);\n log(\n LogLevel.ERROR,\n `Search failed with error: ${(error as Error).message}`,\n );\n } finally {\n setIsRequesting(false);\n }\n },\n initialize: (searchcraftInstance, debug = false) => {\n searchcraft = searchcraftInstance;\n debuggerInstance = debug\n ? new SDKDebugger({ logLevel: LogLevel.DEBUG })\n : null;\n\n log(LogLevel.INFO, 'Searchcraft store initialized.');\n },\n };\n});\n\n// Zustand store for Theme state\nconst useThemeStore = create<ThemeState>((set) => ({\n theme: 'light',\n toggleTheme: () =>\n set((state) => ({ theme: state.theme === 'light' ? 'dark' : 'light' })),\n}));\n\n// Export the Zustand stores for use in Stencil components\nexport { useSearchcraftStore, useThemeStore };\n"]}
@@ -0,0 +1,45 @@
1
+ export function parseCustomStyles(styles) {
2
+ if (typeof styles === 'string') {
3
+ try {
4
+ return JSON.parse(styles);
5
+ }
6
+ catch (error) {
7
+ console.error('Invalid customStyles format:', styles);
8
+ return {};
9
+ }
10
+ }
11
+ return styles || {};
12
+ }
13
+ export function parseSearchKeys(searchKeys) {
14
+ try {
15
+ // Attempt to parse the string as JSON
16
+ const parsedKeys = JSON.parse(searchKeys);
17
+ if (Array.isArray(parsedKeys) &&
18
+ parsedKeys.every((key) => typeof key === 'string')) {
19
+ return parsedKeys; // Return the array if it's valid
20
+ }
21
+ console.warn('searchKeys must be a JSON array of strings. Defaulting to an empty array.');
22
+ return [];
23
+ }
24
+ catch (error) {
25
+ console.error('Failed to parse searchKeys:', error);
26
+ return []; // Return an empty array in case of a parsing error
27
+ }
28
+ }
29
+ export function extractDynamicProperties(document, keys) {
30
+ const extractedProperties = {};
31
+ keys.forEach((key) => {
32
+ extractedProperties[key] = document[key] || '';
33
+ });
34
+ return extractedProperties;
35
+ }
36
+ export function serializeStyles(styles) {
37
+ try {
38
+ return JSON.stringify(styles);
39
+ }
40
+ catch (error) {
41
+ console.error('Error serializing styles:', error);
42
+ return '{}';
43
+ }
44
+ }
45
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,iBAAiB,CAC/B,MAAuC;IAEvC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC;YACtD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,UAAkB;IAChD,IAAI,CAAC;QACH,sCAAsC;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1C,IACE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YACzB,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,EAClD,CAAC;YACD,OAAO,UAAU,CAAC,CAAC,iCAAiC;QACtD,CAAC;QACD,OAAO,CAAC,IAAI,CACV,2EAA2E,CAC5E,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACpD,OAAO,EAAE,CAAC,CAAC,mDAAmD;IAChE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,QAAyC,EACzC,IAAc;IAEd,MAAM,mBAAmB,GAAoC,EAAE,CAAC;IAChE,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACnB,mBAAmB,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;IACH,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,MAA8C;IAE9C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC","sourcesContent":["export function parseCustomStyles(\n styles: string | Record<string, string>,\n): Record<string, string> {\n if (typeof styles === 'string') {\n try {\n return JSON.parse(styles);\n } catch (error) {\n console.error('Invalid customStyles format:', styles);\n return {};\n }\n }\n return styles || {};\n}\n\nexport function parseSearchKeys(searchKeys: string): string[] {\n try {\n // Attempt to parse the string as JSON\n const parsedKeys = JSON.parse(searchKeys);\n if (\n Array.isArray(parsedKeys) &&\n parsedKeys.every((key) => typeof key === 'string')\n ) {\n return parsedKeys; // Return the array if it's valid\n }\n console.warn(\n 'searchKeys must be a JSON array of strings. Defaulting to an empty array.',\n );\n return [];\n } catch (error) {\n console.error('Failed to parse searchKeys:', error);\n return []; // Return an empty array in case of a parsing error\n }\n}\n\nexport function extractDynamicProperties(\n document: Record<string, string | number>,\n keys: string[],\n) {\n const extractedProperties: Record<string, string | number> = {};\n keys.forEach((key) => {\n extractedProperties[key] = document[key] || '';\n });\n return extractedProperties;\n}\n\nexport function serializeStyles(\n styles: Record<string, Record<string, string>>,\n): string {\n try {\n return JSON.stringify(styles);\n } catch (error) {\n console.error('Error serializing styles:', error);\n return '{}';\n }\n}\n"]}
@@ -0,0 +1,5 @@
1
+ export { g as getAssetPath, s as setAssetPath, a as setNonce, b as setPlatformOptions } from './p-c69651f6.js';
2
+ export { e as extractDynamicProperties, p as parseCustomStyles, a as parseSearchKeys, s as serializeStyles } from './p-17c94ac1.js';
3
+ export { u as useSearchcraftStore, a as useThemeStore } from './p-36c95064.js';
4
+
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"file":"index.js","mappings":";;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1,8 +1,10 @@
1
- import { r as registerInstance, h } from './index-be6bffea.js';
1
+ import { p as proxyCustomElement, H, h } from './p-c69651f6.js';
2
2
 
3
- const SearchcraftSearchIconSet = class {
4
- constructor(hostRef) {
5
- registerInstance(this, hostRef);
3
+ const SearchcraftSearchIconSet = /*@__PURE__*/ proxyCustomElement(class SearchcraftSearchIconSet extends H {
4
+ constructor() {
5
+ super();
6
+ this.__registerHost();
7
+ this.__attachShadow();
6
8
  this.type = 'search-dark';
7
9
  }
8
10
  render() {
@@ -19,8 +21,24 @@ const SearchcraftSearchIconSet = class {
19
21
  return null;
20
22
  }
21
23
  }
22
- };
24
+ }, [1, "searchcraft-search-icon-set", {
25
+ "type": [1]
26
+ }]);
27
+ function defineCustomElement() {
28
+ if (typeof customElements === "undefined") {
29
+ return;
30
+ }
31
+ const components = ["searchcraft-search-icon-set"];
32
+ components.forEach(tagName => { switch (tagName) {
33
+ case "searchcraft-search-icon-set":
34
+ if (!customElements.get(tagName)) {
35
+ customElements.define(tagName, SearchcraftSearchIconSet);
36
+ }
37
+ break;
38
+ } });
39
+ }
40
+ defineCustomElement();
23
41
 
24
- export { SearchcraftSearchIconSet as searchcraft_search_icon_set };
42
+ export { SearchcraftSearchIconSet as S, defineCustomElement as d };
25
43
 
26
- //# sourceMappingURL=searchcraft-search-icon-set.entry.js.map
44
+ //# sourceMappingURL=p-04e7305e.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-04e7305e.js","mappings":";;MAMa,wBAAwB;;;;;oBAMjC,aAAa;;IAEf,MAAM;QACJ,QAAQ,IAAI,CAAC,IAAI;YACf,KAAK,cAAc;gBACjB,QACE,WACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,qBAClB,mBAAmB,IAEnC,aAAO,EAAE,EAAC,mBAAmB,oCAAsC,EACnE,YACE,CAAC,EAAC,mNAAmN,EACrN,MAAM,EAAC,SAAS,kBACH,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,mBAAmB,IAEnC,aAAO,EAAE,EAAC,mBAAmB,mCAAqC,EAClE,YACE,CAAC,EAAC,mNAAmN,EACrN,MAAM,EAAC,SAAS,kBACH,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,mBAAmB,IAEnC,aAAO,EAAE,EAAC,mBAAmB,0CAErB,EACR,YACE,CAAC,EAAC,mNAAmN,EACrN,MAAM,EAAC,SAAS,kBACH,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,mBAAmB,IAEnC,aAAO,EAAE,EAAC,mBAAmB,yCAErB,EACR,YACE,CAAC,EAAC,mNAAmN,EACrN,MAAM,EAAC,SAAS,kBACH,KAAK,oBACH,OAAO,qBACN,OAAO,GACvB,CACE,EACN;YACJ;gBACE,OAAO,IAAI,CAAC;SACf;KACF;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/assets/searchcraft-search-icon-set.tsx"],"sourcesContent":["import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'searchcraft-search-icon-set',\n shadow: true,\n})\nexport class SearchcraftSearchIconSet {\n /**\n * Type of the icon to display.\n * Options: ''search-light', search-dark', 'error-light', 'error-dark'\n */\n @Prop() type: 'search-light' | 'search-dark' | 'error-light' | 'error-dark' =\n 'search-dark';\n\n render() {\n switch (this.type) {\n case 'search-light':\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='searchcraft-title'\n >\n <title id='searchcraft-title'>Searchcraft Search Icon Light</title>\n <path\n d='M17.5 17.5L13.875 13.875M15.8333 9.16667C15.8333 12.8486 12.8486 15.8333 9.16667 15.8333C5.48477 15.8333 2.5 12.8486 2.5 9.16667C2.5 5.48477 5.48477 2.5 9.16667 2.5C12.8486 2.5 15.8333 5.48477 15.8333 9.16667Z'\n stroke='#404040'\n stroke-width='1.5'\n stroke-linecap='round'\n stroke-linejoin='round'\n />\n </svg>\n );\n case 'search-dark':\n return (\n <svg\n width='18'\n height='18'\n viewBox='0 0 18 18'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n aria-labelledby='searchcraft-title'\n >\n <title id='searchcraft-title'>Searchcraft Search Icon Dark</title>\n <path\n d='M16.5 16.5L12.875 12.875M14.8333 8.16667C14.8333 11.8486 11.8486 14.8333 8.16667 14.8333C4.48477 14.8333 1.5 11.8486 1.5 8.16667C1.5 4.48477 4.48477 1.5 8.16667 1.5C11.8486 1.5 14.8333 4.48477 14.8333 8.16667Z'\n stroke='#E6E6E6'\n stroke-width='1.5'\n stroke-linecap='round'\n stroke-linejoin='round'\n />\n </svg>\n );\n case 'error-light':\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='searchcraft-title'\n >\n <title id='searchcraft-title'>\n Searchcraft Error Search Icon Light\n </title>\n <path\n d='M17.5 17.5L13.875 13.875M15.8333 9.16667C15.8333 12.8486 12.8486 15.8333 9.16667 15.8333C5.48477 15.8333 2.5 12.8486 2.5 9.16667C2.5 5.48477 5.48477 2.5 9.16667 2.5C12.8486 2.5 15.8333 5.48477 15.8333 9.16667Z'\n stroke='#737373'\n stroke-width='1.5'\n stroke-linecap='round'\n stroke-linejoin='round'\n />\n </svg>\n );\n case 'error-dark':\n return (\n <svg\n width='18'\n height='18'\n viewBox='0 0 18 18'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n aria-labelledby='searchcraft-title'\n >\n <title id='searchcraft-title'>\n Searchcraft Error Search Icon Dark\n </title>\n <path\n d='M16.5 16.5L12.875 12.875M14.8333 8.16667C14.8333 11.8486 11.8486 14.8333 8.16667 14.8333C4.48477 14.8333 1.5 11.8486 1.5 8.16667C1.5 4.48477 4.48477 1.5 8.16667 1.5C11.8486 1.5 14.8333 4.48477 14.8333 8.16667Z'\n stroke='#BFBFBF'\n stroke-width='1.5'\n stroke-linecap='round'\n stroke-linejoin='round'\n />\n </svg>\n );\n default:\n return null;\n }\n }\n}\n"],"version":3}