@coveo/atomic 3.58.1 → 3.59.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +7376 -7319
- package/dist/cjs/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.cjs +13 -6
- package/dist/cjs/components/commerce/atomic-commerce-product-list/atomic-commerce-product-list.cjs +1 -0
- package/dist/cjs/components/commerce/atomic-product-image/atomic-product-image.cjs +4 -1
- package/dist/cjs/components/common/atomic-citation/atomic-citation.cjs +7 -0
- package/dist/cjs/components/common/atomic-generated-answer-feedback-modal/atomic-generated-answer-feedback-modal.cjs +26 -7
- package/dist/cjs/components/common/atomic-tab-button/atomic-tab-button.cjs +34 -16
- package/dist/cjs/components/common/carousel.cjs +3 -1
- package/dist/cjs/components/common/image-carousel/image-carousel.cjs +8 -2
- package/dist/cjs/components/common/item-list/table-layout.cjs +6 -2
- package/dist/cjs/components/search/atomic-breadbox/atomic-breadbox.cjs +13 -6
- package/dist/cjs/components/search/atomic-result-list/atomic-result-list.cjs +1 -0
- package/dist/cjs/components/search/atomic-tab-manager/atomic-tab-manager.cjs +16 -1
- package/dist/cjs/global/environment.cjs +1 -1
- package/dist/cjs/utils/tailwind.global.tw.css.cjs +1 -1
- package/dist/cjs/versions.cjs +1 -1
- package/dist/esm/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +13 -6
- package/dist/esm/components/commerce/atomic-commerce-product-list/atomic-commerce-product-list.js +1 -0
- package/dist/esm/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +1 -1
- package/dist/esm/components/commerce/atomic-product-image/atomic-product-image.js +4 -1
- package/dist/esm/components/common/atomic-citation/atomic-citation.js +7 -0
- package/dist/esm/components/common/atomic-generated-answer-feedback-modal/atomic-generated-answer-feedback-modal.js +26 -7
- package/dist/esm/components/common/atomic-tab-button/atomic-tab-button.js +34 -16
- package/dist/esm/components/common/carousel.js +3 -1
- package/dist/esm/components/common/image-carousel/image-carousel.js +8 -2
- package/dist/esm/components/common/item-list/table-layout.js +6 -2
- package/dist/esm/components/insight/atomic-insight-result-children/atomic-insight-result-children.js +1 -1
- package/dist/esm/components/search/atomic-breadbox/atomic-breadbox.js +13 -6
- package/dist/esm/components/search/atomic-result-list/atomic-result-list.js +1 -0
- package/dist/esm/components/search/atomic-search-box/atomic-search-box.js +1 -1
- package/dist/esm/components/search/atomic-tab-manager/atomic-tab-manager.js +16 -1
- package/dist/esm/global/environment.js +1 -1
- package/dist/esm/utils/tailwind.global.tw.css.js +1 -1
- package/dist/esm/versions.js +1 -1
- package/dist/lang/cs.json +1 -1
- package/dist/lang/da.json +1 -1
- package/dist/lang/de.json +1 -1
- package/dist/lang/dev.json +1 -1
- package/dist/lang/el.json +1 -1
- package/dist/lang/en.json +1 -1
- package/dist/lang/es.json +1 -1
- package/dist/lang/fi.json +1 -1
- package/dist/lang/fr.json +1 -1
- package/dist/lang/hu.json +1 -1
- package/dist/lang/id.json +1 -1
- package/dist/lang/it.json +1 -1
- package/dist/lang/ja.json +1 -1
- package/dist/lang/ko.json +1 -1
- package/dist/lang/nl.json +1 -1
- package/dist/lang/no.json +1 -1
- package/dist/lang/pl.json +1 -1
- package/dist/lang/pt-BR.json +1 -1
- package/dist/lang/pt.json +1 -1
- package/dist/lang/ru.json +1 -1
- package/dist/lang/sv.json +1 -1
- package/dist/lang/th.json +1 -1
- package/dist/lang/tr.json +1 -1
- package/dist/lang/zh-CN.json +1 -1
- package/dist/lang/zh-TW.json +1 -1
- package/dist/lang/zh.json +1 -1
- package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.d.ts +7 -0
- package/dist/types/components/common/atomic-citation/atomic-citation.d.ts +2 -0
- package/dist/types/components/common/atomic-generated-answer-feedback-modal/atomic-generated-answer-feedback-modal.d.ts +1 -0
- package/dist/types/components/common/atomic-tab-button/atomic-tab-button.d.ts +4 -0
- package/dist/types/components/common/image-carousel/image-carousel.d.ts +2 -0
- package/dist/types/components/common/item-list/table-layout.d.ts +1 -0
- package/dist/types/components/search/atomic-breadbox/atomic-breadbox.d.ts +7 -0
- package/dist/types/components/search/atomic-tab-manager/atomic-tab-manager.d.ts +1 -0
- package/package.json +7 -6
- package/docs/assets.json +0 -1
|
@@ -62,7 +62,8 @@ class AtomicCommerceBreadbox extends external_lit_namespaceObject.LitElement {
|
|
|
62
62
|
else this.searchOrListing = (0, commerce_namespaceObject.buildSearch)(this.bindings.engine);
|
|
63
63
|
this.context = (0, commerce_namespaceObject.buildContext)(this.bindings.engine);
|
|
64
64
|
this.breadcrumbManager = this.searchOrListing.breadcrumbManager();
|
|
65
|
-
if (
|
|
65
|
+
if (this.disableCollapse) this.isCollapsed = false;
|
|
66
|
+
else if (window.ResizeObserver && this.parentElement) {
|
|
66
67
|
this.resizeObserver = new ResizeObserver(()=>this.adaptBreadcrumbs());
|
|
67
68
|
this.resizeObserver.observe(this.parentElement);
|
|
68
69
|
}
|
|
@@ -95,7 +96,7 @@ class AtomicCommerceBreadbox extends external_lit_namespaceObject.LitElement {
|
|
|
95
96
|
this.breadcrumbs.forEach((breadcrumb)=>this.show(breadcrumb));
|
|
96
97
|
}
|
|
97
98
|
adaptBreadcrumbs() {
|
|
98
|
-
if (!this.breadcrumbs.length) return;
|
|
99
|
+
if (this.disableCollapse || !this.breadcrumbs.length) return;
|
|
99
100
|
this.showAllBreadcrumbs();
|
|
100
101
|
if (!this.isCollapsed) return void this.updateShowLessDisplay();
|
|
101
102
|
this.hideOverflowingBreadcrumbs();
|
|
@@ -175,7 +176,7 @@ class AtomicCommerceBreadbox extends external_lit_namespaceObject.LitElement {
|
|
|
175
176
|
i18n: this.bindings.i18n
|
|
176
177
|
}
|
|
177
178
|
})((0, external_lit_namespaceObject.html)`${this.renderBreadcrumbs(breadcrumbs)}
|
|
178
|
-
${(0, breadcrumb_show_more_cjs_namespaceObject.renderBreadcrumbShowMore)({
|
|
179
|
+
${this.disableCollapse ? external_lit_namespaceObject.nothing : (0, external_lit_namespaceObject.html)`${(0, breadcrumb_show_more_cjs_namespaceObject.renderBreadcrumbShowMore)({
|
|
179
180
|
props: {
|
|
180
181
|
refCallback: async (el)=>{
|
|
181
182
|
await this.breadcrumbShowLessFocus.setTarget(el);
|
|
@@ -194,7 +195,7 @@ class AtomicCommerceBreadbox extends external_lit_namespaceObject.LitElement {
|
|
|
194
195
|
})
|
|
195
196
|
}
|
|
196
197
|
})}
|
|
197
|
-
|
|
198
|
+
${(0, breadcrumb_show_less_cjs_namespaceObject.renderBreadcrumbShowLess)({
|
|
198
199
|
props: {
|
|
199
200
|
onShowLess: ()=>{
|
|
200
201
|
this.breadcrumbShowLessFocus.focusOnNextTarget();
|
|
@@ -203,7 +204,7 @@ class AtomicCommerceBreadbox extends external_lit_namespaceObject.LitElement {
|
|
|
203
204
|
isCollapsed: this.isCollapsed,
|
|
204
205
|
i18n: this.bindings.i18n
|
|
205
206
|
}
|
|
206
|
-
})}
|
|
207
|
+
})}`}
|
|
207
208
|
${(0, breadcrumb_clear_all_cjs_namespaceObject.renderBreadcrumbClearAll)({
|
|
208
209
|
props: {
|
|
209
210
|
refCallback: async (ref)=>{
|
|
@@ -220,7 +221,7 @@ class AtomicCommerceBreadbox extends external_lit_namespaceObject.LitElement {
|
|
|
220
221
|
})} `)}`;
|
|
221
222
|
}
|
|
222
223
|
constructor(){
|
|
223
|
-
super(), this.lastRemovedBreadcrumbIndex = 0, this.numberOfBreadcrumbs = 0, this.numberOfCollapsedBreadcrumbs = 0, this.isCollapsed = true, this.showMoreText = '', this.breadboxAriaMessage = new accessibility_utils_cjs_namespaceObject.AriaLiveRegionController(this, 'breadbox', true), this.pathLimit = 3, this.valueForFacetType = (type, field, value)=>{
|
|
224
|
+
super(), this.lastRemovedBreadcrumbIndex = 0, this.numberOfBreadcrumbs = 0, this.numberOfCollapsedBreadcrumbs = 0, this.isCollapsed = true, this.showMoreText = '', this.disableCollapse = false, this.breadboxAriaMessage = new accessibility_utils_cjs_namespaceObject.AriaLiveRegionController(this, 'breadbox', true), this.pathLimit = 3, this.valueForFacetType = (type, field, value)=>{
|
|
224
225
|
switch(type){
|
|
225
226
|
case 'numericalRange':
|
|
226
227
|
return [
|
|
@@ -299,6 +300,12 @@ _ts_decorate([
|
|
|
299
300
|
_ts_decorate([
|
|
300
301
|
(0, decorators_js_namespaceObject.state)()
|
|
301
302
|
], AtomicCommerceBreadbox.prototype, "showMoreText", void 0);
|
|
303
|
+
_ts_decorate([
|
|
304
|
+
(0, decorators_js_namespaceObject.property)({
|
|
305
|
+
type: Boolean,
|
|
306
|
+
attribute: 'disable-collapse'
|
|
307
|
+
})
|
|
308
|
+
], AtomicCommerceBreadbox.prototype, "disableCollapse", void 0);
|
|
302
309
|
_ts_decorate([
|
|
303
310
|
(0, decorators_js_namespaceObject.property)({
|
|
304
311
|
type: Number,
|
package/dist/cjs/components/commerce/atomic-commerce-product-list/atomic-commerce-product-list.cjs
CHANGED
|
@@ -289,6 +289,7 @@ class AtomicCommerceProductList extends (0, children_update_complete_mixin_cjs_n
|
|
|
289
289
|
firstItem,
|
|
290
290
|
host: this,
|
|
291
291
|
itemRenderingFunction: this.itemRenderingFunction,
|
|
292
|
+
label: this.bindings.i18n.t('view-products'),
|
|
292
293
|
listClasses,
|
|
293
294
|
logger: this.bindings.engine.logger,
|
|
294
295
|
templateContentForFirstItem
|
|
@@ -172,7 +172,10 @@ class AtomicProductImage extends external_lit_namespaceObject.LitElement {
|
|
|
172
172
|
navigateToImage: (index)=>this.navigateToImage(index),
|
|
173
173
|
nextImage: ()=>this.nextImage(),
|
|
174
174
|
previousImage: ()=>this.previousImage(),
|
|
175
|
-
numberOfImages: this.numberOfImages
|
|
175
|
+
numberOfImages: this.numberOfImages,
|
|
176
|
+
label: this.bindings.i18n.t('image-gallery', {
|
|
177
|
+
itemName: this.product.ec_name
|
|
178
|
+
})
|
|
176
179
|
}
|
|
177
180
|
})(this.renderCurrentImage(this.images[this.currentImage]))))}
|
|
178
181
|
`;
|
|
@@ -61,6 +61,11 @@ class AtomicCitation extends external_lit_namespaceObject.LitElement {
|
|
|
61
61
|
super.disconnectedCallback();
|
|
62
62
|
this.cleanupPopper();
|
|
63
63
|
this.clearTimers();
|
|
64
|
+
this.removeEventListener('keydown', this.handleKeyDown);
|
|
65
|
+
}
|
|
66
|
+
connectedCallback() {
|
|
67
|
+
super.connectedCallback();
|
|
68
|
+
this.addEventListener('keydown', this.handleKeyDown);
|
|
64
69
|
}
|
|
65
70
|
sendHoverAnalytics() {
|
|
66
71
|
if (this.isOpen) {
|
|
@@ -188,6 +193,8 @@ class AtomicCitation extends external_lit_namespaceObject.LitElement {
|
|
|
188
193
|
}, this.closePopover = ()=>{
|
|
189
194
|
this.clearTimers();
|
|
190
195
|
this.isOpen = false;
|
|
196
|
+
}, this.handleKeyDown = (e)=>{
|
|
197
|
+
if ('Escape' === e.key && this.isOpen) this.closePopover();
|
|
191
198
|
}, this.delayedClosePopover = ()=>{
|
|
192
199
|
this.clearTimers();
|
|
193
200
|
this.closePopoverTimeout = setTimeout(()=>{
|
|
@@ -196,6 +196,19 @@ class AtomicGeneratedAnswerFeedbackModal extends external_lit_namespaceObject.Li
|
|
|
196
196
|
</div>
|
|
197
197
|
`;
|
|
198
198
|
}
|
|
199
|
+
renderRequiredFieldsAlert() {
|
|
200
|
+
return (0, external_lit_namespaceObject.html)`
|
|
201
|
+
<span
|
|
202
|
+
class=${(0, multi_class_map_cjs_namespaceObject.multiClassMap)({
|
|
203
|
+
'sr-only': true,
|
|
204
|
+
hidden: !this.answerEvaluationRequired
|
|
205
|
+
})}
|
|
206
|
+
role="alert"
|
|
207
|
+
>
|
|
208
|
+
${this.bindings.i18n.t('required-fields-error')}
|
|
209
|
+
</span>
|
|
210
|
+
`;
|
|
211
|
+
}
|
|
199
212
|
renderFeedbackOptions() {
|
|
200
213
|
return (0, external_lit_namespaceObject.html)`
|
|
201
214
|
<fieldset>
|
|
@@ -225,7 +238,6 @@ class AtomicGeneratedAnswerFeedbackModal extends external_lit_namespaceObject.Li
|
|
|
225
238
|
class=${(0, multi_class_map_cjs_namespaceObject.multiClassMap)({
|
|
226
239
|
'options flex flex-shrink-0 text-base': true
|
|
227
240
|
})}
|
|
228
|
-
aria-label=${this.bindings.i18n.t(localeKey)}
|
|
229
241
|
>
|
|
230
242
|
${this.renderFeedbackOption('yes', correspondingAnswer)}
|
|
231
243
|
${this.renderFeedbackOption('unknown', correspondingAnswer)}
|
|
@@ -288,8 +300,8 @@ class AtomicGeneratedAnswerFeedbackModal extends external_lit_namespaceObject.Li
|
|
|
288
300
|
'flex flex-col gap-8 leading-4': true
|
|
289
301
|
})}
|
|
290
302
|
>
|
|
291
|
-
${this.
|
|
292
|
-
${this.renderAddNotesField()}
|
|
303
|
+
${this.renderRequiredFieldsAlert()} ${this.renderFeedbackOptions()}
|
|
304
|
+
${this.renderLinkToCorrectAnswerField()} ${this.renderAddNotesField()}
|
|
293
305
|
</form>
|
|
294
306
|
`;
|
|
295
307
|
}
|
|
@@ -307,9 +319,14 @@ class AtomicGeneratedAnswerFeedbackModal extends external_lit_namespaceObject.Li
|
|
|
307
319
|
'w-48': true
|
|
308
320
|
})}
|
|
309
321
|
></atomic-icon>
|
|
310
|
-
<p
|
|
322
|
+
<p
|
|
323
|
+
class=${(0, multi_class_map_cjs_namespaceObject.multiClassMap)({
|
|
311
324
|
'text-base': true
|
|
312
|
-
})}
|
|
325
|
+
})}
|
|
326
|
+
role="status"
|
|
327
|
+
aria-live="polite"
|
|
328
|
+
aria-atomic="true"
|
|
329
|
+
>
|
|
313
330
|
${this.bindings.i18n.t('generated-answer-feedback-success')}
|
|
314
331
|
</p>
|
|
315
332
|
</div>
|
|
@@ -332,8 +349,10 @@ class AtomicGeneratedAnswerFeedbackModal extends external_lit_namespaceObject.Li
|
|
|
332
349
|
'required-label text-base': true
|
|
333
350
|
})}>
|
|
334
351
|
<span class=${(0, multi_class_map_cjs_namespaceObject.multiClassMap)({
|
|
335
|
-
'text-error mr-0.5': true
|
|
336
|
-
})}
|
|
352
|
+
'text-error-red mr-0.5': true
|
|
353
|
+
})}
|
|
354
|
+
>*</span
|
|
355
|
+
>
|
|
337
356
|
${this.bindings.i18n.t('required-fields')}
|
|
338
357
|
</div>
|
|
339
358
|
<div class=${(0, multi_class_map_cjs_namespaceObject.multiClassMap)({
|
|
@@ -28,7 +28,6 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
28
28
|
});
|
|
29
29
|
const external_lit_namespaceObject = require("lit");
|
|
30
30
|
const decorators_js_namespaceObject = require("lit/decorators.js");
|
|
31
|
-
const external_button_cjs_namespaceObject = require("../button.cjs");
|
|
32
31
|
const error_guard_cjs_namespaceObject = require("../../../decorators/error-guard.cjs");
|
|
33
32
|
const with_tailwind_styles_cjs_namespaceObject = require("../../../decorators/with-tailwind-styles.cjs");
|
|
34
33
|
const light_dom_cjs_namespaceObject = require("../../../mixins/light-dom.cjs");
|
|
@@ -44,17 +43,32 @@ function _ts_metadata(k, v) {
|
|
|
44
43
|
class AtomicTabButton extends (0, light_dom_cjs_namespaceObject.LightDomMixin)(external_lit_namespaceObject.LitElement) {
|
|
45
44
|
connectedCallback() {
|
|
46
45
|
super.connectedCallback();
|
|
47
|
-
this.
|
|
46
|
+
this.addEventListener('click', this.handleClick);
|
|
47
|
+
this.addEventListener('keydown', this.handleKeydown);
|
|
48
|
+
this.updateHostAttributes();
|
|
48
49
|
this.updateHostClasses();
|
|
49
50
|
}
|
|
51
|
+
disconnectedCallback() {
|
|
52
|
+
super.disconnectedCallback();
|
|
53
|
+
this.removeEventListener('click', this.handleClick);
|
|
54
|
+
this.removeEventListener('keydown', this.handleKeydown);
|
|
55
|
+
}
|
|
50
56
|
updated(changedProperties) {
|
|
51
57
|
if (changedProperties.has('active')) {
|
|
52
|
-
this.
|
|
53
|
-
this.setAttribute('part', this.active ? 'button-container-active' : 'button-container');
|
|
58
|
+
this.updateHostAttributes();
|
|
54
59
|
this.updateHostClasses();
|
|
55
60
|
}
|
|
56
61
|
}
|
|
62
|
+
updateHostAttributes() {
|
|
63
|
+
this.setAttribute('role', 'tab');
|
|
64
|
+
this.setAttribute('aria-selected', this.active ? 'true' : 'false');
|
|
65
|
+
this.setAttribute('part', this.active ? 'button-container-active' : 'button-container');
|
|
66
|
+
this.tabIndex = this.active ? 0 : -1;
|
|
67
|
+
}
|
|
57
68
|
updateHostClasses() {
|
|
69
|
+
this.classList.add('cursor-pointer', 'hover:text-primary', 'focus-visible:text-primary', 'focus-visible:outline-none');
|
|
70
|
+
this.classList.toggle('text-on-background', this.active);
|
|
71
|
+
this.classList.toggle('text-neutral-dark', !this.active);
|
|
58
72
|
this.classList.toggle('relative', this.active);
|
|
59
73
|
this.classList.toggle('after:block', this.active);
|
|
60
74
|
this.classList.toggle('after:w-full', this.active);
|
|
@@ -67,29 +81,33 @@ class AtomicTabButton extends (0, light_dom_cjs_namespaceObject.LightDomMixin)(e
|
|
|
67
81
|
render() {
|
|
68
82
|
const buttonClasses = [
|
|
69
83
|
'relative',
|
|
84
|
+
'inline-block',
|
|
70
85
|
'overflow-hidden',
|
|
71
86
|
'w-full',
|
|
72
87
|
'truncate',
|
|
73
88
|
'px-2',
|
|
74
89
|
'pb-1',
|
|
75
90
|
'text-xl',
|
|
76
|
-
'sm:px-6'
|
|
77
|
-
'hover:text-primary',
|
|
78
|
-
!this.active && 'text-neutral-dark'
|
|
91
|
+
'sm:px-6'
|
|
79
92
|
].filter(Boolean).join(' ');
|
|
80
93
|
return (0, external_lit_namespaceObject.html)`
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
})((0, external_lit_namespaceObject.html)`${this.label}`)}
|
|
94
|
+
<span
|
|
95
|
+
class=${buttonClasses}
|
|
96
|
+
part=${this.active ? 'tab-button-active' : 'tab-button'}
|
|
97
|
+
>
|
|
98
|
+
${this.label}
|
|
99
|
+
</span>
|
|
89
100
|
`;
|
|
90
101
|
}
|
|
91
102
|
constructor(...args){
|
|
92
|
-
super(...args), this.active = false
|
|
103
|
+
super(...args), this.active = false, this.handleClick = ()=>{
|
|
104
|
+
this.select();
|
|
105
|
+
}, this.handleKeydown = (event)=>{
|
|
106
|
+
if ('Enter' === event.key || ' ' === event.key) {
|
|
107
|
+
event.preventDefault();
|
|
108
|
+
this.select();
|
|
109
|
+
}
|
|
110
|
+
};
|
|
93
111
|
}
|
|
94
112
|
}
|
|
95
113
|
_ts_decorate([
|
|
@@ -111,7 +111,9 @@ const renderCarousel = ({ props })=>(children)=>{
|
|
|
111
111
|
${renderPreviousButton(numberOfPages, previousPage, props.bindings)}
|
|
112
112
|
${renderNextButton(numberOfPages, nextPage, props.bindings)}
|
|
113
113
|
</div>
|
|
114
|
-
<div class="carousel-items"
|
|
114
|
+
<div class="carousel-items" aria-live="polite" aria-atomic="false">
|
|
115
|
+
${children}
|
|
116
|
+
</div>
|
|
115
117
|
</div>
|
|
116
118
|
${renderIndicators(numberOfPages, currentPage)}
|
|
117
119
|
</div>
|
|
@@ -91,9 +91,15 @@ const renderImageCarousel = ({ props })=>{
|
|
|
91
91
|
if (!children || children === external_lit_namespaceObject.nothing) return external_lit_namespaceObject.nothing;
|
|
92
92
|
return (0, external_lit_namespaceObject.html)` <div
|
|
93
93
|
class="relative flex w-full min-w-full items-center justify-center"
|
|
94
|
+
role="region"
|
|
95
|
+
aria-roledescription="carousel"
|
|
96
|
+
aria-label=${props.label}
|
|
94
97
|
>
|
|
95
|
-
${renderPreviousButton()}
|
|
96
|
-
|
|
98
|
+
${renderPreviousButton()}
|
|
99
|
+
<div class="w-full h-full" aria-live="polite" aria-atomic="false">
|
|
100
|
+
${children}
|
|
101
|
+
</div>
|
|
102
|
+
${renderNextButton()} ${renderIndicators()}
|
|
97
103
|
</div>`;
|
|
98
104
|
};
|
|
99
105
|
};
|
|
@@ -35,10 +35,14 @@ const map_js_namespaceObject = require("lit/directives/map.js");
|
|
|
35
35
|
const ref_js_namespaceObject = require("lit/directives/ref.js");
|
|
36
36
|
const external_table_element_utils_cjs_namespaceObject = require("../table-element-utils.cjs");
|
|
37
37
|
const renderTableLayout = ({ props })=>{
|
|
38
|
-
const { host, listClasses, logger } = props;
|
|
38
|
+
const { host, listClasses, logger, label } = props;
|
|
39
39
|
const fieldColumns = getFieldTableColumns(props);
|
|
40
40
|
if (!fieldColumns.length) logger.error('atomic-table-element elements missing in the template to display columns.', host);
|
|
41
|
-
return (children)=>(0, external_lit_namespaceObject.html)`<table
|
|
41
|
+
return (children)=>(0, external_lit_namespaceObject.html)`<table
|
|
42
|
+
class="list-root ${listClasses}"
|
|
43
|
+
part="result-table"
|
|
44
|
+
aria-label=${label}
|
|
45
|
+
>
|
|
42
46
|
<thead part="result-table-heading">
|
|
43
47
|
<tr part="result-table-heading-row">
|
|
44
48
|
${(0, map_js_namespaceObject.map)(fieldColumns, (column)=>(0, external_lit_namespaceObject.html)`<th part="result-table-heading-cell">
|
|
@@ -57,7 +57,8 @@ class AtomicBreadbox extends external_lit_namespaceObject.LitElement {
|
|
|
57
57
|
initialize() {
|
|
58
58
|
this.breadcrumbManager = (0, headless_namespaceObject.buildBreadcrumbManager)(this.bindings.engine);
|
|
59
59
|
this.facetManager = (0, headless_namespaceObject.buildFacetManager)(this.bindings.engine);
|
|
60
|
-
if (
|
|
60
|
+
if (this.disableCollapse) this.isCollapsed = false;
|
|
61
|
+
else if (window.ResizeObserver && this.parentElement) {
|
|
61
62
|
this.resizeObserver = new ResizeObserver(()=>this.adaptBreadcrumbs());
|
|
62
63
|
this.resizeObserver.observe(this.parentElement);
|
|
63
64
|
}
|
|
@@ -77,7 +78,7 @@ class AtomicBreadbox extends external_lit_namespaceObject.LitElement {
|
|
|
77
78
|
i18n: this.bindings.i18n
|
|
78
79
|
}
|
|
79
80
|
})((0, external_lit_namespaceObject.html)`${this.renderBreadcrumbs(breadcrumbs)}
|
|
80
|
-
${(0, breadcrumb_show_more_cjs_namespaceObject.renderBreadcrumbShowMore)({
|
|
81
|
+
${this.disableCollapse ? external_lit_namespaceObject.nothing : (0, external_lit_namespaceObject.html)`${(0, breadcrumb_show_more_cjs_namespaceObject.renderBreadcrumbShowMore)({
|
|
81
82
|
props: {
|
|
82
83
|
refCallback: async (el)=>{
|
|
83
84
|
await this.breadcrumbShowLessFocus.setTarget(el);
|
|
@@ -96,7 +97,7 @@ class AtomicBreadbox extends external_lit_namespaceObject.LitElement {
|
|
|
96
97
|
})
|
|
97
98
|
}
|
|
98
99
|
})}
|
|
99
|
-
|
|
100
|
+
${(0, breadcrumb_show_less_cjs_namespaceObject.renderBreadcrumbShowLess)({
|
|
100
101
|
props: {
|
|
101
102
|
onShowLess: ()=>{
|
|
102
103
|
this.breadcrumbShowLessFocus.focusOnNextTarget();
|
|
@@ -105,7 +106,7 @@ class AtomicBreadbox extends external_lit_namespaceObject.LitElement {
|
|
|
105
106
|
isCollapsed: this.isCollapsed,
|
|
106
107
|
i18n: this.bindings.i18n
|
|
107
108
|
}
|
|
108
|
-
})}
|
|
109
|
+
})}`}
|
|
109
110
|
${(0, breadcrumb_clear_all_cjs_namespaceObject.renderBreadcrumbClearAll)({
|
|
110
111
|
props: {
|
|
111
112
|
refCallback: async (ref)=>{
|
|
@@ -144,7 +145,7 @@ class AtomicBreadbox extends external_lit_namespaceObject.LitElement {
|
|
|
144
145
|
this.breadcrumbs.forEach((breadcrumb)=>this.show(breadcrumb));
|
|
145
146
|
}
|
|
146
147
|
adaptBreadcrumbs() {
|
|
147
|
-
if (!this.breadcrumbs.length) return;
|
|
148
|
+
if (this.disableCollapse || !this.breadcrumbs.length) return;
|
|
148
149
|
this.showAllBreadcrumbs();
|
|
149
150
|
if (!this.isCollapsed) return void this.updateShowLessDisplay();
|
|
150
151
|
this.hideOverflowingBreadcrumbs();
|
|
@@ -288,7 +289,7 @@ class AtomicBreadbox extends external_lit_namespaceObject.LitElement {
|
|
|
288
289
|
});
|
|
289
290
|
}
|
|
290
291
|
constructor(){
|
|
291
|
-
super(), this.lastRemovedBreadcrumbIndex = 0, this.numberOfBreadcrumbs = 0, this.numberOfCollapsedBreadcrumbs = 0, this.isCollapsed = true, this.showMoreText = '', this.breadboxAriaMessage = new accessibility_utils_cjs_namespaceObject.AriaLiveRegionController(this, 'breadbox', true), this.pathLimit = 3;
|
|
292
|
+
super(), this.lastRemovedBreadcrumbIndex = 0, this.numberOfBreadcrumbs = 0, this.numberOfCollapsedBreadcrumbs = 0, this.isCollapsed = true, this.showMoreText = '', this.disableCollapse = false, this.breadboxAriaMessage = new accessibility_utils_cjs_namespaceObject.AriaLiveRegionController(this, 'breadbox', true), this.pathLimit = 3;
|
|
292
293
|
new validate_props_controller_cjs_namespaceObject.ValidatePropsController(this, ()=>({
|
|
293
294
|
pathLimit: this.pathLimit
|
|
294
295
|
}), AtomicBreadbox.propsSchema);
|
|
@@ -332,6 +333,12 @@ _ts_decorate([
|
|
|
332
333
|
_ts_decorate([
|
|
333
334
|
(0, decorators_js_namespaceObject.state)()
|
|
334
335
|
], AtomicBreadbox.prototype, "showMoreText", void 0);
|
|
336
|
+
_ts_decorate([
|
|
337
|
+
(0, decorators_js_namespaceObject.property)({
|
|
338
|
+
type: Boolean,
|
|
339
|
+
attribute: 'disable-collapse'
|
|
340
|
+
})
|
|
341
|
+
], AtomicBreadbox.prototype, "disableCollapse", void 0);
|
|
335
342
|
_ts_decorate([
|
|
336
343
|
(0, decorators_js_namespaceObject.property)({
|
|
337
344
|
type: Number,
|
|
@@ -238,6 +238,7 @@ class AtomicResultList extends (0, children_update_complete_mixin_cjs_namespaceO
|
|
|
238
238
|
firstItem,
|
|
239
239
|
host: this,
|
|
240
240
|
itemRenderingFunction: this.itemRenderingFunction,
|
|
241
|
+
label: this.bindings.i18n.t('view-results'),
|
|
241
242
|
listClasses,
|
|
242
243
|
logger: this.bindings.engine.logger,
|
|
243
244
|
templateContentForFirstItem
|
|
@@ -93,10 +93,11 @@ class AtomicTabManager extends external_lit_namespaceObject.LitElement {
|
|
|
93
93
|
exportparts="popover-button, value-label, arrow-icon, backdrop, overflow-tabs, popover-tab"
|
|
94
94
|
>
|
|
95
95
|
<div
|
|
96
|
-
role="
|
|
96
|
+
role="tablist"
|
|
97
97
|
aria-label="tab-area"
|
|
98
98
|
part="tab-area"
|
|
99
99
|
class="border-neutral mb-2 flex w-full flex-row border-b"
|
|
100
|
+
@keydown=${this.handleTablistKeydown}
|
|
100
101
|
>
|
|
101
102
|
${this.tabs.map((tab)=>{
|
|
102
103
|
const isActive = this.tabManagerState.activeTab === tab.name;
|
|
@@ -114,6 +115,20 @@ class AtomicTabManager extends external_lit_namespaceObject.LitElement {
|
|
|
114
115
|
</atomic-tab-bar>
|
|
115
116
|
`;
|
|
116
117
|
}
|
|
118
|
+
handleTablistKeydown(event) {
|
|
119
|
+
const tabs = Array.from(event.currentTarget.querySelectorAll('[role="tab"]'));
|
|
120
|
+
const currentIndex = tabs.indexOf(event.target);
|
|
121
|
+
if (-1 === currentIndex) return;
|
|
122
|
+
let nextIndex = null;
|
|
123
|
+
if ('ArrowRight' === event.key) nextIndex = (currentIndex + 1) % tabs.length;
|
|
124
|
+
else if ('ArrowLeft' === event.key) nextIndex = (currentIndex - 1 + tabs.length) % tabs.length;
|
|
125
|
+
else if ('Home' === event.key) nextIndex = 0;
|
|
126
|
+
else if ('End' === event.key) nextIndex = tabs.length - 1;
|
|
127
|
+
if (null !== nextIndex) {
|
|
128
|
+
event.preventDefault();
|
|
129
|
+
tabs[nextIndex].focus();
|
|
130
|
+
}
|
|
131
|
+
}
|
|
117
132
|
constructor(...args){
|
|
118
133
|
super(...args), this.tabs = [], this.clearFiltersOnTabChange = false;
|
|
119
134
|
}
|