@searchcraft/javascript-sdk 0.10.0 → 0.10.1

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 (76) hide show
  1. package/dist/components/defineCustomElements.js +2 -0
  2. package/dist/components/index.d.ts +238 -120
  3. package/dist/components/index.js +10 -5
  4. package/dist/components/index.js.map +1 -1
  5. package/dist/components/{p-3f63fa14.js → p-0077f677.js} +4 -4
  6. package/dist/components/p-0077f677.js.map +1 -0
  7. package/dist/components/{p-e72d0167.js → p-13e81b5d.js} +3 -3
  8. package/dist/components/p-13e81b5d.js.map +1 -0
  9. package/dist/components/{p-39e70a00.js → p-172a848d.js} +29 -3
  10. package/dist/components/p-172a848d.js.map +1 -0
  11. package/dist/components/{p-f8df3d49.js → p-17c646e2.js} +101 -65
  12. package/dist/components/p-17c646e2.js.map +1 -0
  13. package/dist/components/{p-d361b781.js → p-2be1a382.js} +4 -4
  14. package/dist/components/{p-d361b781.js.map → p-2be1a382.js.map} +1 -1
  15. package/dist/components/{p-c317a36a.js → p-3e65aa91.js} +6 -6
  16. package/dist/components/p-3e65aa91.js.map +1 -0
  17. package/dist/components/{p-8aa0fff5.js → p-5d17ace0.js} +13 -13
  18. package/dist/components/p-5d17ace0.js.map +1 -0
  19. package/dist/components/p-84e2cbd6.js +46 -0
  20. package/dist/components/p-84e2cbd6.js.map +1 -0
  21. package/dist/components/{p-bc9e0e40.js → p-868803f9.js} +3 -3
  22. package/dist/components/{p-bc9e0e40.js.map → p-868803f9.js.map} +1 -1
  23. package/dist/components/{p-34a32648.js → p-a62a2e74.js} +4 -4
  24. package/dist/components/{p-34a32648.js.map → p-a62a2e74.js.map} +1 -1
  25. package/dist/components/searchcraft-ad.js +1 -1
  26. package/dist/components/searchcraft-facet-list.js +1 -1
  27. package/dist/components/searchcraft-filter-panel.js +5 -5
  28. package/dist/components/searchcraft-filter-panel.js.map +1 -1
  29. package/dist/components/searchcraft-input-form.js +1 -1
  30. package/dist/components/searchcraft-pagination.js +1 -1
  31. package/dist/components/searchcraft-pagination.js.map +1 -1
  32. package/dist/components/searchcraft-popover-button.js +95 -3
  33. package/dist/components/searchcraft-popover-button.js.map +1 -1
  34. package/dist/components/searchcraft-popover-footer.d.ts +11 -0
  35. package/dist/components/searchcraft-popover-footer.js +8 -0
  36. package/dist/components/searchcraft-popover-footer.js.map +1 -0
  37. package/dist/components/searchcraft-popover-form.js +34 -24
  38. package/dist/components/searchcraft-popover-form.js.map +1 -1
  39. package/dist/components/searchcraft-popover-list-item.js +1 -1
  40. package/dist/components/searchcraft-popover-list-view.js +1 -1
  41. package/dist/components/searchcraft-results-info.js +1 -8
  42. package/dist/components/searchcraft-results-info.js.map +1 -1
  43. package/dist/components/searchcraft-search-result.js +1 -1
  44. package/dist/components/searchcraft-search-results-per-page.js +1 -1
  45. package/dist/components/searchcraft-search-results-per-page.js.map +1 -1
  46. package/dist/components/searchcraft-search-results.js +3 -3
  47. package/dist/components/searchcraft-search-results.js.map +1 -1
  48. package/dist/components/searchcraft-slider.js +1 -1
  49. package/dist/components/searchcraft-theme.js +2 -2
  50. package/dist/components/searchcraft-theme.js.map +1 -1
  51. package/dist/components/searchcraft-toggle-button.js +1 -1
  52. package/dist/hydrate/index.js +298 -109
  53. package/dist/hydrate/index.mjs +298 -109
  54. package/dist/themes/hologram.css +1 -0
  55. package/dist/themes/hologram.css.map +1 -0
  56. package/dist/types/components/searchcraft-filter-panel/searchcraft-filter-panel.d.ts +4 -3
  57. package/dist/types/components/searchcraft-input-form/searchcraft-input-form.d.ts +4 -3
  58. package/dist/types/components/searchcraft-pagination/searchcraft-pagination.d.ts +4 -3
  59. package/dist/types/components/searchcraft-popover-button/searchcraft-popover-button.d.ts +49 -5
  60. package/dist/types/components/searchcraft-popover-footer/searchcraft-popover-footer.d.ts +13 -0
  61. package/dist/types/components/searchcraft-popover-form/searchcraft-popover-form.d.ts +4 -3
  62. package/dist/types/components/searchcraft-popover-list-item/searchcraft-popover-list-item.d.ts +3 -3
  63. package/dist/types/components/searchcraft-results-info/searchcraft-results-info.d.ts +6 -10
  64. package/dist/types/components/searchcraft-search-result/searchcraft-search-result.d.ts +3 -0
  65. package/dist/types/components/searchcraft-search-results/searchcraft-search-results.d.ts +5 -4
  66. package/dist/types/components/searchcraft-search-results-per-page/searchcraft-search-results-per-page.d.ts +4 -3
  67. package/dist/types/components/searchcraft-theme/searchcraft-theme.d.ts +4 -3
  68. package/dist/types/components.d.ts +231 -120
  69. package/dist/types/store/SearchcraftStore.types.d.ts +3 -0
  70. package/package.json +7 -3
  71. package/dist/components/p-39e70a00.js.map +0 -1
  72. package/dist/components/p-3f63fa14.js.map +0 -1
  73. package/dist/components/p-8aa0fff5.js.map +0 -1
  74. package/dist/components/p-c317a36a.js.map +0 -1
  75. package/dist/components/p-e72d0167.js.map +0 -1
  76. package/dist/components/p-f8df3d49.js.map +0 -1
