@taiga-ui/core 4.29.0 → 4.30.0-canary.07e997d
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/components/data-list/data-list.component.d.ts +2 -1
- package/components/data-list/data-list.d.ts +3 -2
- package/components/data-list/data-list.tokens.d.ts +2 -8
- package/components/data-list/index.d.ts +3 -1
- package/components/data-list/option/option-content.d.ts +8 -0
- package/components/data-list/{option.component.d.ts → option/option-legacy.component.d.ts} +5 -1
- package/components/data-list/option/option.directive.d.ts +25 -0
- package/components/dialog/dialog.component.d.ts +1 -1
- package/directives/dropdown/dropdown.directive.d.ts +1 -0
- package/esm2022/components/data-list/data-list.component.mjs +16 -8
- package/esm2022/components/data-list/data-list.mjs +5 -2
- package/esm2022/components/data-list/data-list.tokens.mjs +1 -11
- package/esm2022/components/data-list/index.mjs +4 -2
- package/esm2022/components/data-list/option/option-content.mjs +12 -0
- package/esm2022/components/data-list/option/option-legacy.component.mjs +90 -0
- package/esm2022/components/data-list/option/option.directive.mjs +97 -0
- package/esm2022/components/dialog/dialog.component.mjs +4 -4
- package/esm2022/components/root/root.component.mjs +2 -2
- package/esm2022/components/textfield/textfield.component.mjs +3 -3
- package/esm2022/directives/dropdown/dropdown.directive.mjs +9 -2
- package/esm2022/directives/title/title.directive.mjs +2 -2
- package/fesm2022/taiga-ui-core-components-data-list.mjs +117 -19
- package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-dialog.mjs +3 -3
- package/fesm2022/taiga-ui-core-components-dialog.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-root.mjs +1 -1
- package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-textfield.mjs +2 -2
- package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-dropdown.mjs +7 -0
- package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-title.mjs +2 -2
- package/fesm2022/taiga-ui-core-directives-title.mjs.map +1 -1
- package/package.json +4 -4
- package/styles/components/textfield.less +4 -4
- package/styles/components/title.less +11 -0
- package/styles/mixins/slider.less +1 -0
- package/esm2022/components/data-list/option.component.mjs +0 -86
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, forwardRef, inject, Input, } from '@angular/core';
|
|
2
|
-
import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
|
|
3
|
-
import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
|
|
4
|
-
import { tuiIsNativeFocused } from '@taiga-ui/cdk/utils/focus';
|
|
5
|
-
import { TuiDropdownDirective } from '@taiga-ui/core/directives/dropdown';
|
|
6
|
-
import { TuiWithIcons } from '@taiga-ui/core/directives/icons';
|
|
7
|
-
import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
|
|
8
|
-
import { TuiDataListComponent } from './data-list.component';
|
|
9
|
-
import { TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT } from './data-list.tokens';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@taiga-ui/core/directives/icons";
|
|
12
|
-
// TODO: Consider all use cases for aria roles
|
|
13
|
-
class TuiOption {
|
|
14
|
-
constructor() {
|
|
15
|
-
this.isMobile = inject(TUI_IS_MOBILE);
|
|
16
|
-
this.el = tuiInjectElement();
|
|
17
|
-
this.dataList = inject(forwardRef(() => TuiDataListComponent), { optional: true });
|
|
18
|
-
this.host = inject(TUI_DATA_LIST_HOST, {
|
|
19
|
-
optional: true,
|
|
20
|
-
});
|
|
21
|
-
this.content = inject(TUI_OPTION_CONTENT, { optional: true });
|
|
22
|
-
this.dropdown = inject(TuiDropdownDirective, {
|
|
23
|
-
self: true,
|
|
24
|
-
optional: true,
|
|
25
|
-
})?.ref;
|
|
26
|
-
this.disabled = false;
|
|
27
|
-
}
|
|
28
|
-
// Preventing focus loss upon focused option removal
|
|
29
|
-
ngOnDestroy() {
|
|
30
|
-
this.dataList?.handleFocusLossIfNecessary(this.el);
|
|
31
|
-
}
|
|
32
|
-
onClick() {
|
|
33
|
-
if (this.host?.handleOption && this.value !== undefined) {
|
|
34
|
-
this.host.handleOption(this.value);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
onMouseMove() {
|
|
38
|
-
if (!this.isMobile &&
|
|
39
|
-
!tuiIsNativeFocused(this.el) &&
|
|
40
|
-
this.dataList &&
|
|
41
|
-
this.el.closest('[tuiDataListDropdownManager]')) {
|
|
42
|
-
this.el.focus({ preventScroll: true });
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiOption, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiOption, isStandalone: true, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: { disabled: "disabled", value: "value" }, host: { attributes: { "type": "button", "role": "option" }, listeners: { "click": "onClick()", "mousemove.zoneless": "onMouseMove()" }, properties: { "attr.disabled": "disabled || null", "class._with-dropdown": "dropdown?.()" } }, hostDirectives: [{ directive: i1.TuiWithIcons }], ngImport: i0, template: `
|
|
47
|
-
<ng-container *polymorpheusOutlet="content || t as text; context: {$implicit: t}">
|
|
48
|
-
{{ text }}
|
|
49
|
-
</ng-container>
|
|
50
|
-
<ng-template #t>
|
|
51
|
-
<ng-content />
|
|
52
|
-
</ng-template>
|
|
53
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
54
|
-
}
|
|
55
|
-
export { TuiOption };
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiOption, decorators: [{
|
|
57
|
-
type: Component,
|
|
58
|
-
args: [{
|
|
59
|
-
standalone: true,
|
|
60
|
-
selector: 'button[tuiOption], a[tuiOption], label[tuiOption]',
|
|
61
|
-
imports: [PolymorpheusOutlet],
|
|
62
|
-
template: `
|
|
63
|
-
<ng-container *polymorpheusOutlet="content || t as text; context: {$implicit: t}">
|
|
64
|
-
{{ text }}
|
|
65
|
-
</ng-container>
|
|
66
|
-
<ng-template #t>
|
|
67
|
-
<ng-content />
|
|
68
|
-
</ng-template>
|
|
69
|
-
`,
|
|
70
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
71
|
-
hostDirectives: [TuiWithIcons],
|
|
72
|
-
host: {
|
|
73
|
-
type: 'button',
|
|
74
|
-
role: 'option',
|
|
75
|
-
'[attr.disabled]': 'disabled || null',
|
|
76
|
-
'[class._with-dropdown]': 'dropdown?.()',
|
|
77
|
-
'(click)': 'onClick()',
|
|
78
|
-
'(mousemove.zoneless)': 'onMouseMove()',
|
|
79
|
-
},
|
|
80
|
-
}]
|
|
81
|
-
}], propDecorators: { disabled: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], value: [{
|
|
84
|
-
type: Input
|
|
85
|
-
}] } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3Qvb3B0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBRTdELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRTFELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRTNELE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDOzs7QUFFMUUsOENBQThDO0FBQzlDLE1BdUJhLFNBQVM7SUF2QnRCO1FBd0JxQixhQUFRLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pDLE9BQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxNQUFNLENBQzlCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUN0QyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FDbkIsQ0FBQztRQUVlLFNBQUksR0FBRyxNQUFNLENBQXFCLGtCQUFrQixFQUFFO1lBQ25FLFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQUMsQ0FBQztRQUVnQixZQUFPLEdBRXRCLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBRTlCLGFBQVEsR0FBRyxNQUFNLENBQUMsb0JBQW9CLEVBQUU7WUFDdkQsSUFBSSxFQUFFLElBQUk7WUFDVixRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDLEVBQUUsR0FBRyxDQUFDO1FBR0QsYUFBUSxHQUFHLEtBQUssQ0FBQztLQTBCM0I7SUFyQkcsb0RBQW9EO0lBQzdDLFdBQVc7UUFDZCxJQUFJLENBQUMsUUFBUSxFQUFFLDBCQUEwQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRVMsT0FBTztRQUNiLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxZQUFZLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDckQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3RDO0lBQ0wsQ0FBQztJQUVTLFdBQVc7UUFDakIsSUFDSSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQ2QsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxRQUFRO1lBQ2IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsOEJBQThCLENBQUMsRUFDakQ7WUFDRSxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1NBQ3hDO0lBQ0wsQ0FBQzsrR0EvQ1EsU0FBUzttR0FBVCxTQUFTLHdiQW5CUjs7Ozs7OztLQU9ULDREQVJTLGtCQUFrQjs7U0FvQm5CLFNBQVM7NEZBQVQsU0FBUztrQkF2QnJCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxtREFBbUQ7b0JBQzdELE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUM3QixRQUFRLEVBQUU7Ozs7Ozs7S0FPVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsY0FBYyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUM5QixJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsaUJBQWlCLEVBQUUsa0JBQWtCO3dCQUNyQyx3QkFBd0IsRUFBRSxjQUFjO3dCQUN4QyxTQUFTLEVBQUUsV0FBVzt3QkFDdEIsc0JBQXNCLEVBQUUsZUFBZTtxQkFDMUM7aUJBQ0o7OEJBdUJVLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7T25EZXN0cm95LCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9JU19NT0JJTEV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtUdWlDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlJc05hdGl2ZUZvY3VzZWR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZm9jdXMnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQge1R1aVdpdGhJY29uc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9pY29ucyc7XG5pbXBvcnQgdHlwZSB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c091dGxldH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VHVpRGF0YUxpc3RDb21wb25lbnR9IGZyb20gJy4vZGF0YS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgdHlwZSB7VHVpRGF0YUxpc3RIb3N0fSBmcm9tICcuL2RhdGEtbGlzdC50b2tlbnMnO1xuaW1wb3J0IHtUVUlfREFUQV9MSVNUX0hPU1QsIFRVSV9PUFRJT05fQ09OVEVOVH0gZnJvbSAnLi9kYXRhLWxpc3QudG9rZW5zJztcblxuLy8gVE9ETzogQ29uc2lkZXIgYWxsIHVzZSBjYXNlcyBmb3IgYXJpYSByb2xlc1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2J1dHRvblt0dWlPcHRpb25dLCBhW3R1aU9wdGlvbl0sIGxhYmVsW3R1aU9wdGlvbl0nLFxuICAgIGltcG9ydHM6IFtQb2x5bW9ycGhldXNPdXRsZXRdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImNvbnRlbnQgfHwgdCBhcyB0ZXh0OyBjb250ZXh0OiB7JGltcGxpY2l0OiB0fVwiPlxuICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICN0PlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpV2l0aEljb25zXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICByb2xlOiAnb3B0aW9uJyxcbiAgICAgICAgJ1thdHRyLmRpc2FibGVkXSc6ICdkaXNhYmxlZCB8fCBudWxsJyxcbiAgICAgICAgJ1tjbGFzcy5fd2l0aC1kcm9wZG93bl0nOiAnZHJvcGRvd24/LigpJyxcbiAgICAgICAgJyhjbGljayknOiAnb25DbGljaygpJyxcbiAgICAgICAgJyhtb3VzZW1vdmUuem9uZWxlc3MpJzogJ29uTW91c2VNb3ZlKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aU9wdGlvbjxUID0gdW5rbm93bj4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGUgPSBpbmplY3QoVFVJX0lTX01PQklMRSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRhdGFMaXN0ID0gaW5qZWN0PFR1aURhdGFMaXN0Q29tcG9uZW50PFQ+PihcbiAgICAgICAgZm9yd2FyZFJlZigoKSA9PiBUdWlEYXRhTGlzdENvbXBvbmVudCksXG4gICAgICAgIHtvcHRpb25hbDogdHJ1ZX0sXG4gICAgKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdCA9IGluamVjdDxUdWlEYXRhTGlzdEhvc3Q8VD4+KFRVSV9EQVRBX0xJU1RfSE9TVCwge1xuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFxuICAgICAgICBUdWlDb250ZXh0PFRlbXBsYXRlUmVmPFJlY29yZDxzdHJpbmcsIHVua25vd24+Pj5cbiAgICA+ID0gaW5qZWN0KFRVSV9PUFRJT05fQ09OVEVOVCwge29wdGlvbmFsOiB0cnVlfSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZHJvcGRvd24gPSBpbmplY3QoVHVpRHJvcGRvd25EaXJlY3RpdmUsIHtcbiAgICAgICAgc2VsZjogdHJ1ZSxcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgfSk/LnJlZjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB2YWx1ZT86IFQ7XG5cbiAgICAvLyBQcmV2ZW50aW5nIGZvY3VzIGxvc3MgdXBvbiBmb2N1c2VkIG9wdGlvbiByZW1vdmFsXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGFMaXN0Py5oYW5kbGVGb2N1c0xvc3NJZk5lY2Vzc2FyeSh0aGlzLmVsKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaG9zdD8uaGFuZGxlT3B0aW9uICYmIHRoaXMudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5ob3N0LmhhbmRsZU9wdGlvbih0aGlzLnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbk1vdXNlTW92ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMuaXNNb2JpbGUgJiZcbiAgICAgICAgICAgICF0dWlJc05hdGl2ZUZvY3VzZWQodGhpcy5lbCkgJiZcbiAgICAgICAgICAgIHRoaXMuZGF0YUxpc3QgJiZcbiAgICAgICAgICAgIHRoaXMuZWwuY2xvc2VzdCgnW3R1aURhdGFMaXN0RHJvcGRvd25NYW5hZ2VyXScpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5lbC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|