@searchcraft/javascript-sdk 0.1.1 → 0.1.3

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 (239) hide show
  1. package/dist/searchcraft-javascript-sdk/_commonjsHelpers-63cbe26c.js +34 -0
  2. package/dist/searchcraft-javascript-sdk/_commonjsHelpers-63cbe26c.js.map +1 -0
  3. package/dist/searchcraft-javascript-sdk/index-be6bffea.js +3043 -0
  4. package/dist/searchcraft-javascript-sdk/index-be6bffea.js.map +1 -0
  5. package/dist/{components/p-5cdc6210.js → searchcraft-javascript-sdk/index-d6567b9c.js} +10 -2
  6. package/dist/searchcraft-javascript-sdk/index-d6567b9c.js.map +1 -0
  7. package/dist/searchcraft-javascript-sdk/index.esm.js +14 -1
  8. package/dist/searchcraft-javascript-sdk/index.esm.js.map +1 -1
  9. package/dist/searchcraft-javascript-sdk/searchcraft-auto-search-form.entry.js +93 -0
  10. package/dist/searchcraft-javascript-sdk/searchcraft-auto-search-form.entry.js.map +1 -0
  11. package/dist/{esm → searchcraft-javascript-sdk}/searchcraft-base-search-form.entry.js +4 -4
  12. package/dist/searchcraft-javascript-sdk/searchcraft-base-search-form.entry.js.map +1 -0
  13. package/dist/searchcraft-javascript-sdk/searchcraft-base-search-result.entry.js +58 -0
  14. package/dist/searchcraft-javascript-sdk/searchcraft-base-search-result.entry.js.map +1 -0
  15. package/dist/searchcraft-javascript-sdk/searchcraft-base-search-results.entry.js +57 -0
  16. package/dist/searchcraft-javascript-sdk/searchcraft-base-search-results.entry.js.map +1 -0
  17. package/dist/{esm → searchcraft-javascript-sdk}/searchcraft-button-icon.entry.js +1 -1
  18. package/dist/searchcraft-javascript-sdk/searchcraft-button-icon.entry.js.map +1 -0
  19. package/dist/{esm → searchcraft-javascript-sdk}/searchcraft-button.entry.js +4 -4
  20. package/dist/searchcraft-javascript-sdk/searchcraft-button.entry.js.map +1 -0
  21. package/dist/{components/p-155f7a59.js → searchcraft-javascript-sdk/searchcraft-clear-icon-set.entry.js} +7 -25
  22. package/dist/searchcraft-javascript-sdk/searchcraft-clear-icon-set.entry.js.map +1 -0
  23. package/dist/searchcraft-javascript-sdk/searchcraft-clear-input-button.entry.js +31 -0
  24. package/dist/searchcraft-javascript-sdk/searchcraft-clear-input-button.entry.js.map +1 -0
  25. package/dist/searchcraft-javascript-sdk/searchcraft-error-message.entry.js +22 -0
  26. package/dist/searchcraft-javascript-sdk/searchcraft-error-message.entry.js.map +1 -0
  27. package/dist/{components/p-199065b5.js → searchcraft-javascript-sdk/searchcraft-input-caption.entry.js} +10 -32
  28. package/dist/searchcraft-javascript-sdk/searchcraft-input-caption.entry.js.map +1 -0
  29. package/dist/searchcraft-javascript-sdk/searchcraft-input-icon.entry.js +23 -0
  30. package/dist/searchcraft-javascript-sdk/searchcraft-input-icon.entry.js.map +1 -0
  31. package/dist/searchcraft-javascript-sdk/searchcraft-input-label.entry.js +30 -0
  32. package/dist/searchcraft-javascript-sdk/searchcraft-input-label.entry.js.map +1 -0
  33. package/dist/{components/p-a18c4969.js → searchcraft-javascript-sdk/searchcraft-input.entry.js} +11 -80
  34. package/dist/searchcraft-javascript-sdk/searchcraft-input.entry.js.map +1 -0
  35. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js +48 -1
  36. package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js.map +1 -1
  37. package/dist/{components/p-04e7305e.js → searchcraft-javascript-sdk/searchcraft-search-icon-set.entry.js} +7 -25
  38. package/dist/searchcraft-javascript-sdk/searchcraft-search-icon-set.entry.js.map +1 -0
  39. package/dist/searchcraft-javascript-sdk/searchcraft-spinner-dark.entry.js +17 -0
  40. package/dist/searchcraft-javascript-sdk/searchcraft-spinner-dark.entry.js.map +1 -0
  41. package/dist/searchcraft-javascript-sdk/searchcraft-spinner-light.entry.js +17 -0
  42. package/dist/searchcraft-javascript-sdk/searchcraft-spinner-light.entry.js.map +1 -0
  43. package/dist/searchcraft-javascript-sdk/shadow-css-423dab2c.js +334 -0
  44. package/dist/searchcraft-javascript-sdk/shadow-css-423dab2c.js.map +1 -0
  45. package/dist/searchcraft-javascript-sdk/store-b50263a1.js +3008 -0
  46. package/dist/searchcraft-javascript-sdk/store-b50263a1.js.map +1 -0
  47. package/dist/searchcraft-javascript-sdk/utils-7bff0c78.js +48 -0
  48. package/dist/searchcraft-javascript-sdk/utils-7bff0c78.js.map +1 -0
  49. package/dist/types/components/searchcraft-base-search-result/searchcraft-base-search-result.d.ts +15 -11
  50. package/dist/types/components/searchcraft-base-search-results/searchcraft-base-search-results.d.ts +12 -2
  51. package/dist/types/components.d.ts +60 -22
  52. package/dist/types/index.d.ts +1 -1
  53. package/dist/types/provider/store.d.ts +3 -3
  54. package/dist/types/utils/utils.d.ts +3 -5
  55. package/package.json +1 -1
  56. package/dist/cjs/app-globals-3a1e7e63.js +0 -7
  57. package/dist/cjs/app-globals-3a1e7e63.js.map +0 -1
  58. package/dist/cjs/index-5b0b9d4c.js +0 -84
  59. package/dist/cjs/index-5b0b9d4c.js.map +0 -1
  60. package/dist/cjs/index-e7bd239c.js +0 -1270
  61. package/dist/cjs/index-e7bd239c.js.map +0 -1
  62. package/dist/cjs/index.cjs.js +0 -14
  63. package/dist/cjs/index.cjs.js.map +0 -1
  64. package/dist/cjs/loader.cjs.js +0 -17
  65. package/dist/cjs/loader.cjs.js.map +0 -1
  66. package/dist/cjs/searchcraft-auto-search-form_13.cjs.entry.js +0 -434
  67. package/dist/cjs/searchcraft-auto-search-form_13.cjs.entry.js.map +0 -1
  68. package/dist/cjs/searchcraft-base-search-form.cjs.entry.js +0 -64
  69. package/dist/cjs/searchcraft-base-search-form.cjs.entry.js.map +0 -1
  70. package/dist/cjs/searchcraft-button-icon.cjs.entry.js +0 -18
  71. package/dist/cjs/searchcraft-button-icon.cjs.entry.js.map +0 -1
  72. package/dist/cjs/searchcraft-button.cjs.entry.js +0 -37
  73. package/dist/cjs/searchcraft-button.cjs.entry.js.map +0 -1
  74. package/dist/cjs/searchcraft-javascript-sdk.cjs.js +0 -27
  75. package/dist/cjs/searchcraft-javascript-sdk.cjs.js.map +0 -1
  76. package/dist/cjs/store-6c259dd0.js +0 -251
  77. package/dist/cjs/store-6c259dd0.js.map +0 -1
  78. package/dist/cjs/utils-cbbed1f7.js +0 -23
  79. package/dist/cjs/utils-cbbed1f7.js.map +0 -1
  80. package/dist/collection/assets/searchcraft-button-icons.js +0 -9
  81. package/dist/collection/assets/searchcraft-button-icons.js.map +0 -1
  82. package/dist/collection/assets/searchcraft-clear-icon-set.js +0 -45
  83. package/dist/collection/assets/searchcraft-clear-icon-set.js.map +0 -1
  84. package/dist/collection/assets/searchcraft-search-icon-set.js +0 -45
  85. package/dist/collection/assets/searchcraft-search-icon-set.js.map +0 -1
  86. package/dist/collection/collection-manifest.json +0 -27
  87. package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.js +0 -294
  88. package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.js.map +0 -1
  89. package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.module.css +0 -19
  90. package/dist/collection/components/searchcraft-base-search-form/searchcraft-base-search-form.js +0 -168
  91. package/dist/collection/components/searchcraft-base-search-form/searchcraft-base-search-form.js.map +0 -1
  92. package/dist/collection/components/searchcraft-base-search-form/searchcraft-base-search-form.module.css +0 -14
  93. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js +0 -241
  94. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js.map +0 -1
  95. package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.module.css +0 -170
  96. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js +0 -58
  97. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js.map +0 -1
  98. package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.module.css +0 -20
  99. package/dist/collection/components/searchcraft-button/searchcraft-button.js +0 -137
  100. package/dist/collection/components/searchcraft-button/searchcraft-button.js.map +0 -1
  101. package/dist/collection/components/searchcraft-button/searchcraft-button.module.css +0 -82
  102. package/dist/collection/components/searchcraft-clear-input-button/searchcraft-clear-input-button.js +0 -96
  103. package/dist/collection/components/searchcraft-clear-input-button/searchcraft-clear-input-button.js.map +0 -1
  104. package/dist/collection/components/searchcraft-clear-input-button/searchcraft-clear-input-button.module.css +0 -33
  105. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js +0 -64
  106. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js.map +0 -1
  107. package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.module.css +0 -21
  108. package/dist/collection/components/searchcraft-input/searchcraft-input.js +0 -276
  109. package/dist/collection/components/searchcraft-input/searchcraft-input.js.map +0 -1
  110. package/dist/collection/components/searchcraft-input/searchcraft-input.module.css +0 -241
  111. package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.js +0 -122
  112. package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.js.map +0 -1
  113. package/dist/collection/components/searchcraft-input-caption/searchcraft-input-caption.module.css +0 -79
  114. package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.js +0 -71
  115. package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.js.map +0 -1
  116. package/dist/collection/components/searchcraft-input-icon/searchcraft-input-icon.module.css +0 -19
  117. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js +0 -77
  118. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.js.map +0 -1
  119. package/dist/collection/components/searchcraft-input-label/searchcraft-input-label.module.css +0 -21
  120. package/dist/collection/components/searchcraft-spinner-dark/searchcraft-spinner-dark.js +0 -19
  121. package/dist/collection/components/searchcraft-spinner-dark/searchcraft-spinner-dark.js.map +0 -1
  122. package/dist/collection/components/searchcraft-spinner-dark/searchcraft-spinner-dark.module.css +0 -35
  123. package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.js +0 -19
  124. package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.js.map +0 -1
  125. package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.module.css +0 -26
  126. package/dist/collection/index.js +0 -14
  127. package/dist/collection/index.js.map +0 -1
  128. package/dist/collection/provider/store.js +0 -68
  129. package/dist/collection/provider/store.js.map +0 -1
  130. package/dist/collection/utils/utils.js +0 -18
  131. package/dist/collection/utils/utils.js.map +0 -1
  132. package/dist/components/index.js +0 -5
  133. package/dist/components/index.js.map +0 -1
  134. package/dist/components/p-04e7305e.js.map +0 -1
  135. package/dist/components/p-0c25e95d.js +0 -41
  136. package/dist/components/p-0c25e95d.js.map +0 -1
  137. package/dist/components/p-155f7a59.js.map +0 -1
  138. package/dist/components/p-16a533e3.js +0 -34
  139. package/dist/components/p-16a533e3.js.map +0 -1
  140. package/dist/components/p-199065b5.js.map +0 -1
  141. package/dist/components/p-1ef23e15.js +0 -21
  142. package/dist/components/p-1ef23e15.js.map +0 -1
  143. package/dist/components/p-2cc8c074.js +0 -69
  144. package/dist/components/p-2cc8c074.js.map +0 -1
  145. package/dist/components/p-5cdc6210.js.map +0 -1
  146. package/dist/components/p-6f0eaec6.js +0 -247
  147. package/dist/components/p-6f0eaec6.js.map +0 -1
  148. package/dist/components/p-83c9df48.js +0 -76
  149. package/dist/components/p-83c9df48.js.map +0 -1
  150. package/dist/components/p-8646a603.js +0 -50
  151. package/dist/components/p-8646a603.js.map +0 -1
  152. package/dist/components/p-9283a3c2.js +0 -50
  153. package/dist/components/p-9283a3c2.js.map +0 -1
  154. package/dist/components/p-a18c4969.js.map +0 -1
  155. package/dist/components/p-c69651f6.js +0 -1106
  156. package/dist/components/p-c69651f6.js.map +0 -1
  157. package/dist/components/p-e8e40447.js +0 -34
  158. package/dist/components/p-e8e40447.js.map +0 -1
  159. package/dist/components/p-f83f2b59.js +0 -62
  160. package/dist/components/p-f83f2b59.js.map +0 -1
  161. package/dist/components/searchcraft-auto-search-form.js +0 -185
  162. package/dist/components/searchcraft-auto-search-form.js.map +0 -1
  163. package/dist/components/searchcraft-base-search-form.js +0 -153
  164. package/dist/components/searchcraft-base-search-form.js.map +0 -1
  165. package/dist/components/searchcraft-base-search-result.js +0 -8
  166. package/dist/components/searchcraft-base-search-result.js.map +0 -1
  167. package/dist/components/searchcraft-base-search-results.js +0 -89
  168. package/dist/components/searchcraft-base-search-results.js.map +0 -1
  169. package/dist/components/searchcraft-button-icon.js +0 -33
  170. package/dist/components/searchcraft-button-icon.js.map +0 -1
  171. package/dist/components/searchcraft-button.js +0 -8
  172. package/dist/components/searchcraft-button.js.map +0 -1
  173. package/dist/components/searchcraft-clear-icon-set.js +0 -8
  174. package/dist/components/searchcraft-clear-icon-set.js.map +0 -1
  175. package/dist/components/searchcraft-clear-input-button.js +0 -8
  176. package/dist/components/searchcraft-clear-input-button.js.map +0 -1
  177. package/dist/components/searchcraft-error-message.js +0 -8
  178. package/dist/components/searchcraft-error-message.js.map +0 -1
  179. package/dist/components/searchcraft-input-caption.js +0 -8
  180. package/dist/components/searchcraft-input-caption.js.map +0 -1
  181. package/dist/components/searchcraft-input-icon.js +0 -8
  182. package/dist/components/searchcraft-input-icon.js.map +0 -1
  183. package/dist/components/searchcraft-input-label.js +0 -8
  184. package/dist/components/searchcraft-input-label.js.map +0 -1
  185. package/dist/components/searchcraft-input.js +0 -8
  186. package/dist/components/searchcraft-input.js.map +0 -1
  187. package/dist/components/searchcraft-search-icon-set.js +0 -8
  188. package/dist/components/searchcraft-search-icon-set.js.map +0 -1
  189. package/dist/components/searchcraft-spinner-dark.js +0 -8
  190. package/dist/components/searchcraft-spinner-dark.js.map +0 -1
  191. package/dist/components/searchcraft-spinner-light.js +0 -8
  192. package/dist/components/searchcraft-spinner-light.js.map +0 -1
  193. package/dist/esm/index-0d9f850d.js +0 -1242
  194. package/dist/esm/index-0d9f850d.js.map +0 -1
  195. package/dist/esm/index-72ac5051.js +0 -82
  196. package/dist/esm/index-72ac5051.js.map +0 -1
  197. package/dist/esm/index.js +0 -4
  198. package/dist/esm/index.js.map +0 -1
  199. package/dist/esm/loader.js +0 -13
  200. package/dist/esm/loader.js.map +0 -1
  201. package/dist/esm/searchcraft-auto-search-form_13.entry.js +0 -418
  202. package/dist/esm/searchcraft-auto-search-form_13.entry.js.map +0 -1
  203. package/dist/esm/searchcraft-base-search-form.entry.js.map +0 -1
  204. package/dist/esm/searchcraft-button-icon.entry.js.map +0 -1
  205. package/dist/esm/searchcraft-button.entry.js.map +0 -1
  206. package/dist/esm/searchcraft-javascript-sdk.js +0 -22
  207. package/dist/esm/searchcraft-javascript-sdk.js.map +0 -1
  208. package/dist/esm/store-2370857c.js +0 -247
  209. package/dist/esm/store-2370857c.js.map +0 -1
  210. package/dist/esm/utils-f221d91f.js +0 -21
  211. package/dist/esm/utils-f221d91f.js.map +0 -1
  212. package/dist/index.cjs.js +0 -1
  213. package/dist/index.js +0 -1
  214. package/dist/loader/cdn.js +0 -1
  215. package/dist/loader/index.cjs.js +0 -1
  216. package/dist/loader/index.d.ts +0 -24
  217. package/dist/loader/index.es2017.js +0 -1
  218. package/dist/loader/index.js +0 -2
  219. package/dist/loader/package.json +0 -11
  220. package/dist/searchcraft-javascript-sdk/p-0a8c2538.entry.js +0 -2
  221. package/dist/searchcraft-javascript-sdk/p-0a8c2538.entry.js.map +0 -1
  222. package/dist/searchcraft-javascript-sdk/p-1ef23e15.js +0 -2
  223. package/dist/searchcraft-javascript-sdk/p-1ef23e15.js.map +0 -1
  224. package/dist/searchcraft-javascript-sdk/p-329c3f66.js +0 -3
  225. package/dist/searchcraft-javascript-sdk/p-329c3f66.js.map +0 -1
  226. package/dist/searchcraft-javascript-sdk/p-40791ead.entry.js +0 -2
  227. package/dist/searchcraft-javascript-sdk/p-40791ead.entry.js.map +0 -1
  228. package/dist/searchcraft-javascript-sdk/p-4d18a44a.entry.js +0 -2
  229. package/dist/searchcraft-javascript-sdk/p-4d18a44a.entry.js.map +0 -1
  230. package/dist/searchcraft-javascript-sdk/p-5cdc6210.js +0 -7
  231. package/dist/searchcraft-javascript-sdk/p-5cdc6210.js.map +0 -1
  232. package/dist/searchcraft-javascript-sdk/p-6f0eaec6.js +0 -11
  233. package/dist/searchcraft-javascript-sdk/p-6f0eaec6.js.map +0 -1
  234. package/dist/searchcraft-javascript-sdk/p-c0cb5bb1.entry.js +0 -2
  235. package/dist/searchcraft-javascript-sdk/p-c0cb5bb1.entry.js.map +0 -1
  236. package/dist/searchcraft-javascript-sdk/p-e1255160.js +0 -2
  237. package/dist/searchcraft-javascript-sdk/p-e1255160.js.map +0 -1
  238. /package/dist/{esm → searchcraft-javascript-sdk}/app-globals-0f993ce5.js +0 -0
  239. /package/dist/{esm → searchcraft-javascript-sdk}/app-globals-0f993ce5.js.map +0 -0
