@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,96 @@
|
|
|
1
|
+
import { Component, ViewChild, Input } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { cls } from "../../utils";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
const defaultProps = {};
|
|
7
|
+
export class DBTabPanel {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.cls = cls;
|
|
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
|
+
ngOnInit() {
|
|
44
|
+
if (typeof window !== "undefined") {
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
ngAfterViewInit() {
|
|
48
|
+
const element = this._ref?.nativeElement;
|
|
49
|
+
this.enableAttributePassing(element, "db-tab-panel");
|
|
50
|
+
}
|
|
51
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DBTabPanel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DBTabPanel, isStandalone: true, selector: "db-tab-panel", inputs: { className: "className", id: "id", labelledBy: "labelledBy", content: "content" }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true }], ngImport: i0, template: `
|
|
53
|
+
<section
|
|
54
|
+
role="tabpanel"
|
|
55
|
+
#_ref
|
|
56
|
+
[class]="cls('db-tab-panel', className)"
|
|
57
|
+
[attr.id]="id"
|
|
58
|
+
[attr.aria-labelledby]="labelledBy"
|
|
59
|
+
>
|
|
60
|
+
<ng-container *ngIf="content">{{content}}</ng-container>
|
|
61
|
+
<ng-content></ng-content>
|
|
62
|
+
</section>
|
|
63
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
64
|
+
}
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DBTabPanel, decorators: [{
|
|
66
|
+
type: Component,
|
|
67
|
+
args: [{
|
|
68
|
+
selector: "db-tab-panel",
|
|
69
|
+
template: `
|
|
70
|
+
<section
|
|
71
|
+
role="tabpanel"
|
|
72
|
+
#_ref
|
|
73
|
+
[class]="cls('db-tab-panel', className)"
|
|
74
|
+
[attr.id]="id"
|
|
75
|
+
[attr.aria-labelledby]="labelledBy"
|
|
76
|
+
>
|
|
77
|
+
<ng-container *ngIf="content">{{content}}</ng-container>
|
|
78
|
+
<ng-content></ng-content>
|
|
79
|
+
</section>
|
|
80
|
+
`,
|
|
81
|
+
standalone: true,
|
|
82
|
+
imports: [CommonModule],
|
|
83
|
+
}]
|
|
84
|
+
}], propDecorators: { className: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], id: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], labelledBy: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], content: [{
|
|
91
|
+
type: Input
|
|
92
|
+
}], _ref: [{
|
|
93
|
+
type: ViewChild,
|
|
94
|
+
args: ["_ref"]
|
|
95
|
+
}] } });
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXBhbmVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vb3V0cHV0L2FuZ3VsYXIvc3JjL2NvbXBvbmVudHMvdGFiLXBhbmVsL3RhYi1wYW5lbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSy9DLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUhsQyxNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFzQnhCLE1BQU0sT0FBTyxVQUFVO0lBakJ2QjtRQWtCRSxRQUFHLEdBQUcsR0FBRyxDQUFDO0tBMERYO0lBakRDOzs7O09BSUc7SUFDSyxzQkFBc0IsQ0FDNUIsT0FBMkIsRUFDM0IscUJBQTZCO1FBRTdCLE1BQU0sTUFBTSxHQUFHLE9BQU8sRUFBRSxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN2RCxJQUFJLE9BQU8sSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUN0QixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1lBQ3JDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQzNDLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hDLElBQ0UsSUFBSTtvQkFDSixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQ2hFLENBQUM7b0JBQ0QsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDNUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3BDLENBQUM7Z0JBQ0QsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztvQkFDbEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7b0JBQ3ZELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDeEQsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDbkQsT0FBTyxDQUFDLFlBQVksQ0FDbEIsSUFBSSxDQUFDLElBQUksRUFDVCxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUNwRCxDQUFDO29CQUNGLElBQUksY0FBYyxFQUFFLENBQUM7d0JBQ25CLHlEQUF5RDt3QkFDekQsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7b0JBQzNDLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDcEMsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxPQUFPLEdBQXVCLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDO1FBQzdELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDdkQsQ0FBQzsrR0ExRFUsVUFBVTttR0FBVixVQUFVLGtRQWZYOzs7Ozs7Ozs7OztHQVdULDJEQUVTLFlBQVk7OzRGQUVYLFVBQVU7a0JBakJ0QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7O0dBV1Q7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEI7OEJBSVUsU0FBUztzQkFBakIsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRWEsSUFBSTtzQkFBdEIsU0FBUzt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcblxuY29uc3QgZGVmYXVsdFByb3BzID0ge307XG5cbmltcG9ydCB7IERCVGFiUGFuZWxQcm9wcywgREJUYWJQYW5lbFN0YXRlIH0gZnJvbSBcIi4vbW9kZWxcIjtcbmltcG9ydCB7IGNscyB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZGItdGFiLXBhbmVsXCIsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHNlY3Rpb25cbiAgICAgIHJvbGU9XCJ0YWJwYW5lbFwiXG4gICAgICAjX3JlZlxuICAgICAgW2NsYXNzXT1cImNscygnZGItdGFiLXBhbmVsJywgY2xhc3NOYW1lKVwiXG4gICAgICBbYXR0ci5pZF09XCJpZFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwibGFiZWxsZWRCeVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRlbnRcIj57e2NvbnRlbnR9fTwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvc2VjdGlvbj5cbiAgYCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIERCVGFiUGFuZWwge1xuICBjbHMgPSBjbHM7XG5cbiAgQElucHV0KCkgY2xhc3NOYW1lITogREJUYWJQYW5lbFByb3BzW1wiY2xhc3NOYW1lXCJdO1xuICBASW5wdXQoKSBpZCE6IERCVGFiUGFuZWxQcm9wc1tcImlkXCJdO1xuICBASW5wdXQoKSBsYWJlbGxlZEJ5ITogREJUYWJQYW5lbFByb3BzW1wibGFiZWxsZWRCeVwiXTtcbiAgQElucHV0KCkgY29udGVudCE6IERCVGFiUGFuZWxQcm9wc1tcImNvbnRlbnRcIl07XG5cbiAgQFZpZXdDaGlsZChcIl9yZWZcIikgX3JlZiE6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFBhc3NlcyBgYXJpYS0qYCwgYGRhdGEtKmAgJiBgY2xhc3NgIGF0dHJpYnV0ZXMgdG8gY29ycmVjdCBjaGlsZC4gVXNlZCBpbiBhbmd1bGFyIGFuZCBzdGVuY2lsLlxuICAgKiBAcGFyYW0gZWxlbWVudCAgdGhlIHJlZiBmb3IgdGhlIGNvbXBvbmVudFxuICAgKiBAcGFyYW0gY3VzdG9tRWxlbWVudFNlbGVjdG9yICB0aGUgY3VzdG9tIGVsZW1lbnQgbGlrZSBgbXktY29tcG9uZW50YFxuICAgKi9cbiAgcHJpdmF0ZSBlbmFibGVBdHRyaWJ1dGVQYXNzaW5nKFxuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCxcbiAgICBjdXN0b21FbGVtZW50U2VsZWN0b3I6IHN0cmluZ1xuICApIHtcbiAgICBjb25zdCBwYXJlbnQgPSBlbGVtZW50Py5jbG9zZXN0KGN1c3RvbUVsZW1lbnRTZWxlY3Rvcik7XG4gICAgaWYgKGVsZW1lbnQgJiYgcGFyZW50KSB7XG4gICAgICBjb25zdCBhdHRyaWJ1dGVzID0gcGFyZW50LmF0dHJpYnV0ZXM7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGF0dHJpYnV0ZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgYXR0ciA9IGF0dHJpYnV0ZXMuaXRlbShpKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGF0dHIgJiZcbiAgICAgICAgICAoYXR0ci5uYW1lLnN0YXJ0c1dpdGgoXCJkYXRhLVwiKSB8fCBhdHRyLm5hbWUuc3RhcnRzV2l0aChcImFyaWEtXCIpKVxuICAgICAgICApIHtcbiAgICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShhdHRyLm5hbWUsIGF0dHIudmFsdWUpO1xuICAgICAgICAgIHBhcmVudC5yZW1vdmVBdHRyaWJ1dGUoYXR0ci5uYW1lKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYXR0ciAmJiBhdHRyLm5hbWUgPT09IFwiY2xhc3NcIikge1xuICAgICAgICAgIGNvbnN0IGlzV2ViQ29tcG9uZW50ID0gYXR0ci52YWx1ZS5pbmNsdWRlcyhcImh5ZHJhdGVkXCIpO1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gYXR0ci52YWx1ZS5yZXBsYWNlKFwiaHlkcmF0ZWRcIiwgXCJcIikudHJpbSgpO1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRDbGFzcyA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiY2xhc3NcIik7XG4gICAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICBhdHRyLm5hbWUsXG4gICAgICAgICAgICBgJHtjdXJyZW50Q2xhc3MgPyBgJHtjdXJyZW50Q2xhc3N9IGAgOiBcIlwifSR7dmFsdWV9YFxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKGlzV2ViQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAvLyBTdGVuY2lsIGlzIHVzaW5nIHRoaXMgY2xhc3MgZm9yIGxhenkgbG9hZGluZyBjb21wb25lbnRcbiAgICAgICAgICAgIHBhcmVudC5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLCBcImh5ZHJhdGVkXCIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwYXJlbnQucmVtb3ZlQXR0cmlidXRlKGF0dHIubmFtZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgZWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gdGhpcy5fcmVmPy5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMuZW5hYmxlQXR0cmlidXRlUGFzc2luZyhlbGVtZW50LCBcImRiLXRhYi1wYW5lbFwiKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { DBTabs } from './tabs';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9vdXRwdXQvYW5ndWxhci9zcmMvY29tcG9uZW50cy90YWJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBEQlRhYnMgfSBmcm9tICcuL3RhYnMnIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export const TabsBehaviorList = ['scrollbar', 'arrows'];
|
|
2
|
+
export const TabsInitialSelectedModeList = ['auto', 'manually'];
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9vdXRwdXQvYW5ndWxhci9zcmMvY29tcG9uZW50cy90YWJzL21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBVyxDQUFDO0FBRW5FLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWxpZ25tZW50UHJvcHMsIEdsb2JhbFByb3BzLCBHbG9iYWxTdGF0ZSwgSW5pdGlhbGl6ZWRTdGF0ZSwgT3JpZW50YXRpb25Qcm9wcywgV2lkdGhQcm9wcyB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbCc7XG5pbXBvcnQgeyBEQlRhYkl0ZW1Qcm9wcyB9IGZyb20gJy4uL3RhYi1pdGVtL21vZGVsJztcbmltcG9ydCB7IERCVGFiUGFuZWxQcm9wcyB9IGZyb20gJy4uL3RhYi1wYW5lbC9tb2RlbCc7XG5leHBvcnQgY29uc3QgVGFic0JlaGF2aW9yTGlzdCA9IChbJ3Njcm9sbGJhcicsICdhcnJvd3MnXSBhcyBjb25zdCk7XG5leHBvcnQgdHlwZSBUYWJzQmVoYXZpb3JUeXBlID0gKHR5cGVvZiBUYWJzQmVoYXZpb3JMaXN0KVtudW1iZXJdO1xuZXhwb3J0IGNvbnN0IFRhYnNJbml0aWFsU2VsZWN0ZWRNb2RlTGlzdCA9IChbJ2F1dG8nLCAnbWFudWFsbHknXSBhcyBjb25zdCk7XG5leHBvcnQgdHlwZSBUYWJzSW5pdGlhbFNlbGVjdGVkTW9kZVR5cGUgPSAodHlwZW9mIFRhYnNJbml0aWFsU2VsZWN0ZWRNb2RlTGlzdClbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIERCU2ltcGxlVGFiUHJvcHMgPSBEQlRhYkl0ZW1Qcm9wcyAmIERCVGFiUGFuZWxQcm9wcztcbmV4cG9ydCB0eXBlIERCVGFic0RlZmF1bHRQcm9wcyA9IHtcbiAgLyoqXG4gICAqIENoYW5nZSBhbW91bnQgb2YgZGlzdGFuY2UgaWYgeW91IGNsaWNrIG9uIGFuIGFycm93LCBvbmx5IGF2YWlsYWJsZSB3aXRoIGJlaGF2aW9yPVwiYXJyb3dzXCJcbiAgICovXG4gIGFycm93U2Nyb2xsRGlzdGFuY2U/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNob3cgYSBzY3JvbGxiYXIgb3IgYnV0dG9ucyB3aXRoIGFycm93cyB0byBuYXZpZ2F0ZSBmb3IgaG9yaXpvbnRhbCB0YWJzIHdpdGggb3ZlcmZsb3cgdmlzaWJsZVxuICAgKi9cbiAgYmVoYXZpb3I/OiBUYWJzQmVoYXZpb3JUeXBlO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IGJlaGF2aW9yIGlzIGF1dG8gc2VsZWN0aW5nIHRoZSBmaXJzdCB0YWIsIGNoYW5nZSBzZWxlY3RlZCB0YWIgYnkgaW5kZXhcbiAgICovXG4gIGluaXRpYWxTZWxlY3RlZEluZGV4PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IGJlaGF2aW9yIGlzIGF1dG8gc2VsZWN0aW5nIHRoZSBmaXJzdCB0YWIsIGRpc2FibGUgaXQgd2l0aCAnbWFudWFsbHknXG4gICAqL1xuICBpbml0aWFsU2VsZWN0ZWRNb2RlPzogVGFic0luaXRpYWxTZWxlY3RlZE1vZGVUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgdGFiIGJhciwgaXMgcmVxdWlyZWQgZm9yIGdyb3VwaW5nIG11bHRpcGxlIHRhYnMgdG9nZXRoZXIuIFdpbGwgb3ZlcndyaXRlIG5hbWVzIGZyb20gY2hpbGRyZW4uXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQcm92aWRlIHNpbXBsZSB0YWJzIHdpdGggbGFiZWwgKyB0ZXh0IGFzIGNvbnRlbnRcbiAgICovXG4gIHRhYnM/OiBEQlNpbXBsZVRhYlByb3BzW10gfCBzdHJpbmc7XG59O1xuZXhwb3J0IHR5cGUgREJUYWJzUHJvcHMgPSBEQlRhYnNEZWZhdWx0UHJvcHMgJiBHbG9iYWxQcm9wcyAmIE9yaWVudGF0aW9uUHJvcHMgJiBXaWR0aFByb3BzICYgQWxpZ25tZW50UHJvcHM7XG5leHBvcnQgdHlwZSBEQlRhYnNEZWZhdWx0U3RhdGUgPSB7XG4gIF9uYW1lOiBzdHJpbmc7XG4gIHNjcm9sbENvbnRhaW5lcj86IEVsZW1lbnQgfCBudWxsO1xuICBzY3JvbGw6IChsZWZ0PzogYm9vbGVhbikgPT4gdm9pZDtcbiAgc2hvd1Njcm9sbExlZnQ/OiBib29sZWFuO1xuICBzaG93U2Nyb2xsUmlnaHQ/OiBib29sZWFuO1xuICBldmFsdWF0ZVNjcm9sbEJ1dHRvbnM6ICh0YWJMaXN0OiBFbGVtZW50KSA9PiB2b2lkO1xuICBjb252ZXJ0VGFiczogKHRhYnM/OiB1bmtub3duW10gfCBzdHJpbmcgfCB1bmRlZmluZWQpID0+IERCU2ltcGxlVGFiUHJvcHNbXTtcbiAgaW5pdFRhYkxpc3Q6ICgpID0+IHZvaWQ7XG4gIGluaXRUYWJzOiAoaW5pdD86IGJvb2xlYW4pID0+IHZvaWQ7XG59O1xuZXhwb3J0IHR5cGUgREJUYWJzU3RhdGUgPSBEQlRhYnNEZWZhdWx0U3RhdGUgJiBHbG9iYWxTdGF0ZSAmIEluaXRpYWxpemVkU3RhdGUiXX0=
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
import { Component, ViewChild, Input, } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { cls, uuid } from "../../utils";
|
|
4
|
+
import { DBButton } from "../button/button";
|
|
5
|
+
import { DBTabList } from "../tab-list/tab-list";
|
|
6
|
+
import { DBTabItem } from "../tab-item/tab-item";
|
|
7
|
+
import { DBTabPanel } from "../tab-panel/tab-panel";
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/common";
|
|
10
|
+
const defaultProps = {};
|
|
11
|
+
export class DBTabs {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.cls = cls;
|
|
14
|
+
this._id = "tabs-" + uuid();
|
|
15
|
+
this._name = "";
|
|
16
|
+
this.initialized = false;
|
|
17
|
+
this.showScrollLeft = false;
|
|
18
|
+
this.showScrollRight = false;
|
|
19
|
+
this.scrollContainer = null;
|
|
20
|
+
}
|
|
21
|
+
convertTabs(tabs) {
|
|
22
|
+
try {
|
|
23
|
+
if (typeof tabs === "string") {
|
|
24
|
+
return JSON.parse(tabs);
|
|
25
|
+
}
|
|
26
|
+
return tabs;
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
console.error(error);
|
|
30
|
+
}
|
|
31
|
+
return [];
|
|
32
|
+
}
|
|
33
|
+
evaluateScrollButtons(tList) {
|
|
34
|
+
const needsScroll = tList.scrollWidth > tList.clientWidth;
|
|
35
|
+
this.showScrollLeft = needsScroll && tList.scrollLeft > 1;
|
|
36
|
+
this.showScrollRight =
|
|
37
|
+
needsScroll && tList.scrollLeft < tList.scrollWidth - tList.clientWidth;
|
|
38
|
+
}
|
|
39
|
+
scroll(left) {
|
|
40
|
+
let step = this.arrowScrollDistance || 100;
|
|
41
|
+
if (left) {
|
|
42
|
+
step *= -1;
|
|
43
|
+
}
|
|
44
|
+
this.scrollContainer?.scrollBy({
|
|
45
|
+
top: 0,
|
|
46
|
+
left: step,
|
|
47
|
+
behavior: "smooth",
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
initTabList() {
|
|
51
|
+
if (this._ref?.nativeElement) {
|
|
52
|
+
const tabList = this._ref.nativeElement.querySelector(".db-tab-list");
|
|
53
|
+
if (tabList) {
|
|
54
|
+
const container = tabList.querySelector('[role="tablist"]');
|
|
55
|
+
if (container) {
|
|
56
|
+
container.setAttribute("aria-orientation", this.orientation || "horizontal");
|
|
57
|
+
if (this.behavior === "arrows") {
|
|
58
|
+
this.scrollContainer = container;
|
|
59
|
+
this.evaluateScrollButtons(container);
|
|
60
|
+
container.addEventListener("scroll", () => {
|
|
61
|
+
this.evaluateScrollButtons(container);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
initTabs(init) {
|
|
69
|
+
if (this._ref?.nativeElement) {
|
|
70
|
+
const tabItems = Array.from(this._ref?.nativeElement.getElementsByClassName("db-tab-item"));
|
|
71
|
+
for (const tabItem of tabItems) {
|
|
72
|
+
const index = tabItems.indexOf(tabItem);
|
|
73
|
+
const label = tabItem.querySelector("label");
|
|
74
|
+
const input = tabItem.querySelector("input");
|
|
75
|
+
if (input && label) {
|
|
76
|
+
if (!input.id) {
|
|
77
|
+
const tabId = `${this._name}-tab-${index}`;
|
|
78
|
+
label.setAttribute("for", tabId);
|
|
79
|
+
input.setAttribute("aria-controls", `${this._name}-tab-panel-${index}`);
|
|
80
|
+
input.id = tabId;
|
|
81
|
+
input.setAttribute("name", this._name);
|
|
82
|
+
}
|
|
83
|
+
if (init) {
|
|
84
|
+
// Auto select
|
|
85
|
+
const autoSelect = !this.initialSelectedMode || this.initialSelectedMode === "auto";
|
|
86
|
+
const shouldAutoSelect = (this.initialSelectedIndex == null && index === 0) ||
|
|
87
|
+
this.initialSelectedIndex === index;
|
|
88
|
+
if (autoSelect && shouldAutoSelect) {
|
|
89
|
+
input.click();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
const tabPanels = Array.from(this._ref?.nativeElement.querySelectorAll(":is(:scope > .db-tab-panel, :scope > db-tab-panel > .db-tab-panel)"));
|
|
95
|
+
for (const panel of tabPanels) {
|
|
96
|
+
if (panel.id)
|
|
97
|
+
continue;
|
|
98
|
+
const index = tabPanels.indexOf(panel);
|
|
99
|
+
panel.id = `${this._name}-tab-panel-${index}`;
|
|
100
|
+
panel.setAttribute("aria-labelledby", `${this._name}-tab-${index}`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
trackByTab0(index, tab) {
|
|
105
|
+
return this.name + "tab-item" + index;
|
|
106
|
+
}
|
|
107
|
+
trackByTab1(index, tab) {
|
|
108
|
+
return this.name + "tab-panel" + index;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.
|
|
112
|
+
* @param element the ref for the component
|
|
113
|
+
* @param customElementSelector the custom element like `my-component`
|
|
114
|
+
*/
|
|
115
|
+
enableAttributePassing(element, customElementSelector) {
|
|
116
|
+
const parent = element?.closest(customElementSelector);
|
|
117
|
+
if (element && parent) {
|
|
118
|
+
const attributes = parent.attributes;
|
|
119
|
+
for (let i = 0; i < attributes.length; i++) {
|
|
120
|
+
const attr = attributes.item(i);
|
|
121
|
+
if (attr &&
|
|
122
|
+
(attr.name.startsWith("data-") || attr.name.startsWith("aria-"))) {
|
|
123
|
+
element.setAttribute(attr.name, attr.value);
|
|
124
|
+
parent.removeAttribute(attr.name);
|
|
125
|
+
}
|
|
126
|
+
if (attr && attr.name === "class") {
|
|
127
|
+
const isWebComponent = attr.value.includes("hydrated");
|
|
128
|
+
const value = attr.value.replace("hydrated", "").trim();
|
|
129
|
+
const currentClass = element.getAttribute("class");
|
|
130
|
+
element.setAttribute(attr.name, `${currentClass ? `${currentClass} ` : ""}${value}`);
|
|
131
|
+
if (isWebComponent) {
|
|
132
|
+
// Stencil is using this class for lazy loading component
|
|
133
|
+
parent.setAttribute("class", "hydrated");
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
parent.removeAttribute(attr.name);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
ngOnInit() {
|
|
143
|
+
if (typeof window !== "undefined") {
|
|
144
|
+
this._id = this.id || this._id;
|
|
145
|
+
this._name = `tabs-${this.name || uuid()}`;
|
|
146
|
+
this.initialized = true;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
ngAfterViewInit() {
|
|
150
|
+
const element = this._ref?.nativeElement;
|
|
151
|
+
this.enableAttributePassing(element, "db-tabs");
|
|
152
|
+
}
|
|
153
|
+
ngAfterContentChecked(changes) {
|
|
154
|
+
if (typeof window !== "undefined") {
|
|
155
|
+
if (this._ref?.nativeElement && this.initialized) {
|
|
156
|
+
this.initTabList();
|
|
157
|
+
this.initTabs(true);
|
|
158
|
+
const tabList = this._ref.nativeElement.querySelector(".db-tab-list");
|
|
159
|
+
if (tabList) {
|
|
160
|
+
const observer = new MutationObserver((mutations) => {
|
|
161
|
+
mutations.forEach((mutation) => {
|
|
162
|
+
if (mutation.removedNodes.length || mutation.addedNodes.length) {
|
|
163
|
+
this.initTabList();
|
|
164
|
+
this.initTabs();
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
});
|
|
168
|
+
observer.observe(tabList, {
|
|
169
|
+
childList: true,
|
|
170
|
+
subtree: true,
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
this.initialized = false;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DBTabs, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
178
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DBTabs, isStandalone: true, selector: "db-tabs", inputs: { id: "id", name: "name", arrowScrollDistance: "arrowScrollDistance", orientation: "orientation", behavior: "behavior", initialSelectedMode: "initialSelectedMode", initialSelectedIndex: "initialSelectedIndex", className: "className", alignment: "alignment", width: "width", tabs: "tabs" }, viewQueries: [{ propertyName: "_ref", first: true, predicate: ["_ref"], descendants: true }], ngImport: i0, template: `
|
|
179
|
+
<div
|
|
180
|
+
#_ref
|
|
181
|
+
[attr.id]="_id"
|
|
182
|
+
[class]="cls('db-tabs', className)"
|
|
183
|
+
[attr.data-orientation]="orientation"
|
|
184
|
+
[attr.data-scroll-behavior]="behavior"
|
|
185
|
+
[attr.data-alignment]="alignment ?? 'start'"
|
|
186
|
+
[attr.data-width]="width ?? 'auto'"
|
|
187
|
+
>
|
|
188
|
+
<ng-container *ngIf="showScrollLeft">
|
|
189
|
+
<db-button
|
|
190
|
+
class="tabs-scroll-left"
|
|
191
|
+
variant="ghost"
|
|
192
|
+
icon="chevron_left"
|
|
193
|
+
[noText]="true"
|
|
194
|
+
(click)="scroll(true)"
|
|
195
|
+
>
|
|
196
|
+
Scroll left
|
|
197
|
+
</db-button>
|
|
198
|
+
</ng-container>
|
|
199
|
+
<ng-container *ngIf="tabs">
|
|
200
|
+
<db-tab-list>
|
|
201
|
+
<ng-container
|
|
202
|
+
*ngFor="let tab of convertTabs(tabs); index as index; trackBy: trackByTab0"
|
|
203
|
+
>
|
|
204
|
+
<db-tab-item
|
|
205
|
+
[active]="tab.active"
|
|
206
|
+
[label]="tab.label"
|
|
207
|
+
[iconAfter]="tab.iconAfter"
|
|
208
|
+
[icon]="tab.icon"
|
|
209
|
+
[noText]="tab.noText"
|
|
210
|
+
></db-tab-item>
|
|
211
|
+
</ng-container>
|
|
212
|
+
</db-tab-list>
|
|
213
|
+
<ng-container
|
|
214
|
+
*ngFor="let tab of convertTabs(tabs); index as index; trackBy: trackByTab1"
|
|
215
|
+
>
|
|
216
|
+
<db-tab-panel [content]="tab.content">{{tab.children}}</db-tab-panel>
|
|
217
|
+
</ng-container>
|
|
218
|
+
</ng-container>
|
|
219
|
+
<ng-container *ngIf="showScrollRight">
|
|
220
|
+
<db-button
|
|
221
|
+
class="tabs-scroll-right"
|
|
222
|
+
variant="ghost"
|
|
223
|
+
icon="chevron_right"
|
|
224
|
+
[noText]="true"
|
|
225
|
+
(click)="scroll()"
|
|
226
|
+
>
|
|
227
|
+
Scroll right
|
|
228
|
+
</db-button>
|
|
229
|
+
</ng-container>
|
|
230
|
+
<ng-content></ng-content>
|
|
231
|
+
</div>
|
|
232
|
+
`, 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: DBButton, selector: "db-button", inputs: ["id", "className", "type", "disabled", "label", "icon", "showIcon", "size", "state", "width", "variant", "noText", "name", "value", "describedbyid", "ariaexpanded", "ariapressed", "text"], outputs: ["onClick"] }, { kind: "component", type: DBTabList, selector: "db-tab-list", inputs: ["id", "className"] }, { kind: "component", type: DBTabItem, selector: "db-tab-item", inputs: ["active", "className", "id", "icon", "iconAfter", "showIcon", "noText", "disabled", "controls", "checked", "label"], outputs: ["onChange", "change"] }, { kind: "component", type: DBTabPanel, selector: "db-tab-panel", inputs: ["className", "id", "labelledBy", "content"] }] }); }
|
|
233
|
+
}
|
|
234
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DBTabs, decorators: [{
|
|
235
|
+
type: Component,
|
|
236
|
+
args: [{
|
|
237
|
+
selector: "db-tabs",
|
|
238
|
+
template: `
|
|
239
|
+
<div
|
|
240
|
+
#_ref
|
|
241
|
+
[attr.id]="_id"
|
|
242
|
+
[class]="cls('db-tabs', className)"
|
|
243
|
+
[attr.data-orientation]="orientation"
|
|
244
|
+
[attr.data-scroll-behavior]="behavior"
|
|
245
|
+
[attr.data-alignment]="alignment ?? 'start'"
|
|
246
|
+
[attr.data-width]="width ?? 'auto'"
|
|
247
|
+
>
|
|
248
|
+
<ng-container *ngIf="showScrollLeft">
|
|
249
|
+
<db-button
|
|
250
|
+
class="tabs-scroll-left"
|
|
251
|
+
variant="ghost"
|
|
252
|
+
icon="chevron_left"
|
|
253
|
+
[noText]="true"
|
|
254
|
+
(click)="scroll(true)"
|
|
255
|
+
>
|
|
256
|
+
Scroll left
|
|
257
|
+
</db-button>
|
|
258
|
+
</ng-container>
|
|
259
|
+
<ng-container *ngIf="tabs">
|
|
260
|
+
<db-tab-list>
|
|
261
|
+
<ng-container
|
|
262
|
+
*ngFor="let tab of convertTabs(tabs); index as index; trackBy: trackByTab0"
|
|
263
|
+
>
|
|
264
|
+
<db-tab-item
|
|
265
|
+
[active]="tab.active"
|
|
266
|
+
[label]="tab.label"
|
|
267
|
+
[iconAfter]="tab.iconAfter"
|
|
268
|
+
[icon]="tab.icon"
|
|
269
|
+
[noText]="tab.noText"
|
|
270
|
+
></db-tab-item>
|
|
271
|
+
</ng-container>
|
|
272
|
+
</db-tab-list>
|
|
273
|
+
<ng-container
|
|
274
|
+
*ngFor="let tab of convertTabs(tabs); index as index; trackBy: trackByTab1"
|
|
275
|
+
>
|
|
276
|
+
<db-tab-panel [content]="tab.content">{{tab.children}}</db-tab-panel>
|
|
277
|
+
</ng-container>
|
|
278
|
+
</ng-container>
|
|
279
|
+
<ng-container *ngIf="showScrollRight">
|
|
280
|
+
<db-button
|
|
281
|
+
class="tabs-scroll-right"
|
|
282
|
+
variant="ghost"
|
|
283
|
+
icon="chevron_right"
|
|
284
|
+
[noText]="true"
|
|
285
|
+
(click)="scroll()"
|
|
286
|
+
>
|
|
287
|
+
Scroll right
|
|
288
|
+
</db-button>
|
|
289
|
+
</ng-container>
|
|
290
|
+
<ng-content></ng-content>
|
|
291
|
+
</div>
|
|
292
|
+
`,
|
|
293
|
+
standalone: true,
|
|
294
|
+
imports: [CommonModule, DBButton, DBTabList, DBTabItem, DBTabPanel],
|
|
295
|
+
}]
|
|
296
|
+
}], propDecorators: { id: [{
|
|
297
|
+
type: Input
|
|
298
|
+
}], name: [{
|
|
299
|
+
type: Input
|
|
300
|
+
}], arrowScrollDistance: [{
|
|
301
|
+
type: Input
|
|
302
|
+
}], orientation: [{
|
|
303
|
+
type: Input
|
|
304
|
+
}], behavior: [{
|
|
305
|
+
type: Input
|
|
306
|
+
}], initialSelectedMode: [{
|
|
307
|
+
type: Input
|
|
308
|
+
}], initialSelectedIndex: [{
|
|
309
|
+
type: Input
|
|
310
|
+
}], className: [{
|
|
311
|
+
type: Input
|
|
312
|
+
}], alignment: [{
|
|
313
|
+
type: Input
|
|
314
|
+
}], width: [{
|
|
315
|
+
type: Input
|
|
316
|
+
}], tabs: [{
|
|
317
|
+
type: Input
|
|
318
|
+
}], _ref: [{
|
|
319
|
+
type: ViewChild,
|
|
320
|
+
args: ["_ref"]
|
|
321
|
+
}] } });
|
|
322
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL291dHB1dC9hbmd1bGFyL3NyYy9jb21wb25lbnRzL3RhYnMvdGFicy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFFVCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSy9DLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBUHBELE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztBQXFFeEIsTUFBTSxPQUFPLE1BQU07SUE1RG5CO1FBNkRFLFFBQUcsR0FBRyxHQUFHLENBQUM7UUFnQlYsUUFBRyxHQUF1QixPQUFPLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDM0MsVUFBSyxHQUF5QixFQUFFLENBQUM7UUFDakMsZ0JBQVcsR0FBK0IsS0FBSyxDQUFDO1FBQ2hELG1CQUFjLEdBQWtDLEtBQUssQ0FBQztRQUN0RCxvQkFBZSxHQUFtQyxLQUFLLENBQUM7UUFDeEQsb0JBQWUsR0FBbUMsSUFBSSxDQUFDO0tBeUx4RDtJQXhMQyxXQUFXLENBQ1QsSUFBb0M7UUFFcEMsSUFBSSxDQUFDO1lBQ0gsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFCLENBQUM7WUFDRCxPQUFPLElBQTBCLENBQUM7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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNEVCwyREFFUyxZQUFZLGdRQUFFLFFBQVEsa1JBQUUsU0FBUyxxRkFBRSxTQUFTLHVOQUFFLFVBQVU7OzRGQUV2RCxNQUFNO2tCQTVEbEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsU0FBUztvQkFDbkIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzRFQ7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUM7aUJBQ3BFOzhCQUlVLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVhLElBQUk7c0JBQXRCLFNBQVM7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgVmlld0NoaWxkLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcblxuY29uc3QgZGVmYXVsdFByb3BzID0ge307XG5cbmltcG9ydCB7IERCU2ltcGxlVGFiUHJvcHMsIERCVGFic1Byb3BzLCBEQlRhYnNTdGF0ZSB9IGZyb20gXCIuL21vZGVsXCI7XG5pbXBvcnQgeyBjbHMsIHV1aWQgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcbmltcG9ydCB7IERCQnV0dG9uIH0gZnJvbSBcIi4uL2J1dHRvbi9idXR0b25cIjtcbmltcG9ydCB7IERCVGFiTGlzdCB9IGZyb20gXCIuLi90YWItbGlzdC90YWItbGlzdFwiO1xuaW1wb3J0IHsgREJUYWJJdGVtIH0gZnJvbSBcIi4uL3RhYi1pdGVtL3RhYi1pdGVtXCI7XG5pbXBvcnQgeyBEQlRhYlBhbmVsIH0gZnJvbSBcIi4uL3RhYi1wYW5lbC90YWItcGFuZWxcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImRiLXRhYnNcIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICAjX3JlZlxuICAgICAgW2F0dHIuaWRdPVwiX2lkXCJcbiAgICAgIFtjbGFzc109XCJjbHMoJ2RiLXRhYnMnLCBjbGFzc05hbWUpXCJcbiAgICAgIFthdHRyLmRhdGEtb3JpZW50YXRpb25dPVwib3JpZW50YXRpb25cIlxuICAgICAgW2F0dHIuZGF0YS1zY3JvbGwtYmVoYXZpb3JdPVwiYmVoYXZpb3JcIlxuICAgICAgW2F0dHIuZGF0YS1hbGlnbm1lbnRdPVwiYWxpZ25tZW50ID8/ICdzdGFydCdcIlxuICAgICAgW2F0dHIuZGF0YS13aWR0aF09XCJ3aWR0aCA/PyAnYXV0bydcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93U2Nyb2xsTGVmdFwiPlxuICAgICAgICA8ZGItYnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJ0YWJzLXNjcm9sbC1sZWZ0XCJcbiAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgIGljb249XCJjaGV2cm9uX2xlZnRcIlxuICAgICAgICAgIFtub1RleHRdPVwidHJ1ZVwiXG4gICAgICAgICAgKGNsaWNrKT1cInNjcm9sbCh0cnVlKVwiXG4gICAgICAgID5cbiAgICAgICAgICBTY3JvbGwgbGVmdFxuICAgICAgICA8L2RiLWJ1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRhYnNcIj5cbiAgICAgICAgPGRiLXRhYi1saXN0PlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgY29udmVydFRhYnModGFicyk7IGluZGV4IGFzIGluZGV4OyB0cmFja0J5OiB0cmFja0J5VGFiMFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRiLXRhYi1pdGVtXG4gICAgICAgICAgICAgIFthY3RpdmVdPVwidGFiLmFjdGl2ZVwiXG4gICAgICAgICAgICAgIFtsYWJlbF09XCJ0YWIubGFiZWxcIlxuICAgICAgICAgICAgICBbaWNvbkFmdGVyXT1cInRhYi5pY29uQWZ0ZXJcIlxuICAgICAgICAgICAgICBbaWNvbl09XCJ0YWIuaWNvblwiXG4gICAgICAgICAgICAgIFtub1RleHRdPVwidGFiLm5vVGV4dFwiXG4gICAgICAgICAgICA+PC9kYi10YWItaXRlbT5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kYi10YWItbGlzdD5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgY29udmVydFRhYnModGFicyk7IGluZGV4IGFzIGluZGV4OyB0cmFja0J5OiB0cmFja0J5VGFiMVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGItdGFiLXBhbmVsIFtjb250ZW50XT1cInRhYi5jb250ZW50XCI+e3t0YWIuY2hpbGRyZW59fTwvZGItdGFiLXBhbmVsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dTY3JvbGxSaWdodFwiPlxuICAgICAgICA8ZGItYnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJ0YWJzLXNjcm9sbC1yaWdodFwiXG4gICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICBpY29uPVwiY2hldnJvbl9yaWdodFwiXG4gICAgICAgICAgW25vVGV4dF09XCJ0cnVlXCJcbiAgICAgICAgICAoY2xpY2spPVwic2Nyb2xsKClcIlxuICAgICAgICA+XG4gICAgICAgICAgU2Nyb2xsIHJpZ2h0XG4gICAgICAgIDwvZGItYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIERCQnV0dG9uLCBEQlRhYkxpc3QsIERCVGFiSXRlbSwgREJUYWJQYW5lbF0sXG59KVxuZXhwb3J0IGNsYXNzIERCVGFicyB7XG4gIGNscyA9IGNscztcblxuICBASW5wdXQoKSBpZCE6IERCVGFic1Byb3BzW1wiaWRcIl07XG4gIEBJbnB1dCgpIG5hbWUhOiBEQlRhYnNQcm9wc1tcIm5hbWVcIl07XG4gIEBJbnB1dCgpIGFycm93U2Nyb2xsRGlzdGFuY2UhOiBEQlRhYnNQcm9wc1tcImFycm93U2Nyb2xsRGlzdGFuY2VcIl07XG4gIEBJbnB1dCgpIG9yaWVudGF0aW9uITogREJUYWJzUHJvcHNbXCJvcmllbnRhdGlvblwiXTtcbiAgQElucHV0KCkgYmVoYXZpb3IhOiBEQlRhYnNQcm9wc1tcImJlaGF2aW9yXCJdO1xuICBASW5wdXQoKSBpbml0aWFsU2VsZWN0ZWRNb2RlITogREJUYWJzUHJvcHNbXCJpbml0aWFsU2VsZWN0ZWRNb2RlXCJdO1xuICBASW5wdXQoKSBpbml0aWFsU2VsZWN0ZWRJbmRleCE6IERCVGFic1Byb3BzW1wiaW5pdGlhbFNlbGVjdGVkSW5kZXhcIl07XG4gIEBJbnB1dCgpIGNsYXNzTmFtZSE6IERCVGFic1Byb3BzW1wiY2xhc3NOYW1lXCJdO1xuICBASW5wdXQoKSBhbGlnbm1lbnQhOiBEQlRhYnNQcm9wc1tcImFsaWdubWVudFwiXTtcbiAgQElucHV0KCkgd2lkdGghOiBEQlRhYnNQcm9wc1tcIndpZHRoXCJdO1xuICBASW5wdXQoKSB0YWJzITogREJUYWJzUHJvcHNbXCJ0YWJzXCJdO1xuXG4gIEBWaWV3Q2hpbGQoXCJfcmVmXCIpIF9yZWYhOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIF9pZDogREJUYWJzU3RhdGVbXCJfaWRcIl0gPSBcInRhYnMtXCIgKyB1dWlkKCk7XG4gIF9uYW1lOiBEQlRhYnNTdGF0ZVtcIl9uYW1lXCJdID0gXCJcIjtcbiAgaW5pdGlhbGl6ZWQ6IERCVGFic1N0YXRlW1wiaW5pdGlhbGl6ZWRcIl0gPSBmYWxzZTtcbiAgc2hvd1Njcm9sbExlZnQ6IERCVGFic1N0YXRlW1wic2hvd1Njcm9sbExlZnRcIl0gPSBmYWxzZTtcbiAgc2hvd1Njcm9sbFJpZ2h0OiBEQlRhYnNTdGF0ZVtcInNob3dTY3JvbGxSaWdodFwiXSA9IGZhbHNlO1xuICBzY3JvbGxDb250YWluZXI6IERCVGFic1N0YXRlW1wic2Nyb2xsQ29udGFpbmVyXCJdID0gbnVsbDtcbiAgY29udmVydFRhYnMoXG4gICAgdGFiczogdW5rbm93bltdIHwgc3RyaW5nIHwgdW5kZWZpbmVkXG4gICk6IFJldHVyblR5cGU8REJUYWJzU3RhdGVbXCJjb252ZXJ0VGFic1wiXT4ge1xuICAgIHRyeSB7XG4gICAgICBpZiAodHlwZW9mIHRhYnMgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UodGFicyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGFicyBhcyBEQlNpbXBsZVRhYlByb3BzW107XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cbiAgZXZhbHVhdGVTY3JvbGxCdXR0b25zKFxuICAgIHRMaXN0OiBFbGVtZW50XG4gICk6IFJldHVyblR5cGU8REJUYWJzU3RhdGVbXCJldmFsdWF0ZVNjcm9sbEJ1dHRvbnNcIl0+IHtcbiAgICBjb25zdCBuZWVkc1Njcm9sbCA9IHRMaXN0LnNjcm9sbFdpZHRoID4gdExpc3QuY2xpZW50V2lkdGg7XG4gICAgdGhpcy5zaG93U2Nyb2xsTGVmdCA9IG5lZWRzU2Nyb2xsICYmIHRMaXN0LnNjcm9sbExlZnQgPiAxO1xuICAgIHRoaXMuc2hvd1Njcm9sbFJpZ2h0ID1cbiAgICAgIG5lZWRzU2Nyb2xsICYmIHRMaXN0LnNjcm9sbExlZnQgPCB0TGlzdC5zY3JvbGxXaWR0aCAtIHRMaXN0LmNsaWVudFdpZHRoO1xuICB9XG4gIHNjcm9sbChsZWZ0PzogYm9vbGVhbik6IFJldHVyblR5cGU8REJUYWJzU3RhdGVbXCJzY3JvbGxcIl0+IHtcbiAgICBsZXQgc3RlcCA9IHRoaXMuYXJyb3dTY3JvbGxEaXN0YW5jZSB8fCAxMDA7XG4gICAgaWYgKGxlZnQpIHtcbiAgICAgIHN0ZXAgKj0gLTE7XG4gICAgfVxuICAgIHRoaXMuc2Nyb2xsQ29udGFpbmVyPy5zY3JvbGxCeSh7XG4gICAgICB0b3A6IDAsXG4gICAgICBsZWZ0OiBzdGVwLFxuICAgICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgfSk7XG4gIH1cbiAgaW5pdFRhYkxpc3QoKTogUmV0dXJuVHlwZTxEQlRhYnNTdGF0ZVtcImluaXRUYWJMaXN0XCJdPiB7XG4gICAgaWYgKHRoaXMuX3JlZj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgY29uc3QgdGFiTGlzdCA9IHRoaXMuX3JlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIuZGItdGFiLWxpc3RcIik7XG4gICAgICBpZiAodGFiTGlzdCkge1xuICAgICAgICBjb25zdCBjb250YWluZXI6IEhUTUxFbGVtZW50IHwgbnVsbCA9XG4gICAgICAgICAgdGFiTGlzdC5xdWVyeVNlbGVjdG9yKCdbcm9sZT1cInRhYmxpc3RcIl0nKTtcbiAgICAgICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgICAgIGNvbnRhaW5lci5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICBcImFyaWEtb3JpZW50YXRpb25cIixcbiAgICAgICAgICAgIHRoaXMub3JpZW50YXRpb24gfHwgXCJob3Jpem9udGFsXCJcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmICh0aGlzLmJlaGF2aW9yID09PSBcImFycm93c1wiKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbENvbnRhaW5lciA9IGNvbnRhaW5lcjtcbiAgICAgICAgICAgIHRoaXMuZXZhbHVhdGVTY3JvbGxCdXR0b25zKGNvbnRhaW5lcik7XG4gICAgICAgICAgICBjb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCAoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuZXZhbHVhdGVTY3JvbGxCdXR0b25zKGNvbnRhaW5lcik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaW5pdFRhYnMoaW5pdD86IGJvb2xlYW4pOiBSZXR1cm5UeXBlPERCVGFic1N0YXRlW1wiaW5pdFRhYnNcIl0+IHtcbiAgICBpZiAodGhpcy5fcmVmPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICBjb25zdCB0YWJJdGVtcyA9IEFycmF5LmZyb208RWxlbWVudD4oXG4gICAgICAgIHRoaXMuX3JlZj8ubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwiZGItdGFiLWl0ZW1cIilcbiAgICAgICk7XG4gICAgICBmb3IgKGNvbnN0IHRhYkl0ZW0gb2YgdGFiSXRlbXMpIHtcbiAgICAgICAgY29uc3QgaW5kZXg6IG51bWJlciA9IHRhYkl0ZW1zLmluZGV4T2YodGFiSXRlbSk7XG4gICAgICAgIGNvbnN0IGxhYmVsID0gdGFiSXRlbS5xdWVyeVNlbGVjdG9yKFwibGFiZWxcIik7XG4gICAgICAgIGNvbnN0IGlucHV0ID0gdGFiSXRlbS5xdWVyeVNlbGVjdG9yKFwiaW5wdXRcIik7XG4gICAgICAgIGlmIChpbnB1dCAmJiBsYWJlbCkge1xuICAgICAgICAgIGlmICghaW5wdXQuaWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHRhYklkID0gYCR7dGhpcy5fbmFtZX0tdGFiLSR7aW5kZXh9YDtcbiAgICAgICAgICAgIGxhYmVsLnNldEF0dHJpYnV0ZShcImZvclwiLCB0YWJJZCk7XG4gICAgICAgICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgIFwiYXJpYS1jb250cm9sc1wiLFxuICAgICAgICAgICAgICBgJHt0aGlzLl9uYW1lfS10YWItcGFuZWwtJHtpbmRleH1gXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaW5wdXQuaWQgPSB0YWJJZDtcbiAgICAgICAgICAgIGlucHV0LnNldEF0dHJpYnV0ZShcIm5hbWVcIiwgdGhpcy5fbmFtZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpbml0KSB7XG4gICAgICAgICAgICAvLyBBdXRvIHNlbGVjdFxuICAgICAgICAgICAgY29uc3QgYXV0b1NlbGVjdCA9XG4gICAgICAgICAgICAgICF0aGlzLmluaXRpYWxTZWxlY3RlZE1vZGUgfHwgdGhpcy5pbml0aWFsU2VsZWN0ZWRNb2RlID09PSBcImF1dG9cIjtcbiAgICAgICAgICAgIGNvbnN0IHNob3VsZEF1dG9TZWxlY3QgPVxuICAgICAgICAgICAgICAodGhpcy5pbml0aWFsU2VsZWN0ZWRJbmRleCA9PSBudWxsICYmIGluZGV4ID09PSAwKSB8fFxuICAgICAgICAgICAgICB0aGlzLmluaXRpYWxTZWxlY3RlZEluZGV4ID09PSBpbmRleDtcbiAgICAgICAgICAgIGlmIChhdXRvU2VsZWN0ICYmIHNob3VsZEF1dG9TZWxlY3QpIHtcbiAgICAgICAgICAgICAgaW5wdXQuY2xpY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IHRhYlBhbmVscyA9IEFycmF5LmZyb208RWxlbWVudD4oXG4gICAgICAgIHRoaXMuX3JlZj8ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAgIFwiOmlzKDpzY29wZSA+IC5kYi10YWItcGFuZWwsIDpzY29wZSA+IGRiLXRhYi1wYW5lbCA+IC5kYi10YWItcGFuZWwpXCJcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIGZvciAoY29uc3QgcGFuZWwgb2YgdGFiUGFuZWxzKSB7XG4gICAgICAgIGlmIChwYW5lbC5pZCkgY29udGludWU7XG4gICAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0YWJQYW5lbHMuaW5kZXhPZihwYW5lbCk7XG4gICAgICAgIHBhbmVsLmlkID0gYCR7dGhpcy5fbmFtZX0tdGFiLXBhbmVsLSR7aW5kZXh9YDtcbiAgICAgICAgcGFuZWwuc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbGxlZGJ5XCIsIGAke3RoaXMuX25hbWV9LXRhYi0ke2luZGV4fWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICB0cmFja0J5VGFiMChpbmRleCwgdGFiKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZSArIFwidGFiLWl0ZW1cIiArIGluZGV4O1xuICB9XG4gIHRyYWNrQnlUYWIxKGluZGV4LCB0YWIpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lICsgXCJ0YWItcGFuZWxcIiArIGluZGV4O1xuICB9XG5cbiAgLyoqXG4gICAqIFBhc3NlcyBgYXJpYS0qYCwgYGRhdGEtKmAgJiBgY2xhc3NgIGF0dHJpYnV0ZXMgdG8gY29ycmVjdCBjaGlsZC4gVXNlZCBpbiBhbmd1bGFyIGFuZCBzdGVuY2lsLlxuICAgKiBAcGFyYW0gZWxlbWVudCAgdGhlIHJlZiBmb3IgdGhlIGNvbXBvbmVudFxuICAgKiBAcGFyYW0gY3VzdG9tRWxlbWVudFNlbGVjdG9yICB0aGUgY3VzdG9tIGVsZW1lbnQgbGlrZSBgbXktY29tcG9uZW50YFxuICAgKi9cbiAgcHJpdmF0ZSBlbmFibGVBdHRyaWJ1dGVQYXNzaW5nKFxuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCxcbiAgICBjdXN0b21FbGVtZW50U2VsZWN0b3I6IHN0cmluZ1xuICApIHtcbiAgICBjb25zdCBwYXJlbnQgPSBlbGVtZW50Py5jbG9zZXN0KGN1c3RvbUVsZW1lbnRTZWxlY3Rvcik7XG4gICAgaWYgKGVsZW1lbnQgJiYgcGFyZW50KSB7XG4gICAgICBjb25zdCBhdHRyaWJ1dGVzID0gcGFyZW50LmF0dHJpYnV0ZXM7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGF0dHJpYnV0ZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgYXR0ciA9IGF0dHJpYnV0ZXMuaXRlbShpKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGF0dHIgJiZcbiAgICAgICAgICAoYXR0ci5uYW1lLnN0YXJ0c1dpdGgoXCJkYXRhLVwiKSB8fCBhdHRyLm5hbWUuc3RhcnRzV2l0aChcImFyaWEtXCIpKVxuICAgICAgICApIHtcbiAgICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShhdHRyLm5hbWUsIGF0dHIudmFsdWUpO1xuICAgICAgICAgIHBhcmVudC5yZW1vdmVBdHRyaWJ1dGUoYXR0ci5uYW1lKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYXR0ciAmJiBhdHRyLm5hbWUgPT09IFwiY2xhc3NcIikge1xuICAgICAgICAgIGNvbnN0IGlzV2ViQ29tcG9uZW50ID0gYXR0ci52YWx1ZS5pbmNsdWRlcyhcImh5ZHJhdGVkXCIpO1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gYXR0ci52YWx1ZS5yZXBsYWNlKFwiaHlkcmF0ZWRcIiwgXCJcIikudHJpbSgpO1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRDbGFzcyA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiY2xhc3NcIik7XG4gICAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICBhdHRyLm5hbWUsXG4gICAgICAgICAgICBgJHtjdXJyZW50Q2xhc3MgPyBgJHtjdXJyZW50Q2xhc3N9IGAgOiBcIlwifSR7dmFsdWV9YFxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKGlzV2ViQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAvLyBTdGVuY2lsIGlzIHVzaW5nIHRoaXMgY2xhc3MgZm9yIGxhenkgbG9hZGluZyBjb21wb25lbnRcbiAgICAgICAgICAgIHBhcmVudC5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLCBcImh5ZHJhdGVkXCIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwYXJlbnQucmVtb3ZlQXR0cmlidXRlKGF0dHIubmFtZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHRoaXMuX2lkID0gdGhpcy5pZCB8fCB0aGlzLl9pZDtcbiAgICAgIHRoaXMuX25hbWUgPSBgdGFicy0ke3RoaXMubmFtZSB8fCB1dWlkKCl9YDtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBlbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSB0aGlzLl9yZWY/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgdGhpcy5lbmFibGVBdHRyaWJ1dGVQYXNzaW5nKGVsZW1lbnQsIFwiZGItdGFic1wiKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIGlmICh0aGlzLl9yZWY/Lm5hdGl2ZUVsZW1lbnQgJiYgdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICB0aGlzLmluaXRUYWJMaXN0KCk7XG4gICAgICAgIHRoaXMuaW5pdFRhYnModHJ1ZSk7XG4gICAgICAgIGNvbnN0IHRhYkxpc3QgPSB0aGlzLl9yZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLmRiLXRhYi1saXN0XCIpO1xuICAgICAgICBpZiAodGFiTGlzdCkge1xuICAgICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucykgPT4ge1xuICAgICAgICAgICAgbXV0YXRpb25zLmZvckVhY2goKG11dGF0aW9uKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChtdXRhdGlvbi5yZW1vdmVkTm9kZXMubGVuZ3RoIHx8IG11dGF0aW9uLmFkZGVkTm9kZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0VGFiTGlzdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdFRhYnMoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YWJMaXN0LCB7XG4gICAgICAgICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICAgICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { DBTag } from './tag';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9vdXRwdXQvYW5ndWxhci9zcmMvY29tcG9uZW50cy90YWcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE9BQU8sQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IERCVGFnIH0gZnJvbSAnLi90YWcnIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const TagBehaviorList = ['static', 'removable'];
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9vdXRwdXQvYW5ndWxhci9zcmMvY29tcG9uZW50cy90YWcvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFJLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGVudFNsb3RQcm9wcywgR2xvYmFsUHJvcHMsIEdsb2JhbFN0YXRlLCBJY29uUHJvcHMsIEluaXRpYWxpemVkU3RhdGUsIE92ZXJmbG93UHJvcHMsIFNlbWFudGljUHJvcHMsIFNob3dJY29uUHJvcHMsIFRhZ0VtcGhhc2lzUHJvcHMgfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWwnO1xuZXhwb3J0IGNvbnN0IFRhZ0JlaGF2aW9yTGlzdCA9IChbJ3N0YXRpYycsICdyZW1vdmFibGUnXSBhcyBjb25zdCk7XG5leHBvcnQgdHlwZSBUYWdCZWhhdmlvclR5cGUgPSAodHlwZW9mIFRhZ0JlaGF2aW9yTGlzdClbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIERCVGFnRGVmYXVsdFByb3BzID0ge1xuICAvKipcbiAgICpcdERlZmluZXMgdGhlIGJlaGF2aW9yIG9mIHRoZSBjb21wb25lbnQ6XG4gICAqXHQtIHN0YXRpYzogZGVmYXVsdCBiZWhhdmlvciB3aXRob3V0IHJlbW92ZSBidXR0b25cbiAgICogIC0gcmVtb3ZhYmxlOiBhZGQgYSByZW1vdmUgYnV0dG9uIGF0IHRoZSBlbmQgb2YgdGhlIHRhZ1xuICAgKi9cbiAgYmVoYXZpb3I/OiBUYWdCZWhhdmlvclR5cGUgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIERpc2FibGUgdGFnXG4gICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIHRleHQgbmV4dCB0byB0aGUgaWNvbiBzcGVjaWZpZWQgdmlhIHRoZSBpY29uIFByb3BlcnR5IHRvIGdldCBoaWRkZW4uXG4gICAqL1xuICBub1RleHQ/OiBib29sZWFuO1xuICAvKipcbiAgICogSWYgXCJyZW1vdmVCdXR0b25cIiBhdHRyaWJ1dGUgaXMgc2V0IHRoaXMgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgd2hlbiB1c2VyIGNsaWNrcyBjYW5jZWwgYnV0dG9uIGluc2lkZSB0aGUgdGFnLlxuICAgKi9cbiAgb25SZW1vdmU/OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogVGhlIHJlbW92ZUJ1dHRvbiBhdHRyaWJ1dGUgc2hvd3MgdGhlIGNhbmNlbCBidXR0b24uXG4gICAqL1xuICByZW1vdmVCdXR0b24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFbmFibGUvRGlzYWJsZSBpY29uIGZvciBjaGVja2JveC9yYWRpbyBpbnNpZGUgdGFnLlxuICAgKi9cbiAgc2hvd0NoZWNrU3RhdGU/OiBib29sZWFuO1xuICAvKipcbiAgICogQWx0ZXJuYXRpdmUgZm9yIGNoaWxkcmVuIHRvIHNldCBjb250ZW50IGFzIHByb3BlcnR5LlxuICAgKi9cbiAgdGV4dD86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgXCJpbnRlcmFjdGl2ZVwiIGlzIHNldCB0byB0cnVlLCB5b3UgY2FuIHBhc3MgYSB2YWx1ZSB0byB0aGUgdW5kZXJseWluZyBjaGVja2JveCBvciByYWRpbyBpbnB1dC5cbiAgICovXG4gIHZhbHVlPzogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIERCVGFnUHJvcHMgPSBEQlRhZ0RlZmF1bHRQcm9wcyAmIEdsb2JhbFByb3BzICYgSWNvblByb3BzICYgU2VtYW50aWNQcm9wcyAmIE92ZXJmbG93UHJvcHMgJiBUYWdFbXBoYXNpc1Byb3BzICYgU2hvd0ljb25Qcm9wcyAmIENvbnRlbnRTbG90UHJvcHM7XG5leHBvcnQgdHlwZSBEQlRhZ0RlZmF1bHRTdGF0ZSA9IHtcbiAgZ2V0UmVtb3ZlQnV0dG9uVGV4dDogKCkgPT4gc3RyaW5nO1xuICBoYW5kbGVSZW1vdmU6ICgpID0+IHZvaWQ7XG59O1xuZXhwb3J0IHR5cGUgREJUYWdTdGF0ZSA9IERCVGFnRGVmYXVsdFN0YXRlICYgR2xvYmFsU3RhdGUgJiBJbml0aWFsaXplZFN0YXRlIl19
|