@bridgeline-digital/hawksearch-handlebars-ui 1.0.0-beta.2 → 1.0.0-beta.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/hawksearch-ui.js +3 -0
  2. package/dist/{handlebars-ui.js.LICENSE.txt → hawksearch-ui.js.LICENSE.txt} +0 -0
  3. package/dist/hawksearch-ui.js.map +1 -0
  4. package/dist/hawksearch.729ebbec83d6a91f0842fadb536aa264.css +1 -0
  5. package/dist/{545f0f75f62e4805198f.svg → icons.545f0f75f62e4805198f.svg} +0 -0
  6. package/dist/{c99b7374b9bf579d0fd0.png → placeholder.c99b7374b9bf579d0fd0.png} +0 -0
  7. package/package.json +27 -23
  8. package/readme.md +37 -0
  9. package/dist/components/autocomplete/autocomplete.component.js +0 -100
  10. package/dist/components/autocomplete/autocomplete.component.js.map +0 -1
  11. package/dist/components/base.component.js +0 -81
  12. package/dist/components/base.component.js.map +0 -1
  13. package/dist/components/facet-types/base-facet.component.js +0 -93
  14. package/dist/components/facet-types/base-facet.component.js.map +0 -1
  15. package/dist/components/facet-types/checkbox-list-facet/checkbox-list-facet.component.js +0 -52
  16. package/dist/components/facet-types/checkbox-list-facet/checkbox-list-facet.component.js.map +0 -1
  17. package/dist/components/facet-types/color-facet/color-facet.component.js +0 -26
  18. package/dist/components/facet-types/color-facet/color-facet.component.js.map +0 -1
  19. package/dist/components/facet-types/index.js +0 -7
  20. package/dist/components/facet-types/index.js.map +0 -1
  21. package/dist/components/facet-types/linked-list-facet/link-list-facet.component.js +0 -30
  22. package/dist/components/facet-types/linked-list-facet/link-list-facet.component.js.map +0 -1
  23. package/dist/components/facet-types/range-slider-facet/range-slider-facet.component.js +0 -92
  24. package/dist/components/facet-types/range-slider-facet/range-slider-facet.component.js.map +0 -1
  25. package/dist/components/facet-types/search-within-facet/search-within-facet.component.js +0 -32
  26. package/dist/components/facet-types/search-within-facet/search-within-facet.component.js.map +0 -1
  27. package/dist/components/facet-types/size-facet/size-facet.component.js +0 -28
  28. package/dist/components/facet-types/size-facet/size-facet.component.js.map +0 -1
  29. package/dist/components/facet-wrapper/facet-wrapper.component.js +0 -51
  30. package/dist/components/facet-wrapper/facet-wrapper.component.js.map +0 -1
  31. package/dist/components/facets-list/facets-list.component.js +0 -72
  32. package/dist/components/facets-list/facets-list.component.js.map +0 -1
  33. package/dist/components/icon/icon.component.js +0 -34
  34. package/dist/components/icon/icon.component.js.map +0 -1
  35. package/dist/components/index.js +0 -19
  36. package/dist/components/index.js.map +0 -1
  37. package/dist/components/modified-query/modified-query.component.js +0 -35
  38. package/dist/components/modified-query/modified-query.component.js.map +0 -1
  39. package/dist/components/page-size/page-size.component.js +0 -33
  40. package/dist/components/page-size/page-size.component.js.map +0 -1
  41. package/dist/components/pagination/pagination.component.js +0 -84
  42. package/dist/components/pagination/pagination.component.js.map +0 -1
  43. package/dist/components/query-suggestions/query-suggestions.component.js +0 -54
  44. package/dist/components/query-suggestions/query-suggestions.component.js.map +0 -1
  45. package/dist/components/range-slider/range-slider.component.js +0 -153
  46. package/dist/components/range-slider/range-slider.component.js.map +0 -1
  47. package/dist/components/search/search.component.js +0 -73
  48. package/dist/components/search/search.component.js.map +0 -1
  49. package/dist/components/search-results/search-results.component.js +0 -17
  50. package/dist/components/search-results/search-results.component.js.map +0 -1
  51. package/dist/components/search-results-item/search-results-item.component.js +0 -81
  52. package/dist/components/search-results-item/search-results-item.component.js.map +0 -1
  53. package/dist/components/search-results-list/search-results-list.component.js +0 -28
  54. package/dist/components/search-results-list/search-results-list.component.js.map +0 -1
  55. package/dist/components/selected-facets/selected-facets.component.js +0 -64
  56. package/dist/components/selected-facets/selected-facets.component.js.map +0 -1
  57. package/dist/components/sorting/sorting.component.js +0 -31
  58. package/dist/components/sorting/sorting.component.js.map +0 -1
  59. package/dist/components/tabs/tabs.component.js +0 -31
  60. package/dist/components/tabs/tabs.component.js.map +0 -1
  61. package/dist/components/tooltip/tooltip.component.js +0 -43
  62. package/dist/components/tooltip/tooltip.component.js.map +0 -1
  63. package/dist/custom1.html +0 -1
  64. package/dist/custom2.html +0 -1
  65. package/dist/handlebars-ui.js +0 -3
  66. package/dist/handlebars-ui.js.map +0 -1
  67. package/dist/helpers/formatters.js +0 -12
  68. package/dist/helpers/formatters.js.map +0 -1
  69. package/dist/helpers/index.js +0 -2
  70. package/dist/helpers/index.js.map +0 -1
  71. package/dist/index.html +0 -1
  72. package/dist/index.js +0 -79
  73. package/dist/index.js.map +0 -1
  74. package/dist/models/autocomplete.models.js +0 -2
  75. package/dist/models/autocomplete.models.js.map +0 -1
  76. package/dist/models/component.models.js +0 -2
  77. package/dist/models/component.models.js.map +0 -1
  78. package/dist/models/global.models.js +0 -2
  79. package/dist/models/global.models.js.map +0 -1
  80. package/dist/models/index.js +0 -8
  81. package/dist/models/index.js.map +0 -1
  82. package/dist/models/raw-autocomplete.models.js +0 -2
  83. package/dist/models/raw-autocomplete.models.js.map +0 -1
  84. package/dist/models/raw-search.models.js +0 -2
  85. package/dist/models/raw-search.models.js.map +0 -1
  86. package/dist/models/search.models.js +0 -2
  87. package/dist/models/search.models.js.map +0 -1
  88. package/dist/models/tracking.models.js +0 -35
  89. package/dist/models/tracking.models.js.map +0 -1
  90. package/dist/services/autocomplete.service.js +0 -103
  91. package/dist/services/autocomplete.service.js.map +0 -1
  92. package/dist/services/base.service.js +0 -83
  93. package/dist/services/base.service.js.map +0 -1
  94. package/dist/services/index.js +0 -4
  95. package/dist/services/index.js.map +0 -1
  96. package/dist/services/search.service.js +0 -608
  97. package/dist/services/search.service.js.map +0 -1
  98. package/dist/services/tracking.service.js +0 -115
  99. package/dist/services/tracking.service.js.map +0 -1
