@db-ux/ngx-core-components 1.0.0-test-13b991d
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/README.md +130 -0
- package/components/accordion/accordion.d.ts +31 -0
- package/components/accordion/index.d.ts +1 -0
- package/components/accordion/model.d.ts +41 -0
- package/components/accordion-item/accordion-item.d.ts +29 -0
- package/components/accordion-item/index.d.ts +1 -0
- package/components/accordion-item/model.d.ts +24 -0
- package/components/badge/badge.d.ts +28 -0
- package/components/badge/index.d.ts +1 -0
- package/components/badge/model.d.ts +16 -0
- package/components/brand/brand.d.ts +24 -0
- package/components/brand/index.d.ts +1 -0
- package/components/brand/model.d.ts +10 -0
- package/components/button/button.d.ts +39 -0
- package/components/button/index.d.ts +1 -0
- package/components/button/model.d.ts +52 -0
- package/components/card/card.d.ts +24 -0
- package/components/card/index.d.ts +1 -0
- package/components/card/model.d.ts +18 -0
- package/components/checkbox/checkbox.d.ts +64 -0
- package/components/checkbox/index.d.ts +1 -0
- package/components/checkbox/model.d.ts +10 -0
- package/components/divider/divider.d.ts +22 -0
- package/components/divider/index.d.ts +1 -0
- package/components/divider/model.d.ts +18 -0
- package/components/drawer/drawer.d.ts +34 -0
- package/components/drawer/index.d.ts +1 -0
- package/components/drawer/model.d.ts +41 -0
- package/components/header/MetaNavigation.directive.d.ts +5 -0
- package/components/header/Navigation.directive.d.ts +5 -0
- package/components/header/SecondaryAction.directive.d.ts +5 -0
- package/components/header/header.d.ts +34 -0
- package/components/header/index.d.ts +1 -0
- package/components/header/model.d.ts +44 -0
- package/components/icon/icon.d.ts +22 -0
- package/components/icon/index.d.ts +1 -0
- package/components/icon/model.d.ts +12 -0
- package/components/infotext/index.d.ts +1 -0
- package/components/infotext/infotext.d.ts +24 -0
- package/components/infotext/model.d.ts +5 -0
- package/components/input/index.d.ts +1 -0
- package/components/input/input.d.ts +87 -0
- package/components/input/model.d.ts +39 -0
- package/components/link/index.d.ts +1 -0
- package/components/link/link.d.ts +37 -0
- package/components/link/model.d.ts +24 -0
- package/components/navigation/index.d.ts +1 -0
- package/components/navigation/model.d.ts +5 -0
- package/components/navigation/navigation.d.ts +21 -0
- package/components/navigation-item/NavigationContent.directive.d.ts +5 -0
- package/components/navigation-item/index.d.ts +1 -0
- package/components/navigation-item/model.d.ts +34 -0
- package/components/navigation-item/navigation-item.d.ts +44 -0
- package/components/notification/index.d.ts +1 -0
- package/components/notification/model.d.ts +57 -0
- package/components/notification/notification.d.ts +38 -0
- package/components/page/index.d.ts +1 -0
- package/components/page/model.d.ts +32 -0
- package/components/page/page.d.ts +25 -0
- package/components/popover/index.d.ts +1 -0
- package/components/popover/model.d.ts +18 -0
- package/components/popover/popover.d.ts +33 -0
- package/components/radio/index.d.ts +1 -0
- package/components/radio/model.d.ts +7 -0
- package/components/radio/radio.d.ts +51 -0
- package/components/section/index.d.ts +1 -0
- package/components/section/model.d.ts +5 -0
- package/components/section/section.d.ts +22 -0
- package/components/select/index.d.ts +1 -0
- package/components/select/model.d.ts +43 -0
- package/components/select/select.d.ts +77 -0
- package/components/stack/index.d.ts +1 -0
- package/components/stack/model.d.ts +34 -0
- package/components/stack/stack.d.ts +25 -0
- package/components/switch/index.d.ts +1 -0
- package/components/switch/model.d.ts +12 -0
- package/components/switch/switch.d.ts +55 -0
- package/components/tab-item/index.d.ts +1 -0
- package/components/tab-item/model.d.ts +24 -0
- package/components/tab-item/tab-item.d.ts +44 -0
- package/components/tab-list/index.d.ts +1 -0
- package/components/tab-list/model.d.ts +5 -0
- package/components/tab-list/tab-list.d.ts +20 -0
- package/components/tab-panel/index.d.ts +1 -0
- package/components/tab-panel/model.d.ts +10 -0
- package/components/tab-panel/tab-panel.d.ts +21 -0
- package/components/tabs/index.d.ts +1 -0
- package/components/tabs/model.d.ts +47 -0
- package/components/tabs/tabs.d.ts +42 -0
- package/components/tag/index.d.ts +1 -0
- package/components/tag/model.d.ts +45 -0
- package/components/tag/tag.d.ts +37 -0
- package/components/textarea/index.d.ts +1 -0
- package/components/textarea/model.d.ts +30 -0
- package/components/textarea/textarea.d.ts +79 -0
- package/components/tooltip/index.d.ts +1 -0
- package/components/tooltip/model.d.ts +7 -0
- package/components/tooltip/tooltip.d.ts +32 -0
- package/esm2022/components/accordion/accordion.mjs +196 -0
- package/esm2022/components/accordion/index.mjs +2 -0
- package/esm2022/components/accordion/model.mjs +3 -0
- package/esm2022/components/accordion-item/accordion-item.mjs +136 -0
- package/esm2022/components/accordion-item/index.mjs +2 -0
- package/esm2022/components/accordion-item/model.mjs +2 -0
- package/esm2022/components/badge/badge.mjs +130 -0
- package/esm2022/components/badge/index.mjs +2 -0
- package/esm2022/components/badge/model.mjs +2 -0
- package/esm2022/components/brand/brand.mjs +99 -0
- package/esm2022/components/brand/index.mjs +2 -0
- package/esm2022/components/brand/model.mjs +2 -0
- package/esm2022/components/button/button.mjs +158 -0
- package/esm2022/components/button/index.mjs +2 -0
- package/esm2022/components/button/model.mjs +4 -0
- package/esm2022/components/card/card.mjs +107 -0
- package/esm2022/components/card/index.mjs +2 -0
- package/esm2022/components/card/model.mjs +3 -0
- package/esm2022/components/checkbox/checkbox.mjs +328 -0
- package/esm2022/components/checkbox/index.mjs +2 -0
- package/esm2022/components/checkbox/model.mjs +2 -0
- package/esm2022/components/divider/divider.mjs +93 -0
- package/esm2022/components/divider/index.mjs +2 -0
- package/esm2022/components/divider/model.mjs +3 -0
- package/esm2022/components/drawer/drawer.mjs +218 -0
- package/esm2022/components/drawer/index.mjs +2 -0
- package/esm2022/components/drawer/model.mjs +4 -0
- package/esm2022/components/header/MetaNavigation.directive.mjs +15 -0
- package/esm2022/components/header/Navigation.directive.mjs +15 -0
- package/esm2022/components/header/SecondaryAction.directive.mjs +15 -0
- package/esm2022/components/header/header.mjs +251 -0
- package/esm2022/components/header/index.mjs +2 -0
- package/esm2022/components/header/model.mjs +2 -0
- package/esm2022/components/icon/icon.mjs +100 -0
- package/esm2022/components/icon/index.mjs +2 -0
- package/esm2022/components/icon/model.mjs +3 -0
- package/esm2022/components/infotext/index.mjs +2 -0
- package/esm2022/components/infotext/infotext.mjs +103 -0
- package/esm2022/components/infotext/model.mjs +2 -0
- package/esm2022/components/input/index.mjs +2 -0
- package/esm2022/components/input/input.mjs +421 -0
- package/esm2022/components/input/model.mjs +6 -0
- package/esm2022/components/link/index.mjs +2 -0
- package/esm2022/components/link/link.mjs +152 -0
- package/esm2022/components/link/model.mjs +4 -0
- package/esm2022/components/navigation/index.mjs +2 -0
- package/esm2022/components/navigation/model.mjs +2 -0
- package/esm2022/components/navigation/navigation.mjs +92 -0
- package/esm2022/components/navigation-item/NavigationContent.directive.mjs +15 -0
- package/esm2022/components/navigation-item/index.mjs +2 -0
- package/esm2022/components/navigation-item/model.mjs +2 -0
- package/esm2022/components/navigation-item/navigation-item.mjs +236 -0
- package/esm2022/components/notification/index.mjs +2 -0
- package/esm2022/components/notification/model.mjs +4 -0
- package/esm2022/components/notification/notification.mjs +181 -0
- package/esm2022/components/page/index.mjs +2 -0
- package/esm2022/components/page/model.mjs +3 -0
- package/esm2022/components/page/page.mjs +127 -0
- package/esm2022/components/popover/index.mjs +2 -0
- package/esm2022/components/popover/model.mjs +2 -0
- package/esm2022/components/popover/popover.mjs +189 -0
- package/esm2022/components/radio/index.mjs +2 -0
- package/esm2022/components/radio/model.mjs +2 -0
- package/esm2022/components/radio/radio.mjs +230 -0
- package/esm2022/components/section/index.mjs +2 -0
- package/esm2022/components/section/model.mjs +2 -0
- package/esm2022/components/section/section.mjs +96 -0
- package/esm2022/components/select/index.mjs +2 -0
- package/esm2022/components/select/model.mjs +2 -0
- package/esm2022/components/select/select.mjs +426 -0
- package/esm2022/components/stack/index.mjs +2 -0
- package/esm2022/components/stack/model.mjs +5 -0
- package/esm2022/components/stack/stack.mjs +106 -0
- package/esm2022/components/switch/index.mjs +2 -0
- package/esm2022/components/switch/model.mjs +2 -0
- package/esm2022/components/switch/switch.mjs +237 -0
- package/esm2022/components/tab-item/index.mjs +2 -0
- package/esm2022/components/tab-item/model.mjs +2 -0
- package/esm2022/components/tab-item/tab-item.mjs +195 -0
- package/esm2022/components/tab-list/index.mjs +2 -0
- package/esm2022/components/tab-list/model.mjs +2 -0
- package/esm2022/components/tab-list/tab-list.mjs +84 -0
- package/esm2022/components/tab-panel/index.mjs +2 -0
- package/esm2022/components/tab-panel/model.mjs +2 -0
- package/esm2022/components/tab-panel/tab-panel.mjs +96 -0
- package/esm2022/components/tabs/index.mjs +2 -0
- package/esm2022/components/tabs/model.mjs +3 -0
- package/esm2022/components/tabs/tabs.mjs +322 -0
- package/esm2022/components/tag/index.mjs +2 -0
- package/esm2022/components/tag/model.mjs +2 -0
- package/esm2022/components/tag/tag.mjs +186 -0
- package/esm2022/components/textarea/index.mjs +2 -0
- package/esm2022/components/textarea/model.mjs +3 -0
- package/esm2022/components/textarea/textarea.mjs +363 -0
- package/esm2022/components/tooltip/index.mjs +2 -0
- package/esm2022/components/tooltip/model.mjs +2 -0
- package/esm2022/components/tooltip/tooltip.mjs +149 -0
- package/esm2022/db-ux-ngx-core-components.mjs +5 -0
- package/esm2022/index.mjs +41 -0
- package/esm2022/shared/constants.mjs +94 -0
- package/esm2022/shared/model.mjs +22 -0
- package/esm2022/utils/form-components.mjs +11 -0
- package/esm2022/utils/index.mjs +174 -0
- package/esm2022/utils/navigation.mjs +133 -0
- package/fesm2022/db-ux-ngx-core-components.mjs +6109 -0
- package/fesm2022/db-ux-ngx-core-components.mjs.map +1 -0
- package/index.d.ts +40 -0
- package/package.json +35 -0
- package/shared/constants.d.ts +83 -0
- package/shared/model.d.ts +445 -0
- package/utils/form-components.d.ts +2 -0
- package/utils/index.d.ts +61 -0
- package/utils/navigation.d.ts +32 -0
|
@@ -0,0 +1,426 @@
|
|
|
1
|
+
import { Output, EventEmitter, Component, ViewChild, Input } from "@angular/core";
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { CommonModule } from "@angular/common";
|
|
4
|
+
import { cls, delay, getHideProp, hasVoiceOver, stringPropVisible, uuid, } from "../../utils";
|
|
5
|
+
import { DEFAULT_INVALID_MESSAGE, DEFAULT_INVALID_MESSAGE_ID_SUFFIX, DEFAULT_LABEL, DEFAULT_MESSAGE_ID_SUFFIX, DEFAULT_PLACEHOLDER_ID_SUFFIX, DEFAULT_VALID_MESSAGE, DEFAULT_VALID_MESSAGE_ID_SUFFIX, } from "../../shared/constants";
|
|
6
|
+
import { DBInfotext } from "../infotext/infotext";
|
|
7
|
+
import { handleFrameworkEventAngular, } from "../../utils/form-components";
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/common";
|
|
10
|
+
const defaultProps = {};
|
|
11
|
+
export class DBSelect {
|
|
12
|
+
constructor(renderer) {
|
|
13
|
+
this.renderer = renderer;
|
|
14
|
+
this.cls = cls;
|
|
15
|
+
this.getHideProp = getHideProp;
|
|
16
|
+
this.stringPropVisible = stringPropVisible;
|
|
17
|
+
this.DEFAULT_INVALID_MESSAGE = DEFAULT_INVALID_MESSAGE;
|
|
18
|
+
this.DEFAULT_LABEL = DEFAULT_LABEL;
|
|
19
|
+
this.DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;
|
|
20
|
+
this.onClick = new EventEmitter();
|
|
21
|
+
this.onInput = new EventEmitter();
|
|
22
|
+
this.input = new EventEmitter();
|
|
23
|
+
this.onChange = new EventEmitter();
|
|
24
|
+
this.change = new EventEmitter();
|
|
25
|
+
this.onBlur = new EventEmitter();
|
|
26
|
+
this.blur = new EventEmitter();
|
|
27
|
+
this.onFocus = new EventEmitter();
|
|
28
|
+
this.focus = new EventEmitter();
|
|
29
|
+
this._id = undefined;
|
|
30
|
+
this._messageId = undefined;
|
|
31
|
+
this._validMessageId = undefined;
|
|
32
|
+
this._invalidMessageId = undefined;
|
|
33
|
+
this._placeholderId = "";
|
|
34
|
+
this._descByIds = "";
|
|
35
|
+
this._value = "";
|
|
36
|
+
this.initialized = false;
|
|
37
|
+
this._voiceOverFallback = "";
|
|
38
|
+
}
|
|
39
|
+
handleClick(event) {
|
|
40
|
+
if (this.onClick) {
|
|
41
|
+
this.onClick.emit(event);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
handleInput(event) {
|
|
45
|
+
if (this.onInput) {
|
|
46
|
+
this.onInput.emit(event);
|
|
47
|
+
}
|
|
48
|
+
if (this.input) {
|
|
49
|
+
this.input.emit(event);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
handleChange(event) {
|
|
53
|
+
if (this.onChange) {
|
|
54
|
+
this.onChange.emit(event);
|
|
55
|
+
}
|
|
56
|
+
if (this.change) {
|
|
57
|
+
this.change.emit(event);
|
|
58
|
+
}
|
|
59
|
+
handleFrameworkEventAngular(this, event);
|
|
60
|
+
/* For a11y reasons we need to map the correct message with the select */
|
|
61
|
+
if (!this._ref?.nativeElement?.validity.valid ||
|
|
62
|
+
this.validation === "invalid") {
|
|
63
|
+
this._descByIds = this._invalidMessageId;
|
|
64
|
+
if (hasVoiceOver()) {
|
|
65
|
+
this._voiceOverFallback =
|
|
66
|
+
this.invalidMessage ??
|
|
67
|
+
this._ref?.nativeElement?.validationMessage ??
|
|
68
|
+
DEFAULT_INVALID_MESSAGE;
|
|
69
|
+
delay(() => (this._voiceOverFallback = ""), 1000);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
else if (this.validation === "valid" ||
|
|
73
|
+
(this._ref?.nativeElement?.validity.valid && this.required)) {
|
|
74
|
+
this._descByIds = this._validMessageId;
|
|
75
|
+
if (hasVoiceOver()) {
|
|
76
|
+
this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;
|
|
77
|
+
delay(() => (this._voiceOverFallback = ""), 1000);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
else if (stringPropVisible(this.message, this.showMessage)) {
|
|
81
|
+
this._descByIds = this._messageId;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
this._descByIds = this._placeholderId;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
handleBlur(event) {
|
|
88
|
+
if (this.onBlur) {
|
|
89
|
+
this.onBlur.emit(event);
|
|
90
|
+
}
|
|
91
|
+
if (this.blur) {
|
|
92
|
+
this.blur.emit(event);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
handleFocus(event) {
|
|
96
|
+
if (this.onFocus) {
|
|
97
|
+
this.onFocus.emit(event);
|
|
98
|
+
}
|
|
99
|
+
if (this.focus) {
|
|
100
|
+
this.focus.emit(event);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
getOptionLabel(option) {
|
|
104
|
+
return option.label ?? option.value.toString();
|
|
105
|
+
}
|
|
106
|
+
trackByOptgroupOption0(_, optgroupOption) {
|
|
107
|
+
return optgroupOption.value.toString();
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.
|
|
111
|
+
* @param element the ref for the component
|
|
112
|
+
* @param customElementSelector the custom element like `my-component`
|
|
113
|
+
*/
|
|
114
|
+
enableAttributePassing(element, customElementSelector) {
|
|
115
|
+
const parent = element?.closest(customElementSelector);
|
|
116
|
+
if (element && parent) {
|
|
117
|
+
const attributes = parent.attributes;
|
|
118
|
+
for (let i = 0; i < attributes.length; i++) {
|
|
119
|
+
const attr = attributes.item(i);
|
|
120
|
+
if (attr &&
|
|
121
|
+
(attr.name.startsWith("data-") || attr.name.startsWith("aria-"))) {
|
|
122
|
+
element.setAttribute(attr.name, attr.value);
|
|
123
|
+
parent.removeAttribute(attr.name);
|
|
124
|
+
}
|
|
125
|
+
if (attr && attr.name === "class") {
|
|
126
|
+
const isWebComponent = attr.value.includes("hydrated");
|
|
127
|
+
const value = attr.value.replace("hydrated", "").trim();
|
|
128
|
+
const currentClass = element.getAttribute("class");
|
|
129
|
+
element.setAttribute(attr.name, `${currentClass ? `${currentClass} ` : ""}${value}`);
|
|
130
|
+
if (isWebComponent) {
|
|
131
|
+
// Stencil is using this class for lazy loading component
|
|
132
|
+
parent.setAttribute("class", "hydrated");
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
parent.removeAttribute(attr.name);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
writeValue(value) {
|
|
142
|
+
this.value = value;
|
|
143
|
+
if (this._ref?.nativeElement) {
|
|
144
|
+
this.renderer.setProperty(this._ref?.nativeElement, 'value', value);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
propagateChange(_) { }
|
|
148
|
+
registerOnChange(onChange) {
|
|
149
|
+
this.propagateChange = onChange;
|
|
150
|
+
}
|
|
151
|
+
registerOnTouched(onTouched) {
|
|
152
|
+
//this.onTouched = onTouched;
|
|
153
|
+
}
|
|
154
|
+
setDisabledState(disabled) {
|
|
155
|
+
this.disabled = disabled;
|
|
156
|
+
}
|
|
157
|
+
ngOnInit() {
|
|
158
|
+
if (typeof window !== "undefined") {
|
|
159
|
+
this.initialized = true;
|
|
160
|
+
const mId = this.id ?? `select-${uuid()}`;
|
|
161
|
+
this._id = mId;
|
|
162
|
+
this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;
|
|
163
|
+
this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;
|
|
164
|
+
this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;
|
|
165
|
+
this._placeholderId = mId + DEFAULT_PLACEHOLDER_ID_SUFFIX;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
ngAfterViewInit() {
|
|
169
|
+
const element = this._ref?.nativeElement;
|
|
170
|
+
this.enableAttributePassing(element, "db-select");
|
|
171
|
+
}
|
|
172
|
+
ngAfterContentChecked(changes) {
|
|
173
|
+
if (typeof window !== "undefined") {
|
|
174
|
+
if (this._id && this.initialized) {
|
|
175
|
+
const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;
|
|
176
|
+
const placeholderId = this._id + DEFAULT_PLACEHOLDER_ID_SUFFIX;
|
|
177
|
+
this._messageId = messageId;
|
|
178
|
+
this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;
|
|
179
|
+
this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;
|
|
180
|
+
this._placeholderId = placeholderId;
|
|
181
|
+
if (stringPropVisible(this.message, this.showMessage)) {
|
|
182
|
+
this._descByIds = messageId;
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
this._descByIds = placeholderId;
|
|
186
|
+
}
|
|
187
|
+
this.initialized = false;
|
|
188
|
+
}
|
|
189
|
+
this._value = this.value;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DBSelect, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
193
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DBSelect, isStandalone: true, selector: "db-select", inputs: { id: "id", message: "message", showMessage: "showMessage", value: "value", validation: "validation", invalidMessage: "invalidMessage", required: "required", validMessage: "validMessage", className: "className", variant: "variant", showLabel: "showLabel", icon: "icon", showIcon: "showIcon", label: "label", disabled: "disabled", name: "name", autocomplete: "autocomplete", options: "options", placeholder: "placeholder", messageIcon: "messageIcon" }, outputs: { onClick: "onClick", onInput: "onInput", input: "input", onChange: "onChange", change: "change", onBlur: "onBlur", blur: "blur", onFocus: "onFocus", focus: "focus" }, providers: [{
|
|
194
|
+
provide: NG_VALUE_ACCESSOR,
|
|
195
|
+
useExisting: DBSelect,
|
|
196
|
+
multi: true
|
|
197
|
+
}], viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true }], ngImport: i0, template: `
|
|
198
|
+
<div
|
|
199
|
+
[class]="cls('db-select', className)"
|
|
200
|
+
[attr.data-variant]="variant"
|
|
201
|
+
[attr.data-hide-label]="getHideProp(showLabel)"
|
|
202
|
+
[attr.data-icon]="icon"
|
|
203
|
+
[attr.data-hide-icon]="getHideProp(showIcon)"
|
|
204
|
+
>
|
|
205
|
+
<label [attr.for]="_id">{{label ?? DEFAULT_LABEL}}</label>
|
|
206
|
+
<select
|
|
207
|
+
[attr.aria-invalid]="validation === 'invalid'"
|
|
208
|
+
[attr.data-custom-validity]="validation"
|
|
209
|
+
#_ref
|
|
210
|
+
[required]="required"
|
|
211
|
+
[disabled]="disabled"
|
|
212
|
+
[attr.id]="_id"
|
|
213
|
+
[attr.name]="name"
|
|
214
|
+
[value]="value ?? _value"
|
|
215
|
+
[attr.autocomplete]="autocomplete"
|
|
216
|
+
(input)="handleInput($event)"
|
|
217
|
+
(click)="handleClick($event)"
|
|
218
|
+
(change)="handleChange($event)"
|
|
219
|
+
(blur)="handleBlur($event)"
|
|
220
|
+
(focus)="handleFocus($event)"
|
|
221
|
+
[attr.aria-describedby]="_descByIds"
|
|
222
|
+
>
|
|
223
|
+
<option [attr.hidden]="true"></option>
|
|
224
|
+
<ng-container *ngIf="options">
|
|
225
|
+
<ng-container *ngFor="let option of options">
|
|
226
|
+
<ng-container>
|
|
227
|
+
<ng-container *ngIf="option.options">
|
|
228
|
+
<optgroup [attr.label]="getOptionLabel(option)">
|
|
229
|
+
<ng-container
|
|
230
|
+
*ngFor="let optgroupOption of option.options; trackBy: trackByOptgroupOption0"
|
|
231
|
+
>
|
|
232
|
+
<option
|
|
233
|
+
[value]="optgroupOption.value"
|
|
234
|
+
[attr.selected]="optgroupOption.selected"
|
|
235
|
+
[disabled]="optgroupOption.disabled"
|
|
236
|
+
>
|
|
237
|
+
{{getOptionLabel(optgroupOption)}}
|
|
238
|
+
</option>
|
|
239
|
+
</ng-container>
|
|
240
|
+
</optgroup>
|
|
241
|
+
</ng-container>
|
|
242
|
+
<ng-container *ngIf="!option.options">
|
|
243
|
+
<option
|
|
244
|
+
[value]="option.value"
|
|
245
|
+
[disabled]="option.disabled"
|
|
246
|
+
[attr.selected]="option.selected"
|
|
247
|
+
>
|
|
248
|
+
{{getOptionLabel(option)}}
|
|
249
|
+
</option>
|
|
250
|
+
</ng-container>
|
|
251
|
+
</ng-container>
|
|
252
|
+
</ng-container>
|
|
253
|
+
</ng-container>
|
|
254
|
+
<ng-content></ng-content>
|
|
255
|
+
</select>
|
|
256
|
+
<span [attr.id]="_placeholderId">{{placeholder ?? label}}</span>
|
|
257
|
+
<ng-container *ngIf="stringPropVisible(message, showMessage)">
|
|
258
|
+
<db-infotext size="small" [icon]="messageIcon" [id]="_messageId">
|
|
259
|
+
{{message}}
|
|
260
|
+
</db-infotext>
|
|
261
|
+
</ng-container>
|
|
262
|
+
<db-infotext size="small" semantic="successful" [id]="_validMessageId">
|
|
263
|
+
{{validMessage ?? DEFAULT_VALID_MESSAGE}}
|
|
264
|
+
</db-infotext>
|
|
265
|
+
<db-infotext size="small" semantic="critical" [id]="_invalidMessageId">
|
|
266
|
+
{{invalidMessage ?? this._ref?.validationMessage ??
|
|
267
|
+
DEFAULT_INVALID_MESSAGE}}
|
|
268
|
+
</db-infotext>
|
|
269
|
+
<span data-visually-hidden="true" role="status">
|
|
270
|
+
{{_voiceOverFallback}}
|
|
271
|
+
</span>
|
|
272
|
+
</div>
|
|
273
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DBInfotext, selector: "db-infotext", inputs: ["id", "className", "icon", "semantic", "size", "showIcon", "text"] }] }); }
|
|
274
|
+
}
|
|
275
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DBSelect, decorators: [{
|
|
276
|
+
type: Component,
|
|
277
|
+
args: [{
|
|
278
|
+
providers: [{
|
|
279
|
+
provide: NG_VALUE_ACCESSOR,
|
|
280
|
+
useExisting: DBSelect,
|
|
281
|
+
multi: true
|
|
282
|
+
}],
|
|
283
|
+
selector: "db-select",
|
|
284
|
+
template: `
|
|
285
|
+
<div
|
|
286
|
+
[class]="cls('db-select', className)"
|
|
287
|
+
[attr.data-variant]="variant"
|
|
288
|
+
[attr.data-hide-label]="getHideProp(showLabel)"
|
|
289
|
+
[attr.data-icon]="icon"
|
|
290
|
+
[attr.data-hide-icon]="getHideProp(showIcon)"
|
|
291
|
+
>
|
|
292
|
+
<label [attr.for]="_id">{{label ?? DEFAULT_LABEL}}</label>
|
|
293
|
+
<select
|
|
294
|
+
[attr.aria-invalid]="validation === 'invalid'"
|
|
295
|
+
[attr.data-custom-validity]="validation"
|
|
296
|
+
#_ref
|
|
297
|
+
[required]="required"
|
|
298
|
+
[disabled]="disabled"
|
|
299
|
+
[attr.id]="_id"
|
|
300
|
+
[attr.name]="name"
|
|
301
|
+
[value]="value ?? _value"
|
|
302
|
+
[attr.autocomplete]="autocomplete"
|
|
303
|
+
(input)="handleInput($event)"
|
|
304
|
+
(click)="handleClick($event)"
|
|
305
|
+
(change)="handleChange($event)"
|
|
306
|
+
(blur)="handleBlur($event)"
|
|
307
|
+
(focus)="handleFocus($event)"
|
|
308
|
+
[attr.aria-describedby]="_descByIds"
|
|
309
|
+
>
|
|
310
|
+
<option [attr.hidden]="true"></option>
|
|
311
|
+
<ng-container *ngIf="options">
|
|
312
|
+
<ng-container *ngFor="let option of options">
|
|
313
|
+
<ng-container>
|
|
314
|
+
<ng-container *ngIf="option.options">
|
|
315
|
+
<optgroup [attr.label]="getOptionLabel(option)">
|
|
316
|
+
<ng-container
|
|
317
|
+
*ngFor="let optgroupOption of option.options; trackBy: trackByOptgroupOption0"
|
|
318
|
+
>
|
|
319
|
+
<option
|
|
320
|
+
[value]="optgroupOption.value"
|
|
321
|
+
[attr.selected]="optgroupOption.selected"
|
|
322
|
+
[disabled]="optgroupOption.disabled"
|
|
323
|
+
>
|
|
324
|
+
{{getOptionLabel(optgroupOption)}}
|
|
325
|
+
</option>
|
|
326
|
+
</ng-container>
|
|
327
|
+
</optgroup>
|
|
328
|
+
</ng-container>
|
|
329
|
+
<ng-container *ngIf="!option.options">
|
|
330
|
+
<option
|
|
331
|
+
[value]="option.value"
|
|
332
|
+
[disabled]="option.disabled"
|
|
333
|
+
[attr.selected]="option.selected"
|
|
334
|
+
>
|
|
335
|
+
{{getOptionLabel(option)}}
|
|
336
|
+
</option>
|
|
337
|
+
</ng-container>
|
|
338
|
+
</ng-container>
|
|
339
|
+
</ng-container>
|
|
340
|
+
</ng-container>
|
|
341
|
+
<ng-content></ng-content>
|
|
342
|
+
</select>
|
|
343
|
+
<span [attr.id]="_placeholderId">{{placeholder ?? label}}</span>
|
|
344
|
+
<ng-container *ngIf="stringPropVisible(message, showMessage)">
|
|
345
|
+
<db-infotext size="small" [icon]="messageIcon" [id]="_messageId">
|
|
346
|
+
{{message}}
|
|
347
|
+
</db-infotext>
|
|
348
|
+
</ng-container>
|
|
349
|
+
<db-infotext size="small" semantic="successful" [id]="_validMessageId">
|
|
350
|
+
{{validMessage ?? DEFAULT_VALID_MESSAGE}}
|
|
351
|
+
</db-infotext>
|
|
352
|
+
<db-infotext size="small" semantic="critical" [id]="_invalidMessageId">
|
|
353
|
+
{{invalidMessage ?? this._ref?.validationMessage ??
|
|
354
|
+
DEFAULT_INVALID_MESSAGE}}
|
|
355
|
+
</db-infotext>
|
|
356
|
+
<span data-visually-hidden="true" role="status">
|
|
357
|
+
{{_voiceOverFallback}}
|
|
358
|
+
</span>
|
|
359
|
+
</div>
|
|
360
|
+
`,
|
|
361
|
+
standalone: true,
|
|
362
|
+
imports: [CommonModule, DBInfotext],
|
|
363
|
+
}]
|
|
364
|
+
}], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { id: [{
|
|
365
|
+
type: Input
|
|
366
|
+
}], message: [{
|
|
367
|
+
type: Input
|
|
368
|
+
}], showMessage: [{
|
|
369
|
+
type: Input
|
|
370
|
+
}], value: [{
|
|
371
|
+
type: Input
|
|
372
|
+
}], validation: [{
|
|
373
|
+
type: Input
|
|
374
|
+
}], invalidMessage: [{
|
|
375
|
+
type: Input
|
|
376
|
+
}], required: [{
|
|
377
|
+
type: Input
|
|
378
|
+
}], validMessage: [{
|
|
379
|
+
type: Input
|
|
380
|
+
}], className: [{
|
|
381
|
+
type: Input
|
|
382
|
+
}], variant: [{
|
|
383
|
+
type: Input
|
|
384
|
+
}], showLabel: [{
|
|
385
|
+
type: Input
|
|
386
|
+
}], icon: [{
|
|
387
|
+
type: Input
|
|
388
|
+
}], showIcon: [{
|
|
389
|
+
type: Input
|
|
390
|
+
}], label: [{
|
|
391
|
+
type: Input
|
|
392
|
+
}], disabled: [{
|
|
393
|
+
type: Input
|
|
394
|
+
}], name: [{
|
|
395
|
+
type: Input
|
|
396
|
+
}], autocomplete: [{
|
|
397
|
+
type: Input
|
|
398
|
+
}], options: [{
|
|
399
|
+
type: Input
|
|
400
|
+
}], placeholder: [{
|
|
401
|
+
type: Input
|
|
402
|
+
}], messageIcon: [{
|
|
403
|
+
type: Input
|
|
404
|
+
}], onClick: [{
|
|
405
|
+
type: Output
|
|
406
|
+
}], onInput: [{
|
|
407
|
+
type: Output
|
|
408
|
+
}], input: [{
|
|
409
|
+
type: Output
|
|
410
|
+
}], onChange: [{
|
|
411
|
+
type: Output
|
|
412
|
+
}], change: [{
|
|
413
|
+
type: Output
|
|
414
|
+
}], onBlur: [{
|
|
415
|
+
type: Output
|
|
416
|
+
}], blur: [{
|
|
417
|
+
type: Output
|
|
418
|
+
}], onFocus: [{
|
|
419
|
+
type: Output
|
|
420
|
+
}], focus: [{
|
|
421
|
+
type: Output
|
|
422
|
+
}], _ref: [{
|
|
423
|
+
type: ViewChild,
|
|
424
|
+
args: ["_ref"]
|
|
425
|
+
}] } });
|
|
426
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vb3V0cHV0L2FuZ3VsYXIvc3JjL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBQ1QsU0FBUyxFQUVULEtBQUssRUFFSSxNQUFNLGVBQWUsQ0FBQztBQUNqQyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSy9DLE9BQU8sRUFDTCxHQUFHLEVBQ0gsS0FBSyxFQUNMLFdBQVcsRUFDWCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLElBQUksR0FDTCxNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlDQUFpQyxFQUNqQyxhQUFhLEVBQ2IseUJBQXlCLEVBQ3pCLDZCQUE2QixFQUM3QixxQkFBcUIsRUFDckIsK0JBQStCLEdBQ2hDLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBT2xELE9BQU8sRUFDTCwyQkFBMkIsR0FFNUIsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBOUJyQyxNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUF1SHhCLE1BQU0sT0FBTyxRQUFRO0lBQ25CLFlBQW9CLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDdkMsUUFBRyxHQUFHLEdBQUcsQ0FBQztRQUNWLGdCQUFXLEdBQUcsV0FBVyxDQUFDO1FBQzFCLHNCQUFpQixHQUFHLGlCQUFpQixDQUFDO1FBQ3RDLDRCQUF1QixHQUFHLHVCQUF1QixDQUFDO1FBQ2xELGtCQUFhLEdBQUcsYUFBYSxDQUFDO1FBQzlCLDBCQUFxQixHQUFHLHFCQUFxQixDQUFDO1FBdUJwQyxZQUFP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VztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csSUFBSTtzQkFBYixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNO2dCQUVZLElBQUk7c0JBQXRCLFNBQVM7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBDb21wb25lbnQsXG4gIFZpZXdDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG5SZW5kZXJlcjIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5cbmNvbnN0IGRlZmF1bHRQcm9wcyA9IHt9O1xuXG5pbXBvcnQgeyBEQlNlbGVjdE9wdGlvblR5cGUsIERCU2VsZWN0UHJvcHMsIERCU2VsZWN0U3RhdGUgfSBmcm9tIFwiLi9tb2RlbFwiO1xuaW1wb3J0IHtcbiAgY2xzLFxuICBkZWxheSxcbiAgZ2V0SGlkZVByb3AsXG4gIGhhc1ZvaWNlT3ZlcixcbiAgc3RyaW5nUHJvcFZpc2libGUsXG4gIHV1aWQsXG59IGZyb20gXCIuLi8uLi91dGlsc1wiO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9JTlZBTElEX01FU1NBR0UsXG4gIERFRkFVTFRfSU5WQUxJRF9NRVNTQUdFX0lEX1NVRkZJWCxcbiAgREVGQVVMVF9MQUJFTCxcbiAgREVGQVVMVF9NRVNTQUdFX0lEX1NVRkZJWCxcbiAgREVGQVVMVF9QTEFDRUhPTERFUl9JRF9TVUZGSVgsXG4gIERFRkFVTFRfVkFMSURfTUVTU0FHRSxcbiAgREVGQVVMVF9WQUxJRF9NRVNTQUdFX0lEX1NVRkZJWCxcbn0gZnJvbSBcIi4uLy4uL3NoYXJlZC9jb25zdGFudHNcIjtcbmltcG9ydCB7IERCSW5mb3RleHQgfSBmcm9tIFwiLi4vaW5mb3RleHQvaW5mb3RleHRcIjtcbmltcG9ydCB7XG4gIENoYW5nZUV2ZW50LFxuICBDbGlja0V2ZW50LFxuICBJbnB1dEV2ZW50LFxuICBJbnRlcmFjdGlvbkV2ZW50LFxufSBmcm9tIFwiLi4vLi4vc2hhcmVkL21vZGVsXCI7XG5pbXBvcnQge1xuICBoYW5kbGVGcmFtZXdvcmtFdmVudEFuZ3VsYXIsXG4gIGhhbmRsZUZyYW1ld29ya0V2ZW50VnVlLFxufSBmcm9tIFwiLi4vLi4vdXRpbHMvZm9ybS1jb21wb25lbnRzXCI7XG5cbkBDb21wb25lbnQoe1xuXHRcdHByb3ZpZGVyczogW3tcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuXHRcdFx0dXNlRXhpc3Rpbmc6IERCU2VsZWN0LFxuXHRcdFx0bXVsdGk6IHRydWVcblx0XHR9XSxcdFxuICBzZWxlY3RvcjogXCJkYi1zZWxlY3RcIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBbY2xhc3NdPVwiY2xzKCdkYi1zZWxlY3QnLCBjbGFzc05hbWUpXCJcbiAgICAgIFthdHRyLmRhdGEtdmFyaWFudF09XCJ2YXJpYW50XCJcbiAgICAgIFthdHRyLmRhdGEtaGlkZS1sYWJlbF09XCJnZXRIaWRlUHJvcChzaG93TGFiZWwpXCJcbiAgICAgIFthdHRyLmRhdGEtaWNvbl09XCJpY29uXCJcbiAgICAgIFthdHRyLmRhdGEtaGlkZS1pY29uXT1cImdldEhpZGVQcm9wKHNob3dJY29uKVwiXG4gICAgPlxuICAgICAgPGxhYmVsIFthdHRyLmZvcl09XCJfaWRcIj57e2xhYmVsID8/IERFRkFVTFRfTEFCRUx9fTwvbGFiZWw+XG4gICAgICA8c2VsZWN0XG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJ2YWxpZGF0aW9uID09PSAnaW52YWxpZCdcIlxuICAgICAgICBbYXR0ci5kYXRhLWN1c3RvbS12YWxpZGl0eV09XCJ2YWxpZGF0aW9uXCJcbiAgICAgICAgI19yZWZcbiAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuaWRdPVwiX2lkXCJcbiAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlID8/IF92YWx1ZVwiXG4gICAgICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgICAgICAoaW5wdXQpPVwiaGFuZGxlSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCJcbiAgICAgICAgKGNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cImhhbmRsZUJsdXIoJGV2ZW50KVwiXG4gICAgICAgIChmb2N1cyk9XCJoYW5kbGVGb2N1cygkZXZlbnQpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJfZGVzY0J5SWRzXCJcbiAgICAgID5cbiAgICAgICAgPG9wdGlvbiBbYXR0ci5oaWRkZW5dPVwidHJ1ZVwiPjwvb3B0aW9uPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9uc1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9uLm9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgICA8b3B0Z3JvdXAgW2F0dHIubGFiZWxdPVwiZ2V0T3B0aW9uTGFiZWwob3B0aW9uKVwiPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0Z3JvdXBPcHRpb24gb2Ygb3B0aW9uLm9wdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlPcHRncm91cE9wdGlvbjBcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGdyb3VwT3B0aW9uLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zZWxlY3RlZF09XCJvcHRncm91cE9wdGlvbi5zZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9wdGdyb3VwT3B0aW9uLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0T3B0aW9uTGFiZWwob3B0Z3JvdXBPcHRpb24pfX1cbiAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L29wdGdyb3VwPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFvcHRpb24ub3B0aW9uc1wiPlxuICAgICAgICAgICAgICAgIDxvcHRpb25cbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICBbYXR0ci5zZWxlY3RlZF09XCJvcHRpb24uc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7Z2V0T3B0aW9uTGFiZWwob3B0aW9uKX19XG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L3NlbGVjdD5cbiAgICAgIDxzcGFuIFthdHRyLmlkXT1cIl9wbGFjZWhvbGRlcklkXCI+e3twbGFjZWhvbGRlciA/PyBsYWJlbH19PC9zcGFuPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0cmluZ1Byb3BWaXNpYmxlKG1lc3NhZ2UsIHNob3dNZXNzYWdlKVwiPlxuICAgICAgICA8ZGItaW5mb3RleHQgc2l6ZT1cInNtYWxsXCIgW2ljb25dPVwibWVzc2FnZUljb25cIiBbaWRdPVwiX21lc3NhZ2VJZFwiPlxuICAgICAgICAgIHt7bWVzc2FnZX19XG4gICAgICAgIDwvZGItaW5mb3RleHQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxkYi1pbmZvdGV4dCBzaXplPVwic21hbGxcIiBzZW1hbnRpYz1cInN1Y2Nlc3NmdWxcIiBbaWRdPVwiX3ZhbGlkTWVzc2FnZUlkXCI+XG4gICAgICAgIHt7dmFsaWRNZXNzYWdlID8/IERFRkFVTFRfVkFMSURfTUVTU0FHRX19XG4gICAgICA8L2RiLWluZm90ZXh0PlxuICAgICAgPGRiLWluZm90ZXh0IHNpemU9XCJzbWFsbFwiIHNlbWFudGljPVwiY3JpdGljYWxcIiBbaWRdPVwiX2ludmFsaWRNZXNzYWdlSWRcIj5cbiAgICAgICAge3tpbnZhbGlkTWVzc2FnZSA/PyB0aGlzLl9yZWY/LnZhbGlkYXRpb25NZXNzYWdlID8/XG4gICAgICAgICAgICBERUZBVUxUX0lOVkFMSURfTUVTU0FHRX19XG4gICAgICA8L2RiLWluZm90ZXh0PlxuICAgICAgPHNwYW4gZGF0YS12aXN1YWxseS1oaWRkZW49XCJ0cnVlXCIgcm9sZT1cInN0YXR1c1wiPlxuICAgICAgICB7e192b2ljZU92ZXJGYWxsYmFja319XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIERCSW5mb3RleHRdLFxufSlcbmV4cG9ydCBjbGFzcyBEQlNlbGVjdCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblx0XHRjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHsgfVxuICBjbHMgPSBjbHM7XG4gIGdldEhpZGVQcm9wID0gZ2V0SGlkZVByb3A7XG4gIHN0cmluZ1Byb3BWaXNpYmxlID0gc3RyaW5nUHJvcFZpc2libGU7XG4gIERFRkFVTFRfSU5WQUxJRF9NRVNTQUdFID0gREVGQVVMVF9JTlZBTElEX01FU1NBR0U7XG4gIERFRkFVTFRfTEFCRUwgPSBERUZBVUxUX0xBQkVMO1xuICBERUZBVUxUX1ZBTElEX01FU1NBR0UgPSBERUZBVUxUX1ZBTElEX01FU1NBR0U7XG5cbiAgQElucHV0KCkgaWQhOiBEQlNlbGVjdFByb3BzW1wiaWRcIl07XG4gIEBJbnB1dCgpIG1lc3NhZ2UhOiBEQlNlbGVjdFByb3BzW1wibWVzc2FnZVwiXTtcbiAgQElucHV0KCkgc2hvd01lc3NhZ2UhOiBEQlNlbGVjdFByb3BzW1wic2hvd01lc3NhZ2VcIl07XG4gIEBJbnB1dCgpIHZhbHVlITogREJTZWxlY3RQcm9wc1tcInZhbHVlXCJdO1xuICBASW5wdXQoKSB2YWxpZGF0aW9uITogREJTZWxlY3RQcm9wc1tcInZhbGlkYXRpb25cIl07XG4gIEBJbnB1dCgpIGludmFsaWRNZXNzYWdlITogREJTZWxlY3RQcm9wc1tcImludmFsaWRNZXNzYWdlXCJdO1xuICBASW5wdXQoKSByZXF1aXJlZCE6IERCU2VsZWN0UHJvcHNbXCJyZXF1aXJlZFwiXTtcbiAgQElucHV0KCkgdmFsaWRNZXNzYWdlITogREJTZWxlY3RQcm9wc1tcInZhbGlkTWVzc2FnZVwiXTtcbiAgQElucHV0KCkgY2xhc3NOYW1lITogREJTZWxlY3RQcm9wc1tcImNsYXNzTmFtZVwiXTtcbiAgQElucHV0KCkgdmFyaWFudCE6IERCU2VsZWN0UHJvcHNbXCJ2YXJpYW50XCJdO1xuICBASW5wdXQoKSBzaG93TGFiZWwhOiBEQlNlbGVjdFByb3BzW1wic2hvd0xhYmVsXCJdO1xuICBASW5wdXQoKSBpY29uITogREJTZWxlY3RQcm9wc1tcImljb25cIl07XG4gIEBJbnB1dCgpIHNob3dJY29uITogREJTZWxlY3RQcm9wc1tcInNob3dJY29uXCJdO1xuICBASW5wdXQoKSBsYWJlbCE6IERCU2VsZWN0UHJvcHNbXCJsYWJlbFwiXTtcbiAgQElucHV0KCkgZGlzYWJsZWQhOiBEQlNlbGVjdFByb3BzW1wiZGlzYWJsZWRcIl07XG4gIEBJbnB1dCgpIG5hbWUhOiBEQlNlbGVjdFByb3BzW1wibmFtZVwiXTtcbiAgQElucHV0KCkgYXV0b2NvbXBsZXRlITogREJTZWxlY3RQcm9wc1tcImF1dG9jb21wbGV0ZVwiXTtcbiAgQElucHV0KCkgb3B0aW9ucyE6IERCU2VsZWN0UHJvcHNbXCJvcHRpb25zXCJdO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlciE6IERCU2VsZWN0UHJvcHNbXCJwbGFjZWhvbGRlclwiXTtcbiAgQElucHV0KCkgbWVzc2FnZUljb24hOiBEQlNlbGVjdFByb3BzW1wibWVzc2FnZUljb25cIl07XG5cbiAgQE91dHB1dCgpIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbklucHV0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgaW5wdXQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uQmx1ciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZChcIl9yZWZcIikgX3JlZiE6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgX2lkOiBEQlNlbGVjdFN0YXRlW1wiX2lkXCJdID0gdW5kZWZpbmVkO1xuICBfbWVzc2FnZUlkOiBEQlNlbGVjdFN0YXRlW1wiX21lc3NhZ2VJZFwiXSA9IHVuZGVmaW5lZDtcbiAgX3ZhbGlkTWVzc2FnZUlkOiBEQlNlbGVjdFN0YXRlW1wiX3ZhbGlkTWVzc2FnZUlkXCJdID0gdW5kZWZpbmVkO1xuICBfaW52YWxpZE1lc3NhZ2VJZDogREJTZWxlY3RTdGF0ZVtcIl9pbnZhbGlkTWVzc2FnZUlkXCJdID0gdW5kZWZpbmVkO1xuICBfcGxhY2Vob2xkZXJJZDogREJTZWxlY3RTdGF0ZVtcIl9wbGFjZWhvbGRlcklkXCJdID0gXCJcIjtcbiAgX2Rlc2NCeUlkczogREJTZWxlY3RTdGF0ZVtcIl9kZXNjQnlJZHNcIl0gPSBcIlwiO1xuICBfdmFsdWU6IERCU2VsZWN0U3RhdGVbXCJfdmFsdWVcIl0gPSBcIlwiO1xuICBpbml0aWFsaXplZDogREJTZWxlY3RTdGF0ZVtcImluaXRpYWxpemVkXCJdID0gZmFsc2U7XG4gIF92b2ljZU92ZXJGYWxsYmFjazogREJTZWxlY3RTdGF0ZVtcIl92b2ljZU92ZXJGYWxsYmFja1wiXSA9IFwiXCI7XG4gIGhhbmRsZUNsaWNrKFxuICAgIGV2ZW50OiBDbGlja0V2ZW50PEhUTUxTZWxlY3RFbGVtZW50PlxuICApOiBSZXR1cm5UeXBlPERCU2VsZWN0U3RhdGVbXCJoYW5kbGVDbGlja1wiXT4ge1xuICAgIGlmICh0aGlzLm9uQ2xpY2spIHtcbiAgICAgIHRoaXMub25DbGljay5lbWl0KGV2ZW50KTtcbiAgICB9XG4gIH1cbiAgaGFuZGxlSW5wdXQoXG4gICAgZXZlbnQ6IElucHV0RXZlbnQ8SFRNTFNlbGVjdEVsZW1lbnQ+XG4gICk6IFJldHVyblR5cGU8REJTZWxlY3RTdGF0ZVtcImhhbmRsZUlucHV0XCJdPiB7XG4gICAgaWYgKHRoaXMub25JbnB1dCkge1xuICAgICAgdGhpcy5vbklucHV0LmVtaXQoZXZlbnQpO1xuICAgIH1cbiAgICBpZiAodGhpcy5pbnB1dCkge1xuICAgICAgdGhpcy5pbnB1dC5lbWl0KGV2ZW50KTtcbiAgICB9XG4gIH1cbiAgaGFuZGxlQ2hhbmdlKFxuICAgIGV2ZW50OiBDaGFuZ2VFdmVudDxIVE1MU2VsZWN0RWxlbWVudD5cbiAgKTogUmV0dXJuVHlwZTxEQlNlbGVjdFN0YXRlW1wiaGFuZGxlQ2hhbmdlXCJdPiB7XG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcbiAgICAgIHRoaXMub25DaGFuZ2UuZW1pdChldmVudCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmNoYW5nZSkge1xuICAgICAgdGhpcy5jaGFuZ2UuZW1pdChldmVudCk7XG4gICAgfVxuICAgIGhhbmRsZUZyYW1ld29ya0V2ZW50QW5ndWxhcih0aGlzLCBldmVudCk7XG5cbiAgICAvKiBGb3IgYTExeSByZWFzb25zIHdlIG5lZWQgdG8gbWFwIHRoZSBjb3JyZWN0IG1lc3NhZ2Ugd2l0aCB0aGUgc2VsZWN0ICovXG4gICAgaWYgKFxuICAgICAgIXRoaXMuX3JlZj8ubmF0aXZlRWxlbWVudD8udmFsaWRpdHkudmFsaWQgfHxcbiAgICAgIHRoaXMudmFsaWRhdGlvbiA9PT0gXCJpbnZhbGlkXCJcbiAgICApIHtcbiAgICAgIHRoaXMuX2Rlc2NCeUlkcyA9IHRoaXMuX2ludmFsaWRNZXNzYWdlSWQ7XG4gICAgICBpZiAoaGFzVm9pY2VPdmVyKCkpIHtcbiAgICAgICAgdGhpcy5fdm9pY2VPdmVyRmFsbGJhY2sgPVxuICAgICAgICAgIHRoaXMuaW52YWxpZE1lc3NhZ2UgPz9cbiAgICAgICAgICB0aGlzLl9yZWY/Lm5hdGl2ZUVsZW1lbnQ/LnZhbGlkYXRpb25NZXNzYWdlID8/XG4gICAgICAgICAgREVGQVVMVF9JTlZBTElEX01FU1NBR0U7XG4gICAgICAgIGRlbGF5KCgpID0+ICh0aGlzLl92b2ljZU92ZXJGYWxsYmFjayA9IFwiXCIpLCAxMDAwKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKFxuICAgICAgdGhpcy52YWxpZGF0aW9uID09PSBcInZhbGlkXCIgfHxcbiAgICAgICh0aGlzLl9yZWY/Lm5hdGl2ZUVsZW1lbnQ/LnZhbGlkaXR5LnZhbGlkICYmIHRoaXMucmVxdWlyZWQpXG4gICAgKSB7XG4gICAgICB0aGlzLl9kZXNjQnlJZHMgPSB0aGlzLl92YWxpZE1lc3NhZ2VJZDtcbiAgICAgIGlmIChoYXNWb2ljZU92ZXIoKSkge1xuICAgICAgICB0aGlzLl92b2ljZU92ZXJGYWxsYmFjayA9IHRoaXMudmFsaWRNZXNzYWdlID8/IERFRkFVTFRfVkFMSURfTUVTU0FHRTtcbiAgICAgICAgZGVsYXkoKCkgPT4gKHRoaXMuX3ZvaWNlT3ZlckZhbGxiYWNrID0gXCJcIiksIDEwMDApO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoc3RyaW5nUHJvcFZpc2libGUodGhpcy5tZXNzYWdlLCB0aGlzLnNob3dNZXNzYWdlKSkge1xuICAgICAgdGhpcy5fZGVzY0J5SWRzID0gdGhpcy5fbWVzc2FnZUlkO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9kZXNjQnlJZHMgPSB0aGlzLl9wbGFjZWhvbGRlcklkO1xuICAgIH1cbiAgfVxuICBoYW5kbGVCbHVyKFxuICAgIGV2ZW50OiBJbnRlcmFjdGlvbkV2ZW50PEhUTUxTZWxlY3RFbGVtZW50PlxuICApOiBSZXR1cm5UeXBlPERCU2VsZWN0U3RhdGVbXCJoYW5kbGVCbHVyXCJdPiB7XG4gICAgaWYgKHRoaXMub25CbHVyKSB7XG4gICAgICB0aGlzLm9uQmx1ci5lbWl0KGV2ZW50KTtcbiAgICB9XG4gICAgaWYgKHRoaXMuYmx1cikge1xuICAgICAgdGhpcy5ibHVyLmVtaXQoZXZlbnQpO1xuICAgIH1cbiAgfVxuICBoYW5kbGVGb2N1cyhcbiAgICBldmVudDogSW50ZXJhY3Rpb25FdmVudDxIVE1MU2VsZWN0RWxlbWVudD5cbiAgKTogUmV0dXJuVHlwZTxEQlNlbGVjdFN0YXRlW1wiaGFuZGxlRm9jdXNcIl0+IHtcbiAgICBpZiAodGhpcy5vbkZvY3VzKSB7XG4gICAgICB0aGlzLm9uRm9jdXMuZW1pdChldmVudCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmZvY3VzKSB7XG4gICAgICB0aGlzLmZvY3VzLmVtaXQoZXZlbnQpO1xuICAgIH1cbiAgfVxuICBnZXRPcHRpb25MYWJlbChcbiAgICBvcHRpb246IERCU2VsZWN0T3B0aW9uVHlwZVxuICApOiBSZXR1cm5UeXBlPERCU2VsZWN0U3RhdGVbXCJnZXRPcHRpb25MYWJlbFwiXT4ge1xuICAgIHJldHVybiBvcHRpb24ubGFiZWwgPz8gb3B0aW9uLnZhbHVlLnRvU3RyaW5nKCk7XG4gIH1cbiAgdHJhY2tCeU9wdGdyb3VwT3B0aW9uMChfLCBvcHRncm91cE9wdGlvbikge1xuICAgIHJldHVybiBvcHRncm91cE9wdGlvbi52YWx1ZS50b1N0cmluZygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBhc3NlcyBgYXJpYS0qYCwgYGRhdGEtKmAgJiBgY2xhc3NgIGF0dHJpYnV0ZXMgdG8gY29ycmVjdCBjaGlsZC4gVXNlZCBpbiBhbmd1bGFyIGFuZCBzdGVuY2lsLlxuICAgKiBAcGFyYW0gZWxlbWVudCAgdGhlIHJlZiBmb3IgdGhlIGNvbXBvbmVudFxuICAgKiBAcGFyYW0gY3VzdG9tRWxlbWVudFNlbGVjdG9yICB0aGUgY3VzdG9tIGVsZW1lbnQgbGlrZSBgbXktY29tcG9uZW50YFxuICAgKi9cbiAgcHJpdmF0ZSBlbmFibGVBdHRyaWJ1dGVQYXNzaW5nKFxuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCxcbiAgICBjdXN0b21FbGVtZW50U2VsZWN0b3I6IHN0cmluZ1xuICApIHtcbiAgICBjb25zdCBwYXJlbnQgPSBlbGVtZW50Py5jbG9zZXN0KGN1c3RvbUVsZW1lbnRTZWxlY3Rvcik7XG4gICAgaWYgKGVsZW1lbnQgJiYgcGFyZW50KSB7XG4gICAgICBjb25zdCBhdHRyaWJ1dGVzID0gcGFyZW50LmF0dHJpYnV0ZXM7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGF0dHJpYnV0ZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgYXR0ciA9IGF0dHJpYnV0ZXMuaXRlbShpKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGF0dHIgJiZcbiAgICAgICAgICAoYXR0ci5uYW1lLnN0YXJ0c1dpdGgoXCJkYXRhLVwiKSB8fCBhdHRyLm5hbWUuc3RhcnRzV2l0aChcImFyaWEtXCIpKVxuICAgICAgICApIHtcbiAgICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShhdHRyLm5hbWUsIGF0dHIudmFsdWUpO1xuICAgICAgICAgIHBhcmVudC5yZW1vdmVBdHRyaWJ1dGUoYXR0ci5uYW1lKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYXR0ciAmJiBhdHRyLm5hbWUgPT09IFwiY2xhc3NcIikge1xuICAgICAgICAgIGNvbnN0IGlzV2ViQ29tcG9uZW50ID0gYXR0ci52YWx1ZS5pbmNsdWRlcyhcImh5ZHJhdGVkXCIpO1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gYXR0ci52YWx1ZS5yZXBsYWNlKFwiaHlkcmF0ZWRcIiwgXCJcIikudHJpbSgpO1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRDbGFzcyA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiY2xhc3NcIik7XG4gICAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICBhdHRyLm5hbWUsXG4gICAgICAgICAgICBgJHtjdXJyZW50Q2xhc3MgPyBgJHtjdXJyZW50Q2xhc3N9IGAgOiBcIlwifSR7dmFsdWV9YFxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKGlzV2ViQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAvLyBTdGVuY2lsIGlzIHVzaW5nIHRoaXMgY2xhc3MgZm9yIGxhenkgbG9hZGluZyBjb21wb25lbnRcbiAgICAgICAgICAgIHBhcmVudC5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLCBcImh5ZHJhdGVkXCIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwYXJlbnQucmVtb3ZlQXR0cmlidXRlKGF0dHIubmFtZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgXG5cdFx0d3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG5cdFx0ICB0aGlzLnZhbHVlID0gdmFsdWU7XG5cblx0XHQgIGlmICh0aGlzLl9yZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcblx0XHRcdCB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuX3JlZj8ubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgdmFsdWUpO1xuXHRcdCAgfVxuXHRcdH1cblxuXHRcdHByb3BhZ2F0ZUNoYW5nZShfOiBhbnkpIHt9XG5cblx0XHRyZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiBhbnkpIHtcblx0XHQgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gb25DaGFuZ2U7XG5cdFx0fVxuXG5cdFx0cmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiBhbnkpIHtcblx0XHQgLy90aGlzLm9uVG91Y2hlZCA9IG9uVG91Y2hlZDtcblx0XHR9XG5cblx0XHRzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKSB7XG5cdFx0ICB0aGlzLmRpc2FibGVkID0gZGlzYWJsZWQ7XG5cdFx0fVxuXG5cdFx0bmdPbkluaXQoKSB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgY29uc3QgbUlkID0gdGhpcy5pZCA/PyBgc2VsZWN0LSR7dXVpZCgpfWA7XG4gICAgICB0aGlzLl9pZCA9IG1JZDtcbiAgICAgIHRoaXMuX21lc3NhZ2VJZCA9IG1JZCArIERFRkFVTFRfTUVTU0FHRV9JRF9TVUZGSVg7XG4gICAgICB0aGlzLl92YWxpZE1lc3NhZ2VJZCA9IG1JZCArIERFRkFVTFRfVkFMSURfTUVTU0FHRV9JRF9TVUZGSVg7XG4gICAgICB0aGlzLl9pbnZhbGlkTWVzc2FnZUlkID0gbUlkICsgREVGQVVMVF9JTlZBTElEX01FU1NBR0VfSURfU1VGRklYO1xuICAgICAgdGhpcy5fcGxhY2Vob2xkZXJJZCA9IG1JZCArIERFRkFVTFRfUExBQ0VIT0xERVJfSURfU1VGRklYO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBlbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSB0aGlzLl9yZWY/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgdGhpcy5lbmFibGVBdHRyaWJ1dGVQYXNzaW5nKGVsZW1lbnQsIFwiZGItc2VsZWN0XCIpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgaWYgKHRoaXMuX2lkICYmIHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZUlkID0gdGhpcy5faWQgKyBERUZBVUxUX01FU1NBR0VfSURfU1VGRklYO1xuICAgICAgICBjb25zdCBwbGFjZWhvbGRlcklkID0gdGhpcy5faWQgKyBERUZBVUxUX1BMQUNFSE9MREVSX0lEX1NVRkZJWDtcbiAgICAgICAgdGhpcy5fbWVzc2FnZUlkID0gbWVzc2FnZUlkO1xuICAgICAgICB0aGlzLl92YWxpZE1lc3NhZ2VJZCA9IHRoaXMuX2lkICsgREVGQVVMVF9WQUxJRF9NRVNTQUdFX0lEX1NVRkZJWDtcbiAgICAgICAgdGhpcy5faW52YWxpZE1lc3NhZ2VJZCA9IHRoaXMuX2lkICsgREVGQVVMVF9JTlZBTElEX01FU1NBR0VfSURfU1VGRklYO1xuICAgICAgICB0aGlzLl9wbGFjZWhvbGRlcklkID0gcGxhY2Vob2xkZXJJZDtcbiAgICAgICAgaWYgKHN0cmluZ1Byb3BWaXNpYmxlKHRoaXMubWVzc2FnZSwgdGhpcy5zaG93TWVzc2FnZSkpIHtcbiAgICAgICAgICB0aGlzLl9kZXNjQnlJZHMgPSBtZXNzYWdlSWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fZGVzY0J5SWRzID0gcGxhY2Vob2xkZXJJZDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gZmFsc2U7XG4gICAgICB9XG4gICAgICB0aGlzLl92YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { DBStack } from './stack';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9vdXRwdXQvYW5ndWxhci9zcmMvY29tcG9uZW50cy9zdGFjay9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgREJTdGFjayB9IGZyb20gJy4vc3RhY2snIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export const StackVariantList = ['simple', 'divider'];
|
|
2
|
+
export const StackDirectionList = ['row', 'column'];
|
|
3
|
+
export const StackAlignmentList = ['stretch', 'start', 'end', 'center'];
|
|
4
|
+
export const StackJustifyContentList = ['space-between', 'start', 'end', 'center'];
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9vdXRwdXQvYW5ndWxhci9zcmMvY29tcG9uZW50cy9zdGFjay9tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQVcsQ0FBQztBQUVqRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBSSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQVcsQ0FBQztBQUUvRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBVyxDQUFDO0FBRW5GLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFJLENBQUMsZUFBZSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHYXBTcGFjaW5nUHJvcHMsIEdsb2JhbFByb3BzLCBHbG9iYWxTdGF0ZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbCc7XG5leHBvcnQgY29uc3QgU3RhY2tWYXJpYW50TGlzdCA9IChbJ3NpbXBsZScsICdkaXZpZGVyJ10gYXMgY29uc3QpO1xuZXhwb3J0IHR5cGUgU3RhY2tWYXJpYW50VHlwZSA9ICh0eXBlb2YgU3RhY2tWYXJpYW50TGlzdClbbnVtYmVyXTtcbmV4cG9ydCBjb25zdCBTdGFja0RpcmVjdGlvbkxpc3QgPSAoWydyb3cnLCAnY29sdW1uJ10gYXMgY29uc3QpO1xuZXhwb3J0IHR5cGUgU3RhY2tEaXJlY3Rpb25UeXBlID0gKHR5cGVvZiBTdGFja0RpcmVjdGlvbkxpc3QpW251bWJlcl07XG5leHBvcnQgY29uc3QgU3RhY2tBbGlnbm1lbnRMaXN0ID0gKFsnc3RyZXRjaCcsICdzdGFydCcsICdlbmQnLCAnY2VudGVyJ10gYXMgY29uc3QpO1xuZXhwb3J0IHR5cGUgU3RhY2tBbGlnbm1lbnRUeXBlID0gKHR5cGVvZiBTdGFja0FsaWdubWVudExpc3QpW251bWJlcl07XG5leHBvcnQgY29uc3QgU3RhY2tKdXN0aWZ5Q29udGVudExpc3QgPSAoWydzcGFjZS1iZXR3ZWVuJywgJ3N0YXJ0JywgJ2VuZCcsICdjZW50ZXInXSBhcyBjb25zdCk7XG5leHBvcnQgdHlwZSBTdGFja0p1c3RpZnlDb250ZW50VHlwZSA9ICh0eXBlb2YgU3RhY2tKdXN0aWZ5Q29udGVudExpc3QpW251bWJlcl07XG5leHBvcnQgdHlwZSBEQlN0YWNrRGVmYXVsdFByb3BzID0ge1xuICAvKipcbiAgICogQ2hhbmdlIHZhcmlhbnQgb2Ygc3RhY2suIFRvIHVzZSB2YXJpYW50PVwiZGl2aWRlclwiIGFkZCBhIERCRGl2aWRlciBhZnRlciBlYWNoIGVsZW1lbnRcbiAgICovXG4gIHZhcmlhbnQ/OiBTdGFja1ZhcmlhbnRUeXBlO1xuICAvKipcbiAgICogU2V0IHRoZSBkaXJlY3Rpb24gb2YgdGhlIHN0YWNrLiBEZWZhdWx0cyB0byBcImNvbHVtblwiXG4gICAqL1xuICBkaXJlY3Rpb24/OiBTdGFja0RpcmVjdGlvblR5cGU7XG4gIC8qKlxuICAgKiBJZiB0aGUgc3RhY2sgc2hvdWxkIHdyYXAgaWYgcGFyZW50IGlzIHRvbyBzbWFsbCBvdGhlcndpc2UgeW91IGdldCBhbiBvdmVyZmxvd1xuICAgKi9cbiAgd3JhcD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIGNzcyBhbGlnbi1pdGVtc1xuICAgKi9cbiAgYWxpZ25tZW50PzogU3RhY2tBbGlnbm1lbnRUeXBlO1xuICAvKipcbiAgICogUmVwcmVzZW50cyBjc3MganVzdGlmeS1jb250ZW50XG4gICAqL1xuICBqdXN0aWZ5Q29udGVudD86IFN0YWNrSnVzdGlmeUNvbnRlbnRUeXBlO1xufTtcbmV4cG9ydCB0eXBlIERCU3RhY2tQcm9wcyA9IERCU3RhY2tEZWZhdWx0UHJvcHMgJiBHbG9iYWxQcm9wcyAmIEdhcFNwYWNpbmdQcm9wcztcbmV4cG9ydCB0eXBlIERCU3RhY2tEZWZhdWx0U3RhdGUgPSB7fTtcbmV4cG9ydCB0eXBlIERCU3RhY2tTdGF0ZSA9IERCU3RhY2tEZWZhdWx0U3RhdGUgJiBHbG9iYWxTdGF0ZSJdfQ==
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { Component, ViewChild, Input } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { cls, getBooleanAsString } from "../../utils";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
const defaultProps = {};
|
|
6
|
+
export class DBStack {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.cls = cls;
|
|
9
|
+
this.getBooleanAsString = getBooleanAsString;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.
|
|
13
|
+
* @param element the ref for the component
|
|
14
|
+
* @param customElementSelector the custom element like `my-component`
|
|
15
|
+
*/
|
|
16
|
+
enableAttributePassing(element, customElementSelector) {
|
|
17
|
+
const parent = element?.closest(customElementSelector);
|
|
18
|
+
if (element && parent) {
|
|
19
|
+
const attributes = parent.attributes;
|
|
20
|
+
for (let i = 0; i < attributes.length; i++) {
|
|
21
|
+
const attr = attributes.item(i);
|
|
22
|
+
if (attr &&
|
|
23
|
+
(attr.name.startsWith("data-") || attr.name.startsWith("aria-"))) {
|
|
24
|
+
element.setAttribute(attr.name, attr.value);
|
|
25
|
+
parent.removeAttribute(attr.name);
|
|
26
|
+
}
|
|
27
|
+
if (attr && attr.name === "class") {
|
|
28
|
+
const isWebComponent = attr.value.includes("hydrated");
|
|
29
|
+
const value = attr.value.replace("hydrated", "").trim();
|
|
30
|
+
const currentClass = element.getAttribute("class");
|
|
31
|
+
element.setAttribute(attr.name, `${currentClass ? `${currentClass} ` : ""}${value}`);
|
|
32
|
+
if (isWebComponent) {
|
|
33
|
+
// Stencil is using this class for lazy loading component
|
|
34
|
+
parent.setAttribute("class", "hydrated");
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
parent.removeAttribute(attr.name);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
ngAfterViewInit() {
|
|
44
|
+
const element = this._ref?.nativeElement;
|
|
45
|
+
this.enableAttributePassing(element, "db-stack");
|
|
46
|
+
}
|
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DBStack, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DBStack, isStandalone: true, selector: "db-stack", inputs: { id: "id", className: "className", gap: "gap", variant: "variant", direction: "direction", alignment: "alignment", justifyContent: "justifyContent", wrap: "wrap" }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true }], ngImport: i0, template: `
|
|
49
|
+
<div
|
|
50
|
+
#_ref
|
|
51
|
+
[attr.id]="id"
|
|
52
|
+
[class]="cls('db-stack', className)"
|
|
53
|
+
[attr.data-gap]="gap"
|
|
54
|
+
[attr.data-variant]="variant"
|
|
55
|
+
[attr.data-direction]="direction"
|
|
56
|
+
[attr.data-alignment]="alignment"
|
|
57
|
+
[attr.data-justify-content]="justifyContent"
|
|
58
|
+
[attr.data-wrap]="getBooleanAsString(wrap)"
|
|
59
|
+
>
|
|
60
|
+
<ng-content></ng-content>
|
|
61
|
+
</div>
|
|
62
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
63
|
+
}
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DBStack, decorators: [{
|
|
65
|
+
type: Component,
|
|
66
|
+
args: [{
|
|
67
|
+
selector: "db-stack",
|
|
68
|
+
template: `
|
|
69
|
+
<div
|
|
70
|
+
#_ref
|
|
71
|
+
[attr.id]="id"
|
|
72
|
+
[class]="cls('db-stack', className)"
|
|
73
|
+
[attr.data-gap]="gap"
|
|
74
|
+
[attr.data-variant]="variant"
|
|
75
|
+
[attr.data-direction]="direction"
|
|
76
|
+
[attr.data-alignment]="alignment"
|
|
77
|
+
[attr.data-justify-content]="justifyContent"
|
|
78
|
+
[attr.data-wrap]="getBooleanAsString(wrap)"
|
|
79
|
+
>
|
|
80
|
+
<ng-content></ng-content>
|
|
81
|
+
</div>
|
|
82
|
+
`,
|
|
83
|
+
standalone: true,
|
|
84
|
+
imports: [CommonModule],
|
|
85
|
+
}]
|
|
86
|
+
}], propDecorators: { id: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], className: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], gap: [{
|
|
91
|
+
type: Input
|
|
92
|
+
}], variant: [{
|
|
93
|
+
type: Input
|
|
94
|
+
}], direction: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}], alignment: [{
|
|
97
|
+
type: Input
|
|
98
|
+
}], justifyContent: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], wrap: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], _ref: [{
|
|
103
|
+
type: ViewChild,
|
|
104
|
+
args: ["_ref"]
|
|
105
|
+
}] } });
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9vdXRwdXQvYW5ndWxhci9zcmMvY29tcG9uZW50cy9zdGFjay9zdGFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSy9DLE9BQU8sRUFBRSxHQUFHLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBSHRELE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztBQXlCeEIsTUFBTSxPQUFPLE9BQU87SUFwQnBCO1FBcUJFLFFBQUcsR0FBRyxHQUFHLENBQUM7UUFDVix1QkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztLQXlEekM7SUE1Q0M7Ozs7T0FJRztJQUNLLHNCQUFzQixDQUM1QixPQUEyQixFQUMzQixxQkFBNkI7UUFFN0IsTUFBTSxNQUFNLEdBQUcsT0FBTyxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3ZELElBQUksT0FBTyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ3RCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFDckMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDM0MsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDaEMsSUFDRSxJQUFJO29CQUNKLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsRUFDaEUsQ0FBQztvQkFDRCxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUM1QyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDcEMsQ0FBQztnQkFDRCxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO29CQUNsQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFDdkQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUN4RCxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNuRCxPQUFPLENBQUMsWUFBWSxDQUNsQixJQUFJLENBQUMsSUFBSSxFQUNULEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQ3BELENBQUM7b0JBQ0YsSUFBSSxjQUFjLEVBQUUsQ0FBQzt3QkFDbkIseURBQXlEO3dCQUN6RCxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztvQkFDM0MsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNwQyxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxPQUFPLEdBQXVCLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDO1FBQzdELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDbkQsQ0FBQzsrR0ExRFUsT0FBTzttR0FBUCxPQUFPLGdWQWxCUjs7Ozs7Ozs7Ozs7Ozs7R0FjVCwyREFFUyxZQUFZOzs0RkFFWCxPQUFPO2tCQXBCbkIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7OztHQWNUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCOzhCQUtVLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVhLElBQUk7c0JBQXRCLFNBQVM7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5cbmNvbnN0IGRlZmF1bHRQcm9wcyA9IHt9O1xuXG5pbXBvcnQgeyBEQlN0YWNrUHJvcHMsIERCU3RhY2tTdGF0ZSB9IGZyb20gXCIuL21vZGVsXCI7XG5pbXBvcnQgeyBjbHMsIGdldEJvb2xlYW5Bc1N0cmluZyB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZGItc3RhY2tcIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICAjX3JlZlxuICAgICAgW2F0dHIuaWRdPVwiaWRcIlxuICAgICAgW2NsYXNzXT1cImNscygnZGItc3RhY2snLCBjbGFzc05hbWUpXCJcbiAgICAgIFthdHRyLmRhdGEtZ2FwXT1cImdhcFwiXG4gICAgICBbYXR0ci5kYXRhLXZhcmlhbnRdPVwidmFyaWFudFwiXG4gICAgICBbYXR0ci5kYXRhLWRpcmVjdGlvbl09XCJkaXJlY3Rpb25cIlxuICAgICAgW2F0dHIuZGF0YS1hbGlnbm1lbnRdPVwiYWxpZ25tZW50XCJcbiAgICAgIFthdHRyLmRhdGEtanVzdGlmeS1jb250ZW50XT1cImp1c3RpZnlDb250ZW50XCJcbiAgICAgIFthdHRyLmRhdGEtd3JhcF09XCJnZXRCb29sZWFuQXNTdHJpbmcod3JhcClcIlxuICAgID5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIERCU3RhY2sge1xuICBjbHMgPSBjbHM7XG4gIGdldEJvb2xlYW5Bc1N0cmluZyA9IGdldEJvb2xlYW5Bc1N0cmluZztcblxuICBASW5wdXQoKSBpZCE6IERCU3RhY2tQcm9wc1tcImlkXCJdO1xuICBASW5wdXQoKSBjbGFzc05hbWUhOiBEQlN0YWNrUHJvcHNbXCJjbGFzc05hbWVcIl07XG4gIEBJbnB1dCgpIGdhcCE6IERCU3RhY2tQcm9wc1tcImdhcFwiXTtcbiAgQElucHV0KCkgdmFyaWFudCE6IERCU3RhY2tQcm9wc1tcInZhcmlhbnRcIl07XG4gIEBJbnB1dCgpIGRpcmVjdGlvbiE6IERCU3RhY2tQcm9wc1tcImRpcmVjdGlvblwiXTtcbiAgQElucHV0KCkgYWxpZ25tZW50ITogREJTdGFja1Byb3BzW1wiYWxpZ25tZW50XCJdO1xuICBASW5wdXQoKSBqdXN0aWZ5Q29udGVudCE6IERCU3RhY2tQcm9wc1tcImp1c3RpZnlDb250ZW50XCJdO1xuICBASW5wdXQoKSB3cmFwITogREJTdGFja1Byb3BzW1wid3JhcFwiXTtcblxuICBAVmlld0NoaWxkKFwiX3JlZlwiKSBfcmVmITogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogUGFzc2VzIGBhcmlhLSpgLCBgZGF0YS0qYCAmIGBjbGFzc2AgYXR0cmlidXRlcyB0byBjb3JyZWN0IGNoaWxkLiBVc2VkIGluIGFuZ3VsYXIgYW5kIHN0ZW5jaWwuXG4gICAqIEBwYXJhbSBlbGVtZW50ICB0aGUgcmVmIGZvciB0aGUgY29tcG9uZW50XG4gICAqIEBwYXJhbSBjdXN0b21FbGVtZW50U2VsZWN0b3IgIHRoZSBjdXN0b20gZWxlbWVudCBsaWtlIGBteS1jb21wb25lbnRgXG4gICAqL1xuICBwcml2YXRlIGVuYWJsZUF0dHJpYnV0ZVBhc3NpbmcoXG4gICAgZWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsLFxuICAgIGN1c3RvbUVsZW1lbnRTZWxlY3Rvcjogc3RyaW5nXG4gICkge1xuICAgIGNvbnN0IHBhcmVudCA9IGVsZW1lbnQ/LmNsb3Nlc3QoY3VzdG9tRWxlbWVudFNlbGVjdG9yKTtcbiAgICBpZiAoZWxlbWVudCAmJiBwYXJlbnQpIHtcbiAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBwYXJlbnQuYXR0cmlidXRlcztcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXR0cmlidXRlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBhdHRyID0gYXR0cmlidXRlcy5pdGVtKGkpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgYXR0ciAmJlxuICAgICAgICAgIChhdHRyLm5hbWUuc3RhcnRzV2l0aChcImRhdGEtXCIpIHx8IGF0dHIubmFtZS5zdGFydHNXaXRoKFwiYXJpYS1cIikpXG4gICAgICAgICkge1xuICAgICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKGF0dHIubmFtZSwgYXR0ci52YWx1ZSk7XG4gICAgICAgICAgcGFyZW50LnJlbW92ZUF0dHJpYnV0ZShhdHRyLm5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhdHRyICYmIGF0dHIubmFtZSA9PT0gXCJjbGFzc1wiKSB7XG4gICAgICAgICAgY29uc3QgaXNXZWJDb21wb25lbnQgPSBhdHRyLnZhbHVlLmluY2x1ZGVzKFwiaHlkcmF0ZWRcIik7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBhdHRyLnZhbHVlLnJlcGxhY2UoXCJoeWRyYXRlZFwiLCBcIlwiKS50cmltKCk7XG4gICAgICAgICAgY29uc3QgY3VycmVudENsYXNzID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKTtcbiAgICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShcbiAgICAgICAgICAgIGF0dHIubmFtZSxcbiAgICAgICAgICAgIGAke2N1cnJlbnRDbGFzcyA/IGAke2N1cnJlbnRDbGFzc30gYCA6IFwiXCJ9JHt2YWx1ZX1gXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAoaXNXZWJDb21wb25lbnQpIHtcbiAgICAgICAgICAgIC8vIFN0ZW5jaWwgaXMgdXNpbmcgdGhpcyBjbGFzcyBmb3IgbGF6eSBsb2FkaW5nIGNvbXBvbmVudFxuICAgICAgICAgICAgcGFyZW50LnNldEF0dHJpYnV0ZShcImNsYXNzXCIsIFwiaHlkcmF0ZWRcIik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBhcmVudC5yZW1vdmVBdHRyaWJ1dGUoYXR0ci5uYW1lKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgZWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gdGhpcy5fcmVmPy5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMuZW5hYmxlQXR0cmlidXRlUGFzc2luZyhlbGVtZW50LCBcImRiLXN0YWNrXCIpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { DBSwitch } from './switch';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9vdXRwdXQvYW5ndWxhci9zcmMvY29tcG9uZW50cy9zd2l0Y2gvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IERCU3dpdGNoIH0gZnJvbSAnLi9zd2l0Y2gnIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9vdXRwdXQvYW5ndWxhci9zcmMvY29tcG9uZW50cy9zd2l0Y2gvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZUV2ZW50UHJvcHMsIENoYW5nZUV2ZW50U3RhdGUsIEVtcGhhc2lzUHJvcHMsIEZvY3VzRXZlbnRQcm9wcywgRm9jdXNFdmVudFN0YXRlLCBGb3JtQ2hlY2tQcm9wcywgRm9ybVByb3BzLCBGb3JtU3RhdGUsIEdsb2JhbFByb3BzLCBHbG9iYWxTdGF0ZSwgSWNvbkFmdGVyUHJvcHMsIEljb25Qcm9wcywgSW5pdGlhbGl6ZWRTdGF0ZSwgU2l6ZVByb3BzIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVsJztcbmV4cG9ydCB0eXBlIERCU3dpdGNoRGVmYXVsdFByb3BzID0ge1xuICAvKipcbiAgICogQWRkIGFkZGl0aW9uYWwgaWNvbnMgdG8gaW5kaWNhdGUgYWN0aXZlL2luYWN0aXZlIHN0YXRlLlxuICAgKi9cbiAgdmlzdWFsQWlkPzogYm9vbGVhbjtcbn07XG5leHBvcnQgdHlwZSBEQlN3aXRjaFByb3BzID0gREJTd2l0Y2hEZWZhdWx0UHJvcHMgJiBHbG9iYWxQcm9wcyAmIENoYW5nZUV2ZW50UHJvcHM8SFRNTElucHV0RWxlbWVudD4gJiBGb2N1c0V2ZW50UHJvcHM8SFRNTElucHV0RWxlbWVudD4gJiBGb3JtUHJvcHMgJiBGb3JtQ2hlY2tQcm9wcyAmIEVtcGhhc2lzUHJvcHMgJiBTaXplUHJvcHMgJiBJY29uUHJvcHMgJiBJY29uQWZ0ZXJQcm9wcztcbmV4cG9ydCB0eXBlIERCU3dpdGNoRGVmYXVsdFN0YXRlID0ge1xuICBfY2hlY2tlZDogYm9vbGVhbjtcbn07XG5leHBvcnQgdHlwZSBEQlN3aXRjaFN0YXRlID0gREJTd2l0Y2hEZWZhdWx0U3RhdGUgJiBHbG9iYWxTdGF0ZSAmIENoYW5nZUV2ZW50U3RhdGU8SFRNTElucHV0RWxlbWVudD4gJiBGb2N1c0V2ZW50U3RhdGU8SFRNTElucHV0RWxlbWVudD4gJiBGb3JtU3RhdGUgJiBJbml0aWFsaXplZFN0YXRlIl19
|