@@ -5,9 +5,9 @@
5
5
  * It contains typing information for all components that exist in this project.
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
- import { AdClientResponseItem, FilterItem, PopoverResultMappings, ResultsInfoTemplate, SearchClientResponseItem, SearchcraftAdSource, SearchcraftCore, SearchResultTemplate, SearchResultTemplateData } from "@searchcraft/core";
8
+ import { AdClientResponseItem, FilterItem, PopoverButtonTemplate, PopoverResultMappings, ResultsInfoTemplate, SearchClientResponseItem, SearchcraftAdSource, SearchcraftCore, SearchResultTemplate, SearchResultTemplateData } from "@searchcraft/core";
9
9
  import { SearchcraftSelectOption } from "./components/searchcraft-select/searchcraft-select";
10
- export { AdClientResponseItem, FilterItem, PopoverResultMappings, ResultsInfoTemplate, SearchClientResponseItem, SearchcraftAdSource, SearchcraftCore, SearchResultTemplate, SearchResultTemplateData } from "@searchcraft/core";
10
+ export { AdClientResponseItem, FilterItem, PopoverButtonTemplate, PopoverResultMappings, ResultsInfoTemplate, SearchClientResponseItem, SearchcraftAdSource, SearchcraftCore, SearchResultTemplate, SearchResultTemplateData } from "@searchcraft/core";
11
11
  export { SearchcraftSelectOption } from "./components/searchcraft-select/searchcraft-select";