@@ -26,19 +26,28 @@ export namespace Components {
26
26
  "rightToLeftOrientation": boolean;
27
27
  }
28
28
  interface SearchcraftBaseSearchResult {
29
- "buttonCallbackFn": () => void;
30
- "buttonLabel": string;
31
- "callbackFn": () => void;
32
- "imageAltText": string;
33
- "imageSrc": string;
34
- "interactiveResult": boolean;
35
- "keyDownCallbackFn": () => void;
36
- "resultBodyContent": string;
37
- "resultHeading": string;
38
- "resultSubheading": string;
39
- "theme": 'light' | 'dark';
29
+ "buttonText": string;
30
+ "customStyles": string;
31
+ "headingText": string;
32
+ "imageDescription": string;
33
+ "imageSource": string;
34
+ "isInteractive": boolean;
35
+ "primaryContent": string;
36
+ "secondaryContent": string;
37
+ "subheadingText": string;
38
+ "tertiaryContent": string;
39
+ "themeMode": 'light' | 'dark';
40
40
  }
41
41
  interface SearchcraftBaseSearchResults {
42
+ /**
43
+ * Custom styles to apply to search results. Expected format: JSON string, e.g., '{"borderRadius": "10px", "padding": "16px"}'
44
+ */
45
+ "customStylesForResults": | string
46
+ | Record<string, Record<string, string>>;
47
+ /**
48
+ * Array of keys to dynamically extract properties from each document. Must be explicitly set by the parent component.
49
+ */
50
+ "searchKeys": string;
42
51
  }
