@sbb-esta/lyne-elements-dev 5.0.0-next-dev.1777014673 → 5.0.0-next-dev.1777021773
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/core/styles/core.scss +4 -1
- package/core.css +17 -8
- package/custom-elements.json +1177 -1177
- package/development/dialog/dialog/dialog.component.js +1 -1
- package/development/dialog.component-BTXyWi17.js +233 -0
- package/development/dialog.js +1 -1
- package/development/dialog.pure.js +1 -1
- package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
- package/development/file-selector/common/file-selector-common.js +1 -1
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
- package/development/file-selector-common-BX5f18cJ.js +409 -0
- package/development/file-selector-dropzone.component-DMNom2OW.js +110 -0
- package/development/file-selector.js +2 -2
- package/development/file-selector.pure.js +2 -2
- package/dialog/dialog/dialog.component.js +1 -1
- package/{dialog.component-DTbAHlVd.js → dialog.component-ChB9gCyY.js} +1 -1
- package/dialog.js +1 -1
- package/dialog.pure.js +1 -1
- package/file-selector/common/file-selector-common.js +1 -1
- package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
- package/{file-selector-common-DpccuOQ4.js → file-selector-common-CMLaHuDP.js} +38 -40
- package/{file-selector-dropzone.component-BSF-kegh.js → file-selector-dropzone.component-CWwpvAVD.js} +3 -4
- package/file-selector.js +2 -2
- package/file-selector.pure.js +2 -2
- package/off-brand-theme.css +17 -8
- package/package.json +2 -2
- package/safety-theme.css +17 -8
- package/standard-theme.css +17 -8
- package/development/dialog.component-B4cZfRCl.js +0 -233
- package/development/file-selector-common-DE_jT1fa.js +0 -411
- package/development/file-selector-dropzone.component-B1Y5qOjb.js +0 -111
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "../../dialog.component-
|
|
1
|
+
import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "../../dialog.component-BTXyWi17.js";
|
|
2
2
|
export { SbbDialogCloseEvent, SbbDialogElement, assignDialogResult };
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
+
import { unsafeCSS } from "lit";
|
|
3
|
+
import { property } from "lit/decorators.js";
|
|
4
|
+
import { SbbScreenReaderOnlyElement, boxSizingStyles, isZeroAnimationDuration } from "./core.js";
|
|
5
|
+
import { html as html$1 } from "lit/static-html.js";
|
|
6
|
+
import { ResizeController } from "@lit-labs/observers/resize-controller.js";
|
|
7
|
+
import { ref } from "lit/directives/ref.js";
|
|
8
|
+
import { SbbOverlayBaseElement, SbbOverlayCloseEvent, overlayRefs } from "./overlay.pure.js";
|
|
9
|
+
import { SbbOverlayCloseEvent as SbbDialogCloseEvent, assignOverlayResult as assignDialogResult } from "./overlay/overlay-base-element.js";
|
|
10
|
+
//#region src/elements/dialog/dialog/dialog.scss?inline
|
|
11
|
+
var dialog_default = ":host {\n --sbb-dialog-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-6x)\n );\n --sbb-dialog-padding-block: var(--sbb-spacing-responsive-xs);\n --sbb-dialog-shadow-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-4x)\n );\n display: none;\n position: fixed;\n inset: var(--sbb-dialog-inset);\n z-index: var(--sbb-dialog-z-index, var(--sbb-overlay-default-z-index));\n}\n\n:host(:is(:state(top-shadow),[state--top-shadow])) {\n --sbb-dialog-block-start-box-shadow: var(--_sbb-dialog-block-shadow);\n}\n\n:host(:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))) {\n display: block;\n}\n\n:host(:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]))) {\n --sbb-dialog-pointer-events: all;\n --sbb-dialog-backdrop-color: var(--sbb-background-color-3);\n --sbb-dialog-backdrop-visibility: visible;\n --sbb-dialog-backdrop-pointer-events: all;\n}\n\n:host([backdrop=translucent]:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]))) {\n --sbb-dialog-backdrop-color: color-mix(in srgb, var(--sbb-color-black) 50%, transparent);\n}\n\n:host([backdrop=opaque]:not([negative]):is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]))) {\n --sbb-dialog-backdrop-color: var(--sbb-background-color-3);\n}\n\n:host(:not([negative])) {\n --_sbb-dialog-color: var(--sbb-dialog-color);\n --_sbb-dialog-block-shadow: var(--sbb-dialog-block-shadow);\n --sbb-dialog-actions-border-color: var(--sbb-background-color-4);\n --sbb-dialog-background-color: var(--sbb-background-color-1);\n}\n\n:host([negative]) {\n --_sbb-dialog-color: var(--sbb-dialog-color-negative);\n --_sbb-dialog-block-shadow: var(--sbb-dialog-block-shadow-negative);\n --sbb-dialog-background-color: var(--sbb-background-color-1-negative);\n --sbb-dialog-actions-border-color: var(--sbb-background-color-4-negative);\n --sbb-dialog-backdrop-color: var(--sbb-background-color-3-negative);\n --sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);\n}\n\n:host(:is(:state(bottom-shadow),[state--bottom-shadow])) {\n --sbb-dialog-block-end-box-shadow: var(--_sbb-dialog-block-shadow);\n --sbb-dialog-actions-border-color: transparent;\n}\n\n:host(:not(:is(:state(state-closed),[state--state-closed]))) {\n --sbb-dialog-inset-block: 0;\n --sbb-dialog-inset-inline: 0;\n}\n\n.sbb-dialog__container {\n pointer-events: var(--sbb-dialog-pointer-events);\n display: flex;\n justify-content: center;\n align-items: center;\n position: fixed;\n inset-block: var(--sbb-dialog-inset-block);\n inset-inline: var(--sbb-dialog-inset-inline);\n}\n.sbb-dialog__container::before {\n content: \"\";\n visibility: var(--sbb-dialog-backdrop-visibility);\n pointer-events: var(--sbb-dialog-backdrop-pointer-events);\n position: fixed;\n inset-block: var(--sbb-dialog-inset-block);\n inset-inline: var(--sbb-dialog-inset-inline);\n background-color: var(--sbb-dialog-backdrop-color);\n transition-duration: var(--sbb-dialog-animation-duration);\n transition-timing-function: var(--sbb-dialog-animation-easing);\n transition-property: background-color, visibility;\n}\n\n.sbb-dialog {\n display: none;\n position: absolute;\n inset-inline: 0;\n inset-block: auto 0;\n border: none;\n border-radius: var(--sbb-dialog-border-radius) var(--sbb-dialog-border-radius) 0 0;\n max-width: var(--sbb-dialog-max-width);\n max-height: var(--sbb-dialog-max-height);\n color: var(--_sbb-dialog-color);\n background-color: var(--sbb-dialog-background-color);\n}\n:host(:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))) .sbb-dialog {\n display: block;\n animation-name: open;\n animation-duration: var(--sbb-dialog-animation-duration);\n animation-timing-function: ease;\n}\n:host(:is(:state(state-closing),[state--state-closing])) .sbb-dialog {\n pointer-events: none;\n animation-name: close;\n}\n@media (forced-colors: active) {\n .sbb-dialog {\n outline: var(--sbb-border-width-1x) solid CanvasText;\n }\n}\n@media (min-width: calc(37.5rem)) {\n .sbb-dialog {\n height: var(--sbb-dialog-height);\n width: var(--sbb-dialog-width);\n inset: unset;\n border-radius: var(--sbb-dialog-border-radius);\n overflow: hidden;\n }\n}\n\n:host(:is(:state(has-intermediate-element),[state--has-intermediate-element])) ::slotted(:first-child),\n.sbb-dialog__wrapper {\n max-height: var(--sbb-dialog-max-height);\n}\n@media (min-width: calc(37.5rem)) {\n :host(:is(:state(has-intermediate-element),[state--has-intermediate-element])) ::slotted(:first-child),\n .sbb-dialog__wrapper {\n width: var(--sbb-dialog-width);\n height: var(--sbb-dialog-height);\n }\n}\n\n:host(:is(:state(has-intermediate-element),[state--has-intermediate-element])) ::slotted(:first-child),\n:host(:not(:is(:state(has-intermediate-element),[state--has-intermediate-element]))) .sbb-dialog__wrapper {\n display: grid;\n grid-template: \"title close-button\" auto \"content content\" 1fr \"actions actions\" auto/1fr auto;\n gap: 0;\n}\n\n@keyframes open {\n from {\n opacity: 0;\n translate: 0 var(--sbb-dialog-translate-y, 100%);\n }\n to {\n opacity: 1;\n translate: 0 0;\n }\n}\n@keyframes close {\n from {\n opacity: 1;\n translate: 0 0;\n }\n to {\n opacity: 0;\n translate: 0 var(--sbb-dialog-translate-y, 100%);\n }\n}";
|
|
12
|
+
//#endregion
|
|
13
|
+
//#region src/elements/dialog/dialog/dialog.component.ts
|
|
14
|
+
/**
|
|
15
|
+
* It displays an interactive overlay element.
|
|
16
|
+
*
|
|
17
|
+
* @slot - Use the unnamed slot to provide a `sbb-dialog-title`, `sbb-dialog-content` and an optional `sbb-dialog-actions`.
|
|
18
|
+
* @cssprop [--sbb-dialog-z-index=var(--sbb-overlay-default-z-index)] - To specify a custom stack order,
|
|
19
|
+
* the `z-index` can be overridden by defining this CSS variable. The default `z-index` of the
|
|
20
|
+
* component is set to `var(--sbb-overlay-default-z-index)` with a value of `1000`.
|
|
21
|
+
*/
|
|
22
|
+
var SbbDialogElement = (() => {
|
|
23
|
+
let _classSuper = SbbOverlayBaseElement;
|
|
24
|
+
let _backdropAction_decorators;
|
|
25
|
+
let _backdropAction_initializers = [];
|
|
26
|
+
let _backdropAction_extraInitializers = [];
|
|
27
|
+
let _backdrop_decorators;
|
|
28
|
+
let _backdrop_initializers = [];
|
|
29
|
+
let _backdrop_extraInitializers = [];
|
|
30
|
+
return class SbbDialogElement extends _classSuper {
|
|
31
|
+
static {
|
|
32
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
33
|
+
_backdropAction_decorators = [property({ attribute: "backdrop-action" })];
|
|
34
|
+
_backdrop_decorators = [property({
|
|
35
|
+
attribute: "backdrop",
|
|
36
|
+
reflect: true
|
|
37
|
+
})];
|
|
38
|
+
__esDecorate(this, null, _backdropAction_decorators, {
|
|
39
|
+
kind: "accessor",
|
|
40
|
+
name: "backdropAction",
|
|
41
|
+
static: false,
|
|
42
|
+
private: false,
|
|
43
|
+
access: {
|
|
44
|
+
has: (obj) => "backdropAction" in obj,
|
|
45
|
+
get: (obj) => obj.backdropAction,
|
|
46
|
+
set: (obj, value) => {
|
|
47
|
+
obj.backdropAction = value;
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
metadata: _metadata
|
|
51
|
+
}, _backdropAction_initializers, _backdropAction_extraInitializers);
|
|
52
|
+
__esDecorate(this, null, _backdrop_decorators, {
|
|
53
|
+
kind: "accessor",
|
|
54
|
+
name: "backdrop",
|
|
55
|
+
static: false,
|
|
56
|
+
private: false,
|
|
57
|
+
access: {
|
|
58
|
+
has: (obj) => "backdrop" in obj,
|
|
59
|
+
get: (obj) => obj.backdrop,
|
|
60
|
+
set: (obj, value) => {
|
|
61
|
+
obj.backdrop = value;
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
metadata: _metadata
|
|
65
|
+
}, _backdrop_initializers, _backdrop_extraInitializers);
|
|
66
|
+
if (_metadata) Object.defineProperty(this, Symbol.metadata, {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
configurable: true,
|
|
69
|
+
writable: true,
|
|
70
|
+
value: _metadata
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
static {
|
|
74
|
+
this.elementName = "sbb-dialog";
|
|
75
|
+
}
|
|
76
|
+
static {
|
|
77
|
+
this.elementDependencies = [SbbScreenReaderOnlyElement];
|
|
78
|
+
}
|
|
79
|
+
static {
|
|
80
|
+
this.styles = [boxSizingStyles, unsafeCSS(dialog_default)];
|
|
81
|
+
}
|
|
82
|
+
#backdropAction_accessor_storage;
|
|
83
|
+
/** Backdrop click action. */
|
|
84
|
+
get backdropAction() {
|
|
85
|
+
return this.#backdropAction_accessor_storage;
|
|
86
|
+
}
|
|
87
|
+
set backdropAction(value) {
|
|
88
|
+
this.#backdropAction_accessor_storage = value;
|
|
89
|
+
}
|
|
90
|
+
#backdrop_accessor_storage;
|
|
91
|
+
/** Backdrop density. */
|
|
92
|
+
get backdrop() {
|
|
93
|
+
return this.#backdrop_accessor_storage;
|
|
94
|
+
}
|
|
95
|
+
set backdrop(value) {
|
|
96
|
+
this.#backdrop_accessor_storage = value;
|
|
97
|
+
}
|
|
98
|
+
constructor() {
|
|
99
|
+
super();
|
|
100
|
+
this.#backdropAction_accessor_storage = __runInitializers(this, _backdropAction_initializers, "close");
|
|
101
|
+
this.#backdrop_accessor_storage = (__runInitializers(this, _backdropAction_extraInitializers), __runInitializers(this, _backdrop_initializers, "opaque"));
|
|
102
|
+
this._dialogContentResizeObserver = (__runInitializers(this, _backdrop_extraInitializers), new ResizeController(this, {
|
|
103
|
+
target: null,
|
|
104
|
+
skipInitial: true,
|
|
105
|
+
callback: () => setTimeout(() => this._updateOverflowState())
|
|
106
|
+
}));
|
|
107
|
+
this._isPointerDownEventOnDialog = false;
|
|
108
|
+
this.closeAttribute = "sbb-dialog-close";
|
|
109
|
+
this.closeTag = "sbb-dialog-close-button";
|
|
110
|
+
/** Check if the pointerdown event target is triggered on the dialog. */
|
|
111
|
+
this._pointerDownListener = (event) => {
|
|
112
|
+
if (this.backdropAction !== "close") return;
|
|
113
|
+
this._isPointerDownEventOnDialog = !!this._dialogElement && event.composedPath().includes(this._dialogElement);
|
|
114
|
+
};
|
|
115
|
+
/** Close dialog on backdrop click. */
|
|
116
|
+
this._closeOnBackdropClick = (event) => {
|
|
117
|
+
if (this.backdropAction === "close" && !this._isPointerDownEventOnDialog && this._dialogElement && !event.composedPath().includes(this._dialogElement)) this.close();
|
|
118
|
+
};
|
|
119
|
+
this.addEventListener?.("pointerdown", this._pointerDownListener);
|
|
120
|
+
this.addEventListener?.("pointerup", this._closeOnBackdropClick);
|
|
121
|
+
this.addEventListener("scroll", () => this._updateOverflowState(), {
|
|
122
|
+
passive: true,
|
|
123
|
+
capture: true
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
/** Announce the accessibility label or dialog title for screen readers. */
|
|
127
|
+
announceTitle() {
|
|
128
|
+
this.setAriaLiveRefContent(this.accessibilityLabel || this.querySelector("sbb-dialog-title")?.textContent.trim());
|
|
129
|
+
}
|
|
130
|
+
isZeroAnimationDuration() {
|
|
131
|
+
return isZeroAnimationDuration(this, "--sbb-dialog-animation-duration");
|
|
132
|
+
}
|
|
133
|
+
handleClosing() {
|
|
134
|
+
const contentElement = this._contentElement();
|
|
135
|
+
contentElement?.scrollTo(0, 0);
|
|
136
|
+
this.state = "closed";
|
|
137
|
+
this.hidePopover?.();
|
|
138
|
+
this.inertController.deactivate();
|
|
139
|
+
if (!this.skipFocusRestoration) this.lastFocusedElement?.focus();
|
|
140
|
+
this.openOverlayController?.abort();
|
|
141
|
+
this.focusTrapController.enabled = false;
|
|
142
|
+
if (contentElement) this._dialogContentResizeObserver.hostDisconnected();
|
|
143
|
+
this.removeInstanceFromGlobalCollection();
|
|
144
|
+
if (!overlayRefs.length) this.scrollHandler.enableScroll();
|
|
145
|
+
this.escapableOverlayController.disconnect();
|
|
146
|
+
this.dispatchCloseEvent({
|
|
147
|
+
returnValue: this.returnValue,
|
|
148
|
+
closeTarget: this.overlayCloseElement
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
handleOpening() {
|
|
152
|
+
this.state = "opened";
|
|
153
|
+
this.inertController.activate();
|
|
154
|
+
this.focusTrapController.focusInitialElement();
|
|
155
|
+
this.focusTrapController.enabled = true;
|
|
156
|
+
setTimeout(() => this.announceTitle());
|
|
157
|
+
const contentElement = this._contentElement();
|
|
158
|
+
if (contentElement) this._dialogContentResizeObserver.observe(contentElement);
|
|
159
|
+
this.dispatchOpenEvent();
|
|
160
|
+
}
|
|
161
|
+
firstUpdated(changedProperties) {
|
|
162
|
+
super.firstUpdated(changedProperties);
|
|
163
|
+
if (this.isOpen) this.announceTitle();
|
|
164
|
+
this._syncTitleNegative();
|
|
165
|
+
}
|
|
166
|
+
willUpdate(changedProperties) {
|
|
167
|
+
super.willUpdate(changedProperties);
|
|
168
|
+
if (changedProperties.has("negative")) this._syncTitleNegative();
|
|
169
|
+
}
|
|
170
|
+
_handleSlotChange() {
|
|
171
|
+
this._syncTitleNegative();
|
|
172
|
+
this._detectIntermediateElement();
|
|
173
|
+
}
|
|
174
|
+
_syncTitleNegative() {
|
|
175
|
+
const dialogTitle = this.querySelector?.("sbb-dialog-title");
|
|
176
|
+
const closeButton = this.querySelector?.("sbb-dialog-close-button");
|
|
177
|
+
if (dialogTitle) dialogTitle.negative = this.negative;
|
|
178
|
+
if (closeButton) closeButton.negative = this.negative;
|
|
179
|
+
}
|
|
180
|
+
_detectIntermediateElement() {
|
|
181
|
+
const hasNoExpectedDirectChildren = this.querySelector(":scope > :is(sbb-dialog-title, sbb-dialog-close-button, sbb-dialog-content, sbb-dialog-actions)") === null;
|
|
182
|
+
this.toggleState("has-intermediate-element", hasNoExpectedDirectChildren);
|
|
183
|
+
}
|
|
184
|
+
_updateOverflowState() {
|
|
185
|
+
const contentElement = this._contentElement();
|
|
186
|
+
this.toggleState("top-shadow", (contentElement?.scrollTop ?? 0) > 0);
|
|
187
|
+
this.toggleState("bottom-shadow", (contentElement?.scrollTop ?? 0) + (contentElement?.offsetHeight ?? 0) < (contentElement?.scrollHeight ?? 0));
|
|
188
|
+
}
|
|
189
|
+
_contentElement() {
|
|
190
|
+
return this.querySelector("sbb-dialog-content");
|
|
191
|
+
}
|
|
192
|
+
dispatchBeforeCloseEvent(_detail) {
|
|
193
|
+
/** @type {SbbDialogCloseEvent} Emits whenever the component begins the closing transition. Can be canceled. */
|
|
194
|
+
return this.dispatchEvent(new SbbOverlayCloseEvent("beforeclose", {
|
|
195
|
+
cancelable: true,
|
|
196
|
+
closeAttribute: this.closeAttribute,
|
|
197
|
+
closeTarget: this.overlayCloseElement,
|
|
198
|
+
result: this.returnValue
|
|
199
|
+
}));
|
|
200
|
+
}
|
|
201
|
+
dispatchCloseEvent(_detail) {
|
|
202
|
+
/** @type {SbbDialogCloseEvent} Emits whenever the component is closed. */
|
|
203
|
+
return this.dispatchEvent(new SbbOverlayCloseEvent("close", {
|
|
204
|
+
closeAttribute: this.closeAttribute,
|
|
205
|
+
closeTarget: this.overlayCloseElement,
|
|
206
|
+
result: this.returnValue
|
|
207
|
+
}));
|
|
208
|
+
}
|
|
209
|
+
render() {
|
|
210
|
+
return html$1`
|
|
211
|
+
<div class="sbb-dialog__container">
|
|
212
|
+
<div
|
|
213
|
+
@animationend=${this.onOverlayAnimationEnd}
|
|
214
|
+
class="sbb-dialog"
|
|
215
|
+
${ref((el) => this._dialogElement = el)}
|
|
216
|
+
>
|
|
217
|
+
<div
|
|
218
|
+
@click=${(event) => this.closeOnSbbOverlayCloseClick(event)}
|
|
219
|
+
class="sbb-dialog__wrapper"
|
|
220
|
+
>
|
|
221
|
+
<slot @slotchange=${() => this._handleSlotChange()}></slot>
|
|
222
|
+
</div>
|
|
223
|
+
</div>
|
|
224
|
+
</div>
|
|
225
|
+
<sbb-screen-reader-only aria-live="polite"></sbb-screen-reader-only>
|
|
226
|
+
`;
|
|
227
|
+
}
|
|
228
|
+
};
|
|
229
|
+
})();
|
|
230
|
+
//#endregion
|
|
231
|
+
export { SbbDialogElement as n, assignDialogResult as r, SbbDialogCloseEvent as t };
|
|
232
|
+
|
|
233
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC1CVFh5V2kxNy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy9kaWFsb2cuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZGlhbG9nL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tNngpXG4gICk7XG4gIC0tc2JiLWRpYWxvZy1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXhzKTtcbiAgLS1zYmItZGlhbG9nLXNoYWRvdy1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IHZhcigtLXNiYi1kaWFsb2ctaW5zZXQpO1xuICB6LWluZGV4OiB2YXIoLS1zYmItZGlhbG9nLXotaW5kZXgsIHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCkpO1xufVxuXG46aG9zdCg6c3RhdGUodG9wLXNoYWRvdykpIHtcbiAgLS1zYmItZGlhbG9nLWJsb2NrLXN0YXJ0LWJveC1zaGFkb3c6IHZhcigtLV9zYmItZGlhbG9nLWJsb2NrLXNoYWRvdyk7XG59XG5cbjpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG46aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5pbmcpLCA6c3RhdGUoc3RhdGUtb3BlbmVkKSkpIHtcbiAgLS1zYmItZGlhbG9nLXBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMyk7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAtLXNiYi1kaWFsb2ctYmFja2Ryb3AtcG9pbnRlci1ldmVudHM6IGFsbDtcbn1cblxuOmhvc3QoW2JhY2tkcm9wPSd0cmFuc2x1Y2VudCddOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCkpKSB7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNiYi1jb2xvci1ibGFjaykgNTAlLCB0cmFuc3BhcmVudCk7XG59XG5cbjpob3N0KFtiYWNrZHJvcD0nb3BhcXVlJ106bm90KFtuZWdhdGl2ZV0pOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCkpKSB7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMyk7XG59XG5cbjpob3N0KDpub3QoW25lZ2F0aXZlXSkpIHtcbiAgLS1fc2JiLWRpYWxvZy1jb2xvcjogdmFyKC0tc2JiLWRpYWxvZy1jb2xvcik7XG4gIC0tX3NiYi1kaWFsb2ctYmxvY2stc2hhZG93OiB2YXIoLS1zYmItZGlhbG9nLWJsb2NrLXNoYWRvdyk7XG4gIC0tc2JiLWRpYWxvZy1hY3Rpb25zLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItNCk7XG4gIC0tc2JiLWRpYWxvZy1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0xKTtcbn1cblxuOmhvc3QoW25lZ2F0aXZlXSkge1xuICAtLV9zYmItZGlhbG9nLWNvbG9yOiB2YXIoLS1zYmItZGlhbG9nLWNvbG9yLW5lZ2F0aXZlKTtcbiAgLS1fc2JiLWRpYWxvZy1ibG9jay1zaGFkb3c6IHZhcigtLXNiYi1kaWFsb2ctYmxvY2stc2hhZG93LW5lZ2F0aXZlKTtcbiAgLS1zYmItZGlhbG9nLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEtbmVnYXRpdmUpO1xuICAtLXNiYi1kaWFsb2ctYWN0aW9ucy1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTQtbmVnYXRpdmUpO1xuICAtLXNiYi1kaWFsb2ctYmFja2Ryb3AtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMtbmVnYXRpdmUpO1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kYXJrKTtcbn1cblxuOmhvc3QoOnN0YXRlKGJvdHRvbS1zaGFkb3cpKSB7XG4gIC0tc2JiLWRpYWxvZy1ibG9jay1lbmQtYm94LXNoYWRvdzogdmFyKC0tX3NiYi1kaWFsb2ctYmxvY2stc2hhZG93KTtcbiAgLS1zYmItZGlhbG9nLWFjdGlvbnMtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUoc3RhdGUtY2xvc2VkKSkpIHtcbiAgLS1zYmItZGlhbG9nLWluc2V0LWJsb2NrOiAwO1xuICAtLXNiYi1kaWFsb2ctaW5zZXQtaW5saW5lOiAwO1xufVxuXG4uc2JiLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi1kaWFsb2ctcG9pbnRlci1ldmVudHMpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldC1ibG9jazogdmFyKC0tc2JiLWRpYWxvZy1pbnNldC1ibG9jayk7XG4gIGluc2V0LWlubGluZTogdmFyKC0tc2JiLWRpYWxvZy1pbnNldC1pbmxpbmUpO1xuXG4gIC8vIERpYWxvZyBiYWNrZHJvcCAobm90IHZpc2libGUgb24gbW9iaWxlKVxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHZpc2liaWxpdHk6IHZhcigtLXNiYi1kaWFsb2ctYmFja2Ryb3AtdmlzaWJpbGl0eSk7XG4gICAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi1kaWFsb2ctYmFja2Ryb3AtcG9pbnRlci1ldmVudHMpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldC1ibG9jazogdmFyKC0tc2JiLWRpYWxvZy1pbnNldC1ibG9jayk7XG4gICAgaW5zZXQtaW5saW5lOiB2YXIoLS1zYmItZGlhbG9nLWluc2V0LWlubGluZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWRpYWxvZy1iYWNrZHJvcC1jb2xvcik7XG4gICAgdHJhbnNpdGlvbjoge1xuICAgICAgZHVyYXRpb246IHZhcigtLXNiYi1kaWFsb2ctYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLWRpYWxvZy1hbmltYXRpb24tZWFzaW5nKTtcbiAgICAgIHByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCB2aXNpYmlsaXR5O1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLWRpYWxvZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQtaW5saW5lOiAwO1xuICBpbnNldC1ibG9jazogYXV0byAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1kaWFsb2ctYm9yZGVyLXJhZGl1cykgdmFyKC0tc2JiLWRpYWxvZy1ib3JkZXItcmFkaXVzKSAwIDA7XG4gIG1heC13aWR0aDogdmFyKC0tc2JiLWRpYWxvZy1tYXgtd2lkdGgpO1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1zYmItZGlhbG9nLW1heC1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tX3NiYi1kaWFsb2ctY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItZGlhbG9nLWJhY2tncm91bmQtY29sb3IpO1xuXG4gIDpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGFuaW1hdGlvbjoge1xuICAgICAgbmFtZTogb3BlbjtcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItZGlhbG9nLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBhbmltYXRpb24tbmFtZTogY2xvc2U7XG4gIH1cblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgb3V0bGluZTogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCkgc29saWQgQ2FudmFzVGV4dDtcbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogc21hbGwpIHtcbiAgICBoZWlnaHQ6IHZhcigtLXNiYi1kaWFsb2ctaGVpZ2h0KTtcbiAgICB3aWR0aDogdmFyKC0tc2JiLWRpYWxvZy13aWR0aCk7XG4gICAgaW5zZXQ6IHVuc2V0O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1kaWFsb2ctYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUoaGFzLWludGVybWVkaWF0ZS1lbGVtZW50KSkgOjpzbG90dGVkKDpmaXJzdC1jaGlsZCksXG4uc2JiLWRpYWxvZ19fd3JhcHBlciB7XG4gIG1heC1oZWlnaHQ6IHZhcigtLXNiYi1kaWFsb2ctbWF4LWhlaWdodCk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIHdpZHRoOiB2YXIoLS1zYmItZGlhbG9nLXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNiYi1kaWFsb2ctaGVpZ2h0KTtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUoaGFzLWludGVybWVkaWF0ZS1lbGVtZW50KSkgOjpzbG90dGVkKDpmaXJzdC1jaGlsZCksXG46aG9zdCg6bm90KDpzdGF0ZShoYXMtaW50ZXJtZWRpYXRlLWVsZW1lbnQpKSkgLnNiYi1kaWFsb2dfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlOlxuICAgICd0aXRsZSBjbG9zZS1idXR0b24nIGF1dG9cbiAgICAnY29udGVudCBjb250ZW50JyAxZnJcbiAgICAnYWN0aW9ucyBhY3Rpb25zJyBhdXRvIC8gMWZyIGF1dG87XG4gIGdhcDogMDtcbn1cblxuLy8gSXQgaXMgbmVjZXNzYXJ5IHRvIHVzZSBhbmltYXRpb25zIHdpdGgga2V5ZnJhbWVzIGluc3RlYWQgb2YgdHJhbnNpdGlvbnMgaW4gb3JkZXIgbm90IHRvIGFsdGVyXG4vLyB0aGUgZGVmYXVsdCBgZGlzcGxheTogYmxvY2tgIG9mIHRoZSBtb2RhbCBvdGhlcndpc2UgaXQgY2F1c2VzIHNldmVyYWwgcHJvYmxlbXMsXG4vLyBlc3BlY2lhbGx5IGZvciBhY2Nlc3NpYmlsaXR5LlxuQGtleWZyYW1lcyBvcGVuIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2xhdGU6IDAgdmFyKC0tc2JiLWRpYWxvZy10cmFuc2xhdGUteSwgMTAwJSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDAgMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNsb3NlIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDAgMDtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zbGF0ZTogMCB2YXIoLS1zYmItZGlhbG9nLXRyYW5zbGF0ZS15LCAxMDAlKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCwgdW5zYWZlQ1NTIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkVsZW1lbnRUeXBlLCBTYmJPdmVybGF5Q2xvc2VFdmVudERldGFpbHMgfSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7XG4gIGJveFNpemluZ1N0eWxlcyxcbiAgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24sXG4gIFNiYlNjcmVlblJlYWRlck9ubHlFbGVtZW50LFxufSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7XG4gIG92ZXJsYXlSZWZzLFxuICBTYmJPdmVybGF5QmFzZUVsZW1lbnQsXG4gIFNiYk92ZXJsYXlDbG9zZUV2ZW50IGFzIFNiYkRpYWxvZ0Nsb3NlRXZlbnQsXG59IGZyb20gJy4uLy4uL292ZXJsYXkucHVyZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkRpYWxvZ0NvbnRlbnRFbGVtZW50IH0gZnJvbSAnLi4vZGlhbG9nLWNvbnRlbnQvZGlhbG9nLWNvbnRlbnQuY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZGlhbG9nLnNjc3M/aW5saW5lJztcblxuZXhwb3J0IHtcbiAgYXNzaWduT3ZlcmxheVJlc3VsdCBhcyBhc3NpZ25EaWFsb2dSZXN1bHQsXG4gIFNiYk92ZXJsYXlDbG9zZUV2ZW50IGFzIFNiYkRpYWxvZ0Nsb3NlRXZlbnQsXG59IGZyb20gJy4uLy4uL292ZXJsYXkvb3ZlcmxheS1iYXNlLWVsZW1lbnQudHMnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGludGVyYWN0aXZlIG92ZXJsYXkgZWxlbWVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIHByb3ZpZGUgYSBgc2JiLWRpYWxvZy10aXRsZWAsIGBzYmItZGlhbG9nLWNvbnRlbnRgIGFuZCBhbiBvcHRpb25hbCBgc2JiLWRpYWxvZy1hY3Rpb25zYC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1kaWFsb2ctei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnQgY2xhc3MgU2JiRGlhbG9nRWxlbWVudCBleHRlbmRzIFNiYk92ZXJsYXlCYXNlRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItZGlhbG9nJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBlbGVtZW50RGVwZW5kZW5jaWVzOiBTYmJFbGVtZW50VHlwZVtdID0gW1NiYlNjcmVlblJlYWRlck9ubHlFbGVtZW50XTtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqIEJhY2tkcm9wIGNsaWNrIGFjdGlvbi4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYmFja2Ryb3AtYWN0aW9uJyB9KSBwdWJsaWMgYWNjZXNzb3IgYmFja2Ryb3BBY3Rpb246ICdjbG9zZScgfCAnbm9uZScgPVxuICAgICdjbG9zZSc7XG5cbiAgLyoqIEJhY2tkcm9wIGRlbnNpdHkuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2JhY2tkcm9wJywgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3IgYmFja2Ryb3A6XG4gICAgfCAnb3BhcXVlJ1xuICAgIHwgJ3RyYW5zbHVjZW50JyA9ICdvcGFxdWUnO1xuXG4gIC8vIFdlIHVzZSBhIHRpbWVvdXQgYXMgYSB3b3JrYXJvdW5kIHRvIHRoZSBcIlJlc2l6ZU9ic2VydmVyIGxvb3AgY29tcGxldGVkIHdpdGggdW5kZWxpdmVyZWQgbm90aWZpY2F0aW9uc1wiIGVycm9yLlxuICAvLyBGb3IgbW9yZSBkZXRhaWxzOlxuICAvLyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL3Jlc2l6ZS1vYnNlcnZlci9pc3N1ZXMvMzgjaXNzdWVjb21tZW50LTQyMjEyNjAwNlxuICAvLyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9qdWdnbGUvcmVzaXplLW9ic2VydmVyL2lzc3Vlcy8xMDMjaXNzdWVjb21tZW50LTE3MTExNDgyODVcbiAgcHJpdmF0ZSBfZGlhbG9nQ29udGVudFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKCkgPT4gc2V0VGltZW91dCgoKSA9PiB0aGlzLl91cGRhdGVPdmVyZmxvd1N0YXRlKCkpLFxuICB9KTtcblxuICBwcml2YXRlIF9kaWFsb2dFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX2lzUG9pbnRlckRvd25FdmVudE9uRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBjbG9zZUF0dHJpYnV0ZTogc3RyaW5nID0gJ3NiYi1kaWFsb2ctY2xvc2UnO1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2xvc2VUYWc6IHN0cmluZyA9ICdzYmItZGlhbG9nLWNsb3NlLWJ1dHRvbic7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgLy8gQ2xvc2UgZGlhbG9nIG9uIGJhY2tkcm9wIGNsaWNrXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3BvaW50ZXJkb3duJywgdGhpcy5fcG9pbnRlckRvd25MaXN0ZW5lcik7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3BvaW50ZXJ1cCcsIHRoaXMuX2Nsb3NlT25CYWNrZHJvcENsaWNrKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsICgpID0+IHRoaXMuX3VwZGF0ZU92ZXJmbG93U3RhdGUoKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIGNhcHR1cmU6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvKiogQW5ub3VuY2UgdGhlIGFjY2Vzc2liaWxpdHkgbGFiZWwgb3IgZGlhbG9nIHRpdGxlIGZvciBzY3JlZW4gcmVhZGVycy4gKi9cbiAgcHVibGljIGFubm91bmNlVGl0bGUoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRBcmlhTGl2ZVJlZkNvbnRlbnQoXG4gICAgICB0aGlzLmFjY2Vzc2liaWxpdHlMYWJlbCB8fCB0aGlzLnF1ZXJ5U2VsZWN0b3IoJ3NiYi1kaWFsb2ctdGl0bGUnKT8udGV4dENvbnRlbnQudHJpbSgpLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1kaWFsb2ctYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICBjb25zdCBjb250ZW50RWxlbWVudCA9IHRoaXMuX2NvbnRlbnRFbGVtZW50KCk7XG5cbiAgICBjb250ZW50RWxlbWVudD8uc2Nyb2xsVG8oMCwgMCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMuaGlkZVBvcG92ZXI/LigpO1xuXG4gICAgdGhpcy5pbmVydENvbnRyb2xsZXIuZGVhY3RpdmF0ZSgpO1xuICAgIGlmICghdGhpcy5za2lwRm9jdXNSZXN0b3JhdGlvbikge1xuICAgICAgLy8gTWFudWFsbHkgZm9jdXMgbGFzdCBmb2N1c2VkIGVsZW1lbnRcbiAgICAgIHRoaXMubGFzdEZvY3VzZWRFbGVtZW50Py5mb2N1cygpO1xuICAgIH1cbiAgICB0aGlzLm9wZW5PdmVybGF5Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLmZvY3VzVHJhcENvbnRyb2xsZXIuZW5hYmxlZCA9IGZhbHNlO1xuICAgIGlmIChjb250ZW50RWxlbWVudCkge1xuICAgICAgdGhpcy5fZGlhbG9nQ29udGVudFJlc2l6ZU9ic2VydmVyLmhvc3REaXNjb25uZWN0ZWQoKTtcbiAgICB9XG4gICAgdGhpcy5yZW1vdmVJbnN0YW5jZUZyb21HbG9iYWxDb2xsZWN0aW9uKCk7XG4gICAgLy8gRW5hYmxlIHNjcm9sbGluZyBmb3IgY29udGVudCBiZWxvdyB0aGUgZGlhbG9nIGlmIG5vIGRpYWxvZyBpcyBvcGVuXG4gICAgaWYgKCFvdmVybGF5UmVmcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgICB9XG4gICAgdGhpcy5lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5kaXNwYXRjaENsb3NlRXZlbnQoe1xuICAgICAgcmV0dXJuVmFsdWU6IHRoaXMucmV0dXJuVmFsdWUsXG4gICAgICBjbG9zZVRhcmdldDogdGhpcy5vdmVybGF5Q2xvc2VFbGVtZW50LFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuaW5lcnRDb250cm9sbGVyLmFjdGl2YXRlKCk7XG4gICAgdGhpcy5mb2N1c1RyYXBDb250cm9sbGVyLmZvY3VzSW5pdGlhbEVsZW1lbnQoKTtcbiAgICB0aGlzLmZvY3VzVHJhcENvbnRyb2xsZXIuZW5hYmxlZCA9IHRydWU7XG4gICAgLy8gVXNlIHRpbWVvdXQgdG8gcmVhZCBsYWJlbCBhZnRlciBmb2N1c2VkIGVsZW1lbnRcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuYW5ub3VuY2VUaXRsZSgpKTtcblxuICAgIGNvbnN0IGNvbnRlbnRFbGVtZW50ID0gdGhpcy5fY29udGVudEVsZW1lbnQoKTtcbiAgICBpZiAoY29udGVudEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2RpYWxvZ0NvbnRlbnRSZXNpemVPYnNlcnZlci5vYnNlcnZlKGNvbnRlbnRFbGVtZW50KTtcbiAgICB9XG4gICAgdGhpcy5kaXNwYXRjaE9wZW5FdmVudCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgLy8gSWYgdGhlIGNvbXBvbmVudCBpcyBhbHJlYWR5IG9wZW4gb24gZmlyc3RVcGRhdGUsIGFubm91bmNlIHRoZSB0aXRsZVxuICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgdGhpcy5hbm5vdW5jZVRpdGxlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fc3luY1RpdGxlTmVnYXRpdmUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbmVnYXRpdmUnKSkge1xuICAgICAgdGhpcy5fc3luY1RpdGxlTmVnYXRpdmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVTbG90Q2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuX3N5bmNUaXRsZU5lZ2F0aXZlKCk7XG4gICAgdGhpcy5fZGV0ZWN0SW50ZXJtZWRpYXRlRWxlbWVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3luY1RpdGxlTmVnYXRpdmUoKTogdm9pZCB7XG4gICAgY29uc3QgZGlhbG9nVGl0bGUgPSB0aGlzLnF1ZXJ5U2VsZWN0b3I/Lignc2JiLWRpYWxvZy10aXRsZScpO1xuICAgIGNvbnN0IGNsb3NlQnV0dG9uID0gdGhpcy5xdWVyeVNlbGVjdG9yPy4oJ3NiYi1kaWFsb2ctY2xvc2UtYnV0dG9uJyk7XG5cbiAgICBpZiAoZGlhbG9nVGl0bGUpIHtcbiAgICAgIGRpYWxvZ1RpdGxlLm5lZ2F0aXZlID0gdGhpcy5uZWdhdGl2ZTtcbiAgICB9XG5cbiAgICBpZiAoY2xvc2VCdXR0b24pIHtcbiAgICAgIGNsb3NlQnV0dG9uLm5lZ2F0aXZlID0gdGhpcy5uZWdhdGl2ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9kZXRlY3RJbnRlcm1lZGlhdGVFbGVtZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IGhhc05vRXhwZWN0ZWREaXJlY3RDaGlsZHJlbiA9XG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICc6c2NvcGUgPiA6aXMoc2JiLWRpYWxvZy10aXRsZSwgc2JiLWRpYWxvZy1jbG9zZS1idXR0b24sIHNiYi1kaWFsb2ctY29udGVudCwgc2JiLWRpYWxvZy1hY3Rpb25zKScsXG4gICAgICApID09PSBudWxsO1xuXG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnaGFzLWludGVybWVkaWF0ZS1lbGVtZW50JywgaGFzTm9FeHBlY3RlZERpcmVjdENoaWxkcmVuKTtcbiAgfVxuXG4gIC8qKiBDaGVjayBpZiB0aGUgcG9pbnRlcmRvd24gZXZlbnQgdGFyZ2V0IGlzIHRyaWdnZXJlZCBvbiB0aGUgZGlhbG9nLiAqL1xuICBwcml2YXRlIF9wb2ludGVyRG93bkxpc3RlbmVyID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy5iYWNrZHJvcEFjdGlvbiAhPT0gJ2Nsb3NlJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uRGlhbG9nID1cbiAgICAgICEhdGhpcy5fZGlhbG9nRWxlbWVudCAmJiBldmVudC5jb21wb3NlZFBhdGgoKS5pbmNsdWRlcyh0aGlzLl9kaWFsb2dFbGVtZW50KTtcbiAgfTtcblxuICAvKiogQ2xvc2UgZGlhbG9nIG9uIGJhY2tkcm9wIGNsaWNrLiAqL1xuICBwcml2YXRlIF9jbG9zZU9uQmFja2Ryb3BDbGljayA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5iYWNrZHJvcEFjdGlvbiA9PT0gJ2Nsb3NlJyAmJlxuICAgICAgIXRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uRGlhbG9nICYmXG4gICAgICB0aGlzLl9kaWFsb2dFbGVtZW50ICYmXG4gICAgICAhZXZlbnQuY29tcG9zZWRQYXRoKCkuaW5jbHVkZXModGhpcy5fZGlhbG9nRWxlbWVudClcbiAgICApIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBfdXBkYXRlT3ZlcmZsb3dTdGF0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBjb250ZW50RWxlbWVudCA9IHRoaXMuX2NvbnRlbnRFbGVtZW50KCk7XG4gICAgdGhpcy50b2dnbGVTdGF0ZSgndG9wLXNoYWRvdycsIChjb250ZW50RWxlbWVudD8uc2Nyb2xsVG9wID8/IDApID4gMCk7XG4gICAgdGhpcy50b2dnbGVTdGF0ZShcbiAgICAgICdib3R0b20tc2hhZG93JyxcbiAgICAgIChjb250ZW50RWxlbWVudD8uc2Nyb2xsVG9wID8/IDApICsgKGNvbnRlbnRFbGVtZW50Py5vZmZzZXRIZWlnaHQgPz8gMCkgPFxuICAgICAgICAoY29udGVudEVsZW1lbnQ/LnNjcm9sbEhlaWdodCA/PyAwKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29udGVudEVsZW1lbnQoKTogU2JiRGlhbG9nQ29udGVudEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yKCdzYmItZGlhbG9nLWNvbnRlbnQnKTtcbiAgfVxuXG4gIC8vIFRPRE86IHJlbW92ZSBwYXJhbWV0ZXIgYGRldGFpbGBcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGRpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudChfZGV0YWlsPzogU2JiT3ZlcmxheUNsb3NlRXZlbnREZXRhaWxzKTogYm9vbGVhbiB7XG4gICAgLyoqIEB0eXBlIHtTYmJEaWFsb2dDbG9zZUV2ZW50fSBFbWl0cyB3aGVuZXZlciB0aGUgY29tcG9uZW50IGJlZ2lucyB0aGUgY2xvc2luZyB0cmFuc2l0aW9uLiBDYW4gYmUgY2FuY2VsZWQuICovXG4gICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBTYmJEaWFsb2dDbG9zZUV2ZW50KCdiZWZvcmVjbG9zZScsIHtcbiAgICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgICAgY2xvc2VBdHRyaWJ1dGU6IHRoaXMuY2xvc2VBdHRyaWJ1dGUsXG4gICAgICAgIGNsb3NlVGFyZ2V0OiB0aGlzLm92ZXJsYXlDbG9zZUVsZW1lbnQsXG4gICAgICAgIHJlc3VsdDogdGhpcy5yZXR1cm5WYWx1ZSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICAvLyBUT0RPOiByZW1vdmUgcGFyYW1ldGVyIGBkZXRhaWxgXG4gIHByb3RlY3RlZCBvdmVycmlkZSBkaXNwYXRjaENsb3NlRXZlbnQoX2RldGFpbD86IFNiYk92ZXJsYXlDbG9zZUV2ZW50RGV0YWlscyk6IGJvb2xlYW4ge1xuICAgIC8qKiBAdHlwZSB7U2JiRGlhbG9nQ2xvc2VFdmVudH0gRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCBpcyBjbG9zZWQuICovXG4gICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBTYmJEaWFsb2dDbG9zZUV2ZW50KCdjbG9zZScsIHtcbiAgICAgICAgY2xvc2VBdHRyaWJ1dGU6IHRoaXMuY2xvc2VBdHRyaWJ1dGUsXG4gICAgICAgIGNsb3NlVGFyZ2V0OiB0aGlzLm92ZXJsYXlDbG9zZUVsZW1lbnQsXG4gICAgICAgIHJlc3VsdDogdGhpcy5yZXR1cm5WYWx1ZSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItZGlhbG9nX19jb250YWluZXJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIEBhbmltYXRpb25lbmQ9JHt0aGlzLm9uT3ZlcmxheUFuaW1hdGlvbkVuZH1cbiAgICAgICAgICBjbGFzcz1cInNiYi1kaWFsb2dcIlxuICAgICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpID0+ICh0aGlzLl9kaWFsb2dFbGVtZW50ID0gZWwgYXMgSFRNTERpdkVsZW1lbnQpKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIEBjbGljaz0keyhldmVudDogRXZlbnQpID0+IHRoaXMuY2xvc2VPblNiYk92ZXJsYXlDbG9zZUNsaWNrKGV2ZW50KX1cbiAgICAgICAgICAgIGNsYXNzPVwic2JiLWRpYWxvZ19fd3JhcHBlclwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHsoKSA9PiB0aGlzLl9oYW5kbGVTbG90Q2hhbmdlKCl9Pjwvc2xvdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxzYmItc2NyZWVuLXJlYWRlci1vbmx5IGFyaWEtbGl2ZT1cInBvbGl0ZVwiPjwvc2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZGlhbG9nJzogU2JiRGlhbG9nRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNrQ2EsMEJBQWdCO21CQUFTOzs7Ozs7O2NBQXpCLHlCQUF5QixZQUFxQjs7O2lDQU14RCxTQUFTLEVBQUUsV0FBVyxtQkFBbUIsQ0FBQyxDQUFBOzJCQUkxQyxTQUFTO0lBQUUsV0FBVztJQUFZLFNBQVM7SUFBTSxDQUFDLENBQUE7QUFKUCxnQkFBQSxNQUFBLE1BQUEsNEJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxvQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFjLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBZCxpQkFBYzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLDhCQUFBLGtDQUFBO0FBSXRCLGdCQUFBLE1BQUEsTUFBQSxzQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGNBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBUSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVIsV0FBUTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHdCQUFBLDRCQUFBOzs7Ozs7Ozs7QUFUNUMsUUFB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
|
package/development/dialog.js
CHANGED
|
@@ -2,7 +2,7 @@ import { t as SbbDialogActionsElement } from "./dialog-actions.component-Bu950dM
|
|
|
2
2
|
import { t as SbbDialogCloseButtonElement } from "./dialog-close-button.component-CxtWzXR4.js";
|
|
3
3
|
import { t as SbbDialogContentElement } from "./dialog-content.component-DlSxpY_e.js";
|
|
4
4
|
import { t as SbbDialogTitleElement } from "./dialog-title.component-CNMzIUB2.js";
|
|
5
|
-
import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "./dialog.component-
|
|
5
|
+
import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "./dialog.component-BTXyWi17.js";
|
|
6
6
|
import "./dialog.pure.js";
|
|
7
7
|
//#region src/elements/dialog.ts
|
|
8
8
|
/** @entrypoint */
|
|
@@ -2,5 +2,5 @@ import { t as SbbDialogActionsElement } from "./dialog-actions.component-Bu950dM
|
|
|
2
2
|
import { t as SbbDialogCloseButtonElement } from "./dialog-close-button.component-CxtWzXR4.js";
|
|
3
3
|
import { t as SbbDialogContentElement } from "./dialog-content.component-DlSxpY_e.js";
|
|
4
4
|
import { t as SbbDialogTitleElement } from "./dialog-title.component-CNMzIUB2.js";
|
|
5
|
-
import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "./dialog.component-
|
|
5
|
+
import { n as SbbDialogElement, r as assignDialogResult, t as SbbDialogCloseEvent } from "./dialog.component-BTXyWi17.js";
|
|
6
6
|
export { SbbDialogActionsElement, SbbDialogCloseButtonElement, SbbDialogCloseEvent, SbbDialogContentElement, SbbDialogElement, SbbDialogTitleElement, assignDialogResult };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-selector-common.d.ts","sourceRoot":"","sources":["../../../../../src/elements/file-selector/common/file-selector-common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAK9D,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,mBAAmB,EAExB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAQrB,UAAU,EACV,KAAK,qBAAqB,EAI1B,qBAAqB,EAEtB,MAAM,eAAe,CAAC;AAIvB,eAAO,MAAM,uBAAuB,yBAA2C,CAAC;;AAEhF,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,qCAAsC,SAAQ,0CAE3E;IACC,SAAgB,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;IAChC,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAClC,SAAgB,YAAY,EAAE,SAAS,GAAG,YAAY,CAAC;IACvD,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,kBAAkB,EAAE,MAAM,CAAC;IAC3C,SAAgB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IACxC,IAAoB,KAAK,IAAI,MAAM,GAAG,IAAI,CAAC;IAC3C,IAAoB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE;IAChD,SAAS,CAAC,UAAU,EAAE,+BAA+B,CAAC;IACtD,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc;IACxE,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAC/C,SAAS,CAAC,cAAc,IAAI,MAAM;IAC3B,iBAAiB,IAAI,IAAI;IACzB,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI;CACjG;AAGD,eAAO,MAAM,iCAAiC,GAC5C,CAAC,SAAS,mBAAmB,CAAC,UAAU,CAAC,GAAG,qBAAqB,EAEjE,YAAY,CAAC,KACZ,mBAAmB,CAAC,qCAAqC,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"file-selector-common.d.ts","sourceRoot":"","sources":["../../../../../src/elements/file-selector/common/file-selector-common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAK9D,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,mBAAmB,EAExB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAQrB,UAAU,EACV,KAAK,qBAAqB,EAI1B,qBAAqB,EAEtB,MAAM,eAAe,CAAC;AAIvB,eAAO,MAAM,uBAAuB,yBAA2C,CAAC;;AAEhF,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,qCAAsC,SAAQ,0CAE3E;IACC,SAAgB,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;IAChC,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAClC,SAAgB,YAAY,EAAE,SAAS,GAAG,YAAY,CAAC;IACvD,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,kBAAkB,EAAE,MAAM,CAAC;IAC3C,SAAgB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IACxC,IAAoB,KAAK,IAAI,MAAM,GAAG,IAAI,CAAC;IAC3C,IAAoB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE;IAChD,SAAS,CAAC,UAAU,EAAE,+BAA+B,CAAC;IACtD,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc;IACxE,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAC/C,SAAS,CAAC,cAAc,IAAI,MAAM;IAC3B,iBAAiB,IAAI,IAAI;IACzB,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI;CACjG;AAGD,eAAO,MAAM,iCAAiC,GAC5C,CAAC,SAAS,mBAAmB,CAAC,UAAU,CAAC,GAAG,qBAAqB,EAEjE,YAAY,CAAC,KACZ,mBAAmB,CAAC,qCAAqC,CAAC,GAAG,CA8U/D,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as fileSelectorCommonStyle, t as SbbFileSelectorCommonElementMixin } from "../../file-selector-common-
|
|
1
|
+
import { n as fileSelectorCommonStyle, t as SbbFileSelectorCommonElementMixin } from "../../file-selector-common-BX5f18cJ.js";
|
|
2
2
|
export { SbbFileSelectorCommonElementMixin, fileSelectorCommonStyle };
|
package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-selector-dropzone.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/file-selector/file-selector-dropzone/file-selector-dropzone.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAM1E,OAAO,EAKL,UAAU,EACV,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;;AASvB;;;;GAIG;AACH,qBAAa,8BAA+B,SAAQ,mCAA6C;IAC/F,gBAAgC,WAAW,EAAE,MAAM,CAAgC;IACnF,OAAuB,mBAAmB,EAAE,cAAc,EAAE,CAG1D;IACF,OAAuB,MAAM,EAAE,cAAc,CAI3C;IACF,gBAAuB,MAAM;;MAElB;IAEX,iDAAiD;IACjD,SAEgB,YAAY,EAAE,MAAM,CAAM;cAEvB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc;
|
|
1
|
+
{"version":3,"file":"file-selector-dropzone.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/file-selector/file-selector-dropzone/file-selector-dropzone.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAM1E,OAAO,EAKL,UAAU,EACV,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;;AASvB;;;;GAIG;AACH,qBAAa,8BAA+B,SAAQ,mCAA6C;IAC/F,gBAAgC,WAAW,EAAE,MAAM,CAAgC;IACnF,OAAuB,mBAAmB,EAAE,cAAc,EAAE,CAG1D;IACF,OAAuB,MAAM,EAAE,cAAc,CAI3C;IACF,gBAAuB,MAAM;;MAElB;IAEX,iDAAiD;IACjD,SAEgB,YAAY,EAAE,MAAM,CAAM;cAEvB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc;CA8BzE;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,4BAA4B,EAAE,8BAA8B,CAAC;KAC9D;CACF"}
|
package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbFileSelectorDropzoneElement } from "../../file-selector-dropzone.component-
|
|
1
|
+
import { t as SbbFileSelectorDropzoneElement } from "../../file-selector-dropzone.component-DMNom2OW.js";
|
|
2
2
|
export { SbbFileSelectorDropzoneElement };
|