@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.
Files changed (211) hide show
  1. package/README.md +130 -0
  2. package/components/accordion/accordion.d.ts +31 -0
  3. package/components/accordion/index.d.ts +1 -0
  4. package/components/accordion/model.d.ts +41 -0
  5. package/components/accordion-item/accordion-item.d.ts +29 -0
  6. package/components/accordion-item/index.d.ts +1 -0
  7. package/components/accordion-item/model.d.ts +24 -0
  8. package/components/badge/badge.d.ts +28 -0
  9. package/components/badge/index.d.ts +1 -0
  10. package/components/badge/model.d.ts +16 -0
  11. package/components/brand/brand.d.ts +24 -0
  12. package/components/brand/index.d.ts +1 -0
  13. package/components/brand/model.d.ts +10 -0
  14. package/components/button/button.d.ts +39 -0
  15. package/components/button/index.d.ts +1 -0
  16. package/components/button/model.d.ts +52 -0
  17. package/components/card/card.d.ts +24 -0
  18. package/components/card/index.d.ts +1 -0
  19. package/components/card/model.d.ts +18 -0
  20. package/components/checkbox/checkbox.d.ts +64 -0
  21. package/components/checkbox/index.d.ts +1 -0
  22. package/components/checkbox/model.d.ts +10 -0
  23. package/components/divider/divider.d.ts +22 -0
  24. package/components/divider/index.d.ts +1 -0
  25. package/components/divider/model.d.ts +18 -0
  26. package/components/drawer/drawer.d.ts +34 -0
  27. package/components/drawer/index.d.ts +1 -0
  28. package/components/drawer/model.d.ts +41 -0
  29. package/components/header/MetaNavigation.directive.d.ts +5 -0
  30. package/components/header/Navigation.directive.d.ts +5 -0
  31. package/components/header/SecondaryAction.directive.d.ts +5 -0
  32. package/components/header/header.d.ts +34 -0
  33. package/components/header/index.d.ts +1 -0
  34. package/components/header/model.d.ts +44 -0
  35. package/components/icon/icon.d.ts +22 -0
  36. package/components/icon/index.d.ts +1 -0
  37. package/components/icon/model.d.ts +12 -0
  38. package/components/infotext/index.d.ts +1 -0
  39. package/components/infotext/infotext.d.ts +24 -0
  40. package/components/infotext/model.d.ts +5 -0
  41. package/components/input/index.d.ts +1 -0
  42. package/components/input/input.d.ts +87 -0
  43. package/components/input/model.d.ts +39 -0
  44. package/components/link/index.d.ts +1 -0
  45. package/components/link/link.d.ts +37 -0
  46. package/components/link/model.d.ts +24 -0
  47. package/components/navigation/index.d.ts +1 -0
  48. package/components/navigation/model.d.ts +5 -0
  49. package/components/navigation/navigation.d.ts +21 -0
  50. package/components/navigation-item/NavigationContent.directive.d.ts +5 -0
  51. package/components/navigation-item/index.d.ts +1 -0
  52. package/components/navigation-item/model.d.ts +34 -0
  53. package/components/navigation-item/navigation-item.d.ts +44 -0
  54. package/components/notification/index.d.ts +1 -0
  55. package/components/notification/model.d.ts +57 -0
  56. package/components/notification/notification.d.ts +38 -0
  57. package/components/page/index.d.ts +1 -0
  58. package/components/page/model.d.ts +32 -0
  59. package/components/page/page.d.ts +25 -0
  60. package/components/popover/index.d.ts +1 -0
  61. package/components/popover/model.d.ts +18 -0
  62. package/components/popover/popover.d.ts +33 -0
  63. package/components/radio/index.d.ts +1 -0
  64. package/components/radio/model.d.ts +7 -0
  65. package/components/radio/radio.d.ts +51 -0
  66. package/components/section/index.d.ts +1 -0
  67. package/components/section/model.d.ts +5 -0
  68. package/components/section/section.d.ts +22 -0
  69. package/components/select/index.d.ts +1 -0
  70. package/components/select/model.d.ts +43 -0
  71. package/components/select/select.d.ts +77 -0
  72. package/components/stack/index.d.ts +1 -0
  73. package/components/stack/model.d.ts +34 -0
  74. package/components/stack/stack.d.ts +25 -0
  75. package/components/switch/index.d.ts +1 -0
  76. package/components/switch/model.d.ts +12 -0
  77. package/components/switch/switch.d.ts +55 -0
  78. package/components/tab-item/index.d.ts +1 -0
  79. package/components/tab-item/model.d.ts +24 -0
  80. package/components/tab-item/tab-item.d.ts +44 -0
  81. package/components/tab-list/index.d.ts +1 -0
  82. package/components/tab-list/model.d.ts +5 -0
  83. package/components/tab-list/tab-list.d.ts +20 -0
  84. package/components/tab-panel/index.d.ts +1 -0
  85. package/components/tab-panel/model.d.ts +10 -0
  86. package/components/tab-panel/tab-panel.d.ts +21 -0
  87. package/components/tabs/index.d.ts +1 -0
  88. package/components/tabs/model.d.ts +47 -0
  89. package/components/tabs/tabs.d.ts +42 -0
  90. package/components/tag/index.d.ts +1 -0
  91. package/components/tag/model.d.ts +45 -0
  92. package/components/tag/tag.d.ts +37 -0
  93. package/components/textarea/index.d.ts +1 -0
  94. package/components/textarea/model.d.ts +30 -0
  95. package/components/textarea/textarea.d.ts +79 -0
  96. package/components/tooltip/index.d.ts +1 -0
  97. package/components/tooltip/model.d.ts +7 -0
  98. package/components/tooltip/tooltip.d.ts +32 -0
  99. package/esm2022/components/accordion/accordion.mjs +196 -0
  100. package/esm2022/components/accordion/index.mjs +2 -0
  101. package/esm2022/components/accordion/model.mjs +3 -0
  102. package/esm2022/components/accordion-item/accordion-item.mjs +136 -0
  103. package/esm2022/components/accordion-item/index.mjs +2 -0
  104. package/esm2022/components/accordion-item/model.mjs +2 -0
  105. package/esm2022/components/badge/badge.mjs +130 -0
  106. package/esm2022/components/badge/index.mjs +2 -0
  107. package/esm2022/components/badge/model.mjs +2 -0
  108. package/esm2022/components/brand/brand.mjs +99 -0
  109. package/esm2022/components/brand/index.mjs +2 -0
  110. package/esm2022/components/brand/model.mjs +2 -0
  111. package/esm2022/components/button/button.mjs +158 -0
  112. package/esm2022/components/button/index.mjs +2 -0
  113. package/esm2022/components/button/model.mjs +4 -0
  114. package/esm2022/components/card/card.mjs +107 -0
  115. package/esm2022/components/card/index.mjs +2 -0
  116. package/esm2022/components/card/model.mjs +3 -0
  117. package/esm2022/components/checkbox/checkbox.mjs +328 -0
  118. package/esm2022/components/checkbox/index.mjs +2 -0
  119. package/esm2022/components/checkbox/model.mjs +2 -0
  120. package/esm2022/components/divider/divider.mjs +93 -0
  121. package/esm2022/components/divider/index.mjs +2 -0
  122. package/esm2022/components/divider/model.mjs +3 -0
  123. package/esm2022/components/drawer/drawer.mjs +218 -0
  124. package/esm2022/components/drawer/index.mjs +2 -0
  125. package/esm2022/components/drawer/model.mjs +4 -0
  126. package/esm2022/components/header/MetaNavigation.directive.mjs +15 -0
  127. package/esm2022/components/header/Navigation.directive.mjs +15 -0
  128. package/esm2022/components/header/SecondaryAction.directive.mjs +15 -0
  129. package/esm2022/components/header/header.mjs +251 -0
  130. package/esm2022/components/header/index.mjs +2 -0
  131. package/esm2022/components/header/model.mjs +2 -0
  132. package/esm2022/components/icon/icon.mjs +100 -0
  133. package/esm2022/components/icon/index.mjs +2 -0
  134. package/esm2022/components/icon/model.mjs +3 -0
  135. package/esm2022/components/infotext/index.mjs +2 -0
  136. package/esm2022/components/infotext/infotext.mjs +103 -0
  137. package/esm2022/components/infotext/model.mjs +2 -0
  138. package/esm2022/components/input/index.mjs +2 -0
  139. package/esm2022/components/input/input.mjs +421 -0
  140. package/esm2022/components/input/model.mjs +6 -0
  141. package/esm2022/components/link/index.mjs +2 -0
  142. package/esm2022/components/link/link.mjs +152 -0
  143. package/esm2022/components/link/model.mjs +4 -0
  144. package/esm2022/components/navigation/index.mjs +2 -0
  145. package/esm2022/components/navigation/model.mjs +2 -0
  146. package/esm2022/components/navigation/navigation.mjs +92 -0
  147. package/esm2022/components/navigation-item/NavigationContent.directive.mjs +15 -0
  148. package/esm2022/components/navigation-item/index.mjs +2 -0
  149. package/esm2022/components/navigation-item/model.mjs +2 -0
  150. package/esm2022/components/navigation-item/navigation-item.mjs +236 -0
  151. package/esm2022/components/notification/index.mjs +2 -0
  152. package/esm2022/components/notification/model.mjs +4 -0
  153. package/esm2022/components/notification/notification.mjs +181 -0
  154. package/esm2022/components/page/index.mjs +2 -0
  155. package/esm2022/components/page/model.mjs +3 -0
  156. package/esm2022/components/page/page.mjs +127 -0
  157. package/esm2022/components/popover/index.mjs +2 -0
  158. package/esm2022/components/popover/model.mjs +2 -0
  159. package/esm2022/components/popover/popover.mjs +189 -0
  160. package/esm2022/components/radio/index.mjs +2 -0
  161. package/esm2022/components/radio/model.mjs +2 -0
  162. package/esm2022/components/radio/radio.mjs +230 -0
  163. package/esm2022/components/section/index.mjs +2 -0
  164. package/esm2022/components/section/model.mjs +2 -0
  165. package/esm2022/components/section/section.mjs +96 -0
  166. package/esm2022/components/select/index.mjs +2 -0
  167. package/esm2022/components/select/model.mjs +2 -0
  168. package/esm2022/components/select/select.mjs +426 -0
  169. package/esm2022/components/stack/index.mjs +2 -0
  170. package/esm2022/components/stack/model.mjs +5 -0
  171. package/esm2022/components/stack/stack.mjs +106 -0
  172. package/esm2022/components/switch/index.mjs +2 -0
  173. package/esm2022/components/switch/model.mjs +2 -0
  174. package/esm2022/components/switch/switch.mjs +237 -0
  175. package/esm2022/components/tab-item/index.mjs +2 -0
  176. package/esm2022/components/tab-item/model.mjs +2 -0
  177. package/esm2022/components/tab-item/tab-item.mjs +195 -0
  178. package/esm2022/components/tab-list/index.mjs +2 -0
  179. package/esm2022/components/tab-list/model.mjs +2 -0
  180. package/esm2022/components/tab-list/tab-list.mjs +84 -0
  181. package/esm2022/components/tab-panel/index.mjs +2 -0
  182. package/esm2022/components/tab-panel/model.mjs +2 -0
  183. package/esm2022/components/tab-panel/tab-panel.mjs +96 -0
  184. package/esm2022/components/tabs/index.mjs +2 -0
  185. package/esm2022/components/tabs/model.mjs +3 -0
  186. package/esm2022/components/tabs/tabs.mjs +322 -0
  187. package/esm2022/components/tag/index.mjs +2 -0
  188. package/esm2022/components/tag/model.mjs +2 -0
  189. package/esm2022/components/tag/tag.mjs +186 -0
  190. package/esm2022/components/textarea/index.mjs +2 -0
  191. package/esm2022/components/textarea/model.mjs +3 -0
  192. package/esm2022/components/textarea/textarea.mjs +363 -0
  193. package/esm2022/components/tooltip/index.mjs +2 -0
  194. package/esm2022/components/tooltip/model.mjs +2 -0
  195. package/esm2022/components/tooltip/tooltip.mjs +149 -0
  196. package/esm2022/db-ux-ngx-core-components.mjs +5 -0
  197. package/esm2022/index.mjs +41 -0
  198. package/esm2022/shared/constants.mjs +94 -0
  199. package/esm2022/shared/model.mjs +22 -0
  200. package/esm2022/utils/form-components.mjs +11 -0
  201. package/esm2022/utils/index.mjs +174 -0
  202. package/esm2022/utils/navigation.mjs +133 -0
  203. package/fesm2022/db-ux-ngx-core-components.mjs +6109 -0
  204. package/fesm2022/db-ux-ngx-core-components.mjs.map +1 -0
  205. package/index.d.ts +40 -0
  206. package/package.json +35 -0
  207. package/shared/constants.d.ts +83 -0
  208. package/shared/model.d.ts +445 -0
  209. package/utils/form-components.d.ts +2 -0
  210. package/utils/index.d.ts +61 -0
  211. 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