@bridgeline-digital/hawksearch-handlebars-ui 1.0.0-beta.1 → 1.0.0-beta.2
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/{src/assets/images/icons.svg → dist/545f0f75f62e4805198f.svg} +0 -0
- package/{src/assets/images/placeholder.png → dist/c99b7374b9bf579d0fd0.png} +0 -0
- package/dist/components/autocomplete/autocomplete.component.js +100 -0
- package/dist/components/autocomplete/autocomplete.component.js.map +1 -0
- package/{src/components/base.component.ts → dist/components/base.component.js} +81 -120
- package/dist/components/base.component.js.map +1 -0
- package/dist/components/facet-types/base-facet.component.js +93 -0
- package/dist/components/facet-types/base-facet.component.js.map +1 -0
- package/dist/components/facet-types/checkbox-list-facet/checkbox-list-facet.component.js +52 -0
- package/dist/components/facet-types/checkbox-list-facet/checkbox-list-facet.component.js.map +1 -0
- package/dist/components/facet-types/color-facet/color-facet.component.js +26 -0
- package/dist/components/facet-types/color-facet/color-facet.component.js.map +1 -0
- package/{src/components/facet-types/index.ts → dist/components/facet-types/index.js} +7 -6
- package/dist/components/facet-types/index.js.map +1 -0
- package/dist/components/facet-types/linked-list-facet/link-list-facet.component.js +30 -0
- package/dist/components/facet-types/linked-list-facet/link-list-facet.component.js.map +1 -0
- package/dist/components/facet-types/range-slider-facet/range-slider-facet.component.js +92 -0
- package/dist/components/facet-types/range-slider-facet/range-slider-facet.component.js.map +1 -0
- package/dist/components/facet-types/search-within-facet/search-within-facet.component.js +32 -0
- package/dist/components/facet-types/search-within-facet/search-within-facet.component.js.map +1 -0
- package/dist/components/facet-types/size-facet/size-facet.component.js +28 -0
- package/dist/components/facet-types/size-facet/size-facet.component.js.map +1 -0
- package/dist/components/facet-wrapper/facet-wrapper.component.js +51 -0
- package/dist/components/facet-wrapper/facet-wrapper.component.js.map +1 -0
- package/dist/components/facets-list/facets-list.component.js +72 -0
- package/dist/components/facets-list/facets-list.component.js.map +1 -0
- package/{src/components/icon/icon.component.ts → dist/components/icon/icon.component.js} +34 -40
- package/dist/components/icon/icon.component.js.map +1 -0
- package/{src/components/index.ts → dist/components/index.js} +19 -18
- package/dist/components/index.js.map +1 -0
- package/{src/components/modified-query/modified-query.component.ts → dist/components/modified-query/modified-query.component.js} +35 -38
- package/dist/components/modified-query/modified-query.component.js.map +1 -0
- package/dist/components/page-size/page-size.component.js +33 -0
- package/dist/components/page-size/page-size.component.js.map +1 -0
- package/dist/components/pagination/pagination.component.js +84 -0
- package/dist/components/pagination/pagination.component.js.map +1 -0
- package/dist/components/query-suggestions/query-suggestions.component.js +54 -0
- package/dist/components/query-suggestions/query-suggestions.component.js.map +1 -0
- package/{src/components/range-slider/range-slider.component.ts → dist/components/range-slider/range-slider.component.js} +153 -190
- package/dist/components/range-slider/range-slider.component.js.map +1 -0
- package/dist/components/search/search.component.js +73 -0
- package/dist/components/search/search.component.js.map +1 -0
- package/dist/components/search-results/search-results.component.js +17 -0
- package/dist/components/search-results/search-results.component.js.map +1 -0
- package/dist/components/search-results-item/search-results-item.component.js +81 -0
- package/dist/components/search-results-item/search-results-item.component.js.map +1 -0
- package/dist/components/search-results-list/search-results-list.component.js +28 -0
- package/dist/components/search-results-list/search-results-list.component.js.map +1 -0
- package/{src/components/selected-facets/selected-facets.component.ts → dist/components/selected-facets/selected-facets.component.js} +64 -81
- package/dist/components/selected-facets/selected-facets.component.js.map +1 -0
- package/dist/components/sorting/sorting.component.js +31 -0
- package/dist/components/sorting/sorting.component.js.map +1 -0
- package/dist/components/tabs/tabs.component.js +31 -0
- package/dist/components/tabs/tabs.component.js.map +1 -0
- package/{src/components/tooltip/tooltip.component.ts → dist/components/tooltip/tooltip.component.js} +43 -48
- package/dist/components/tooltip/tooltip.component.js.map +1 -0
- package/dist/custom1.html +1 -0
- package/dist/custom2.html +1 -0
- package/dist/handlebars-ui.js +3 -0
- package/dist/handlebars-ui.js.LICENSE.txt +35 -0
- package/dist/handlebars-ui.js.map +1 -0
- package/dist/helpers/formatters.js +12 -0
- package/dist/helpers/formatters.js.map +1 -0
- package/dist/helpers/index.js +2 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/index.html +1 -0
- package/{src/index.ts → dist/index.js} +79 -125
- package/dist/index.js.map +1 -0
- package/dist/models/autocomplete.models.js +2 -0
- package/dist/models/autocomplete.models.js.map +1 -0
- package/dist/models/component.models.js +2 -0
- package/dist/models/component.models.js.map +1 -0
- package/dist/models/global.models.js +2 -0
- package/dist/models/global.models.js.map +1 -0
- package/{src/models/index.ts → dist/models/index.js} +8 -7
- package/dist/models/index.js.map +1 -0
- package/dist/models/raw-autocomplete.models.js +2 -0
- package/dist/models/raw-autocomplete.models.js.map +1 -0
- package/dist/models/raw-search.models.js +2 -0
- package/dist/models/raw-search.models.js.map +1 -0
- package/dist/models/search.models.js +2 -0
- package/dist/models/search.models.js.map +1 -0
- package/dist/models/tracking.models.js +35 -0
- package/dist/models/tracking.models.js.map +1 -0
- package/{src/services/autocomplete.service.ts → dist/services/autocomplete.service.js} +103 -104
- package/dist/services/autocomplete.service.js.map +1 -0
- package/dist/services/base.service.js +83 -0
- package/dist/services/base.service.js.map +1 -0
- package/{src/services/index.ts → dist/services/index.js} +4 -3
- package/dist/services/index.js.map +1 -0
- package/dist/services/search.service.js +608 -0
- package/dist/services/search.service.js.map +1 -0
- package/{src/services/tracking.service.ts → dist/services/tracking.service.js} +115 -136
- package/dist/services/tracking.service.js.map +1 -0
- package/package.json +4 -2
- package/.eslintignore +0 -2
- package/.eslintrc.json +0 -153
- package/.husky/pre-commit +0 -5
- package/.lintstagedrc.json +0 -4
- package/.prettierignore +0 -7
- package/.prettierrc.json +0 -19
- package/.vscode/launch.json +0 -15
- package/custom1.html +0 -52
- package/custom2.html +0 -44
- package/gulpfile.js +0 -73
- package/index.html +0 -39
- package/src/assets/icons/chevron-back.svg +0 -4
- package/src/assets/icons/chevron-down.svg +0 -3
- package/src/assets/icons/chevron-forward.svg +0 -4
- package/src/assets/icons/chevron-left.svg +0 -3
- package/src/assets/icons/chevron-right.svg +0 -3
- package/src/assets/icons/chevron-up.svg +0 -3
- package/src/assets/icons/cross.svg +0 -3
- package/src/assets/icons/help.svg +0 -4
- package/src/assets/icons/minus.svg +0 -3
- package/src/assets/icons/plus.svg +0 -7
- package/src/components/autocomplete/autocomplete.component.hbs +0 -60
- package/src/components/autocomplete/autocomplete.component.ts +0 -124
- package/src/components/facet-types/base-facet.component.ts +0 -114
- package/src/components/facet-types/checkbox-list-facet/checkbox-list-facet.component.hbs +0 -6
- package/src/components/facet-types/checkbox-list-facet/checkbox-list-facet.component.ts +0 -73
- package/src/components/facet-types/checkbox-list-facet/checkbox-list.partial.hbs +0 -42
- package/src/components/facet-types/color-facet/color-facet.component.hbs +0 -29
- package/src/components/facet-types/color-facet/color-facet.component.ts +0 -33
- package/src/components/facet-types/linked-list-facet/link-list-facet.component.hbs +0 -17
- package/src/components/facet-types/linked-list-facet/link-list-facet.component.ts +0 -39
- package/src/components/facet-types/range-slider-facet/range-slider-facet.component.hbs +0 -11
- package/src/components/facet-types/range-slider-facet/range-slider-facet.component.ts +0 -107
- package/src/components/facet-types/search-within-facet/search-within-facet.component.hbs +0 -3
- package/src/components/facet-types/search-within-facet/search-within-facet.component.ts +0 -33
- package/src/components/facet-types/size-facet/size-facet.component.hbs +0 -29
- package/src/components/facet-types/size-facet/size-facet.component.ts +0 -37
- package/src/components/facet-wrapper/facet-wrapper.component.hbs +0 -36
- package/src/components/facet-wrapper/facet-wrapper.component.ts +0 -62
- package/src/components/facets-list/facets-list.component.hbs +0 -11
- package/src/components/facets-list/facets-list.component.ts +0 -92
- package/src/components/icon/icon.component.hbs +0 -3
- package/src/components/modified-query/modified-query.component.hbs +0 -7
- package/src/components/page-size/page-size.component.hbs +0 -7
- package/src/components/page-size/page-size.component.ts +0 -35
- package/src/components/pagination/pagination.component.hbs +0 -34
- package/src/components/pagination/pagination.component.ts +0 -85
- package/src/components/query-suggestions/query-suggestions.component.hbs +0 -3
- package/src/components/query-suggestions/query-suggestions.component.ts +0 -66
- package/src/components/range-slider/range-slider.component.hbs +0 -9
- package/src/components/search/search.component.hbs +0 -4
- package/src/components/search/search.component.ts +0 -93
- package/src/components/search-results/search-results.component.hbs +0 -29
- package/src/components/search-results/search-results.component.ts +0 -17
- package/src/components/search-results-item/search-results-item.component.hbs +0 -23
- package/src/components/search-results-item/search-results-item.component.ts +0 -99
- package/src/components/search-results-list/search-results-list.component.hbs +0 -13
- package/src/components/search-results-list/search-results-list.component.ts +0 -28
- package/src/components/selected-facets/selected-facets.component.hbs +0 -11
- package/src/components/sorting/sorting.component.hbs +0 -7
- package/src/components/sorting/sorting.component.ts +0 -33
- package/src/components/tabs/tabs.component.hbs +0 -5
- package/src/components/tabs/tabs.component.ts +0 -33
- package/src/components/tooltip/tooltip.component.hbs +0 -6
- package/src/helpers/formatters.ts +0 -15
- package/src/helpers/index.ts +0 -1
- package/src/models/autocomplete.models.ts +0 -71
- package/src/models/component.models.ts +0 -27
- package/src/models/global.models.ts +0 -78
- package/src/models/raw-autocomplete.models.ts +0 -46
- package/src/models/raw-search.models.ts +0 -130
- package/src/models/search.models.ts +0 -144
- package/src/models/tracking.models.ts +0 -33
- package/src/scss/components/_autocomplete.scss +0 -55
- package/src/scss/components/_facets.scss +0 -287
- package/src/scss/components/_icons.scss +0 -17
- package/src/scss/components/_modified-query.scss +0 -11
- package/src/scss/components/_page-size.scss +0 -2
- package/src/scss/components/_pagination.scss +0 -23
- package/src/scss/components/_query-suggestions.scss +0 -7
- package/src/scss/components/_range-slider.scss +0 -50
- package/src/scss/components/_search-results-item.scss +0 -64
- package/src/scss/components/_search.scss +0 -4
- package/src/scss/components/_selected-facets.scss +0 -24
- package/src/scss/components/_sorting.scss +0 -2
- package/src/scss/components/_tabs.scss +0 -51
- package/src/scss/components/_tooltips.scss +0 -29
- package/src/scss/general/_forms.scss +0 -82
- package/src/scss/general/_grid-layout.scss +0 -44
- package/src/scss/general/_images.scss +0 -3
- package/src/scss/general/_typography.scss +0 -15
- package/src/scss/hawksearch.scss +0 -35
- package/src/scss/includes/_breakpoints.scss +0 -51
- package/src/scss/includes/_components.scss +0 -14
- package/src/scss/includes/_general.scss +0 -4
- package/src/scss/includes/_reset.scss +0 -203
- package/src/scss/includes/_utility-classes.scss +0 -85
- package/src/services/base.service.ts +0 -93
- package/src/services/search.service.ts +0 -754
- package/tsconfig.json +0 -22
- package/typings.d.ts +0 -21
- package/webpack.config.js +0 -75
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import placeholderUrl from '@assets/images/placeholder.png';
|
|
2
|
+
import { AutocompleteItemType } from '@models';
|
|
3
|
+
import { searchService, trackingService } from '@services';
|
|
4
|
+
import { BaseComponent } from '../base.component';
|
|
5
|
+
import defaultHtml from './autocomplete.component.hbs';
|
|
6
|
+
export class AutocompleteComponent extends BaseComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.bindEvent = 'hawksearch:bind-autocomplete';
|
|
10
|
+
this.customTemplatePropertyName = 'search';
|
|
11
|
+
this.defaultHtml = defaultHtml;
|
|
12
|
+
}
|
|
13
|
+
getContentHtml(template) {
|
|
14
|
+
var _a, _b, _c, _d, _e, _f;
|
|
15
|
+
if (!this.data || !(((_b = (_a = this.data.categories) === null || _a === void 0 ? void 0 : _a.results) === null || _b === void 0 ? void 0 : _b.length) || ((_d = (_c = this.data.content) === null || _c === void 0 ? void 0 : _c.results) === null || _d === void 0 ? void 0 : _d.length) || ((_f = (_e = this.data.products) === null || _e === void 0 ? void 0 : _e.results) === null || _f === void 0 ? void 0 : _f.length))) {
|
|
16
|
+
return '';
|
|
17
|
+
}
|
|
18
|
+
const html = template(Object.assign(Object.assign({}, this.data), { AutocompleteItemType: AutocompleteItemType }));
|
|
19
|
+
return html;
|
|
20
|
+
}
|
|
21
|
+
bindChildElements() {
|
|
22
|
+
var _a, _b, _c, _d, _e, _f;
|
|
23
|
+
(_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('[hawksearch-image]').forEach((e) => {
|
|
24
|
+
e.addEventListener('error', (event) => {
|
|
25
|
+
const element = event.currentTarget;
|
|
26
|
+
element.src = Hawksearch.config.placeholderImageUrl || placeholderUrl;
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
(_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelectorAll('[hawksearch-category-field][hawksearch-category-value]').forEach((e) => {
|
|
30
|
+
e.addEventListener('click', ((event) => {
|
|
31
|
+
var _a, _b;
|
|
32
|
+
event.preventDefault();
|
|
33
|
+
const element = event.currentTarget;
|
|
34
|
+
const field = element.getAttribute('hawksearch-category-field');
|
|
35
|
+
const value = element.getAttribute('hawksearch-category-value');
|
|
36
|
+
const category = (_b = (_a = this.data.categories) === null || _a === void 0 ? void 0 : _a.results) === null || _b === void 0 ? void 0 : _b.find((r) => r.field === field && r.value === value);
|
|
37
|
+
if (!category) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
trackingService.trackAutocompleteClick(this.data.query, AutocompleteItemType.Category, category.title, category.url);
|
|
41
|
+
const facets = {
|
|
42
|
+
[category.field]: [category.value]
|
|
43
|
+
};
|
|
44
|
+
searchService.modifySearch(undefined, facets);
|
|
45
|
+
this.close();
|
|
46
|
+
}));
|
|
47
|
+
});
|
|
48
|
+
(_c = this.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelectorAll('[hawksearch-content]').forEach((e) => {
|
|
49
|
+
e.addEventListener('click', ((event) => {
|
|
50
|
+
var _a, _b;
|
|
51
|
+
const element = event.currentTarget;
|
|
52
|
+
const id = element.getAttribute('hawksearch-content');
|
|
53
|
+
const content = (_b = (_a = this.data.content) === null || _a === void 0 ? void 0 : _a.results) === null || _b === void 0 ? void 0 : _b.find((r) => r.id === id);
|
|
54
|
+
if (!content) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
trackingService.trackAutocompleteClick(this.data.query, AutocompleteItemType.Content, content.title, content.url);
|
|
58
|
+
}));
|
|
59
|
+
});
|
|
60
|
+
(_d = this.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelectorAll('[hawksearch-product]').forEach((e) => {
|
|
61
|
+
e.addEventListener('click', ((event) => {
|
|
62
|
+
var _a, _b;
|
|
63
|
+
const element = event.currentTarget;
|
|
64
|
+
const id = element.getAttribute('hawksearch-product');
|
|
65
|
+
const product = (_b = (_a = this.data.products) === null || _a === void 0 ? void 0 : _a.results) === null || _b === void 0 ? void 0 : _b.find((r) => r.id === id);
|
|
66
|
+
if (!product) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
trackingService.trackAutocompleteClick(this.data.query, AutocompleteItemType.Product, product.title, product.url);
|
|
70
|
+
}));
|
|
71
|
+
});
|
|
72
|
+
(_e = this.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelectorAll('[hawksearch-query]').forEach((e) => {
|
|
73
|
+
e.addEventListener('click', (event) => {
|
|
74
|
+
var _a;
|
|
75
|
+
event.preventDefault();
|
|
76
|
+
const element = event.currentTarget;
|
|
77
|
+
const query = element.getAttribute('hawksearch-query');
|
|
78
|
+
if (!query) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const queryResult = (_a = this.data.queries) === null || _a === void 0 ? void 0 : _a.results.find((q) => q.query === query);
|
|
82
|
+
if (queryResult) {
|
|
83
|
+
trackingService.trackAutocompleteClick(this.data.query, AutocompleteItemType.Search, queryResult.query, queryResult.url);
|
|
84
|
+
}
|
|
85
|
+
searchService.query(query);
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
(_f = this.shadowRoot) === null || _f === void 0 ? void 0 : _f.querySelectorAll('[hawksearch-view-all]').forEach((e) => {
|
|
89
|
+
e.addEventListener('click', (event) => {
|
|
90
|
+
event.preventDefault();
|
|
91
|
+
searchService.query(this.data.query);
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
close() {
|
|
96
|
+
const event = new Event('hawksearch:close-autocomplete');
|
|
97
|
+
this.dispatchEvent(event);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=autocomplete.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autocomplete.component.js","sourceRoot":"","sources":["../../../src/components/autocomplete/autocomplete.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,120 +1,81 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
if (
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
const templateElement = document.createElement('template');
|
|
83
|
-
|
|
84
|
-
templateElement.innerHTML = this.getContentHtml(this.template);
|
|
85
|
-
|
|
86
|
-
const content = templateElement.content.cloneNode(true);
|
|
87
|
-
|
|
88
|
-
elements.push(content);
|
|
89
|
-
|
|
90
|
-
this.shadowRoot?.replaceChildren(...elements);
|
|
91
|
-
|
|
92
|
-
this.bindChildElements();
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
protected abstract getContentHtml(template: HandlebarsTemplateDelegate): string;
|
|
96
|
-
|
|
97
|
-
protected bindChildElements(): void {}
|
|
98
|
-
|
|
99
|
-
private getCustomTemplateHtml(): string | undefined {
|
|
100
|
-
let customTemplate: string | undefined;
|
|
101
|
-
|
|
102
|
-
if (this.hasCustomTemplate) {
|
|
103
|
-
customTemplate = this.innerHTML;
|
|
104
|
-
} else {
|
|
105
|
-
if (this.customTemplatePropertyName) {
|
|
106
|
-
customTemplate = (Hawksearch.templates as any)?.[this.customTemplatePropertyName];
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
if (customTemplate) {
|
|
110
|
-
const customTemplateElement = document.getElementById(customTemplate);
|
|
111
|
-
|
|
112
|
-
if (customTemplateElement instanceof HTMLTemplateElement) {
|
|
113
|
-
customTemplate = customTemplateElement.innerHTML;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
return customTemplate;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
1
|
+
import hawksearchCss from '../scss/hawksearch.scss';
|
|
2
|
+
export class BaseComponent extends HTMLElement {
|
|
3
|
+
constructor() {
|
|
4
|
+
super(...arguments);
|
|
5
|
+
this.handlebars = Hawksearch.handlebars;
|
|
6
|
+
}
|
|
7
|
+
get hasCustomTemplate() {
|
|
8
|
+
return !!this.innerHTML.trim().length;
|
|
9
|
+
}
|
|
10
|
+
connectedCallback() {
|
|
11
|
+
this.attachShadow({
|
|
12
|
+
mode: 'open'
|
|
13
|
+
});
|
|
14
|
+
this.registerHelpers();
|
|
15
|
+
const customTemplateHtml = this.getCustomTemplateHtml();
|
|
16
|
+
const templateHtml = customTemplateHtml !== null && customTemplateHtml !== void 0 ? customTemplateHtml : this.defaultHtml;
|
|
17
|
+
this.template = this.handlebars.compile(templateHtml);
|
|
18
|
+
setTimeout(() => {
|
|
19
|
+
this.renderContent();
|
|
20
|
+
});
|
|
21
|
+
if (this.bindEvent) {
|
|
22
|
+
this.bindEventHandler = ((event) => {
|
|
23
|
+
this.data = event.detail;
|
|
24
|
+
this.renderContent();
|
|
25
|
+
});
|
|
26
|
+
addEventListener(this.bindEvent, this.bindEventHandler);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
disconnectedCallback() {
|
|
30
|
+
if (this.bindEvent && this.bindEventHandler) {
|
|
31
|
+
removeEventListener(this.bindEvent, this.bindEventHandler);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
registerHelpers() { }
|
|
35
|
+
renderContent() {
|
|
36
|
+
var _a;
|
|
37
|
+
if (!this.template) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const elements = [];
|
|
41
|
+
if (Hawksearch.config.defaultStyles !== false) {
|
|
42
|
+
const defaultStyles = document.createElement('style');
|
|
43
|
+
defaultStyles.innerHTML = hawksearchCss;
|
|
44
|
+
elements.push(defaultStyles);
|
|
45
|
+
}
|
|
46
|
+
if (Hawksearch.config.customCssUrl) {
|
|
47
|
+
const customStyles = document.createElement('link');
|
|
48
|
+
customStyles.type = 'text/css';
|
|
49
|
+
customStyles.rel = 'stylesheet';
|
|
50
|
+
customStyles.href = Hawksearch.config.customCssUrl;
|
|
51
|
+
elements.push(customStyles);
|
|
52
|
+
}
|
|
53
|
+
const templateElement = document.createElement('template');
|
|
54
|
+
templateElement.innerHTML = this.getContentHtml(this.template);
|
|
55
|
+
const content = templateElement.content.cloneNode(true);
|
|
56
|
+
elements.push(content);
|
|
57
|
+
(_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.replaceChildren(...elements);
|
|
58
|
+
this.bindChildElements();
|
|
59
|
+
}
|
|
60
|
+
bindChildElements() { }
|
|
61
|
+
getCustomTemplateHtml() {
|
|
62
|
+
var _a;
|
|
63
|
+
let customTemplate;
|
|
64
|
+
if (this.hasCustomTemplate) {
|
|
65
|
+
customTemplate = this.innerHTML;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
if (this.customTemplatePropertyName) {
|
|
69
|
+
customTemplate = (_a = Hawksearch.templates) === null || _a === void 0 ? void 0 : _a[this.customTemplatePropertyName];
|
|
70
|
+
}
|
|
71
|
+
if (customTemplate) {
|
|
72
|
+
const customTemplateElement = document.getElementById(customTemplate);
|
|
73
|
+
if (customTemplateElement instanceof HTMLTemplateElement) {
|
|
74
|
+
customTemplate = customTemplateElement.innerHTML;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return customTemplate;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=base.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.component.js","sourceRoot":"","sources":["../../src/components/base.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { searchService } from '@services';
|
|
2
|
+
import { BaseComponent } from '../base.component';
|
|
3
|
+
export class BaseFacetComponent extends BaseComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.bindEvent = undefined;
|
|
7
|
+
}
|
|
8
|
+
bindChildElements() {
|
|
9
|
+
var _a, _b, _c, _d, _e, _f;
|
|
10
|
+
(_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('input[hawksearch-facet-value]').forEach((e) => {
|
|
11
|
+
e.addEventListener('change', (event) => {
|
|
12
|
+
event.stopPropagation();
|
|
13
|
+
const element = event.currentTarget;
|
|
14
|
+
const field = this.data.field;
|
|
15
|
+
const value = element.value;
|
|
16
|
+
if (element.checked) {
|
|
17
|
+
searchService.addFacetValue(field, value);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
searchService.removeFacetValue(field, value);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
(_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelectorAll('[hawksearch-facet-value]:not(input)').forEach((e) => {
|
|
25
|
+
e.addEventListener('click', (event) => {
|
|
26
|
+
var _a;
|
|
27
|
+
event.preventDefault();
|
|
28
|
+
event.stopPropagation();
|
|
29
|
+
const element = event.currentTarget;
|
|
30
|
+
const value = element.getAttribute('hawksearch-facet-value');
|
|
31
|
+
const facetValue = (_a = this.data.values) === null || _a === void 0 ? void 0 : _a.find((v) => v.value === value);
|
|
32
|
+
if (!facetValue) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (facetValue.selected) {
|
|
36
|
+
searchService.removeFacetValue(this.data.field, value);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
searchService.addFacetValue(this.data.field, value);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
(_c = this.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelectorAll('[hawksearch-facet-value-include]').forEach((e) => {
|
|
44
|
+
e.addEventListener('click', (event) => {
|
|
45
|
+
event.preventDefault();
|
|
46
|
+
event.stopPropagation();
|
|
47
|
+
const element = event.currentTarget;
|
|
48
|
+
const field = this.data.field;
|
|
49
|
+
let value = element.getAttribute('hawksearch-facet-value-include');
|
|
50
|
+
if (!value) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
value = `@${value}`;
|
|
54
|
+
searchService.removeFacetValue(field, value);
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
(_d = this.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelectorAll('[hawksearch-facet-value-exclude]').forEach((e) => {
|
|
58
|
+
e.addEventListener('click', (event) => {
|
|
59
|
+
event.preventDefault();
|
|
60
|
+
event.stopPropagation();
|
|
61
|
+
const element = event.currentTarget;
|
|
62
|
+
const field = this.data.field;
|
|
63
|
+
const value = element.getAttribute('hawksearch-facet-value-exclude');
|
|
64
|
+
if (!value) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
searchService.excludeFacetValue(field, value);
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
(_e = this.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelectorAll('[hawksearch-facet-value-toggle]').forEach((e) => {
|
|
71
|
+
e.addEventListener('click', (event) => {
|
|
72
|
+
event.preventDefault();
|
|
73
|
+
event.stopPropagation();
|
|
74
|
+
const element = event.currentTarget;
|
|
75
|
+
const value = element.getAttribute('hawksearch-facet-value-toggle');
|
|
76
|
+
if (!value) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
this.state.values[value].toggled = !this.state.values[value].toggled;
|
|
80
|
+
this.renderContent();
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
(_f = this.shadowRoot) === null || _f === void 0 ? void 0 : _f.querySelectorAll('[hawksearch-facet-toggle]').forEach((e) => {
|
|
84
|
+
e.addEventListener('click', (event) => {
|
|
85
|
+
event.preventDefault();
|
|
86
|
+
event.stopPropagation();
|
|
87
|
+
this.state.toggled = !this.state.toggled;
|
|
88
|
+
this.renderContent();
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=base-facet.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-facet.component.js","sourceRoot":"","sources":["../../../src/components/facet-types/base-facet.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { BaseFacetComponent } from '../base-facet.component';
|
|
2
|
+
import defaultHtml from './checkbox-list-facet.component.hbs';
|
|
3
|
+
import checkboxListPartialHtml from './checkbox-list.partial.hbs';
|
|
4
|
+
export class CheckboxListFacetComponent extends BaseFacetComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.customTemplatePropertyName = 'checkboxListFacet';
|
|
8
|
+
this.defaultHtml = defaultHtml;
|
|
9
|
+
}
|
|
10
|
+
registerHelpers() {
|
|
11
|
+
super.registerHelpers();
|
|
12
|
+
this.handlebars.registerPartial('facet-checkbox-list', checkboxListPartialHtml);
|
|
13
|
+
}
|
|
14
|
+
getContentHtml(template) {
|
|
15
|
+
var _a, _b, _c;
|
|
16
|
+
if (!this.data || !((_a = this.data.values) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
17
|
+
return '';
|
|
18
|
+
}
|
|
19
|
+
const filterRegex = this.state.filter ? new RegExp(this.state.filter, 'i') : undefined;
|
|
20
|
+
const filtered = (value) => {
|
|
21
|
+
if (!filterRegex) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
return filterRegex.test(value.title);
|
|
25
|
+
};
|
|
26
|
+
const containsFiltered = (value) => {
|
|
27
|
+
var _a;
|
|
28
|
+
return ((_a = value.children) === null || _a === void 0 ? void 0 : _a.some((v) => filtered(v))) || false;
|
|
29
|
+
};
|
|
30
|
+
const getValues = (values, parent) => {
|
|
31
|
+
return values === null || values === void 0 ? void 0 : values.map((v, i) => {
|
|
32
|
+
var _a, _b, _c, _d, _e;
|
|
33
|
+
const valueWithState = Object.assign(Object.assign({}, v), { visible: (!parent && !filterRegex && (this.state.toggled || !this.data.truncateThreshold || i < this.data.truncateThreshold)) ||
|
|
34
|
+
filtered(v) ||
|
|
35
|
+
containsFiltered(v) ||
|
|
36
|
+
(!filterRegex && !!(parent === null || parent === void 0 ? void 0 : parent.toggled)), hasChildren: !!((_a = v.children) === null || _a === void 0 ? void 0 : _a.length), children: undefined, toggled: (v.value && ((_b = v.children) === null || _b === void 0 ? void 0 : _b.length) ? (_e = (_d = (_c = this.state.values) === null || _c === void 0 ? void 0 : _c[v.value]) === null || _d === void 0 ? void 0 : _d.toggled) !== null && _e !== void 0 ? _e : false : false) || containsFiltered(v) });
|
|
37
|
+
valueWithState.children = getValues(v.children, valueWithState);
|
|
38
|
+
return valueWithState;
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
const html = template({
|
|
42
|
+
id: this.data.id,
|
|
43
|
+
field: this.data.field,
|
|
44
|
+
values: getValues(this.data.values, undefined),
|
|
45
|
+
showToggle: !!this.data.truncateThreshold && ((_c = (_b = this.data.values) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0) > this.data.truncateThreshold && !this.state.filter,
|
|
46
|
+
toggleText: this.state.toggled ? 'Show fewer' : 'Show more',
|
|
47
|
+
expanded: this.state.toggled
|
|
48
|
+
});
|
|
49
|
+
return html;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=checkbox-list-facet.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox-list-facet.component.js","sourceRoot":"","sources":["../../../../src/components/facet-types/checkbox-list-facet/checkbox-list-facet.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { BaseFacetComponent } from '../base-facet.component';
|
|
2
|
+
import defaultHtml from './color-facet.component.hbs';
|
|
3
|
+
export class ColorFacetComponent extends BaseFacetComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.customTemplatePropertyName = 'colorFacet';
|
|
7
|
+
this.defaultHtml = defaultHtml;
|
|
8
|
+
}
|
|
9
|
+
getContentHtml(template) {
|
|
10
|
+
var _a, _b, _c, _d;
|
|
11
|
+
if (!this.data) {
|
|
12
|
+
return '';
|
|
13
|
+
}
|
|
14
|
+
const html = template({
|
|
15
|
+
values: (_b = (_a = this.data.values) === null || _a === void 0 ? void 0 : _a.map((v, i) => {
|
|
16
|
+
var _a, _b;
|
|
17
|
+
return (Object.assign(Object.assign({}, v), { visible: this.state.toggled || !((_a = this.data) === null || _a === void 0 ? void 0 : _a.truncateThreshold) || i < ((_b = this.data) === null || _b === void 0 ? void 0 : _b.truncateThreshold) }));
|
|
18
|
+
})) !== null && _b !== void 0 ? _b : [],
|
|
19
|
+
showToggle: !!this.data.truncateThreshold && ((_d = (_c = this.data.values) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) > this.data.truncateThreshold,
|
|
20
|
+
toggleText: this.state.toggled ? 'Show fewer' : 'Show more',
|
|
21
|
+
expanded: this.state.toggled
|
|
22
|
+
});
|
|
23
|
+
return html;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=color-facet.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color-facet.component.js","sourceRoot":"","sources":["../../../../src/components/facet-types/color-facet/color-facet.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,WAAW,MAAM,6BAA6B,CAAC;AAMtD,MAAM,OAAO,mBAAoB,SAAQ,kBAAkB;IAA3D;;QACc,+BAA0B,GAAG,YAAY,CAAC;QAC1C,gBAAW,GAAG,WAAW,CAAC;IAsBxC,CAAC;IApBa,cAAc,CAAC,QAAoC;;QACzD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,OAAO,EAAE,CAAC;SACb;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC;YAClB,MAAM,EACF,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,GAAG,CACjB,CAAC,CAAC,EAAE,CAAC,EAAmB,EAAE;;gBAAC,OAAA,iCACpB,CAAC,KACJ,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,iBAAiB,CAAA,IAAI,CAAC,IAAG,MAAA,IAAI,CAAC,IAAI,0CAAE,iBAAiB,CAAA,IAClG,CAAA;aAAA,CACL,mCAAI,EAAE;YACX,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,MAAM,mCAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAC1G,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW;YAC3D,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;SAC/B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export * from './checkbox-list-facet/checkbox-list-facet.component';
|
|
2
|
-
export * from './color-facet/color-facet.component';
|
|
3
|
-
export * from './linked-list-facet/link-list-facet.component';
|
|
4
|
-
export * from './range-slider-facet/range-slider-facet.component';
|
|
5
|
-
export * from './search-within-facet/search-within-facet.component';
|
|
6
|
-
export * from './size-facet/size-facet.component';
|
|
1
|
+
export * from './checkbox-list-facet/checkbox-list-facet.component';
|
|
2
|
+
export * from './color-facet/color-facet.component';
|
|
3
|
+
export * from './linked-list-facet/link-list-facet.component';
|
|
4
|
+
export * from './range-slider-facet/range-slider-facet.component';
|
|
5
|
+
export * from './search-within-facet/search-within-facet.component';
|
|
6
|
+
export * from './size-facet/size-facet.component';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/facet-types/index.ts"],"names":[],"mappings":"AAAA,cAAc,qDAAqD,CAAC;AACpE,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mDAAmD,CAAC;AAClE,cAAc,qDAAqD,CAAC;AACpE,cAAc,mCAAmC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { BaseFacetComponent } from '../base-facet.component';
|
|
2
|
+
import defaultHtml from './link-list-facet.component.hbs';
|
|
3
|
+
export class LinkListFacetComponent extends BaseFacetComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.customTemplatePropertyName = 'linkListFacet';
|
|
7
|
+
this.defaultHtml = defaultHtml;
|
|
8
|
+
}
|
|
9
|
+
getContentHtml(template) {
|
|
10
|
+
var _a, _b, _c, _d, _e;
|
|
11
|
+
if (!this.data) {
|
|
12
|
+
return '';
|
|
13
|
+
}
|
|
14
|
+
const filterRegex = this.state.filter ? new RegExp((_a = this.state.filter) !== null && _a !== void 0 ? _a : '', 'i') : undefined;
|
|
15
|
+
const html = template({
|
|
16
|
+
id: this.data.id,
|
|
17
|
+
field: this.data.field,
|
|
18
|
+
values: (_c = (_b = this.data.values) === null || _b === void 0 ? void 0 : _b.map((v, i) => {
|
|
19
|
+
var _a;
|
|
20
|
+
return (Object.assign(Object.assign({}, v), { visible: (!filterRegex && (this.state.toggled || !this.data.truncateThreshold || i < this.data.truncateThreshold)) ||
|
|
21
|
+
(!!filterRegex && filterRegex.test((_a = v.title) !== null && _a !== void 0 ? _a : '')) }));
|
|
22
|
+
})) !== null && _c !== void 0 ? _c : [],
|
|
23
|
+
showToggle: !!this.data.truncateThreshold && ((_e = (_d = this.data.values) === null || _d === void 0 ? void 0 : _d.length) !== null && _e !== void 0 ? _e : 0) > this.data.truncateThreshold && !this.state.filter,
|
|
24
|
+
toggleText: this.state.toggled ? 'Show fewer' : 'Show more',
|
|
25
|
+
expanded: this.state.toggled
|
|
26
|
+
});
|
|
27
|
+
return html;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=link-list-facet.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-list-facet.component.js","sourceRoot":"","sources":["../../../../src/components/facet-types/linked-list-facet/link-list-facet.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,WAAW,MAAM,iCAAiC,CAAC;AAM1D,MAAM,OAAO,sBAAuB,SAAQ,kBAAkB;IAA9D;;QACc,+BAA0B,GAAG,eAAe,CAAC;QAC7C,gBAAW,GAAG,WAAW,CAAC;IA4BxC,CAAC;IA1Ba,cAAc,CAAC,QAAoC;;QACzD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,OAAO,EAAE,CAAC;SACb;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,mCAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE7F,MAAM,IAAI,GAAG,QAAQ,CAAC;YAClB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YAChB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;YACtB,MAAM,EACF,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,GAAG,CACjB,CAAC,CAAC,EAAE,CAAC,EAAsB,EAAE;;gBAAC,OAAA,iCACvB,CAAC,KACJ,OAAO,EACH,CAAC,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,iBAAiB,IAAI,CAAC,GAAG,IAAI,CAAC,IAAK,CAAC,iBAAkB,CAAC,CAAC;wBAC5G,CAAC,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,MAAA,CAAC,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC,IACxD,CAAA;aAAA,CACL,mCAAI,EAAE;YACX,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,MAAM,mCAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;YAChI,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW;YAC3D,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;SAC/B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
|