@sbb-esta/lyne-elements 3.0.1 → 3.2.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.component.d.ts.map +1 -1
- package/autocomplete/autocomplete.component.js +1 -1
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +4 -4
- package/button/accent-button/accent-button.component.d.ts +2 -1
- package/button/accent-button/accent-button.component.d.ts.map +1 -1
- package/button/accent-button-link/accent-button-link.component.d.ts +2 -1
- package/button/accent-button-link/accent-button-link.component.d.ts.map +1 -1
- package/button/accent-button-static/accent-button-static.component.d.ts +2 -1
- package/button/accent-button-static/accent-button-static.component.d.ts.map +1 -1
- package/button/button/button.component.d.ts +2 -1
- package/button/button/button.component.d.ts.map +1 -1
- package/button/button-link/button-link.component.d.ts +2 -1
- package/button/button-link/button-link.component.d.ts.map +1 -1
- package/button/button-static/button-static.component.d.ts +2 -1
- package/button/button-static/button-static.component.d.ts.map +1 -1
- package/button/common/button-common.d.ts +1 -0
- package/button/common/button-common.d.ts.map +1 -1
- package/button/common/button-common.js +52 -28
- package/button/common.js +1 -1
- package/button/mini-button/mini-button.component.d.ts +1 -0
- package/button/mini-button/mini-button.component.d.ts.map +1 -1
- package/button/mini-button/mini-button.component.js +20 -14
- package/button/secondary-button/secondary-button.component.d.ts +2 -1
- package/button/secondary-button/secondary-button.component.d.ts.map +1 -1
- package/button/secondary-button-link/secondary-button-link.component.d.ts +2 -1
- package/button/secondary-button-link/secondary-button-link.component.d.ts.map +1 -1
- package/button/secondary-button-static/secondary-button-static.component.d.ts +2 -1
- package/button/secondary-button-static/secondary-button-static.component.d.ts.map +1 -1
- package/button/transparent-button/transparent-button.component.d.ts +2 -1
- package/button/transparent-button/transparent-button.component.d.ts.map +1 -1
- package/button/transparent-button-link/transparent-button-link.component.d.ts +2 -1
- package/button/transparent-button-link/transparent-button-link.component.d.ts.map +1 -1
- package/button/transparent-button-static/transparent-button-static.component.d.ts +2 -1
- package/button/transparent-button-static/transparent-button-static.component.d.ts.map +1 -1
- package/button.js +1 -1
- package/checkbox/checkbox-group/checkbox-group.component.d.ts.map +1 -1
- package/checkbox/checkbox-group/checkbox-group.component.js +4 -4
- package/checkbox/checkbox-panel/checkbox-panel.component.d.ts +3 -0
- package/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
- package/core/a11y/live-announcer.d.ts.map +1 -1
- package/core/a11y/live-announcer.js +10 -8
- package/core/base-elements/link-base-element.d.ts +1 -0
- package/core/base-elements/link-base-element.d.ts.map +1 -1
- package/core/base-elements/link-base-element.js +18 -17
- package/core/config/config.d.ts +5 -0
- package/core/config/config.d.ts.map +1 -1
- package/core/mixins/selection-panel-mixin.d.ts +23 -0
- package/core/mixins/selection-panel-mixin.d.ts.map +1 -0
- package/core/mixins/selection-panel-mixin.js +87 -0
- package/core/mixins.d.ts +1 -0
- package/core/mixins.d.ts.map +1 -1
- package/core/mixins.js +12 -10
- package/core/styles/_index.scss +1 -0
- package/core/styles/core.scss +44 -15
- package/core/styles/mixins/popover.scss +14 -0
- package/core.css +22 -1
- package/custom-elements.json +3603 -913
- package/development/autocomplete/autocomplete.component.d.ts.map +1 -1
- package/development/autocomplete/autocomplete.component.js +2 -2
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +2 -2
- package/development/button/accent-button/accent-button.component.d.ts +2 -1
- package/development/button/accent-button/accent-button.component.d.ts.map +1 -1
- package/development/button/accent-button/accent-button.component.js +1 -1
- package/development/button/accent-button-link/accent-button-link.component.d.ts +2 -1
- package/development/button/accent-button-link/accent-button-link.component.d.ts.map +1 -1
- package/development/button/accent-button-link/accent-button-link.component.js +1 -1
- package/development/button/accent-button-static/accent-button-static.component.d.ts +2 -1
- package/development/button/accent-button-static/accent-button-static.component.d.ts.map +1 -1
- package/development/button/accent-button-static/accent-button-static.component.js +1 -1
- package/development/button/button/button.component.d.ts +2 -1
- package/development/button/button/button.component.d.ts.map +1 -1
- package/development/button/button/button.component.js +1 -1
- package/development/button/button-link/button-link.component.d.ts +2 -1
- package/development/button/button-link/button-link.component.d.ts.map +1 -1
- package/development/button/button-link/button-link.component.js +1 -1
- package/development/button/button-static/button-static.component.d.ts +2 -1
- package/development/button/button-static/button-static.component.d.ts.map +1 -1
- package/development/button/button-static/button-static.component.js +1 -1
- package/development/button/common/button-common.d.ts +1 -0
- package/development/button/common/button-common.d.ts.map +1 -1
- package/development/button/common/button-common.js +42 -5
- package/development/button/common.js +1 -1
- package/development/button/mini-button/mini-button.component.d.ts +1 -0
- package/development/button/mini-button/mini-button.component.d.ts.map +1 -1
- package/development/button/mini-button/mini-button.component.js +41 -2
- package/development/button/secondary-button/secondary-button.component.d.ts +2 -1
- package/development/button/secondary-button/secondary-button.component.d.ts.map +1 -1
- package/development/button/secondary-button/secondary-button.component.js +1 -1
- package/development/button/secondary-button-link/secondary-button-link.component.d.ts +2 -1
- package/development/button/secondary-button-link/secondary-button-link.component.d.ts.map +1 -1
- package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
- package/development/button/secondary-button-static/secondary-button-static.component.d.ts +2 -1
- package/development/button/secondary-button-static/secondary-button-static.component.d.ts.map +1 -1
- package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
- package/development/button/transparent-button/transparent-button.component.d.ts +2 -1
- package/development/button/transparent-button/transparent-button.component.d.ts.map +1 -1
- package/development/button/transparent-button/transparent-button.component.js +1 -1
- package/development/button/transparent-button-link/transparent-button-link.component.d.ts +2 -1
- package/development/button/transparent-button-link/transparent-button-link.component.d.ts.map +1 -1
- package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
- package/development/button/transparent-button-static/transparent-button-static.component.d.ts +2 -1
- package/development/button/transparent-button-static/transparent-button-static.component.d.ts.map +1 -1
- package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
- package/development/button.js +1 -1
- package/development/checkbox/checkbox-group/checkbox-group.component.d.ts.map +1 -1
- package/development/checkbox/checkbox-group/checkbox-group.component.js +2 -2
- package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts +3 -0
- package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
- package/development/checkbox/checkbox-panel/checkbox-panel.component.js +1 -1
- package/development/core/a11y/live-announcer.d.ts.map +1 -1
- package/development/core/a11y/live-announcer.js +10 -6
- package/development/core/base-elements/link-base-element.d.ts +1 -0
- package/development/core/base-elements/link-base-element.d.ts.map +1 -1
- package/development/core/base-elements/link-base-element.js +3 -1
- package/development/core/config/config.d.ts +5 -0
- package/development/core/config/config.d.ts.map +1 -1
- package/development/core/config/config.js +1 -1
- package/development/core/mixins/selection-panel-mixin.d.ts +23 -0
- package/development/core/mixins/selection-panel-mixin.d.ts.map +1 -0
- package/development/core/mixins/selection-panel-mixin.js +120 -0
- package/development/core/mixins.d.ts +1 -0
- package/development/core/mixins.d.ts.map +1 -1
- package/development/core/mixins.js +7 -5
- package/development/dialog/dialog/dialog.component.d.ts +4 -2
- package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
- package/development/dialog/dialog/dialog.component.js +61 -11
- package/development/dialog/dialog-actions/dialog-actions.component.d.ts +1 -0
- package/development/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
- package/development/dialog/dialog-actions/dialog-actions.component.js +10 -1
- package/development/dialog/dialog-close-button/dialog-close-button.component.d.ts +22 -0
- package/development/dialog/dialog-close-button/dialog-close-button.component.d.ts.map +1 -0
- package/development/dialog/dialog-close-button/dialog-close-button.component.js +53 -0
- package/development/dialog/dialog-close-button.d.ts +5 -0
- package/development/dialog/dialog-close-button.d.ts.map +1 -0
- package/development/dialog/dialog-close-button.js +5 -0
- package/development/dialog/dialog-content/dialog-content.component.js +1 -1
- package/development/dialog/dialog-title/dialog-title.component.d.ts +1 -0
- package/development/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
- package/development/dialog/dialog-title/dialog-title.component.js +6 -2
- package/development/dialog.d.ts +1 -0
- package/development/dialog.d.ts.map +1 -1
- package/development/dialog.js +3 -1
- package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +3 -2
- package/development/form-field/form-field/form-field.component.d.ts +23 -1
- package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
- package/development/form-field/form-field/form-field.component.js +39 -12
- package/development/form-field/form-field.js +2 -1
- package/development/form-field.js +2 -1
- package/development/header/header-environment/header-environment.component.d.ts +23 -0
- package/development/header/header-environment/header-environment.component.d.ts.map +1 -0
- package/development/header/header-environment/header-environment.component.js +111 -0
- package/development/header/header-environment.d.ts +5 -0
- package/development/header/header-environment.d.ts.map +1 -0
- package/development/header/header-environment.js +5 -0
- package/development/menu/menu/menu.component.d.ts +1 -0
- package/development/menu/menu/menu.component.d.ts.map +1 -1
- package/development/menu/menu/menu.component.js +2 -2
- package/development/menu/menu-button/menu-button.component.d.ts +1 -0
- package/development/menu/menu-button/menu-button.component.d.ts.map +1 -1
- package/development/menu/menu-button/menu-button.component.js +2 -3
- package/development/menu/menu-link/menu-link.component.d.ts +1 -0
- package/development/menu/menu-link/menu-link.component.d.ts.map +1 -1
- package/development/menu/menu-link/menu-link.component.js +5 -1
- package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/development/option/optgroup/optgroup-base-element.js +8 -6
- package/development/option/option-hint/option-hint.component.d.ts +18 -0
- package/development/option/option-hint/option-hint.component.d.ts.map +1 -0
- package/development/option/option-hint/option-hint.component.js +74 -0
- package/development/option/option-hint.d.ts +5 -0
- package/development/option/option-hint.d.ts.map +1 -0
- package/development/option/option-hint.js +5 -0
- package/development/option.d.ts +1 -0
- package/development/option.d.ts.map +1 -1
- package/development/option.js +4 -2
- package/development/overlay/overlay-base-element.d.ts +1 -0
- package/development/overlay/overlay-base-element.d.ts.map +1 -1
- package/development/overlay/overlay-base-element.js +3 -3
- package/development/popover/popover/popover.component.d.ts +18 -4
- package/development/popover/popover/popover.component.d.ts.map +1 -1
- package/development/popover/popover/popover.component.js +35 -30
- package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts +6 -3
- package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
- package/development/radio-button/radio-button-panel/radio-button-panel.component.js +7 -7
- package/development/select/select.component.d.ts.map +1 -1
- package/development/select/select.component.js +2 -2
- package/development/selection-action-panel/selection-action-panel.component.d.ts +22 -0
- package/development/selection-action-panel/selection-action-panel.component.d.ts.map +1 -0
- package/development/selection-action-panel/selection-action-panel.component.js +105 -0
- package/development/selection-action-panel.d.ts +5 -0
- package/development/selection-action-panel.d.ts.map +1 -0
- package/development/selection-action-panel.js +5 -0
- package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts +4 -24
- package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
- package/development/selection-expansion-panel/selection-expansion-panel.component.js +26 -106
- package/development/{transparent-button-Ddb_s0a0.js → transparent-button-Dun6bh2G.js} +89 -8
- package/dialog/dialog/dialog.component.d.ts +4 -2
- package/dialog/dialog/dialog.component.d.ts.map +1 -1
- package/dialog/dialog/dialog.component.js +63 -56
- package/dialog/dialog-actions/dialog-actions.component.d.ts +1 -0
- package/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
- package/dialog/dialog-actions/dialog-actions.component.js +13 -9
- package/dialog/dialog-close-button/dialog-close-button.component.d.ts +22 -0
- package/dialog/dialog-close-button/dialog-close-button.component.d.ts.map +1 -0
- package/dialog/dialog-close-button/dialog-close-button.component.js +31 -0
- package/dialog/dialog-close-button.d.ts +5 -0
- package/dialog/dialog-close-button.d.ts.map +1 -0
- package/dialog/dialog-close-button.js +4 -0
- package/dialog/dialog-content/dialog-content.component.js +6 -6
- package/dialog/dialog-title/dialog-title.component.d.ts +1 -0
- package/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
- package/dialog/dialog-title/dialog-title.component.js +11 -8
- package/dialog.d.ts +1 -0
- package/dialog.d.ts.map +1 -1
- package/dialog.js +6 -4
- package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +7 -7
- package/form-field/form-field/form-field.component.d.ts +23 -1
- package/form-field/form-field/form-field.component.d.ts.map +1 -1
- package/form-field/form-field/form-field.component.js +52 -41
- package/form-field/form-field.js +3 -2
- package/form-field.js +5 -4
- package/header/header-environment/header-environment.component.d.ts +23 -0
- package/header/header-environment/header-environment.component.d.ts.map +1 -0
- package/header/header-environment/header-environment.component.js +37 -0
- package/header/header-environment.d.ts +5 -0
- package/header/header-environment.d.ts.map +1 -0
- package/header/header-environment.js +4 -0
- package/index.d.ts +8 -0
- package/index.js +8 -0
- package/menu/menu/menu.component.d.ts +1 -0
- package/menu/menu/menu.component.d.ts.map +1 -1
- package/menu/menu/menu.component.js +1 -1
- package/menu/menu-button/menu-button.component.d.ts +1 -0
- package/menu/menu-button/menu-button.component.d.ts.map +1 -1
- package/menu/menu-button/menu-button.component.js +8 -8
- package/menu/menu-link/menu-link.component.d.ts +1 -0
- package/menu/menu-link/menu-link.component.d.ts.map +1 -1
- package/menu/menu-link/menu-link.component.js +9 -6
- package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/option/optgroup/optgroup-base-element.js +19 -17
- package/option/option-hint/option-hint.component.d.ts +18 -0
- package/option/option-hint/option-hint.component.d.ts.map +1 -0
- package/option/option-hint/option-hint.component.js +27 -0
- package/option/option-hint.d.ts +5 -0
- package/option/option-hint.d.ts.map +1 -0
- package/option/option-hint.js +4 -0
- package/option.d.ts +1 -0
- package/option.d.ts.map +1 -1
- package/option.js +5 -3
- package/overlay/overlay-base-element.d.ts +1 -0
- package/overlay/overlay-base-element.d.ts.map +1 -1
- package/overlay/overlay-base-element.js +21 -21
- package/package.json +23 -3
- package/popover/popover/popover.component.d.ts +18 -4
- package/popover/popover/popover.component.d.ts.map +1 -1
- package/popover/popover/popover.component.js +104 -95
- package/radio-button/radio-button-panel/radio-button-panel.component.d.ts +6 -3
- package/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
- package/radio-button/radio-button-panel/radio-button-panel.component.js +9 -9
- package/select/select.component.d.ts.map +1 -1
- package/select/select.component.js +1 -1
- package/selection-action-panel/selection-action-panel.component.d.ts +22 -0
- package/selection-action-panel/selection-action-panel.component.d.ts.map +1 -0
- package/selection-action-panel/selection-action-panel.component.js +34 -0
- package/selection-action-panel.d.ts +5 -0
- package/selection-action-panel.d.ts.map +1 -0
- package/selection-action-panel.js +4 -0
- package/selection-expansion-panel/selection-expansion-panel.component.d.ts +4 -24
- package/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
- package/selection-expansion-panel/selection-expansion-panel.component.js +45 -102
- package/standard-theme.css +22 -1
- package/transparent-button-rf30m88X.js +9 -0
- package/transparent-button-BlbvexCb.js +0 -9
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CSSResultGroup, LitElement, PropertyValues, TemplateResult } from 'lit';
|
|
2
|
-
|
|
2
|
+
import { SbbStateChange } from '../core/interfaces.js';
|
|
3
|
+
declare const SbbSelectionExpansionPanelElement_base: import('../core/mixins.js').AbstractConstructor<import('../core/mixins.js').SbbSelectionPanelMixinType & import('../core/mixins.js').SbbElementInternalsMixinType> & import('../core/mixins.js').AbstractConstructor<import('../core/mixins.js').SbbHydrationMixinType> & typeof LitElement;
|
|
3
4
|
/**
|
|
4
5
|
* It displays an expandable panel connected to a `sbb-checkbox` or to a `sbb-radio-button`.
|
|
5
6
|
*
|
|
@@ -14,45 +15,24 @@ export declare class SbbSelectionExpansionPanelElement extends SbbSelectionExpan
|
|
|
14
15
|
readonly beforeclose: "beforeclose";
|
|
15
16
|
readonly close: "close";
|
|
16
17
|
};
|
|
17
|
-
/** The background color of the panel. */
|
|
18
|
-
accessor color: 'white' | 'milk';
|
|
19
18
|
/** Whether the content section is always visible. */
|
|
20
19
|
accessor forceOpen: boolean;
|
|
21
|
-
/** Whether the unselected panel has a border. */
|
|
22
|
-
accessor borderless: boolean;
|
|
23
20
|
/** The state of the selection panel. */
|
|
24
21
|
private set _state(value);
|
|
25
22
|
private get _state();
|
|
26
|
-
/** Whether the selection panel is checked. */
|
|
27
|
-
private set _checked(value);
|
|
28
|
-
private get _checked();
|
|
29
|
-
/** Whether the selection panel is disabled. */
|
|
30
|
-
private set _disabled(value);
|
|
31
23
|
private _language;
|
|
32
|
-
private _sizeAttributeObserver;
|
|
33
24
|
/** Whether it has an expandable content */
|
|
34
25
|
private get _hasContent();
|
|
35
|
-
private get _group();
|
|
36
|
-
constructor();
|
|
37
26
|
connectedCallback(): void;
|
|
38
|
-
disconnectedCallback(): void;
|
|
39
27
|
protected willUpdate(changedProperties: PropertyValues<this>): void;
|
|
28
|
+
protected initFromInput(event: Event): void;
|
|
29
|
+
protected onInputStateChange(event: CustomEvent<SbbStateChange>): void;
|
|
40
30
|
private _updateState;
|
|
41
31
|
private _open;
|
|
42
32
|
private _close;
|
|
43
33
|
private _isZeroAnimationDuration;
|
|
44
34
|
private _handleClosing;
|
|
45
35
|
private _handleOpening;
|
|
46
|
-
private _initFromInput;
|
|
47
|
-
/**
|
|
48
|
-
* Set the data-size in two cases:
|
|
49
|
-
* - if there's no group, so the size change comes directly from a change on the inner panel;
|
|
50
|
-
* - if there's a wrapper group and its size changes, syncing it with the panel size.
|
|
51
|
-
*
|
|
52
|
-
* On the other hand, if there's a wrapper group and the size changes on the inner panel, the data-size doesn't change.
|
|
53
|
-
*/
|
|
54
|
-
private _onSizeAttributesChange;
|
|
55
|
-
private _onInputStateChange;
|
|
56
36
|
private _onAnimationEnd;
|
|
57
37
|
private _updateExpandedLabel;
|
|
58
38
|
protected render(): TemplateResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selection-expansion-panel.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/selection-expansion-panel/selection-expansion-panel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"selection-expansion-panel.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/selection-expansion-panel/selection-expansion-panel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAQb,OAAO,KAAK,EAAwB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAMlF,OAAO,eAAe,CAAC;;AAEvB;;;;;GAKG;AACH,qBAGM,iCAAkC,SAAQ,sCAE/C;IAEC,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;;;MAKlB;IAEX,qDAAqD;IACrD,SAEgB,SAAS,EAAE,OAAO,CAAS;IAE3C,wCAAwC;IAExC,OAAO,KAAK,MAAM,QAEjB;IACD,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,SAAS,CAAmC;IAEpD,2CAA2C;IAC3C,OAAO,KAAK,WAAW,GAGtB;IAEe,iBAAiB,IAAI,IAAI;cAMtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAQzD,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;cAKjC,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,GAAG,IAAI;IAK/E,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,KAAK;IAgBb,OAAO,CAAC,MAAM;IAgBd,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,eAAe;YAQT,oBAAoB;cAoBf,MAAM,IAAI,cAAc;CAmB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,+BAA+B,EAAE,iCAAiC,CAAC;KACpE;CACF"}
|
|
@@ -5,14 +5,14 @@ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot
|
|
|
5
5
|
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
6
6
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
7
7
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
8
|
-
import {
|
|
9
|
-
import { css, LitElement,
|
|
8
|
+
import { __runInitializers, __esDecorate } from "tslib";
|
|
9
|
+
import { css, LitElement, html } from "lit";
|
|
10
10
|
import { customElement, property, state } from "lit/decorators.js";
|
|
11
11
|
import { SbbLanguageController } from "../core/controllers.js";
|
|
12
12
|
import { slotState, forceType } from "../core/decorators.js";
|
|
13
13
|
import { isZeroAnimationDuration } from "../core/dom.js";
|
|
14
14
|
import { i18nExpanded, i18nCollapsed } from "../core/i18n.js";
|
|
15
|
-
import { SbbHydrationMixin } from "../core/mixins.js";
|
|
15
|
+
import { SbbSelectionPanelMixin, SbbHydrationMixin } from "../core/mixins.js";
|
|
16
16
|
import "../divider.js";
|
|
17
17
|
const style = css`*,
|
|
18
18
|
::before,
|
|
@@ -23,8 +23,8 @@ const style = css`*,
|
|
|
23
23
|
:host {
|
|
24
24
|
--sbb-selection-expansion-panel-background: var(--sbb-color-white);
|
|
25
25
|
--sbb-selection-expansion-panel-border-color: var(--sbb-color-cloud);
|
|
26
|
-
--sbb-selection-
|
|
27
|
-
--sbb-selection-
|
|
26
|
+
--sbb-selection-panel-inner-background: transparent;
|
|
27
|
+
--sbb-selection-panel-inner-border-width: 0px;
|
|
28
28
|
--sbb-selection-expansion-panel-animation-duration: var(
|
|
29
29
|
--sbb-disable-animation-duration,
|
|
30
30
|
var(--sbb-animation-duration-4x)
|
|
@@ -45,16 +45,16 @@ const style = css`*,
|
|
|
45
45
|
--sbb-selection-expansion-panel-background: var(--sbb-color-milk);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
:host([
|
|
48
|
+
:host(:where(:state(checked), [state--checked]):not(:where(:state(disabled), [state--disabled]))) {
|
|
49
49
|
--sbb-selection-expansion-panel-border-color: var(--sbb-color-charcoal);
|
|
50
50
|
--sbb-selection-expansion-panel-border-width: var(--sbb-border-width-2x);
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
:host([data-slot-names~=content][
|
|
53
|
+
:host([data-slot-names~=content]:where(:state(disabled), [state--disabled])) {
|
|
54
54
|
--sbb-selection-expansion-panel-border-color: var(--sbb-color-cloud);
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
:host([borderless]:not([
|
|
57
|
+
:host([borderless]:not(:where(:state(checked), [state--checked]))) {
|
|
58
58
|
--sbb-selection-expansion-panel-border-color: transparent;
|
|
59
59
|
}
|
|
60
60
|
|
|
@@ -150,42 +150,23 @@ sbb-divider {
|
|
|
150
150
|
}
|
|
151
151
|
}`;
|
|
152
152
|
let SbbSelectionExpansionPanelElement = (() => {
|
|
153
|
-
var
|
|
153
|
+
var _forceOpen_accessor_storage, _a;
|
|
154
154
|
let _classDecorators = [customElement("sbb-selection-expansion-panel"), slotState()];
|
|
155
155
|
let _classDescriptor;
|
|
156
156
|
let _classExtraInitializers = [];
|
|
157
157
|
let _classThis;
|
|
158
|
-
let _classSuper = SbbHydrationMixin(LitElement);
|
|
158
|
+
let _classSuper = SbbSelectionPanelMixin(SbbHydrationMixin(LitElement));
|
|
159
159
|
let _instanceExtraInitializers = [];
|
|
160
|
-
let _color_decorators;
|
|
161
|
-
let _color_initializers = [];
|
|
162
|
-
let _color_extraInitializers = [];
|
|
163
160
|
let _forceOpen_decorators;
|
|
164
161
|
let _forceOpen_initializers = [];
|
|
165
162
|
let _forceOpen_extraInitializers = [];
|
|
166
|
-
let _borderless_decorators;
|
|
167
|
-
let _borderless_initializers = [];
|
|
168
|
-
let _borderless_extraInitializers = [];
|
|
169
163
|
let _set__state_decorators;
|
|
170
164
|
_a = class extends _classSuper {
|
|
171
165
|
constructor() {
|
|
172
|
-
super();
|
|
173
|
-
__privateAdd(this, _color_accessor_storage);
|
|
166
|
+
super(...arguments);
|
|
174
167
|
__privateAdd(this, _forceOpen_accessor_storage);
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
__privateSet(this, _forceOpen_accessor_storage, (__runInitializers(this, _color_extraInitializers), __runInitializers(this, _forceOpen_initializers, false)));
|
|
178
|
-
__privateSet(this, _borderless_accessor_storage, (__runInitializers(this, _forceOpen_extraInitializers), __runInitializers(this, _borderless_initializers, false)));
|
|
179
|
-
this._language = (__runInitializers(this, _borderless_extraInitializers), new SbbLanguageController(this));
|
|
180
|
-
this._sizeAttributeObserver = !isServer ? new MutationObserver((mutationsList) => this._onSizeAttributesChange(mutationsList)) : null;
|
|
181
|
-
this.addEventListener?.("panelconnected", (e) => this._initFromInput(e));
|
|
182
|
-
}
|
|
183
|
-
/** The background color of the panel. */
|
|
184
|
-
get color() {
|
|
185
|
-
return __privateGet(this, _color_accessor_storage);
|
|
186
|
-
}
|
|
187
|
-
set color(value) {
|
|
188
|
-
__privateSet(this, _color_accessor_storage, value);
|
|
168
|
+
__privateSet(this, _forceOpen_accessor_storage, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _forceOpen_initializers, false)));
|
|
169
|
+
this._language = (__runInitializers(this, _forceOpen_extraInitializers), new SbbLanguageController(this));
|
|
189
170
|
}
|
|
190
171
|
/** Whether the content section is always visible. */
|
|
191
172
|
get forceOpen() {
|
|
@@ -194,13 +175,6 @@ let SbbSelectionExpansionPanelElement = (() => {
|
|
|
194
175
|
set forceOpen(value) {
|
|
195
176
|
__privateSet(this, _forceOpen_accessor_storage, value);
|
|
196
177
|
}
|
|
197
|
-
/** Whether the unselected panel has a border. */
|
|
198
|
-
get borderless() {
|
|
199
|
-
return __privateGet(this, _borderless_accessor_storage);
|
|
200
|
-
}
|
|
201
|
-
set borderless(value) {
|
|
202
|
-
__privateSet(this, _borderless_accessor_storage, value);
|
|
203
|
-
}
|
|
204
178
|
/** The state of the selection panel. */
|
|
205
179
|
set _state(state2) {
|
|
206
180
|
this.setAttribute("data-state", state2);
|
|
@@ -208,48 +182,38 @@ let SbbSelectionExpansionPanelElement = (() => {
|
|
|
208
182
|
get _state() {
|
|
209
183
|
return this.getAttribute("data-state");
|
|
210
184
|
}
|
|
211
|
-
/** Whether the selection panel is checked. */
|
|
212
|
-
set _checked(checked) {
|
|
213
|
-
this.toggleAttribute("data-checked", checked);
|
|
214
|
-
}
|
|
215
|
-
get _checked() {
|
|
216
|
-
return this.hasAttribute("data-checked");
|
|
217
|
-
}
|
|
218
|
-
/** Whether the selection panel is disabled. */
|
|
219
|
-
set _disabled(disabled) {
|
|
220
|
-
this.toggleAttribute("data-disabled", disabled);
|
|
221
|
-
}
|
|
222
185
|
/** Whether it has an expandable content */
|
|
223
186
|
get _hasContent() {
|
|
224
187
|
return this.querySelectorAll?.('[slot="content"]').length > 0;
|
|
225
188
|
}
|
|
226
|
-
get _group() {
|
|
227
|
-
return this.closest("sbb-radio-button-group, sbb-checkbox-group");
|
|
228
|
-
}
|
|
229
189
|
connectedCallback() {
|
|
230
190
|
super.connectedCallback();
|
|
231
191
|
this._state ||= "closed";
|
|
232
192
|
}
|
|
233
|
-
disconnectedCallback() {
|
|
234
|
-
super.disconnectedCallback();
|
|
235
|
-
this._sizeAttributeObserver?.disconnect();
|
|
236
|
-
}
|
|
237
193
|
willUpdate(changedProperties) {
|
|
238
194
|
super.willUpdate(changedProperties);
|
|
239
195
|
if (changedProperties.has("forceOpen")) {
|
|
240
196
|
this._updateState();
|
|
241
197
|
}
|
|
242
198
|
}
|
|
199
|
+
initFromInput(event) {
|
|
200
|
+
super.initFromInput(event);
|
|
201
|
+
this._updateState();
|
|
202
|
+
}
|
|
203
|
+
onInputStateChange(event) {
|
|
204
|
+
super.onInputStateChange(event);
|
|
205
|
+
this._updateState();
|
|
206
|
+
}
|
|
243
207
|
_updateState() {
|
|
244
208
|
if (!this._hasContent) {
|
|
245
209
|
return;
|
|
246
210
|
}
|
|
247
|
-
if (this.forceOpen || this.
|
|
211
|
+
if (this.forceOpen || this.checked) {
|
|
248
212
|
this._open();
|
|
249
213
|
} else {
|
|
250
214
|
this._close();
|
|
251
215
|
}
|
|
252
|
-
this._updateExpandedLabel(this.forceOpen || this.
|
|
216
|
+
this._updateExpandedLabel(this.forceOpen || this.checked);
|
|
253
217
|
}
|
|
254
218
|
_open() {
|
|
255
219
|
if (this._state !== "closed" && this._state !== "closing") {
|
|
@@ -282,42 +246,6 @@ let SbbSelectionExpansionPanelElement = (() => {
|
|
|
282
246
|
this._state = "opened";
|
|
283
247
|
this.dispatchEvent(new Event("open"));
|
|
284
248
|
}
|
|
285
|
-
_initFromInput(event) {
|
|
286
|
-
const input = event.target;
|
|
287
|
-
this._checked = input.checked;
|
|
288
|
-
this._disabled = input.disabled;
|
|
289
|
-
this._sizeAttributeObserver?.disconnect();
|
|
290
|
-
this._sizeAttributeObserver?.observe(input, { attributeFilter: ["size"] });
|
|
291
|
-
this._updateState();
|
|
292
|
-
}
|
|
293
|
-
/**
|
|
294
|
-
* Set the data-size in two cases:
|
|
295
|
-
* - if there's no group, so the size change comes directly from a change on the inner panel;
|
|
296
|
-
* - if there's a wrapper group and its size changes, syncing it with the panel size.
|
|
297
|
-
*
|
|
298
|
-
* On the other hand, if there's a wrapper group and the size changes on the inner panel, the data-size doesn't change.
|
|
299
|
-
*/
|
|
300
|
-
_onSizeAttributesChange(mutationsList) {
|
|
301
|
-
for (const mutation of mutationsList) {
|
|
302
|
-
if (mutation.attributeName === "size") {
|
|
303
|
-
const group = this._group;
|
|
304
|
-
const size = mutation.target.getAttribute("size");
|
|
305
|
-
if (!group || group.size === size) {
|
|
306
|
-
this.setAttribute("data-size", size);
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
_onInputStateChange(event) {
|
|
312
|
-
if (event.detail.type === "disabled") {
|
|
313
|
-
this._disabled = event.detail.disabled;
|
|
314
|
-
return;
|
|
315
|
-
} else if (event.detail.type !== "checked") {
|
|
316
|
-
return;
|
|
317
|
-
}
|
|
318
|
-
this._checked = event.detail.checked;
|
|
319
|
-
this._updateState();
|
|
320
|
-
}
|
|
321
249
|
_onAnimationEnd(event) {
|
|
322
250
|
if (event.animationName === "open-opacity" && this._state === "opening") {
|
|
323
251
|
this._handleOpening();
|
|
@@ -340,7 +268,7 @@ let SbbSelectionExpansionPanelElement = (() => {
|
|
|
340
268
|
render() {
|
|
341
269
|
return html`
|
|
342
270
|
<div class="sbb-selection-expansion-panel">
|
|
343
|
-
<div class="sbb-selection-expansion-panel__input" @statechange=${this.
|
|
271
|
+
<div class="sbb-selection-expansion-panel__input" @statechange=${this.onInputStateChange}>
|
|
344
272
|
<slot></slot>
|
|
345
273
|
</div>
|
|
346
274
|
<div
|
|
@@ -356,21 +284,13 @@ let SbbSelectionExpansionPanelElement = (() => {
|
|
|
356
284
|
</div>
|
|
357
285
|
`;
|
|
358
286
|
}
|
|
359
|
-
},
|
|
287
|
+
}, _forceOpen_accessor_storage = new WeakMap(), _classThis = _a, (() => {
|
|
360
288
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
361
|
-
_color_decorators = [property({ reflect: true })];
|
|
362
289
|
_forceOpen_decorators = [forceType(), property({ attribute: "force-open", type: Boolean })];
|
|
363
|
-
_borderless_decorators = [forceType(), property({ reflect: true, type: Boolean })];
|
|
364
290
|
_set__state_decorators = [state()];
|
|
365
|
-
__esDecorate(_a, null, _color_decorators, { kind: "accessor", name: "color", static: false, private: false, access: { has: (obj) => "color" in obj, get: (obj) => obj.color, set: (obj, value) => {
|
|
366
|
-
obj.color = value;
|
|
367
|
-
} }, metadata: _metadata }, _color_initializers, _color_extraInitializers);
|
|
368
291
|
__esDecorate(_a, null, _forceOpen_decorators, { kind: "accessor", name: "forceOpen", static: false, private: false, access: { has: (obj) => "forceOpen" in obj, get: (obj) => obj.forceOpen, set: (obj, value) => {
|
|
369
292
|
obj.forceOpen = value;
|
|
370
293
|
} }, metadata: _metadata }, _forceOpen_initializers, _forceOpen_extraInitializers);
|
|
371
|
-
__esDecorate(_a, null, _borderless_decorators, { kind: "accessor", name: "borderless", static: false, private: false, access: { has: (obj) => "borderless" in obj, get: (obj) => obj.borderless, set: (obj, value) => {
|
|
372
|
-
obj.borderless = value;
|
|
373
|
-
} }, metadata: _metadata }, _borderless_initializers, _borderless_extraInitializers);
|
|
374
294
|
__esDecorate(_a, null, _set__state_decorators, { kind: "setter", name: "_state", static: false, private: false, access: { has: (obj) => "_state" in obj, set: (obj, value) => {
|
|
375
295
|
obj._state = value;
|
|
376
296
|
} }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
@@ -388,4 +308,4 @@ let SbbSelectionExpansionPanelElement = (() => {
|
|
|
388
308
|
export {
|
|
389
309
|
SbbSelectionExpansionPanelElement
|
|
390
310
|
};
|
|
391
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWV4cGFuc2lvbi1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9zZWxlY3Rpb24tZXhwYW5zaW9uLXBhbmVsL3NlbGVjdGlvbi1leHBhbnNpb24tcGFuZWwuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICBMaXRFbGVtZW50LFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkNoZWNrYm94R3JvdXBFbGVtZW50LCBTYmJDaGVja2JveFBhbmVsRWxlbWVudCB9IGZyb20gJy4uL2NoZWNrYm94LmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBzbG90U3RhdGUgfSBmcm9tICcuLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24gfSBmcm9tICcuLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBpMThuQ29sbGFwc2VkLCBpMThuRXhwYW5kZWQgfSBmcm9tICcuLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcGVuZWRDbG9zZWRTdGF0ZSwgU2JiU3RhdGVDaGFuZ2UgfSBmcm9tICcuLi9jb3JlL2ludGVyZmFjZXMuanMnO1xuaW1wb3J0IHsgU2JiSHlkcmF0aW9uTWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlJhZGlvQnV0dG9uR3JvdXBFbGVtZW50LCBTYmJSYWRpb0J1dHRvblBhbmVsRWxlbWVudCB9IGZyb20gJy4uL3JhZGlvLWJ1dHRvbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3NlbGVjdGlvbi1leHBhbnNpb24tcGFuZWwuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi9kaXZpZGVyLmpzJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBleHBhbmRhYmxlIHBhbmVsIGNvbm5lY3RlZCB0byBhIGBzYmItY2hlY2tib3hgIG9yIHRvIGEgYHNiYi1yYWRpby1idXR0b25gLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItY2hlY2tib3hgIG9yIGBzYmItcmFkaW8tYnV0dG9uYCBlbGVtZW50cyB0byB0aGUgYHNiYi1zZWxlY3Rpb24tZXhwYW5zaW9uLXBhbmVsYC5cbiAqIEBzbG90IGNvbnRlbnQgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgY3VzdG9tIGNvbnRlbnQgZm9yIHRoZSBwYW5lbCAob3B0aW9uYWwpLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItc2VsZWN0aW9uLWV4cGFuc2lvbi1wYW5lbCcpXG5Ac2xvdFN0YXRlKClcbmNsYXNzIFNiYlNlbGVjdGlvbkV4cGFuc2lvblBhbmVsRWxlbWVudCBleHRlbmRzIFNiYkh5ZHJhdGlvbk1peGluKExpdEVsZW1lbnQpIHtcbiAgLy8gVE9ETzogZml4IGluaGVyaXRpbmcgZnJvbSBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCByZXF1aXJlczogaHR0cHM6Ly9naXRodWIuY29tL29wZW4td2MvY3VzdG9tLWVsZW1lbnRzLW1hbmlmZXN0L2lzc3Vlcy8yNTNcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIGJlZm9yZW9wZW46ICdiZWZvcmVvcGVuJyxcbiAgICBvcGVuOiAnb3BlbicsXG4gICAgYmVmb3JlY2xvc2U6ICdiZWZvcmVjbG9zZScsXG4gICAgY2xvc2U6ICdjbG9zZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBwYW5lbC4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3IgY29sb3I6ICd3aGl0ZScgfCAnbWlsaycgPSAnd2hpdGUnO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBjb250ZW50IHNlY3Rpb24gaXMgYWx3YXlzIHZpc2libGUuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdmb3JjZS1vcGVuJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZm9yY2VPcGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHVuc2VsZWN0ZWQgcGFuZWwgaGFzIGEgYm9yZGVyLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYm9yZGVybGVzczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBUaGUgc3RhdGUgb2YgdGhlIHNlbGVjdGlvbiBwYW5lbC4gKi9cbiAgQHN0YXRlKClcbiAgcHJpdmF0ZSBzZXQgX3N0YXRlKHN0YXRlOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZSkge1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLXN0YXRlJywgc3RhdGUpO1xuICB9XG4gIHByaXZhdGUgZ2V0IF9zdGF0ZSgpOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLXN0YXRlJykgYXMgU2JiT3BlbmVkQ2xvc2VkU3RhdGU7XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgc2VsZWN0aW9uIHBhbmVsIGlzIGNoZWNrZWQuICovXG4gIHByaXZhdGUgc2V0IF9jaGVja2VkKGNoZWNrZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1jaGVja2VkJywgY2hlY2tlZCk7XG4gIH1cbiAgcHJpdmF0ZSBnZXQgX2NoZWNrZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzQXR0cmlidXRlKCdkYXRhLWNoZWNrZWQnKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBzZWxlY3Rpb24gcGFuZWwgaXMgZGlzYWJsZWQuICovXG4gIHByaXZhdGUgc2V0IF9kaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWRpc2FibGVkJywgZGlzYWJsZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9zaXplQXR0cmlidXRlT2JzZXJ2ZXIgPSAhaXNTZXJ2ZXJcbiAgICA/IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnNMaXN0OiBNdXRhdGlvblJlY29yZFtdKSA9PlxuICAgICAgICB0aGlzLl9vblNpemVBdHRyaWJ1dGVzQ2hhbmdlKG11dGF0aW9uc0xpc3QpLFxuICAgICAgKVxuICAgIDogbnVsbDtcblxuICAvKiogV2hldGhlciBpdCBoYXMgYW4gZXhwYW5kYWJsZSBjb250ZW50ICovXG4gIHByaXZhdGUgZ2V0IF9oYXNDb250ZW50KCk6IGJvb2xlYW4ge1xuICAgIC8vIFdlIGNhbm5vdCB1c2UgdGhlIE5hbWVkU2xvdHMgYmVjYXVzZSBpdCdzIHRvbyBzbG93IHRvIGluaXRpYWxpemVcbiAgICByZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ1tzbG90PVwiY29udGVudFwiXScpLmxlbmd0aCA+IDA7XG4gIH1cblxuICBwcml2YXRlIGdldCBfZ3JvdXAoKTogU2JiUmFkaW9CdXR0b25Hcm91cEVsZW1lbnQgfCBTYmJDaGVja2JveEdyb3VwRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmNsb3Nlc3QoJ3NiYi1yYWRpby1idXR0b24tZ3JvdXAsIHNiYi1jaGVja2JveC1ncm91cCcpIGFzXG4gICAgICB8IFNiYlJhZGlvQnV0dG9uR3JvdXBFbGVtZW50XG4gICAgICB8IFNiYkNoZWNrYm94R3JvdXBFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3BhbmVsY29ubmVjdGVkJywgKGUpID0+IHRoaXMuX2luaXRGcm9tSW5wdXQoZSkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICB0aGlzLl9zdGF0ZSB8fD0gJ2Nsb3NlZCc7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9zaXplQXR0cmlidXRlT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZm9yY2VPcGVuJykpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVN0YXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlU3RhdGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9oYXNDb250ZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZm9yY2VPcGVuIHx8IHRoaXMuX2NoZWNrZWQpIHtcbiAgICAgIHRoaXMuX29wZW4oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fY2xvc2UoKTtcbiAgICB9XG4gICAgdGhpcy5fdXBkYXRlRXhwYW5kZWRMYWJlbCh0aGlzLmZvcmNlT3BlbiB8fCB0aGlzLl9jaGVja2VkKTtcbiAgfVxuXG4gIHByaXZhdGUgX29wZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSAnY2xvc2VkJyAmJiB0aGlzLl9zdGF0ZSAhPT0gJ2Nsb3NpbmcnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSBjb250ZW50IHNlY3Rpb24gc3RhcnRzIHRoZSBvcGVuaW5nIHRyYW5zaXRpb24uICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnYmVmb3Jlb3BlbicsIHsgY2FuY2VsYWJsZTogdHJ1ZSB9KSk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAoIXRoaXMuaGFzVXBkYXRlZCB8fCB0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSAnb3BlbmVkJyAmJiB0aGlzLl9zdGF0ZSAhPT0gJ29wZW5pbmcnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc3RhdGUgPSAnY2xvc2luZyc7XG4gICAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSBjb250ZW50IHNlY3Rpb24gYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnYmVmb3JlY2xvc2UnLCB7IGNhbmNlbGFibGU6IHRydWUgfSkpO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYGNsb3NlZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLXNlbGVjdGlvbi1leHBhbnNpb24tcGFuZWwtYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NlZCc7XG4gICAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSBjb250ZW50IHNlY3Rpb24gaXMgY2xvc2VkLiAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2Nsb3NlJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgY29udGVudCBzZWN0aW9uIGlzIG9wZW5lZC4gKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdvcGVuJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdEZyb21JbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBTYmJDaGVja2JveFBhbmVsRWxlbWVudCB8IFNiYlJhZGlvQnV0dG9uUGFuZWxFbGVtZW50O1xuXG4gICAgdGhpcy5fY2hlY2tlZCA9IGlucHV0LmNoZWNrZWQ7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBpbnB1dC5kaXNhYmxlZDtcbiAgICB0aGlzLl9zaXplQXR0cmlidXRlT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAvLyBUaGUgc2l6ZSBvZiB0aGUgaW5uZXIgcGFuZWwgY2FuIGNoYW5nZSBkdWUgZGlyZWN0IGNoYW5nZSBvbiB0aGUgcGFuZWwgb3IgZHVlIHRvIGNoYW5nZSBvZiB0aGUgaW5wdXQtZ3JvdXAgc2l6ZS5cbiAgICB0aGlzLl9zaXplQXR0cmlidXRlT2JzZXJ2ZXI/Lm9ic2VydmUoaW5wdXQsIHsgYXR0cmlidXRlRmlsdGVyOiBbJ3NpemUnXSB9KTtcbiAgICB0aGlzLl91cGRhdGVTdGF0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgZGF0YS1zaXplIGluIHR3byBjYXNlczpcbiAgICogLSBpZiB0aGVyZSdzIG5vIGdyb3VwLCBzbyB0aGUgc2l6ZSBjaGFuZ2UgY29tZXMgZGlyZWN0bHkgZnJvbSBhIGNoYW5nZSBvbiB0aGUgaW5uZXIgcGFuZWw7XG4gICAqIC0gaWYgdGhlcmUncyBhIHdyYXBwZXIgZ3JvdXAgYW5kIGl0cyBzaXplIGNoYW5nZXMsIHN5bmNpbmcgaXQgd2l0aCB0aGUgcGFuZWwgc2l6ZS5cbiAgICpcbiAgICogT24gdGhlIG90aGVyIGhhbmQsIGlmIHRoZXJlJ3MgYSB3cmFwcGVyIGdyb3VwIGFuZCB0aGUgc2l6ZSBjaGFuZ2VzIG9uIHRoZSBpbm5lciBwYW5lbCwgdGhlIGRhdGEtc2l6ZSBkb2Vzbid0IGNoYW5nZS5cbiAgICovXG4gIHByaXZhdGUgX29uU2l6ZUF0dHJpYnV0ZXNDaGFuZ2UobXV0YXRpb25zTGlzdDogTXV0YXRpb25SZWNvcmRbXSk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgbXV0YXRpb24gb2YgbXV0YXRpb25zTGlzdCkge1xuICAgICAgaWYgKG11dGF0aW9uLmF0dHJpYnV0ZU5hbWUgPT09ICdzaXplJykge1xuICAgICAgICBjb25zdCBncm91cCA9IHRoaXMuX2dyb3VwO1xuICAgICAgICBjb25zdCBzaXplID0gKG11dGF0aW9uLnRhcmdldCBhcyBIVE1MRWxlbWVudCkuZ2V0QXR0cmlidXRlKCdzaXplJykhO1xuICAgICAgICBpZiAoIWdyb3VwIHx8IGdyb3VwLnNpemUgPT09IHNpemUpIHtcbiAgICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgnZGF0YS1zaXplJywgc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbklucHV0U3RhdGVDaGFuZ2UoZXZlbnQ6IEN1c3RvbUV2ZW50PFNiYlN0YXRlQ2hhbmdlPik6IHZvaWQge1xuICAgIGlmIChldmVudC5kZXRhaWwudHlwZSA9PT0gJ2Rpc2FibGVkJykge1xuICAgICAgdGhpcy5fZGlzYWJsZWQgPSBldmVudC5kZXRhaWwuZGlzYWJsZWQ7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmIChldmVudC5kZXRhaWwudHlwZSAhPT0gJ2NoZWNrZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fY2hlY2tlZCA9IGV2ZW50LmRldGFpbC5jaGVja2VkO1xuICAgIHRoaXMuX3VwZGF0ZVN0YXRlKCk7XG4gIH1cblxuICBwcml2YXRlIF9vbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4tb3BhY2l0eScgJiYgdGhpcy5fc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLl9zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfdXBkYXRlRXhwYW5kZWRMYWJlbChvcGVuOiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5oeWRyYXRpb25Db21wbGV0ZTtcblxuICAgIGNvbnN0IHBhbmVsRWxlbWVudCA9IHRoaXMucXVlcnlTZWxlY3RvcjxTYmJSYWRpb0J1dHRvblBhbmVsRWxlbWVudCB8IFNiYkNoZWNrYm94UGFuZWxFbGVtZW50PihcbiAgICAgICdzYmItcmFkaW8tYnV0dG9uLXBhbmVsLCBzYmItY2hlY2tib3gtcGFuZWwnLFxuICAgICk7XG4gICAgaWYgKCFwYW5lbEVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuX2hhc0NvbnRlbnQpIHtcbiAgICAgIHBhbmVsRWxlbWVudC5leHBhbnNpb25TdGF0ZSA9ICcnO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHBhbmVsRWxlbWVudC5leHBhbnNpb25TdGF0ZSA9IG9wZW5cbiAgICAgID8gJywgJyArIGkxOG5FeHBhbmRlZFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XVxuICAgICAgOiAnLCAnICsgaTE4bkNvbGxhcHNlZFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zZWxlY3Rpb24tZXhwYW5zaW9uLXBhbmVsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItc2VsZWN0aW9uLWV4cGFuc2lvbi1wYW5lbF9faW5wdXRcIiBAc3RhdGVjaGFuZ2U9JHt0aGlzLl9vbklucHV0U3RhdGVDaGFuZ2V9PlxuICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInNiYi1zZWxlY3Rpb24tZXhwYW5zaW9uLXBhbmVsX19jb250ZW50LS13cmFwcGVyXCJcbiAgICAgICAgICA/aW5lcnQ9JHt0aGlzLl9zdGF0ZSAhPT0gJ29wZW5lZCd9XG4gICAgICAgICAgQGFuaW1hdGlvbmVuZD0ke3RoaXMuX29uQW5pbWF0aW9uRW5kfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1zZWxlY3Rpb24tZXhwYW5zaW9uLXBhbmVsX19jb250ZW50XCI+XG4gICAgICAgICAgICA8c2JiLWRpdmlkZXI+PC9zYmItZGl2aWRlcj5cbiAgICAgICAgICAgIDxzbG90IG5hbWU9XCJjb250ZW50XCI+PC9zbG90PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zZWxlY3Rpb24tZXhwYW5zaW9uLXBhbmVsJzogU2JiU2VsZWN0aW9uRXhwYW5zaW9uUGFuZWxFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsic3RhdGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFnQ00scUNBQWlDLE1BQUE7O0FBRnRDLE1BQUEsbUJBQUEsQ0FBQSxjQUFjLCtCQUErQixHQUM3QyxXQUFXOzs7O29CQUNvQyxrQkFBa0IsVUFBVTs7Ozs7Ozs7Ozs7O0FBQXBDLEVBQUEsbUJBQVEsWUFBNkI7QUFBQSxJQWdFM0UsY0FBQTtBQUNF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
|
|
311
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWV4cGFuc2lvbi1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9zZWxlY3Rpb24tZXhwYW5zaW9uLXBhbmVsL3NlbGVjdGlvbi1leHBhbnNpb24tcGFuZWwuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB0eXBlIHsgU2JiQ2hlY2tib3hQYW5lbEVsZW1lbnQgfSBmcm9tICcuLi9jaGVja2JveC5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSwgc2xvdFN0YXRlIH0gZnJvbSAnLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uIH0gZnJvbSAnLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgaTE4bkNvbGxhcHNlZCwgaTE4bkV4cGFuZGVkIH0gZnJvbSAnLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiT3BlbmVkQ2xvc2VkU3RhdGUsIFNiYlN0YXRlQ2hhbmdlIH0gZnJvbSAnLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcbmltcG9ydCB7IFNiYkh5ZHJhdGlvbk1peGluLCBTYmJTZWxlY3Rpb25QYW5lbE1peGluIH0gZnJvbSAnLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJSYWRpb0J1dHRvblBhbmVsRWxlbWVudCB9IGZyb20gJy4uL3JhZGlvLWJ1dHRvbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3NlbGVjdGlvbi1leHBhbnNpb24tcGFuZWwuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi9kaXZpZGVyLmpzJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBleHBhbmRhYmxlIHBhbmVsIGNvbm5lY3RlZCB0byBhIGBzYmItY2hlY2tib3hgIG9yIHRvIGEgYHNiYi1yYWRpby1idXR0b25gLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItY2hlY2tib3hgIG9yIGBzYmItcmFkaW8tYnV0dG9uYCBlbGVtZW50cyB0byB0aGUgYHNiYi1zZWxlY3Rpb24tZXhwYW5zaW9uLXBhbmVsYC5cbiAqIEBzbG90IGNvbnRlbnQgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgY3VzdG9tIGNvbnRlbnQgZm9yIHRoZSBwYW5lbCAob3B0aW9uYWwpLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItc2VsZWN0aW9uLWV4cGFuc2lvbi1wYW5lbCcpXG5Ac2xvdFN0YXRlKClcbmNsYXNzIFNiYlNlbGVjdGlvbkV4cGFuc2lvblBhbmVsRWxlbWVudCBleHRlbmRzIFNiYlNlbGVjdGlvblBhbmVsTWl4aW4oXG4gIFNiYkh5ZHJhdGlvbk1peGluKExpdEVsZW1lbnQpLFxuKSB7XG4gIC8vIFRPRE86IGZpeCBpbmhlcml0aW5nIGZyb20gU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQgcmVxdWlyZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLXdjL2N1c3RvbS1lbGVtZW50cy1tYW5pZmVzdC9pc3N1ZXMvMjUzXG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBiZWZvcmVvcGVuOiAnYmVmb3Jlb3BlbicsXG4gICAgb3BlbjogJ29wZW4nLFxuICAgIGJlZm9yZWNsb3NlOiAnYmVmb3JlY2xvc2UnLFxuICAgIGNsb3NlOiAnY2xvc2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBjb250ZW50IHNlY3Rpb24gaXMgYWx3YXlzIHZpc2libGUuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdmb3JjZS1vcGVuJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZm9yY2VPcGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFRoZSBzdGF0ZSBvZiB0aGUgc2VsZWN0aW9uIHBhbmVsLiAqL1xuICBAc3RhdGUoKVxuICBwcml2YXRlIHNldCBfc3RhdGUoc3RhdGU6IFNiYk9wZW5lZENsb3NlZFN0YXRlKSB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2RhdGEtc3RhdGUnLCBzdGF0ZSk7XG4gIH1cbiAgcHJpdmF0ZSBnZXQgX3N0YXRlKCk6IFNiYk9wZW5lZENsb3NlZFN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3RhdGUnKSBhcyBTYmJPcGVuZWRDbG9zZWRTdGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICAvKiogV2hldGhlciBpdCBoYXMgYW4gZXhwYW5kYWJsZSBjb250ZW50ICovXG4gIHByaXZhdGUgZ2V0IF9oYXNDb250ZW50KCk6IGJvb2xlYW4ge1xuICAgIC8vIFdlIGNhbm5vdCB1c2UgdGhlIE5hbWVkU2xvdHMgYmVjYXVzZSBpdCdzIHRvbyBzbG93IHRvIGluaXRpYWxpemVcbiAgICByZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ1tzbG90PVwiY29udGVudFwiXScpLmxlbmd0aCA+IDA7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIHRoaXMuX3N0YXRlIHx8PSAnY2xvc2VkJztcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZm9yY2VPcGVuJykpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVN0YXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGluaXRGcm9tSW5wdXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgc3VwZXIuaW5pdEZyb21JbnB1dChldmVudCk7XG4gICAgdGhpcy5fdXBkYXRlU3RhdGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBvbklucHV0U3RhdGVDaGFuZ2UoZXZlbnQ6IEN1c3RvbUV2ZW50PFNiYlN0YXRlQ2hhbmdlPik6IHZvaWQge1xuICAgIHN1cGVyLm9uSW5wdXRTdGF0ZUNoYW5nZShldmVudCk7XG4gICAgdGhpcy5fdXBkYXRlU3RhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVN0YXRlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faGFzQ29udGVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZvcmNlT3BlbiB8fCB0aGlzLmNoZWNrZWQpIHtcbiAgICAgIHRoaXMuX29wZW4oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fY2xvc2UoKTtcbiAgICB9XG4gICAgdGhpcy5fdXBkYXRlRXhwYW5kZWRMYWJlbCh0aGlzLmZvcmNlT3BlbiB8fCB0aGlzLmNoZWNrZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3RhdGUgIT09ICdjbG9zZWQnICYmIHRoaXMuX3N0YXRlICE9PSAnY2xvc2luZycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9zdGF0ZSA9ICdvcGVuaW5nJztcbiAgICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbnRlbnQgc2VjdGlvbiBzdGFydHMgdGhlIG9wZW5pbmcgdHJhbnNpdGlvbi4gKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdiZWZvcmVvcGVuJywgeyBjYW5jZWxhYmxlOiB0cnVlIH0pKTtcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBvcGVuZWRgIHN0YXRlLlxuICAgIGlmICghdGhpcy5oYXNVcGRhdGVkIHx8IHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3RhdGUgIT09ICdvcGVuZWQnICYmIHRoaXMuX3N0YXRlICE9PSAnb3BlbmluZycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9zdGF0ZSA9ICdjbG9zaW5nJztcbiAgICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbnRlbnQgc2VjdGlvbiBiZWdpbnMgdGhlIGNsb3NpbmcgdHJhbnNpdGlvbi4gKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdiZWZvcmVjbG9zZScsIHsgY2FuY2VsYWJsZTogdHJ1ZSB9KSk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgY2xvc2VkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItc2VsZWN0aW9uLWV4cGFuc2lvbi1wYW5lbC1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnY2xvc2VkJztcbiAgICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbnRlbnQgc2VjdGlvbiBpcyBjbG9zZWQuICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2xvc2UnKSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ29wZW5lZCc7XG4gICAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSBjb250ZW50IHNlY3Rpb24gaXMgb3BlbmVkLiAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ29wZW4nKSk7XG4gIH1cblxuICBwcml2YXRlIF9vbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4tb3BhY2l0eScgJiYgdGhpcy5fc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLl9zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfdXBkYXRlRXhwYW5kZWRMYWJlbChvcGVuOiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5oeWRyYXRpb25Db21wbGV0ZTtcblxuICAgIGNvbnN0IHBhbmVsRWxlbWVudCA9IHRoaXMucXVlcnlTZWxlY3RvcjxTYmJSYWRpb0J1dHRvblBhbmVsRWxlbWVudCB8IFNiYkNoZWNrYm94UGFuZWxFbGVtZW50PihcbiAgICAgICdzYmItcmFkaW8tYnV0dG9uLXBhbmVsLCBzYmItY2hlY2tib3gtcGFuZWwnLFxuICAgICk7XG4gICAgaWYgKCFwYW5lbEVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuX2hhc0NvbnRlbnQpIHtcbiAgICAgIHBhbmVsRWxlbWVudC5leHBhbnNpb25TdGF0ZSA9ICcnO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHBhbmVsRWxlbWVudC5leHBhbnNpb25TdGF0ZSA9IG9wZW5cbiAgICAgID8gJywgJyArIGkxOG5FeHBhbmRlZFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XVxuICAgICAgOiAnLCAnICsgaTE4bkNvbGxhcHNlZFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zZWxlY3Rpb24tZXhwYW5zaW9uLXBhbmVsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItc2VsZWN0aW9uLWV4cGFuc2lvbi1wYW5lbF9faW5wdXRcIiBAc3RhdGVjaGFuZ2U9JHt0aGlzLm9uSW5wdXRTdGF0ZUNoYW5nZX0+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwic2JiLXNlbGVjdGlvbi1leHBhbnNpb24tcGFuZWxfX2NvbnRlbnQtLXdyYXBwZXJcIlxuICAgICAgICAgID9pbmVydD0ke3RoaXMuX3N0YXRlICE9PSAnb3BlbmVkJ31cbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25BbmltYXRpb25FbmR9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXNlbGVjdGlvbi1leHBhbnNpb24tcGFuZWxfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgIDxzYmItZGl2aWRlcj48L3NiYi1kaXZpZGVyPlxuICAgICAgICAgICAgPHNsb3QgbmFtZT1cImNvbnRlbnRcIj48L3Nsb3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXNlbGVjdGlvbi1leHBhbnNpb24tcGFuZWwnOiBTYmJTZWxlY3Rpb25FeHBhbnNpb25QYW5lbEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJzdGF0ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQStCTSxxQ0FBaUMsTUFBQTs7QUFGdEMsTUFBQSxtQkFBQSxDQUFBLGNBQWMsK0JBQStCLEdBQzdDLFdBQVc7Ozs7QUFDb0MsTUFBQSxjQUFBLHVCQUM5QyxrQkFBa0IsVUFBVSxDQUFDOzs7Ozs7QUFEUyxFQUFBLG1CQUFRLFlBRS9DO0FBQUE7O0FBYUM7QUFBZ0IseUJBQUEsOEJBZlosa0JBQUEs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
|
|
@@ -37,7 +37,10 @@ const buttonCommon = css`*,
|
|
|
37
37
|
var(--sbb-shadow-elevation-level-3-shadow-1-offset-x) var(--sbb-button-shadow-1-offset-y)
|
|
38
38
|
var(--sbb-button-shadow-1-blur) var(--sbb-shadow-elevation-level-3-shadow-1-spread)
|
|
39
39
|
var(--sbb-button-shadow-1-color);
|
|
40
|
+
--sbb-button-loading-border-width: var(--sbb-border-width-3x);
|
|
41
|
+
--sbb-button-loading-delay: 300ms;
|
|
40
42
|
--_width: unset;
|
|
43
|
+
--_min-height-modifier: 0rem;
|
|
41
44
|
--_border-color: var(--sbb-button-color-default-border);
|
|
42
45
|
--_background-color: var(--sbb-button-color-default-background);
|
|
43
46
|
--_color: var(--sbb-button-color-default-text);
|
|
@@ -59,6 +62,7 @@ const buttonCommon = css`*,
|
|
|
59
62
|
--sbb-button-color-active-background: Canvas !important;
|
|
60
63
|
--sbb-button-color-disabled-background: Canvas !important;
|
|
61
64
|
--sbb-button-color-disabled-text: GrayText !important;
|
|
65
|
+
--sbb-button-color-loading-border: Highlight !important;
|
|
62
66
|
--sbb-button-color-default-text: CanvasText !important;
|
|
63
67
|
--sbb-button-color-hover-text: CanvasText !important;
|
|
64
68
|
--sbb-button-color-active-text: CanvasText !important;
|
|
@@ -110,11 +114,11 @@ const buttonCommon = css`*,
|
|
|
110
114
|
|
|
111
115
|
:host(:where([data-slot-names~=icon], [icon-name]):not([data-slot-names~=unnamed])) {
|
|
112
116
|
--sbb-button-padding-inline: 0;
|
|
113
|
-
--_width: var(--sbb-button-min-height);
|
|
117
|
+
--_width: calc(var(--sbb-button-min-height) + var(--_min-height-modifier));
|
|
114
118
|
}
|
|
115
119
|
|
|
116
120
|
@media (any-hover: hover) {
|
|
117
|
-
:host(:not([disabled], :disabled, [disabled-interactive], :active, [data-active]):hover) {
|
|
121
|
+
:host(:not([disabled], :disabled, [disabled-interactive], :active, [data-active], [loading]):hover) {
|
|
118
122
|
--sbb-button-translate-y-content-hover: -0.0625rem;
|
|
119
123
|
--sbb-button-shadow-1-offset-y: calc(
|
|
120
124
|
0.5 * var(--sbb-shadow-elevation-level-3-shadow-1-offset-y)
|
|
@@ -129,7 +133,7 @@ const buttonCommon = css`*,
|
|
|
129
133
|
}
|
|
130
134
|
}
|
|
131
135
|
@media (forced-colors: active) {
|
|
132
|
-
:host(:not([disabled], :disabled, [disabled-interactive], :active, [data-active]):hover) {
|
|
136
|
+
:host(:not([disabled], :disabled, [disabled-interactive], :active, [data-active], [loading]):hover) {
|
|
133
137
|
--sbb-button-color-hover-border: Highlight !important;
|
|
134
138
|
}
|
|
135
139
|
}
|
|
@@ -143,12 +147,21 @@ const buttonCommon = css`*,
|
|
|
143
147
|
var(--_border-color);
|
|
144
148
|
}
|
|
145
149
|
|
|
146
|
-
:host(:not([disabled], :disabled, [disabled-interactive]):is(:active, [data-active])) {
|
|
150
|
+
:host(:not([disabled], :disabled, [disabled-interactive]):is(:active, [data-active], [loading])) {
|
|
147
151
|
--_color: var(--sbb-button-color-active-text);
|
|
148
152
|
--_background-color: var(--sbb-button-color-active-background);
|
|
149
153
|
--_border-color: var(--sbb-button-color-active-border);
|
|
150
154
|
}
|
|
151
155
|
|
|
156
|
+
:host([loading]:not([disabled], :disabled, [disabled-interactive])) {
|
|
157
|
+
--_min-height-modifier: calc(-2 * var(--sbb-button-loading-border-width));
|
|
158
|
+
--sbb-button-focus-outline-offset-override: calc(
|
|
159
|
+
var(--sbb-focus-outline-offset) + var(--sbb-button-loading-border-width)
|
|
160
|
+
);
|
|
161
|
+
--_border: none;
|
|
162
|
+
--_transform-style: preserve-3d;
|
|
163
|
+
}
|
|
164
|
+
|
|
152
165
|
.sbb-action-base {
|
|
153
166
|
--sbb-text-font-size: var(--sbb-font-size-text-xs);
|
|
154
167
|
font-family: var(--sbb-typo-font-family);
|
|
@@ -164,7 +177,7 @@ const buttonCommon = css`*,
|
|
|
164
177
|
text-align: left;
|
|
165
178
|
white-space: nowrap;
|
|
166
179
|
text-decoration: none;
|
|
167
|
-
min-height: var(--sbb-button-min-height);
|
|
180
|
+
min-height: calc(var(--sbb-button-min-height) + var(--_min-height-modifier));
|
|
168
181
|
outline: none;
|
|
169
182
|
width: var(--_width);
|
|
170
183
|
border-radius: var(--sbb-button-border-radius);
|
|
@@ -175,6 +188,7 @@ const buttonCommon = css`*,
|
|
|
175
188
|
transition-duration: var(--sbb-button-transition-duration);
|
|
176
189
|
transition-timing-function: var(--sbb-button-transition-easing-function);
|
|
177
190
|
transition-property: color, background-color;
|
|
191
|
+
transform-style: var(--_transform-style, flat);
|
|
178
192
|
padding-block: var(--sbb-button-padding-block-min);
|
|
179
193
|
padding-inline: var(--sbb-button-padding-inline);
|
|
180
194
|
position: relative;
|
|
@@ -191,9 +205,15 @@ const buttonCommon = css`*,
|
|
|
191
205
|
transition-timing-function: var(--sbb-button-transition-easing-function);
|
|
192
206
|
transition-property: inset, border, box-shadow;
|
|
193
207
|
}
|
|
208
|
+
:host([loading]:not([disabled], :disabled, [disabled-interactive])) .sbb-action-base {
|
|
209
|
+
margin: var(--sbb-button-loading-border-width);
|
|
210
|
+
padding-inline: calc(var(--sbb-button-padding-inline) - var(--sbb-button-loading-border-width));
|
|
211
|
+
transition-property: none;
|
|
212
|
+
}
|
|
194
213
|
:host([data-focus-visible]) .sbb-action-base::before, :host(:focus-visible) .sbb-action-base::before, .sbb-action-base:focus-visible::before {
|
|
195
214
|
outline-offset: var(--sbb-focus-outline-offset);
|
|
196
215
|
outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);
|
|
216
|
+
outline-offset: var(--sbb-button-focus-outline-offset-override, var(--sbb-focus-outline-offset));
|
|
197
217
|
}
|
|
198
218
|
|
|
199
219
|
.sbb-button__label {
|
|
@@ -210,6 +230,51 @@ const buttonCommon = css`*,
|
|
|
210
230
|
sbb-icon {
|
|
211
231
|
transition: translate var(--sbb-button-transition-duration) var(--sbb-button-transition-easing-function);
|
|
212
232
|
translate: 0 var(--sbb-button-translate-y-content-hover, 0);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
.sbb-button-loading-border {
|
|
236
|
+
position: absolute;
|
|
237
|
+
inset: calc(-1 * var(--sbb-button-loading-border-width));
|
|
238
|
+
clip-path: border-box;
|
|
239
|
+
border-radius: var(--sbb-button-border-radius);
|
|
240
|
+
background: var(--_background-color);
|
|
241
|
+
transform: translateZ(-1px);
|
|
242
|
+
z-index: -1;
|
|
243
|
+
container-type: inline-size;
|
|
244
|
+
contain: paint;
|
|
245
|
+
animation: background-fade-in var(--sbb-disable-animation-duration, var(--sbb-animation-duration-6x)) var(--sbb-disable-animation-duration, var(--sbb-button-loading-delay)) linear;
|
|
246
|
+
animation-fill-mode: forwards;
|
|
247
|
+
}
|
|
248
|
+
.sbb-button-loading-border::before {
|
|
249
|
+
content: "";
|
|
250
|
+
display: block;
|
|
251
|
+
width: 64cqmin;
|
|
252
|
+
max-height: var(--sbb-button-min-height);
|
|
253
|
+
aspect-ratio: 2/1;
|
|
254
|
+
position: absolute;
|
|
255
|
+
background: radial-gradient(100% 100% at right, var(--sbb-button-color-active-text), transparent 50%);
|
|
256
|
+
offset-path: border-box;
|
|
257
|
+
offset-anchor: 100% 50%;
|
|
258
|
+
opacity: 0;
|
|
259
|
+
animation: snake-fade-in var(--sbb-disable-animation-duration, calc(var(--sbb-animation-duration-12x) * 2)) var(--sbb-disable-animation-duration, calc(var(--sbb-button-loading-delay) + var(--sbb-animation-duration-5x))) var(--sbb-animation-easing), snake-position var(--sbb-disable-animation-duration, calc(max(tan(atan2(var(--sbb-button-width), 1px)) / 136, 0.5) * 3s)) infinite linear;
|
|
260
|
+
animation-fill-mode: forwards;
|
|
261
|
+
transform-style: preserve-3d;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
@keyframes snake-position {
|
|
265
|
+
to {
|
|
266
|
+
offset-distance: 100%;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
@keyframes snake-fade-in {
|
|
270
|
+
to {
|
|
271
|
+
opacity: 1;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
@keyframes background-fade-in {
|
|
275
|
+
to {
|
|
276
|
+
background: var(--sbb-button-color-loading-border);
|
|
277
|
+
}
|
|
213
278
|
}`;
|
|
214
279
|
const primaryButton = css`:host {
|
|
215
280
|
--sbb-button-color-active-background: var(--sbb-color-red150);
|
|
@@ -221,6 +286,11 @@ const primaryButton = css`:host {
|
|
|
221
286
|
--sbb-button-color-hover-background: var(--sbb-color-red125);
|
|
222
287
|
--sbb-button-color-hover-border: var(--sbb-color-red125);
|
|
223
288
|
--sbb-button-color-hover-text: var(--sbb-color-milk);
|
|
289
|
+
--sbb-button-color-loading-border: color-mix(
|
|
290
|
+
in srgb,
|
|
291
|
+
var(--sbb-button-color-active-background) 50%,
|
|
292
|
+
var(--sbb-color-white)
|
|
293
|
+
);
|
|
224
294
|
--sbb-button-shadow-1-color: var(--sbb-color-red-alpha-20);
|
|
225
295
|
--sbb-button-shadow-2-color: var(--sbb-color-red125-alpha-20);
|
|
226
296
|
}
|
|
@@ -235,11 +305,16 @@ const primaryButton = css`:host {
|
|
|
235
305
|
--sbb-button-color-hover-background: var(--sbb-color-red125);
|
|
236
306
|
--sbb-button-color-hover-border: var(--sbb-color-red125);
|
|
237
307
|
--sbb-button-color-hover-text: var(--sbb-color-milk);
|
|
308
|
+
--sbb-button-color-loading-border: color-mix(
|
|
309
|
+
in srgb,
|
|
310
|
+
var(--sbb-button-color-active-background) 70%,
|
|
311
|
+
var(--sbb-color-white)
|
|
312
|
+
);
|
|
238
313
|
--sbb-button-shadow-1-color: var(--sbb-color-red-alpha-60);
|
|
239
314
|
--sbb-button-shadow-2-color: var(--sbb-color-red125-alpha-60);
|
|
240
315
|
}
|
|
241
316
|
|
|
242
|
-
:host(:not([disabled], :disabled, [disabled-interactive], :active, [data-active])) {
|
|
317
|
+
:host(:not([disabled], :disabled, [disabled-interactive], :active, [data-active], [loading])) {
|
|
243
318
|
--sbb-button-box-shadow: var(--sbb-button-box-shadow-definition);
|
|
244
319
|
}`;
|
|
245
320
|
const secondaryButton = css`:host {
|
|
@@ -252,6 +327,7 @@ const secondaryButton = css`:host {
|
|
|
252
327
|
--sbb-button-color-hover-background: var(--sbb-color-white);
|
|
253
328
|
--sbb-button-color-hover-border: var(--sbb-color-cloud);
|
|
254
329
|
--sbb-button-color-hover-text: var(--sbb-color-iron);
|
|
330
|
+
--sbb-button-color-loading-border: var(--sbb-color-cloud);
|
|
255
331
|
--sbb-button-shadow-1-color: var(--sbb-color-platinum-alpha-20);
|
|
256
332
|
--sbb-button-shadow-2-color: var(--sbb-color-cement-alpha-20);
|
|
257
333
|
--sbb-button-border-overlap-fix: 0rem;
|
|
@@ -267,6 +343,7 @@ const secondaryButton = css`:host {
|
|
|
267
343
|
--sbb-button-color-hover-background: var(--sbb-color-midnight);
|
|
268
344
|
--sbb-button-color-hover-border: var(--sbb-color-iron);
|
|
269
345
|
--sbb-button-color-hover-text: var(--sbb-color-cloud);
|
|
346
|
+
--sbb-button-color-loading-border: var(--sbb-color-iron);
|
|
270
347
|
--sbb-button-shadow-1-color: var(--sbb-color-black-alpha-30);
|
|
271
348
|
--sbb-button-shadow-2-color: var(--sbb-color-black-alpha-30);
|
|
272
349
|
}
|
|
@@ -284,6 +361,7 @@ const accentButton = css`:host {
|
|
|
284
361
|
--sbb-button-color-hover-background: var(--sbb-color-charcoal);
|
|
285
362
|
--sbb-button-color-hover-border: var(--sbb-color-charcoal);
|
|
286
363
|
--sbb-button-color-hover-text: var(--sbb-color-milk);
|
|
364
|
+
--sbb-button-color-loading-border: var(--sbb-color-iron);
|
|
287
365
|
--sbb-button-shadow-1-color: var(--sbb-color-platinum-alpha-20);
|
|
288
366
|
--sbb-button-shadow-2-color: var(--sbb-color-cement-alpha-20);
|
|
289
367
|
}
|
|
@@ -298,11 +376,12 @@ const accentButton = css`:host {
|
|
|
298
376
|
--sbb-button-color-hover-background: var(--sbb-color-milk);
|
|
299
377
|
--sbb-button-color-hover-border: var(--sbb-color-milk);
|
|
300
378
|
--sbb-button-color-hover-text: var(--sbb-color-iron);
|
|
379
|
+
--sbb-button-color-loading-border: var(--sbb-color-silver);
|
|
301
380
|
--sbb-button-shadow-1-color: var(--sbb-color-black-alpha-30);
|
|
302
381
|
--sbb-button-shadow-2-color: var(--sbb-color-black-alpha-30);
|
|
303
382
|
}
|
|
304
383
|
|
|
305
|
-
:host(:not([disabled], :disabled, [disabled-interactive], :active, [data-active])) {
|
|
384
|
+
:host(:not([disabled], :disabled, [disabled-interactive], :active, [data-active], [loading])) {
|
|
306
385
|
--sbb-button-box-shadow: var(--sbb-button-box-shadow-definition);
|
|
307
386
|
}`;
|
|
308
387
|
const transparentButton = css`:host {
|
|
@@ -315,6 +394,7 @@ const transparentButton = css`:host {
|
|
|
315
394
|
--sbb-button-color-hover-background: var(--sbb-color-milk);
|
|
316
395
|
--sbb-button-color-hover-border: var(--sbb-color-milk);
|
|
317
396
|
--sbb-button-color-hover-text: var(--sbb-color-midnight);
|
|
397
|
+
--sbb-button-color-loading-border: var(--sbb-color-silver);
|
|
318
398
|
}
|
|
319
399
|
|
|
320
400
|
:host([negative]) {
|
|
@@ -327,6 +407,7 @@ const transparentButton = css`:host {
|
|
|
327
407
|
--sbb-button-color-hover-background: var(--sbb-color-charcoal);
|
|
328
408
|
--sbb-button-color-hover-border: var(--sbb-color-charcoal);
|
|
329
409
|
--sbb-button-color-hover-text: var(--sbb-color-white);
|
|
410
|
+
--sbb-button-color-loading-border: var(--sbb-color-granite);
|
|
330
411
|
}`;
|
|
331
412
|
export {
|
|
332
413
|
accentButton as a,
|
|
@@ -335,4 +416,4 @@ export {
|
|
|
335
416
|
secondaryButton as s,
|
|
336
417
|
transparentButton as t
|
|
337
418
|
};
|
|
338
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
419
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNwYXJlbnQtYnV0dG9uLUR1bjZiaDJHLmpzIiwic291cmNlcyI6W10sInNvdXJjZXNDb250ZW50IjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyJ9
|
|
@@ -20,6 +20,7 @@ export declare class SbbDialogElement extends SbbOverlayBaseElement {
|
|
|
20
20
|
private _dialogElement?;
|
|
21
21
|
private _isPointerDownEventOnDialog;
|
|
22
22
|
protected closeAttribute: string;
|
|
23
|
+
protected closeTag: string;
|
|
23
24
|
constructor();
|
|
24
25
|
connectedCallback(): void;
|
|
25
26
|
protected isZeroAnimationDuration(): boolean;
|
|
@@ -27,12 +28,13 @@ export declare class SbbDialogElement extends SbbOverlayBaseElement {
|
|
|
27
28
|
protected handleOpening(): void;
|
|
28
29
|
protected firstUpdated(changedProperties: PropertyValues<this>): void;
|
|
29
30
|
protected willUpdate(changedProperties: PropertyValues<this>): void;
|
|
30
|
-
private
|
|
31
|
+
private _syncTitleNegative;
|
|
31
32
|
/** Check if the pointerdown event target is triggered on the dialog. */
|
|
32
33
|
private _pointerDownListener;
|
|
33
34
|
/** Close dialog on backdrop click. */
|
|
34
35
|
private _closeOnBackdropClick;
|
|
35
|
-
private
|
|
36
|
+
private _updateOverflowState;
|
|
37
|
+
private _detectScrolledState;
|
|
36
38
|
protected render(): TemplateResult;
|
|
37
39
|
}
|
|
38
40
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/dialog/dialog/dialog.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAM1E,OAAO,EAAe,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAItE,OAAO,6BAA6B,CAAC;AAIrC;;;;;;;;GAQG;AACH,qBAEM,gBAAiB,SAAQ,qBAAqB;IAClD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,6BAA6B;IAC7B,SAA4D,cAAc,EAAE,OAAO,GAAG,MAAM,CAClF;IAEV,wBAAwB;IACxB,SAAoE,QAAQ,EACxE,QAAQ,GACR,aAAa,CAAY;IAM7B,OAAO,CAAC,4BAA4B,CAIjC;IAEH,OAAO,CAAC,qBAAqB,CAAC,CAAc;IAC5C,OAAO,CAAC,cAAc,CAAC,CAAc;IACrC,OAAO,CAAC,2BAA2B,CAAkB;IACrD,SAAS,CAAC,cAAc,EAAE,MAAM,CAAsB;;
|
|
1
|
+
{"version":3,"file":"dialog.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/dialog/dialog/dialog.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAM1E,OAAO,EAAe,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAItE,OAAO,6BAA6B,CAAC;AAIrC;;;;;;;;GAQG;AACH,qBAEM,gBAAiB,SAAQ,qBAAqB;IAClD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,6BAA6B;IAC7B,SAA4D,cAAc,EAAE,OAAO,GAAG,MAAM,CAClF;IAEV,wBAAwB;IACxB,SAAoE,QAAQ,EACxE,QAAQ,GACR,aAAa,CAAY;IAM7B,OAAO,CAAC,4BAA4B,CAIjC;IAEH,OAAO,CAAC,qBAAqB,CAAC,CAAc;IAC5C,OAAO,CAAC,cAAc,CAAC,CAAc;IACrC,OAAO,CAAC,2BAA2B,CAAkB;IACrD,SAAS,CAAC,cAAc,EAAE,MAAM,CAAsB;IACtD,UAAmB,QAAQ,EAAE,MAAM,CAA6B;;IAShD,iBAAiB,IAAI,IAAI;IAKzC,SAAS,CAAC,uBAAuB,IAAI,OAAO;IAI5C,SAAS,CAAC,aAAa,IAAI,IAAI;IA2B/B,SAAS,CAAC,aAAa,IAAI,IAAI;cAmBZ,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAM3D,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAQ5E,OAAO,CAAC,kBAAkB;IAa1B,wEAAwE;IACxE,OAAO,CAAC,oBAAoB,CAO1B;IAEF,sCAAsC;IACtC,OAAO,CAAC,qBAAqB,CAS3B;IAEF,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,oBAAoB;cAKT,MAAM,IAAI,cAAc;CA6B5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,YAAY,EAAE,gBAAgB,CAAC;KAChC;CACF"}
|