@sbb-esta/lyne-elements 1.3.0 → 1.5.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/checkbox.d.ts +5 -0
- package/checkbox/checkbox/checkbox.d.ts.map +1 -1
- package/checkbox/checkbox-panel/checkbox-panel.d.ts +5 -0
- package/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
- package/checkbox/checkbox-panel.js +28 -18
- package/checkbox/checkbox.js +30 -19
- package/checkbox/common/checkbox-common.d.ts +1 -3
- package/checkbox/common/checkbox-common.d.ts.map +1 -1
- package/checkbox/common.js +16 -25
- package/container/container.js +3 -3
- package/core/i18n/i18n.d.ts +2 -0
- package/core/i18n/i18n.d.ts.map +1 -1
- package/core/i18n.js +61 -49
- package/core/mixins/form-associated-mixin.d.ts.map +1 -1
- package/core/mixins/panel-mixin.d.ts +1 -0
- package/core/mixins/panel-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 +14325 -9229
- 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/checkbox.d.ts +5 -0
- package/development/checkbox/checkbox/checkbox.d.ts.map +1 -1
- package/development/checkbox/checkbox-panel/checkbox-panel.d.ts +5 -0
- package/development/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
- package/development/checkbox/checkbox-panel.js +13 -2
- package/development/checkbox/checkbox.js +19 -1
- package/development/checkbox/common/checkbox-common.d.ts +1 -3
- package/development/checkbox/common/checkbox-common.d.ts.map +1 -1
- package/development/checkbox/common.js +13 -19
- package/development/container/container.js +2 -1
- package/development/core/i18n/i18n.d.ts +2 -0
- package/development/core/i18n/i18n.d.ts.map +1 -1
- package/development/core/i18n.js +15 -1
- package/development/core/mixins/form-associated-mixin.d.ts.map +1 -1
- package/development/core/mixins/panel-mixin.d.ts +1 -0
- package/development/core/mixins/panel-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/flip-card/flip-card/flip-card.d.ts +32 -0
- package/development/flip-card/flip-card/flip-card.d.ts.map +1 -0
- package/development/flip-card/flip-card/index.d.ts +2 -0
- package/development/flip-card/flip-card/index.d.ts.map +1 -0
- package/development/flip-card/flip-card-details/flip-card-details.d.ts +22 -0
- package/development/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -0
- package/development/flip-card/flip-card-details/index.d.ts +2 -0
- package/development/flip-card/flip-card-details/index.d.ts.map +1 -0
- package/development/flip-card/flip-card-details.d.ts +2 -0
- package/development/flip-card/flip-card-details.d.ts.map +1 -0
- package/development/flip-card/flip-card-details.js +105 -0
- package/development/flip-card/flip-card-summary/flip-card-summary.d.ts +22 -0
- package/development/flip-card/flip-card-summary/flip-card-summary.d.ts.map +1 -0
- package/development/flip-card/flip-card-summary/index.d.ts +2 -0
- package/development/flip-card/flip-card-summary/index.d.ts.map +1 -0
- package/development/flip-card/flip-card-summary.d.ts +2 -0
- package/development/flip-card/flip-card-summary.d.ts.map +1 -0
- package/development/flip-card/flip-card-summary.js +151 -0
- package/development/flip-card/flip-card.d.ts +2 -0
- package/development/flip-card/flip-card.d.ts.map +1 -0
- package/development/flip-card/flip-card.js +187 -0
- package/development/flip-card.d.ts +4 -0
- package/development/flip-card.d.ts.map +1 -0
- package/development/flip-card.js +4 -0
- 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/status/status.d.ts +1 -1
- package/development/status/status.d.ts.map +1 -1
- package/development/status.js +39 -2
- 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/development/visual-checkbox/visual-checkbox.d.ts +3 -0
- package/development/visual-checkbox/visual-checkbox.d.ts.map +1 -1
- package/development/visual-checkbox.js +11 -3
- package/flip-card/flip-card/flip-card.d.ts +32 -0
- package/flip-card/flip-card/flip-card.d.ts.map +1 -0
- package/flip-card/flip-card/index.d.ts +2 -0
- package/flip-card/flip-card/index.d.ts.map +1 -0
- package/flip-card/flip-card-details/flip-card-details.d.ts +22 -0
- package/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -0
- package/flip-card/flip-card-details/index.d.ts +2 -0
- package/flip-card/flip-card-details/index.d.ts.map +1 -0
- package/flip-card/flip-card-details.d.ts +2 -0
- package/flip-card/flip-card-details.d.ts.map +1 -0
- package/flip-card/flip-card-details.js +52 -0
- package/flip-card/flip-card-summary/flip-card-summary.d.ts +22 -0
- package/flip-card/flip-card-summary/flip-card-summary.d.ts.map +1 -0
- package/flip-card/flip-card-summary/index.d.ts +2 -0
- package/flip-card/flip-card-summary/index.d.ts.map +1 -0
- package/flip-card/flip-card-summary.d.ts +2 -0
- package/flip-card/flip-card-summary.d.ts.map +1 -0
- package/flip-card/flip-card-summary.js +41 -0
- package/flip-card/flip-card.d.ts +2 -0
- package/flip-card/flip-card.d.ts.map +1 -0
- package/flip-card/flip-card.js +58 -0
- package/flip-card.d.ts +4 -0
- package/flip-card.d.ts.map +1 -0
- package/flip-card.js +3 -0
- 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 +18 -0
- package/index.js +18 -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 +56 -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/status/status.d.ts +1 -1
- package/status/status.d.ts.map +1 -1
- package/status.js +17 -13
- 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
- package/visual-checkbox/visual-checkbox.d.ts +3 -0
- package/visual-checkbox/visual-checkbox.d.ts.map +1 -1
- package/visual-checkbox.js +23 -20
|
@@ -200,14 +200,14 @@ function removeAriaOverlayTriggerAttributes(trigger) {
|
|
|
200
200
|
trigger.removeAttribute("aria-controls");
|
|
201
201
|
trigger.removeAttribute("aria-expanded");
|
|
202
202
|
}
|
|
203
|
-
function setAriaComboBoxAttributes(trigger, overlayId, expanded) {
|
|
203
|
+
function setAriaComboBoxAttributes(trigger, overlayId, expanded, hasPopup = "listbox") {
|
|
204
204
|
if (!trigger) {
|
|
205
205
|
return;
|
|
206
206
|
}
|
|
207
207
|
trigger.setAttribute("autocomplete", "off");
|
|
208
208
|
trigger.setAttribute("role", "combobox");
|
|
209
209
|
trigger.setAttribute("aria-autocomplete", "list");
|
|
210
|
-
trigger.setAttribute("aria-haspopup",
|
|
210
|
+
trigger.setAttribute("aria-haspopup", hasPopup);
|
|
211
211
|
trigger.setAttribute("aria-controls", overlayId);
|
|
212
212
|
trigger.setAttribute("aria-owns", overlayId);
|
|
213
213
|
trigger.setAttribute("aria-expanded", `${expanded}`);
|
|
@@ -237,4 +237,4 @@ export {
|
|
|
237
237
|
setAriaOverlayTriggerAttributes,
|
|
238
238
|
setOverlayPosition
|
|
239
239
|
};
|
|
240
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvb3ZlcmxheS9vdmVybGF5LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvb3ZlcmxheS9wb3NpdGlvbi50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL292ZXJsYXkvb3ZlcmxheS1vcHRpb24tcGFuZWwudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9vdmVybGF5L292ZXJsYXktdHJpZ2dlci1hdHRyaWJ1dGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdCc7XG5cbmNvbnN0IElTX09QRU5fT1ZFUkxBWV9RVUVSWSA9IGA6aXMoc2JiLWRpYWxvZywgc2JiLW5hdmlnYXRpb24sIHNiYi1tZW51LCBzYmItb3ZlcmxheSlbZGF0YS1zdGF0ZT0nb3BlbmVkJ11gO1xuXG4vKipcbiAqIFVzZWQgdG8gY3JlYXRlIHRoZSBcIndyYXBwaW5nXCIgZWZmZWN0IGFyb3VuZCB0aGUgYW5jaG9yIGZvciBvdmVybGF5cyAoZXMuIGF1dG9jb21wbGV0ZSlcbiAqIFdvcmtzIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlICdvdmVybGF5R2FwRml4Q29ybmVycygpJyBmdW5jdGlvbiBpbiAnb3ZlcmxheS50cydcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG92ZXJsYXlHYXBGaXhDb3JuZXJzKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgcmV0dXJuIGh0bWxgXG4gICAgPGRpdiBjbGFzcz1cInNiYi1nYXAtZml4LXdyYXBwZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItZ2FwLWZpeC1jb3JuZXJcIiBpZD1cImxlZnRcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2JiLWdhcC1maXgtd3JhcHBlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1nYXAtZml4LWNvcm5lclwiIGlkPVwicmlnaHRcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYDtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGFsbCB0aGUgYW5jZXN0b3JzIG9mIHRoZSBvdmVybGF5LlxuICovXG5jb25zdCBnZXRBbmNlc3RvcnMgPSAob3ZlcmxheTogSFRNTEVsZW1lbnQsIHJvb3Q6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnRbXSA9PiB7XG4gIGxldCBlbCA9IG92ZXJsYXkucGFyZW50RWxlbWVudDtcbiAgY29uc3QgYW5jZXN0b3JzOiBIVE1MRWxlbWVudFtdID0gW107XG4gIHdoaWxlIChlbCkge1xuICAgIGFuY2VzdG9ycy5wdXNoKGVsKTtcbiAgICBpZiAoZWwgIT09IHJvb3QpIHtcbiAgICAgIGVsID0gZWwucGFyZW50RWxlbWVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG4gIHJldHVybiBhbmNlc3RvcnM7XG59O1xuXG5jb25zdCBzZXREYXRhU2JiSW5lcnQgPSAoZWw6IEhUTUxFbGVtZW50KTogdm9pZCA9PiB7XG4gIGVsLnNldEF0dHJpYnV0ZShcbiAgICAnZGF0YS1zYmItaW5lcnQnLFxuICAgIGAkeysoZWwuZ2V0QXR0cmlidXRlKCdkYXRhLXNiYi1pbmVydCcpID8/IHVuZGVmaW5lZCkhICsgMSB8fCAwfWAsXG4gICk7XG59O1xuXG4vKipcbiAqIFNldCB0aGUgaW5lcnQgYW5kIHRoZSBkYXRhLXNiYi1pbmVydCBhdHRyaWJ1dGVzLlxuICovXG5jb25zdCBzZXRTYmJJbmVydCA9IChlbDogSFRNTEVsZW1lbnQpOiB2b2lkID0+IHtcbiAgaWYgKCFlbC5pbmVydCkge1xuICAgIGVsLmluZXJ0ID0gdHJ1ZTtcbiAgICBpZiAoZWwubWF0Y2hlcyhJU19PUEVOX09WRVJMQVlfUVVFUlkpKSB7XG4gICAgICBzZXREYXRhU2JiSW5lcnQoZWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbC50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtc2JiLWluZXJ0JywgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKCFlbC5oYXNBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJykpIHtcbiAgICBlbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKTtcbiAgICBlbC50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtc2JiLWFyaWEtaGlkZGVuJywgdHJ1ZSk7XG4gIH1cbn07XG5cbi8qKlxuICogUmVtb3ZlcyB0aGUgaW5lcnQgYW5kIHRoZSBkYXRhLXNiYi1pbmVydCBhdHRyaWJ1dGVzLlxuICovXG5jb25zdCByZW1vdmVTYmJJbmVydCA9IChlbDogSFRNTEVsZW1lbnQpOiB2b2lkID0+IHtcbiAgaWYgKGVsLmhhc0F0dHJpYnV0ZSgnZGF0YS1zYmItaW5lcnQnKSkge1xuICAgIGVsLmluZXJ0ID0gZmFsc2U7XG4gICAgZWwucmVtb3ZlQXR0cmlidXRlKCdkYXRhLXNiYi1pbmVydCcpO1xuICB9XG5cbiAgaWYgKGVsLmhhc0F0dHJpYnV0ZSgnZGF0YS1zYmItYXJpYS1oaWRkZW4nKSkge1xuICAgIGVsLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nKTtcbiAgICBlbC5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtc2JiLWFyaWEtaGlkZGVuJyk7XG4gIH1cbn07XG5cbi8qKlxuICogQXBwbGllcyBpbmVydCB0byBldmVyeSBvdGhlciBlbGVtZW50IG9uIHRoZSBwYWdlIGV4Y2VwdCB0aGUgb3ZlcmxheS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5SW5lcnRNZWNoYW5pc20ob3ZlcmxheTogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgcmVtb3ZlU2JiSW5lcnQob3ZlcmxheSk7XG5cbiAgY29uc3Qgb3ZlcmxheVJvb3QgPSBvdmVybGF5LmNsb3Nlc3QoJ2JvZHkgPiAqJykgYXMgSFRNTEVsZW1lbnQ7XG4gIGNvbnN0IGRvY3VtZW50Q2hpbGRyZW4gPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2JvZHkgPiAqJykpLmZpbHRlcihcbiAgICAoZWwpID0+IGVsICE9PSBvdmVybGF5Um9vdCxcbiAgKSBhcyBIVE1MRWxlbWVudFtdO1xuXG4gIGRvY3VtZW50Q2hpbGRyZW4uZm9yRWFjaCgoZWwpID0+IHNldFNiYkluZXJ0KGVsKSk7XG5cbiAgbGV0IGNoaWxkcmVuOiBIVE1MRWxlbWVudFtdID0gW107XG4gIGNvbnN0IGFuY2VzdG9ycyA9IGdldEFuY2VzdG9ycyhvdmVybGF5LCBvdmVybGF5Um9vdCk7XG5cbiAgZm9yIChjb25zdCBlbCBvZiBhbmNlc3RvcnMpIHtcbiAgICBjaGlsZHJlbiA9IGNoaWxkcmVuLmNvbmNhdChcbiAgICAgIEFycmF5LmZyb20oZWwuY2hpbGRyZW4pLmZpbHRlcihcbiAgICAgICAgKGVsOiBFbGVtZW50KSA9PiBlbCAhPT0gb3ZlcmxheSAmJiAhYW5jZXN0b3JzLmluY2x1ZGVzKGVsIGFzIEhUTUxFbGVtZW50KSxcbiAgICAgICkgYXMgSFRNTEVsZW1lbnRbXSxcbiAgICApO1xuICAgIGlmIChlbC5tYXRjaGVzKElTX09QRU5fT1ZFUkxBWV9RVUVSWSkpIHtcbiAgICAgIHNldERhdGFTYmJJbmVydChlbCk7XG4gICAgfVxuICB9XG5cbiAgY2hpbGRyZW4uZm9yRWFjaCgoZWwpID0+IHNldFNiYkluZXJ0KGVsKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVJbmVydE1lY2hhbmlzbSgpOiB2b2lkIHtcbiAgY29uc3Qgb3Blbk92ZXJsYXlzID0gQXJyYXkuZnJvbShcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChJU19PUEVOX09WRVJMQVlfUVVFUlkpLFxuICApIGFzIEhUTUxFbGVtZW50W107XG5cbiAgaWYgKG9wZW5PdmVybGF5cy5sZW5ndGgpIHtcbiAgICBvcGVuT3ZlcmxheXMuZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gK2VsLmdldEF0dHJpYnV0ZSgnZGF0YS1zYmItaW5lcnQnKSEgLSAxO1xuICAgICAgZWwuc2V0QXR0cmlidXRlKCdkYXRhLXNiYi1pbmVydCcsIGAke25ld1ZhbHVlfWApO1xuXG4gICAgICBpZiAobmV3VmFsdWUgJiYgbmV3VmFsdWUgPCAwKSB7XG4gICAgICAgIHJlbW92ZVNiYkluZXJ0KGVsKTtcbiAgICAgICAgQXJyYXkuZnJvbShlbC5jaGlsZHJlbikuZm9yRWFjaCgoZWw6IEVsZW1lbnQpID0+IHJlbW92ZVNiYkluZXJ0KGVsIGFzIEhUTUxFbGVtZW50KSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgQXJyYXkuZnJvbShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtc2JiLWluZXJ0XScpKS5mb3JFYWNoKChlbDogRWxlbWVudCkgPT5cbiAgICByZW1vdmVTYmJJbmVydChlbCBhcyBIVE1MRWxlbWVudCksXG4gICk7XG59XG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBHbG9iYWxFdmVudEhhbmRsZXJzRXZlbnRNYXAge1xuICAgIHdpbGxPcGVuOiBDdXN0b21FdmVudDx2b2lkPjtcbiAgICB3aWxsQ2xvc2U6IEN1c3RvbUV2ZW50PHZvaWQ+O1xuICAgIGRpZE9wZW46IEN1c3RvbUV2ZW50PHZvaWQ+O1xuICAgIGRpZENsb3NlOiBDdXN0b21FdmVudDx2b2lkPjtcbiAgfVxufVxuIiwiZXhwb3J0IHR5cGUgRWxlbWVudFJlY3RhbmdsZSA9IFBpY2s8XG4gIEhUTUxFbGVtZW50LFxuICAnc2Nyb2xsSGVpZ2h0JyB8ICdjbGllbnRIZWlnaHQnIHwgJ29mZnNldEhlaWdodCcgfCAnc2Nyb2xsV2lkdGgnIHwgJ2NsaWVudFdpZHRoJyB8ICdvZmZzZXRXaWR0aCdcbj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiQWxpZ25tZW50IHtcbiAgaG9yaXpvbnRhbDogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCc7XG4gIHZlcnRpY2FsOiAnYWJvdmUnIHwgJ2JlbG93Jztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTYmJFbGVtZW50UG9zaXRpb25JbmZvcyB7XG4gIHRvcDogbnVtYmVyO1xuICBsZWZ0OiBudW1iZXI7XG4gIG1heEhlaWdodDogc3RyaW5nO1xuICBhbGlnbm1lbnQ6IFNiYkFsaWdubWVudDtcbn1cblxuLyoqXG4gKiBHZXRzIGhlaWdodCBhbmQgd2lkdGggb2YgYW4gZWxlbWVudCBldmVuIGlmIGl0J3MgaGlkZGVuIChgZGlzcGxheTogbm9uZWApLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudFJlY3RhbmdsZShlbDogSFRNTEVsZW1lbnQpOiBFbGVtZW50UmVjdGFuZ2xlIHtcbiAgY29uc3QgZWxlbWVudFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwpLFxuICAgIGVsZW1lbnREaXNwbGF5ID0gZWxlbWVudFN0eWxlLmRpc3BsYXksXG4gICAgZWxlbWVudE1heEhlaWdodCA9IHBhcnNlSW50KGVsZW1lbnRTdHlsZS5tYXhIZWlnaHQsIDEwKS50b1N0cmluZygpO1xuXG4gIC8vIElmIGl0IGlzIG5vdCBoaWRkZW4gd2UganVzdCByZXR1cm4gbm9ybWFsIGhlaWdodFxuICBpZiAoZWxlbWVudERpc3BsYXkgIT09ICdub25lJyAmJiBlbGVtZW50TWF4SGVpZ2h0ICE9PSAnMCcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2Nyb2xsSGVpZ2h0OiBlbC5zY3JvbGxIZWlnaHQsXG4gICAgICBjbGllbnRIZWlnaHQ6IGVsLmNsaWVudEhlaWdodCxcbiAgICAgIG9mZnNldEhlaWdodDogZWwub2Zmc2V0SGVpZ2h0LFxuICAgICAgc2Nyb2xsV2lkdGg6IGVsLnNjcm9sbFdpZHRoLFxuICAgICAgY2xpZW50V2lkdGg6IGVsLmNsaWVudFdpZHRoLFxuICAgICAgb2Zmc2V0V2lkdGg6IGVsLm9mZnNldFdpZHRoLFxuICAgIH07XG4gIH1cblxuICAvLyBUaGUgZWxlbWVudCBpcyBoaWRkZW4gc286XG4gIC8vIG1ha2UgdGhlIGVsIGJsb2NrIGluIG9yZGVyIHRvIG1lYXN1cmUgaXRzIGhlaWdodCBidXQgc3RpbGwgYmUgaGlkZGVuXG4gIGVsLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgZWwuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICBlbC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcblxuICBjb25zdCBzY3JvbGxIZWlnaHQgPSBlbC5zY3JvbGxIZWlnaHQsXG4gICAgY2xpZW50SGVpZ2h0ID0gZWwuY2xpZW50SGVpZ2h0LFxuICAgIG9mZnNldEhlaWdodCA9IGVsLm9mZnNldEhlaWdodCxcbiAgICBzY3JvbGxXaWR0aCA9IGVsLnNjcm9sbFdpZHRoLFxuICAgIGNsaWVudFdpZHRoID0gZWwuY2xpZW50V2lkdGgsXG4gICAgb2Zmc2V0V2lkdGggPSBlbC5vZmZzZXRXaWR0aDtcblxuICAvLyBSZXZlcnRpbmcgdG8gdGhlIG9yaWdpbmFsIHZhbHVlc1xuICBlbC5zdHlsZS5kaXNwbGF5ID0gJyc7XG4gIGVsLnN0eWxlLnBvc2l0aW9uID0gJyc7XG4gIGVsLnN0eWxlLnZpc2liaWxpdHkgPSAnJztcblxuICByZXR1cm4geyBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCwgb2Zmc2V0SGVpZ2h0LCBzY3JvbGxXaWR0aCwgY2xpZW50V2lkdGgsIG9mZnNldFdpZHRoIH07XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGFuIGV2ZW50IGlzIGZpcmVkIG9uIGEgc3BlY2lmaWMgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRXZlbnRPbkVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQsIGV2ZW50OiBNb3VzZUV2ZW50IHwgUG9pbnRlckV2ZW50KTogYm9vbGVhbiB7XG4gIGlmICghZWxlbWVudCB8fCAhZXZlbnQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgcmV0dXJuIChcbiAgICByZWN0LnRvcCA8PSBldmVudC5jbGllbnRZICYmXG4gICAgZXZlbnQuY2xpZW50WSA8PSByZWN0LnRvcCArIHJlY3QuaGVpZ2h0ICYmXG4gICAgcmVjdC5sZWZ0IDw9IGV2ZW50LmNsaWVudFggJiZcbiAgICBldmVudC5jbGllbnRYIDw9IHJlY3QubGVmdCArIHJlY3Qud2lkdGhcbiAgKTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHRoZSBwb3NpdGlvbiBvZiBhbiBlbGVtZW50IHJlbGF0aXZlIHRvIGEgdHJpZ2dlciBlbGVtZW50IGJ5IGV2YWx1YXRpbmdcbiAqIHRoZSBvcHRpbWFsIHBvc2l0aW9uIGJhc2VkIG9uIHRoZSBhdmFpbGFibGUgc3BhY2UuXG4gKlxuICogQHBhcmFtIGVsZW1lbnQgVGhlIGVsZW1lbnQgb2Ygd2hpY2ggdG8gY2FsY3VsYXRlIHRoZSBwb3NpdGlvbi5cbiAqIEBwYXJhbSB0cmlnZ2VyIFRoZSBlbGVtZW50IHJlbGF0aXZlIHRvIHdoaWNoIHRvIGNhbGN1bGF0ZSB0aGUgcG9zaXRpb24uXG4gKiBAcGFyYW0gY29udGFpbmVyIFRoZSBlbGVtZW50IHdoaWNoIGhhcyB0aGUgcG9zaXRpb246Zml4ZWQgYXBwbGllZC5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzIFByb3BlcnRpZXMgdG8gdGFrZSBpbnRvIGFjY291bnQgaW4gY2FsY3VsYXRpb25zIChvcHRpb25hbCkuXG4gKiBAcGFyYW0gcHJvcGVydGllcy52ZXJ0aWNhbE9mZnNldCBUaGUgZGlzdGFuY2UgdG8gYmUgYWRkZWQgYmV0d2VlbiB0aGUgZWxlbWVudCBhbmQgdGhlIHRyaWdnZXIgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLmhvcml6b250YWxPZmZzZXQgVGhlIGhvcml6b250YWwgb2Zmc2V0IHRvIGJlIGFwcGxpZWQgdG8gdGhlIGVsZW1lbnQgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLmNlbnRlcmVkIFdoZXRoZXIgdGhlIGVsZW1lbnQgc2hvdWxkIGJlIHBsYWNlZCBpbiB0aGUgY2VudGVyIGJ5IGRlZmF1bHQgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLnJlc3BvbnNpdmVIZWlnaHQgV2hldGhlciB0aGUgZWxlbWVudCBjYWxjdWxhdGVzIGl0cyBoZWlnaHQgYmFzZWQgb24gaXRzIGNvbnRlbnQgKG9wdGlvbmFsKS5cbiAqIEByZXR1cm5zIFJldHVybnMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGxlZnQgcG9zaXRpb24sIHRoZSB0b3AgcG9zaXRpb24sIHRoZSBtYXhpbXVtIGhlaWdodFxuICogb2YgdGhlIGVsZW1lbnQgYW5kIHRoZSBjdXJyZW50IGFsaWdubWVudCBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50UG9zaXRpb24oXG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICB0cmlnZ2VyOiBIVE1MRWxlbWVudCxcbiAgY29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgcHJvcGVydGllcz86IHtcbiAgICB2ZXJ0aWNhbE9mZnNldD86IG51bWJlcjtcbiAgICBob3Jpem9udGFsT2Zmc2V0PzogbnVtYmVyO1xuICAgIGNlbnRlcmVkPzogYm9vbGVhbjtcbiAgICByZXNwb25zaXZlSGVpZ2h0PzogYm9vbGVhbjtcbiAgfSxcbik6IFNiYkVsZW1lbnRQb3NpdGlvbkluZm9zIHtcbiAgY29uc3QgbWF4V2lkdGhPZmZzZXQgPSAxNjtcbiAgY29uc3QgdmVydGljYWxPZmZzZXQgPSBwcm9wZXJ0aWVzPy52ZXJ0aWNhbE9mZnNldCB8fCAwO1xuICBjb25zdCBob3Jpem9udGFsT2Zmc2V0ID0gcHJvcGVydGllcz8uaG9yaXpvbnRhbE9mZnNldCB8fCAwO1xuICBjb25zdCByZXNwb25zaXZlSGVpZ2h0ID0gcHJvcGVydGllcz8ucmVzcG9uc2l2ZUhlaWdodCB8fCBmYWxzZTtcblxuICBjb25zdCB0cmlnZ2VyUmVjID0gdHJpZ2dlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgY29uc3QgZWxlbWVudFJlYyA9IGdldEVsZW1lbnRSZWN0YW5nbGUoZWxlbWVudCk7XG5cbiAgY29uc3QgdHJpZ2dlckxlZnQgPSB0cmlnZ2VyUmVjLmxlZnQ7XG4gIGNvbnN0IHRyaWdnZXJUb3AgPSB0cmlnZ2VyUmVjLnRvcDtcblxuICBjb25zdCBhdmFpbGFibGVTcGFjZVJpZ2h0ID1cbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggLSAodHJpZ2dlckxlZnQgKyB0cmlnZ2VyUmVjLndpZHRoKTtcbiAgY29uc3QgYXZhaWxhYmxlU3BhY2VBYm92ZSA9IHRyaWdnZXJUb3AgLSB2ZXJ0aWNhbE9mZnNldDtcbiAgY29uc3QgYXZhaWxhYmxlU3BhY2VCZWxvdyA9XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtICh0cmlnZ2VyVG9wICsgdHJpZ2dlclJlYy5oZWlnaHQgKyB2ZXJ0aWNhbE9mZnNldCk7XG5cbiAgLy8gRGVmYXVsdCBlbGVtZW50IGFsaWdubWVudCBpcyBcInN0YXJ0L2JlbG93XCJcbiAgbGV0IGVsZW1lbnRYUG9zaXRpb24gPSB0cmlnZ2VyTGVmdDtcbiAgbGV0IGVsZW1lbnRZUG9zaXRpb24gPSB0cmlnZ2VyVG9wICsgdHJpZ2dlclJlYy5oZWlnaHQgKyB2ZXJ0aWNhbE9mZnNldDtcbiAgbGV0IGVsZW1lbnRYT3ZlcmZsb3cgPSBlbGVtZW50UmVjLm9mZnNldFdpZHRoIC0gdHJpZ2dlclJlYy53aWR0aDtcbiAgY29uc3QgYWxpZ25tZW50OiBTYmJBbGlnbm1lbnQgPSB7IGhvcml6b250YWw6ICdzdGFydCcsIHZlcnRpY2FsOiAnYmVsb3cnIH07XG5cbiAgLy8gQ2FsY3VsYXRlIGVsZW1lbnQgbWF4LWhlaWdodFxuICBsZXQgZWxlbWVudE1heEhlaWdodCA9IGAke2F2YWlsYWJsZVNwYWNlQmVsb3cgLSB2ZXJ0aWNhbE9mZnNldH1weGA7XG5cbiAgLy8gQ2hlY2sgaWYgaG9yaXpvbnRhbCBhbGlnbm1lbnQgbmVlZHMgdG8gYmUgY2hhbmdlZCB0byBcImNlbnRlclwiXG4gIGlmIChcbiAgICBwcm9wZXJ0aWVzPy5jZW50ZXJlZCAmJlxuICAgIHRyaWdnZXJMZWZ0IC0gbWF4V2lkdGhPZmZzZXQgKyB0cmlnZ2VyUmVjLndpZHRoIC8gMiA+IGVsZW1lbnRSZWMub2Zmc2V0V2lkdGggLyAyICYmXG4gICAgYXZhaWxhYmxlU3BhY2VSaWdodCAtIG1heFdpZHRoT2Zmc2V0ID4gZWxlbWVudFhPdmVyZmxvdyAvIDJcbiAgKSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiAtPSBlbGVtZW50WE92ZXJmbG93IC89IDI7XG4gICAgYWxpZ25tZW50Lmhvcml6b250YWwgPSAnY2VudGVyJztcbiAgfVxuXG4gIC8vIENoZWNrIGlmIGhvcml6b250YWwgYWxpZ25tZW50IG5lZWRzIHRvIGJlIGNoYW5nZWQgdG8gXCJlbmRcIlxuICBpZiAoYXZhaWxhYmxlU3BhY2VSaWdodCA8IGVsZW1lbnRYT3ZlcmZsb3cgJiYgdHJpZ2dlckxlZnQgPiBlbGVtZW50WE92ZXJmbG93KSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiA9IGVsZW1lbnRYUG9zaXRpb24gLSBlbGVtZW50WE92ZXJmbG93O1xuICAgIGFsaWdubWVudC5ob3Jpem9udGFsID0gJ2VuZCc7XG4gIH1cblxuICAvLyBBZGQgaG9yaXpvbnRhbCBvZmZzZXRcbiAgaWYgKFxuICAgIGhvcml6b250YWxPZmZzZXQgJiZcbiAgICBhbGlnbm1lbnQuaG9yaXpvbnRhbCAhPT0gJ2NlbnRlcicgJiZcbiAgICB0cmlnZ2VyUmVjLndpZHRoIC8gMiA8IGhvcml6b250YWxPZmZzZXRcbiAgKSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiArPSBob3Jpem9udGFsT2Zmc2V0ICogKGFsaWdubWVudC5ob3Jpem9udGFsID09PSAnc3RhcnQnID8gLTEgOiAxKTtcbiAgfVxuXG4gIC8vIENoZWNrIHdoZXRoZXIgdGhlcmUgaXMgaW5zdWZmaWNpZW50IHNwYWNlIG9uIGJvdGggc2lkZXNcbiAgaWYgKFxuICAgICh0cmlnZ2VyTGVmdCA8IGVsZW1lbnRYT3ZlcmZsb3cgJiYgYXZhaWxhYmxlU3BhY2VSaWdodCA8IGVsZW1lbnRYT3ZlcmZsb3cpIHx8XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIDwgZWxlbWVudFJlYy5vZmZzZXRXaWR0aFxuICApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIC8gMiAtIGVsZW1lbnRSZWMub2Zmc2V0V2lkdGggLyAyO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdmVydGljYWwgYWxpZ25tZW50IG5lZWRzIHRvIGJlIGNoYW5nZWQgdG8gXCJhYm92ZVwiOlxuICBpZiAoXG4gICAgKGF2YWlsYWJsZVNwYWNlQmVsb3cgLSB2ZXJ0aWNhbE9mZnNldCA8IGVsZW1lbnRSZWMuc2Nyb2xsSGVpZ2h0ICYmXG4gICAgICBhdmFpbGFibGVTcGFjZUFib3ZlIC0gdmVydGljYWxPZmZzZXQgPlxuICAgICAgICAocmVzcG9uc2l2ZUhlaWdodCA/IGVsZW1lbnRSZWMuY2xpZW50SGVpZ2h0IDogZWxlbWVudFJlYy5zY3JvbGxIZWlnaHQpKSB8fFxuICAgIChhdmFpbGFibGVTcGFjZUFib3ZlID4gYXZhaWxhYmxlU3BhY2VCZWxvdyAmJlxuICAgICAgYXZhaWxhYmxlU3BhY2VCZWxvdyAtIHZlcnRpY2FsT2Zmc2V0IDwgZWxlbWVudFJlYy5jbGllbnRIZWlnaHQgJiZcbiAgICAgICFyZXNwb25zaXZlSGVpZ2h0KVxuICApIHtcbiAgICBlbGVtZW50WVBvc2l0aW9uID1cbiAgICAgIGF2YWlsYWJsZVNwYWNlQWJvdmUgPCBlbGVtZW50UmVjLnNjcm9sbEhlaWdodFxuICAgICAgICA/IGVsZW1lbnRZUG9zaXRpb24gLSB0cmlnZ2VyUmVjLmhlaWdodCAtIGF2YWlsYWJsZVNwYWNlQWJvdmUgLSB2ZXJ0aWNhbE9mZnNldFxuICAgICAgICA6IHRyaWdnZXJUb3AgLSBlbGVtZW50UmVjLmNsaWVudEhlaWdodCAtIHZlcnRpY2FsT2Zmc2V0O1xuXG4gICAgZWxlbWVudE1heEhlaWdodCA9IGAke2F2YWlsYWJsZVNwYWNlQWJvdmUgLSB2ZXJ0aWNhbE9mZnNldH1weGA7XG4gICAgYWxpZ25tZW50LnZlcnRpY2FsID0gJ2Fib3ZlJztcbiAgfVxuXG4gIGNvbnN0IGNvbnRhaW5lclJlY3QgPSBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgLy8gV2hlbiB6b29taW5nIGluIFNhZmFyaSB0aGUgY29udGFpbmVyIHJlY3RhbmdsZSBjb250YWlucyBuZWdhdGl2ZSB2YWx1ZXMgZm9yIHRoZSBwb3NpdGlvblxuICAvLyBhbmQgd2UgbmVlZCB0byByZS1hZGQgdGhlbSB0byB0aGUgY2FsY3VsYXRlZCBjb29yZGluYXRlcy5cbiAgaWYgKGNvbnRhaW5lclJlY3QubGVmdCA8IDApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uIC09IGNvbnRhaW5lclJlY3QubGVmdDtcbiAgfVxuXG4gIC8vIE5vcm1hbGx5IHRoZSBjb250YWluZXJSZWN0J3MgdG9wIHZhbHVlIHdvdWxkIGJlIHplcm8sIGhvd2V2ZXIgd2hlbiB0aGUgb3ZlcmxheSBpcyBhdHRhY2hlZCB0byBhbiBpbnB1dFxuICAvLyAoZS5nLiBpbiBhbiBhdXRvY29tcGxldGUpLCBtb2JpbGUgYnJvd3NlcnMgd2lsbCBzaGlmdCBldmVyeXRoaW5nIGluIG9yZGVyIHRvIHB1dCB0aGUgaW5wdXQgaW4gdGhlIG1pZGRsZVxuICAvLyBvZiB0aGUgc2NyZWVuIGFuZCB0byBtYWtlIHNwYWNlIGZvciB0aGUgdmlydHVhbCBrZXlib2FyZC4gV2UgbmVlZCB0byBhY2NvdW50IGZvciB0aGlzIG9mZnNldCxcbiAgLy8gb3RoZXJ3aXNlIG91ciBwb3NpdGlvbmluZyB3aWxsIGJlIHRocm93biBvZmYuXG4gIC8vIEFkZGl0aW9uYWxseSwgd2hlbiB6b29taW5nIGluIFNhZmFyaSB0aGlzIGZpeGVzIHRoZSB2ZXJ0aWNhbCBwb3NpdGlvbi5cbiAgaWYgKGNvbnRhaW5lclJlY3QudG9wIDwgMCkge1xuICAgIGVsZW1lbnRZUG9zaXRpb24gLT0gY29udGFpbmVyUmVjdC50b3A7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHRvcDogZWxlbWVudFlQb3NpdGlvbixcbiAgICBsZWZ0OiBlbGVtZW50WFBvc2l0aW9uLFxuICAgIG1heEhlaWdodDogZWxlbWVudE1heEhlaWdodCxcbiAgICBhbGlnbm1lbnQ6IGFsaWdubWVudCxcbiAgfTtcbn1cbiIsImltcG9ydCB7IGdldEVsZW1lbnRQb3NpdGlvbiB9IGZyb20gJy4vcG9zaXRpb24uanMnO1xuXG4vKipcbiAqIFBsYWNlcyB0aGUgb3ZlcmxheSBpbiB0aGUgY29ycmVjdCBwb3NpdGlvbi5cbiAqIEBwYXJhbSBkaWFsb2cgVGhlIHJlZmVyZW5jZSB0byB0aGUgZGlhbG9nIGVsZW1lbnQuXG4gKiBAcGFyYW0gb3JpZ2luRWxlbWVudCBUaGUgcmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IHRoZSBkaWFsb2cgaXMgYXR0YWNoZWQgdG8uXG4gKiBAcGFyYW0gb3B0aW9uQ29udGFpbmVyIFRoZSByZWZlcmVuY2UgdG8gdGhlIG9wdGlvbiBwYW5lbC5cbiAqIEBwYXJhbSBjb250YWluZXIgVGhlIGVsZW1lbnQgd2hpY2ggaGFzIHRoZSBwb3NpdGlvbjpmaXhlZCBhcHBsaWVkLlxuICogQHBhcmFtIGVsZW1lbnQgVGhlIHJlZmVyZW5jZSB0byB0aGUgY29tcG9uZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0T3ZlcmxheVBvc2l0aW9uKFxuICBkaWFsb2c6IEhUTUxFbGVtZW50LFxuICBvcmlnaW5FbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgb3B0aW9uQ29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgY29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4pOiB2b2lkIHtcbiAgaWYgKCFkaWFsb2cgfHwgIW9yaWdpbkVsZW1lbnQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBTZXQgdGhlIHdpZHRoIHRvIG1hdGNoIHRoZSB0cmlnZ2VyIGVsZW1lbnRcbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3B0aW9ucy1wYW5lbC13aWR0aCcsIGAke29yaWdpbkVsZW1lbnQub2Zmc2V0V2lkdGh9cHhgKTtcblxuICAvLyBTZXQgdGhlIG9yaWdpbiBoZWlnaHRcbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3B0aW9ucy1wYW5lbC1vcmlnaW4taGVpZ2h0JywgYCR7b3JpZ2luRWxlbWVudC5vZmZzZXRIZWlnaHR9cHhgKTtcblxuICAvLyBDYWxjdWxhdGUgYW5kIHNldCB0aGUgcG9zaXRpb25cbiAgY29uc3QgcGFuZWxQb3NpdGlvbiA9IGdldEVsZW1lbnRQb3NpdGlvbihvcHRpb25Db250YWluZXIsIG9yaWdpbkVsZW1lbnQsIGNvbnRhaW5lcik7XG5cbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3B0aW9ucy1wYW5lbC1wb3NpdGlvbi14JywgYCR7cGFuZWxQb3NpdGlvbi5sZWZ0fXB4YCk7XG4gIGVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW9wdGlvbnMtcGFuZWwtcG9zaXRpb24teScsIGAke3BhbmVsUG9zaXRpb24udG9wfXB4YCk7XG4gIGVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW9wdGlvbnMtcGFuZWwtbWF4LWhlaWdodCcsIHBhbmVsUG9zaXRpb24ubWF4SGVpZ2h0KTtcbiAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtb3B0aW9ucy1wYW5lbC1wb3NpdGlvbicsIHBhbmVsUG9zaXRpb24uYWxpZ25tZW50LnZlcnRpY2FsKTtcbiAgb3JpZ2luRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtb3B0aW9ucy1wYW5lbC1wb3NpdGlvbicsIHBhbmVsUG9zaXRpb24uYWxpZ25tZW50LnZlcnRpY2FsKTtcbn1cbiIsIi8qKlxuICogQWRkIG1lYW5pbmdmdWwgYXJpYSBhdHRyaWJ1dGVzIHRvIHRyaWdnZXIgZWxlbWVudHMgdGhhdCBhcmUgY29ubmVjdGVkIHRvXG4gKiBvdmVybGF5IGVsZW1lbnRzIHN1Y2ggYXMgbWVudXMgYW5kIGRpYWxvZ3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKFxuICB0cmlnZ2VyOiBIVE1MRWxlbWVudCxcbiAgcG9wdXBUeXBlOiAnbWVudScgfCAnZGlhbG9nJyxcbiAgb3ZlcmxheUlkOiBzdHJpbmcsXG4gIHN0YXRlOiBzdHJpbmcsXG4pOiB2b2lkIHtcbiAgaWYgKCF0cmlnZ2VyKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdHJpZ2dlci5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGFzcG9wdXAnLCBwb3B1cFR5cGUpO1xuICB0cmlnZ2VyLnNldEF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycsIG92ZXJsYXlJZCk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgYCR7c3RhdGUgPT09ICdvcGVuaW5nJyB8fCBzdGF0ZSA9PT0gJ29wZW5lZCd9YCk7XG59XG5cbi8qKlxuICogUmVtb3ZlIGFyaWEgYXR0cmlidXRlcyBmcm9tIHRyaWdnZXIgZWxlbWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRyaWdnZXI6IEhUTUxFbGVtZW50IHwgbnVsbCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICBpZiAoIXRyaWdnZXIpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB0cmlnZ2VyLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1oYXNwb3B1cCcpO1xuICB0cmlnZ2VyLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycpO1xuICB0cmlnZ2VyLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcpO1xufVxuXG4vKipcbiAqIEFkZCBtZWFuaW5nZnVsIGFyaWEgYXR0cmlidXRlcyB0byB0cmlnZ2VyIGVsZW1lbnQgb2Ygcm9sZT0nY29tYm9ib3gnXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRBcmlhQ29tYm9Cb3hBdHRyaWJ1dGVzKFxuICB0cmlnZ2VyOiBIVE1MRWxlbWVudCxcbiAgb3ZlcmxheUlkOiBzdHJpbmcsXG4gIGV4cGFuZGVkOiBib29sZWFuLFxuKTogdm9pZCB7XG4gIGlmICghdHJpZ2dlcikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhdXRvY29tcGxldGUnLCAnb2ZmJyk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdyb2xlJywgJ2NvbWJvYm94Jyk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhcmlhLWF1dG9jb21wbGV0ZScsICdsaXN0Jyk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhcmlhLWhhc3BvcHVwJywgJ2xpc3Rib3gnKTtcbiAgdHJpZ2dlci5zZXRBdHRyaWJ1dGUoJ2FyaWEtY29udHJvbHMnLCBvdmVybGF5SWQpO1xuICB0cmlnZ2VyLnNldEF0dHJpYnV0ZSgnYXJpYS1vd25zJywgb3ZlcmxheUlkKTsgLy8gRnJvbSBBcmlhIDEuMiB0aGlzIHNob3VsZCBub3QgYmUgbmVjZXNzYXJ5IGJ1dCBzYWZhcmkgc3RpbGwgbmVlZHMgaXRcbiAgdHJpZ2dlci5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCBgJHtleHBhbmRlZH1gKTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgYXJpYSBhdHRyaWJ1dGVzIGZyb20gdHJpZ2dlciBlbGVtZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUFyaWFDb21ib0JveEF0dHJpYnV0ZXModHJpZ2dlcj86IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gIGlmICghdHJpZ2dlcikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhdXRvY29tcGxldGUnKTtcbiAgdHJpZ2dlci5yZW1vdmVBdHRyaWJ1dGUoJ3JvbGUnKTtcbiAgdHJpZ2dlci5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtYXV0b2NvbXBsZXRlJyk7XG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWhhc3BvcHVwJyk7XG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWNvbnRyb2xzJyk7XG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhcmlhLW93bnMnKTtcbiAgdHJpZ2dlci5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnKTtcbn1cbiJdLCJuYW1lcyI6WyJlbCJdLCJtYXBwaW5ncyI6IjtBQUdBLE1BQU0sd0JBQXdCO0FBTXZCLFNBQVMsdUJBQXVDO0FBQzlDLFNBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFUO0FBS0EsTUFBTSxlQUFlLENBQUMsU0FBc0IsU0FBcUM7QUFDL0UsTUFBSSxLQUFLLFFBQVE7QUFDakIsUUFBTSxZQUEyQixDQUFBO0FBQ2pDLFNBQU8sSUFBSTtBQUNULGNBQVUsS0FBSyxFQUFFO0FBQ2pCLFFBQUksT0FBTyxNQUFNO0FBQ2YsV0FBSyxHQUFHO0FBQUEsSUFBQSxPQUNIO0FBQ0w7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNPLFNBQUE7QUFDVDtBQUVBLE1BQU0sa0JBQWtCLENBQUMsT0FBMEI7QUFDOUMsS0FBQTtBQUFBLElBQ0Q7QUFBQSxJQUNBLEdBQUcsRUFBRSxHQUFHLGFBQWEsZ0JBQWdCLEtBQUssVUFBYyxLQUFLLENBQUM7QUFBQSxFQUFBO0FBRWxFO0FBS0EsTUFBTSxjQUFjLENBQUMsT0FBMEI7QUFDekMsTUFBQSxDQUFDLEdBQUcsT0FBTztBQUNiLE9BQUcsUUFBUTtBQUNQLFFBQUEsR0FBRyxRQUFRLHFCQUFxQixHQUFHO0FBQ3JDLHNCQUFnQixFQUFFO0FBQUEsSUFBQSxPQUNiO0FBQ0YsU0FBQSxnQkFBZ0Isa0JBQWtCLElBQUk7QUFBQSxJQUMzQztBQUFBLEVBQ0Y7QUFFQSxNQUFJLENBQUMsR0FBRyxhQUFhLGFBQWEsR0FBRztBQUNoQyxPQUFBLGFBQWEsZUFBZSxNQUFNO0FBQ2xDLE9BQUEsZ0JBQWdCLHdCQUF3QixJQUFJO0FBQUEsRUFDakQ7QUFDRjtBQUtBLE1BQU0saUJBQWlCLENBQUMsT0FBMEI7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
|
|
240
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvb3ZlcmxheS9vdmVybGF5LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvb3ZlcmxheS9wb3NpdGlvbi50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL292ZXJsYXkvb3ZlcmxheS1vcHRpb24tcGFuZWwudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9vdmVybGF5L292ZXJsYXktdHJpZ2dlci1hdHRyaWJ1dGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdCc7XG5cbmNvbnN0IElTX09QRU5fT1ZFUkxBWV9RVUVSWSA9IGA6aXMoc2JiLWRpYWxvZywgc2JiLW5hdmlnYXRpb24sIHNiYi1tZW51LCBzYmItb3ZlcmxheSlbZGF0YS1zdGF0ZT0nb3BlbmVkJ11gO1xuXG4vKipcbiAqIFVzZWQgdG8gY3JlYXRlIHRoZSBcIndyYXBwaW5nXCIgZWZmZWN0IGFyb3VuZCB0aGUgYW5jaG9yIGZvciBvdmVybGF5cyAoZXMuIGF1dG9jb21wbGV0ZSlcbiAqIFdvcmtzIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlICdvdmVybGF5R2FwRml4Q29ybmVycygpJyBmdW5jdGlvbiBpbiAnb3ZlcmxheS50cydcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG92ZXJsYXlHYXBGaXhDb3JuZXJzKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgcmV0dXJuIGh0bWxgXG4gICAgPGRpdiBjbGFzcz1cInNiYi1nYXAtZml4LXdyYXBwZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItZ2FwLWZpeC1jb3JuZXJcIiBpZD1cImxlZnRcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2JiLWdhcC1maXgtd3JhcHBlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1nYXAtZml4LWNvcm5lclwiIGlkPVwicmlnaHRcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYDtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGFsbCB0aGUgYW5jZXN0b3JzIG9mIHRoZSBvdmVybGF5LlxuICovXG5jb25zdCBnZXRBbmNlc3RvcnMgPSAob3ZlcmxheTogSFRNTEVsZW1lbnQsIHJvb3Q6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnRbXSA9PiB7XG4gIGxldCBlbCA9IG92ZXJsYXkucGFyZW50RWxlbWVudDtcbiAgY29uc3QgYW5jZXN0b3JzOiBIVE1MRWxlbWVudFtdID0gW107XG4gIHdoaWxlIChlbCkge1xuICAgIGFuY2VzdG9ycy5wdXNoKGVsKTtcbiAgICBpZiAoZWwgIT09IHJvb3QpIHtcbiAgICAgIGVsID0gZWwucGFyZW50RWxlbWVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG4gIHJldHVybiBhbmNlc3RvcnM7XG59O1xuXG5jb25zdCBzZXREYXRhU2JiSW5lcnQgPSAoZWw6IEhUTUxFbGVtZW50KTogdm9pZCA9PiB7XG4gIGVsLnNldEF0dHJpYnV0ZShcbiAgICAnZGF0YS1zYmItaW5lcnQnLFxuICAgIGAkeysoZWwuZ2V0QXR0cmlidXRlKCdkYXRhLXNiYi1pbmVydCcpID8/IHVuZGVmaW5lZCkhICsgMSB8fCAwfWAsXG4gICk7XG59O1xuXG4vKipcbiAqIFNldCB0aGUgaW5lcnQgYW5kIHRoZSBkYXRhLXNiYi1pbmVydCBhdHRyaWJ1dGVzLlxuICovXG5jb25zdCBzZXRTYmJJbmVydCA9IChlbDogSFRNTEVsZW1lbnQpOiB2b2lkID0+IHtcbiAgaWYgKCFlbC5pbmVydCkge1xuICAgIGVsLmluZXJ0ID0gdHJ1ZTtcbiAgICBpZiAoZWwubWF0Y2hlcyhJU19PUEVOX09WRVJMQVlfUVVFUlkpKSB7XG4gICAgICBzZXREYXRhU2JiSW5lcnQoZWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbC50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtc2JiLWluZXJ0JywgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKCFlbC5oYXNBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJykpIHtcbiAgICBlbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKTtcbiAgICBlbC50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtc2JiLWFyaWEtaGlkZGVuJywgdHJ1ZSk7XG4gIH1cbn07XG5cbi8qKlxuICogUmVtb3ZlcyB0aGUgaW5lcnQgYW5kIHRoZSBkYXRhLXNiYi1pbmVydCBhdHRyaWJ1dGVzLlxuICovXG5jb25zdCByZW1vdmVTYmJJbmVydCA9IChlbDogSFRNTEVsZW1lbnQpOiB2b2lkID0+IHtcbiAgaWYgKGVsLmhhc0F0dHJpYnV0ZSgnZGF0YS1zYmItaW5lcnQnKSkge1xuICAgIGVsLmluZXJ0ID0gZmFsc2U7XG4gICAgZWwucmVtb3ZlQXR0cmlidXRlKCdkYXRhLXNiYi1pbmVydCcpO1xuICB9XG5cbiAgaWYgKGVsLmhhc0F0dHJpYnV0ZSgnZGF0YS1zYmItYXJpYS1oaWRkZW4nKSkge1xuICAgIGVsLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nKTtcbiAgICBlbC5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtc2JiLWFyaWEtaGlkZGVuJyk7XG4gIH1cbn07XG5cbi8qKlxuICogQXBwbGllcyBpbmVydCB0byBldmVyeSBvdGhlciBlbGVtZW50IG9uIHRoZSBwYWdlIGV4Y2VwdCB0aGUgb3ZlcmxheS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5SW5lcnRNZWNoYW5pc20ob3ZlcmxheTogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgcmVtb3ZlU2JiSW5lcnQob3ZlcmxheSk7XG5cbiAgY29uc3Qgb3ZlcmxheVJvb3QgPSBvdmVybGF5LmNsb3Nlc3QoJ2JvZHkgPiAqJykgYXMgSFRNTEVsZW1lbnQ7XG4gIGNvbnN0IGRvY3VtZW50Q2hpbGRyZW4gPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2JvZHkgPiAqJykpLmZpbHRlcihcbiAgICAoZWwpID0+IGVsICE9PSBvdmVybGF5Um9vdCxcbiAgKSBhcyBIVE1MRWxlbWVudFtdO1xuXG4gIGRvY3VtZW50Q2hpbGRyZW4uZm9yRWFjaCgoZWwpID0+IHNldFNiYkluZXJ0KGVsKSk7XG5cbiAgbGV0IGNoaWxkcmVuOiBIVE1MRWxlbWVudFtdID0gW107XG4gIGNvbnN0IGFuY2VzdG9ycyA9IGdldEFuY2VzdG9ycyhvdmVybGF5LCBvdmVybGF5Um9vdCk7XG5cbiAgZm9yIChjb25zdCBlbCBvZiBhbmNlc3RvcnMpIHtcbiAgICBjaGlsZHJlbiA9IGNoaWxkcmVuLmNvbmNhdChcbiAgICAgIEFycmF5LmZyb20oZWwuY2hpbGRyZW4pLmZpbHRlcihcbiAgICAgICAgKGVsOiBFbGVtZW50KSA9PiBlbCAhPT0gb3ZlcmxheSAmJiAhYW5jZXN0b3JzLmluY2x1ZGVzKGVsIGFzIEhUTUxFbGVtZW50KSxcbiAgICAgICkgYXMgSFRNTEVsZW1lbnRbXSxcbiAgICApO1xuICAgIGlmIChlbC5tYXRjaGVzKElTX09QRU5fT1ZFUkxBWV9RVUVSWSkpIHtcbiAgICAgIHNldERhdGFTYmJJbmVydChlbCk7XG4gICAgfVxuICB9XG5cbiAgY2hpbGRyZW4uZm9yRWFjaCgoZWwpID0+IHNldFNiYkluZXJ0KGVsKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVJbmVydE1lY2hhbmlzbSgpOiB2b2lkIHtcbiAgY29uc3Qgb3Blbk92ZXJsYXlzID0gQXJyYXkuZnJvbShcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChJU19PUEVOX09WRVJMQVlfUVVFUlkpLFxuICApIGFzIEhUTUxFbGVtZW50W107XG5cbiAgaWYgKG9wZW5PdmVybGF5cy5sZW5ndGgpIHtcbiAgICBvcGVuT3ZlcmxheXMuZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gK2VsLmdldEF0dHJpYnV0ZSgnZGF0YS1zYmItaW5lcnQnKSEgLSAxO1xuICAgICAgZWwuc2V0QXR0cmlidXRlKCdkYXRhLXNiYi1pbmVydCcsIGAke25ld1ZhbHVlfWApO1xuXG4gICAgICBpZiAobmV3VmFsdWUgJiYgbmV3VmFsdWUgPCAwKSB7XG4gICAgICAgIHJlbW92ZVNiYkluZXJ0KGVsKTtcbiAgICAgICAgQXJyYXkuZnJvbShlbC5jaGlsZHJlbikuZm9yRWFjaCgoZWw6IEVsZW1lbnQpID0+IHJlbW92ZVNiYkluZXJ0KGVsIGFzIEhUTUxFbGVtZW50KSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgQXJyYXkuZnJvbShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtc2JiLWluZXJ0XScpKS5mb3JFYWNoKChlbDogRWxlbWVudCkgPT5cbiAgICByZW1vdmVTYmJJbmVydChlbCBhcyBIVE1MRWxlbWVudCksXG4gICk7XG59XG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBHbG9iYWxFdmVudEhhbmRsZXJzRXZlbnRNYXAge1xuICAgIHdpbGxPcGVuOiBDdXN0b21FdmVudDx2b2lkPjtcbiAgICB3aWxsQ2xvc2U6IEN1c3RvbUV2ZW50PHZvaWQ+O1xuICAgIGRpZE9wZW46IEN1c3RvbUV2ZW50PHZvaWQ+O1xuICAgIGRpZENsb3NlOiBDdXN0b21FdmVudDx2b2lkPjtcbiAgfVxufVxuIiwiZXhwb3J0IHR5cGUgRWxlbWVudFJlY3RhbmdsZSA9IFBpY2s8XG4gIEhUTUxFbGVtZW50LFxuICAnc2Nyb2xsSGVpZ2h0JyB8ICdjbGllbnRIZWlnaHQnIHwgJ29mZnNldEhlaWdodCcgfCAnc2Nyb2xsV2lkdGgnIHwgJ2NsaWVudFdpZHRoJyB8ICdvZmZzZXRXaWR0aCdcbj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiQWxpZ25tZW50IHtcbiAgaG9yaXpvbnRhbDogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCc7XG4gIHZlcnRpY2FsOiAnYWJvdmUnIHwgJ2JlbG93Jztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTYmJFbGVtZW50UG9zaXRpb25JbmZvcyB7XG4gIHRvcDogbnVtYmVyO1xuICBsZWZ0OiBudW1iZXI7XG4gIG1heEhlaWdodDogc3RyaW5nO1xuICBhbGlnbm1lbnQ6IFNiYkFsaWdubWVudDtcbn1cblxuLyoqXG4gKiBHZXRzIGhlaWdodCBhbmQgd2lkdGggb2YgYW4gZWxlbWVudCBldmVuIGlmIGl0J3MgaGlkZGVuIChgZGlzcGxheTogbm9uZWApLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudFJlY3RhbmdsZShlbDogSFRNTEVsZW1lbnQpOiBFbGVtZW50UmVjdGFuZ2xlIHtcbiAgY29uc3QgZWxlbWVudFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwpLFxuICAgIGVsZW1lbnREaXNwbGF5ID0gZWxlbWVudFN0eWxlLmRpc3BsYXksXG4gICAgZWxlbWVudE1heEhlaWdodCA9IHBhcnNlSW50KGVsZW1lbnRTdHlsZS5tYXhIZWlnaHQsIDEwKS50b1N0cmluZygpO1xuXG4gIC8vIElmIGl0IGlzIG5vdCBoaWRkZW4gd2UganVzdCByZXR1cm4gbm9ybWFsIGhlaWdodFxuICBpZiAoZWxlbWVudERpc3BsYXkgIT09ICdub25lJyAmJiBlbGVtZW50TWF4SGVpZ2h0ICE9PSAnMCcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2Nyb2xsSGVpZ2h0OiBlbC5zY3JvbGxIZWlnaHQsXG4gICAgICBjbGllbnRIZWlnaHQ6IGVsLmNsaWVudEhlaWdodCxcbiAgICAgIG9mZnNldEhlaWdodDogZWwub2Zmc2V0SGVpZ2h0LFxuICAgICAgc2Nyb2xsV2lkdGg6IGVsLnNjcm9sbFdpZHRoLFxuICAgICAgY2xpZW50V2lkdGg6IGVsLmNsaWVudFdpZHRoLFxuICAgICAgb2Zmc2V0V2lkdGg6IGVsLm9mZnNldFdpZHRoLFxuICAgIH07XG4gIH1cblxuICAvLyBUaGUgZWxlbWVudCBpcyBoaWRkZW4gc286XG4gIC8vIG1ha2UgdGhlIGVsIGJsb2NrIGluIG9yZGVyIHRvIG1lYXN1cmUgaXRzIGhlaWdodCBidXQgc3RpbGwgYmUgaGlkZGVuXG4gIGVsLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgZWwuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICBlbC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcblxuICBjb25zdCBzY3JvbGxIZWlnaHQgPSBlbC5zY3JvbGxIZWlnaHQsXG4gICAgY2xpZW50SGVpZ2h0ID0gZWwuY2xpZW50SGVpZ2h0LFxuICAgIG9mZnNldEhlaWdodCA9IGVsLm9mZnNldEhlaWdodCxcbiAgICBzY3JvbGxXaWR0aCA9IGVsLnNjcm9sbFdpZHRoLFxuICAgIGNsaWVudFdpZHRoID0gZWwuY2xpZW50V2lkdGgsXG4gICAgb2Zmc2V0V2lkdGggPSBlbC5vZmZzZXRXaWR0aDtcblxuICAvLyBSZXZlcnRpbmcgdG8gdGhlIG9yaWdpbmFsIHZhbHVlc1xuICBlbC5zdHlsZS5kaXNwbGF5ID0gJyc7XG4gIGVsLnN0eWxlLnBvc2l0aW9uID0gJyc7XG4gIGVsLnN0eWxlLnZpc2liaWxpdHkgPSAnJztcblxuICByZXR1cm4geyBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCwgb2Zmc2V0SGVpZ2h0LCBzY3JvbGxXaWR0aCwgY2xpZW50V2lkdGgsIG9mZnNldFdpZHRoIH07XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGFuIGV2ZW50IGlzIGZpcmVkIG9uIGEgc3BlY2lmaWMgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRXZlbnRPbkVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQsIGV2ZW50OiBNb3VzZUV2ZW50IHwgUG9pbnRlckV2ZW50KTogYm9vbGVhbiB7XG4gIGlmICghZWxlbWVudCB8fCAhZXZlbnQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgcmV0dXJuIChcbiAgICByZWN0LnRvcCA8PSBldmVudC5jbGllbnRZICYmXG4gICAgZXZlbnQuY2xpZW50WSA8PSByZWN0LnRvcCArIHJlY3QuaGVpZ2h0ICYmXG4gICAgcmVjdC5sZWZ0IDw9IGV2ZW50LmNsaWVudFggJiZcbiAgICBldmVudC5jbGllbnRYIDw9IHJlY3QubGVmdCArIHJlY3Qud2lkdGhcbiAgKTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHRoZSBwb3NpdGlvbiBvZiBhbiBlbGVtZW50IHJlbGF0aXZlIHRvIGEgdHJpZ2dlciBlbGVtZW50IGJ5IGV2YWx1YXRpbmdcbiAqIHRoZSBvcHRpbWFsIHBvc2l0aW9uIGJhc2VkIG9uIHRoZSBhdmFpbGFibGUgc3BhY2UuXG4gKlxuICogQHBhcmFtIGVsZW1lbnQgVGhlIGVsZW1lbnQgb2Ygd2hpY2ggdG8gY2FsY3VsYXRlIHRoZSBwb3NpdGlvbi5cbiAqIEBwYXJhbSB0cmlnZ2VyIFRoZSBlbGVtZW50IHJlbGF0aXZlIHRvIHdoaWNoIHRvIGNhbGN1bGF0ZSB0aGUgcG9zaXRpb24uXG4gKiBAcGFyYW0gY29udGFpbmVyIFRoZSBlbGVtZW50IHdoaWNoIGhhcyB0aGUgcG9zaXRpb246Zml4ZWQgYXBwbGllZC5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzIFByb3BlcnRpZXMgdG8gdGFrZSBpbnRvIGFjY291bnQgaW4gY2FsY3VsYXRpb25zIChvcHRpb25hbCkuXG4gKiBAcGFyYW0gcHJvcGVydGllcy52ZXJ0aWNhbE9mZnNldCBUaGUgZGlzdGFuY2UgdG8gYmUgYWRkZWQgYmV0d2VlbiB0aGUgZWxlbWVudCBhbmQgdGhlIHRyaWdnZXIgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLmhvcml6b250YWxPZmZzZXQgVGhlIGhvcml6b250YWwgb2Zmc2V0IHRvIGJlIGFwcGxpZWQgdG8gdGhlIGVsZW1lbnQgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLmNlbnRlcmVkIFdoZXRoZXIgdGhlIGVsZW1lbnQgc2hvdWxkIGJlIHBsYWNlZCBpbiB0aGUgY2VudGVyIGJ5IGRlZmF1bHQgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLnJlc3BvbnNpdmVIZWlnaHQgV2hldGhlciB0aGUgZWxlbWVudCBjYWxjdWxhdGVzIGl0cyBoZWlnaHQgYmFzZWQgb24gaXRzIGNvbnRlbnQgKG9wdGlvbmFsKS5cbiAqIEByZXR1cm5zIFJldHVybnMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGxlZnQgcG9zaXRpb24sIHRoZSB0b3AgcG9zaXRpb24sIHRoZSBtYXhpbXVtIGhlaWdodFxuICogb2YgdGhlIGVsZW1lbnQgYW5kIHRoZSBjdXJyZW50IGFsaWdubWVudCBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50UG9zaXRpb24oXG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICB0cmlnZ2VyOiBIVE1MRWxlbWVudCxcbiAgY29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgcHJvcGVydGllcz86IHtcbiAgICB2ZXJ0aWNhbE9mZnNldD86IG51bWJlcjtcbiAgICBob3Jpem9udGFsT2Zmc2V0PzogbnVtYmVyO1xuICAgIGNlbnRlcmVkPzogYm9vbGVhbjtcbiAgICByZXNwb25zaXZlSGVpZ2h0PzogYm9vbGVhbjtcbiAgfSxcbik6IFNiYkVsZW1lbnRQb3NpdGlvbkluZm9zIHtcbiAgY29uc3QgbWF4V2lkdGhPZmZzZXQgPSAxNjtcbiAgY29uc3QgdmVydGljYWxPZmZzZXQgPSBwcm9wZXJ0aWVzPy52ZXJ0aWNhbE9mZnNldCB8fCAwO1xuICBjb25zdCBob3Jpem9udGFsT2Zmc2V0ID0gcHJvcGVydGllcz8uaG9yaXpvbnRhbE9mZnNldCB8fCAwO1xuICBjb25zdCByZXNwb25zaXZlSGVpZ2h0ID0gcHJvcGVydGllcz8ucmVzcG9uc2l2ZUhlaWdodCB8fCBmYWxzZTtcblxuICBjb25zdCB0cmlnZ2VyUmVjID0gdHJpZ2dlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgY29uc3QgZWxlbWVudFJlYyA9IGdldEVsZW1lbnRSZWN0YW5nbGUoZWxlbWVudCk7XG5cbiAgY29uc3QgdHJpZ2dlckxlZnQgPSB0cmlnZ2VyUmVjLmxlZnQ7XG4gIGNvbnN0IHRyaWdnZXJUb3AgPSB0cmlnZ2VyUmVjLnRvcDtcblxuICBjb25zdCBhdmFpbGFibGVTcGFjZVJpZ2h0ID1cbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggLSAodHJpZ2dlckxlZnQgKyB0cmlnZ2VyUmVjLndpZHRoKTtcbiAgY29uc3QgYXZhaWxhYmxlU3BhY2VBYm92ZSA9IHRyaWdnZXJUb3AgLSB2ZXJ0aWNhbE9mZnNldDtcbiAgY29uc3QgYXZhaWxhYmxlU3BhY2VCZWxvdyA9XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtICh0cmlnZ2VyVG9wICsgdHJpZ2dlclJlYy5oZWlnaHQgKyB2ZXJ0aWNhbE9mZnNldCk7XG5cbiAgLy8gRGVmYXVsdCBlbGVtZW50IGFsaWdubWVudCBpcyBcInN0YXJ0L2JlbG93XCJcbiAgbGV0IGVsZW1lbnRYUG9zaXRpb24gPSB0cmlnZ2VyTGVmdDtcbiAgbGV0IGVsZW1lbnRZUG9zaXRpb24gPSB0cmlnZ2VyVG9wICsgdHJpZ2dlclJlYy5oZWlnaHQgKyB2ZXJ0aWNhbE9mZnNldDtcbiAgbGV0IGVsZW1lbnRYT3ZlcmZsb3cgPSBlbGVtZW50UmVjLm9mZnNldFdpZHRoIC0gdHJpZ2dlclJlYy53aWR0aDtcbiAgY29uc3QgYWxpZ25tZW50OiBTYmJBbGlnbm1lbnQgPSB7IGhvcml6b250YWw6ICdzdGFydCcsIHZlcnRpY2FsOiAnYmVsb3cnIH07XG5cbiAgLy8gQ2FsY3VsYXRlIGVsZW1lbnQgbWF4LWhlaWdodFxuICBsZXQgZWxlbWVudE1heEhlaWdodCA9IGAke2F2YWlsYWJsZVNwYWNlQmVsb3cgLSB2ZXJ0aWNhbE9mZnNldH1weGA7XG5cbiAgLy8gQ2hlY2sgaWYgaG9yaXpvbnRhbCBhbGlnbm1lbnQgbmVlZHMgdG8gYmUgY2hhbmdlZCB0byBcImNlbnRlclwiXG4gIGlmIChcbiAgICBwcm9wZXJ0aWVzPy5jZW50ZXJlZCAmJlxuICAgIHRyaWdnZXJMZWZ0IC0gbWF4V2lkdGhPZmZzZXQgKyB0cmlnZ2VyUmVjLndpZHRoIC8gMiA+IGVsZW1lbnRSZWMub2Zmc2V0V2lkdGggLyAyICYmXG4gICAgYXZhaWxhYmxlU3BhY2VSaWdodCAtIG1heFdpZHRoT2Zmc2V0ID4gZWxlbWVudFhPdmVyZmxvdyAvIDJcbiAgKSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiAtPSBlbGVtZW50WE92ZXJmbG93IC89IDI7XG4gICAgYWxpZ25tZW50Lmhvcml6b250YWwgPSAnY2VudGVyJztcbiAgfVxuXG4gIC8vIENoZWNrIGlmIGhvcml6b250YWwgYWxpZ25tZW50IG5lZWRzIHRvIGJlIGNoYW5nZWQgdG8gXCJlbmRcIlxuICBpZiAoYXZhaWxhYmxlU3BhY2VSaWdodCA8IGVsZW1lbnRYT3ZlcmZsb3cgJiYgdHJpZ2dlckxlZnQgPiBlbGVtZW50WE92ZXJmbG93KSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiA9IGVsZW1lbnRYUG9zaXRpb24gLSBlbGVtZW50WE92ZXJmbG93O1xuICAgIGFsaWdubWVudC5ob3Jpem9udGFsID0gJ2VuZCc7XG4gIH1cblxuICAvLyBBZGQgaG9yaXpvbnRhbCBvZmZzZXRcbiAgaWYgKFxuICAgIGhvcml6b250YWxPZmZzZXQgJiZcbiAgICBhbGlnbm1lbnQuaG9yaXpvbnRhbCAhPT0gJ2NlbnRlcicgJiZcbiAgICB0cmlnZ2VyUmVjLndpZHRoIC8gMiA8IGhvcml6b250YWxPZmZzZXRcbiAgKSB7XG4gICAgZWxlbWVudFhQb3NpdGlvbiArPSBob3Jpem9udGFsT2Zmc2V0ICogKGFsaWdubWVudC5ob3Jpem9udGFsID09PSAnc3RhcnQnID8gLTEgOiAxKTtcbiAgfVxuXG4gIC8vIENoZWNrIHdoZXRoZXIgdGhlcmUgaXMgaW5zdWZmaWNpZW50IHNwYWNlIG9uIGJvdGggc2lkZXNcbiAgaWYgKFxuICAgICh0cmlnZ2VyTGVmdCA8IGVsZW1lbnRYT3ZlcmZsb3cgJiYgYXZhaWxhYmxlU3BhY2VSaWdodCA8IGVsZW1lbnRYT3ZlcmZsb3cpIHx8XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIDwgZWxlbWVudFJlYy5vZmZzZXRXaWR0aFxuICApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIC8gMiAtIGVsZW1lbnRSZWMub2Zmc2V0V2lkdGggLyAyO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdmVydGljYWwgYWxpZ25tZW50IG5lZWRzIHRvIGJlIGNoYW5nZWQgdG8gXCJhYm92ZVwiOlxuICBpZiAoXG4gICAgKGF2YWlsYWJsZVNwYWNlQmVsb3cgLSB2ZXJ0aWNhbE9mZnNldCA8IGVsZW1lbnRSZWMuc2Nyb2xsSGVpZ2h0ICYmXG4gICAgICBhdmFpbGFibGVTcGFjZUFib3ZlIC0gdmVydGljYWxPZmZzZXQgPlxuICAgICAgICAocmVzcG9uc2l2ZUhlaWdodCA/IGVsZW1lbnRSZWMuY2xpZW50SGVpZ2h0IDogZWxlbWVudFJlYy5zY3JvbGxIZWlnaHQpKSB8fFxuICAgIChhdmFpbGFibGVTcGFjZUFib3ZlID4gYXZhaWxhYmxlU3BhY2VCZWxvdyAmJlxuICAgICAgYXZhaWxhYmxlU3BhY2VCZWxvdyAtIHZlcnRpY2FsT2Zmc2V0IDwgZWxlbWVudFJlYy5jbGllbnRIZWlnaHQgJiZcbiAgICAgICFyZXNwb25zaXZlSGVpZ2h0KVxuICApIHtcbiAgICBlbGVtZW50WVBvc2l0aW9uID1cbiAgICAgIGF2YWlsYWJsZVNwYWNlQWJvdmUgPCBlbGVtZW50UmVjLnNjcm9sbEhlaWdodFxuICAgICAgICA/IGVsZW1lbnRZUG9zaXRpb24gLSB0cmlnZ2VyUmVjLmhlaWdodCAtIGF2YWlsYWJsZVNwYWNlQWJvdmUgLSB2ZXJ0aWNhbE9mZnNldFxuICAgICAgICA6IHRyaWdnZXJUb3AgLSBlbGVtZW50UmVjLmNsaWVudEhlaWdodCAtIHZlcnRpY2FsT2Zmc2V0O1xuXG4gICAgZWxlbWVudE1heEhlaWdodCA9IGAke2F2YWlsYWJsZVNwYWNlQWJvdmUgLSB2ZXJ0aWNhbE9mZnNldH1weGA7XG4gICAgYWxpZ25tZW50LnZlcnRpY2FsID0gJ2Fib3ZlJztcbiAgfVxuXG4gIGNvbnN0IGNvbnRhaW5lclJlY3QgPSBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgLy8gV2hlbiB6b29taW5nIGluIFNhZmFyaSB0aGUgY29udGFpbmVyIHJlY3RhbmdsZSBjb250YWlucyBuZWdhdGl2ZSB2YWx1ZXMgZm9yIHRoZSBwb3NpdGlvblxuICAvLyBhbmQgd2UgbmVlZCB0byByZS1hZGQgdGhlbSB0byB0aGUgY2FsY3VsYXRlZCBjb29yZGluYXRlcy5cbiAgaWYgKGNvbnRhaW5lclJlY3QubGVmdCA8IDApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uIC09IGNvbnRhaW5lclJlY3QubGVmdDtcbiAgfVxuXG4gIC8vIE5vcm1hbGx5IHRoZSBjb250YWluZXJSZWN0J3MgdG9wIHZhbHVlIHdvdWxkIGJlIHplcm8sIGhvd2V2ZXIgd2hlbiB0aGUgb3ZlcmxheSBpcyBhdHRhY2hlZCB0byBhbiBpbnB1dFxuICAvLyAoZS5nLiBpbiBhbiBhdXRvY29tcGxldGUpLCBtb2JpbGUgYnJvd3NlcnMgd2lsbCBzaGlmdCBldmVyeXRoaW5nIGluIG9yZGVyIHRvIHB1dCB0aGUgaW5wdXQgaW4gdGhlIG1pZGRsZVxuICAvLyBvZiB0aGUgc2NyZWVuIGFuZCB0byBtYWtlIHNwYWNlIGZvciB0aGUgdmlydHVhbCBrZXlib2FyZC4gV2UgbmVlZCB0byBhY2NvdW50IGZvciB0aGlzIG9mZnNldCxcbiAgLy8gb3RoZXJ3aXNlIG91ciBwb3NpdGlvbmluZyB3aWxsIGJlIHRocm93biBvZmYuXG4gIC8vIEFkZGl0aW9uYWxseSwgd2hlbiB6b29taW5nIGluIFNhZmFyaSB0aGlzIGZpeGVzIHRoZSB2ZXJ0aWNhbCBwb3NpdGlvbi5cbiAgaWYgKGNvbnRhaW5lclJlY3QudG9wIDwgMCkge1xuICAgIGVsZW1lbnRZUG9zaXRpb24gLT0gY29udGFpbmVyUmVjdC50b3A7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHRvcDogZWxlbWVudFlQb3NpdGlvbixcbiAgICBsZWZ0OiBlbGVtZW50WFBvc2l0aW9uLFxuICAgIG1heEhlaWdodDogZWxlbWVudE1heEhlaWdodCxcbiAgICBhbGlnbm1lbnQ6IGFsaWdubWVudCxcbiAgfTtcbn1cbiIsImltcG9ydCB7IGdldEVsZW1lbnRQb3NpdGlvbiB9IGZyb20gJy4vcG9zaXRpb24uanMnO1xuXG4vKipcbiAqIFBsYWNlcyB0aGUgb3ZlcmxheSBpbiB0aGUgY29ycmVjdCBwb3NpdGlvbi5cbiAqIEBwYXJhbSBkaWFsb2cgVGhlIHJlZmVyZW5jZSB0byB0aGUgZGlhbG9nIGVsZW1lbnQuXG4gKiBAcGFyYW0gb3JpZ2luRWxlbWVudCBUaGUgcmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IHRoZSBkaWFsb2cgaXMgYXR0YWNoZWQgdG8uXG4gKiBAcGFyYW0gb3B0aW9uQ29udGFpbmVyIFRoZSByZWZlcmVuY2UgdG8gdGhlIG9wdGlvbiBwYW5lbC5cbiAqIEBwYXJhbSBjb250YWluZXIgVGhlIGVsZW1lbnQgd2hpY2ggaGFzIHRoZSBwb3NpdGlvbjpmaXhlZCBhcHBsaWVkLlxuICogQHBhcmFtIGVsZW1lbnQgVGhlIHJlZmVyZW5jZSB0byB0aGUgY29tcG9uZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0T3ZlcmxheVBvc2l0aW9uKFxuICBkaWFsb2c6IEhUTUxFbGVtZW50LFxuICBvcmlnaW5FbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgb3B0aW9uQ29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgY29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4pOiB2b2lkIHtcbiAgaWYgKCFkaWFsb2cgfHwgIW9yaWdpbkVsZW1lbnQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBTZXQgdGhlIHdpZHRoIHRvIG1hdGNoIHRoZSB0cmlnZ2VyIGVsZW1lbnRcbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3B0aW9ucy1wYW5lbC13aWR0aCcsIGAke29yaWdpbkVsZW1lbnQub2Zmc2V0V2lkdGh9cHhgKTtcblxuICAvLyBTZXQgdGhlIG9yaWdpbiBoZWlnaHRcbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3B0aW9ucy1wYW5lbC1vcmlnaW4taGVpZ2h0JywgYCR7b3JpZ2luRWxlbWVudC5vZmZzZXRIZWlnaHR9cHhgKTtcblxuICAvLyBDYWxjdWxhdGUgYW5kIHNldCB0aGUgcG9zaXRpb25cbiAgY29uc3QgcGFuZWxQb3NpdGlvbiA9IGdldEVsZW1lbnRQb3NpdGlvbihvcHRpb25Db250YWluZXIsIG9yaWdpbkVsZW1lbnQsIGNvbnRhaW5lcik7XG5cbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3B0aW9ucy1wYW5lbC1wb3NpdGlvbi14JywgYCR7cGFuZWxQb3NpdGlvbi5sZWZ0fXB4YCk7XG4gIGVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW9wdGlvbnMtcGFuZWwtcG9zaXRpb24teScsIGAke3BhbmVsUG9zaXRpb24udG9wfXB4YCk7XG4gIGVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW9wdGlvbnMtcGFuZWwtbWF4LWhlaWdodCcsIHBhbmVsUG9zaXRpb24ubWF4SGVpZ2h0KTtcbiAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtb3B0aW9ucy1wYW5lbC1wb3NpdGlvbicsIHBhbmVsUG9zaXRpb24uYWxpZ25tZW50LnZlcnRpY2FsKTtcbiAgb3JpZ2luRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtb3B0aW9ucy1wYW5lbC1wb3NpdGlvbicsIHBhbmVsUG9zaXRpb24uYWxpZ25tZW50LnZlcnRpY2FsKTtcbn1cbiIsIi8qKlxuICogQWRkIG1lYW5pbmdmdWwgYXJpYSBhdHRyaWJ1dGVzIHRvIHRyaWdnZXIgZWxlbWVudHMgdGhhdCBhcmUgY29ubmVjdGVkIHRvXG4gKiBvdmVybGF5IGVsZW1lbnRzIHN1Y2ggYXMgbWVudXMgYW5kIGRpYWxvZ3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKFxuICB0cmlnZ2VyOiBIVE1MRWxlbWVudCxcbiAgcG9wdXBUeXBlOiAnbWVudScgfCAnZGlhbG9nJyxcbiAgb3ZlcmxheUlkOiBzdHJpbmcsXG4gIHN0YXRlOiBzdHJpbmcsXG4pOiB2b2lkIHtcbiAgaWYgKCF0cmlnZ2VyKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdHJpZ2dlci5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGFzcG9wdXAnLCBwb3B1cFR5cGUpO1xuICB0cmlnZ2VyLnNldEF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycsIG92ZXJsYXlJZCk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgYCR7c3RhdGUgPT09ICdvcGVuaW5nJyB8fCBzdGF0ZSA9PT0gJ29wZW5lZCd9YCk7XG59XG5cbi8qKlxuICogUmVtb3ZlIGFyaWEgYXR0cmlidXRlcyBmcm9tIHRyaWdnZXIgZWxlbWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRyaWdnZXI6IEhUTUxFbGVtZW50IHwgbnVsbCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICBpZiAoIXRyaWdnZXIpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB0cmlnZ2VyLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1oYXNwb3B1cCcpO1xuICB0cmlnZ2VyLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycpO1xuICB0cmlnZ2VyLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcpO1xufVxuXG4vKipcbiAqIEFkZCBtZWFuaW5nZnVsIGFyaWEgYXR0cmlidXRlcyB0byB0cmlnZ2VyIGVsZW1lbnQgb2Ygcm9sZT0nY29tYm9ib3gnXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRBcmlhQ29tYm9Cb3hBdHRyaWJ1dGVzKFxuICB0cmlnZ2VyOiBIVE1MRWxlbWVudCxcbiAgb3ZlcmxheUlkOiBzdHJpbmcsXG4gIGV4cGFuZGVkOiBib29sZWFuLFxuICBoYXNQb3B1cDogJ2xpc3Rib3gnIHwgJ2dyaWQnID0gJ2xpc3Rib3gnLFxuKTogdm9pZCB7XG4gIGlmICghdHJpZ2dlcikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhdXRvY29tcGxldGUnLCAnb2ZmJyk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdyb2xlJywgJ2NvbWJvYm94Jyk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhcmlhLWF1dG9jb21wbGV0ZScsICdsaXN0Jyk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhcmlhLWhhc3BvcHVwJywgaGFzUG9wdXApO1xuICB0cmlnZ2VyLnNldEF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycsIG92ZXJsYXlJZCk7XG4gIHRyaWdnZXIuc2V0QXR0cmlidXRlKCdhcmlhLW93bnMnLCBvdmVybGF5SWQpOyAvLyBGcm9tIEFyaWEgMS4yIHRoaXMgc2hvdWxkIG5vdCBiZSBuZWNlc3NhcnksIGJ1dCBzYWZhcmkgc3RpbGwgbmVlZHMgaXRcbiAgdHJpZ2dlci5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCBgJHtleHBhbmRlZH1gKTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgYXJpYSBhdHRyaWJ1dGVzIGZyb20gdHJpZ2dlciBlbGVtZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUFyaWFDb21ib0JveEF0dHJpYnV0ZXModHJpZ2dlcj86IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gIGlmICghdHJpZ2dlcikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhdXRvY29tcGxldGUnKTtcbiAgdHJpZ2dlci5yZW1vdmVBdHRyaWJ1dGUoJ3JvbGUnKTtcbiAgdHJpZ2dlci5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtYXV0b2NvbXBsZXRlJyk7XG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWhhc3BvcHVwJyk7XG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWNvbnRyb2xzJyk7XG4gIHRyaWdnZXIucmVtb3ZlQXR0cmlidXRlKCdhcmlhLW93bnMnKTtcbiAgdHJpZ2dlci5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnKTtcbn1cbiJdLCJuYW1lcyI6WyJlbCJdLCJtYXBwaW5ncyI6IjtBQUdBLE1BQU0sd0JBQXdCO0FBTXZCLFNBQVMsdUJBQXVDO0FBQzlDLFNBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFUO0FBS0EsTUFBTSxlQUFlLENBQUMsU0FBc0IsU0FBcUM7QUFDL0UsTUFBSSxLQUFLLFFBQVE7QUFDakIsUUFBTSxZQUEyQixDQUFBO0FBQ2pDLFNBQU8sSUFBSTtBQUNULGNBQVUsS0FBSyxFQUFFO0FBQ2pCLFFBQUksT0FBTyxNQUFNO0FBQ2YsV0FBSyxHQUFHO0FBQUEsSUFBQSxPQUNIO0FBQ0w7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNPLFNBQUE7QUFDVDtBQUVBLE1BQU0sa0JBQWtCLENBQUMsT0FBMEI7QUFDOUMsS0FBQTtBQUFBLElBQ0Q7QUFBQSxJQUNBLEdBQUcsRUFBRSxHQUFHLGFBQWEsZ0JBQWdCLEtBQUssVUFBYyxLQUFLLENBQUM7QUFBQSxFQUFBO0FBRWxFO0FBS0EsTUFBTSxjQUFjLENBQUMsT0FBMEI7QUFDekMsTUFBQSxDQUFDLEdBQUcsT0FBTztBQUNiLE9BQUcsUUFBUTtBQUNQLFFBQUEsR0FBRyxRQUFRLHFCQUFxQixHQUFHO0FBQ3JDLHNCQUFnQixFQUFFO0FBQUEsSUFBQSxPQUNiO0FBQ0YsU0FBQSxnQkFBZ0Isa0JBQWtCLElBQUk7QUFBQSxJQUMzQztBQUFBLEVBQ0Y7QUFFQSxNQUFJLENBQUMsR0FBRyxhQUFhLGFBQWEsR0FBRztBQUNoQyxPQUFBLGFBQWEsZUFBZSxNQUFNO0FBQ2xDLE9BQUEsZ0JBQWdCLHdCQUF3QixJQUFJ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
|
|
@@ -100,33 +100,34 @@ sbb-icon {
|
|
|
100
100
|
--sbb-button-color-disabled-text: var(--sbb-color-smoke);
|
|
101
101
|
}
|
|
102
102
|
|
|
103
|
-
:host(:is([disabled], [data-disabled])) .sbb-datepicker-next-day {
|
|
103
|
+
:host(:is([disabled], [data-disabled], [data-group-disabled])) .sbb-datepicker-next-day {
|
|
104
104
|
color: var(--sbb-button-color-disabled-text);
|
|
105
105
|
cursor: default;
|
|
106
106
|
pointer-events: none;
|
|
107
107
|
}
|
|
108
|
-
:host(:is([disabled], [data-disabled])) .sbb-datepicker-next-day::before {
|
|
108
|
+
:host(:is([disabled], [data-disabled], [data-group-disabled])) .sbb-datepicker-next-day::before {
|
|
109
109
|
background-color: var(--sbb-button-color-disabled-background);
|
|
110
110
|
border: var(--sbb-button-border-disabled-width) var(--sbb-button-border-disabled-style) var(--sbb-button-color-disabled-border);
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
:host(:
|
|
113
|
+
:host(:is([data-focus-visible],
|
|
114
|
+
:focus-visible:not([data-focus-origin=mouse], [data-focus-origin=touch]))) .sbb-datepicker-next-day::before {
|
|
114
115
|
outline-offset: var(--sbb-focus-outline-offset);
|
|
115
116
|
outline: var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width);
|
|
116
117
|
}
|
|
117
118
|
|
|
118
119
|
@media (any-hover: hover) {
|
|
119
|
-
:host(:not([disabled], [data-disabled], :active, [data-active]):hover) {
|
|
120
|
+
:host(:not([disabled], [data-disabled], [data-group-disabled], :active, [data-active]):hover) {
|
|
120
121
|
--sbb-button-translate-y-content-hover: -0.0625rem;
|
|
121
122
|
}
|
|
122
123
|
}
|
|
123
124
|
@media (any-hover: hover) {
|
|
124
|
-
:host(:not([disabled], [data-disabled], :active, [data-active]):hover) .sbb-datepicker-next-day::before {
|
|
125
|
+
:host(:not([disabled], [data-disabled], [data-group-disabled], :active, [data-active]):hover) .sbb-datepicker-next-day::before {
|
|
125
126
|
background-color: var(--sbb-button-color-hover-background);
|
|
126
127
|
}
|
|
127
128
|
}
|
|
128
129
|
|
|
129
|
-
:host(:not([disabled], [data-disabled]):is(:active, [data-active])) .sbb-datepicker-next-day::before {
|
|
130
|
+
:host(:not([disabled], [data-disabled], [data-group-disabled]):is(:active, [data-active])) .sbb-datepicker-next-day::before {
|
|
130
131
|
background-color: var(--sbb-button-color-active-background);
|
|
131
132
|
}
|
|
132
133
|
|
|
@@ -169,4 +170,4 @@ SbbDatepickerNextDayElement = __decorateClass([
|
|
|
169
170
|
export {
|
|
170
171
|
SbbDatepickerNextDayElement
|
|
171
172
|
};
|
|
172
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1uZXh0LWRheS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci1uZXh0LWRheS9kYXRlcGlja2VyLW5leHQtZGF5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgaG9zdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaTE4bk5leHREYXksIGkxOG5TZWxlY3ROZXh0RGF5IH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7IFNiYkRhdGVwaWNrZXJCdXR0b24gfSBmcm9tICcuLi9jb21tb24uanMnO1xuaW1wb3J0IHsgZmluZE5leHRBdmFpbGFibGVEYXRlLCB0eXBlIFNiYklucHV0VXBkYXRlRXZlbnQgfSBmcm9tICcuLi9kYXRlcGlja2VyLmpzJztcblxuaW1wb3J0ICcuLi8uLi9pY29uLmpzJztcbmltcG9ydCBzdHlsZSBmcm9tICcuL2RhdGVwaWNrZXItbmV4dC1kYXkuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGEgYHNiYi1kYXRlcGlja2VyYCwgaXQgY2FuIGJlIHVzZWQgdG8gbW92ZSB0aGUgZGF0ZSBhaGVhZC5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1kYXRlcGlja2VyLW5leHQtZGF5JylcbkBob3N0QXR0cmlidXRlcyh7XG4gIHNsb3Q6ICdzdWZmaXgnLFxufSlcbmV4cG9ydCBjbGFzcyBTYmJEYXRlcGlja2VyTmV4dERheUVsZW1lbnQ8VCA9IERhdGU+IGV4dGVuZHMgU2JiRGF0ZXBpY2tlckJ1dHRvbjxUPiB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIHByb3RlY3RlZCBpY29uTmFtZTogc3RyaW5nID0gJ2NoZXZyb24tc21hbGwtcmlnaHQtc21hbGwnO1xuICBwcm90ZWN0ZWQgaTE4bk9mZkJvdW5kYXJ5RGF5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+
|
|
173
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1uZXh0LWRheS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci1uZXh0LWRheS9kYXRlcGlja2VyLW5leHQtZGF5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgaG9zdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaTE4bk5leHREYXksIGkxOG5TZWxlY3ROZXh0RGF5IH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7IFNiYkRhdGVwaWNrZXJCdXR0b24gfSBmcm9tICcuLi9jb21tb24uanMnO1xuaW1wb3J0IHsgZmluZE5leHRBdmFpbGFibGVEYXRlLCB0eXBlIFNiYklucHV0VXBkYXRlRXZlbnQgfSBmcm9tICcuLi9kYXRlcGlja2VyLmpzJztcblxuaW1wb3J0ICcuLi8uLi9pY29uLmpzJztcbmltcG9ydCBzdHlsZSBmcm9tICcuL2RhdGVwaWNrZXItbmV4dC1kYXkuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGEgYHNiYi1kYXRlcGlja2VyYCwgaXQgY2FuIGJlIHVzZWQgdG8gbW92ZSB0aGUgZGF0ZSBhaGVhZC5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1kYXRlcGlja2VyLW5leHQtZGF5JylcbkBob3N0QXR0cmlidXRlcyh7XG4gIHNsb3Q6ICdzdWZmaXgnLFxufSlcbmV4cG9ydCBjbGFzcyBTYmJEYXRlcGlja2VyTmV4dERheUVsZW1lbnQ8VCA9IERhdGU+IGV4dGVuZHMgU2JiRGF0ZXBpY2tlckJ1dHRvbjxUPiB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIHByb3RlY3RlZCBpY29uTmFtZTogc3RyaW5nID0gJ2NoZXZyb24tc21hbGwtcmlnaHQtc21hbGwnO1xuICBwcm90ZWN0ZWQgaTE4bk9mZkJvdW5kYXJ5RGF5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0gaTE4bk5leHREYXk7XG4gIHByb3RlY3RlZCBpMThuU2VsZWN0T2ZmQm91bmRhcnlEYXkgPSBpMThuU2VsZWN0TmV4dERheTtcbiAgcHJvdGVjdGVkIGZpbmRBdmFpbGFibGVEYXRlID0gZmluZE5leHRBdmFpbGFibGVEYXRlO1xuXG4gIHByb3RlY3RlZCBvbklucHV0VXBkYXRlZChldmVudDogQ3VzdG9tRXZlbnQ8U2JiSW5wdXRVcGRhdGVFdmVudD4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ib3VuZGFyeSAhPT0gZXZlbnQuZGV0YWlsLm1heCkge1xuICAgICAgdGhpcy5ib3VuZGFyeSA9IGV2ZW50LmRldGFpbC5tYXghO1xuICAgICAgdGhpcy5zZXREaXNhYmxlZFN0YXRlKHRoaXMuZGF0ZVBpY2tlckVsZW1lbnQhKTtcbiAgICB9XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1kYXRlcGlja2VyLW5leHQtZGF5JzogU2JiRGF0ZXBpY2tlck5leHREYXlFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0JhLElBQUEsOEJBQU4sY0FBb0Qsb0JBQXVCO0FBQUEsRUFBM0UsY0FBQTtBQUFBLFVBQUEsR0FBQSxTQUFBO0FBR0wsU0FBVSxXQUFtQjtBQUM3QixTQUFVLHFCQUE2QztBQUN2RCxTQUFVLDJCQUEyQjtBQUNyQyxTQUFVLG9CQUFvQjtBQUFBLEVBQUE7QUFBQSxFQUVwQixlQUFlLE9BQStDO0FBQ3RFLFFBQUksS0FBSyxhQUFhLE1BQU0sT0FBTyxLQUFLO0FBQ2pDLFdBQUEsV0FBVyxNQUFNLE9BQU87QUFDeEIsV0FBQSxpQkFBaUIsS0FBSyxpQkFBa0I7QUFBQSxJQUMvQztBQUFBLEVBQ0Y7QUFDRjtBQWRhLDRCQUNZLFNBQXlCO0FBRHJDLDhCQUFOLGdCQUFBO0FBQUEsRUFKTixjQUFjLHlCQUF5QjtBQUFBLEVBQ3ZDLGVBQWU7QUFBQSxJQUNkLE1BQU07QUFBQSxFQUFBLENBQ1A7QUFBQSxHQUNZLDJCQUFBOyJ9
|
|
@@ -100,33 +100,34 @@ sbb-icon {
|
|
|
100
100
|
--sbb-button-color-disabled-text: var(--sbb-color-smoke);
|
|
101
101
|
}
|
|
102
102
|
|
|
103
|
-
:host(:is([disabled], [data-disabled])) .sbb-datepicker-previous-day {
|
|
103
|
+
:host(:is([disabled], [data-disabled], [data-group-disabled])) .sbb-datepicker-previous-day {
|
|
104
104
|
color: var(--sbb-button-color-disabled-text);
|
|
105
105
|
cursor: default;
|
|
106
106
|
pointer-events: none;
|
|
107
107
|
}
|
|
108
|
-
:host(:is([disabled], [data-disabled])) .sbb-datepicker-previous-day::before {
|
|
108
|
+
:host(:is([disabled], [data-disabled], [data-group-disabled])) .sbb-datepicker-previous-day::before {
|
|
109
109
|
background-color: var(--sbb-button-color-disabled-background);
|
|
110
110
|
border: var(--sbb-button-border-disabled-width) var(--sbb-button-border-disabled-style) var(--sbb-button-color-disabled-border);
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
:host(:
|
|
113
|
+
:host(:is([data-focus-visible],
|
|
114
|
+
:focus-visible:not([data-focus-origin=mouse], [data-focus-origin=touch]))) .sbb-datepicker-previous-day::before {
|
|
114
115
|
outline-offset: var(--sbb-focus-outline-offset);
|
|
115
116
|
outline: var(--sbb-focus-outline-color) solid var(--sbb-focus-outline-width);
|
|
116
117
|
}
|
|
117
118
|
|
|
118
119
|
@media (any-hover: hover) {
|
|
119
|
-
:host(:not([disabled], [data-disabled], :active, [data-active]):hover) {
|
|
120
|
+
:host(:not([disabled], [data-disabled], [data-group-disabled], :active, [data-active]):hover) {
|
|
120
121
|
--sbb-button-translate-y-content-hover: -0.0625rem;
|
|
121
122
|
}
|
|
122
123
|
}
|
|
123
124
|
@media (any-hover: hover) {
|
|
124
|
-
:host(:not([disabled], [data-disabled], :active, [data-active]):hover) .sbb-datepicker-previous-day::before {
|
|
125
|
+
:host(:not([disabled], [data-disabled], [data-group-disabled], :active, [data-active]):hover) .sbb-datepicker-previous-day::before {
|
|
125
126
|
background-color: var(--sbb-button-color-hover-background);
|
|
126
127
|
}
|
|
127
128
|
}
|
|
128
129
|
|
|
129
|
-
:host(:not([disabled], [data-disabled]):is(:active, [data-active])) .sbb-datepicker-previous-day::before {
|
|
130
|
+
:host(:not([disabled], [data-disabled], [data-group-disabled]):is(:active, [data-active])) .sbb-datepicker-previous-day::before {
|
|
130
131
|
background-color: var(--sbb-button-color-active-background);
|
|
131
132
|
}
|
|
132
133
|
|
|
@@ -169,4 +170,4 @@ SbbDatepickerPreviousDayElement = __decorateClass([
|
|
|
169
170
|
export {
|
|
170
171
|
SbbDatepickerPreviousDayElement
|
|
171
172
|
};
|
|
172
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1wcmV2aW91cy1kYXkuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXItcHJldmlvdXMtZGF5L2RhdGVwaWNrZXItcHJldmlvdXMtZGF5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgaG9zdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaTE4blByZXZpb3VzRGF5LCBpMThuU2VsZWN0UHJldmlvdXNEYXkgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiRGF0ZXBpY2tlckJ1dHRvbiB9IGZyb20gJy4uL2NvbW1vbi5qcyc7XG5pbXBvcnQgeyBmaW5kUHJldmlvdXNBdmFpbGFibGVEYXRlLCB0eXBlIFNiYklucHV0VXBkYXRlRXZlbnQgfSBmcm9tICcuLi9kYXRlcGlja2VyLmpzJztcbmltcG9ydCAnLi4vLi4vaWNvbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2RhdGVwaWNrZXItcHJldmlvdXMtZGF5LnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogQ29tYmluZWQgd2l0aCBhIGBzYmItZGF0ZXBpY2tlcmAsIGl0IGNhbiBiZSB1c2VkIHRvIG1vdmUgdGhlIGRhdGUgYmFjay5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1kYXRlcGlja2VyLXByZXZpb3VzLWRheScpXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICBzbG90OiAncHJlZml4Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2JiRGF0ZXBpY2tlclByZXZpb3VzRGF5RWxlbWVudDxUID0gRGF0ZT4gZXh0ZW5kcyBTYmJEYXRlcGlja2VyQnV0dG9uPFQ+IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgcHJvdGVjdGVkIGljb25OYW1lOiBzdHJpbmcgPSAnY2hldnJvbi1zbWFsbC1sZWZ0LXNtYWxsJztcbiAgcHJvdGVjdGVkIGkxOG5PZmZCb3VuZGFyeURheTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IGkxOG5QcmV2aW91c0RheTtcbiAgcHJvdGVjdGVkIGkxOG5TZWxlY3RPZmZCb3VuZGFyeURheSA9IGkxOG5TZWxlY3RQcmV2aW91c0RheTtcbiAgcHJvdGVjdGVkIGZpbmRBdmFpbGFibGVEYXRlID0gZmluZFByZXZpb3VzQXZhaWxhYmxlRGF0ZTtcblxuICBwcm90ZWN0ZWQgb25JbnB1dFVwZGF0ZWQoZXZlbnQ6IEN1c3RvbUV2ZW50PFNiYklucHV0VXBkYXRlRXZlbnQ+
|
|
173
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1wcmV2aW91cy1kYXkuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXItcHJldmlvdXMtZGF5L2RhdGVwaWNrZXItcHJldmlvdXMtZGF5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgaG9zdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaTE4blByZXZpb3VzRGF5LCBpMThuU2VsZWN0UHJldmlvdXNEYXkgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiRGF0ZXBpY2tlckJ1dHRvbiB9IGZyb20gJy4uL2NvbW1vbi5qcyc7XG5pbXBvcnQgeyBmaW5kUHJldmlvdXNBdmFpbGFibGVEYXRlLCB0eXBlIFNiYklucHV0VXBkYXRlRXZlbnQgfSBmcm9tICcuLi9kYXRlcGlja2VyLmpzJztcbmltcG9ydCAnLi4vLi4vaWNvbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2RhdGVwaWNrZXItcHJldmlvdXMtZGF5LnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogQ29tYmluZWQgd2l0aCBhIGBzYmItZGF0ZXBpY2tlcmAsIGl0IGNhbiBiZSB1c2VkIHRvIG1vdmUgdGhlIGRhdGUgYmFjay5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1kYXRlcGlja2VyLXByZXZpb3VzLWRheScpXG5AaG9zdEF0dHJpYnV0ZXMoe1xuICBzbG90OiAncHJlZml4Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2JiRGF0ZXBpY2tlclByZXZpb3VzRGF5RWxlbWVudDxUID0gRGF0ZT4gZXh0ZW5kcyBTYmJEYXRlcGlja2VyQnV0dG9uPFQ+IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgcHJvdGVjdGVkIGljb25OYW1lOiBzdHJpbmcgPSAnY2hldnJvbi1zbWFsbC1sZWZ0LXNtYWxsJztcbiAgcHJvdGVjdGVkIGkxOG5PZmZCb3VuZGFyeURheTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IGkxOG5QcmV2aW91c0RheTtcbiAgcHJvdGVjdGVkIGkxOG5TZWxlY3RPZmZCb3VuZGFyeURheSA9IGkxOG5TZWxlY3RQcmV2aW91c0RheTtcbiAgcHJvdGVjdGVkIGZpbmRBdmFpbGFibGVEYXRlID0gZmluZFByZXZpb3VzQXZhaWxhYmxlRGF0ZTtcblxuICBwcm90ZWN0ZWQgb25JbnB1dFVwZGF0ZWQoZXZlbnQ6IEN1c3RvbUV2ZW50PFNiYklucHV0VXBkYXRlRXZlbnQ+KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYm91bmRhcnkgIT09IGV2ZW50LmRldGFpbC5taW4pIHtcbiAgICAgIHRoaXMuYm91bmRhcnkgPSBldmVudC5kZXRhaWwubWluITtcbiAgICAgIHRoaXMuc2V0RGlzYWJsZWRTdGF0ZSh0aGlzLmRhdGVQaWNrZXJFbGVtZW50ISk7XG4gICAgfVxuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZGF0ZXBpY2tlci1wcmV2aW91cy1kYXknOiBTYmJEYXRlcGlja2VyUHJldmlvdXNEYXlFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0JhLElBQUEsa0NBQU4sY0FBd0Qsb0JBQXVCO0FBQUEsRUFBL0UsY0FBQTtBQUFBLFVBQUEsR0FBQSxTQUFBO0FBR0wsU0FBVSxXQUFtQjtBQUM3QixTQUFVLHFCQUE2QztBQUN2RCxTQUFVLDJCQUEyQjtBQUNyQyxTQUFVLG9CQUFvQjtBQUFBLEVBQUE7QUFBQSxFQUVwQixlQUFlLE9BQStDO0FBQ3RFLFFBQUksS0FBSyxhQUFhLE1BQU0sT0FBTyxLQUFLO0FBQ2pDLFdBQUEsV0FBVyxNQUFNLE9BQU87QUFDeEIsV0FBQSxpQkFBaUIsS0FBSyxpQkFBa0I7QUFBQSxJQUMvQztBQUFBLEVBQ0Y7QUFDRjtBQWRhLGdDQUNZLFNBQXlCO0FBRHJDLGtDQUFOLGdCQUFBO0FBQUEsRUFKTixjQUFjLDZCQUE2QjtBQUFBLEVBQzNDLGVBQWU7QUFBQSxJQUNkLE1BQU07QUFBQSxFQUFBLENBQ1A7QUFBQSxHQUNZLCtCQUFBOyJ9
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { CSSResultGroup, TemplateResult, LitElement } from 'lit';
|
|
2
|
+
import { SbbFlipCardDetailsElement } from '../flip-card-details.js';
|
|
3
|
+
import { SbbFlipCardSummaryElement } from '../flip-card-summary.js';
|
|
4
|
+
|
|
5
|
+
declare const SbbFlipCardElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbHydrationMixinType> & typeof LitElement;
|
|
6
|
+
/**
|
|
7
|
+
* Displays an informative card that reveals more informations upon being clicked.
|
|
8
|
+
*
|
|
9
|
+
* @slot summary - Use this slot to provide a sbb-flip-card-summary component.
|
|
10
|
+
* @slot details - Use this slot to provide a sbb-flip-card-details component.
|
|
11
|
+
*
|
|
12
|
+
*/
|
|
13
|
+
export declare class SbbFlipCardElement extends SbbFlipCardElement_base {
|
|
14
|
+
static styles: CSSResultGroup;
|
|
15
|
+
/** Returns the slotted sbb-flip-card-summary. */
|
|
16
|
+
get summary(): SbbFlipCardSummaryElement;
|
|
17
|
+
/** Returns the slotted sbb-flip-card-details. */
|
|
18
|
+
get details(): SbbFlipCardDetailsElement;
|
|
19
|
+
/** Whether the card is flipped or not. */
|
|
20
|
+
private _flipped;
|
|
21
|
+
private _language;
|
|
22
|
+
/** Toggles the state of the sbb-flip-card. */
|
|
23
|
+
toggle(): void;
|
|
24
|
+
protected render(): TemplateResult;
|
|
25
|
+
}
|
|
26
|
+
declare global {
|
|
27
|
+
interface HTMLElementTagNameMap {
|
|
28
|
+
'sbb-flip-card': SbbFlipCardElement;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=flip-card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flip-card.d.ts","sourceRoot":"","sources":["../../../../../src/elements/flip-card/flip-card/flip-card.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAMvC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAIzE,OAAO,kCAAkC,CAAC;;AAE1C;;;;;;GAMG;AACH,qBACa,kBAAmB,SAAQ,uBAA6B;IACnE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,iDAAiD;IACjD,IAAW,OAAO,IAAI,yBAAyB,CAE9C;IAED,iDAAiD;IACjD,IAAW,OAAO,IAAI,yBAAyB,CAE9C;IAED,0CAA0C;IACjC,OAAO,CAAC,QAAQ,CAAS;IAElC,OAAO,CAAC,SAAS,CAAmC;IAEpD,8CAA8C;IACvC,MAAM,IAAI,IAAI;cAOF,MAAM,IAAI,cAAc;CAqB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,eAAe,EAAE,kBAAkB,CAAC;KACrC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/flip-card/flip-card/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { CSSResultGroup, PropertyValues, TemplateResult, LitElement } from 'lit';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Combined with a `sbb-flip-card`, it displays its content when the card is flipped.
|
|
5
|
+
*
|
|
6
|
+
* @slot - Use the unnamed slot to provide any kind of content.
|
|
7
|
+
*/
|
|
8
|
+
export declare class SbbFlipCardDetailsElement extends LitElement {
|
|
9
|
+
static styles: CSSResultGroup;
|
|
10
|
+
private _flipCardMutationObserver;
|
|
11
|
+
private _checkForSlottedActions;
|
|
12
|
+
connectedCallback(): void;
|
|
13
|
+
protected firstUpdated(changedProperties: PropertyValues): void;
|
|
14
|
+
disconnectedCallback(): void;
|
|
15
|
+
protected render(): TemplateResult;
|
|
16
|
+
}
|
|
17
|
+
declare global {
|
|
18
|
+
interface HTMLElementTagNameMap {
|
|
19
|
+
'sbb-flip-card-details': SbbFlipCardDetailsElement;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=flip-card-details.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flip-card-details.d.ts","sourceRoot":"","sources":["../../../../../src/elements/flip-card/flip-card-details/flip-card-details.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AASvC;;;;GAIG;AACH,qBAIa,yBAA0B,SAAQ,UAAU;IACvD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,OAAO,CAAC,yBAAyB,CAE/B;IAEF,OAAO,CAAC,uBAAuB;IAQf,iBAAiB,IAAI,IAAI;cAStB,YAAY,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI;IAKxD,oBAAoB,IAAI,IAAI;cAKzB,MAAM,IAAI,cAAc;CAO5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uBAAuB,EAAE,yBAAyB,CAAC;KACpD;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/flip-card/flip-card-details/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flip-card-details.d.ts","sourceRoot":"","sources":["../../../../src/elements/flip-card/flip-card-details.ts"],"names":[],"mappings":"AAAA,cAAc,0CAA0C,CAAC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { css, LitElement, html } from "lit";
|
|
2
|
+
import { customElement } from "lit/decorators.js";
|
|
3
|
+
import { IS_FOCUSABLE_QUERY } from "../core/a11y.js";
|
|
4
|
+
import { hostAttributes } from "../core/decorators.js";
|
|
5
|
+
import { AgnosticMutationObserver } from "../core/observers.js";
|
|
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-flip-card-details-opacity: 0;
|
|
34
|
+
--sbb-flip-card-details-translate-y: var(--sbb-spacing-fixed-2x);
|
|
35
|
+
display: contents;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.sbb-flip-card-details {
|
|
39
|
+
pointer-events: none;
|
|
40
|
+
color: var(--sbb-color-milk);
|
|
41
|
+
opacity: var(--sbb-flip-card-details-opacity);
|
|
42
|
+
padding: var(--sbb-spacing-responsive-s);
|
|
43
|
+
padding-block-end: calc(var(--sbb-spacing-responsive-s) + var(--sbb-spacing-responsive-xs) + var(--sbb-size-element-m));
|
|
44
|
+
transform: translateY(var(--sbb-flip-card-details-translate-y));
|
|
45
|
+
transition: var(--sbb-flip-card-details-transition-duration) ease-out;
|
|
46
|
+
transition-delay: var(--sbb-flip-card-details-transition-delay);
|
|
47
|
+
max-height: var(--sbb-flip-card-details-min-height);
|
|
48
|
+
}`;
|
|
49
|
+
var __defProp = Object.defineProperty;
|
|
50
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
51
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
52
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
53
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
54
|
+
if (decorator = decorators[i])
|
|
55
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
56
|
+
if (kind && result) __defProp(target, key, result);
|
|
57
|
+
return result;
|
|
58
|
+
};
|
|
59
|
+
let SbbFlipCardDetailsElement = class extends LitElement {
|
|
60
|
+
constructor() {
|
|
61
|
+
super(...arguments);
|
|
62
|
+
this._flipCardMutationObserver = new AgnosticMutationObserver(
|
|
63
|
+
() => this._checkForSlottedActions()
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
_checkForSlottedActions() {
|
|
67
|
+
var _a;
|
|
68
|
+
const cardFocusableAttributeName = "data-card-focusable";
|
|
69
|
+
Array.from(((_a = this.querySelectorAll) == null ? void 0 : _a.call(this, IS_FOCUSABLE_QUERY)) ?? []).filter((el) => !el.hasAttribute(cardFocusableAttributeName)).forEach((el) => el.setAttribute(cardFocusableAttributeName, ""));
|
|
70
|
+
}
|
|
71
|
+
connectedCallback() {
|
|
72
|
+
super.connectedCallback();
|
|
73
|
+
this._checkForSlottedActions();
|
|
74
|
+
this._flipCardMutationObserver.observe(this, {
|
|
75
|
+
childList: true,
|
|
76
|
+
subtree: true
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
firstUpdated(changedProperties) {
|
|
80
|
+
super.firstUpdated(changedProperties);
|
|
81
|
+
this._checkForSlottedActions();
|
|
82
|
+
}
|
|
83
|
+
disconnectedCallback() {
|
|
84
|
+
super.disconnectedCallback();
|
|
85
|
+
this._flipCardMutationObserver.disconnect();
|
|
86
|
+
}
|
|
87
|
+
render() {
|
|
88
|
+
return html`
|
|
89
|
+
<div class="sbb-flip-card-details">
|
|
90
|
+
<slot></slot>
|
|
91
|
+
</div>
|
|
92
|
+
`;
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
SbbFlipCardDetailsElement.styles = style;
|
|
96
|
+
SbbFlipCardDetailsElement = __decorateClass([
|
|
97
|
+
customElement("sbb-flip-card-details"),
|
|
98
|
+
hostAttributes({
|
|
99
|
+
slot: "details"
|
|
100
|
+
})
|
|
101
|
+
], SbbFlipCardDetailsElement);
|
|
102
|
+
export {
|
|
103
|
+
SbbFlipCardDetailsElement
|
|
104
|
+
};
|
|
105
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxpcC1jYXJkLWRldGFpbHMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9mbGlwLWNhcmQvZmxpcC1jYXJkLWRldGFpbHMvZmxpcC1jYXJkLWRldGFpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgSVNfRk9DVVNBQkxFX1FVRVJZIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IEFnbm9zdGljTXV0YXRpb25PYnNlcnZlciB9IGZyb20gJy4uLy4uL2NvcmUvb2JzZXJ2ZXJzLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZmxpcC1jYXJkLWRldGFpbHMuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGEgYHNiYi1mbGlwLWNhcmRgLCBpdCBkaXNwbGF5cyBpdHMgY29udGVudCB3aGVuIHRoZSBjYXJkIGlzIGZsaXBwZWQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBwcm92aWRlIGFueSBraW5kIG9mIGNvbnRlbnQuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItZmxpcC1jYXJkLWRldGFpbHMnKVxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgc2xvdDogJ2RldGFpbHMnLFxufSlcbmV4cG9ydCBjbGFzcyBTYmJGbGlwQ2FyZERldGFpbHNFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIHByaXZhdGUgX2ZsaXBDYXJkTXV0YXRpb25PYnNlcnZlciA9IG5ldyBBZ25vc3RpY011dGF0aW9uT2JzZXJ2ZXIoKCkgPT5cbiAgICB0aGlzLl9jaGVja0ZvclNsb3R0ZWRBY3Rpb25zKCksXG4gICk7XG5cbiAgcHJpdmF0ZSBfY2hlY2tGb3JTbG90dGVkQWN0aW9ucygpOiB2b2lkIHtcbiAgICBjb25zdCBjYXJkRm9jdXNhYmxlQXR0cmlidXRlTmFtZSA9ICdkYXRhLWNhcmQtZm9jdXNhYmxlJztcblxuICAgIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oSVNfRk9DVVNBQkxFX1FVRVJZKSA/PyBbXSlcbiAgICAgIC5maWx0ZXIoKGVsKSA9PiAhZWwuaGFzQXR0cmlidXRlKGNhcmRGb2N1c2FibGVBdHRyaWJ1dGVOYW1lKSlcbiAgICAgIC5mb3JFYWNoKChlbDogRWxlbWVudCkgPT4gZWwuc2V0QXR0cmlidXRlKGNhcmRGb2N1c2FibGVBdHRyaWJ1dGVOYW1lLCAnJykpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fY2hlY2tGb3JTbG90dGVkQWN0aW9ucygpO1xuICAgIHRoaXMuX2ZsaXBDYXJkTXV0YXRpb25PYnNlcnZlci5vYnNlcnZlKHRoaXMsIHtcbiAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcyk6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy5fY2hlY2tGb3JTbG90dGVkQWN0aW9ucygpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fZmxpcENhcmRNdXRhdGlvbk9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1mbGlwLWNhcmQtZGV0YWlsc1wiPlxuICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZmxpcC1jYXJkLWRldGFpbHMnOiBTYmJGbGlwQ2FyZERldGFpbHNFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW1CYSxJQUFBLDRCQUFOLGNBQXdDLFdBQVc7QUFBQSxFQUFuRCxjQUFBO0FBQUEsVUFBQSxHQUFBLFNBQUE7QUFHTCxTQUFRLDRCQUE0QixJQUFJO0FBQUEsTUFBeUIsTUFDL0QsS0FBSyx3QkFBd0I7QUFBQSxJQUFBO0FBQUEsRUFDL0I7QUFBQSxFQUVRLDBCQUFnQzs7QUFDdEMsVUFBTSw2QkFBNkI7QUFFN0IsVUFBQSxPQUFLLFVBQUsscUJBQUwsOEJBQXdCLHdCQUF1QixDQUFBLENBQUUsRUFDekQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLGFBQWEsMEJBQTBCLENBQUMsRUFDM0QsUUFBUSxDQUFDLE9BQWdCLEdBQUcsYUFBYSw0QkFBNEIsRUFBRSxDQUFDO0FBQUEsRUFDN0U7QUFBQSxFQUVnQixvQkFBMEI7QUFDeEMsVUFBTSxrQkFBa0I7QUFDeEIsU0FBSyx3QkFBd0I7QUFDeEIsU0FBQSwwQkFBMEIsUUFBUSxNQUFNO0FBQUEsTUFDM0MsV0FBVztBQUFBLE1BQ1gsU0FBUztBQUFBLElBQUEsQ0FDVjtBQUFBLEVBQ0g7QUFBQSxFQUVtQixhQUFhLG1CQUF5QztBQUN2RSxVQUFNLGFBQWEsaUJBQWlCO0FBQ3BDLFNBQUssd0JBQXdCO0FBQUEsRUFDL0I7QUFBQSxFQUVnQix1QkFBNkI7QUFDM0MsVUFBTSxxQkFBcUI7QUFDM0IsU0FBSywwQkFBMEI7RUFDakM7QUFBQSxFQUVtQixTQUF5QjtBQUNuQyxXQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtUO0FBQ0Y7QUF6Q2EsMEJBQ1ksU0FBeUI7QUFEckMsNEJBQU4sZ0JBQUE7QUFBQSxFQUpOLGNBQWMsdUJBQXVCO0FBQUEsRUFDckMsZUFBZTtBQUFBLElBQ2QsTUFBTTtBQUFBLEVBQUEsQ0FDUDtBQUFBLEdBQ1kseUJBQUE7In0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { CSSResultGroup, PropertyValues, TemplateResult, LitElement } from 'lit';
|
|
2
|
+
|
|
3
|
+
export type SbbFlipCardImageAlignment = 'after' | 'below';
|
|
4
|
+
/**
|
|
5
|
+
* Combined with a `sbb-flip-card`, it displays its content when the card is not flipped.
|
|
6
|
+
*
|
|
7
|
+
* @slot - Use the unnamed slot to provide a title for the `sbb-flip-card-summary`.
|
|
8
|
+
* @slot image - Use this slot to provide an image for the `sbb-flip-card-summary`.
|
|
9
|
+
*/
|
|
10
|
+
export declare class SbbFlipCardSummaryElement extends LitElement {
|
|
11
|
+
static styles: CSSResultGroup;
|
|
12
|
+
/** The position where to render the image. */
|
|
13
|
+
imageAlignment: SbbFlipCardImageAlignment;
|
|
14
|
+
protected willUpdate(_changedProperties: PropertyValues): void;
|
|
15
|
+
protected render(): TemplateResult;
|
|
16
|
+
}
|
|
17
|
+
declare global {
|
|
18
|
+
interface HTMLElementTagNameMap {
|
|
19
|
+
'sbb-flip-card-summary': SbbFlipCardSummaryElement;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=flip-card-summary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flip-card-summary.d.ts","sourceRoot":"","sources":["../../../../../src/elements/flip-card/flip-card-summary/flip-card-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAOvC,MAAM,MAAM,yBAAyB,GAAG,OAAO,GAAG,OAAO,CAAC;AAE1D;;;;;GAKG;AACH,qBAIa,yBAA0B,SAAQ,UAAU;IACvD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,8CAA8C;IAEvC,cAAc,EAAE,yBAAyB,CAAW;cAExC,UAAU,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;cAQpD,MAAM,IAAI,cAAc;CAU5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uBAAuB,EAAE,yBAAyB,CAAC;KACpD;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/flip-card/flip-card-summary/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flip-card-summary.d.ts","sourceRoot":"","sources":["../../../../src/elements/flip-card/flip-card-summary.ts"],"names":[],"mappings":"AAAA,cAAc,0CAA0C,CAAC"}
|