@searchcraft/javascript-sdk 0.1.7 → 0.1.9
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.
- package/dist/cjs/{index-7b49313c.js → index-d0e71432.js} +10 -4
- package/dist/cjs/index-d0e71432.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{searchcraft-auto-search-form_13.cjs.entry.js → searchcraft-auto-search-form_16.cjs.entry.js} +219 -16
- package/dist/cjs/searchcraft-auto-search-form_16.cjs.entry.js.map +1 -0
- package/dist/cjs/searchcraft-base-search-form.cjs.entry.js +3 -3
- package/dist/cjs/searchcraft-button-icon.cjs.entry.js +1 -1
- package/dist/cjs/searchcraft-button.cjs.entry.js +1 -1
- package/dist/cjs/searchcraft-javascript-sdk.cjs.js +2 -2
- package/dist/cjs/{store-3d577aac.js → store-3f6eab7d.js} +110 -42
- package/dist/cjs/store-3f6eab7d.js.map +1 -0
- package/dist/collection/collection-manifest.json +4 -1
- package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.js +7 -4
- package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.js.map +1 -1
- package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js +78 -7
- package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js.map +1 -1
- package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.module.css +4 -0
- package/dist/collection/components/searchcraft-filters-list/searchcraft-filters-list.js +131 -0
- package/dist/collection/components/searchcraft-filters-list/searchcraft-filters-list.js.map +1 -0
- package/dist/collection/components/searchcraft-filters-list/searchcraft-filters-list.module.css +35 -0
- package/dist/collection/components/searchcraft-input/searchcraft-input.js +21 -2
- package/dist/collection/components/searchcraft-input/searchcraft-input.js.map +1 -1
- package/dist/collection/components/searchcraft-slider/searchcraft-slider.js +97 -0
- package/dist/collection/components/searchcraft-slider/searchcraft-slider.js.map +1 -0
- package/dist/collection/components/searchcraft-slider/searchcraft-slider.module.css +75 -0
- package/dist/collection/components/searchcraft-spinner-dark/searchcraft-spinner-dark.js +1 -1
- package/dist/collection/components/searchcraft-spinner-light/searchcraft-spinner-light.js +1 -1
- package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js +79 -0
- package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.js.map +1 -0
- package/dist/collection/components/searchcraft-toggle-button/searchcraft-toggle-button.module.css +38 -0
- package/dist/collection/provider/store.js +35 -2
- package/dist/collection/provider/store.js.map +1 -1
- package/dist/components/index.js +2 -2
- package/dist/components/{p-a3ea7edc.js → p-05cd002d.js} +2 -2
- package/dist/components/{p-a3ea7edc.js.map → p-05cd002d.js.map} +1 -1
- package/dist/components/{p-85d96d9b.js → p-25bd714c.js} +2 -2
- package/dist/components/{p-85d96d9b.js.map → p-25bd714c.js.map} +1 -1
- package/dist/components/{p-62f37242.js → p-37df2122.js} +16 -11
- package/dist/components/p-37df2122.js.map +1 -0
- package/dist/components/{p-f3af2b04.js → p-3cbac2bb.js} +2 -2
- package/dist/components/{p-f3af2b04.js.map → p-3cbac2bb.js.map} +1 -1
- package/dist/components/{p-07fba086.js → p-403f6115.js} +5 -5
- package/dist/components/{p-07fba086.js.map → p-403f6115.js.map} +1 -1
- package/dist/components/{p-04bad430.js → p-50ca3fe4.js} +3 -3
- package/dist/components/{p-04bad430.js.map → p-50ca3fe4.js.map} +1 -1
- package/dist/components/{p-3ea9ba3a.js → p-574e8e3c.js} +3 -3
- package/dist/components/{p-3ea9ba3a.js.map → p-574e8e3c.js.map} +1 -1
- package/dist/components/{p-9c617862.js → p-5aa6335f.js} +110 -42
- package/dist/components/p-5aa6335f.js.map +1 -0
- package/dist/components/{p-d33fdd81.js → p-71dff048.js} +2 -2
- package/dist/components/{p-d33fdd81.js.map → p-71dff048.js.map} +1 -1
- package/dist/components/{p-d73bc01d.js → p-9bb9d6f0.js} +2 -2
- package/dist/components/{p-d73bc01d.js.map → p-9bb9d6f0.js.map} +1 -1
- package/dist/components/{p-c14731ca.js → p-c9629cc3.js} +2 -2
- package/dist/components/{p-c14731ca.js.map → p-c9629cc3.js.map} +1 -1
- package/dist/components/{p-af65953e.js → p-c9cd5533.js} +6 -2
- package/dist/components/p-c9cd5533.js.map +1 -0
- package/dist/components/{p-781a9a8c.js → p-e0e0fc94.js} +3 -3
- package/dist/components/{p-781a9a8c.js.map → p-e0e0fc94.js.map} +1 -1
- package/dist/components/{p-6b1d0cba.js → p-f2e41d24.js} +3 -3
- package/dist/components/{p-6b1d0cba.js.map → p-f2e41d24.js.map} +1 -1
- package/dist/components/searchcraft-auto-search-form.js +20 -17
- package/dist/components/searchcraft-auto-search-form.js.map +1 -1
- package/dist/components/searchcraft-base-search-form.js +14 -14
- package/dist/components/searchcraft-base-search-result.js +1 -1
- package/dist/components/searchcraft-base-search-results.js +45 -8
- package/dist/components/searchcraft-base-search-results.js.map +1 -1
- package/dist/components/searchcraft-button-icon.js +1 -1
- package/dist/components/searchcraft-button.js +1 -1
- package/dist/components/searchcraft-clear-icon-set.js +1 -1
- package/dist/components/searchcraft-clear-input-button.js +1 -1
- package/dist/components/searchcraft-error-message.js +1 -1
- package/dist/components/searchcraft-filters-list.d.ts +11 -0
- package/dist/components/searchcraft-filters-list.js +103 -0
- package/dist/components/searchcraft-filters-list.js.map +1 -0
- package/dist/components/searchcraft-input-caption.js +1 -1
- package/dist/components/searchcraft-input-icon.js +1 -1
- package/dist/components/searchcraft-input-label.js +1 -1
- package/dist/components/searchcraft-input.js +1 -1
- package/dist/components/searchcraft-search-icon-set.js +1 -1
- package/dist/components/searchcraft-slider.d.ts +11 -0
- package/dist/components/searchcraft-slider.js +72 -0
- package/dist/components/searchcraft-slider.js.map +1 -0
- package/dist/components/searchcraft-spinner-dark.js +1 -1
- package/dist/components/searchcraft-spinner-light.js +1 -1
- package/dist/components/searchcraft-toggle-button.d.ts +11 -0
- package/dist/components/searchcraft-toggle-button.js +71 -0
- package/dist/components/searchcraft-toggle-button.js.map +1 -0
- package/dist/esm/{index-e4a4f86d.js → index-92040c37.js} +10 -4
- package/dist/esm/index-92040c37.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{searchcraft-auto-search-form_13.entry.js → searchcraft-auto-search-form_16.entry.js} +217 -17
- package/dist/esm/searchcraft-auto-search-form_16.entry.js.map +1 -0
- package/dist/esm/searchcraft-base-search-form.entry.js +3 -3
- package/dist/esm/searchcraft-button-icon.entry.js +1 -1
- package/dist/esm/searchcraft-button.entry.js +1 -1
- package/dist/esm/searchcraft-javascript-sdk.js +3 -3
- package/dist/esm/{store-03dc618f.js → store-5f6f8445.js} +110 -42
- package/dist/esm/store-5f6f8445.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/index.esm.js +1 -1
- package/dist/searchcraft-javascript-sdk/{p-6a17384e.entry.js → p-02f632b6.entry.js} +2 -2
- package/dist/searchcraft-javascript-sdk/{p-e6f6972c.js → p-05369654.js} +3 -3
- package/dist/searchcraft-javascript-sdk/p-05369654.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/p-5aa6335f.js +11 -0
- package/dist/searchcraft-javascript-sdk/p-5aa6335f.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/p-639d019b.entry.js +2 -0
- package/dist/searchcraft-javascript-sdk/{p-6c825f8c.entry.js.map → p-639d019b.entry.js.map} +1 -1
- package/dist/searchcraft-javascript-sdk/p-73265750.entry.js +2 -0
- package/dist/searchcraft-javascript-sdk/p-73265750.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/{p-98eab6f9.entry.js → p-81eaebdc.entry.js} +2 -2
- package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js +1 -1
- package/dist/searchcraft-javascript-sdk/searchcraft-javascript-sdk.esm.js.map +1 -1
- package/dist/types/components/searchcraft-auto-search-form/searchcraft-auto-search-form.d.ts +1 -0
- package/dist/types/components/searchcraft-base-search-results/searchcraft-base-search-results.d.ts +3 -15
- package/dist/types/components/searchcraft-filters-list/searchcraft-filters-list.d.ts +23 -0
- package/dist/types/components/searchcraft-input/searchcraft-input.d.ts +2 -0
- package/dist/types/components/searchcraft-slider/searchcraft-slider.d.ts +11 -0
- package/dist/types/components/searchcraft-toggle-button/searchcraft-toggle-button.d.ts +12 -0
- package/dist/types/components.d.ts +75 -24
- package/dist/types/provider/store.d.ts +17 -5
- package/package.json +1 -1
- package/dist/cjs/index-7b49313c.js.map +0 -1
- package/dist/cjs/searchcraft-auto-search-form_13.cjs.entry.js.map +0 -1
- package/dist/cjs/store-3d577aac.js.map +0 -1
- package/dist/components/p-62f37242.js.map +0 -1
- package/dist/components/p-9c617862.js.map +0 -1
- package/dist/components/p-af65953e.js.map +0 -1
- package/dist/esm/index-e4a4f86d.js.map +0 -1
- package/dist/esm/searchcraft-auto-search-form_13.entry.js.map +0 -1
- package/dist/esm/store-03dc618f.js.map +0 -1
- package/dist/searchcraft-javascript-sdk/p-6c825f8c.entry.js +0 -2
- package/dist/searchcraft-javascript-sdk/p-9c617862.js +0 -11
- package/dist/searchcraft-javascript-sdk/p-9c617862.js.map +0 -1
- package/dist/searchcraft-javascript-sdk/p-e6f6972c.js.map +0 -1
- package/dist/searchcraft-javascript-sdk/p-f77e9c21.entry.js +0 -2
- package/dist/searchcraft-javascript-sdk/p-f77e9c21.entry.js.map +0 -1
- /package/dist/searchcraft-javascript-sdk/{p-6a17384e.entry.js.map → p-02f632b6.entry.js.map} +0 -0
- /package/dist/searchcraft-javascript-sdk/{p-98eab6f9.entry.js.map → p-81eaebdc.entry.js.map} +0 -0
|
@@ -41,22 +41,12 @@ export namespace Components {
|
|
|
41
41
|
"themeMode": 'light' | 'dark';
|
|
42
42
|
}
|
|
43
43
|
interface SearchcraftBaseSearchResults {
|
|
44
|
-
/**
|
|
45
|
-
* Place ad every N results (e.g., every 4 results). Default value: 4
|
|
46
|
-
*/
|
|
47
44
|
"adInterval": number;
|
|
48
|
-
/**
|
|
49
|
-
* Custom styles to apply to search results. Expected format: JSON string, e.g., '{"borderRadius": "10px", "padding": "16px"}'
|
|
50
|
-
*/
|
|
51
45
|
"customStylesForResults": | string
|
|
52
46
|
| Record<string, Record<string, string>>;
|
|
53
|
-
|
|
54
|
-
* Place ad at the end of the results.
|
|
55
|
-
*/
|
|
47
|
+
"formatTime": boolean;
|
|
56
48
|
"placeAdAtEnd": boolean;
|
|
57
|
-
|
|
58
|
-
* Array of keys to dynamically extract properties from each document. Must be explicitly set by the parent component.
|
|
59
|
-
*/
|
|
49
|
+
"placeAdAtStart": boolean;
|
|
60
50
|
"searchKeys": string;
|
|
61
51
|
}
|
|
62
52
|
interface SearchcraftButton {
|
|
@@ -87,6 +77,9 @@ export namespace Components {
|
|
|
87
77
|
*/
|
|
88
78
|
"theme": 'light' | 'dark';
|
|
89
79
|
}
|
|
80
|
+
interface SearchcraftFiltersList {
|
|
81
|
+
"filters": Array<{ label: string; value: string }>;
|
|
82
|
+
}
|
|
90
83
|
interface SearchcraftInput {
|
|
91
84
|
"customStyles": string | Record<string, string>;
|
|
92
85
|
"error": boolean;
|
|
@@ -131,10 +124,20 @@ export namespace Components {
|
|
|
131
124
|
"type": 'search-light' | 'search-dark' | 'error-light' | 'error-dark';
|
|
132
125
|
"width": number;
|
|
133
126
|
}
|
|
127
|
+
interface SearchcraftSlider {
|
|
128
|
+
"maxYear": number;
|
|
129
|
+
"minYear": number;
|
|
130
|
+
}
|
|
134
131
|
interface SearchcraftSpinnerDark {
|
|
135
132
|
}
|
|
136
133
|
interface SearchcraftSpinnerLight {
|
|
137
134
|
}
|
|
135
|
+
interface SearchcraftToggleButton {
|
|
136
|
+
/**
|
|
137
|
+
* Type of the toggle - determines what it controls 'mode': toggles between 'fuzzy' and 'normal' 'sort': toggles between 'asc' and 'desc'
|
|
138
|
+
*/
|
|
139
|
+
"type": 'mode' | 'sort';
|
|
140
|
+
}
|
|
138
141
|
}
|
|
139
142
|
export interface SearchcraftAutoSearchFormCustomEvent<T> extends CustomEvent<T> {
|
|
140
143
|
detail: T;
|
|
@@ -156,6 +159,10 @@ export interface SearchcraftClearInputButtonCustomEvent<T> extends CustomEvent<T
|
|
|
156
159
|
detail: T;
|
|
157
160
|
target: HTMLSearchcraftClearInputButtonElement;
|
|
158
161
|
}
|
|
162
|
+
export interface SearchcraftFiltersListCustomEvent<T> extends CustomEvent<T> {
|
|
163
|
+
detail: T;
|
|
164
|
+
target: HTMLSearchcraftFiltersListElement;
|
|
165
|
+
}
|
|
159
166
|
export interface SearchcraftInputCustomEvent<T> extends CustomEvent<T> {
|
|
160
167
|
detail: T;
|
|
161
168
|
target: HTMLSearchcraftInputElement;
|
|
@@ -272,9 +279,27 @@ declare global {
|
|
|
272
279
|
prototype: HTMLSearchcraftErrorMessageElement;
|
|
273
280
|
new (): HTMLSearchcraftErrorMessageElement;
|
|
274
281
|
};
|
|
282
|
+
interface HTMLSearchcraftFiltersListElementEventMap {
|
|
283
|
+
"filtersUpdated": string[];
|
|
284
|
+
}
|
|
285
|
+
interface HTMLSearchcraftFiltersListElement extends Components.SearchcraftFiltersList, HTMLStencilElement {
|
|
286
|
+
addEventListener<K extends keyof HTMLSearchcraftFiltersListElementEventMap>(type: K, listener: (this: HTMLSearchcraftFiltersListElement, ev: SearchcraftFiltersListCustomEvent<HTMLSearchcraftFiltersListElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
287
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
288
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
289
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
290
|
+
removeEventListener<K extends keyof HTMLSearchcraftFiltersListElementEventMap>(type: K, listener: (this: HTMLSearchcraftFiltersListElement, ev: SearchcraftFiltersListCustomEvent<HTMLSearchcraftFiltersListElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
291
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
292
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
293
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
294
|
+
}
|
|
295
|
+
var HTMLSearchcraftFiltersListElement: {
|
|
296
|
+
prototype: HTMLSearchcraftFiltersListElement;
|
|
297
|
+
new (): HTMLSearchcraftFiltersListElement;
|
|
298
|
+
};
|
|
275
299
|
interface HTMLSearchcraftInputElementEventMap {
|
|
276
300
|
"clearInput": void;
|
|
277
301
|
"searchInputChange": string;
|
|
302
|
+
"inputKeyUp": string;
|
|
278
303
|
}
|
|
279
304
|
interface HTMLSearchcraftInputElement extends Components.SearchcraftInput, HTMLStencilElement {
|
|
280
305
|
addEventListener<K extends keyof HTMLSearchcraftInputElementEventMap>(type: K, listener: (this: HTMLSearchcraftInputElement, ev: SearchcraftInputCustomEvent<HTMLSearchcraftInputElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
@@ -314,6 +339,12 @@ declare global {
|
|
|
314
339
|
prototype: HTMLSearchcraftSearchIconSetElement;
|
|
315
340
|
new (): HTMLSearchcraftSearchIconSetElement;
|
|
316
341
|
};
|
|
342
|
+
interface HTMLSearchcraftSliderElement extends Components.SearchcraftSlider, HTMLStencilElement {
|
|
343
|
+
}
|
|
344
|
+
var HTMLSearchcraftSliderElement: {
|
|
345
|
+
prototype: HTMLSearchcraftSliderElement;
|
|
346
|
+
new (): HTMLSearchcraftSliderElement;
|
|
347
|
+
};
|
|
317
348
|
interface HTMLSearchcraftSpinnerDarkElement extends Components.SearchcraftSpinnerDark, HTMLStencilElement {
|
|
318
349
|
}
|
|
319
350
|
var HTMLSearchcraftSpinnerDarkElement: {
|
|
@@ -326,6 +357,12 @@ declare global {
|
|
|
326
357
|
prototype: HTMLSearchcraftSpinnerLightElement;
|
|
327
358
|
new (): HTMLSearchcraftSpinnerLightElement;
|
|
328
359
|
};
|
|
360
|
+
interface HTMLSearchcraftToggleButtonElement extends Components.SearchcraftToggleButton, HTMLStencilElement {
|
|
361
|
+
}
|
|
362
|
+
var HTMLSearchcraftToggleButtonElement: {
|
|
363
|
+
prototype: HTMLSearchcraftToggleButtonElement;
|
|
364
|
+
new (): HTMLSearchcraftToggleButtonElement;
|
|
365
|
+
};
|
|
329
366
|
interface HTMLElementTagNameMap {
|
|
330
367
|
"searchcraft-auto-search-form": HTMLSearchcraftAutoSearchFormElement;
|
|
331
368
|
"searchcraft-base-search-form": HTMLSearchcraftBaseSearchFormElement;
|
|
@@ -336,13 +373,16 @@ declare global {
|
|
|
336
373
|
"searchcraft-clear-icon-set": HTMLSearchcraftClearIconSetElement;
|
|
337
374
|
"searchcraft-clear-input-button": HTMLSearchcraftClearInputButtonElement;
|
|
338
375
|
"searchcraft-error-message": HTMLSearchcraftErrorMessageElement;
|
|
376
|
+
"searchcraft-filters-list": HTMLSearchcraftFiltersListElement;
|
|
339
377
|
"searchcraft-input": HTMLSearchcraftInputElement;
|
|
340
378
|
"searchcraft-input-caption": HTMLSearchcraftInputCaptionElement;
|
|
341
379
|
"searchcraft-input-icon": HTMLSearchcraftInputIconElement;
|
|
342
380
|
"searchcraft-input-label": HTMLSearchcraftInputLabelElement;
|
|
343
381
|
"searchcraft-search-icon-set": HTMLSearchcraftSearchIconSetElement;
|
|
382
|
+
"searchcraft-slider": HTMLSearchcraftSliderElement;
|
|
344
383
|
"searchcraft-spinner-dark": HTMLSearchcraftSpinnerDarkElement;
|
|
345
384
|
"searchcraft-spinner-light": HTMLSearchcraftSpinnerLightElement;
|
|
385
|
+
"searchcraft-toggle-button": HTMLSearchcraftToggleButtonElement;
|
|
346
386
|
}
|
|
347
387
|
}
|
|
348
388
|
declare namespace LocalJSX {
|
|
@@ -384,22 +424,12 @@ declare namespace LocalJSX {
|
|
|
384
424
|
"themeMode"?: 'light' | 'dark';
|
|
385
425
|
}
|
|
386
426
|
interface SearchcraftBaseSearchResults {
|
|
387
|
-
/**
|
|
388
|
-
* Place ad every N results (e.g., every 4 results). Default value: 4
|
|
389
|
-
*/
|
|
390
427
|
"adInterval"?: number;
|
|
391
|
-
/**
|
|
392
|
-
* Custom styles to apply to search results. Expected format: JSON string, e.g., '{"borderRadius": "10px", "padding": "16px"}'
|
|
393
|
-
*/
|
|
394
428
|
"customStylesForResults"?: | string
|
|
395
429
|
| Record<string, Record<string, string>>;
|
|
396
|
-
|
|
397
|
-
* Place ad at the end of the results.
|
|
398
|
-
*/
|
|
430
|
+
"formatTime"?: boolean;
|
|
399
431
|
"placeAdAtEnd"?: boolean;
|
|
400
|
-
|
|
401
|
-
* Array of keys to dynamically extract properties from each document. Must be explicitly set by the parent component.
|
|
402
|
-
*/
|
|
432
|
+
"placeAdAtStart"?: boolean;
|
|
403
433
|
"searchKeys"?: string;
|
|
404
434
|
}
|
|
405
435
|
interface SearchcraftButton {
|
|
@@ -432,6 +462,10 @@ declare namespace LocalJSX {
|
|
|
432
462
|
*/
|
|
433
463
|
"theme"?: 'light' | 'dark';
|
|
434
464
|
}
|
|
465
|
+
interface SearchcraftFiltersList {
|
|
466
|
+
"filters"?: Array<{ label: string; value: string }>;
|
|
467
|
+
"onFiltersUpdated"?: (event: SearchcraftFiltersListCustomEvent<string[]>) => void;
|
|
468
|
+
}
|
|
435
469
|
interface SearchcraftInput {
|
|
436
470
|
"customStyles"?: string | Record<string, string>;
|
|
437
471
|
"error"?: boolean;
|
|
@@ -443,6 +477,7 @@ declare namespace LocalJSX {
|
|
|
443
477
|
"inputIconWidth"?: number;
|
|
444
478
|
"isRequesting"?: boolean;
|
|
445
479
|
"onClearInput"?: (event: SearchcraftInputCustomEvent<void>) => void;
|
|
480
|
+
"onInputKeyUp"?: (event: SearchcraftInputCustomEvent<string>) => void;
|
|
446
481
|
"onSearchInputChange"?: (event: SearchcraftInputCustomEvent<string>) => void;
|
|
447
482
|
"placeholderValue"?: string;
|
|
448
483
|
"query"?: string;
|
|
@@ -478,10 +513,20 @@ declare namespace LocalJSX {
|
|
|
478
513
|
"type"?: 'search-light' | 'search-dark' | 'error-light' | 'error-dark';
|
|
479
514
|
"width"?: number;
|
|
480
515
|
}
|
|
516
|
+
interface SearchcraftSlider {
|
|
517
|
+
"maxYear"?: number;
|
|
518
|
+
"minYear"?: number;
|
|
519
|
+
}
|
|
481
520
|
interface SearchcraftSpinnerDark {
|
|
482
521
|
}
|
|
483
522
|
interface SearchcraftSpinnerLight {
|
|
484
523
|
}
|
|
524
|
+
interface SearchcraftToggleButton {
|
|
525
|
+
/**
|
|
526
|
+
* Type of the toggle - determines what it controls 'mode': toggles between 'fuzzy' and 'normal' 'sort': toggles between 'asc' and 'desc'
|
|
527
|
+
*/
|
|
528
|
+
"type"?: 'mode' | 'sort';
|
|
529
|
+
}
|
|
485
530
|
interface IntrinsicElements {
|
|
486
531
|
"searchcraft-auto-search-form": SearchcraftAutoSearchForm;
|
|
487
532
|
"searchcraft-base-search-form": SearchcraftBaseSearchForm;
|
|
@@ -492,13 +537,16 @@ declare namespace LocalJSX {
|
|
|
492
537
|
"searchcraft-clear-icon-set": SearchcraftClearIconSet;
|
|
493
538
|
"searchcraft-clear-input-button": SearchcraftClearInputButton;
|
|
494
539
|
"searchcraft-error-message": SearchcraftErrorMessage;
|
|
540
|
+
"searchcraft-filters-list": SearchcraftFiltersList;
|
|
495
541
|
"searchcraft-input": SearchcraftInput;
|
|
496
542
|
"searchcraft-input-caption": SearchcraftInputCaption;
|
|
497
543
|
"searchcraft-input-icon": SearchcraftInputIcon;
|
|
498
544
|
"searchcraft-input-label": SearchcraftInputLabel;
|
|
499
545
|
"searchcraft-search-icon-set": SearchcraftSearchIconSet;
|
|
546
|
+
"searchcraft-slider": SearchcraftSlider;
|
|
500
547
|
"searchcraft-spinner-dark": SearchcraftSpinnerDark;
|
|
501
548
|
"searchcraft-spinner-light": SearchcraftSpinnerLight;
|
|
549
|
+
"searchcraft-toggle-button": SearchcraftToggleButton;
|
|
502
550
|
}
|
|
503
551
|
}
|
|
504
552
|
export { LocalJSX as JSX };
|
|
@@ -514,13 +562,16 @@ declare module "@stencil/core" {
|
|
|
514
562
|
"searchcraft-clear-icon-set": LocalJSX.SearchcraftClearIconSet & JSXBase.HTMLAttributes<HTMLSearchcraftClearIconSetElement>;
|
|
515
563
|
"searchcraft-clear-input-button": LocalJSX.SearchcraftClearInputButton & JSXBase.HTMLAttributes<HTMLSearchcraftClearInputButtonElement>;
|
|
516
564
|
"searchcraft-error-message": LocalJSX.SearchcraftErrorMessage & JSXBase.HTMLAttributes<HTMLSearchcraftErrorMessageElement>;
|
|
565
|
+
"searchcraft-filters-list": LocalJSX.SearchcraftFiltersList & JSXBase.HTMLAttributes<HTMLSearchcraftFiltersListElement>;
|
|
517
566
|
"searchcraft-input": LocalJSX.SearchcraftInput & JSXBase.HTMLAttributes<HTMLSearchcraftInputElement>;
|
|
518
567
|
"searchcraft-input-caption": LocalJSX.SearchcraftInputCaption & JSXBase.HTMLAttributes<HTMLSearchcraftInputCaptionElement>;
|
|
519
568
|
"searchcraft-input-icon": LocalJSX.SearchcraftInputIcon & JSXBase.HTMLAttributes<HTMLSearchcraftInputIconElement>;
|
|
520
569
|
"searchcraft-input-label": LocalJSX.SearchcraftInputLabel & JSXBase.HTMLAttributes<HTMLSearchcraftInputLabelElement>;
|
|
521
570
|
"searchcraft-search-icon-set": LocalJSX.SearchcraftSearchIconSet & JSXBase.HTMLAttributes<HTMLSearchcraftSearchIconSetElement>;
|
|
571
|
+
"searchcraft-slider": LocalJSX.SearchcraftSlider & JSXBase.HTMLAttributes<HTMLSearchcraftSliderElement>;
|
|
522
572
|
"searchcraft-spinner-dark": LocalJSX.SearchcraftSpinnerDark & JSXBase.HTMLAttributes<HTMLSearchcraftSpinnerDarkElement>;
|
|
523
573
|
"searchcraft-spinner-light": LocalJSX.SearchcraftSpinnerLight & JSXBase.HTMLAttributes<HTMLSearchcraftSpinnerLightElement>;
|
|
574
|
+
"searchcraft-toggle-button": LocalJSX.SearchcraftToggleButton & JSXBase.HTMLAttributes<HTMLSearchcraftToggleButtonElement>;
|
|
524
575
|
}
|
|
525
576
|
}
|
|
526
577
|
}
|
|
@@ -1,18 +1,30 @@
|
|
|
1
|
-
import { type CoreSDK as SearchcraftCore, type SearchcraftResponse } from '@searchcraft/core';
|
|
1
|
+
import { type CoreSDK as SearchcraftCore, type SearchcraftResponse, type Facets } from '@searchcraft/core';
|
|
2
|
+
interface ThemeState {
|
|
3
|
+
theme: 'light' | 'dark';
|
|
4
|
+
toggleTheme: () => void;
|
|
5
|
+
}
|
|
6
|
+
interface SearchParams {
|
|
7
|
+
mode: 'fuzzy' | 'normal';
|
|
8
|
+
sort: 'asc' | 'desc';
|
|
9
|
+
yearsRange?: [number, number];
|
|
10
|
+
}
|
|
2
11
|
interface SearchcraftState {
|
|
3
12
|
query: string;
|
|
4
13
|
isRequesting: boolean;
|
|
5
14
|
searchResults: SearchcraftResponse | null;
|
|
15
|
+
facets: Facets | null;
|
|
16
|
+
selectedFilters: string[];
|
|
17
|
+
searchParams: SearchParams;
|
|
6
18
|
setQuery: (query: string) => void;
|
|
7
19
|
setSearchResults: (results: SearchcraftResponse | null) => void;
|
|
20
|
+
setFacets: (facets: Facets) => void;
|
|
21
|
+
setSelectedFilters: (filters: string[]) => void;
|
|
8
22
|
setIsRequesting: (isRequesting: boolean) => void;
|
|
23
|
+
setSearchParams: (params: Partial<SearchParams>) => void;
|
|
24
|
+
setYearsRange: (yearsRange: [number, number]) => void;
|
|
9
25
|
search: () => Promise<void>;
|
|
10
26
|
initialize: (searchcraft: SearchcraftCore, debug?: boolean) => void;
|
|
11
27
|
}
|
|
12
|
-
interface ThemeState {
|
|
13
|
-
theme: 'light' | 'dark';
|
|
14
|
-
toggleTheme: () => void;
|
|
15
|
-
}
|
|
16
28
|
declare const useSearchcraftStore: import("zustand").UseBoundStore<import("zustand").StoreApi<SearchcraftState>>;
|
|
17
29
|
declare const useThemeStore: import("zustand").UseBoundStore<import("zustand").StoreApi<ThemeState>>;
|
|
18
30
|
export { useSearchcraftStore, useThemeStore };
|