12
12
  export namespace Components {
13
13
  /**
@@ -85,10 +85,10 @@ export namespace Components {
85
85
  }
86
86
  /**
87
87
  * This web component represents a series of filters that allows users to refine and control their search queries by applying various filter criteria.
88
- * @import ```jsx
89
- * // react
88
+ * @react-import ```jsx
90
89
  * import { SearchcraftFilterPanel } from "@searchcraft/react-sdk";
91
- * // vue
90
+ * ```
91
+ * @vue-import ```jsx
92
92
  * import { SearchcraftFilterPanel } from "@searchcraft/vue-sdk";
93
93
  * ```
94
94
  * @js-example ```html
@@ -118,10 +118,10 @@ export namespace Components {
118
118
  /**
119
119
  * This web component provides a user-friendly interface for querying an indexed dataset, enabling users to easily search large collections of data.
120
120
  * It abstracts the complexities of index-based searching, making it accessible to users of all technical levels.
121
- * @import ```jsx
122
- * // react
121
+ * @react-import ```jsx
123
122
  * import { SearchcraftInputForm } from "@searchcraft/react-sdk";
124
- * // vue
123
+ * ```
124
+ * @vue-import ```jsx
125
125
  * import { SearchcraftInputForm } from "@searchcraft/vue-sdk";
126
126
  * ```
127
127
  * @js-example ```html
@@ -172,10 +172,10 @@ export namespace Components {
172
172
  }
173
173
  /**
174
174
  * This web component is designed to facilitate pagination of search results. Once a query is submitted, calculates the number for pages.
175
- * @import ```jsx
176
- * // react
175
+ * @react-import ```jsx
177
176
  * import { SearchcraftPagination } from "@searchcraft/react-sdk";
178
- * // vue
177
+ * ```
178
+ * @vue-import ```jsx
179
179
  * import { SearchcraftPagination } from "@searchcraft/vue-sdk";
180
180
  * ```
181
181
  * @js-example ```html
@@ -192,36 +192,65 @@ export namespace Components {
192
192
  }
193
193
  /**
194
194
  * Renders a button which, when clicked, turns on popover visibility.
195
- * @import ```jsx
196
- * // react
195
+ * @react-import ```jsx
197
196
  * import { SearchcraftPopoverButton } from "@searchcraft/react-sdk";
198
- * // vue
197
+ * ````
198
+ * @vue-import ```jsx
199
199
  * import { SearchcraftPopoverButton } from "@searchcraft/vue-sdk";
200
200
  * ```
201
201
  * @js-example ```html
202
+ * <!-- index.html -->
202
203
  * <searchcraft-popover-button>
203
204
  * Open popover
204
205
  * </searchcraft-popover-button>
205
206
  * ```
207
+ * ```js
208
+ * // index.js
209
+ * const popoverButton = document.querySelector('searchcraft-popover-button');
210
+ * popoverButton.template = (isPopoverVisible, { html }) => html`
211
+ * <span>Click me</span>
212
+ * `;
213
+ * ```
206
214
  * @react-example ```jsx
207
- * <SearchcraftPopoverButton>
215
+ * <SearchcraftPopoverButton
216
+ * template={(isPopoverVisible, { html }) => html`
217
+ * <span>Click me</span>
218
+ * `}
219
+ * >
208
220
  * Open popover
209
221
  * </SearchcraftPopoverButton>
210
222
  * ```
211
223
  * @vue-example ```jsx
212
- * <SearchcraftPopoverButton>
224
+ * <SearchcraftPopoverButton
225
+ * :template={(isPopoverVisible, { html }) => html`
226
+ * <span>Click me</span>
227
+ * `}
228
+ * >
213
229
  * Open popover
214
230
  * </SearchcraftPopoverButton>
215
231
  * ```
216
232
  */
217
233
  interface SearchcraftPopoverButton {
234
+ /**
235
+ * A callback function responsible for rendering the button contents.
236
+ */
237
+ "template"?: PopoverButtonTemplate;
238
+ /**
239
+ * The type of popover button to render.
240
+ */
241
+ "type"?: 'skeuomorphic';
242
+ }
243
+ /**
244
+ * Renders the footer for the searchcraft-popover-form.
245
+ */
246
+ interface SearchcraftPopoverFooter {
218
247
  }
219
248
  /**
220
249
  * This web component is designed to display search results in a popover container that dynamically appears when the user interacts with a search input field, or when a popover-button is pressed.
221
- * @import ```jsx
222
- * // react
250
+ * @react-import ```jsx
223
251
  * import { SearchcraftPopoverForm } from "@searchcraft/react-sdk";
224
- * // vue
252
+ * ```
253
+ * @vue-import ```jsx
225
254
  * import { SearchcraftPopoverForm } from "@searchcraft/vue-sdk";
226
255
  * ```
227
256
  * @js-example ```html
@@ -291,10 +320,10 @@ export namespace Components {
291
320
  }
292
321
  /**
293
322
  * This web component is designed to display the number of results returned from a search query.
294
- * @import ```jsx
295
- * // react
323
+ * @react-import ```jsx
296
324
  * import { SearchcraftResultsInfo } from "@searchcraft/react-sdk";
297
- * // vue
325
+ * ```
326
+ * @vue-import ```jsx
298
327
  * import { SearchcraftResultsInfo } from "@searchcraft/vue-sdk";
299
328
  * ```
300
329
  * @js-example ```html
@@ -314,17 +343,18 @@ export namespace Components {
314
343
  * ${info.range[0]}-${info.range[1]} of ${info.count} results in ${info.responseTime}ms
315
344
  * `}
316
345
  * />
346
+ * ```
317
347
  * @vue-example ```jsx
318
348
  * <SearchcraftResultsInfo
319
349
  * :template={(info, { html }) => html`
320
350
  * ${info.range[0]}-${info.range[1]} of ${info.count} results in ${info.responseTime}ms
321
351
  * `}
322
352
  * />
353
+ * ```
323
354
  */
324
355
  interface SearchcraftResultsInfo {
325
356
  /**
326
357
  * A callback function responsible for rendering the results info.
327
- * @example ```ts resultsInfo.template = html` ${range[0]}-${range[1]} of ${count} results in ${responseTime}ms `; ```
328
358
  */
329
359
  "template"?: ResultsInfoTemplate;
330
360
  }
@@ -348,10 +378,10 @@ export namespace Components {
348
378
  }
349
379
  /**
350
380
  * This web component is responsible for displaying the results of a search query. Once a query is submitted, the component formats and presents an ordered list of the results.
351
- * @import ```jsx
352
- * // react
381
+ * @react-import ```jsx
353
382
  * import { SearchcraftSearchResults } from "@searchcraft/react-sdk";
354
- * // vue
383
+ * ```
384
+ * @vue-import ```jsx
355
385
  * import { SearchcraftSearchResults } from "@searchcraft/vue-sdk";
356
386
  * ```
357
387
  * @js-example ```html
@@ -395,10 +425,10 @@ export namespace Components {
395
425
  }
396
426
  /**
397
427
  * This web component is designed to choose the number of search results displayed.
398
- * @import ```jsx
399
- * // react
428
+ * @react-import ```jsx
400
429
  * import { SearchcraftSearchResultsPerPage } from "@searchcraft/react-sdk";
401
- * // vue
430
+ * ```
431
+ * @vue-import ```jsx
402
432
  * import { SearchcraftSearchResultsPerPage } from "@searchcraft/vue-sdk";
403
433
  * ```
404
434
  * @js-example ```html
@@ -482,10 +512,10 @@ export namespace Components {
482
512
  }
483
513
  /**
484
514
  * This web component adds Searchcraft's built-in css theme to your page. It does not render anything visible, its only function is to manage the css styles on the page.'
485
- * @import ```jsx
486
- * // react
515
+ * @react-import ```jsx
487
516
  * import { SearchcraftTheme } from "@searchcraft/react-sdk";
488
- * // vue
517
+ * ```
518
+ * @vue-import ```jsx
489
519
  * import { SearchcraftTheme } from "@searchcraft/vue-sdk";
490
520
  * ```
491
521
  * @js-example ```html
@@ -617,10 +647,10 @@ declare global {
617
647
  };
618
648
  /**
619
649
  * This web component represents a series of filters that allows users to refine and control their search queries by applying various filter criteria.
620
- * @import ```jsx
621
- * // react
650
+ * @react-import ```jsx
622
651
  * import { SearchcraftFilterPanel } from "@searchcraft/react-sdk";
623
- * // vue
652
+ * ```
653
+ * @vue-import ```jsx
624
654
  * import { SearchcraftFilterPanel } from "@searchcraft/vue-sdk";
625
655
  * ```
626
656
  * @js-example ```html
@@ -655,10 +685,10 @@ declare global {
655
685
  /**
656
686
  * This web component provides a user-friendly interface for querying an indexed dataset, enabling users to easily search large collections of data.
657
687
  * It abstracts the complexities of index-based searching, making it accessible to users of all technical levels.
658
- * @import ```jsx
659
- * // react
688
+ * @react-import ```jsx
660
689
  * import { SearchcraftInputForm } from "@searchcraft/react-sdk";
661
- * // vue
690
+ * ```
691
+ * @vue-import ```jsx
662
692
  * import { SearchcraftInputForm } from "@searchcraft/vue-sdk";
663
693
  * ```
664
694
  * @js-example ```html
@@ -699,10 +729,10 @@ declare global {
699
729
  };
700
730
  /**
701
731
  * This web component is designed to facilitate pagination of search results. Once a query is submitted, calculates the number for pages.
702
- * @import ```jsx
703
- * // react
732
+ * @react-import ```jsx
704
733
  * import { SearchcraftPagination } from "@searchcraft/react-sdk";
705
- * // vue
734
+ * ```
735
+ * @vue-import ```jsx
706
736
  * import { SearchcraftPagination } from "@searchcraft/vue-sdk";
707
737
  * ```
708
738
  * @js-example ```html
@@ -723,24 +753,40 @@ declare global {
723
753
  };
724
754
  /**
725
755
  * Renders a button which, when clicked, turns on popover visibility.
726
- * @import ```jsx
727
- * // react
756
+ * @react-import ```jsx
728
757
  * import { SearchcraftPopoverButton } from "@searchcraft/react-sdk";
729
- * // vue
758
+ * ````
759
+ * @vue-import ```jsx
730
760
  * import { SearchcraftPopoverButton } from "@searchcraft/vue-sdk";
731
761
  * ```
732
762
  * @js-example ```html
763
+ * <!-- index.html -->
733
764
  * <searchcraft-popover-button>
734
765
  * Open popover
735
766
  * </searchcraft-popover-button>
736
767
  * ```
768
+ * ```js
769
+ * // index.js
770
+ * const popoverButton = document.querySelector('searchcraft-popover-button');
771
+ * popoverButton.template = (isPopoverVisible, { html }) => html`
772
+ * <span>Click me</span>
773
+ * `;
774
+ * ```
737
775
  * @react-example ```jsx
738
- * <SearchcraftPopoverButton>
776
+ * <SearchcraftPopoverButton
777
+ * template={(isPopoverVisible, { html }) => html`
778
+ * <span>Click me</span>
779
+ * `}
780
+ * >
739
781
  * Open popover
740
782
  * </SearchcraftPopoverButton>
741
783
  * ```
742
784
  * @vue-example ```jsx
743
- * <SearchcraftPopoverButton>
785
+ * <SearchcraftPopoverButton
786
+ * :template={(isPopoverVisible, { html }) => html`
787
+ * <span>Click me</span>
788
+ * `}
789
+ * >
744
790
  * Open popover
745
791
  * </SearchcraftPopoverButton>
746
792
  * ```
@@ -751,12 +797,21 @@ declare global {
751
797
  prototype: HTMLSearchcraftPopoverButtonElement;
752
798
  new (): HTMLSearchcraftPopoverButtonElement;
753
799
  };
800
+ /**
801
+ * Renders the footer for the searchcraft-popover-form.
802
+ */
803
+ interface HTMLSearchcraftPopoverFooterElement extends Components.SearchcraftPopoverFooter, HTMLStencilElement {
804
+ }
805
+ var HTMLSearchcraftPopoverFooterElement: {
806
+ prototype: HTMLSearchcraftPopoverFooterElement;
807
+ new (): HTMLSearchcraftPopoverFooterElement;
808
+ };
754
809
  /**
755
810
  * This web component is designed to display search results in a popover container that dynamically appears when the user interacts with a search input field, or when a popover-button is pressed.
756
- * @import ```jsx
757
- * // react
811
+ * @react-import ```jsx
758
812
  * import { SearchcraftPopoverForm } from "@searchcraft/react-sdk";
759
- * // vue
813
+ * ```
814
+ * @vue-import ```jsx
760
815
  * import { SearchcraftPopoverForm } from "@searchcraft/vue-sdk";
761
816
  * ```
762
817
  * @js-example ```html
@@ -805,10 +860,10 @@ declare global {
805
860
  };
806
861
  /**
807
862
  * This web component is designed to display the number of results returned from a search query.
808
- * @import ```jsx
809
- * // react
863
+ * @react-import ```jsx
810
864
  * import { SearchcraftResultsInfo } from "@searchcraft/react-sdk";
811
- * // vue
865
+ * ```
866
+ * @vue-import ```jsx
812
867
  * import { SearchcraftResultsInfo } from "@searchcraft/vue-sdk";
813
868
  * ```
814
869
  * @js-example ```html
@@ -828,12 +883,14 @@ declare global {
828
883
  * ${info.range[0]}-${info.range[1]} of ${info.count} results in ${info.responseTime}ms
829
884
  * `}
830
885
  * />
886
+ * ```
831
887
  * @vue-example ```jsx
832
888
  * <SearchcraftResultsInfo
833
889
  * :template={(info, { html }) => html`
834
890
  * ${info.range[0]}-${info.range[1]} of ${info.count} results in ${info.responseTime}ms
835
891
  * `}
836
892
  * />
893
+ * ```
837
894
  */
838
895
  interface HTMLSearchcraftResultsInfoElement extends Components.SearchcraftResultsInfo, HTMLStencilElement {
839
896
  }
@@ -852,10 +909,10 @@ declare global {
852
909
  };
853
910
  /**
854
911
  * This web component is responsible for displaying the results of a search query. Once a query is submitted, the component formats and presents an ordered list of the results.
855
- * @import ```jsx
856
- * // react
912
+ * @react-import ```jsx
857
913
  * import { SearchcraftSearchResults } from "@searchcraft/react-sdk";
858
- * // vue
914
+ * ```
915
+ * @vue-import ```jsx
859
916
  * import { SearchcraftSearchResults } from "@searchcraft/vue-sdk";
860
917
  * ```
861
918
  * @js-example ```html
@@ -899,10 +956,10 @@ declare global {
899
956
  };
900
957
  /**
901
958
  * This web component is designed to choose the number of search results displayed.
902
- * @import ```jsx
903
- * // react
959
+ * @react-import ```jsx
904
960
  * import { SearchcraftSearchResultsPerPage } from "@searchcraft/react-sdk";
905
- * // vue
961
+ * ```
962
+ * @vue-import ```jsx
906
963
  * import { SearchcraftSearchResultsPerPage } from "@searchcraft/vue-sdk";
907
964
  * ```
908
965
  * @js-example ```html
@@ -972,10 +1029,10 @@ declare global {
972
1029
  };
973
1030
  /**
974
1031
  * This web component adds Searchcraft's built-in css theme to your page. It does not render anything visible, its only function is to manage the css styles on the page.'
975
- * @import ```jsx
976
- * // react
1032
+ * @react-import ```jsx
977
1033
  * import { SearchcraftTheme } from "@searchcraft/react-sdk";
978
- * // vue
1034
+ * ```
1035
+ * @vue-import ```jsx
979
1036
  * import { SearchcraftTheme } from "@searchcraft/vue-sdk";
980
1037
  * ```
981
1038
  * @js-example ```html
@@ -1024,6 +1081,7 @@ declare global {
1024
1081
  "searchcraft-input-label": HTMLSearchcraftInputLabelElement;
1025
1082
  "searchcraft-pagination": HTMLSearchcraftPaginationElement;
1026
1083
  "searchcraft-popover-button": HTMLSearchcraftPopoverButtonElement;
1084
+ "searchcraft-popover-footer": HTMLSearchcraftPopoverFooterElement;
1027
1085
  "searchcraft-popover-form": HTMLSearchcraftPopoverFormElement;
1028
1086
  "searchcraft-popover-list-item": HTMLSearchcraftPopoverListItemElement;
1029
1087
  "searchcraft-popover-list-view": HTMLSearchcraftPopoverListViewElement;
@@ -1121,10 +1179,10 @@ declare namespace LocalJSX {
1121
1179
  }
1122
1180
  /**
1123
1181
  * This web component represents a series of filters that allows users to refine and control their search queries by applying various filter criteria.
1124
- * @import ```jsx
1125
- * // react
1182
+ * @react-import ```jsx
1126
1183
  * import { SearchcraftFilterPanel } from "@searchcraft/react-sdk";
1127
- * // vue
1184
+ * ```
1185
+ * @vue-import ```jsx
1128
1186
  * import { SearchcraftFilterPanel } from "@searchcraft/vue-sdk";
1129
1187
  * ```
1130
1188
  * @js-example ```html
@@ -1154,10 +1212,10 @@ declare namespace LocalJSX {
1154
1212
  /**
1155
1213
  * This web component provides a user-friendly interface for querying an indexed dataset, enabling users to easily search large collections of data.
1156
1214
  * It abstracts the complexities of index-based searching, making it accessible to users of all technical levels.
1157
- * @import ```jsx
1158
- * // react
1215
+ * @react-import ```jsx
1159
1216
  * import { SearchcraftInputForm } from "@searchcraft/react-sdk";
1160
- * // vue
1217
+ * ```
1218
+ * @vue-import ```jsx
1161
1219
  * import { SearchcraftInputForm } from "@searchcraft/vue-sdk";
1162
1220
  * ```
1163
1221
  * @js-example ```html
@@ -1220,10 +1278,10 @@ declare namespace LocalJSX {
1220
1278
  }
1221
1279
  /**
1222
1280
  * This web component is designed to facilitate pagination of search results. Once a query is submitted, calculates the number for pages.
1223
- * @import ```jsx
1224
- * // react
1281
+ * @react-import ```jsx
1225
1282
  * import { SearchcraftPagination } from "@searchcraft/react-sdk";
1226
- * // vue
1283
+ * ```
1284
+ * @vue-import ```jsx
1227
1285
  * import { SearchcraftPagination } from "@searchcraft/vue-sdk";
1228
1286
  * ```
1229
1287
  * @js-example ```html
@@ -1240,36 +1298,65 @@ declare namespace LocalJSX {
1240
1298
  }
1241
1299
  /**
1242
1300
  * Renders a button which, when clicked, turns on popover visibility.
1243
- * @import ```jsx
1244
- * // react
1301
+ * @react-import ```jsx
1245
1302
  * import { SearchcraftPopoverButton } from "@searchcraft/react-sdk";
1246
- * // vue
1303
+ * ````
1304
+ * @vue-import ```jsx
1247
1305
  * import { SearchcraftPopoverButton } from "@searchcraft/vue-sdk";
1248
1306
  * ```
1249
1307
  * @js-example ```html
1308
+ * <!-- index.html -->
1250
1309
  * <searchcraft-popover-button>
1251
1310
  * Open popover
1252
1311
  * </searchcraft-popover-button>
1253
1312
  * ```
1313
+ * ```js
1314
+ * // index.js
1315
+ * const popoverButton = document.querySelector('searchcraft-popover-button');
1316
+ * popoverButton.template = (isPopoverVisible, { html }) => html`
1317
+ * <span>Click me</span>
1318
+ * `;
1319
+ * ```
1254
1320
  * @react-example ```jsx
1255
- * <SearchcraftPopoverButton>
1321
+ * <SearchcraftPopoverButton
1322
+ * template={(isPopoverVisible, { html }) => html`
1323
+ * <span>Click me</span>
1324
+ * `}
1325
+ * >
1256
1326
  * Open popover
1257
1327
  * </SearchcraftPopoverButton>
1258
1328
  * ```
1259
1329
  * @vue-example ```jsx
1260
- * <SearchcraftPopoverButton>
1330
+ * <SearchcraftPopoverButton
1331
+ * :template={(isPopoverVisible, { html }) => html`
1332
+ * <span>Click me</span>
1333
+ * `}
1334
+ * >
1261
1335
  * Open popover
1262
1336
  * </SearchcraftPopoverButton>
1263
1337
  * ```
1264
1338
  */
1265
1339
  interface SearchcraftPopoverButton {
1340
+ /**
1341
+ * A callback function responsible for rendering the button contents.
1342
+ */
1343
+ "template"?: PopoverButtonTemplate;
1344
+ /**
1345
+ * The type of popover button to render.
1346
+ */
1347
+ "type"?: 'skeuomorphic';
1348
+ }
1349
+ /**
1350
+ * Renders the footer for the searchcraft-popover-form.
1351
+ */
1352
+ interface SearchcraftPopoverFooter {
1266
1353
  }
1267
1354
  /**
1268
1355
  * This web component is designed to display search results in a popover container that dynamically appears when the user interacts with a search input field, or when a popover-button is pressed.
1269
- * @import ```jsx
1270
- * // react
1356
+ * @react-import ```jsx
1271
1357
  * import { SearchcraftPopoverForm } from "@searchcraft/react-sdk";
1272
- * // vue
1358
+ * ```
1359
+ * @vue-import ```jsx
1273
1360
  * import { SearchcraftPopoverForm } from "@searchcraft/vue-sdk";
1274
1361
  * ```
1275
1362
  * @js-example ```html
@@ -1339,10 +1426,10 @@ declare namespace LocalJSX {
1339
1426
  }
1340
1427
  /**
1341
1428
  * This web component is designed to display the number of results returned from a search query.
1342
- * @import ```jsx
1343
- * // react
1429
+ * @react-import ```jsx
1344
1430
  * import { SearchcraftResultsInfo } from "@searchcraft/react-sdk";
1345
- * // vue
1431
+ * ```
1432
+ * @vue-import ```jsx
1346
1433
  * import { SearchcraftResultsInfo } from "@searchcraft/vue-sdk";
1347
1434
  * ```
1348
1435
  * @js-example ```html
@@ -1362,17 +1449,18 @@ declare namespace LocalJSX {
1362
1449
  * ${info.range[0]}-${info.range[1]} of ${info.count} results in ${info.responseTime}ms
1363
1450
  * `}
1364
1451
  * />
1452
+ * ```
1365
1453
  * @vue-example ```jsx
1366
1454
  * <SearchcraftResultsInfo
1367
1455
  * :template={(info, { html }) => html`
1368
1456
  * ${info.range[0]}-${info.range[1]} of ${info.count} results in ${info.responseTime}ms
1369
1457
  * `}
1370
1458
  * />
1459
+ * ```
1371
1460
  */
1372
1461
  interface SearchcraftResultsInfo {
1373
1462
  /**
1374
1463
  * A callback function responsible for rendering the results info.
1375
- * @example ```ts resultsInfo.template = html` ${range[0]}-${range[1]} of ${count} results in ${responseTime}ms `; ```
1376
1464
  */
1377
1465
  "template"?: ResultsInfoTemplate;
1378
1466
  }
@@ -1396,10 +1484,10 @@ declare namespace LocalJSX {
1396
1484
  }
1397
1485
  /**
1398
1486
  * This web component is responsible for displaying the results of a search query. Once a query is submitted, the component formats and presents an ordered list of the results.
1399
- * @import ```jsx
1400
- * // react
1487
+ * @react-import ```jsx
1401
1488
  * import { SearchcraftSearchResults } from "@searchcraft/react-sdk";
1402
- * // vue
1489
+ * ```
1490
+ * @vue-import ```jsx
1403
1491
  * import { SearchcraftSearchResults } from "@searchcraft/vue-sdk";
1404
1492
  * ```
1405
1493
  * @js-example ```html
@@ -1443,10 +1531,10 @@ declare namespace LocalJSX {
1443
1531
  }
1444
1532
  /**
1445
1533
  * This web component is designed to choose the number of search results displayed.
1446
- * @import ```jsx
1447
- * // react
1534
+ * @react-import ```jsx
1448
1535
  * import { SearchcraftSearchResultsPerPage } from "@searchcraft/react-sdk";
1449
- * // vue
1536
+ * ```
1537
+ * @vue-import ```jsx
1450
1538
  * import { SearchcraftSearchResultsPerPage } from "@searchcraft/vue-sdk";
1451
1539
  * ```
1452
1540
  * @js-example ```html
@@ -1538,10 +1626,10 @@ declare namespace LocalJSX {
1538
1626
  }
1539
1627
  /**
1540
1628
  * This web component adds Searchcraft's built-in css theme to your page. It does not render anything visible, its only function is to manage the css styles on the page.'
1541
- * @import ```jsx
1542
- * // react
1629
+ * @react-import ```jsx
1543
1630
  * import { SearchcraftTheme } from "@searchcraft/react-sdk";
1544
- * // vue
1631
+ * ```
1632
+ * @vue-import ```jsx
1545
1633
  * import { SearchcraftTheme } from "@searchcraft/vue-sdk";
1546
1634
  * ```
1547
1635
  * @js-example ```html
@@ -1583,6 +1671,7 @@ declare namespace LocalJSX {
1583
1671
  "searchcraft-input-label": SearchcraftInputLabel;
1584
1672
  "searchcraft-pagination": SearchcraftPagination;
1585
1673
  "searchcraft-popover-button": SearchcraftPopoverButton;
1674
+ "searchcraft-popover-footer": SearchcraftPopoverFooter;
1586
1675
  "searchcraft-popover-form": SearchcraftPopoverForm;
1587
1676
  "searchcraft-popover-list-item": SearchcraftPopoverListItem;
1588
1677
  "searchcraft-popover-list-view": SearchcraftPopoverListView;
@@ -1636,10 +1725,10 @@ declare module "@stencil/core" {
1636
1725
  "searchcraft-facet-list": LocalJSX.SearchcraftFacetList & JSXBase.HTMLAttributes<HTMLSearchcraftFacetListElement>;
1637
1726
  /**
1638
1727
  * This web component represents a series of filters that allows users to refine and control their search queries by applying various filter criteria.
1639
- * @import ```jsx
1640
- * // react
1728
+ * @react-import ```jsx
1641
1729
  * import { SearchcraftFilterPanel } from "@searchcraft/react-sdk";
1642
- * // vue
1730
+ * ```
1731
+ * @vue-import ```jsx
1643
1732
  * import { SearchcraftFilterPanel } from "@searchcraft/vue-sdk";
1644
1733
  * ```
1645
1734
  * @js-example ```html
@@ -1664,10 +1753,10 @@ declare module "@stencil/core" {
1664
1753
  /**
1665
1754
  * This web component provides a user-friendly interface for querying an indexed dataset, enabling users to easily search large collections of data.
1666
1755
  * It abstracts the complexities of index-based searching, making it accessible to users of all technical levels.
1667
- * @import ```jsx
1668
- * // react
1756
+ * @react-import ```jsx
1669
1757
  * import { SearchcraftInputForm } from "@searchcraft/react-sdk";
1670
- * // vue
1758
+ * ```
1759
+ * @vue-import ```jsx
1671
1760
  * import { SearchcraftInputForm } from "@searchcraft/vue-sdk";
1672
1761
  * ```
1673
1762
  * @js-example ```html
@@ -1690,10 +1779,10 @@ declare module "@stencil/core" {
1690
1779
  "searchcraft-input-label": LocalJSX.SearchcraftInputLabel & JSXBase.HTMLAttributes<HTMLSearchcraftInputLabelElement>;
1691
1780
  /**
1692
1781
  * This web component is designed to facilitate pagination of search results. Once a query is submitted, calculates the number for pages.
1693
- * @import ```jsx
1694
- * // react
1782
+ * @react-import ```jsx
1695
1783
  * import { SearchcraftPagination } from "@searchcraft/react-sdk";
1696
- * // vue
1784
+ * ```
1785
+ * @vue-import ```jsx
1697
1786
  * import { SearchcraftPagination } from "@searchcraft/vue-sdk";
1698
1787
  * ```
1699
1788
  * @js-example ```html
@@ -1709,35 +1798,55 @@ declare module "@stencil/core" {
1709
1798
  "searchcraft-pagination": LocalJSX.SearchcraftPagination & JSXBase.HTMLAttributes<HTMLSearchcraftPaginationElement>;
1710
1799
  /**
1711
1800
  * Renders a button which, when clicked, turns on popover visibility.
1712
- * @import ```jsx
1713
- * // react
1801
+ * @react-import ```jsx
1714
1802
  * import { SearchcraftPopoverButton } from "@searchcraft/react-sdk";
1715
- * // vue
1803
+ * ````
1804
+ * @vue-import ```jsx
1716
1805
  * import { SearchcraftPopoverButton } from "@searchcraft/vue-sdk";
1717
1806
  * ```
1718
1807
  * @js-example ```html
1808
+ * <!-- index.html -->
1719
1809
  * <searchcraft-popover-button>
1720
1810
  * Open popover
1721
1811
  * </searchcraft-popover-button>
1722
1812
  * ```
1813
+ * ```js
1814
+ * // index.js
1815
+ * const popoverButton = document.querySelector('searchcraft-popover-button');
1816
+ * popoverButton.template = (isPopoverVisible, { html }) => html`
1817
+ * <span>Click me</span>
1818
+ * `;
1819
+ * ```
1723
1820
  * @react-example ```jsx
1724
- * <SearchcraftPopoverButton>
1821
+ * <SearchcraftPopoverButton
1822
+ * template={(isPopoverVisible, { html }) => html`
1823
+ * <span>Click me</span>
1824
+ * `}
1825
+ * >
1725
1826
  * Open popover
1726
1827
  * </SearchcraftPopoverButton>
1727
1828
  * ```
1728
1829
  * @vue-example ```jsx
1729
- * <SearchcraftPopoverButton>
1830
+ * <SearchcraftPopoverButton
1831
+ * :template={(isPopoverVisible, { html }) => html`
1832
+ * <span>Click me</span>
1833
+ * `}
1834
+ * >
1730
1835
  * Open popover
1731
1836
  * </SearchcraftPopoverButton>
1732
1837
  * ```
1733
1838
  */
1734
1839
  "searchcraft-popover-button": LocalJSX.SearchcraftPopoverButton & JSXBase.HTMLAttributes<HTMLSearchcraftPopoverButtonElement>;
1840
+ /**
1841
+ * Renders the footer for the searchcraft-popover-form.
1842
+ */
1843
+ "searchcraft-popover-footer": LocalJSX.SearchcraftPopoverFooter & JSXBase.HTMLAttributes<HTMLSearchcraftPopoverFooterElement>;
1735
1844
  /**
1736
1845
  * This web component is designed to display search results in a popover container that dynamically appears when the user interacts with a search input field, or when a popover-button is pressed.
1737
- * @import ```jsx
1738
- * // react
1846
+ * @react-import ```jsx
1739
1847
  * import { SearchcraftPopoverForm } from "@searchcraft/react-sdk";
1740
- * // vue
1848
+ * ```
1849
+ * @vue-import ```jsx
1741
1850
  * import { SearchcraftPopoverForm } from "@searchcraft/vue-sdk";
1742
1851
  * ```
1743
1852
  * @js-example ```html
@@ -1771,10 +1880,10 @@ declare module "@stencil/core" {
1771
1880
  "searchcraft-popover-list-view": LocalJSX.SearchcraftPopoverListView & JSXBase.HTMLAttributes<HTMLSearchcraftPopoverListViewElement>;
1772
1881
  /**
1773
1882
  * This web component is designed to display the number of results returned from a search query.
1774
- * @import ```jsx
1775
- * // react
1883
+ * @react-import ```jsx
1776
1884
  * import { SearchcraftResultsInfo } from "@searchcraft/react-sdk";
1777
- * // vue
1885
+ * ```
1886
+ * @vue-import ```jsx
1778
1887
  * import { SearchcraftResultsInfo } from "@searchcraft/vue-sdk";
1779
1888
  * ```
1780
1889
  * @js-example ```html
@@ -1794,12 +1903,14 @@ declare module "@stencil/core" {
1794
1903
  * ${info.range[0]}-${info.range[1]} of ${info.count} results in ${info.responseTime}ms
1795
1904
  * `}
1796
1905
  * />
1906
+ * ```
1797
1907
  * @vue-example ```jsx
1798
1908
  * <SearchcraftResultsInfo
1799
1909
  * :template={(info, { html }) => html`
1800
1910
  * ${info.range[0]}-${info.range[1]} of ${info.count} results in ${info.responseTime}ms
1801
1911
  * `}
1802
1912
  * />
1913
+ * ```
1803
1914
  */
1804
1915
  "searchcraft-results-info": LocalJSX.SearchcraftResultsInfo & JSXBase.HTMLAttributes<HTMLSearchcraftResultsInfoElement>;
1805
1916
  /**
@@ -1808,10 +1919,10 @@ declare module "@stencil/core" {
1808
1919
  "searchcraft-search-result": LocalJSX.SearchcraftSearchResult & JSXBase.HTMLAttributes<HTMLSearchcraftSearchResultElement>;
1809
1920
  /**
1810
1921
  * This web component is responsible for displaying the results of a search query. Once a query is submitted, the component formats and presents an ordered list of the results.
1811
- * @import ```jsx
1812
- * // react
1922
+ * @react-import ```jsx
1813
1923
  * import { SearchcraftSearchResults } from "@searchcraft/react-sdk";
1814
- * // vue
1924
+ * ```
1925
+ * @vue-import ```jsx
1815
1926
  * import { SearchcraftSearchResults } from "@searchcraft/vue-sdk";
1816
1927
  * ```
1817
1928
  * @js-example ```html
@@ -1850,10 +1961,10 @@ declare module "@stencil/core" {
1850
1961
  "searchcraft-search-results": LocalJSX.SearchcraftSearchResults & JSXBase.HTMLAttributes<HTMLSearchcraftSearchResultsElement>;
1851
1962
  /**
1852
1963
  * This web component is designed to choose the number of search results displayed.
1853
- * @import ```jsx
1854
- * // react
1964
+ * @react-import ```jsx
1855
1965
  * import { SearchcraftSearchResultsPerPage } from "@searchcraft/react-sdk";
1856
- * // vue
1966
+ * ```
1967
+ * @vue-import ```jsx
1857
1968
  * import { SearchcraftSearchResultsPerPage } from "@searchcraft/vue-sdk";
1858
1969
  * ```
1859
1970
  * @js-example ```html
@@ -1886,10 +1997,10 @@ declare module "@stencil/core" {
1886
1997
  "searchcraft-slider": LocalJSX.SearchcraftSlider & JSXBase.HTMLAttributes<HTMLSearchcraftSliderElement>;
1887
1998
  /**
1888
1999
  * This web component adds Searchcraft's built-in css theme to your page. It does not render anything visible, its only function is to manage the css styles on the page.'
1889
- * @import ```jsx
1890
- * // react
2000
+ * @react-import ```jsx
1891
2001
  * import { SearchcraftTheme } from "@searchcraft/react-sdk";
1892
- * // vue
2002
+ * ```
2003
+ * @vue-import ```jsx
1893
2004
  * import { SearchcraftTheme } from "@searchcraft/vue-sdk";
1894
2005
  * ```
1895
2006
  * @js-example ```html