43
52
  interface SearchcraftButton {
44
53
  "iconElement"?: Element;
@@ -112,6 +121,10 @@ export interface SearchcraftBaseSearchFormCustomEvent<T> extends CustomEvent<T>
112
121
  detail: T;
113
122
  target: HTMLSearchcraftBaseSearchFormElement;
114
123
  }
124
+ export interface SearchcraftBaseSearchResultCustomEvent<T> extends CustomEvent<T> {
125
+ detail: T;
126
+ target: HTMLSearchcraftBaseSearchResultElement;
127
+ }
115
128
  export interface SearchcraftButtonCustomEvent<T> extends CustomEvent<T> {
116
129
  detail: T;
117
130
  target: HTMLSearchcraftButtonElement;
@@ -159,7 +172,20 @@ declare global {
159
172
  prototype: HTMLSearchcraftBaseSearchFormElement;
160
173
  new (): HTMLSearchcraftBaseSearchFormElement;
161
174
  };
175
+ interface HTMLSearchcraftBaseSearchResultElementEventMap {
176
+ "buttonCallback": any;
177
+ "keyDownCallback": any;
178
+ "resultCallback": any;
179
+ }
162
180
  interface HTMLSearchcraftBaseSearchResultElement extends Components.SearchcraftBaseSearchResult, HTMLStencilElement {
181
+ addEventListener<K extends keyof HTMLSearchcraftBaseSearchResultElementEventMap>(type: K, listener: (this: HTMLSearchcraftBaseSearchResultElement, ev: SearchcraftBaseSearchResultCustomEvent<HTMLSearchcraftBaseSearchResultElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
182
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
183
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
184
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
185
+ removeEventListener<K extends keyof HTMLSearchcraftBaseSearchResultElementEventMap>(type: K, listener: (this: HTMLSearchcraftBaseSearchResultElement, ev: SearchcraftBaseSearchResultCustomEvent<HTMLSearchcraftBaseSearchResultElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
186
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
187
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
188
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
163
189
  }
164
190
  var HTMLSearchcraftBaseSearchResultElement: {
165
191
  prototype: HTMLSearchcraftBaseSearchResultElement;
@@ -317,19 +343,31 @@ declare namespace LocalJSX {
317
343
  "rightToLeftOrientation"?: boolean;
318
344
  }
319
345
  interface SearchcraftBaseSearchResult {
320
- "buttonCallbackFn"?: () => void;
321
- "buttonLabel"?: string;
322
- "callbackFn"?: () => void;
323
- "imageAltText"?: string;
324
- "imageSrc"?: string;
325
- "interactiveResult"?: boolean;
326
- "keyDownCallbackFn"?: () => void;
327
- "resultBodyContent"?: string;
328
- "resultHeading"?: string;
329
- "resultSubheading"?: string;
330
- "theme"?: 'light' | 'dark';
346
+ "buttonText"?: string;
347
+ "customStyles"?: string;
348
+ "headingText"?: string;
349
+ "imageDescription"?: string;
350
+ "imageSource"?: string;
351
+ "isInteractive"?: boolean;
352
+ "onButtonCallback"?: (event: SearchcraftBaseSearchResultCustomEvent<any>) => void;
353
+ "onKeyDownCallback"?: (event: SearchcraftBaseSearchResultCustomEvent<any>) => void;
354
+ "onResultCallback"?: (event: SearchcraftBaseSearchResultCustomEvent<any>) => void;
355
+ "primaryContent"?: string;
356
+ "secondaryContent"?: string;
357
+ "subheadingText"?: string;
358
+ "tertiaryContent"?: string;
359
+ "themeMode"?: 'light' | 'dark';
331
360
  }
332
361
  interface SearchcraftBaseSearchResults {
362
+ /**
363
+ * Custom styles to apply to search results. Expected format: JSON string, e.g., '{"borderRadius": "10px", "padding": "16px"}'
364
+ */
365
+ "customStylesForResults"?: | string
366
+ | Record<string, Record<string, string>>;
367
+ /**
368
+ * Array of keys to dynamically extract properties from each document. Must be explicitly set by the parent component.
369
+ */
370
+ "searchKeys"?: string;
333
371
  }
334
372
  interface SearchcraftButton {
335
373
  "iconElement"?: Element;
@@ -8,5 +8,5 @@
8
8
  * to consume components of this package as outlined in the `README.md`.
9
9
  */
10
10
  export type * from './components';
11
- export { parseCustomStyles } from './utils/utils';
11
+ export { extractDynamicProperties, parseCustomStyles, parseSearchKeys, } from './utils/utils';
12
12
  export { useSearchcraftStore, useThemeStore } from './provider/store';
@@ -1,10 +1,10 @@
1
- import { type SearchError, type SearchResult, type CoreSDK as SearchcraftCore } from '@searchcraft/core';
1
+ import { type CoreSDK as SearchcraftCore, type SearchcraftResponse } from '@searchcraft/core';
2
2
  interface SearchcraftState {
3
3
  query: string;
4
4
  isRequesting: boolean;
5
- searchResults: SearchResult | SearchError | null;
5
+ searchResults: SearchcraftResponse | null;
6
6
  setQuery: (query: string) => void;
7
- setSearchResults: (results: SearchResult | SearchError | null) => void;
7
+ setSearchResults: (results: SearchcraftResponse | null) => void;
8
8
  setIsRequesting: (isRequesting: boolean) => void;
9
9
  search: () => Promise<void>;
10
10
  initialize: (searchcraft: SearchcraftCore, debug?: boolean) => void;
@@ -1,6 +1,4 @@
1
- /**
2
- * Utility function to parse custom styles from a string or object.
3
- * @param styles - Custom styles as a stringified JSON or an object.
4
- * @returns {Record<string, string>} - Parsed styles as an object.
5
- */
6
1
  export declare function parseCustomStyles(styles: string | Record<string, string>): Record<string, string>;
2
+ export declare function parseSearchKeys(searchKeys: string): string[];
3
+ export declare function extractDynamicProperties(document: Record<string, string | number>, keys: string[]): Record<string, string | number>;
4
+ export declare function serializeStyles(styles: Record<string, Record<string, string>>): string;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@searchcraft/javascript-sdk",
3
3
  "private": false,
4
- "version": "0.1.1",
4
+ "version": "0.1.3",
5
5
  "description": "Searchcraft Javascript SDK",
6
6
  "author": "Searchcraft",
7
7
  "license": "Apache-2.0",
@@ -1,7 +0,0 @@
1
- 'use strict';
2
-
3
- const globalScripts = () => {};
4
-
5
- exports.globalScripts = globalScripts;
6
-
7
- //# sourceMappingURL=app-globals-3a1e7e63.js.map
@@ -1 +0,0 @@
1
- {"file":"app-globals-3a1e7e63.js","mappings":";;AAAY,MAAC,aAAa,GAAG,MAAM;;;;","names":[],"sources":["@stencil/core/internal/app-globals"],"sourcesContent":["export const globalScripts = () => {};\n"],"version":3}
@@ -1,84 +0,0 @@
1
- 'use strict';
2
-
3
- var classnames = {exports: {}};
4
-
5
- /*!
6
- Copyright (c) 2018 Jed Watson.
7
- Licensed under the MIT License (MIT), see
8
- http://jedwatson.github.io/classnames
9
- */
10
-
11
- (function (module) {
12
- /* global define */
13
-
14
- (function () {
15
-
16
- var hasOwn = {}.hasOwnProperty;
17
-
18
- function classNames () {
19
- var classes = '';
20
-
21
- for (var i = 0; i < arguments.length; i++) {
22
- var arg = arguments[i];
23
- if (arg) {
24
- classes = appendClass(classes, parseValue(arg));
25
- }
26
- }
27
-
28
- return classes;
29
- }
30
-
31
- function parseValue (arg) {
32
- if (typeof arg === 'string' || typeof arg === 'number') {
33
- return arg;
34
- }
35
-
36
- if (typeof arg !== 'object') {
37
- return '';
38
- }
39
-
40
- if (Array.isArray(arg)) {
41
- return classNames.apply(null, arg);
42
- }
43
-
44
- if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {
45
- return arg.toString();
46
- }
47
-
48
- var classes = '';
49
-
50
- for (var key in arg) {
51
- if (hasOwn.call(arg, key) && arg[key]) {
52
- classes = appendClass(classes, key);
53
- }
54
- }
55
-
56
- return classes;
57
- }
58
-
59
- function appendClass (value, newClass) {
60
- if (!newClass) {
61
- return value;
62
- }
63
-
64
- if (value) {
65
- return value + ' ' + newClass;
66
- }
67
-
68
- return value + newClass;
69
- }
70
-
71
- if (module.exports) {
72
- classNames.default = classNames;
73
- module.exports = classNames;
74
- } else {
75
- window.classNames = classNames;
76
- }
77
- }());
78
- }(classnames));
79
-
80
- const classNames = classnames.exports;
81
-
82
- exports.classNames = classNames;
83
-
84
- //# sourceMappingURL=index-5b0b9d4c.js.map
@@ -1 +0,0 @@
1
- {"file":"index-5b0b9d4c.js","mappings":";;;;;;;;;;;AAKA;AACA;AACA,CAAC,YAAY;AAEb;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,IAAqC,MAAM,CAAC,OAAO,EAAE;AACtD,EAAE,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC;AAClC,EAAE,iBAAiB,UAAU,CAAC;AAC9B,EAAE,MAKM;AACR,EAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;AACjC,EAAE;AACF,CAAC,EAAE;;;;;;;","names":[],"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}