@sbb-esta/lyne-elements 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autocomplete/autocomplete-base-element.d.ts +93 -0
- package/autocomplete/autocomplete-base-element.d.ts.map +1 -0
- package/autocomplete/autocomplete.d.ts +13 -86
- package/autocomplete/autocomplete.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +45 -0
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts +33 -0
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-button.d.ts +2 -0
- package/autocomplete-grid/autocomplete-grid-button.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-button.js +66 -0
- package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts +17 -0
- package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-cell.d.ts +2 -0
- package/autocomplete-grid/autocomplete-grid-cell.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-cell.js +28 -0
- package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts +21 -0
- package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts +2 -0
- package/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-optgroup.d.ts +2 -0
- package/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-optgroup.js +37 -0
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts +40 -0
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-option.d.ts +2 -0
- package/autocomplete-grid/autocomplete-grid-option.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-option.js +67 -0
- package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts +18 -0
- package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-row.d.ts +2 -0
- package/autocomplete-grid/autocomplete-grid-row.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid-row.js +31 -0
- package/autocomplete-grid/autocomplete-grid.d.ts +2 -0
- package/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
- package/autocomplete-grid/autocomplete-grid.js +139 -0
- package/autocomplete-grid.d.ts +7 -0
- package/autocomplete-grid.d.ts.map +1 -0
- package/autocomplete-grid.js +6 -0
- package/autocomplete.d.ts +1 -0
- package/autocomplete.d.ts.map +1 -1
- package/autocomplete.js +162 -145
- package/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
- package/button/mini-button/mini-button-base-element.d.ts +9 -0
- package/button/mini-button/mini-button-base-element.d.ts.map +1 -0
- package/button/mini-button/mini-button.d.ts +3 -4
- package/button/mini-button/mini-button.d.ts.map +1 -1
- package/button/mini-button.d.ts +1 -0
- package/button/mini-button.d.ts.map +1 -1
- package/button/mini-button.js +23 -13
- package/checkbox/checkbox.js +18 -18
- package/checkbox/common.js +13 -13
- package/container/container.js +3 -3
- package/core/mixins/form-associated-mixin.d.ts.map +1 -1
- package/core/mixins.js +3 -1
- package/core/overlay/overlay-trigger-attributes.d.ts +1 -1
- package/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
- package/core/overlay.js +2 -2
- package/core/styles/core.scss +1 -0
- package/core/styles/mixins/buttons.scss +13 -8
- package/core/styles/mixins/helpers.scss +1 -0
- package/core/styles/mixins/pearl-chain-bullet.scss +1 -1
- package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +1 -0
- package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +2 -1
- package/core.css +3 -1
- package/custom-elements.json +13897 -9149
- package/datepicker/datepicker-next-day.js +12 -12
- package/datepicker/datepicker-previous-day.js +1 -1
- package/development/autocomplete/autocomplete-base-element.d.ts +93 -0
- package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -0
- package/development/autocomplete/autocomplete.d.ts +13 -86
- package/development/autocomplete/autocomplete.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +45 -0
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts +33 -0
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-button.d.ts +2 -0
- package/development/autocomplete-grid/autocomplete-grid-button.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-button.js +224 -0
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts +17 -0
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-cell.d.ts +2 -0
- package/development/autocomplete-grid/autocomplete-grid-cell.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-cell.js +67 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts +21 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts +2 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup/index.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts +2 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-optgroup.js +45 -0
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts +40 -0
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-option.d.ts +2 -0
- package/development/autocomplete-grid/autocomplete-grid-option.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-option.js +174 -0
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts +18 -0
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-row.d.ts +2 -0
- package/development/autocomplete-grid/autocomplete-grid-row.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid-row.js +143 -0
- package/development/autocomplete-grid/autocomplete-grid.d.ts +2 -0
- package/development/autocomplete-grid/autocomplete-grid.d.ts.map +1 -0
- package/development/autocomplete-grid/autocomplete-grid.js +185 -0
- package/development/autocomplete-grid.d.ts +7 -0
- package/development/autocomplete-grid.d.ts.map +1 -0
- package/development/autocomplete-grid.js +7 -0
- package/development/autocomplete.d.ts +1 -0
- package/development/autocomplete.d.ts.map +1 -1
- package/development/autocomplete.js +168 -143
- package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
- package/development/breadcrumb/breadcrumb-group.js +1 -1
- package/development/button/mini-button/mini-button-base-element.d.ts +9 -0
- package/development/button/mini-button/mini-button-base-element.d.ts.map +1 -0
- package/development/button/mini-button/mini-button.d.ts +3 -4
- package/development/button/mini-button/mini-button.d.ts.map +1 -1
- package/development/button/mini-button.d.ts +1 -0
- package/development/button/mini-button.d.ts.map +1 -1
- package/development/button/mini-button.js +32 -16
- package/development/checkbox/checkbox.js +7 -1
- package/development/checkbox/common.js +1 -3
- package/development/container/container.js +2 -1
- package/development/core/mixins/form-associated-mixin.d.ts.map +1 -1
- package/development/core/mixins.js +4 -2
- package/development/core/overlay/overlay-trigger-attributes.d.ts +1 -1
- package/development/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
- package/development/core/overlay.js +3 -3
- package/development/datepicker/datepicker-next-day.js +8 -7
- package/development/datepicker/datepicker-previous-day.js +8 -7
- package/development/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
- package/development/form-field/form-field-clear.js +8 -7
- package/development/form-field/form-field.js +3 -3
- package/development/icon/icon-base.d.ts.map +1 -1
- package/development/icon/icon.d.ts.map +1 -1
- package/development/icon.js +1 -1
- package/development/image/image.d.ts +1 -0
- package/development/image/image.d.ts.map +1 -1
- package/development/image.js +10 -4
- package/development/map-container.js +12 -14
- package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
- package/development/navigation/navigation-marker.js +1 -1
- package/development/option/optgroup/optgroup-base-element.d.ts +28 -0
- package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -0
- package/development/option/optgroup/optgroup.d.ts +7 -20
- package/development/option/optgroup/optgroup.d.ts.map +1 -1
- package/development/option/optgroup.d.ts +1 -0
- package/development/option/optgroup.d.ts.map +1 -1
- package/development/option/optgroup.js +74 -49
- package/development/option/option/option-base-element.d.ts +69 -0
- package/development/option/option/option-base-element.d.ts.map +1 -0
- package/development/option/option/option.d.ts +14 -57
- package/development/option/option/option.d.ts.map +1 -1
- package/development/option/option.d.ts +1 -0
- package/development/option/option.d.ts.map +1 -1
- package/development/option/option.js +267 -220
- package/development/radio-button/common/radio-button-common.d.ts +1 -1
- package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
- package/development/radio-button/common.js +13 -12
- package/development/radio-button/radio-button/radio-button.d.ts +7 -0
- package/development/radio-button/radio-button/radio-button.d.ts.map +1 -1
- package/development/radio-button/radio-button-group/radio-button-group.d.ts +1 -1
- package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/development/radio-button/radio-button-group.js +1 -1
- package/development/radio-button/radio-button-panel/radio-button-panel.d.ts +7 -0
- package/development/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
- package/development/radio-button/radio-button-panel.js +16 -2
- package/development/radio-button/radio-button.js +16 -2
- package/development/skiplink-list/skiplink-list.d.ts +1 -0
- package/development/skiplink-list/skiplink-list.d.ts.map +1 -1
- package/development/skiplink-list.js +1 -1
- package/development/tabs/tab-group.js +2 -9
- package/development/tabs/tab.js +10 -2
- package/development/tag/tag-group.js +1 -1
- package/development/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -1
- package/development/timetable-occupancy-icon.js +3 -6
- package/development/toggle/toggle.js +1 -1
- package/form-field/form-field-clear/form-field-clear.d.ts.map +1 -1
- package/form-field/form-field-clear.js +11 -11
- package/form-field/form-field.js +2 -2
- package/icon/icon-base.d.ts.map +1 -1
- package/icon/icon.d.ts.map +1 -1
- package/image/image.d.ts +1 -0
- package/image/image.d.ts.map +1 -1
- package/image.js +24 -24
- package/index.d.ts +12 -0
- package/index.js +12 -0
- package/map-container.js +8 -8
- package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
- package/option/optgroup/optgroup-base-element.d.ts +28 -0
- package/option/optgroup/optgroup-base-element.d.ts.map +1 -0
- package/option/optgroup/optgroup.d.ts +7 -20
- package/option/optgroup/optgroup.d.ts.map +1 -1
- package/option/optgroup.d.ts +1 -0
- package/option/optgroup.d.ts.map +1 -1
- package/option/optgroup.js +80 -60
- package/option/option/option-base-element.d.ts +69 -0
- package/option/option/option-base-element.d.ts.map +1 -0
- package/option/option/option.d.ts +14 -57
- package/option/option/option.d.ts.map +1 -1
- package/option/option.d.ts +1 -0
- package/option/option.d.ts.map +1 -1
- package/option/option.js +186 -145
- package/package.json +36 -1
- package/radio-button/common/radio-button-common.d.ts +1 -1
- package/radio-button/common/radio-button-common.d.ts.map +1 -1
- package/radio-button/common.js +6 -15
- package/radio-button/radio-button/radio-button.d.ts +7 -0
- package/radio-button/radio-button/radio-button.d.ts.map +1 -1
- package/radio-button/radio-button-group/radio-button-group.d.ts +1 -1
- package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/radio-button/radio-button-panel/radio-button-panel.d.ts +7 -0
- package/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
- package/radio-button/radio-button-panel.js +35 -22
- package/radio-button/radio-button.js +32 -19
- package/skiplink-list/skiplink-list.d.ts +1 -0
- package/skiplink-list/skiplink-list.d.ts.map +1 -1
- package/standard-theme.css +3 -1
- package/tabs/tab-group.js +19 -19
- package/tabs/tab.js +10 -10
- package/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -1
- package/timetable-occupancy-icon.js +22 -24
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { customElement } from "lit/decorators.js";
|
|
2
|
+
import { hostAttributes } from "../core/decorators.js";
|
|
3
|
+
import { EventEmitter } from "../core/eventing.js";
|
|
4
|
+
import { SbbOptionBaseElement } from "../option.js";
|
|
5
|
+
import { css } from "lit";
|
|
6
|
+
const style = css`/**
|
|
7
|
+
* Better font rendering (on OS X)
|
|
8
|
+
* http://maximilianhoffmann.com/posts/better-font-rendering-on-osx
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
*
|
|
12
|
+
* .var_dark_on_light {
|
|
13
|
+
* @include font-smoothing;
|
|
14
|
+
* }
|
|
15
|
+
* .var_light_on_dark {
|
|
16
|
+
* @include font-smoothing-reset;
|
|
17
|
+
* }
|
|
18
|
+
*/
|
|
19
|
+
/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
|
|
20
|
+
/*
|
|
21
|
+
* SBB table mixin
|
|
22
|
+
* Notes:
|
|
23
|
+
* We cannot use \`border-collapse\` because it is not compatible with the \`border-radius\` property.
|
|
24
|
+
* Therefore, we have to build the grid avoiding double borders.
|
|
25
|
+
*/
|
|
26
|
+
*,
|
|
27
|
+
::before,
|
|
28
|
+
::after {
|
|
29
|
+
box-sizing: border-box;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
:host {
|
|
33
|
+
--sbb-option-color: var(--sbb-color-charcoal);
|
|
34
|
+
--sbb-option-column-gap: var(--sbb-spacing-responsive-xxxs);
|
|
35
|
+
--sbb-option-icon-color: var(--sbb-color-metal);
|
|
36
|
+
--sbb-option-border-radius: var(--sbb-border-radius-4x);
|
|
37
|
+
--sbb-option-padding-inline: var(--sbb-spacing-responsive-xxxs);
|
|
38
|
+
--sbb-option-padding-block: calc(var(--sbb-spacing-fixed-2x) + var(--sbb-border-width-2x));
|
|
39
|
+
display: block;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
:host([active]) {
|
|
43
|
+
--sbb-focus-outline-offset: calc(-1 * var(--sbb-spacing-fixed-1x));
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
:host([data-negative]) {
|
|
47
|
+
--sbb-option-color: var(--sbb-color-milk);
|
|
48
|
+
--sbb-option-icon-color: var(--sbb-color-smoke);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
:host(:not([data-disable-highlight])) .sbb-option__label slot {
|
|
52
|
+
display: none;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.sbb-option {
|
|
56
|
+
--sbb-text-font-size: var(--sbb-font-size-text-s);
|
|
57
|
+
font-family: var(--sbb-typo-font-family);
|
|
58
|
+
font-weight: normal;
|
|
59
|
+
line-height: var(--sbb-typo-line-height-body-text);
|
|
60
|
+
letter-spacing: var(--sbb-typo-letter-spacing-body-text);
|
|
61
|
+
font-size: var(--sbb-text-font-size);
|
|
62
|
+
display: flex;
|
|
63
|
+
align-items: center;
|
|
64
|
+
column-gap: var(--sbb-option-column-gap);
|
|
65
|
+
justify-content: start;
|
|
66
|
+
padding-block: var(--sbb-option-padding-block);
|
|
67
|
+
padding-inline: var(--sbb-option-padding-inline);
|
|
68
|
+
color: var(--sbb-option-color);
|
|
69
|
+
}
|
|
70
|
+
:host([active]) .sbb-option {
|
|
71
|
+
outline-offset: var(--sbb-focus-outline-offset);
|
|
72
|
+
outline: var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width);
|
|
73
|
+
border-radius: var(--sbb-option-border-radius);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
:host(:not(:is([disabled], [data-group-disabled]))) .sbb-option__label--highlight {
|
|
77
|
+
font-weight: bold;
|
|
78
|
+
}
|
|
79
|
+
@media (forced-colors: active) {
|
|
80
|
+
:host(:not(:is([disabled], [data-group-disabled]))) .sbb-option__label--highlight {
|
|
81
|
+
color: Highlight;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.sbb-option__icon {
|
|
86
|
+
display: flex;
|
|
87
|
+
min-width: var(--sbb-size-icon-ui-small);
|
|
88
|
+
min-height: var(--sbb-size-icon-ui-small);
|
|
89
|
+
color: var(--sbb-option-icon-color);
|
|
90
|
+
}
|
|
91
|
+
:host(:not([data-slot-names~=icon], [icon-name])) .sbb-option__icon {
|
|
92
|
+
display: var(--sbb-option-icon-container-display, none);
|
|
93
|
+
}`;
|
|
94
|
+
var __defProp = Object.defineProperty;
|
|
95
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
96
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
97
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
98
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
99
|
+
if (decorator = decorators[i])
|
|
100
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
101
|
+
if (kind && result) __defProp(target, key, result);
|
|
102
|
+
return result;
|
|
103
|
+
};
|
|
104
|
+
const autocompleteGridOptionId = `sbb-autocomplete-grid-option`;
|
|
105
|
+
let SbbAutocompleteGridOptionElement = class extends SbbOptionBaseElement {
|
|
106
|
+
constructor() {
|
|
107
|
+
super(...arguments);
|
|
108
|
+
this.optionId = autocompleteGridOptionId;
|
|
109
|
+
this.selectionChange = new EventEmitter(
|
|
110
|
+
this,
|
|
111
|
+
SbbAutocompleteGridOptionElement.events.selectionChange
|
|
112
|
+
);
|
|
113
|
+
this.optionSelected = new EventEmitter(
|
|
114
|
+
this,
|
|
115
|
+
SbbAutocompleteGridOptionElement.events.optionSelected
|
|
116
|
+
);
|
|
117
|
+
}
|
|
118
|
+
onOptionAttributesChange(mutationsList) {
|
|
119
|
+
var _a, _b;
|
|
120
|
+
super.onOptionAttributesChange(mutationsList);
|
|
121
|
+
(_b = (_a = this.closest) == null ? void 0 : _a.call(this, "sbb-autocomplete-grid-row")) == null ? void 0 : _b.toggleAttribute(
|
|
122
|
+
"data-disabled",
|
|
123
|
+
this.disabled || this.disabledFromGroup
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
willUpdate(changedProperties) {
|
|
127
|
+
var _a, _b;
|
|
128
|
+
super.willUpdate(changedProperties);
|
|
129
|
+
if (changedProperties.has("disabled")) {
|
|
130
|
+
(_b = (_a = this.closest) == null ? void 0 : _a.call(this, "sbb-autocomplete-grid-row")) == null ? void 0 : _b.toggleAttribute(
|
|
131
|
+
"data-disabled",
|
|
132
|
+
this.disabled || this.disabledFromGroup
|
|
133
|
+
);
|
|
134
|
+
this.updateAriaDisabled();
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
setAttributeFromParent() {
|
|
138
|
+
var _a;
|
|
139
|
+
const parentGroup = this.closest("sbb-autocomplete-grid-optgroup");
|
|
140
|
+
if (parentGroup) {
|
|
141
|
+
this.disabledFromGroup = parentGroup.disabled;
|
|
142
|
+
this.updateAriaDisabled();
|
|
143
|
+
}
|
|
144
|
+
(_a = this.closest("sbb-autocomplete-grid-row")) == null ? void 0 : _a.toggleAttribute(
|
|
145
|
+
"data-disabled",
|
|
146
|
+
this.disabled || this.disabledFromGroup
|
|
147
|
+
);
|
|
148
|
+
this.negative = !!this.closest(`:is(sbb-autocomplete-grid[negative],sbb-form-field[negative])`);
|
|
149
|
+
this.toggleAttribute("data-negative", this.negative);
|
|
150
|
+
}
|
|
151
|
+
selectByClick(event) {
|
|
152
|
+
if (this.disabled || this.disabledFromGroup) {
|
|
153
|
+
event.stopPropagation();
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
this.setSelectedViaUserInteraction(true);
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
SbbAutocompleteGridOptionElement.styles = style;
|
|
160
|
+
SbbAutocompleteGridOptionElement.events = {
|
|
161
|
+
selectionChange: "autocompleteOptionSelectionChange",
|
|
162
|
+
optionSelected: "autocompleteOptionSelected"
|
|
163
|
+
};
|
|
164
|
+
SbbAutocompleteGridOptionElement = __decorateClass([
|
|
165
|
+
customElement("sbb-autocomplete-grid-option"),
|
|
166
|
+
hostAttributes({
|
|
167
|
+
role: "gridcell"
|
|
168
|
+
})
|
|
169
|
+
], SbbAutocompleteGridOptionElement);
|
|
170
|
+
export {
|
|
171
|
+
SbbAutocompleteGridOptionElement,
|
|
172
|
+
autocompleteGridOptionId
|
|
173
|
+
};
|
|
174
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvYXV0b2NvbXBsZXRlLWdyaWQvYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uL2F1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7IFNiYk9wdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vb3B0aW9uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uLnNjc3M/bGl0JmlubGluZSc7XG5cbmV4cG9ydCBjb25zdCBhdXRvY29tcGxldGVHcmlkT3B0aW9uSWQ6IHN0cmluZyA9IGBzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uYDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBvcHRpb24gaXRlbSB3aGljaCBjYW4gYmUgdXNlZCBpbiBgc2JiLWF1dG9jb21wbGV0ZS1ncmlkYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBvcHRpb24gbGFiZWwuXG4gKiBAc2xvdCBpY29uIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGFuIGljb24uIElmIGBpY29uLW5hbWVgIGlzIHNldCwgYSBzYmItaWNvbiB3aWxsIGJlIHVzZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBhdXRvY29tcGxldGVPcHRpb25TZWxlY3Rpb25DaGFuZ2UgLSBFbWl0cyB3aGVuIHRoZSBvcHRpb24gc2VsZWN0aW9uIHN0YXR1cyBjaGFuZ2VzLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gYXV0b2NvbXBsZXRlT3B0aW9uU2VsZWN0ZWQgLSBFbWl0cyB3aGVuIGFuIG9wdGlvbiB3YXMgc2VsZWN0ZWQgYnkgdXNlci5cbiAqIEBjc3Nwcm9wIFstLXNiYi1vcHRpb24taWNvbi1jb250YWluZXItZGlzcGxheT1ub25lXSAtIENhbiBiZSB1c2VkIHRvIHJlc2VydmUgc3BhY2UgZXZlblxuICogd2hlbiBwcmVzZXJ2ZS1pY29uLXNwYWNlIG9uIGF1dG9jb21wbGV0ZSBpcyBub3Qgc2V0IG9yIGljb25OYW1lIGlzIG5vdCBzZXQuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uJylcbkBob3N0QXR0cmlidXRlcyh7XG4gIHJvbGU6ICdncmlkY2VsbCcsXG59KVxuZXhwb3J0IGNsYXNzIFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50IGV4dGVuZHMgU2JiT3B0aW9uQmFzZUVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgc2VsZWN0aW9uQ2hhbmdlOiAnYXV0b2NvbXBsZXRlT3B0aW9uU2VsZWN0aW9uQ2hhbmdlJyxcbiAgICBvcHRpb25TZWxlY3RlZDogJ2F1dG9jb21wbGV0ZU9wdGlvblNlbGVjdGVkJyxcbiAgfSBhcyBjb25zdDtcblxuICBwcm90ZWN0ZWQgb3B0aW9uSWQgPSBhdXRvY29tcGxldGVHcmlkT3B0aW9uSWQ7XG5cbiAgLyoqIEVtaXRzIHdoZW4gdGhlIG9wdGlvbiBzZWxlY3Rpb24gc3RhdHVzIGNoYW5nZXMuICovXG4gIHByb3RlY3RlZCBzZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudC5ldmVudHMuc2VsZWN0aW9uQ2hhbmdlLFxuICApO1xuXG4gIC8qKiBFbWl0cyB3aGVuIGFuIG9wdGlvbiB3YXMgc2VsZWN0ZWQgYnkgdXNlci4gKi9cbiAgcHJvdGVjdGVkIG9wdGlvblNlbGVjdGVkOiBFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKFxuICAgIHRoaXMsXG4gICAgU2JiQXV0b2NvbXBsZXRlR3JpZE9wdGlvbkVsZW1lbnQuZXZlbnRzLm9wdGlvblNlbGVjdGVkLFxuICApO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBvbk9wdGlvbkF0dHJpYnV0ZXNDaGFuZ2UobXV0YXRpb25zTGlzdDogTXV0YXRpb25SZWNvcmRbXSk6IHZvaWQge1xuICAgIHN1cGVyLm9uT3B0aW9uQXR0cmlidXRlc0NoYW5nZShtdXRhdGlvbnNMaXN0KTtcbiAgICB0aGlzLmNsb3Nlc3Q/Lignc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdycpPy50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAnZGF0YS1kaXNhYmxlZCcsXG4gICAgICB0aGlzLmRpc2FibGVkIHx8IHRoaXMuZGlzYWJsZWRGcm9tR3JvdXAsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykpIHtcbiAgICAgIHRoaXMuY2xvc2VzdD8uKCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93Jyk/LnRvZ2dsZUF0dHJpYnV0ZShcbiAgICAgICAgJ2RhdGEtZGlzYWJsZWQnLFxuICAgICAgICB0aGlzLmRpc2FibGVkIHx8IHRoaXMuZGlzYWJsZWRGcm9tR3JvdXAsXG4gICAgICApO1xuICAgICAgdGhpcy51cGRhdGVBcmlhRGlzYWJsZWQoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0QXR0cmlidXRlRnJvbVBhcmVudCgpOiB2b2lkIHtcbiAgICBjb25zdCBwYXJlbnRHcm91cCA9IHRoaXMuY2xvc2VzdCgnc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGdyb3VwJyk7XG4gICAgaWYgKHBhcmVudEdyb3VwKSB7XG4gICAgICB0aGlzLmRpc2FibGVkRnJvbUdyb3VwID0gcGFyZW50R3JvdXAuZGlzYWJsZWQ7XG4gICAgICB0aGlzLnVwZGF0ZUFyaWFEaXNhYmxlZCgpO1xuICAgIH1cbiAgICB0aGlzLmNsb3Nlc3QoJ3NiYi1hdXRvY29tcGxldGUtZ3JpZC1yb3cnKT8udG9nZ2xlQXR0cmlidXRlKFxuICAgICAgJ2RhdGEtZGlzYWJsZWQnLFxuICAgICAgdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkRnJvbUdyb3VwLFxuICAgICk7XG5cbiAgICB0aGlzLm5lZ2F0aXZlID0gISF0aGlzLmNsb3Nlc3QoYDppcyhzYmItYXV0b2NvbXBsZXRlLWdyaWRbbmVnYXRpdmVdLHNiYi1mb3JtLWZpZWxkW25lZ2F0aXZlXSlgKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1uZWdhdGl2ZScsIHRoaXMubmVnYXRpdmUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNlbGVjdEJ5Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkRnJvbUdyb3VwKSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNldFNlbGVjdGVkVmlhVXNlckludGVyYWN0aW9uKHRydWUpO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uJzogU2JiQXV0b2NvbXBsZXRlR3JpZE9wdGlvbkVsZW1lbnQ7XG4gIH1cblxuICBpbnRlcmZhY2UgR2xvYmFsRXZlbnRIYW5kbGVyc0V2ZW50TWFwIHtcbiAgICBhdXRvY29tcGxldGVPcHRpb25TZWxlY3Rpb25DaGFuZ2U6IEN1c3RvbUV2ZW50PHZvaWQ+O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNPLE1BQU0sMkJBQW1DO0FBZ0JuQyxJQUFBLG1DQUFOLGNBQStDLHFCQUFxQjtBQUFBLEVBQXBFLGNBQUE7QUFBQSxVQUFBLEdBQUEsU0FBQTtBQU9MLFNBQVUsV0FBVztBQUdyQixTQUFVLGtCQUFnQyxJQUFJO0FBQUEsTUFDNUM7QUFBQSxNQUNBLGlDQUFpQyxPQUFPO0FBQUEsSUFBQTtBQUkxQyxTQUFVLGlCQUErQixJQUFJO0FBQUEsTUFDM0M7QUFBQSxNQUNBLGlDQUFpQyxPQUFPO0FBQUEsSUFBQTtBQUFBLEVBQzFDO0FBQUEsRUFFbUIseUJBQXlCLGVBQXVDOztBQUNqRixVQUFNLHlCQUF5QixhQUFhO0FBQ3ZDLHFCQUFBLFlBQUEsOEJBQVUsaUNBQVYsbUJBQXdDO0FBQUEsTUFDM0M7QUFBQSxNQUNBLEtBQUssWUFBWSxLQUFLO0FBQUE7QUFBQSxFQUUxQjtBQUFBLEVBRWdCLFdBQVcsbUJBQStDOztBQUN4RSxVQUFNLFdBQVcsaUJBQWlCO0FBQzlCLFFBQUEsa0JBQWtCLElBQUksVUFBVSxHQUFHO0FBQ2hDLHVCQUFBLFlBQUEsOEJBQVUsaUNBQVYsbUJBQXdDO0FBQUEsUUFDM0M7QUFBQSxRQUNBLEtBQUssWUFBWSxLQUFLO0FBQUE7QUFFeEIsV0FBSyxtQkFBbUI7QUFBQSxJQUMxQjtBQUFBLEVBQ0Y7QUFBQSxFQUVVLHlCQUErQjs7QUFDakMsVUFBQSxjQUFjLEtBQUssUUFBUSxnQ0FBZ0M7QUFDakUsUUFBSSxhQUFhO0FBQ2YsV0FBSyxvQkFBb0IsWUFBWTtBQUNyQyxXQUFLLG1CQUFtQjtBQUFBLElBQzFCO0FBQ0ssZUFBQSxRQUFRLDJCQUEyQixNQUFuQyxtQkFBc0M7QUFBQSxNQUN6QztBQUFBLE1BQ0EsS0FBSyxZQUFZLEtBQUs7QUFBQTtBQUd4QixTQUFLLFdBQVcsQ0FBQyxDQUFDLEtBQUssUUFBUSwrREFBK0Q7QUFDekYsU0FBQSxnQkFBZ0IsaUJBQWlCLEtBQUssUUFBUTtBQUFBLEVBQ3JEO0FBQUEsRUFFVSxjQUFjLE9BQXlCO0FBQzNDLFFBQUEsS0FBSyxZQUFZLEtBQUssbUJBQW1CO0FBQzNDLFlBQU0sZ0JBQWdCO0FBQ3RCO0FBQUEsSUFDRjtBQUVBLFNBQUssOEJBQThCLElBQUk7QUFBQSxFQUN6QztBQUNGO0FBL0RhLGlDQUNZLFNBQXlCO0FBRHJDLGlDQUVZLFNBQVM7QUFBQSxFQUM5QixpQkFBaUI7QUFBQSxFQUNqQixnQkFBZ0I7QUFDbEI7QUFMVyxtQ0FBTixnQkFBQTtBQUFBLEVBSk4sY0FBYyw4QkFBOEI7QUFBQSxFQUM1QyxlQUFlO0FBQUEsSUFDZCxNQUFNO0FBQUEsRUFBQSxDQUNQO0FBQUEsR0FDWSxnQ0FBQTsifQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CSSResultGroup, LitElement, TemplateResult } from 'lit';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The component is used as a wrapper for options and action buttons.
|
|
5
|
+
*
|
|
6
|
+
* @slot - Use the unnamed slot to add a `sbb-autocomplete-grid-option` and a `sbb-autocomplete-grid-cell` with one or more `sbb-autocomplete-grid-button`.
|
|
7
|
+
*/
|
|
8
|
+
export declare class SbbAutocompleteGridRowElement extends LitElement {
|
|
9
|
+
static styles: CSSResultGroup;
|
|
10
|
+
connectedCallback(): void;
|
|
11
|
+
protected render(): TemplateResult;
|
|
12
|
+
}
|
|
13
|
+
declare global {
|
|
14
|
+
interface HTMLElementTagNameMap {
|
|
15
|
+
'sbb-autocomplete-grid-row': SbbAutocompleteGridRowElement;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=autocomplete-grid-row.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autocomplete-grid-row.d.ts","sourceRoot":"","sources":["../../../../../src/elements/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAQ,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AASjF;;;;GAIG;AACH,qBAIa,6BAA8B,SAAQ,UAAU;IAC3D,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtC,iBAAiB,IAAI,IAAI;cAKtB,MAAM,IAAI,cAAc;CAO5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,2BAA2B,EAAE,6BAA6B,CAAC;KAC5D;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autocomplete-grid-row.d.ts","sourceRoot":"","sources":["../../../../src/elements/autocomplete-grid/autocomplete-grid-row.ts"],"names":[],"mappings":"AAAA,cAAc,kDAAkD,CAAC"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { css, LitElement, html } from "lit";
|
|
2
|
+
import { customElement } from "lit/decorators.js";
|
|
3
|
+
import { hostAttributes } from "../core/decorators.js";
|
|
4
|
+
const style = css`/**
|
|
5
|
+
* Better font rendering (on OS X)
|
|
6
|
+
* http://maximilianhoffmann.com/posts/better-font-rendering-on-osx
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
*
|
|
10
|
+
* .var_dark_on_light {
|
|
11
|
+
* @include font-smoothing;
|
|
12
|
+
* }
|
|
13
|
+
* .var_light_on_dark {
|
|
14
|
+
* @include font-smoothing-reset;
|
|
15
|
+
* }
|
|
16
|
+
*/
|
|
17
|
+
/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
|
|
18
|
+
/*
|
|
19
|
+
* SBB table mixin
|
|
20
|
+
* Notes:
|
|
21
|
+
* We cannot use \`border-collapse\` because it is not compatible with the \`border-radius\` property.
|
|
22
|
+
* Therefore, we have to build the grid avoiding double borders.
|
|
23
|
+
*/
|
|
24
|
+
*,
|
|
25
|
+
::before,
|
|
26
|
+
::after {
|
|
27
|
+
box-sizing: border-box;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
:host {
|
|
31
|
+
--sbb-autocomplete-grid-row-color: var(--sbb-color-charcoal);
|
|
32
|
+
--sbb-autocomplete-grid-row-background-color: inherit;
|
|
33
|
+
--sbb-autocomplete-grid-row-background-color-hover: var(--sbb-color-milk);
|
|
34
|
+
--sbb-autocomplete-grid-row-background-color-active: var(--sbb-color-cloud);
|
|
35
|
+
--sbb-autocomplete-grid-row-disabled-border-color: var(--sbb-color-graphite);
|
|
36
|
+
--sbb-autocomplete-grid-row-disabled-background-color: var(--sbb-color-milk);
|
|
37
|
+
--sbb-autocomplete-grid-row-padding-inline-end: var(--sbb-spacing-responsive-xxxs);
|
|
38
|
+
--sbb-autocomplete-grid-row-justify-content: space-between;
|
|
39
|
+
--sbb-autocomplete-grid-row-min-height: var(--sbb-size-button-m-min-height);
|
|
40
|
+
--sbb-autocomplete-grid-row-cursor: pointer;
|
|
41
|
+
--sbb-autocomplete-grid-row-border-radius: var(--sbb-border-radius-4x);
|
|
42
|
+
--sbb-autocomplete-grid-row-icon-color: var(--sbb-color-metal);
|
|
43
|
+
display: block;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
:host([data-negative]) {
|
|
47
|
+
--sbb-autocomplete-grid-row-color: var(--sbb-color-milk);
|
|
48
|
+
--sbb-autocomplete-grid-row-icon-color: var(--sbb-color-smoke);
|
|
49
|
+
--sbb-autocomplete-grid-row-background-color-hover: var(--sbb-color-charcoal);
|
|
50
|
+
--sbb-autocomplete-grid-row-background-color-active: var(--sbb-color-iron);
|
|
51
|
+
--sbb-autocomplete-grid-row-disabled-border-color: var(--sbb-color-smoke);
|
|
52
|
+
--sbb-autocomplete-grid-row-disabled-background-color: var(--sbb-color-charcoal);
|
|
53
|
+
--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
@media (any-hover: hover) {
|
|
57
|
+
:host(:hover:not([data-disabled])) {
|
|
58
|
+
--sbb-autocomplete-grid-row-background-color: var(
|
|
59
|
+
--sbb-autocomplete-grid-row-background-color-hover
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
:host([data-disabled]) {
|
|
65
|
+
--sbb-autocomplete-grid-row-cursor: default;
|
|
66
|
+
}
|
|
67
|
+
@media (forced-colors: active) {
|
|
68
|
+
:host([data-disabled]) {
|
|
69
|
+
--sbb-autocomplete-grid-row-color: GrayText;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
::slotted(sbb-autocomplete-grid-option) {
|
|
74
|
+
flex: 1 1 auto;
|
|
75
|
+
margin-right: calc(-1 * var(--sbb-spacing-fixed-2x));
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.sbb-autocomplete-grid-row {
|
|
79
|
+
display: flex;
|
|
80
|
+
align-items: center;
|
|
81
|
+
padding-inline-end: var(--sbb-autocomplete-grid-row-padding-inline-end);
|
|
82
|
+
justify-content: var(--sbb-autocomplete-grid-row-justify-content);
|
|
83
|
+
gap: var(--sbb-spacing-fixed-6x);
|
|
84
|
+
color: var(--sbb-autocomplete-grid-row-color);
|
|
85
|
+
background-color: var(--sbb-autocomplete-grid-row-background-color);
|
|
86
|
+
cursor: var(--sbb-autocomplete-grid-row-cursor);
|
|
87
|
+
-webkit-tap-highlight-color: transparent;
|
|
88
|
+
-webkit-text-fill-color: var(--sbb-autocomplete-grid-row-color);
|
|
89
|
+
}
|
|
90
|
+
:host([data-disabled]) .sbb-autocomplete-grid-row {
|
|
91
|
+
position: relative;
|
|
92
|
+
z-index: 0;
|
|
93
|
+
}
|
|
94
|
+
:host([data-disabled]) .sbb-autocomplete-grid-row::before {
|
|
95
|
+
content: "";
|
|
96
|
+
display: block;
|
|
97
|
+
position: absolute;
|
|
98
|
+
inset: 0.375rem;
|
|
99
|
+
border: var(--sbb-border-width-1x) dashed var(--sbb-autocomplete-grid-row-disabled-border-color);
|
|
100
|
+
border-radius: var(--sbb-border-radius-2x);
|
|
101
|
+
background-color: var(--sbb-autocomplete-grid-row-disabled-background-color);
|
|
102
|
+
z-index: -1;
|
|
103
|
+
}
|
|
104
|
+
@media (forced-colors: active) {
|
|
105
|
+
:host([data-disabled]) .sbb-autocomplete-grid-row::before {
|
|
106
|
+
border-color: GrayText;
|
|
107
|
+
}
|
|
108
|
+
}`;
|
|
109
|
+
var __defProp = Object.defineProperty;
|
|
110
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
111
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
112
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
113
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
114
|
+
if (decorator = decorators[i])
|
|
115
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
116
|
+
if (kind && result) __defProp(target, key, result);
|
|
117
|
+
return result;
|
|
118
|
+
};
|
|
119
|
+
let autocompleteRowNextId = 0;
|
|
120
|
+
let SbbAutocompleteGridRowElement = class extends LitElement {
|
|
121
|
+
connectedCallback() {
|
|
122
|
+
super.connectedCallback();
|
|
123
|
+
this.id || (this.id = `sbb-autocomplete-grid-row-${++autocompleteRowNextId}`);
|
|
124
|
+
}
|
|
125
|
+
render() {
|
|
126
|
+
return html`
|
|
127
|
+
<span class="sbb-autocomplete-grid-row">
|
|
128
|
+
<slot></slot>
|
|
129
|
+
</span>
|
|
130
|
+
`;
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
SbbAutocompleteGridRowElement.styles = style;
|
|
134
|
+
SbbAutocompleteGridRowElement = __decorateClass([
|
|
135
|
+
customElement("sbb-autocomplete-grid-row"),
|
|
136
|
+
hostAttributes({
|
|
137
|
+
role: "row"
|
|
138
|
+
})
|
|
139
|
+
], SbbAutocompleteGridRowElement);
|
|
140
|
+
export {
|
|
141
|
+
SbbAutocompleteGridRowElement
|
|
142
|
+
};
|
|
143
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQtcm93LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvYXV0b2NvbXBsZXRlLWdyaWQvYXV0b2NvbXBsZXRlLWdyaWQtcm93L2F1dG9jb21wbGV0ZS1ncmlkLXJvdy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCBMaXRFbGVtZW50LCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vYXV0b2NvbXBsZXRlLWdyaWQtcm93LnNjc3M/bGl0JmlubGluZSc7XG5cbmxldCBhdXRvY29tcGxldGVSb3dOZXh0SWQgPSAwO1xuXG4vKipcbiAqIFRoZSBjb21wb25lbnQgaXMgdXNlZCBhcyBhIHdyYXBwZXIgZm9yIG9wdGlvbnMgYW5kIGFjdGlvbiBidXR0b25zLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGEgYHNiYi1hdXRvY29tcGxldGUtZ3JpZC1vcHRpb25gIGFuZCBhIGBzYmItYXV0b2NvbXBsZXRlLWdyaWQtY2VsbGAgd2l0aCBvbmUgb3IgbW9yZSBgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLWJ1dHRvbmAuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93JylcbkBob3N0QXR0cmlidXRlcyh7XG4gIHJvbGU6ICdyb3cnLFxufSlcbmV4cG9ydCBjbGFzcyBTYmJBdXRvY29tcGxldGVHcmlkUm93RWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmlkIHx8PSBgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdy0keysrYXV0b2NvbXBsZXRlUm93TmV4dElkfWA7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvd1wiPlxuICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdyc6IFNiYkF1dG9jb21wbGV0ZUdyaWRSb3dFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9BLElBQUksd0JBQXdCO0FBV2YsSUFBQSxnQ0FBTixjQUE0QyxXQUFXO0FBQUEsRUFHNUMsb0JBQTBCO0FBQ3hDLFVBQU0sa0JBQWtCO0FBQ25CLFNBQUEsT0FBQSxLQUFBLEtBQU8sNkJBQTZCLEVBQUUscUJBQXFCO0FBQUEsRUFDbEU7QUFBQSxFQUVtQixTQUF5QjtBQUNuQyxXQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtUO0FBQ0Y7QUFmYSw4QkFDWSxTQUF5QjtBQURyQyxnQ0FBTixnQkFBQTtBQUFBLEVBSk4sY0FBYywyQkFBMkI7QUFBQSxFQUN6QyxlQUFlO0FBQUEsSUFDZCxNQUFNO0FBQUEsRUFBQSxDQUNQO0FBQUEsR0FDWSw2QkFBQTsifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autocomplete-grid.d.ts","sourceRoot":"","sources":["../../../../src/elements/autocomplete-grid/autocomplete-grid.ts"],"names":[],"mappings":"AAAA,cAAc,0CAA0C,CAAC"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { customElement } from "lit/decorators.js";
|
|
2
|
+
import { SbbAutocompleteBaseElement } from "../autocomplete.js";
|
|
3
|
+
import { getNextElementIndex } from "../core/a11y.js";
|
|
4
|
+
import { hostAttributes } from "../core/decorators.js";
|
|
5
|
+
import { getDocumentWritingMode, isSafari } from "../core/dom.js";
|
|
6
|
+
import { setAriaComboBoxAttributes } from "../core/overlay.js";
|
|
7
|
+
import { SbbAutocompleteGridOptionElement } from "./autocomplete-grid-option.js";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
11
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
12
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
13
|
+
if (decorator = decorators[i])
|
|
14
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
15
|
+
if (kind && result) __defProp(target, key, result);
|
|
16
|
+
return result;
|
|
17
|
+
};
|
|
18
|
+
let nextId = 0;
|
|
19
|
+
const ariaRoleOnHost = isSafari;
|
|
20
|
+
let SbbAutocompleteGridElement = class extends SbbAutocompleteBaseElement {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(...arguments);
|
|
23
|
+
this.overlayId = `sbb-autocomplete-grid-${++nextId}`;
|
|
24
|
+
this.panelRole = "grid";
|
|
25
|
+
this._activeItemIndex = -1;
|
|
26
|
+
this._activeColumnIndex = 0;
|
|
27
|
+
}
|
|
28
|
+
get options() {
|
|
29
|
+
var _a;
|
|
30
|
+
return Array.from(((_a = this.querySelectorAll) == null ? void 0 : _a.call(this, "sbb-autocomplete-grid-option")) ?? []);
|
|
31
|
+
}
|
|
32
|
+
get _row() {
|
|
33
|
+
var _a;
|
|
34
|
+
return Array.from((_a = this.querySelectorAll) == null ? void 0 : _a.call(this, "sbb-autocomplete-grid-row")).filter(
|
|
35
|
+
(row) => !row.hasAttribute("data-disabled")
|
|
36
|
+
) ?? [];
|
|
37
|
+
}
|
|
38
|
+
onOptionClick(event) {
|
|
39
|
+
if (event.target.localName !== "sbb-autocomplete-grid-option" || event.target.disabled) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
this.close();
|
|
43
|
+
}
|
|
44
|
+
connectedCallback() {
|
|
45
|
+
super.connectedCallback();
|
|
46
|
+
const signal = this.abort.signal;
|
|
47
|
+
this.addEventListener(
|
|
48
|
+
"autocompleteOptionSelectionChange",
|
|
49
|
+
(e) => this.onOptionSelected(e),
|
|
50
|
+
{ signal }
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
syncNegative() {
|
|
54
|
+
var _a, _b;
|
|
55
|
+
(_a = this.querySelectorAll) == null ? void 0 : _a.call(
|
|
56
|
+
this,
|
|
57
|
+
"sbb-divider, sbb-autocomplete-grid-button"
|
|
58
|
+
).forEach((e) => e.negative = this.negative);
|
|
59
|
+
(_b = this.querySelectorAll) == null ? void 0 : _b.call(
|
|
60
|
+
this,
|
|
61
|
+
"sbb-autocomplete-grid-row, sbb-autocomplete-grid-option, sbb-autocomplete-grid-optgroup"
|
|
62
|
+
).forEach((element) => element.toggleAttribute("data-negative", this.negative));
|
|
63
|
+
}
|
|
64
|
+
openedPanelKeyboardInteraction(event) {
|
|
65
|
+
if (this.state !== "opened") {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
switch (event.key) {
|
|
69
|
+
case "Escape":
|
|
70
|
+
case "Tab":
|
|
71
|
+
this.close();
|
|
72
|
+
break;
|
|
73
|
+
case "Enter":
|
|
74
|
+
this.selectByKeyboard();
|
|
75
|
+
break;
|
|
76
|
+
case "ArrowDown":
|
|
77
|
+
case "ArrowUp":
|
|
78
|
+
this.setNextActiveOption(event);
|
|
79
|
+
break;
|
|
80
|
+
case "ArrowRight":
|
|
81
|
+
case "ArrowLeft":
|
|
82
|
+
this._setNextHorizontalActiveElement(event);
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Select an element on 'Enter' keypress.
|
|
88
|
+
*
|
|
89
|
+
* Due to keyboard navigation code, the `_activeColumnIndex` is zero when an option is 'focused'
|
|
90
|
+
* and greater than zero when a button is 'focused', so asking for `querySelectorAll(...)[this._activeColumnIndex]`
|
|
91
|
+
* would always return a `SbbAutocompleteGridButtonElement`.
|
|
92
|
+
*/
|
|
93
|
+
selectByKeyboard() {
|
|
94
|
+
var _a;
|
|
95
|
+
if (this._activeColumnIndex !== 0) {
|
|
96
|
+
this._row[this._activeItemIndex].querySelectorAll(
|
|
97
|
+
"sbb-autocomplete-grid-option, sbb-autocomplete-grid-button"
|
|
98
|
+
)[this._activeColumnIndex].click();
|
|
99
|
+
} else {
|
|
100
|
+
(_a = this.options[this._activeItemIndex]) == null ? void 0 : _a.setSelectedViaUserInteraction(true);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
setNextActiveOption(event) {
|
|
104
|
+
var _a;
|
|
105
|
+
const filteredOptions = this.options.filter(
|
|
106
|
+
(opt) => !opt.disabled && !opt.hasAttribute("data-group-disabled")
|
|
107
|
+
);
|
|
108
|
+
const next = getNextElementIndex(event, this._activeItemIndex, filteredOptions.length);
|
|
109
|
+
if (isNaN(next)) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
const nextActiveOption = filteredOptions[next];
|
|
113
|
+
nextActiveOption.active = true;
|
|
114
|
+
(_a = this.triggerElement) == null ? void 0 : _a.setAttribute("aria-activedescendant", nextActiveOption.id);
|
|
115
|
+
nextActiveOption.scrollIntoView({ block: "nearest" });
|
|
116
|
+
if (this._activeColumnIndex !== 0) {
|
|
117
|
+
this._row[this._activeItemIndex].querySelectorAll("sbb-autocomplete-grid-button").forEach((e) => e.toggleAttribute("data-focus-visible", false));
|
|
118
|
+
} else {
|
|
119
|
+
const lastActiveOption = filteredOptions[this._activeItemIndex];
|
|
120
|
+
if (lastActiveOption) {
|
|
121
|
+
lastActiveOption.active = false;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
this._activeItemIndex = next;
|
|
125
|
+
this._activeColumnIndex = 0;
|
|
126
|
+
}
|
|
127
|
+
_setNextHorizontalActiveElement(event) {
|
|
128
|
+
var _a;
|
|
129
|
+
if (this._activeItemIndex < 0) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
const elementsInRow = Array.from(
|
|
133
|
+
this._row[this._activeItemIndex].querySelectorAll("sbb-autocomplete-grid-option, sbb-autocomplete-grid-button")
|
|
134
|
+
).filter((el) => !el.disabled && !el.hasAttribute("data-group-disabled"));
|
|
135
|
+
const next = getNextElementIndex(event, this._activeColumnIndex, elementsInRow.length);
|
|
136
|
+
if (isNaN(next)) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
const nextElement = elementsInRow[next];
|
|
140
|
+
if (nextElement instanceof SbbAutocompleteGridOptionElement) {
|
|
141
|
+
nextElement.active = true;
|
|
142
|
+
} else {
|
|
143
|
+
nextElement.toggleAttribute("data-focus-visible", true);
|
|
144
|
+
}
|
|
145
|
+
const lastActiveElement = elementsInRow[this._activeColumnIndex];
|
|
146
|
+
if (lastActiveElement instanceof SbbAutocompleteGridOptionElement) {
|
|
147
|
+
lastActiveElement.active = false;
|
|
148
|
+
} else {
|
|
149
|
+
lastActiveElement.toggleAttribute("data-focus-visible", false);
|
|
150
|
+
}
|
|
151
|
+
(_a = this.triggerElement) == null ? void 0 : _a.setAttribute("aria-activedescendant", nextElement.id);
|
|
152
|
+
nextElement.scrollIntoView({ block: "nearest" });
|
|
153
|
+
this._activeColumnIndex = next;
|
|
154
|
+
}
|
|
155
|
+
resetActiveElement() {
|
|
156
|
+
var _a;
|
|
157
|
+
if (this._activeColumnIndex !== 0) {
|
|
158
|
+
this._row[this._activeItemIndex].querySelectorAll("sbb-autocomplete-grid-button").forEach((e) => e.toggleAttribute("data-focus-visible", false));
|
|
159
|
+
} else {
|
|
160
|
+
const activeElement = this.options.filter(
|
|
161
|
+
(opt) => !opt.disabled && !opt.hasAttribute("data-group-disabled")
|
|
162
|
+
)[this._activeItemIndex];
|
|
163
|
+
if (activeElement) {
|
|
164
|
+
activeElement.active = false;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
this._activeItemIndex = -1;
|
|
168
|
+
this._activeColumnIndex = 0;
|
|
169
|
+
(_a = this.triggerElement) == null ? void 0 : _a.removeAttribute("aria-activedescendant");
|
|
170
|
+
}
|
|
171
|
+
setTriggerAttributes(element) {
|
|
172
|
+
setAriaComboBoxAttributes(element, ariaRoleOnHost ? this.id : this.overlayId, false, "grid");
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
SbbAutocompleteGridElement = __decorateClass([
|
|
176
|
+
customElement("sbb-autocomplete-grid"),
|
|
177
|
+
hostAttributes({
|
|
178
|
+
dir: getDocumentWritingMode(),
|
|
179
|
+
role: ariaRoleOnHost ? "grid" : null
|
|
180
|
+
})
|
|
181
|
+
], SbbAutocompleteGridElement);
|
|
182
|
+
export {
|
|
183
|
+
SbbAutocompleteGridElement
|
|
184
|
+
};
|
|
185
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9hdXRvY29tcGxldGUtZ3JpZC9hdXRvY29tcGxldGUtZ3JpZC9hdXRvY29tcGxldGUtZ3JpZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJBdXRvY29tcGxldGVCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2F1dG9jb21wbGV0ZS5qcyc7XG5pbXBvcnQgeyBnZXROZXh0RWxlbWVudEluZGV4IH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGdldERvY3VtZW50V3JpdGluZ01vZGUsIGlzU2FmYXJpIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgc2V0QXJpYUNvbWJvQm94QXR0cmlidXRlcyB9IGZyb20gJy4uLy4uL2NvcmUvb3ZlcmxheS5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkRpdmlkZXJFbGVtZW50IH0gZnJvbSAnLi4vLi4vZGl2aWRlci5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wdEdyb3VwRWxlbWVudCwgU2JiT3B0aW9uRWxlbWVudCB9IGZyb20gJy4uLy4uL29wdGlvbi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkF1dG9jb21wbGV0ZUdyaWRCdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uLmpzJztcbmltcG9ydCB7IFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50IH0gZnJvbSAnLi4vYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiQXV0b2NvbXBsZXRlR3JpZFJvd0VsZW1lbnQgfSBmcm9tICcuLi9hdXRvY29tcGxldGUtZ3JpZC1yb3cuanMnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBPbiBTYWZhcmksIHRoZSBhcmlhIHJvbGUgJ2xpc3Rib3gnIG11c3QgYmUgb24gdGhlIGhvc3QgZWxlbWVudCwgb3IgZWxzZSBWb2ljZU92ZXIgd29uJ3Qgd29yayBhdCBhbGwuXG4gKiBPbiB0aGUgb3RoZXIgaGFuZCwgSkFXUyBhbmQgTlZEQSBuZWVkIHRoZSByb2xlIHRvIGJlIFwiY2xvc2VyXCIgdG8gdGhlIG9wdGlvbnMsIG9yIGVsc2Ugb3B0Z3JvdXBzIHdvbid0IHdvcmsuXG4gKi9cbmNvbnN0IGFyaWFSb2xlT25Ib3N0ID0gaXNTYWZhcmk7XG5cbi8qKlxuICogQ29tYmluZWQgd2l0aCBhIG5hdGl2ZSBpbnB1dCwgaXQgZGlzcGxheXMgYSBwYW5lbCB3aXRoIGEgbGlzdCBvZiBhdmFpbGFibGUgb3B0aW9ucyB3aXRoIGNvbm5lY3RlZCBidXR0b25zLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93YCBvciBgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGdyb3VwYCBlbGVtZW50cyB0byB0aGUgYHNiYi1hdXRvY29tcGxldGUtZ3JpZGAuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWF1dG9jb21wbGV0ZS1ncmlkYCBzdGFydHMgdGhlIG9wZW5pbmcgdHJhbnNpdGlvbi4gQ2FuIGJlIGNhbmNlbGVkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWF1dG9jb21wbGV0ZS1ncmlkYCBpcyBvcGVuZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsQ2xvc2UgLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1hdXRvY29tcGxldGUtZ3JpZGAgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZENsb3NlIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItYXV0b2NvbXBsZXRlLWdyaWRgIGlzIGNsb3NlZC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1hdXRvY29tcGxldGUtei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWF1dG9jb21wbGV0ZS1ncmlkJylcbkBob3N0QXR0cmlidXRlcyh7XG4gIGRpcjogZ2V0RG9jdW1lbnRXcml0aW5nTW9kZSgpLFxuICByb2xlOiBhcmlhUm9sZU9uSG9zdCA/ICdncmlkJyA6IG51bGwsXG59KVxuZXhwb3J0IGNsYXNzIFNiYkF1dG9jb21wbGV0ZUdyaWRFbGVtZW50IGV4dGVuZHMgU2JiQXV0b2NvbXBsZXRlQmFzZUVsZW1lbnQge1xuICBwcm90ZWN0ZWQgb3ZlcmxheUlkID0gYHNiYi1hdXRvY29tcGxldGUtZ3JpZC0keysrbmV4dElkfWA7XG4gIHByb3RlY3RlZCBwYW5lbFJvbGUgPSAnZ3JpZCc7XG4gIHByaXZhdGUgX2FjdGl2ZUl0ZW1JbmRleCA9IC0xO1xuICBwcml2YXRlIF9hY3RpdmVDb2x1bW5JbmRleCA9IDA7XG5cbiAgcHJvdGVjdGVkIGdldCBvcHRpb25zKCk6IFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uJykgPz8gW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX3JvdygpOiBTYmJBdXRvY29tcGxldGVHcmlkUm93RWxlbWVudFtdIHtcbiAgICByZXR1cm4gKFxuICAgICAgQXJyYXkuZnJvbSh0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/Lignc2JiLWF1dG9jb21wbGV0ZS1ncmlkLXJvdycpKS5maWx0ZXIoXG4gICAgICAgIChyb3cpID0+ICFyb3cuaGFzQXR0cmlidXRlKCdkYXRhLWRpc2FibGVkJyksXG4gICAgICApID8/IFtdXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbk9wdGlvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KS5sb2NhbE5hbWUgIT09ICdzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uJyB8fFxuICAgICAgKGV2ZW50LnRhcmdldCBhcyBTYmJPcHRpb25FbGVtZW50KS5kaXNhYmxlZFxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBjb25zdCBzaWduYWwgPSB0aGlzLmFib3J0LnNpZ25hbDtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnYXV0b2NvbXBsZXRlT3B0aW9uU2VsZWN0aW9uQ2hhbmdlJyxcbiAgICAgIChlOiBDdXN0b21FdmVudDx2b2lkPikgPT4gdGhpcy5vbk9wdGlvblNlbGVjdGVkKGUpLFxuICAgICAgeyBzaWduYWwgfSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bmNOZWdhdGl2ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/LjxTYmJEaXZpZGVyRWxlbWVudCB8IFNiYkF1dG9jb21wbGV0ZUdyaWRCdXR0b25FbGVtZW50PihcbiAgICAgICdzYmItZGl2aWRlciwgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLWJ1dHRvbicsXG4gICAgKS5mb3JFYWNoKChlKSA9PiAoZS5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmUpKTtcblxuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uPFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50IHwgU2JiT3B0R3JvdXBFbGVtZW50PihcbiAgICAgICdzYmItYXV0b2NvbXBsZXRlLWdyaWQtcm93LCBzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uLCBzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0Z3JvdXAnLFxuICAgICkuZm9yRWFjaCgoZWxlbWVudCkgPT4gZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtbmVnYXRpdmUnLCB0aGlzLm5lZ2F0aXZlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3BlbmVkUGFuZWxLZXlib2FyZEludGVyYWN0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0VzY2FwZSc6XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdFbnRlcic6XG4gICAgICAgIHRoaXMuc2VsZWN0QnlLZXlib2FyZCgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICB0aGlzLnNldE5leHRBY3RpdmVPcHRpb24oZXZlbnQpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnQXJyb3dSaWdodCc6XG4gICAgICBjYXNlICdBcnJvd0xlZnQnOlxuICAgICAgICB0aGlzLl9zZXROZXh0SG9yaXpvbnRhbEFjdGl2ZUVsZW1lbnQoZXZlbnQpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IGFuIGVsZW1lbnQgb24gJ0VudGVyJyBrZXlwcmVzcy5cbiAgICpcbiAgICogRHVlIHRvIGtleWJvYXJkIG5hdmlnYXRpb24gY29kZSwgdGhlIGBfYWN0aXZlQ29sdW1uSW5kZXhgIGlzIHplcm8gd2hlbiBhbiBvcHRpb24gaXMgJ2ZvY3VzZWQnXG4gICAqIGFuZCBncmVhdGVyIHRoYW4gemVybyB3aGVuIGEgYnV0dG9uIGlzICdmb2N1c2VkJywgc28gYXNraW5nIGZvciBgcXVlcnlTZWxlY3RvckFsbCguLi4pW3RoaXMuX2FjdGl2ZUNvbHVtbkluZGV4XWBcbiAgICogd291bGQgYWx3YXlzIHJldHVybiBhIGBTYmJBdXRvY29tcGxldGVHcmlkQnV0dG9uRWxlbWVudGAuXG4gICAqL1xuICBwcm90ZWN0ZWQgc2VsZWN0QnlLZXlib2FyZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fYWN0aXZlQ29sdW1uSW5kZXggIT09IDApIHtcbiAgICAgIChcbiAgICAgICAgdGhpcy5fcm93W3RoaXMuX2FjdGl2ZUl0ZW1JbmRleF0ucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAnc2JiLWF1dG9jb21wbGV0ZS1ncmlkLW9wdGlvbiwgc2JiLWF1dG9jb21wbGV0ZS1ncmlkLWJ1dHRvbicsXG4gICAgICAgIClbdGhpcy5fYWN0aXZlQ29sdW1uSW5kZXhdIGFzIFNiYkF1dG9jb21wbGV0ZUdyaWRCdXR0b25FbGVtZW50XG4gICAgICApLmNsaWNrKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3B0aW9uc1t0aGlzLl9hY3RpdmVJdGVtSW5kZXhdPy5zZXRTZWxlY3RlZFZpYVVzZXJJbnRlcmFjdGlvbih0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0TmV4dEFjdGl2ZU9wdGlvbihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucy5maWx0ZXIoXG4gICAgICAob3B0KSA9PiAhb3B0LmRpc2FibGVkICYmICFvcHQuaGFzQXR0cmlidXRlKCdkYXRhLWdyb3VwLWRpc2FibGVkJyksXG4gICAgKTtcblxuICAgIC8vIEdldCBhbmQgYWN0aXZhdGUgdGhlIG5leHQgYWN0aXZlIG9wdGlvblxuICAgIGNvbnN0IG5leHQgPSBnZXROZXh0RWxlbWVudEluZGV4KGV2ZW50LCB0aGlzLl9hY3RpdmVJdGVtSW5kZXgsIGZpbHRlcmVkT3B0aW9ucy5sZW5ndGgpO1xuICAgIGlmIChpc05hTihuZXh0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBuZXh0QWN0aXZlT3B0aW9uID0gZmlsdGVyZWRPcHRpb25zW25leHRdO1xuICAgIG5leHRBY3RpdmVPcHRpb24uYWN0aXZlID0gdHJ1ZTtcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCcsIG5leHRBY3RpdmVPcHRpb24uaWQpO1xuICAgIG5leHRBY3RpdmVPcHRpb24uc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ25lYXJlc3QnIH0pO1xuXG4gICAgLy8gUmVzZXQgdGhlIHByZXZpb3VzIGFjdGl2ZSBvcHRpb24vYnV0dG9uXG4gICAgaWYgKHRoaXMuX2FjdGl2ZUNvbHVtbkluZGV4ICE9PSAwKSB7XG4gICAgICB0aGlzLl9yb3dbdGhpcy5fYWN0aXZlSXRlbUluZGV4XVxuICAgICAgICAucXVlcnlTZWxlY3RvckFsbCgnc2JiLWF1dG9jb21wbGV0ZS1ncmlkLWJ1dHRvbicpXG4gICAgICAgIC5mb3JFYWNoKChlKSA9PiBlLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1mb2N1cy12aXNpYmxlJywgZmFsc2UpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbGFzdEFjdGl2ZU9wdGlvbiA9IGZpbHRlcmVkT3B0aW9uc1t0aGlzLl9hY3RpdmVJdGVtSW5kZXhdO1xuICAgICAgaWYgKGxhc3RBY3RpdmVPcHRpb24pIHtcbiAgICAgICAgbGFzdEFjdGl2ZU9wdGlvbi5hY3RpdmUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fYWN0aXZlSXRlbUluZGV4ID0gbmV4dDtcbiAgICB0aGlzLl9hY3RpdmVDb2x1bW5JbmRleCA9IDA7XG4gIH1cblxuICBwcml2YXRlIF9zZXROZXh0SG9yaXpvbnRhbEFjdGl2ZUVsZW1lbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fYWN0aXZlSXRlbUluZGV4IDwgMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGVsZW1lbnRzSW5Sb3c6IChTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudCB8IFNiYkF1dG9jb21wbGV0ZUdyaWRCdXR0b25FbGVtZW50KVtdID1cbiAgICAgIEFycmF5LmZyb20oXG4gICAgICAgIHRoaXMuX3Jvd1t0aGlzLl9hY3RpdmVJdGVtSW5kZXhdLnF1ZXJ5U2VsZWN0b3JBbGw8XG4gICAgICAgICAgU2JiQXV0b2NvbXBsZXRlR3JpZE9wdGlvbkVsZW1lbnQgfCBTYmJBdXRvY29tcGxldGVHcmlkQnV0dG9uRWxlbWVudFxuICAgICAgICA+KCdzYmItYXV0b2NvbXBsZXRlLWdyaWQtb3B0aW9uLCBzYmItYXV0b2NvbXBsZXRlLWdyaWQtYnV0dG9uJyksXG4gICAgICApLmZpbHRlcigoZWwpID0+ICFlbC5kaXNhYmxlZCAmJiAhZWwuaGFzQXR0cmlidXRlKCdkYXRhLWdyb3VwLWRpc2FibGVkJykpO1xuICAgIGNvbnN0IG5leHQ6IG51bWJlciA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZlbnQsIHRoaXMuX2FjdGl2ZUNvbHVtbkluZGV4LCBlbGVtZW50c0luUm93Lmxlbmd0aCk7XG4gICAgaWYgKGlzTmFOKG5leHQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG5leHRFbGVtZW50OiBTYmJBdXRvY29tcGxldGVHcmlkT3B0aW9uRWxlbWVudCB8IFNiYkF1dG9jb21wbGV0ZUdyaWRCdXR0b25FbGVtZW50ID1cbiAgICAgIGVsZW1lbnRzSW5Sb3dbbmV4dF07XG4gICAgaWYgKG5leHRFbGVtZW50IGluc3RhbmNlb2YgU2JiQXV0b2NvbXBsZXRlR3JpZE9wdGlvbkVsZW1lbnQpIHtcbiAgICAgIG5leHRFbGVtZW50LmFjdGl2ZSA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5leHRFbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1mb2N1cy12aXNpYmxlJywgdHJ1ZSk7XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdEFjdGl2ZUVsZW1lbnQ6IFNiYkF1dG9jb21wbGV0ZUdyaWRPcHRpb25FbGVtZW50IHwgU2JiQXV0b2NvbXBsZXRlR3JpZEJ1dHRvbkVsZW1lbnQgPVxuICAgICAgZWxlbWVudHNJblJvd1t0aGlzLl9hY3RpdmVDb2x1bW5JbmRleF07XG4gICAgaWYgKGxhc3RBY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgU2JiQXV0b2NvbXBsZXRlR3JpZE9wdGlvbkVsZW1lbnQpIHtcbiAgICAgIGxhc3RBY3RpdmVFbGVtZW50LmFjdGl2ZSA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBsYXN0QWN0aXZlRWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZm9jdXMtdmlzaWJsZScsIGZhbHNlKTtcbiAgICB9XG4gICAgdGhpcy50cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnLCBuZXh0RWxlbWVudC5pZCk7XG4gICAgbmV4dEVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ25lYXJlc3QnIH0pO1xuICAgIHRoaXMuX2FjdGl2ZUNvbHVtbkluZGV4ID0gbmV4dDtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXNldEFjdGl2ZUVsZW1lbnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2FjdGl2ZUNvbHVtbkluZGV4ICE9PSAwKSB7XG4gICAgICB0aGlzLl9yb3dbdGhpcy5fYWN0aXZlSXRlbUluZGV4XVxuICAgICAgICAucXVlcnlTZWxlY3RvckFsbCgnc2JiLWF1dG9jb21wbGV0ZS1ncmlkLWJ1dHRvbicpXG4gICAgICAgIC5mb3JFYWNoKChlKSA9PiBlLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1mb2N1cy12aXNpYmxlJywgZmFsc2UpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IHRoaXMub3B0aW9ucy5maWx0ZXIoXG4gICAgICAgIChvcHQpID0+ICFvcHQuZGlzYWJsZWQgJiYgIW9wdC5oYXNBdHRyaWJ1dGUoJ2RhdGEtZ3JvdXAtZGlzYWJsZWQnKSxcbiAgICAgIClbdGhpcy5fYWN0aXZlSXRlbUluZGV4XTtcbiAgICAgIGlmIChhY3RpdmVFbGVtZW50KSB7XG4gICAgICAgIGFjdGl2ZUVsZW1lbnQuYWN0aXZlID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuX2FjdGl2ZUl0ZW1JbmRleCA9IC0xO1xuICAgIHRoaXMuX2FjdGl2ZUNvbHVtbkluZGV4ID0gMDtcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldFRyaWdnZXJBdHRyaWJ1dGVzKGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkIHtcbiAgICBzZXRBcmlhQ29tYm9Cb3hBdHRyaWJ1dGVzKGVsZW1lbnQsIGFyaWFSb2xlT25Ib3N0ID8gdGhpcy5pZCA6IHRoaXMub3ZlcmxheUlkLCBmYWxzZSwgJ2dyaWQnKTtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWF1dG9jb21wbGV0ZS1ncmlkJzogU2JiQXV0b2NvbXBsZXRlR3JpZEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQWFBLElBQUksU0FBUztBQU1iLE1BQU0saUJBQWlCO0FBbUJWLElBQUEsNkJBQU4sY0FBeUMsMkJBQTJCO0FBQUEsRUFBcEUsY0FBQTtBQUFBLFVBQUEsR0FBQSxTQUFBO0FBQ0ssU0FBQSxZQUFZLHlCQUF5QixFQUFFLE1BQU07QUFDdkQsU0FBVSxZQUFZO0FBQ3RCLFNBQVEsbUJBQW1CO0FBQzNCLFNBQVEscUJBQXFCO0FBQUEsRUFBQTtBQUFBLEVBRTdCLElBQWMsVUFBOEM7O0FBQzFELFdBQU8sTUFBTSxPQUFLLFVBQUsscUJBQUwsOEJBQXdCLG9DQUFtQyxDQUFBLENBQUU7QUFBQSxFQUNqRjtBQUFBLEVBRUEsSUFBWSxPQUF3Qzs7QUFDbEQsV0FDRSxNQUFNLE1BQUssVUFBSyxxQkFBTCw4QkFBd0IsNEJBQTRCLEVBQUU7QUFBQSxNQUMvRCxDQUFDLFFBQVEsQ0FBQyxJQUFJLGFBQWEsZUFBZTtBQUFBLFNBQ3ZDO0VBRVQ7QUFBQSxFQUVVLGNBQWMsT0FBeUI7QUFDL0MsUUFDRyxNQUFNLE9BQW1CLGNBQWMsa0NBQ3ZDLE1BQU0sT0FBNEIsVUFDbkM7QUFDQTtBQUFBLElBQ0Y7QUFDQSxTQUFLLE1BQU07QUFBQSxFQUNiO0FBQUEsRUFFZ0Isb0JBQTBCO0FBQ3hDLFVBQU0sa0JBQWtCO0FBQ2xCLFVBQUEsU0FBUyxLQUFLLE1BQU07QUFDckIsU0FBQTtBQUFBLE1BQ0g7QUFBQSxNQUNBLENBQUMsTUFBeUIsS0FBSyxpQkFBaUIsQ0FBQztBQUFBLE1BQ2pELEVBQUUsT0FBTztBQUFBLElBQUE7QUFBQSxFQUViO0FBQUEsRUFFVSxlQUFxQjs7QUFDeEIsZUFBQSxxQkFBQTtBQUFBO0FBQUEsTUFDSDtBQUFBLE1BQ0EsUUFBUSxDQUFDLE1BQU8sRUFBRSxXQUFX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
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './autocomplete-grid/autocomplete-grid.js';
|
|
2
|
+
export * from './autocomplete-grid/autocomplete-grid-button.js';
|
|
3
|
+
export * from './autocomplete-grid/autocomplete-grid-cell.js';
|
|
4
|
+
export * from './autocomplete-grid/autocomplete-grid-optgroup.js';
|
|
5
|
+
export * from './autocomplete-grid/autocomplete-grid-option.js';
|
|
6
|
+
export * from './autocomplete-grid/autocomplete-grid-row.js';
|
|
7
|
+
//# sourceMappingURL=autocomplete-grid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autocomplete-grid.d.ts","sourceRoot":"","sources":["../../../src/elements/autocomplete-grid.ts"],"names":[],"mappings":"AAAA,cAAc,0CAA0C,CAAC;AACzD,cAAc,iDAAiD,CAAC;AAChE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mDAAmD,CAAC;AAClE,cAAc,iDAAiD,CAAC;AAChE,cAAc,8CAA8C,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from "./autocomplete-grid/autocomplete-grid.js";
|
|
2
|
+
export * from "./autocomplete-grid/autocomplete-grid-button.js";
|
|
3
|
+
export * from "./autocomplete-grid/autocomplete-grid-cell.js";
|
|
4
|
+
export * from "./autocomplete-grid/autocomplete-grid-optgroup.js";
|
|
5
|
+
export * from "./autocomplete-grid/autocomplete-grid-option.js";
|
|
6
|
+
export * from "./autocomplete-grid/autocomplete-grid-row.js";
|
|
7
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWdyaWQuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7In0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../../src/elements/autocomplete.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../../src/elements/autocomplete.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6CAA6C,CAAC"}
|