@@ -1,153 +0,0 @@
1
- import { BaseComponent } from '../base.component';
2
- import defaultHtml from './range-slider.component.hbs';
3
- export class RangeSliderComponent extends BaseComponent {
4
- constructor() {
5
- super(...arguments);
6
- this.bindEvent = undefined;
7
- this.customTemplatePropertyName = 'rangeSlider';
8
- this.defaultHtml = defaultHtml;
9
- this.dragging = false;
10
- this.min = 0;
11
- this.max = 100;
12
- }
13
- static get observedAttributes() {
14
- return ['min', 'max'];
15
- }
16
- connectedCallback() {
17
- super.connectedCallback();
18
- this.mouseUpEventHandler = this.onMouseUp.bind(this);
19
- this.mouseMoveEventHandler = this.onMouseMove.bind(this);
20
- document.addEventListener('mouseup', this.mouseUpEventHandler);
21
- document.addEventListener('mousemove', this.mouseMoveEventHandler);
22
- }
23
- attributeChangedCallback(name, oldValue, newValue) {
24
- switch (name) {
25
- case 'min':
26
- this.setMin(newValue);
27
- break;
28
- case 'max':
29
- this.setMax(newValue);
30
- break;
31
- }
32
- this.renderContent();
33
- }
34
- disconnectedCallback() {
35
- super.disconnectedCallback();
36
- document.removeEventListener('mouseup', this.mouseUpEventHandler);
37
- document.removeEventListener('mousemove', this.mouseMoveEventHandler);
38
- }
39
- setMin(value) {
40
- let min = parseInt(value !== null && value !== void 0 ? value : '');
41
- if (isNaN(min) || min < 0) {
42
- min = 0;
43
- }
44
- this.min = min;
45
- }
46
- setMax(value) {
47
- let max = parseInt(value !== null && value !== void 0 ? value : '');
48
- if (isNaN(max) || max > 100) {
49
- max = 100;
50
- }
51
- this.max = max;
52
- }
53
- getContentHtml(template) {
54
- const html = template({
55
- start: this.min,
56
- end: this.max
57
- });
58
- return html;
59
- }
60
- bindChildElements() {
61
- var _a;
62
- (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('[hawksearch-handle]').forEach((e) => {
63
- e.addEventListener('mousedown', ((event) => {
64
- var _a, _b;
65
- const handle = e.getAttribute('hawksearch-handle');
66
- if (!handle) {
67
- return;
68
- }
69
- event.preventDefault();
70
- const element = event.currentTarget;
71
- this.activeHandle = element;
72
- this.startOffsetPercentage = parseFloat((_a = element.style.left) !== null && _a !== void 0 ? _a : 0);
73
- this.startX = event.clientX;
74
- this.dragging = true;
75
- // Ensure the clicked handle is always on top in stacking context
76
- (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelectorAll('[hawksearch-handle]').forEach((h) => (h.style.zIndex = ''));
77
- element.style.zIndex = '1';
78
- }));
79
- });
80
- }
81
- onMouseUp(event) {
82
- if (!this.dragging) {
83
- return;
84
- }
85
- event.preventDefault();
86
- this.dragging = false;
87
- // Dispatch event
88
- const data = {
89
- min: this.min,
90
- max: this.max
91
- };
92
- const newEvent = new CustomEvent('hawksearch:range-slider-changed', {
93
- detail: data
94
- });
95
- this.dispatchEvent(newEvent);
96
- }
97
- onMouseMove(event) {
98
- var _a, _b, _c, _d, _e;
99
- if (!this.dragging || !this.activeHandle || this.startX === undefined) {
100
- return;
101
- }
102
- const selectedHandle = this.activeHandle.getAttribute('hawksearch-handle');
103
- const minHandle = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('[hawksearch-handle="min"]');
104
- const maxHandle = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('[hawksearch-handle="max"]');
105
- const bar = (_c = this.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('[hawksearch-bar]');
106
- const offset = event.clientX - this.startX;
107
- const width = this.activeHandle.parentElement.offsetWidth;
108
- let offsetPercentage = Math.round((offset / width) * 100) + this.startOffsetPercentage;
109
- let min = 0;
110
- let max = 100;
111
- // Ensure that handles are never dragged beyond boundaries or having min > max
112
- if (selectedHandle === 'min') {
113
- max = parseFloat((_d = maxHandle.style.left) !== null && _d !== void 0 ? _d : 100);
114
- }
115
- else if (selectedHandle === 'max') {
116
- min = parseFloat((_e = minHandle.style.left) !== null && _e !== void 0 ? _e : 0);
117
- }
118
- if (offsetPercentage <= min) {
119
- offsetPercentage = min;
120
- }
121
- else if (offsetPercentage >= max) {
122
- offsetPercentage = max;
123
- }
124
- // Update min and max to new values
125
- if (selectedHandle === 'min') {
126
- min = offsetPercentage;
127
- }
128
- else if (selectedHandle === 'max') {
129
- max = offsetPercentage;
130
- }
131
- // Set CSS properties
132
- this.activeHandle.style.left = `${offsetPercentage}%`;
133
- bar.style.left = `${min}%`;
134
- bar.style.right = `${100 - max}%`;
135
- // Update component properties
136
- if (selectedHandle === 'min') {
137
- this.min = offsetPercentage;
138
- }
139
- else if (selectedHandle === 'max') {
140
- this.max = offsetPercentage;
141
- }
142
- // Dispatch event
143
- const data = {
144
- min: this.min,
145
- max: this.max
146
- };
147
- const newEvent = new CustomEvent('hawksearch:range-slider-dragging', {
148
- detail: data
149
- });
150
- this.dispatchEvent(newEvent);
151
- }
152
- }
153
- //# sourceMappingURL=range-slider.component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"range-slider.component.js","sourceRoot":"","sources":["../../../src/components/range-slider/range-slider.component.ts"],"names":[],"mappings":"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"}
@@ -1,73 +0,0 @@
1
- import { debounce } from 'lodash';
2
- import { autocompleteService, searchService } from '@services';
3
- import { BaseComponent } from '../base.component';
4
- import defaultHtml from './search.component.hbs';
5
- export class SearchComponent extends BaseComponent {
6
- constructor() {
7
- super(...arguments);
8
- this.bindEvent = 'hawksearch:bind-search';
9
- this.customTemplatePropertyName = 'search';
10
- this.defaultHtml = defaultHtml;
11
- }
12
- connectedCallback() {
13
- var _a;
14
- super.connectedCallback();
15
- this.clickEventHandler = (event) => {
16
- const element = event.target;
17
- const searchElement = !!element.closest('hawksearch-search');
18
- if (!searchElement) {
19
- this.toggleAutocomplete(false);
20
- }
21
- };
22
- (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.ownerDocument.addEventListener('click', this.clickEventHandler);
23
- }
24
- disconnectedCallback() {
25
- var _a;
26
- super.disconnectedCallback();
27
- (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.ownerDocument.removeEventListener('click', this.connectedCallback);
28
- }
29
- getContentHtml(template) {
30
- const html = template(Object.assign({}, this.data));
31
- return html;
32
- }
33
- bindChildElements() {
34
- var _a, _b;
35
- const enterKeys = ['Enter', 'NumpadEnter'];
36
- (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('[hawksearch-search-input]').forEach((e) => {
37
- e.addEventListener('keyup', ((event) => {
38
- if (!enterKeys.includes(event.code)) {
39
- return;
40
- }
41
- const element = event.currentTarget;
42
- const query = element.value.trim();
43
- this.toggleAutocomplete(false);
44
- searchService.query(query);
45
- }));
46
- const onKeyUp = (event) => {
47
- if (enterKeys.includes(event.code)) {
48
- return;
49
- }
50
- const element = e; // Not using event.currentTarget as that gets lost when using lodash debounce
51
- const query = element.value.trim();
52
- this.toggleAutocomplete(!!query);
53
- if (query) {
54
- autocompleteService.query(query);
55
- }
56
- };
57
- e.addEventListener('keyup', debounce(onKeyUp, 300));
58
- });
59
- (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelectorAll('hawksearch-autocomplete').forEach((e) => {
60
- e.addEventListener('hawksearch:close-autocomplete', (event) => {
61
- this.toggleAutocomplete(false);
62
- });
63
- });
64
- }
65
- toggleAutocomplete(visible) {
66
- var _a;
67
- (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('hawksearch-autocomplete').forEach((e) => {
68
- const component = e;
69
- component.style.display = visible ? 'block' : 'none';
70
- });
71
- }
72
- }
73
- //# sourceMappingURL=search.component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.component.js","sourceRoot":"","sources":["../../../src/components/search/search.component.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { BaseComponent } from '../base.component';
2
- import defaultHtml from './search-results.component.hbs';
3
- export class SearchResultsComponent extends BaseComponent {
4
- constructor() {
5
- super(...arguments);
6
- this.bindEvent = 'hawksearch:bind-search-results';
7
- this.customTemplatePropertyName = 'searchResults';
8
- this.defaultHtml = defaultHtml;
9
- }
10
- getContentHtml(template) {
11
- const html = template({
12
- data: this.data
13
- });
14
- return html;
15
- }
16
- }
17
- //# sourceMappingURL=search-results.component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-results.component.js","sourceRoot":"","sources":["../../../src/components/search-results/search-results.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,WAAW,MAAM,gCAAgC,CAAC;AAEzD,MAAM,OAAO,sBAAuB,SAAQ,aAA6B;IAAzE;;QACc,cAAS,GAAG,gCAAgC,CAAC;QAC7C,+BAA0B,GAAG,eAAe,CAAC;QAC7C,gBAAW,GAAG,WAAW,CAAC;IASxC,CAAC;IAPa,cAAc,CAAC,QAAoC;QACzD,MAAM,IAAI,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
@@ -1,81 +0,0 @@
1
- import placeholderUrl from '@assets/images/placeholder.png';
2
- import { formatCurrency } from '@helpers';
3
- import { trackingService } from '@services';
4
- import { BaseComponent } from '../base.component';
5
- import defaultHtml from './search-results-item.component.hbs';
6
- export class SearchResultsItemComponent extends BaseComponent {
7
- constructor() {
8
- super(...arguments);
9
- this.bindEvent = undefined;
10
- this.customTemplatePropertyName = 'searchResultsItem';
11
- this.defaultHtml = defaultHtml;
12
- }
13
- registerHelpers() {
14
- super.registerHelpers();
15
- this.handlebars.registerHelper('string', (values, defaultValue) => {
16
- if (typeof values === 'string') {
17
- values = [values];
18
- }
19
- return this.getString(values, defaultValue);
20
- });
21
- this.handlebars.registerHelper('number', (values, defaultValue) => {
22
- if (typeof values === 'string') {
23
- values = [values];
24
- }
25
- return this.getNumber(values, defaultValue);
26
- });
27
- this.handlebars.registerHelper('currency', (values, defaultValue) => {
28
- if (typeof values === 'string') {
29
- values = [values];
30
- }
31
- else if (typeof values === 'number') {
32
- values = [values.toString()];
33
- }
34
- return this.getCurrency(values, defaultValue);
35
- });
36
- }
37
- getContentHtml(template) {
38
- if (!this.data) {
39
- return '';
40
- }
41
- const html = template(this.data);
42
- return html;
43
- }
44
- bindChildElements() {
45
- var _a, _b;
46
- (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('[hawksearch-image]').forEach((e) => {
47
- e.addEventListener('error', (event) => {
48
- const element = event.currentTarget;
49
- element.src = Hawksearch.config.placeholderImageUrl || placeholderUrl;
50
- });
51
- });
52
- (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelectorAll('[hawksearch-link]').forEach((e) => {
53
- e.addEventListener('click', ((event) => {
54
- if (!this.data) {
55
- return;
56
- }
57
- trackingService.trackSearchResultClick(this.data.id, this.data.url, event);
58
- }));
59
- });
60
- }
61
- getString(values, defaultValue) {
62
- var _a;
63
- return (_a = values === null || values === void 0 ? void 0 : values[0]) !== null && _a !== void 0 ? _a : defaultValue;
64
- }
65
- getNumber(values, defaultValue) {
66
- const string = this.getString(values);
67
- let value = string ? parseFloat(string) : undefined;
68
- if (value !== undefined && isNaN(value)) {
69
- value = undefined;
70
- }
71
- return value !== null && value !== void 0 ? value : defaultValue;
72
- }
73
- getCurrency(values, defaultValue) {
74
- const value = this.getNumber(values) || defaultValue;
75
- if (!value) {
76
- return undefined;
77
- }
78
- return formatCurrency(value);
79
- }
80
- }
81
- //# sourceMappingURL=search-results-item.component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-results-item.component.js","sourceRoot":"","sources":["../../../src/components/search-results-item/search-results-item.component.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- import { BaseComponent } from '../base.component';
2
- import defaultHtml from './search-results-list.component.hbs';
3
- export class SearchResultsListComponent extends BaseComponent {
4
- constructor() {
5
- super(...arguments);
6
- this.bindEvent = 'hawksearch:bind-search-results-list';
7
- this.customTemplatePropertyName = 'searchResultsList';
8
- this.defaultHtml = defaultHtml;
9
- }
10
- getContentHtml(template) {
11
- var _a;
12
- if (!((_a = this.data) === null || _a === void 0 ? void 0 : _a.length)) {
13
- return '';
14
- }
15
- const html = template({
16
- items: this.data
17
- });
18
- return html;
19
- }
20
- bindChildElements() {
21
- var _a;
22
- (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('hawksearch-results-item').forEach((component, index) => {
23
- var _a;
24
- component.data = (_a = this.data) === null || _a === void 0 ? void 0 : _a[index];
25
- });
26
- }
27
- }
28
- //# sourceMappingURL=search-results-list.component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-results-list.component.js","sourceRoot":"","sources":["../../../src/components/search-results-list/search-results-list.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,WAAW,MAAM,qCAAqC,CAAC;AAE9D,MAAM,OAAO,0BAA2B,SAAQ,aAAuC;IAAvF;;QACc,cAAS,GAAG,qCAAqC,CAAC;QAClD,+BAA0B,GAAG,mBAAmB,CAAC;QACjD,gBAAW,GAAG,WAAW,CAAC;IAmBxC,CAAC;IAjBa,cAAc,CAAC,QAAoC;;QACzD,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAA,EAAE;YACpB,OAAO,EAAE,CAAC;SACb;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC;YAClB,KAAK,EAAE,IAAI,CAAC,IAAI;SACnB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,iBAAiB;;QACvB,MAAA,IAAI,CAAC,UAAU,0CAAE,gBAAgB,CAA6B,yBAAyB,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;;YAClH,SAAS,CAAC,IAAI,GAAG,MAAA,IAAI,CAAC,IAAI,0CAAG,KAAK,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -1,64 +0,0 @@
1
- import { formatCurrency } from '@helpers';
2
- import { searchService } from '@services';
3
- import { BaseComponent } from '../base.component';
4
- import defaultHtml from './selected-facets.component.hbs';
5
- export class SelectedFacetsComponent extends BaseComponent {
6
- constructor() {
7
- super(...arguments);
8
- this.bindEvent = 'hawksearch:bind-selected-facets';
9
- this.customTemplatePropertyName = 'selectedFacets';
10
- this.defaultHtml = defaultHtml;
11
- }
12
- getContentHtml(template) {
13
- var _a;
14
- if (!((_a = this.data) === null || _a === void 0 ? void 0 : _a.length)) {
15
- return '';
16
- }
17
- const selections = [];
18
- this.data.forEach((facet) => {
19
- facet.values.forEach((value) => {
20
- let selectionTitle = value.title;
21
- const priceRange = /^(?<min>\d+(?:\.\d+)),(?<max>\d+(?:\.\d+))$/.exec(value.value);
22
- if (priceRange) {
23
- const min = parseFloat(priceRange.groups.min);
24
- const max = parseFloat(priceRange.groups.max);
25
- selectionTitle = `${formatCurrency(min, 0)}-${formatCurrency(max, 0)}`;
26
- }
27
- selections.push({
28
- field: facet.field,
29
- title: facet.title,
30
- selectionTitle: selectionTitle,
31
- selectionValue: value.value,
32
- excluded: value.excluded
33
- });
34
- });
35
- });
36
- selections.sort((x, y) => {
37
- if (x.field == y.field) {
38
- return x.selectionTitle.localeCompare(y.selectionTitle);
39
- }
40
- return x.title.localeCompare(y.title);
41
- });
42
- const html = template({
43
- facets: this.data,
44
- selections: selections
45
- });
46
- return html;
47
- }
48
- bindChildElements() {
49
- var _a;
50
- (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('[hawksearch-facet-field][hawksearch-facet-value]').forEach((e) => {
51
- e.addEventListener('click', (event) => {
52
- event.preventDefault();
53
- const element = event.currentTarget;
54
- const field = element.getAttribute('hawksearch-facet-field');
55
- const value = element.getAttribute('hawksearch-facet-value');
56
- if (!(field && value)) {
57
- return;
58
- }
59
- searchService.removeFacetValue(field, value);
60
- });
61
- });
62
- }
63
- }
64
- //# sourceMappingURL=selected-facets.component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selected-facets.component.js","sourceRoot":"","sources":["../../../src/components/selected-facets/selected-facets.component.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- import { searchService } from '@services';
2
- import { BaseComponent } from '../base.component';
3
- import defaultHtml from './sorting.component.hbs';
4
- export class SortingComponent extends BaseComponent {
5
- constructor() {
6
- super(...arguments);
7
- this.bindEvent = 'hawksearch:bind-sorting';
8
- this.customTemplatePropertyName = 'sorting';
9
- this.defaultHtml = defaultHtml;
10
- }
11
- getContentHtml(template) {
12
- var _a, _b;
13
- if (!((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.length)) {
14
- return '';
15
- }
16
- const html = template(this.data);
17
- return html;
18
- }
19
- bindChildElements() {
20
- var _a;
21
- (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('[hawksearch-sort]').forEach((e) => {
22
- e.addEventListener('change', (event) => {
23
- event.preventDefault();
24
- const element = event.currentTarget;
25
- const value = element.value;
26
- searchService.sort(value);
27
- });
28
- });
29
- }
30
- }
31
- //# sourceMappingURL=sorting.component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sorting.component.js","sourceRoot":"","sources":["../../../src/components/sorting/sorting.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAElD,MAAM,OAAO,gBAAiB,SAAQ,aAAsB;IAA5D;;QACc,cAAS,GAAG,yBAAyB,CAAC;QACtC,+BAA0B,GAAG,SAAS,CAAC;QACvC,gBAAW,GAAG,WAAW,CAAC;IAwBxC,CAAC;IAtBa,cAAc,CAAC,QAAoC;;QACzD,IAAI,CAAC,CAAA,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,0CAAE,MAAM,CAAA,EAAE;YAC7B,OAAO,EAAE,CAAC;SACb;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,iBAAiB;;QACvB,MAAA,IAAI,CAAC,UAAU,0CAAE,gBAAgB,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACjE,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAY,EAAE,EAAE;gBAC1C,KAAK,CAAC,cAAc,EAAE,CAAC;gBAEvB,MAAM,OAAO,GAAG,KAAK,CAAC,aAAkC,CAAC;gBACzD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;gBAE5B,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -1,31 +0,0 @@
1
- import { searchService } from '@services';
2
- import { BaseComponent } from '../base.component';
3
- import defaultHtml from './tabs.component.hbs';
4
- export class TabsComponent extends BaseComponent {
5
- constructor() {
6
- super(...arguments);
7
- this.bindEvent = 'hawksearch:bind-tabs';
8
- this.customTemplatePropertyName = 'tabs';
9
- this.defaultHtml = defaultHtml;
10
- }
11
- getContentHtml(template) {
12
- var _a, _b;
13
- if (!((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.values) === null || _b === void 0 ? void 0 : _b.length)) {
14
- return '';
15
- }
16
- const html = template(this.data);
17
- return html;
18
- }
19
- bindChildElements() {
20
- var _a;
21
- (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('[hawksearch-tab-value]').forEach((e) => {
22
- e.addEventListener('click', (event) => {
23
- event.preventDefault();
24
- const element = event.currentTarget;
25
- const value = element.getAttribute('hawksearch-tab-value');
26
- searchService.selectTab(value !== null && value !== void 0 ? value : undefined);
27
- });
28
- });
29
- }
30
- }
31
- //# sourceMappingURL=tabs.component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tabs.component.js","sourceRoot":"","sources":["../../../src/components/tabs/tabs.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAE/C,MAAM,OAAO,aAAc,SAAQ,aAAoB;IAAvD;;QACc,cAAS,GAAG,sBAAsB,CAAC;QACnC,+BAA0B,GAAG,MAAM,CAAC;QACpC,gBAAW,GAAG,WAAW,CAAC;IAwBxC,CAAC;IAtBa,cAAc,CAAC,QAAoC;;QACzD,IAAI,CAAC,CAAA,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,0CAAE,MAAM,CAAA,EAAE;YAC5B,OAAO,EAAE,CAAC;SACb;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,iBAAiB;;QACvB,MAAA,IAAI,CAAC,UAAU,0CAAE,gBAAgB,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACtE,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gBACzC,KAAK,CAAC,cAAc,EAAE,CAAC;gBAEvB,MAAM,OAAO,GAAG,KAAK,CAAC,aAA4B,CAAC;gBACnD,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;gBAE3D,aAAa,CAAC,SAAS,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,SAAS,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -1,43 +0,0 @@
1
- import { BaseComponent } from '../base.component';
2
- import defaultHtml from './tooltip.component.hbs';
3
- export class TooltipComponent extends BaseComponent {
4
- constructor() {
5
- super(...arguments);
6
- this.bindEvent = undefined;
7
- this.customTemplatePropertyName = 'tooltip';
8
- this.defaultHtml = defaultHtml;
9
- }
10
- getContentHtml(template) {
11
- const text = this.getAttribute('text');
12
- if (!text) {
13
- return '';
14
- }
15
- const html = template({
16
- text: text
17
- });
18
- return html;
19
- }
20
- bindChildElements() {
21
- var _a, _b;
22
- (_b = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('[hawksearch-tooltip]')) === null || _b === void 0 ? void 0 : _b.addEventListener('mouseover', (event) => {
23
- var _a;
24
- const element = event.currentTarget;
25
- const contentElement = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('[hawksearch-tooltip-content]');
26
- if (!contentElement) {
27
- return;
28
- }
29
- contentElement.style.removeProperty('top');
30
- contentElement.style.removeProperty('right');
31
- const windowWidth = window.innerWidth;
32
- const boundingRect = element.getBoundingClientRect();
33
- const rightPosition = boundingRect.x + boundingRect.width;
34
- const maxWidth = 350;
35
- const margin = 20;
36
- contentElement.style.top = `${boundingRect.top}px`;
37
- if (windowWidth - rightPosition < maxWidth + margin) {
38
- contentElement.style.right = `${margin}px`;
39
- }
40
- });
41
- }
42
- }
43
- //# sourceMappingURL=tooltip.component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tooltip.component.js","sourceRoot":"","sources":["../../../src/components/tooltip/tooltip.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAElD,MAAM,OAAO,gBAAiB,SAAQ,aAAqB;IAA3D;;QACc,cAAS,GAAG,SAAS,CAAC;QACtB,+BAA0B,GAAG,SAAS,CAAC;QACvC,gBAAW,GAAG,WAAW,CAAC;IAyCxC,CAAC;IAvCa,cAAc,CAAC,QAAoC;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAkB,CAAC;QAExD,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,EAAE,CAAC;SACb;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC;YAClB,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,iBAAiB;;QACvB,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,aAAa,CAAC,sBAAsB,CAAC,0CAAE,gBAAgB,CAAC,WAAW,EAAE,CAAC,KAAY,EAAE,EAAE;;YACnG,MAAM,OAAO,GAAG,KAAK,CAAC,aAA4B,CAAC;YACnD,MAAM,cAAc,GAAG,MAAA,IAAI,CAAC,UAAU,0CAAE,aAAa,CAAC,8BAA8B,CAAgB,CAAC;YAErG,IAAI,CAAC,cAAc,EAAE;gBACjB,OAAO;aACV;YAED,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC3C,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAE7C,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;YACtC,MAAM,YAAY,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;YACrD,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC;YAC1D,MAAM,QAAQ,GAAG,GAAG,CAAC;YACrB,MAAM,MAAM,GAAG,EAAE,CAAC;YAElB,cAAc,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,YAAY,CAAC,GAAG,IAAI,CAAC;YAEnD,IAAI,WAAW,GAAG,aAAa,GAAG,QAAQ,GAAG,MAAM,EAAE;gBACjD,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,MAAM,IAAI,CAAC;aAC9C;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
package/dist/custom1.html DELETED
@@ -1 +0,0 @@
1
- <!doctype html><html><head><meta charset="utf-8"/><title>Hawksearch Demo (custom - nested)</title><meta name="viewport" content="width=device-width,initial-scale=1"/><style>body{font-family:Arial,Helvetica,sans-serif;font-size:16px}.layout-container{margin:0 auto;min-width:340px;max-width:1280px}</style><script>var Hawksearch=Hawksearch||{};Hawksearch.config={clientId:"f51060e1c38446f0bacdf283390c37e8"}</script><script defer="defer" src="handlebars-ui.js"></script></head><body><h1>Hawksearch Demo (custom - nested)</h1><hawksearch-pagination></hawksearch-pagination><hawksearch-results>{{{{exclude}}}}<hawksearch-results-list><h2>Custom List: {{test}}</h2>{{#each items}} {{{{exclude}}}}<hawksearch-results-item><div>Custom item: {{title}}</div></hawksearch-results-item>{{{{/exclude}}}} {{/each}}</hawksearch-results-list>{{{{/exclude}}}} {{{{exclude}}}}<hawksearch-pagination>{{#if displayFirstLink}} <a hawksearch-page="1">FIRST</a> {{/if}} {{#if displayLastLink}} <a hawksearch-page="{{totalPages}}">LAST</a> {{/if}}</hawksearch-pagination>{{{{/exclude}}}}</hawksearch-results></body></html>
package/dist/custom2.html DELETED
@@ -1 +0,0 @@
1
- <!doctype html><html><head><meta charset="utf-8"/><title>Hawksearch Demo (custom - override)</title><meta name="viewport" content="width=device-width,initial-scale=1"/><style>body{font-family:Arial,Helvetica,sans-serif;font-size:16px}.layout-container{margin:0 auto;min-width:340px;max-width:1280px}</style><script>var Hawksearch=Hawksearch||{};Hawksearch.config={clientId:"f51060e1c38446f0bacdf283390c37e8"},Hawksearch.templates={pagination:'\n <div class="pagination">\n This is a custom pagination template. Display first item: <strong>{{displayFirstLink}}</strong>\n </div>\n ',searchResultsItem:"search-results-item-template"}</script><script defer="defer" src="handlebars-ui.js"></script></head><body><h1>Hawksearch Demo (custom - override)</h1><hawksearch-results></hawksearch-results><template id="search-results-item-template"><div>Custom override: <strong>{{title}}</strong></div></template></body></html>