@searchcraft/javascript-sdk 0.1.8 → 0.2.0
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-6c5282a0.js} +11 -5
- package/dist/cjs/index-6c5282a0.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{searchcraft-auto-search-form_13.cjs.entry.js → searchcraft-auto-search-form_17.cjs.entry.js} +307 -30
- package/dist/cjs/searchcraft-auto-search-form_17.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 +2 -2
- package/dist/cjs/searchcraft-javascript-sdk.cjs.js +2 -2
- package/dist/cjs/{store-3d577aac.js → store-ccdd30e6.js} +102 -39
- package/dist/cjs/store-ccdd30e6.js.map +1 -0
- package/dist/cjs/{utils-39791159.js → utils-bd99e8b0.js} +3 -3
- package/dist/cjs/utils-bd99e8b0.js.map +1 -0
- package/dist/collection/collection-manifest.json +5 -1
- package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.js +35 -9
- package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.js.map +1 -1
- package/dist/collection/components/searchcraft-auto-search-form/searchcraft-auto-search-form.module.css +0 -6
- package/dist/collection/components/searchcraft-base-search-form/searchcraft-base-search-form.js +1 -1
- package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js +2 -2
- package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.js.map +1 -1
- package/dist/collection/components/searchcraft-base-search-result/searchcraft-base-search-result.module.css +13 -6
- package/dist/collection/components/searchcraft-base-search-results/searchcraft-base-search-results.js +43 -9
- 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 +8 -1
- package/dist/collection/components/searchcraft-button/searchcraft-button.js +1 -1
- package/dist/collection/components/searchcraft-clear-input-button/searchcraft-clear-input-button.module.css +2 -2
- package/dist/collection/components/searchcraft-error-message/searchcraft-error-message.js +1 -1
- package/dist/collection/components/searchcraft-filters-list/searchcraft-filters-list.js +155 -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 +70 -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-results-info/searchcraft-results-info.js +51 -0
- package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.js.map +1 -0
- package/dist/collection/components/searchcraft-results-info/searchcraft-results-info.module.css +16 -0
- package/dist/collection/components/searchcraft-slider/searchcraft-slider.js +121 -0
- package/dist/collection/components/searchcraft-slider/searchcraft-slider.js.map +1 -0
- package/dist/collection/components/searchcraft-slider/searchcraft-slider.module.css +77 -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 +92 -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 +31 -0
- package/dist/collection/provider/store.js +31 -2
- package/dist/collection/provider/store.js.map +1 -1
- package/dist/collection/utils/utils.js +2 -2
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/index.js +3 -3
- package/dist/components/{p-85d96d9b.js → p-01c5864b.js} +2 -2
- package/dist/components/{p-85d96d9b.js.map → p-01c5864b.js.map} +1 -1
- package/dist/components/{p-6b1d0cba.js → p-0ef8f141.js} +3 -3
- package/dist/components/{p-6b1d0cba.js.map → p-0ef8f141.js.map} +1 -1
- package/dist/components/{p-c14731ca.js → p-162887a4.js} +3 -3
- package/dist/components/{p-c14731ca.js.map → p-162887a4.js.map} +1 -1
- package/dist/components/{p-3ea9ba3a.js → p-2bff6d1e.js} +4 -4
- package/dist/components/{p-3ea9ba3a.js.map → p-2bff6d1e.js.map} +1 -1
- package/dist/components/{p-04bad430.js → p-2f5acc0e.js} +3 -3
- package/dist/components/{p-04bad430.js.map → p-2f5acc0e.js.map} +1 -1
- package/dist/components/{p-781a9a8c.js → p-42f8a605.js} +3 -3
- package/dist/components/{p-781a9a8c.js.map → p-42f8a605.js.map} +1 -1
- package/dist/components/p-544b2de1.js +86 -0
- package/dist/components/p-544b2de1.js.map +1 -0
- package/dist/components/{p-d73bc01d.js → p-68ad42b5.js} +2 -2
- package/dist/components/{p-d73bc01d.js.map → p-68ad42b5.js.map} +1 -1
- package/dist/components/{p-af65953e.js → p-7498e493.js} +7 -3
- package/dist/components/p-7498e493.js.map +1 -0
- package/dist/components/{p-9c617862.js → p-80ea9602.js} +102 -39
- package/dist/components/p-80ea9602.js.map +1 -0
- package/dist/components/{p-17c94ac1.js → p-aff5cd24.js} +3 -3
- package/dist/components/p-aff5cd24.js.map +1 -0
- package/dist/components/{p-62f37242.js → p-d11d9b1f.js} +17 -12
- package/dist/components/p-d11d9b1f.js.map +1 -0
- package/dist/components/{p-d33fdd81.js → p-ee5e7a8c.js} +2 -2
- package/dist/components/{p-d33fdd81.js.map → p-ee5e7a8c.js.map} +1 -1
- package/dist/components/{p-a3ea7edc.js → p-fc0540e5.js} +2 -2
- package/dist/components/{p-a3ea7edc.js.map → p-fc0540e5.js.map} +1 -1
- package/dist/components/{p-07fba086.js → p-fd1f6c2f.js} +6 -6
- package/dist/components/p-fd1f6c2f.js.map +1 -0
- package/dist/components/searchcraft-auto-search-form.js +35 -23
- 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 +28 -14
- 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 +127 -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-results-info.d.ts +11 -0
- package/dist/components/searchcraft-results-info.js +64 -0
- package/dist/components/searchcraft-results-info.js.map +1 -0
- 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 +96 -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 +84 -0
- package/dist/components/searchcraft-toggle-button.js.map +1 -0
- package/dist/esm/{index-e4a4f86d.js → index-0ac5bb53.js} +11 -5
- package/dist/esm/index-0ac5bb53.js.map +1 -0
- package/dist/esm/index.js +2 -2
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{searchcraft-auto-search-form_13.entry.js → searchcraft-auto-search-form_17.entry.js} +304 -31
- package/dist/esm/searchcraft-auto-search-form_17.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 +2 -2
- package/dist/esm/searchcraft-javascript-sdk.js +3 -3
- package/dist/esm/{store-03dc618f.js → store-311de204.js} +102 -39
- package/dist/esm/store-311de204.js.map +1 -0
- package/dist/esm/{utils-7bff0c78.js → utils-e2076797.js} +3 -3
- package/dist/esm/utils-e2076797.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/index.esm.js +1 -1
- package/dist/searchcraft-javascript-sdk/p-0880cfbb.js +3 -0
- package/dist/searchcraft-javascript-sdk/p-0880cfbb.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/{p-98eab6f9.entry.js → p-5ec960bd.entry.js} +2 -2
- package/dist/searchcraft-javascript-sdk/p-6108dd80.entry.js +2 -0
- package/dist/searchcraft-javascript-sdk/p-6108dd80.entry.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/p-80ea9602.js +11 -0
- package/dist/searchcraft-javascript-sdk/p-80ea9602.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/{p-6c825f8c.entry.js → p-a9bac3ca.entry.js} +2 -2
- package/dist/searchcraft-javascript-sdk/{p-17c94ac1.js → p-aff5cd24.js} +1 -1
- package/dist/searchcraft-javascript-sdk/p-aff5cd24.js.map +1 -0
- package/dist/searchcraft-javascript-sdk/{p-6a17384e.entry.js → p-cc454542.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 +4 -2
- package/dist/types/components/searchcraft-base-search-results/searchcraft-base-search-results.d.ts +3 -1
- package/dist/types/components/searchcraft-filters-list/searchcraft-filters-list.d.ts +30 -0
- package/dist/types/components/searchcraft-input/searchcraft-input.d.ts +2 -0
- package/dist/types/components/searchcraft-results-info/searchcraft-results-info.d.ts +10 -0
- package/dist/types/components/searchcraft-slider/searchcraft-slider.d.ts +17 -0
- package/dist/types/components/searchcraft-toggle-button/searchcraft-toggle-button.d.ts +17 -0
- package/dist/types/components.d.ts +90 -2
- package/dist/types/provider/store.d.ts +17 -5
- package/dist/types/utils/utils.d.ts +1 -1
- 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/cjs/utils-39791159.js.map +0 -1
- package/dist/components/p-07fba086.js.map +0 -1
- package/dist/components/p-17c94ac1.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/components/p-f3af2b04.js +0 -86
- package/dist/components/p-f3af2b04.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/esm/utils-7bff0c78.js.map +0 -1
- package/dist/searchcraft-javascript-sdk/p-17c94ac1.js.map +0 -1
- 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-bc3c001e.entry.js +0 -2
- package/dist/searchcraft-javascript-sdk/p-bc3c001e.entry.js.map +0 -1
- package/dist/searchcraft-javascript-sdk/p-e6f6972c.js +0 -3
- package/dist/searchcraft-javascript-sdk/p-e6f6972c.js.map +0 -1
- /package/dist/searchcraft-javascript-sdk/{p-98eab6f9.entry.js.map → p-5ec960bd.entry.js.map} +0 -0
- /package/dist/searchcraft-javascript-sdk/{p-6c825f8c.entry.js.map → p-a9bac3ca.entry.js.map} +0 -0
- /package/dist/searchcraft-javascript-sdk/{p-6a17384e.entry.js.map → p-cc454542.entry.js.map} +0 -0
package/dist/types/components/searchcraft-auto-search-form/searchcraft-auto-search-form.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
-
import { type CoreConfigSDK } from '@searchcraft/core';
|
|
2
|
+
import { type CoreConfigSDK, type SearchcraftResponse } from '@searchcraft/core';
|
|
3
3
|
import type { ScInputCustomEvent } from "../searchcraft-input/searchcraft-input";
|
|
4
4
|
export declare class SearchcraftAutoSearchForm {
|
|
5
5
|
autoSearchFormClass: string;
|
|
@@ -14,10 +14,11 @@ export declare class SearchcraftAutoSearchForm {
|
|
|
14
14
|
rightToLeftOrientation: boolean;
|
|
15
15
|
searchContainerClass: string;
|
|
16
16
|
querySubmit: EventEmitter<string>;
|
|
17
|
+
inputClearedOrNoResults: EventEmitter<void>;
|
|
17
18
|
error: boolean;
|
|
18
19
|
isRequesting: boolean;
|
|
19
20
|
query: string;
|
|
20
|
-
searchResults:
|
|
21
|
+
searchResults: SearchcraftResponse | null;
|
|
21
22
|
private debounceTimeout;
|
|
22
23
|
private debounceDelay;
|
|
23
24
|
private searchStore;
|
|
@@ -25,6 +26,7 @@ export declare class SearchcraftAutoSearchForm {
|
|
|
25
26
|
componentDidLoad(): void;
|
|
26
27
|
disconnectedCallback(): void;
|
|
27
28
|
handleInputChange: (event: ScInputCustomEvent<string>) => void;
|
|
29
|
+
handleInputKeyUp: (event: ScInputCustomEvent<string>) => void;
|
|
28
30
|
handleClearInput: () => void;
|
|
29
31
|
private runSearch;
|
|
30
32
|
handleFormSubmit: (event: Event) => Promise<void>;
|
package/dist/types/components/searchcraft-base-search-results/searchcraft-base-search-results.d.ts
CHANGED
|
@@ -2,12 +2,14 @@ import type { SearchcraftResponse } from '@searchcraft/core';
|
|
|
2
2
|
export declare class SearchcraftBaseSearchResults {
|
|
3
3
|
query: string;
|
|
4
4
|
searchResults: SearchcraftResponse | null;
|
|
5
|
-
|
|
5
|
+
hasSearched: boolean;
|
|
6
|
+
documentAttributesForDisplay: string;
|
|
6
7
|
customStylesForResults: string | Record<string, Record<string, string>>;
|
|
7
8
|
placeAdAtStart: boolean;
|
|
8
9
|
placeAdAtEnd: boolean;
|
|
9
10
|
adInterval: number;
|
|
10
11
|
formatTime: boolean;
|
|
12
|
+
fallbackElement: HTMLElement | null;
|
|
11
13
|
private unsubscribe;
|
|
12
14
|
componentDidLoad(): void;
|
|
13
15
|
disconnectedCallback(): void;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
import type { Facets } from '@searchcraft/core';
|
|
3
|
+
export declare class SearchcraftFiltersList {
|
|
4
|
+
filters: Array<{
|
|
5
|
+
label: string;
|
|
6
|
+
value: string;
|
|
7
|
+
}>;
|
|
8
|
+
filtersUpdated: EventEmitter<string[]>;
|
|
9
|
+
dynamicFilters: Array<{
|
|
10
|
+
label: string;
|
|
11
|
+
value: string;
|
|
12
|
+
}>;
|
|
13
|
+
initialFilters: Array<{
|
|
14
|
+
label: string;
|
|
15
|
+
value: string;
|
|
16
|
+
}>;
|
|
17
|
+
isRequesting: boolean;
|
|
18
|
+
selectedFilters: Set<string>;
|
|
19
|
+
originalFilterCounts: Record<string, string>;
|
|
20
|
+
query: string;
|
|
21
|
+
resultsCount: number;
|
|
22
|
+
private searchStore;
|
|
23
|
+
unsubscribe: () => void;
|
|
24
|
+
connectedCallback(): void;
|
|
25
|
+
disconnectedCallback(): void;
|
|
26
|
+
populateFiltersFromFacets(facets: Facets): void;
|
|
27
|
+
handleFilterChange: (value: string, checked: boolean) => void;
|
|
28
|
+
formatLabel(label: string): string;
|
|
29
|
+
render(): any;
|
|
30
|
+
}
|
|
@@ -18,9 +18,11 @@ export declare class SearchcraftInput {
|
|
|
18
18
|
query: string;
|
|
19
19
|
clearInput: EventEmitter<void>;
|
|
20
20
|
searchInputChange: EventEmitter<string>;
|
|
21
|
+
inputKeyUp: EventEmitter<string>;
|
|
21
22
|
theme: string;
|
|
22
23
|
private get isLightTheme();
|
|
23
24
|
handleInputChange(event: Event): void;
|
|
25
|
+
handleInputKeyUp(event: KeyboardEvent): void;
|
|
24
26
|
handleClearInput(): void;
|
|
25
27
|
render(): any;
|
|
26
28
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare class SearchcraftSlider {
|
|
2
|
+
minYear: number;
|
|
3
|
+
maxYear: number;
|
|
4
|
+
endYear: number;
|
|
5
|
+
query: string;
|
|
6
|
+
startYear: number;
|
|
7
|
+
hasSearched: boolean;
|
|
8
|
+
unsubscribe: () => void;
|
|
9
|
+
private searchStore;
|
|
10
|
+
resultsCount: number;
|
|
11
|
+
componentDidLoad(): void;
|
|
12
|
+
disconnectedCallback(): void;
|
|
13
|
+
private updateYears;
|
|
14
|
+
private handleStartYearChange;
|
|
15
|
+
private handleEndYearChange;
|
|
16
|
+
render(): any;
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare class SearchcraftToggleButton {
|
|
2
|
+
/**
|
|
3
|
+
* Type of the toggle - determines what it controls
|
|
4
|
+
* 'mode': toggles between 'fuzzy' and 'normal'
|
|
5
|
+
* 'sort': toggles between 'asc' and 'desc'
|
|
6
|
+
*/
|
|
7
|
+
type: 'mode' | 'sort';
|
|
8
|
+
isActive: boolean;
|
|
9
|
+
query: string;
|
|
10
|
+
resultsCount: number;
|
|
11
|
+
private unsubscribe;
|
|
12
|
+
private searchStore;
|
|
13
|
+
componentDidLoad(): void;
|
|
14
|
+
disconnectedCallback(): void;
|
|
15
|
+
private handleToggle;
|
|
16
|
+
render(): any;
|
|
17
|
+
}
|
|
@@ -44,10 +44,11 @@ export namespace Components {
|
|
|
44
44
|
"adInterval": number;
|
|
45
45
|
"customStylesForResults": | string
|
|
46
46
|
| Record<string, Record<string, string>>;
|
|
47
|
+
"documentAttributesForDisplay": string;
|
|
48
|
+
"fallbackElement": HTMLElement | null;
|
|
47
49
|
"formatTime": boolean;
|
|
48
50
|
"placeAdAtEnd": boolean;
|
|
49
51
|
"placeAdAtStart": boolean;
|
|
50
|
-
"searchKeys": string;
|
|
51
52
|
}
|
|
52
53
|
interface SearchcraftButton {
|
|
53
54
|
"iconElement"?: Element;
|
|
@@ -77,6 +78,9 @@ export namespace Components {
|
|
|
77
78
|
*/
|
|
78
79
|
"theme": 'light' | 'dark';
|
|
79
80
|
}
|
|
81
|
+
interface SearchcraftFiltersList {
|
|
82
|
+
"filters": Array<{ label: string; value: string }>;
|
|
83
|
+
}
|
|
80
84
|
interface SearchcraftInput {
|
|
81
85
|
"customStyles": string | Record<string, string>;
|
|
82
86
|
"error": boolean;
|
|
@@ -113,6 +117,8 @@ export namespace Components {
|
|
|
113
117
|
"inputLabelClassName"?: string;
|
|
114
118
|
"label"?: string;
|
|
115
119
|
}
|
|
120
|
+
interface SearchcraftResultsInfo {
|
|
121
|
+
}
|
|
116
122
|
interface SearchcraftSearchIconSet {
|
|
117
123
|
"height": number;
|
|
118
124
|
/**
|
|
@@ -121,10 +127,20 @@ export namespace Components {
|
|
|
121
127
|
"type": 'search-light' | 'search-dark' | 'error-light' | 'error-dark';
|
|
122
128
|
"width": number;
|
|
123
129
|
}
|
|
130
|
+
interface SearchcraftSlider {
|
|
131
|
+
"maxYear": number;
|
|
132
|
+
"minYear": number;
|
|
133
|
+
}
|
|
124
134
|
interface SearchcraftSpinnerDark {
|
|
125
135
|
}
|
|
126
136
|
interface SearchcraftSpinnerLight {
|
|
127
137
|
}
|
|
138
|
+
interface SearchcraftToggleButton {
|
|
139
|
+
/**
|
|
140
|
+
* Type of the toggle - determines what it controls 'mode': toggles between 'fuzzy' and 'normal' 'sort': toggles between 'asc' and 'desc'
|
|
141
|
+
*/
|
|
142
|
+
"type": 'mode' | 'sort';
|
|
143
|
+
}
|
|
128
144
|
}
|
|
129
145
|
export interface SearchcraftAutoSearchFormCustomEvent<T> extends CustomEvent<T> {
|
|
130
146
|
detail: T;
|
|
@@ -146,6 +162,10 @@ export interface SearchcraftClearInputButtonCustomEvent<T> extends CustomEvent<T
|
|
|
146
162
|
detail: T;
|
|
147
163
|
target: HTMLSearchcraftClearInputButtonElement;
|
|
148
164
|
}
|
|
165
|
+
export interface SearchcraftFiltersListCustomEvent<T> extends CustomEvent<T> {
|
|
166
|
+
detail: T;
|
|
167
|
+
target: HTMLSearchcraftFiltersListElement;
|
|
168
|
+
}
|
|
149
169
|
export interface SearchcraftInputCustomEvent<T> extends CustomEvent<T> {
|
|
150
170
|
detail: T;
|
|
151
171
|
target: HTMLSearchcraftInputElement;
|
|
@@ -153,6 +173,7 @@ export interface SearchcraftInputCustomEvent<T> extends CustomEvent<T> {
|
|
|
153
173
|
declare global {
|
|
154
174
|
interface HTMLSearchcraftAutoSearchFormElementEventMap {
|
|
155
175
|
"querySubmit": string;
|
|
176
|
+
"inputClearedOrNoResults": void;
|
|
156
177
|
}
|
|
157
178
|
interface HTMLSearchcraftAutoSearchFormElement extends Components.SearchcraftAutoSearchForm, HTMLStencilElement {
|
|
158
179
|
addEventListener<K extends keyof HTMLSearchcraftAutoSearchFormElementEventMap>(type: K, listener: (this: HTMLSearchcraftAutoSearchFormElement, ev: SearchcraftAutoSearchFormCustomEvent<HTMLSearchcraftAutoSearchFormElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
@@ -262,9 +283,27 @@ declare global {
|
|
|
262
283
|
prototype: HTMLSearchcraftErrorMessageElement;
|
|
263
284
|
new (): HTMLSearchcraftErrorMessageElement;
|
|
264
285
|
};
|
|
286
|
+
interface HTMLSearchcraftFiltersListElementEventMap {
|
|
287
|
+
"filtersUpdated": string[];
|
|
288
|
+
}
|
|
289
|
+
interface HTMLSearchcraftFiltersListElement extends Components.SearchcraftFiltersList, HTMLStencilElement {
|
|
290
|
+
addEventListener<K extends keyof HTMLSearchcraftFiltersListElementEventMap>(type: K, listener: (this: HTMLSearchcraftFiltersListElement, ev: SearchcraftFiltersListCustomEvent<HTMLSearchcraftFiltersListElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
291
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
292
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
293
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
294
|
+
removeEventListener<K extends keyof HTMLSearchcraftFiltersListElementEventMap>(type: K, listener: (this: HTMLSearchcraftFiltersListElement, ev: SearchcraftFiltersListCustomEvent<HTMLSearchcraftFiltersListElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
295
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
296
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
297
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
298
|
+
}
|
|
299
|
+
var HTMLSearchcraftFiltersListElement: {
|
|
300
|
+
prototype: HTMLSearchcraftFiltersListElement;
|
|
301
|
+
new (): HTMLSearchcraftFiltersListElement;
|
|
302
|
+
};
|
|
265
303
|
interface HTMLSearchcraftInputElementEventMap {
|
|
266
304
|
"clearInput": void;
|
|
267
305
|
"searchInputChange": string;
|
|
306
|
+
"inputKeyUp": string;
|
|
268
307
|
}
|
|
269
308
|
interface HTMLSearchcraftInputElement extends Components.SearchcraftInput, HTMLStencilElement {
|
|
270
309
|
addEventListener<K extends keyof HTMLSearchcraftInputElementEventMap>(type: K, listener: (this: HTMLSearchcraftInputElement, ev: SearchcraftInputCustomEvent<HTMLSearchcraftInputElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
@@ -298,12 +337,24 @@ declare global {
|
|
|
298
337
|
prototype: HTMLSearchcraftInputLabelElement;
|
|
299
338
|
new (): HTMLSearchcraftInputLabelElement;
|
|
300
339
|
};
|
|
340
|
+
interface HTMLSearchcraftResultsInfoElement extends Components.SearchcraftResultsInfo, HTMLStencilElement {
|
|
341
|
+
}
|
|
342
|
+
var HTMLSearchcraftResultsInfoElement: {
|
|
343
|
+
prototype: HTMLSearchcraftResultsInfoElement;
|
|
344
|
+
new (): HTMLSearchcraftResultsInfoElement;
|
|
345
|
+
};
|
|
301
346
|
interface HTMLSearchcraftSearchIconSetElement extends Components.SearchcraftSearchIconSet, HTMLStencilElement {
|
|
302
347
|
}
|
|
303
348
|
var HTMLSearchcraftSearchIconSetElement: {
|
|
304
349
|
prototype: HTMLSearchcraftSearchIconSetElement;
|
|
305
350
|
new (): HTMLSearchcraftSearchIconSetElement;
|
|
306
351
|
};
|
|
352
|
+
interface HTMLSearchcraftSliderElement extends Components.SearchcraftSlider, HTMLStencilElement {
|
|
353
|
+
}
|
|
354
|
+
var HTMLSearchcraftSliderElement: {
|
|
355
|
+
prototype: HTMLSearchcraftSliderElement;
|
|
356
|
+
new (): HTMLSearchcraftSliderElement;
|
|
357
|
+
};
|
|
307
358
|
interface HTMLSearchcraftSpinnerDarkElement extends Components.SearchcraftSpinnerDark, HTMLStencilElement {
|
|
308
359
|
}
|
|
309
360
|
var HTMLSearchcraftSpinnerDarkElement: {
|
|
@@ -316,6 +367,12 @@ declare global {
|
|
|
316
367
|
prototype: HTMLSearchcraftSpinnerLightElement;
|
|
317
368
|
new (): HTMLSearchcraftSpinnerLightElement;
|
|
318
369
|
};
|
|
370
|
+
interface HTMLSearchcraftToggleButtonElement extends Components.SearchcraftToggleButton, HTMLStencilElement {
|
|
371
|
+
}
|
|
372
|
+
var HTMLSearchcraftToggleButtonElement: {
|
|
373
|
+
prototype: HTMLSearchcraftToggleButtonElement;
|
|
374
|
+
new (): HTMLSearchcraftToggleButtonElement;
|
|
375
|
+
};
|
|
319
376
|
interface HTMLElementTagNameMap {
|
|
320
377
|
"searchcraft-auto-search-form": HTMLSearchcraftAutoSearchFormElement;
|
|
321
378
|
"searchcraft-base-search-form": HTMLSearchcraftBaseSearchFormElement;
|
|
@@ -326,13 +383,17 @@ declare global {
|
|
|
326
383
|
"searchcraft-clear-icon-set": HTMLSearchcraftClearIconSetElement;
|
|
327
384
|
"searchcraft-clear-input-button": HTMLSearchcraftClearInputButtonElement;
|
|
328
385
|
"searchcraft-error-message": HTMLSearchcraftErrorMessageElement;
|
|
386
|
+
"searchcraft-filters-list": HTMLSearchcraftFiltersListElement;
|
|
329
387
|
"searchcraft-input": HTMLSearchcraftInputElement;
|
|
330
388
|
"searchcraft-input-caption": HTMLSearchcraftInputCaptionElement;
|
|
331
389
|
"searchcraft-input-icon": HTMLSearchcraftInputIconElement;
|
|
332
390
|
"searchcraft-input-label": HTMLSearchcraftInputLabelElement;
|
|
391
|
+
"searchcraft-results-info": HTMLSearchcraftResultsInfoElement;
|
|
333
392
|
"searchcraft-search-icon-set": HTMLSearchcraftSearchIconSetElement;
|
|
393
|
+
"searchcraft-slider": HTMLSearchcraftSliderElement;
|
|
334
394
|
"searchcraft-spinner-dark": HTMLSearchcraftSpinnerDarkElement;
|
|
335
395
|
"searchcraft-spinner-light": HTMLSearchcraftSpinnerLightElement;
|
|
396
|
+
"searchcraft-toggle-button": HTMLSearchcraftToggleButtonElement;
|
|
336
397
|
}
|
|
337
398
|
}
|
|
338
399
|
declare namespace LocalJSX {
|
|
@@ -345,6 +406,7 @@ declare namespace LocalJSX {
|
|
|
345
406
|
"inputIconHeight"?: number;
|
|
346
407
|
"inputIconWidth"?: number;
|
|
347
408
|
"labelForInput"?: string;
|
|
409
|
+
"onInputClearedOrNoResults"?: (event: SearchcraftAutoSearchFormCustomEvent<void>) => void;
|
|
348
410
|
"onQuerySubmit"?: (event: SearchcraftAutoSearchFormCustomEvent<string>) => void;
|
|
349
411
|
"placeholderValue"?: string;
|
|
350
412
|
"rightToLeftOrientation"?: boolean;
|
|
@@ -377,10 +439,11 @@ declare namespace LocalJSX {
|
|
|
377
439
|
"adInterval"?: number;
|
|
378
440
|
"customStylesForResults"?: | string
|
|
379
441
|
| Record<string, Record<string, string>>;
|
|
442
|
+
"documentAttributesForDisplay"?: string;
|
|
443
|
+
"fallbackElement"?: HTMLElement | null;
|
|
380
444
|
"formatTime"?: boolean;
|
|
381
445
|
"placeAdAtEnd"?: boolean;
|
|
382
446
|
"placeAdAtStart"?: boolean;
|
|
383
|
-
"searchKeys"?: string;
|
|
384
447
|
}
|
|
385
448
|
interface SearchcraftButton {
|
|
386
449
|
"iconElement"?: Element;
|
|
@@ -412,6 +475,10 @@ declare namespace LocalJSX {
|
|
|
412
475
|
*/
|
|
413
476
|
"theme"?: 'light' | 'dark';
|
|
414
477
|
}
|
|
478
|
+
interface SearchcraftFiltersList {
|
|
479
|
+
"filters"?: Array<{ label: string; value: string }>;
|
|
480
|
+
"onFiltersUpdated"?: (event: SearchcraftFiltersListCustomEvent<string[]>) => void;
|
|
481
|
+
}
|
|
415
482
|
interface SearchcraftInput {
|
|
416
483
|
"customStyles"?: string | Record<string, string>;
|
|
417
484
|
"error"?: boolean;
|
|
@@ -423,6 +490,7 @@ declare namespace LocalJSX {
|
|
|
423
490
|
"inputIconWidth"?: number;
|
|
424
491
|
"isRequesting"?: boolean;
|
|
425
492
|
"onClearInput"?: (event: SearchcraftInputCustomEvent<void>) => void;
|
|
493
|
+
"onInputKeyUp"?: (event: SearchcraftInputCustomEvent<string>) => void;
|
|
426
494
|
"onSearchInputChange"?: (event: SearchcraftInputCustomEvent<string>) => void;
|
|
427
495
|
"placeholderValue"?: string;
|
|
428
496
|
"query"?: string;
|
|
@@ -450,6 +518,8 @@ declare namespace LocalJSX {
|
|
|
450
518
|
"inputLabelClassName"?: string;
|
|
451
519
|
"label"?: string;
|
|
452
520
|
}
|
|
521
|
+
interface SearchcraftResultsInfo {
|
|
522
|
+
}
|
|
453
523
|
interface SearchcraftSearchIconSet {
|
|
454
524
|
"height"?: number;
|
|
455
525
|
/**
|
|
@@ -458,10 +528,20 @@ declare namespace LocalJSX {
|
|
|
458
528
|
"type"?: 'search-light' | 'search-dark' | 'error-light' | 'error-dark';
|
|
459
529
|
"width"?: number;
|
|
460
530
|
}
|
|
531
|
+
interface SearchcraftSlider {
|
|
532
|
+
"maxYear"?: number;
|
|
533
|
+
"minYear"?: number;
|
|
534
|
+
}
|
|
461
535
|
interface SearchcraftSpinnerDark {
|
|
462
536
|
}
|
|
463
537
|
interface SearchcraftSpinnerLight {
|
|
464
538
|
}
|
|
539
|
+
interface SearchcraftToggleButton {
|
|
540
|
+
/**
|
|
541
|
+
* Type of the toggle - determines what it controls 'mode': toggles between 'fuzzy' and 'normal' 'sort': toggles between 'asc' and 'desc'
|
|
542
|
+
*/
|
|
543
|
+
"type"?: 'mode' | 'sort';
|
|
544
|
+
}
|
|
465
545
|
interface IntrinsicElements {
|
|
466
546
|
"searchcraft-auto-search-form": SearchcraftAutoSearchForm;
|
|
467
547
|
"searchcraft-base-search-form": SearchcraftBaseSearchForm;
|
|
@@ -472,13 +552,17 @@ declare namespace LocalJSX {
|
|
|
472
552
|
"searchcraft-clear-icon-set": SearchcraftClearIconSet;
|
|
473
553
|
"searchcraft-clear-input-button": SearchcraftClearInputButton;
|
|
474
554
|
"searchcraft-error-message": SearchcraftErrorMessage;
|
|
555
|
+
"searchcraft-filters-list": SearchcraftFiltersList;
|
|
475
556
|
"searchcraft-input": SearchcraftInput;
|
|
476
557
|
"searchcraft-input-caption": SearchcraftInputCaption;
|
|
477
558
|
"searchcraft-input-icon": SearchcraftInputIcon;
|
|
478
559
|
"searchcraft-input-label": SearchcraftInputLabel;
|
|
560
|
+
"searchcraft-results-info": SearchcraftResultsInfo;
|
|
479
561
|
"searchcraft-search-icon-set": SearchcraftSearchIconSet;
|
|
562
|
+
"searchcraft-slider": SearchcraftSlider;
|
|
480
563
|
"searchcraft-spinner-dark": SearchcraftSpinnerDark;
|
|
481
564
|
"searchcraft-spinner-light": SearchcraftSpinnerLight;
|
|
565
|
+
"searchcraft-toggle-button": SearchcraftToggleButton;
|
|
482
566
|
}
|
|
483
567
|
}
|
|
484
568
|
export { LocalJSX as JSX };
|
|
@@ -494,13 +578,17 @@ declare module "@stencil/core" {
|
|
|
494
578
|
"searchcraft-clear-icon-set": LocalJSX.SearchcraftClearIconSet & JSXBase.HTMLAttributes<HTMLSearchcraftClearIconSetElement>;
|
|
495
579
|
"searchcraft-clear-input-button": LocalJSX.SearchcraftClearInputButton & JSXBase.HTMLAttributes<HTMLSearchcraftClearInputButtonElement>;
|
|
496
580
|
"searchcraft-error-message": LocalJSX.SearchcraftErrorMessage & JSXBase.HTMLAttributes<HTMLSearchcraftErrorMessageElement>;
|
|
581
|
+
"searchcraft-filters-list": LocalJSX.SearchcraftFiltersList & JSXBase.HTMLAttributes<HTMLSearchcraftFiltersListElement>;
|
|
497
582
|
"searchcraft-input": LocalJSX.SearchcraftInput & JSXBase.HTMLAttributes<HTMLSearchcraftInputElement>;
|
|
498
583
|
"searchcraft-input-caption": LocalJSX.SearchcraftInputCaption & JSXBase.HTMLAttributes<HTMLSearchcraftInputCaptionElement>;
|
|
499
584
|
"searchcraft-input-icon": LocalJSX.SearchcraftInputIcon & JSXBase.HTMLAttributes<HTMLSearchcraftInputIconElement>;
|
|
500
585
|
"searchcraft-input-label": LocalJSX.SearchcraftInputLabel & JSXBase.HTMLAttributes<HTMLSearchcraftInputLabelElement>;
|
|
586
|
+
"searchcraft-results-info": LocalJSX.SearchcraftResultsInfo & JSXBase.HTMLAttributes<HTMLSearchcraftResultsInfoElement>;
|
|
501
587
|
"searchcraft-search-icon-set": LocalJSX.SearchcraftSearchIconSet & JSXBase.HTMLAttributes<HTMLSearchcraftSearchIconSetElement>;
|
|
588
|
+
"searchcraft-slider": LocalJSX.SearchcraftSlider & JSXBase.HTMLAttributes<HTMLSearchcraftSliderElement>;
|
|
502
589
|
"searchcraft-spinner-dark": LocalJSX.SearchcraftSpinnerDark & JSXBase.HTMLAttributes<HTMLSearchcraftSpinnerDarkElement>;
|
|
503
590
|
"searchcraft-spinner-light": LocalJSX.SearchcraftSpinnerLight & JSXBase.HTMLAttributes<HTMLSearchcraftSpinnerLightElement>;
|
|
591
|
+
"searchcraft-toggle-button": LocalJSX.SearchcraftToggleButton & JSXBase.HTMLAttributes<HTMLSearchcraftToggleButtonElement>;
|
|
504
592
|
}
|
|
505
593
|
}
|
|
506
594
|
}
|
|
@@ -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 };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare function parseCustomStyles(styles: string | Record<string, string>): Record<string, string>;
|
|
2
|
-
export declare function parseSearchKeys(
|
|
2
|
+
export declare function parseSearchKeys(documentAttributesForDisplay: string): string[];
|
|
3
3
|
export declare function extractDynamicProperties(document: Record<string, string | number>, keys: string[]): Record<string, string | number>;
|
|
4
4
|
export declare function serializeStyles(styles: Record<string, Record<string, string>>): string;
|