@db-ux/ngx-core-components 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -3
- package/components/navigation-item/model.d.ts +3 -2
- package/components/navigation-item/navigation-item.d.ts +2 -0
- package/components/page/model.d.ts +4 -0
- package/components/page/page.d.ts +2 -1
- package/esm2022/components/accordion/model.mjs +1 -1
- package/esm2022/components/badge/model.mjs +1 -1
- package/esm2022/components/button/model.mjs +1 -1
- package/esm2022/components/card/model.mjs +1 -1
- package/esm2022/components/checkbox/checkbox.mjs +1 -1
- package/esm2022/components/divider/model.mjs +1 -1
- package/esm2022/components/drawer/model.mjs +1 -1
- package/esm2022/components/icon/model.mjs +1 -1
- package/esm2022/components/input/input.mjs +1 -1
- package/esm2022/components/input/model.mjs +1 -1
- package/esm2022/components/link/model.mjs +1 -1
- package/esm2022/components/navigation-item/model.mjs +1 -1
- package/esm2022/components/navigation-item/navigation-item.mjs +24 -5
- package/esm2022/components/notification/model.mjs +1 -1
- package/esm2022/components/page/model.mjs +1 -1
- package/esm2022/components/page/page.mjs +6 -4
- package/esm2022/components/radio/radio.mjs +7 -5
- package/esm2022/components/select/select.mjs +1 -1
- package/esm2022/components/stack/model.mjs +1 -1
- package/esm2022/components/switch/switch.mjs +1 -1
- package/esm2022/components/tab-item/tab-item.mjs +1 -1
- package/esm2022/components/tabs/model.mjs +1 -1
- package/esm2022/components/tag/model.mjs +1 -1
- package/esm2022/components/textarea/model.mjs +1 -1
- package/esm2022/components/textarea/textarea.mjs +1 -1
- package/esm2022/shared/model.mjs +1 -1
- package/esm2022/utils/navigation.mjs +1 -1
- package/fesm2022/db-ux-ngx-core-components.mjs +32 -9
- package/fesm2022/db-ux-ngx-core-components.mjs.map +1 -1
- package/package.json +4 -4
- package/shared/model.d.ts +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db-ux-ngx-core-components.mjs","sources":["../../../output/angular/src/utils/index.ts","../../../output/angular/src/components/button/button.ts","../../../output/angular/src/shared/constants.ts","../../../output/angular/src/components/notification/notification.ts","../../../output/angular/src/components/badge/badge.ts","../../../output/angular/src/components/brand/brand.ts","../../../output/angular/src/components/card/card.ts","../../../output/angular/src/utils/form-components.ts","../../../output/angular/src/components/infotext/infotext.ts","../../../output/angular/src/components/checkbox/checkbox.ts","../../../output/angular/src/components/divider/divider.ts","../../../output/angular/src/components/drawer/drawer.ts","../../../output/angular/src/utils/navigation.ts","../../../output/angular/src/components/header/SecondaryAction.directive.ts","../../../output/angular/src/components/header/MetaNavigation.directive.ts","../../../output/angular/src/components/header/Navigation.directive.ts","../../../output/angular/src/components/header/header.ts","../../../output/angular/src/components/icon/icon.ts","../../../output/angular/src/components/input/input.ts","../../../output/angular/src/components/link/link.ts","../../../output/angular/src/components/page/page.ts","../../../output/angular/src/components/radio/radio.ts","../../../output/angular/src/components/section/section.ts","../../../output/angular/src/components/select/select.ts","../../../output/angular/src/components/switch/switch.ts","../../../output/angular/src/components/tab-item/tab-item.ts","../../../output/angular/src/components/tag/tag.ts","../../../output/angular/src/components/textarea/textarea.ts","../../../output/angular/src/components/navigation-item/NavigationContent.directive.ts","../../../output/angular/src/components/navigation-item/navigation-item.ts","../../../output/angular/src/components/accordion-item/accordion-item.ts","../../../output/angular/src/components/accordion/accordion.ts","../../../output/angular/src/components/navigation/navigation.ts","../../../output/angular/src/components/popover/popover.ts","../../../output/angular/src/components/tooltip/tooltip.ts","../../../output/angular/src/components/tab-list/tab-list.ts","../../../output/angular/src/components/tab-panel/tab-panel.ts","../../../output/angular/src/components/tabs/tabs.ts","../../../output/angular/src/shared/model.ts","../../../output/angular/src/components/stack/stack.ts","../../../output/angular/src/db-ux-ngx-core-components.ts"],"sourcesContent":["export const uuid = () => {\n if (typeof window !== 'undefined') {\n if (window.crypto?.randomUUID) {\n return window.crypto.randomUUID();\n } else if (window.crypto?.getRandomValues) {\n return window.crypto.getRandomValues(new Uint32Array(3)).join('-');\n }\n }\n return Math.random().toString().substring(2);\n};\nexport const addAttributeToChildren = (element: Element, attribute: {\n key: string;\n value: string;\n}) => {\n const children = element.children;\n Object.values(children).forEach((child: Element) => {\n child.setAttribute(attribute.key, attribute.value);\n if (child.children.length > 0) {\n addAttributeToChildren(child, attribute);\n }\n });\n};\nexport type ClassNameArg = string | {\n [key: string]: boolean | undefined;\n} | undefined;\nexport const cls = (...args: ClassNameArg[]) => {\n let result = '';\n for (const arg of args) {\n if (arg) {\n if (typeof arg === 'string') {\n result += `${arg} `;\n } else {\n for (const key in arg) {\n if (arg[key]) {\n result += `${key} `;\n }\n }\n }\n }\n }\n return result.trim();\n};\nexport const visibleInVX = (el: Element) => {\n const {\n left,\n right\n } = el.getBoundingClientRect();\n const {\n innerWidth\n } = window;\n return left >= 0 && right <= innerWidth;\n};\nexport const visibleInVY = (el: Element) => {\n const {\n top,\n bottom\n } = el.getBoundingClientRect();\n const {\n innerHeight\n } = window;\n return top >= 0 && bottom <= innerHeight;\n};\nexport const isInView = (el: Element) => {\n const {\n top,\n bottom,\n left,\n right\n } = el.getBoundingClientRect();\n const {\n innerHeight,\n innerWidth\n } = window;\n let outTop = top < 0;\n let outBottom = bottom > innerHeight;\n let outLeft = left < 0;\n let outRight = right > innerWidth;\n\n // We need to check if it was already outside\n const outsideY = el.hasAttribute('data-outside-vy');\n const outsideX = el.hasAttribute('data-outside-vx');\n const parentRect = el?.parentElement?.getBoundingClientRect();\n if (parentRect) {\n if (outsideY) {\n const position = el.getAttribute('data-outside-vy');\n if (position === 'top') {\n outTop = parentRect.top - (bottom - parentRect.bottom) < 0;\n } else {\n outBottom = parentRect.bottom + (parentRect.top - top) > innerHeight;\n }\n }\n if (outsideX) {\n const position = el.getAttribute('data-outside-vx');\n if (position === 'left') {\n outLeft = parentRect.left - (right - parentRect.right) < 0;\n } else {\n outRight = parentRect.right + (parentRect.left - left) > innerWidth;\n }\n }\n }\n return {\n outTop,\n outBottom,\n outLeft,\n outRight\n };\n};\nexport interface DBDataOutsidePair {\n vx?: 'left' | 'right';\n vy?: 'top' | 'bottom';\n}\nexport const handleDataOutside = (el: Element): DBDataOutsidePair => {\n const {\n outTop,\n outBottom,\n outLeft,\n outRight\n } = isInView(el);\n let dataOutsidePair: DBDataOutsidePair = {};\n if (outTop || outBottom) {\n dataOutsidePair = {\n vy: outTop ? 'top' : 'bottom'\n };\n el.setAttribute('data-outside-vy', dataOutsidePair.vy!);\n } else {\n el.removeAttribute('data-outside-vy');\n }\n if (outLeft || outRight) {\n dataOutsidePair = {\n ...dataOutsidePair,\n vx: outRight ? 'right' : 'left'\n };\n el.setAttribute('data-outside-vx', dataOutsidePair.vx!);\n } else {\n el.removeAttribute('data-outside-vx');\n }\n return dataOutsidePair;\n};\nexport const isArrayOfStrings = (value: unknown): value is string[] => Array.isArray(value) && value.every(item => typeof item === 'string');\nconst appleOs = ['Mac', 'iPhone', 'iPad', 'iPod'];\nexport const hasVoiceOver = (): boolean => typeof window !== 'undefined' && appleOs.some(os => window.navigator.userAgent.includes(os));\nexport const delay = (fn: () => void, ms: number) => new Promise(() => setTimeout(fn, ms));\n\n/**\n * Some frameworks like stencil would not add \"true\" as value for a prop\n * if it is used in a framework like angular e.g.: [disabled]=\"myDisabledProp\"\n * @param originBool Some boolean to convert to string\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const getBooleanAsString = (originBool?: boolean): any => {\n if (originBool) {\n return String(originBool);\n }\n return originBool;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const getHideProp = (show?: boolean): any => {\n if (show === undefined || show === null) {\n return undefined;\n }\n return getBooleanAsString(!show);\n};\nexport const stringPropVisible = (givenString?: string, showString?: boolean) => {\n if (showString === undefined) {\n return !!givenString;\n } else {\n return showString && givenString;\n }\n};\nexport default {\n cls,\n addAttributeToChildren,\n uuid,\n visibleInVX,\n visibleInVY,\n isInView,\n handleDataOutside,\n isArrayOfStrings,\n hasVoiceOver,\n delay,\n getBooleanAsString,\n getHideProp,\n stringPropVisible\n}","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport type { DBButtonProps, DBButtonState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\n\n@Component({\n selector: \"db-button\",\n template: `\n <button\n #_ref\n [attr.id]=\"id\"\n [class]=\"cls('db-button', className)\"\n [attr.type]=\"type || 'button'\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"label\"\n [attr.data-icon]=\"icon\"\n [attr.data-hide-icon]=\"getHideProp(showIcon)\"\n [attr.data-size]=\"size\"\n [attr.data-state]=\"state\"\n [attr.data-width]=\"width\"\n [attr.data-variant]=\"variant\"\n [attr.data-no-text]=\"getBooleanAsString(noText)\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [attr.aria-describedby]=\"describedbyid\"\n [attr.aria-expanded]=\"ariaexpanded\"\n [attr.aria-pressed]=\"ariapressed\"\n (click)=\"handleClick($event)\"\n >\n <ng-container *ngIf=\"text\">{{text}}</ng-container>\n <ng-container *ngIf=\"!(text)\"><ng-content></ng-content></ng-container>\n </button>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBButton {\n cls = cls;\n getBooleanAsString = getBooleanAsString;\n getHideProp = getHideProp;\n\n @Input() id!: DBButtonProps[\"id\"];\n @Input() className!: DBButtonProps[\"className\"];\n @Input() type!: DBButtonProps[\"type\"];\n @Input() disabled!: DBButtonProps[\"disabled\"];\n @Input() label!: DBButtonProps[\"label\"];\n @Input() icon!: DBButtonProps[\"icon\"];\n @Input() showIcon!: DBButtonProps[\"showIcon\"];\n @Input() size!: DBButtonProps[\"size\"];\n @Input() state!: DBButtonProps[\"state\"];\n @Input() width!: DBButtonProps[\"width\"];\n @Input() variant!: DBButtonProps[\"variant\"];\n @Input() noText!: DBButtonProps[\"noText\"];\n @Input() name!: DBButtonProps[\"name\"];\n @Input() value!: DBButtonProps[\"value\"];\n @Input() describedbyid!: DBButtonProps[\"describedbyid\"];\n @Input() ariaexpanded!: DBButtonProps[\"ariaexpanded\"];\n @Input() ariapressed!: DBButtonProps[\"ariapressed\"];\n @Input() text!: DBButtonProps[\"text\"];\n\n @Output() onClick = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n handleClick(\n event: ClickEvent<HTMLButtonElement>\n ): ReturnType<DBButtonState[\"handleClick\"]> {\n if (this.onClick) {\n this.onClick.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-button\");\n }\n}\n","export const DEFAULT_ID: string = 'OVERWRITE_DEFAULT_ID';\nexport const DEFAULT_LABEL: string = 'LABEL SHOULD BE SET';\nexport const DEFAULT_PLACEHOLDER: string = ' ';\nexport const DEFAULT_MESSAGE_ID_SUFFIX: string = '-message';\nexport const DEFAULT_VALID_MESSAGE_ID_SUFFIX: string = '-valid-message';\nexport const DEFAULT_INVALID_MESSAGE_ID_SUFFIX: string = '-invalid-message';\nexport const DEFAULT_PLACEHOLDER_ID_SUFFIX: string = '-placeholder';\nexport const DEFAULT_DATALIST_ID_SUFFIX: string = '-datalist';\nexport const DEFAULT_VALID_MESSAGE: string = 'TODO: Add a validMessage';\nexport const DEFAULT_INVALID_MESSAGE: string = 'TODO: Add an invalidMessage';\nexport const DEFAULT_BACK: string = 'Back';\nexport const DEFAULT_BURGER_MENU: string = 'BurgerMenu';\nexport const DEFAULT_ICON: string = 'brand';\nexport const DEFAULT_ROWS: number = 4;\nexport const DEFAULT_CLOSE_BUTTON: string = 'Close Button';\nexport const DENSITY_CONST: string = 'density';\nexport const COLOR_CONST: string = 'color';\nexport enum DENSITY {\n 'FUNCTIONAL' = 'functional',\n 'REGULAR' = 'regular',\n 'EXPRESSIVE' = 'expressive',\n}\nexport const DENSITIES: DENSITY[] = Object.entries(DENSITY).map(([, value]) => value);\nexport enum COLOR_SIMPLE {\n 'PRIMARY' = 'primary',\n}\nexport enum COLOR {\n 'NEUTRAL_BG_LEVEL_1' = 'neutral-bg-basic-level-1',\n 'NEUTRAL_BG_LEVEL_2' = 'neutral-bg-basic-level-2',\n 'NEUTRAL_BG_LEVEL_3' = 'neutral-bg-basic-level-3',\n 'NEUTRAL_BG_TRANSPARENT_SEMI' = 'neutral-bg-basic-transparent-semi',\n 'NEUTRAL_BG_TRANSPARENT_FULL' = 'neutral-bg-basic-transparent-full',\n 'BRAND_BG_LEVEL_1' = 'brand-bg-basic-level-1',\n 'BRAND_BG_LEVEL_2' = 'brand-bg-basic-level-2',\n 'BRAND_BG_LEVEL_3' = 'brand-bg-basic-level-3',\n 'BRAND_BG_TRANSPARENT_SEMI' = 'brand-bg-basic-transparent-semi',\n 'BRAND_BG_TRANSPARENT_FULL' = 'brand-bg-basic-transparent-full',\n 'SUCCESSFUL_BG_LEVEL_1' = 'successful-bg-basic-level-1',\n 'SUCCESSFUL_BG_LEVEL_2' = 'successful-bg-basic-level-2',\n 'SUCCESSFUL_BG_LEVEL_3' = 'successful-bg-basic-level-3',\n 'SUCCESSFUL_BG_TRANSPARENT_SEMI' = 'successful-bg-basic-transparent-semi',\n 'SUCCESSFUL_BG_TRANSPARENT_FULL' = 'successful-bg-basic-transparent-full',\n 'CRITICAL_BG_LEVEL_1' = 'critical-bg-basic-level-1',\n 'CRITICAL_BG_LEVEL_2' = 'critical-bg-basic-level-2',\n 'CRITICAL_BG_LEVEL_3' = 'critical-bg-basic-level-3',\n 'CRITICAL_BG_TRANSPARENT_SEMI' = 'critical-bg-basic-transparent-semi',\n 'CRITICAL_BG_TRANSPARENT_Full' = 'critical-bg-basic-transparent-full',\n 'WARNING_BG_LEVEL_1' = 'warning-bg-basic-level-1',\n 'WARNING_BG_LEVEL_2' = 'warning-bg-basic-level-2',\n 'WARNING_BG_LEVEL_3' = 'warning-bg-basic-level-3',\n 'WARNING_BG_TRANSPARENT_SEMI' = 'warning-bg-basic-transparent-semi',\n 'WARNING_BG_TRANSPARENT_FULL' = 'warning-bg-basic-transparent-full',\n 'INFORMATIONAL_BG_LEVEL_1' = 'informational-bg-basic-level-1',\n 'INFORMATIONAL_BG_LEVEL_2' = 'informational-bg-basic-level-2',\n 'INFORMATIONAL_BG_LEVEL_3' = 'informational-bg-basic-level-3',\n 'INFORMATIONAL_BG_TRANSPARENT_SEMI' = 'informational-bg-basic-transparent-semi',\n 'INFORMATIONAL_BG_TRANSPARENT_FULL' = 'informational-bg-basic-transparent-full',\n}\nexport const COLORS: COLOR[] = Object.entries(COLOR).map(([, value]) => value);\nexport const COLORS_SIMPLE: COLOR_SIMPLE[] = Object.entries(COLOR_SIMPLE).map(([, value]) => value);\nexport enum SEMANTIC {\n 'CRITICAL' = 'critical',\n 'INFORMATIONAL' = 'informational',\n 'WARNING' = 'warning',\n 'SUCCESSFUL' = 'successful',\n}\nexport const SEMANTICS: SEMANTIC[] = Object.entries(SEMANTIC).map(([, value]) => value);\nexport const DEFAULT_VIEWPORT = {\n width: 390,\n height: 884\n};\nexport const DESKTOP_VIEWPORT = {\n width: 1920,\n height: 1280\n};\n\n/**\n * Use those viewports if your component has a css media-query otherwise use the DEFAULT_VIEWPORT\n */\nexport const TESTING_VIEWPORTS = [{\n name: 'desktop',\n ...DESKTOP_VIEWPORT\n}, {\n name: 'tablet',\n width: 768,\n height: 1024\n}, {\n name: 'mobile',\n ...DEFAULT_VIEWPORT\n}]","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBNotificationProps, DBNotificationState } from \"./model\";\nimport { DBButton } from \"../button/button\";\nimport { DEFAULT_CLOSE_BUTTON } from \"../../shared/constants\";\nimport { cls, getHideProp, stringPropVisible } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\n\n@Component({\n selector: \"db-notification\",\n template: `\n <article\n #_ref\n [attr.id]=\"id\"\n [class]=\"cls('db-notification', className)\"\n [attr.aria-live]=\"ariaLive\"\n [attr.data-semantic]=\"semantic\"\n [attr.data-variant]=\"variant\"\n [attr.data-icon]=\"icon\"\n [attr.data-hide-icon]=\"getHideProp(showIcon)\"\n [attr.data-link-variant]=\"linkVariant\"\n >\n <ng-content select=\"[image]\"></ng-content>\n <ng-container *ngIf=\"stringPropVisible(headline, showHeadline)\">\n <header>{{headline}}</header>\n </ng-container>\n <p>\n <ng-container *ngIf=\"text\">{{text}}</ng-container>\n <ng-container *ngIf=\"!(text)\"><ng-content></ng-content></ng-container>\n </p>\n <ng-container *ngIf=\"stringPropVisible(timestamp, showTimestamp)\">\n <span>{{timestamp}}</span>\n </ng-container>\n <ng-content select=\"[link]\"></ng-content>\n <ng-container *ngIf=\"closeable\">\n <db-button\n icon=\"cross\"\n variant=\"ghost\"\n size=\"small\"\n [id]=\"closeButtonId\"\n [noText]=\"true\"\n (click)=\"handleClose($event)\"\n >\n {{closeButtonText ?? DEFAULT_CLOSE_BUTTON}}\n </db-button>\n </ng-container>\n </article>\n `,\n standalone: true,\n imports: [CommonModule, DBButton],\n})\nexport class DBNotification {\n DEFAULT_CLOSE_BUTTON = DEFAULT_CLOSE_BUTTON;\n cls = cls;\n getHideProp = getHideProp;\n stringPropVisible = stringPropVisible;\n\n @Input() id!: DBNotificationProps[\"id\"];\n @Input() className!: DBNotificationProps[\"className\"];\n @Input() ariaLive!: DBNotificationProps[\"ariaLive\"];\n @Input() semantic!: DBNotificationProps[\"semantic\"];\n @Input() variant!: DBNotificationProps[\"variant\"];\n @Input() icon!: DBNotificationProps[\"icon\"];\n @Input() showIcon!: DBNotificationProps[\"showIcon\"];\n @Input() linkVariant!: DBNotificationProps[\"linkVariant\"];\n @Input() headline!: DBNotificationProps[\"headline\"];\n @Input() showHeadline!: DBNotificationProps[\"showHeadline\"];\n @Input() text!: DBNotificationProps[\"text\"];\n @Input() timestamp!: DBNotificationProps[\"timestamp\"];\n @Input() showTimestamp!: DBNotificationProps[\"showTimestamp\"];\n @Input() closeable!: DBNotificationProps[\"closeable\"];\n @Input() closeButtonId!: DBNotificationProps[\"closeButtonId\"];\n @Input() closeButtonText!: DBNotificationProps[\"closeButtonText\"];\n\n @Output() onClose = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n handleClose(\n event: ClickEvent<HTMLButtonElement>\n ): ReturnType<DBNotificationState[\"handleClose\"]> {\n if (this.onClose) {\n this.onClose.emit();\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-notification\");\n }\n}\n","import {\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBBadgeProps, DBBadgeState } from \"./model\";\nimport { cls } from \"../../utils\";\nimport { DEFAULT_LABEL } from \"../../shared/constants\";\n\n@Component({\n selector: \"db-badge\",\n template: `\n <span\n #_ref\n [attr.id]=\"id\"\n [class]=\"cls('db-badge', className)\"\n [attr.data-semantic]=\"semantic\"\n [attr.data-size]=\"size\"\n [attr.data-emphasis]=\"emphasis\"\n [attr.data-placement]=\"placement\"\n [attr.data-label]=\"placement?.startsWith('corner') && (label ?? DEFAULT_LABEL)\"\n >\n <ng-container *ngIf=\"text\">{{text}}</ng-container>\n <ng-container *ngIf=\"!(text)\"><ng-content></ng-content></ng-container>\n </span>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBBadge {\n cls = cls;\n DEFAULT_LABEL = DEFAULT_LABEL;\n\n @Input() placement!: DBBadgeProps[\"placement\"];\n @Input() id!: DBBadgeProps[\"id\"];\n @Input() className!: DBBadgeProps[\"className\"];\n @Input() semantic!: DBBadgeProps[\"semantic\"];\n @Input() size!: DBBadgeProps[\"size\"];\n @Input() emphasis!: DBBadgeProps[\"emphasis\"];\n @Input() label!: DBBadgeProps[\"label\"];\n @Input() text!: DBBadgeProps[\"text\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n initialized: DBBadgeState[\"initialized\"] = false;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this.initialized = true;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-badge\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this._ref?.nativeElement && this.initialized) {\n if (this.placement?.startsWith(\"corner\")) {\n let parent = this._ref.nativeElement.parentElement;\n if (parent && parent.localName.includes(\"badge\")) {\n // Angular workaround\n parent = parent.parentElement;\n }\n if (parent) {\n parent.setAttribute(\"data-has-badge\", \"true\");\n }\n }\n }\n }\n }\n}\n","import { Component, ViewChild, ElementRef, Input } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { cls, getHideProp } from \"../../utils\";\nimport { DBBrandProps, DBBrandState } from \"./model\";\nimport { DEFAULT_ICON } from \"../../shared/constants\";\n\n@Component({\n selector: \"db-brand\",\n template: `\n <div\n #_ref\n [attr.data-icon]=\"hideLogo ? 'none' : icon ?? DEFAULT_ICON\"\n [attr.data-hide-icon]=\"getHideProp(showIcon)\"\n [attr.id]=\"id\"\n [class]=\"cls('db-brand', className)\"\n >\n <ng-container *ngIf=\"text\">{{text}}</ng-container>\n <ng-container *ngIf=\"!(text)\"><ng-content></ng-content></ng-container>\n </div>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBBrand {\n cls = cls;\n getHideProp = getHideProp;\n DEFAULT_ICON = DEFAULT_ICON;\n\n @Input() hideLogo!: DBBrandProps[\"hideLogo\"];\n @Input() icon!: DBBrandProps[\"icon\"];\n @Input() showIcon!: DBBrandProps[\"showIcon\"];\n @Input() id!: DBBrandProps[\"id\"];\n @Input() className!: DBBrandProps[\"className\"];\n @Input() text!: DBBrandProps[\"text\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-brand\");\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport type { DBCardProps, DBCardState } from \"./model\";\nimport { cls } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\n\n@Component({\n selector: \"db-card\",\n template: `\n <div\n #_ref\n [attr.id]=\"id\"\n [class]=\"cls('db-card', className)\"\n [attr.data-behavior]=\"behavior\"\n [attr.data-elevation-level]=\"elevationLevel\"\n [attr.data-spacing]=\"spacing\"\n [attr.role]=\"behavior === 'interactive' ? 'button' : undefined\"\n [attr.tabIndex]=\"behavior === 'interactive' ? 0 : undefined\"\n (click)=\"handleClick($event)\"\n >\n <ng-content></ng-content>\n </div>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBCard {\n cls = cls;\n\n @Input() id!: DBCardProps[\"id\"];\n @Input() className!: DBCardProps[\"className\"];\n @Input() behavior!: DBCardProps[\"behavior\"];\n @Input() elevationLevel!: DBCardProps[\"elevationLevel\"];\n @Input() spacing!: DBCardProps[\"spacing\"];\n\n @Output() onClick = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n handleClick(\n event: ClickEvent<HTMLElement>\n ): ReturnType<DBCardState[\"handleClick\"]> {\n if (this.onClick) {\n this.onClick.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-card\");\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const handleFrameworkEventAngular = (component: any, event: any, modelValue: string = 'value'): void => {\n // Change event to work with reactive and template driven forms\n component.propagateChange(event.target[modelValue]);\n component.writeValue(event.target[modelValue]);\n};\nexport const handleFrameworkEventVue = (emit: (event: string, ...args: any[]) => void, event: any, modelValue: string = 'value'): void => {\n // TODO: Replace this with the solution out of https://github.com/BuilderIO/mitosis/issues/833 after this has been \"solved\"\n emit(`update:${modelValue}`, event.target[modelValue]);\n}","import { Component, ViewChild, ElementRef, Input } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBInfotextProps, DBInfotextState } from \"./model\";\nimport { cls, getHideProp } from \"../../utils\";\n\n@Component({\n selector: \"db-infotext\",\n template: `\n <span\n #_ref\n [attr.id]=\"id\"\n [class]=\"cls('db-infotext', className)\"\n [attr.data-icon]=\"icon\"\n [attr.data-semantic]=\"semantic\"\n [attr.data-size]=\"size\"\n [attr.data-hide-icon-before]=\"getHideProp(showIcon ?? true)\"\n >\n <ng-container *ngIf=\"text\">{{text}}</ng-container>\n <ng-container *ngIf=\"!(text)\"><ng-content></ng-content></ng-container>\n </span>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBInfotext {\n cls = cls;\n getHideProp = getHideProp;\n\n @Input() id!: DBInfotextProps[\"id\"];\n @Input() className!: DBInfotextProps[\"className\"];\n @Input() icon!: DBInfotextProps[\"icon\"];\n @Input() semantic!: DBInfotextProps[\"semantic\"];\n @Input() size!: DBInfotextProps[\"size\"];\n @Input() showIcon!: DBInfotextProps[\"showIcon\"];\n @Input() text!: DBInfotextProps[\"text\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-infotext\");\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBCheckboxProps, DBCheckboxState } from \"./model\";\nimport {\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport { ChangeEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport {\n cls,\n delay,\n getHideProp,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\n\n@Component({\n\t\tproviders: [{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: DBCheckbox,\n\t\t\tmulti: true\n\t\t}],\t\n selector: \"db-checkbox\",\n template: `\n <div\n [class]=\"cls('db-checkbox', className)\"\n [attr.data-size]=\"size\"\n [attr.data-hide-label]=\"getHideProp(showLabel)\"\n >\n <label [attr.for]=\"_id\">\n <input\n type=\"checkbox\"\n [attr.aria-invalid]=\"validation === 'invalid'\"\n [attr.data-custom-validity]=\"validation\"\n #_ref\n [attr.id]=\"_id\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.value]=\"value\"\n [required]=\"required\"\n (change)=\"handleChange($event)\"\n (blur)=\"handleBlur($event)\"\n (focus)=\"handleFocus($event)\"\n [attr.aria-describedby]=\"_descByIds\"\n />\n <ng-container *ngIf=\"label\">{{label}}</ng-container>\n <ng-container *ngIf=\"!(label)\"><ng-content></ng-content></ng-container>\n </label>\n <ng-container *ngIf=\"stringPropVisible(message, showMessage)\">\n <db-infotext size=\"small\" [icon]=\"messageIcon\" [id]=\"_messageId\">\n {{message}}\n </db-infotext>\n </ng-container>\n <db-infotext size=\"small\" semantic=\"successful\" [id]=\"_validMessageId\">\n {{validMessage ?? DEFAULT_VALID_MESSAGE}}\n </db-infotext>\n <db-infotext size=\"small\" semantic=\"critical\" [id]=\"_invalidMessageId\">\n {{invalidMessage ?? this._ref?.validationMessage ??\n DEFAULT_INVALID_MESSAGE}}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {{_voiceOverFallback}}\n </span>\n </div>\n `,\n standalone: true,\n imports: [CommonModule, DBInfotext],\n})\nexport class DBCheckbox implements ControlValueAccessor {\n\t\tconstructor(private renderer: Renderer2) { }\n DEFAULT_INVALID_MESSAGE = DEFAULT_INVALID_MESSAGE;\n DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;\n cls = cls;\n getHideProp = getHideProp;\n stringPropVisible = stringPropVisible;\n\n @Input() id!: DBCheckboxProps[\"id\"];\n @Input() message!: DBCheckboxProps[\"message\"];\n @Input() showMessage!: DBCheckboxProps[\"showMessage\"];\n @Input() indeterminate!: DBCheckboxProps[\"indeterminate\"];\n @Input() checked!: DBCheckboxProps[\"checked\"];\n @Input() validation!: DBCheckboxProps[\"validation\"];\n @Input() invalidMessage!: DBCheckboxProps[\"invalidMessage\"];\n @Input() required!: DBCheckboxProps[\"required\"];\n @Input() validMessage!: DBCheckboxProps[\"validMessage\"];\n @Input() className!: DBCheckboxProps[\"className\"];\n @Input() size!: DBCheckboxProps[\"size\"];\n @Input() showLabel!: DBCheckboxProps[\"showLabel\"];\n @Input() name!: DBCheckboxProps[\"name\"];\n @Input() disabled!: DBCheckboxProps[\"disabled\"];\n @Input() value!: DBCheckboxProps[\"value\"];\n @Input() label!: DBCheckboxProps[\"label\"];\n @Input() messageIcon!: DBCheckboxProps[\"messageIcon\"];\n\n @Output() onChange = new EventEmitter();\n @Output() change = new EventEmitter();\n @Output() onBlur = new EventEmitter();\n @Output() blur = new EventEmitter();\n @Output() onFocus = new EventEmitter();\n @Output() focus = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n initialized: DBCheckboxState[\"initialized\"] = false;\n _id: DBCheckboxState[\"_id\"] = undefined;\n _messageId: DBCheckboxState[\"_messageId\"] = undefined;\n _validMessageId: DBCheckboxState[\"_validMessageId\"] = undefined;\n _invalidMessageId: DBCheckboxState[\"_invalidMessageId\"] = undefined;\n _descByIds: DBCheckboxState[\"_descByIds\"] = \"\";\n _voiceOverFallback: DBCheckboxState[\"_voiceOverFallback\"] = \"\";\n handleChange(\n event: ChangeEvent<HTMLInputElement>\n ): ReturnType<DBCheckboxState[\"handleChange\"]> {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event, \"checked\");\n\n /* For a11y reasons we need to map the correct message with the checkbox */\n if (\n !this._ref?.nativeElement?.validity.valid ||\n this.validation === \"invalid\"\n ) {\n this._descByIds = this._invalidMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback =\n this.invalidMessage ??\n this._ref?.nativeElement?.validationMessage ??\n DEFAULT_INVALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.validation === \"valid\" ||\n (this._ref?.nativeElement?.validity.valid && this.required)\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = \"\";\n }\n }\n handleBlur(\n event: InteractionEvent<HTMLInputElement>\n ): ReturnType<DBCheckboxState[\"handleBlur\"]> {\n if (this.onBlur) {\n this.onBlur.emit(event);\n }\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(\n event: InteractionEvent<HTMLInputElement>\n ): ReturnType<DBCheckboxState[\"handleFocus\"]> {\n if (this.onFocus) {\n this.onFocus.emit(event);\n }\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \n\t\twriteValue(value: any) {\n\t\t this.checked = !!value;\n\n\t\t if (this._ref?.nativeElement) {\n\t\t\t this.renderer.setProperty(this._ref?.nativeElement, 'checked', !!value);\n\t\t }\n\t\t}\n\n\t\tpropagateChange(_: any) {}\n\n\t\tregisterOnChange(onChange: any) {\n\t\t this.propagateChange = onChange;\n\t\t}\n\n\t\tregisterOnTouched(onTouched: any) {\n\t\t //this.onTouched = onTouched;\n\t\t}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled = disabled;\n\t\t}\n\n\t\tngOnInit() {\n if (typeof window !== \"undefined\") {\n this.initialized = true;\n const mId = this.id ?? `checkbox-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-checkbox\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n }\n }\n if (this._ref?.nativeElement) {\n if (this.initialized && this.indeterminate !== undefined) {\n // When indeterminate is set, the value of the checked prop only impacts the form submitted values.\n // It has no accessibility or UX implications. (https://mui.com/material-ui/react-checkbox/)\n this._ref.nativeElement.indeterminate = this.indeterminate;\n }\n }\n if (this.initialized && this._ref?.nativeElement) {\n // in angular this must be set via native element\n if (this.checked != undefined) {\n this._ref.nativeElement.checked = this.checked;\n }\n this.initialized = false;\n }\n }\n }\n}\n","import { Component, ViewChild, ElementRef, Input } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBDividerProps, DBDividerState } from \"./model\";\nimport { cls } from \"../../utils\";\n\n@Component({\n selector: \"db-divider\",\n template: `\n <div\n #_ref\n [attr.id]=\"id\"\n [attr.data-margin]=\"margin\"\n [attr.data-variant]=\"variant\"\n [attr.data-emphasis]=\"emphasis\"\n [attr.data-width]=\"width\"\n [class]=\"cls('db-divider', className)\"\n ></div>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBDivider {\n cls = cls;\n\n @Input() id!: DBDividerProps[\"id\"];\n @Input() margin!: DBDividerProps[\"margin\"];\n @Input() variant!: DBDividerProps[\"variant\"];\n @Input() emphasis!: DBDividerProps[\"emphasis\"];\n @Input() width!: DBDividerProps[\"width\"];\n @Input() className!: DBDividerProps[\"className\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-divider\");\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBDrawerProps, DBDrawerState } from \"./model\";\nimport { DBButton } from \"../button/button\";\nimport { DEFAULT_CLOSE_BUTTON } from \"../../shared/constants\";\nimport { cls, delay } from \"../../utils\";\n\n@Component({\n selector: \"db-drawer\",\n template: `\n <dialog\n class=\"db-drawer\"\n [attr.id]=\"id\"\n #_ref\n (click)=\"\n handleClose($event);\n \"\n (keydown)=\"handleClose($event)\"\n [attr.data-backdrop]=\"backdrop\"\n [attr.data-variant]=\"variant\"\n >\n <article\n #dialogContainerRef\n [class]=\"cls('db-drawer-container', className)\"\n [attr.data-spacing]=\"spacing\"\n [attr.data-width]=\"width\"\n [attr.data-direction]=\"direction\"\n [attr.data-rounded]=\"rounded\"\n >\n <header class=\"db-drawer-header\">\n <div class=\"db-drawer-header-text\">\n <ng-content select=\"[drawer-header]\"></ng-content>\n </div>\n <db-button\n class=\"button-close-drawer\"\n icon=\"cross\"\n variant=\"ghost\"\n [id]=\"closeButtonId\"\n [noText]=\"true\"\n (click)=\"handleClose('close')\"\n >\n {{closeButtonText ?? DEFAULT_CLOSE_BUTTON}}\n </db-button>\n </header>\n <div class=\"db-drawer-content\"><ng-content></ng-content></div>\n </article>\n </dialog>\n `,\n standalone: true,\n imports: [CommonModule, DBButton],\n})\nexport class DBDrawer {\n DEFAULT_CLOSE_BUTTON = DEFAULT_CLOSE_BUTTON;\n cls = cls;\n\n @Input() open!: DBDrawerProps[\"open\"];\n @Input() backdrop!: DBDrawerProps[\"backdrop\"];\n @Input() variant!: DBDrawerProps[\"variant\"];\n @Input() id!: DBDrawerProps[\"id\"];\n @Input() className!: DBDrawerProps[\"className\"];\n @Input() spacing!: DBDrawerProps[\"spacing\"];\n @Input() width!: DBDrawerProps[\"width\"];\n @Input() direction!: DBDrawerProps[\"direction\"];\n @Input() rounded!: DBDrawerProps[\"rounded\"];\n @Input() closeButtonId!: DBDrawerProps[\"closeButtonId\"];\n @Input() closeButtonText!: DBDrawerProps[\"closeButtonText\"];\n\n @Output() onClose = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n @ViewChild(\"dialogContainerRef\") dialogContainerRef!: ElementRef | undefined;\n\n handleClose(event: any): ReturnType<DBDrawerState[\"handleClose\"]> {\n if (event.key === \"Escape\") {\n event.preventDefault();\n }\n if (\n event === \"close\" ||\n event.key === \"Escape\" ||\n (event.target.nodeName === \"DIALOG\" &&\n event.type === \"click\" &&\n this.backdrop !== \"none\")\n ) {\n if (this.onClose) {\n this.onClose.emit(event);\n }\n }\n }\n handleDialogOpen(): ReturnType<DBDrawerState[\"handleDialogOpen\"]> {\n if (this._ref?.nativeElement) {\n if (this.open && !this._ref?.nativeElement.open) {\n if (this.dialogContainerRef?.nativeElement) {\n this.dialogContainerRef.nativeElement.hidden = false;\n }\n if (this.backdrop === \"none\" || this.variant === \"inside\") {\n this._ref?.nativeElement.show();\n } else {\n this._ref?.nativeElement.showModal();\n }\n }\n if (!this.open && this._ref?.nativeElement.open) {\n if (this.dialogContainerRef?.nativeElement) {\n this.dialogContainerRef.nativeElement.hidden = true;\n }\n delay(() => {\n if (this.dialogContainerRef?.nativeElement) {\n this.dialogContainerRef.nativeElement.hidden = false;\n }\n this._ref?.nativeElement?.close();\n }, 401);\n }\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this.handleDialogOpen();\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-drawer\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n this.handleDialogOpen();\n }\n }\n}\n","import { handleDataOutside } from './index';\nexport type TriangleData = {\n itemRect: DOMRect;\n parentElementWidth: number;\n subNavigationHeight: number;\n padding: number;\n outsideVX: 'left' | 'right' | undefined;\n outsideVY: 'top' | 'bottom' | undefined;\n};\nexport const isEventTargetNavigationItem = (event: unknown): boolean => {\n const {\n target\n } = (event as {\n target: HTMLElement;\n });\n return Boolean(!target?.classList?.contains('db-navigation-item-expand-button') && target?.parentElement?.classList.contains('db-navigation-item'));\n};\nexport class NavigationItemSafeTriangle {\n private readonly element: HTMLElement | null;\n private readonly subNavigation: Element | null;\n private readonly parentSubNavigation: Element | null = null;\n private triangleData?: TriangleData;\n private initialized: boolean = false;\n private mouseX: number = 0;\n private mouseY: number = 0;\n constructor(element: HTMLElement | null, subNavigation: Element | null) {\n this.element = element;\n this.subNavigation = subNavigation;\n if (!this.element || !this.subNavigation) {\n return;\n }\n this.parentSubNavigation = this.element?.closest('.db-sub-navigation');\n\n /*\n * only initiate if:\n * 1. item is not at root navigation level\n * 2. item is not in the mobile navigation / within db-drawer\n */\n if (this.parentSubNavigation && !this.element.closest('.db-drawer')) {\n this.init();\n }\n }\n private init() {\n const parentElementWidth = this.parentSubNavigation?.getBoundingClientRect().width ?? 0;\n\n // the triangle has the width of the sub-navigation, current nav-item can be wider.\n // so the width of the triangle must be adapted to a possibly wider nav-item.\n this.element?.style.setProperty('--db-navigation-item-inline-size', `${parentElementWidth}px`);\n this.initialized = true;\n }\n public enableFollow() {\n if (!this.initialized || this.triangleData || !this.element || !this.subNavigation) {\n return;\n }\n const dataOutsidePair = handleDataOutside(this.subNavigation);\n const itemRect = this.element.getBoundingClientRect();\n const parentElementWidth = this.parentSubNavigation?.getBoundingClientRect().width ?? 0;\n this.triangleData = {\n itemRect,\n parentElementWidth,\n subNavigationHeight: this.subNavigation.getBoundingClientRect().height,\n padding: (parentElementWidth - itemRect.width) / 2,\n outsideVX: dataOutsidePair.vx,\n outsideVY: dataOutsidePair.vy\n };\n }\n public disableFollow() {\n this.triangleData = undefined;\n }\n private getTriangleTipX(): number {\n if (!this.triangleData) return 0;\n if (this.triangleData.outsideVX === 'right') {\n // vertical flipped triangle needs an inverted x pos\n return this.triangleData.itemRect.width - this.mouseX;\n }\n\n // triangle stops shrinking from 75% x pos\n return Math.min(this.mouseX, this.triangleData.itemRect.width * 0.75);\n }\n private getTriangleTipY(): number {\n if (!this.triangleData) return 0;\n\n // padding must be added to the y pos of the tip so that the y pos matches the cursor\n const mouseYLimited = Math.max(Math.min(this.mouseY, this.triangleData.itemRect.height), 0) + this.triangleData.padding;\n if (this.triangleData.outsideVY === 'bottom') {\n // add offset to tip y pos to match corrected sub-navigation y pos\n return mouseYLimited + (this.triangleData.subNavigationHeight - this.triangleData.padding * 2 - this.triangleData.itemRect.height);\n }\n return mouseYLimited;\n }\n private hasMouseEnteredSubNavigation(): boolean {\n if (!this.triangleData) {\n return false;\n }\n const isSubNavigationOnLeftSide = this.triangleData.outsideVX === 'right';\n if (isSubNavigationOnLeftSide && this.mouseX < -1 * this.triangleData.padding) {\n return true;\n }\n if (!isSubNavigationOnLeftSide && this.mouseX > this.triangleData.parentElementWidth - this.triangleData.padding) {\n return true;\n }\n return false;\n }\n private getTriangleCoordinates(variant: 'safe-triangle' | 'fill-gap'): undefined | {\n lb: string;\n lt: string;\n rt: string;\n rb: string;\n } {\n if (!this.triangleData) {\n return;\n }\n if (variant === 'fill-gap') {\n const itemHeight = `${this.triangleData.itemRect.height + 2 * this.triangleData.padding}px`;\n const xStart = `${this.triangleData.parentElementWidth - this.triangleData.padding}px`;\n return {\n lb: `${xStart} ${itemHeight}`,\n lt: `${xStart} 0`,\n rt: '100% 0',\n rb: `100% ${itemHeight}`\n };\n }\n const tipX = this.getTriangleTipX();\n const tipY = this.getTriangleTipY();\n const lb = `${tipX}px ${tipY}px`;\n const lt = `${tipX}px ${tipY}px`;\n return {\n lb,\n lt,\n rt: '100% 0',\n rb: '100% 100%'\n };\n }\n public followByMouseEvent(event: MouseEvent) {\n if (!this.initialized || !this.triangleData || !this.element || !this.subNavigation) {\n return;\n }\n this.mouseX = event.clientX - this.triangleData.itemRect.left;\n this.mouseY = event.clientY - this.triangleData.itemRect.top;\n const isOverSubNavigation = this.hasMouseEnteredSubNavigation();\n const coordinates = this.getTriangleCoordinates(isOverSubNavigation ? 'fill-gap' : 'safe-triangle');\n if (!coordinates) {\n return;\n }\n this.element.style.setProperty('--db-navigation-item-clip-path', `polygon(${coordinates.lb}, ${coordinates.lt}, ${coordinates.rt}, ${coordinates.rb})`);\n if (isOverSubNavigation) {\n this.triangleData = undefined;\n }\n }\n}\nexport default {\n isEventTargetNavigationItem,\n NavigationItemSafeTriangle\n}","/* Angular cannot handle multiple slots with the same name, we need to use Directives for this. */\nimport { Directive } from '@angular/core';\n@Directive({\n\tselector: '[dbSecondaryAction]',\n\tstandalone: true\n})\nexport class SecondaryActionDirective {}\n","/* Angular cannot handle multiple slots with the same name, we need to use Directives for this. */\nimport { Directive } from '@angular/core';\n@Directive({\n\tselector: '[dbMetaNavigation]',\n\tstandalone: true\n})\nexport class MetaNavigationDirective {}\n","/* Angular cannot handle multiple slots with the same name, we need to use Directives for this. */\nimport { Directive } from '@angular/core';\n@Directive({\n\tselector: '[dbNavigation]',\n\tstandalone: true\n})\nexport class NavigationDirective {}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\nContentChild, TemplateRef } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBHeaderProps, DBHeaderState } from \"./model\";\nimport { addAttributeToChildren, cls, uuid } from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBDrawer } from \"../drawer/drawer\";\nimport { DEFAULT_BURGER_MENU, DEFAULT_ID } from \"../../shared/constants\";\nimport { isEventTargetNavigationItem } from \"../../utils/navigation\";\n\nimport { SecondaryActionDirective } from './SecondaryAction.directive';\n\nimport { MetaNavigationDirective } from './MetaNavigation.directive';\n\nimport { NavigationDirective } from './Navigation.directive';\n\n@Component({\n selector: \"db-header\",\n template: `\n <header\n #_ref\n [class]=\"cls('db-header', className)\"\n [attr.id]=\"_id\"\n [attr.data-width]=\"width\"\n [attr.data-on-forcing-mobile]=\"forceMobile && !forcedToMobile\"\n >\n <db-drawer\n class=\"db-header-drawer\"\n spacing=\"small\"\n [rounded]=\"true\"\n [open]=\"drawerOpen\"\n (onClose)=\"toggle()\"\n >\n <div class=\"db-header-drawer-navigation\">\n <div\n class=\"db-header-navigation\"\n (click)=\"handleNavigationItemClick($event)\"\n >\n <ng-content *ngTemplateOutlet=\"dbNavigation\"></ng-content>\n </div>\n <div class=\"db-header-meta-navigation\">\n <ng-content *ngTemplateOutlet=\"dbMetaNavigation\"></ng-content>\n </div>\n </div>\n <div class=\"db-header-secondary-action\">\n <ng-content *ngTemplateOutlet=\"dbSecondaryAction\"></ng-content>\n </div>\n </db-drawer>\n <div class=\"db-header-meta-navigation\">\n <ng-content *ngTemplateOutlet=\"dbMetaNavigation\"></ng-content>\n </div>\n <div class=\"db-header-navigation-bar\">\n <div class=\"db-header-brand-container\">\n <ng-content select=\"[brand]\"></ng-content>\n </div>\n <div class=\"db-header-navigation-container\">\n <div class=\"db-header-navigation\"><ng-content *ngTemplateOutlet=\"dbNavigation\"></ng-content></div>\n <div class=\"db-header-primary-action\">\n <ng-content select=\"[primary-action]\"></ng-content>\n </div>\n </div>\n <div class=\"db-header-action-container\">\n <div class=\"db-header-burger-menu-container\">\n <db-button\n icon=\"menu\"\n variant=\"ghost\"\n [id]=\"_id + '-burger-menu'\"\n [noText]=\"true\"\n (click)=\"toggle()\"\n >\n {{burgerMenuLabel ?? DEFAULT_BURGER_MENU}}\n </db-button>\n </div>\n <div class=\"db-header-secondary-action\">\n <ng-content *ngTemplateOutlet=\"dbSecondaryAction\"></ng-content>\n </div>\n </div>\n </div>\n </header>\n `,\n standalone: true,\n imports: [CommonModule, DBDrawer, DBButton],\n})\nexport class DBHeader {\n\t@ContentChild(NavigationDirective, { read: TemplateRef }) dbNavigation: any;\n\t@ContentChild(MetaNavigationDirective, { read: TemplateRef }) dbMetaNavigation: any;\n\t@ContentChild(SecondaryActionDirective, { read: TemplateRef }) dbSecondaryAction: any;\n cls = cls;\n DEFAULT_BURGER_MENU = DEFAULT_BURGER_MENU;\n\n @Input() id!: DBHeaderProps[\"id\"];\n @Input() forceMobile!: DBHeaderProps[\"forceMobile\"];\n @Input() drawerOpen!: DBHeaderProps[\"drawerOpen\"];\n @Input() className!: DBHeaderProps[\"className\"];\n @Input() width!: DBHeaderProps[\"width\"];\n @Input() burgerMenuLabel!: DBHeaderProps[\"burgerMenuLabel\"];\n\n @Output() onToggle = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBHeaderState[\"_id\"] = DEFAULT_ID;\n initialized: DBHeaderState[\"initialized\"] = false;\n forcedToMobile: DBHeaderState[\"forcedToMobile\"] = false;\n toggle(): ReturnType<DBHeaderState[\"toggle\"]> {\n if (this.onToggle) {\n this.onToggle.emit(!this.drawerOpen);\n }\n }\n handleNavigationItemClick(\n event: unknown\n ): ReturnType<DBHeaderState[\"handleNavigationItemClick\"]> {\n if (isEventTargetNavigationItem(event)) {\n this.toggle();\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this.initialized = true;\n this._id = this.id || \"header-\" + uuid();\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-header\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this.initialized && document && this._id && this.forceMobile) {\n const headerElement = document.getElementById(this._id) as HTMLElement;\n if (headerElement) {\n // Adds this attribute to the header to enable all styling which would have\n // @media screen and (min-width: $db-screens-m) to show mobile navigation on a desktop device\n addAttributeToChildren(headerElement, {\n key: \"data-force-mobile\",\n value: \"true\",\n });\n }\n this.forcedToMobile = true;\n }\n }\n }\n}\n","import { Component, ViewChild, ElementRef, Input } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport type { DBIconProps, DBIconState } from \"./model\";\nimport { cls } from \"../../utils\";\n\n@Component({\n selector: \"db-icon\",\n template: `\n <span\n aria-hidden=\"true\"\n #_ref\n [attr.id]=\"id\"\n [class]=\"cls('db-icon', className)\"\n [attr.data-icon]=\"icon\"\n [attr.data-icon-weight]=\"weight\"\n [attr.data-icon-variant]=\"variant\"\n >\n <ng-container *ngIf=\"text\">{{text}}</ng-container>\n <ng-container *ngIf=\"!(text)\"><ng-content></ng-content></ng-container>\n </span>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBIcon {\n cls = cls;\n\n @Input() id!: DBIconProps[\"id\"];\n @Input() className!: DBIconProps[\"className\"];\n @Input() icon!: DBIconProps[\"icon\"];\n @Input() weight!: DBIconProps[\"weight\"];\n @Input() variant!: DBIconProps[\"variant\"];\n @Input() text!: DBIconProps[\"text\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-icon\");\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport {\n cls,\n delay,\n getHideProp,\n hasVoiceOver,\n isArrayOfStrings,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport { DBInputProps, DBInputState } from \"./model\";\nimport {\n DEFAULT_DATALIST_ID_SUFFIX,\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_LABEL,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_PLACEHOLDER,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport {\n ChangeEvent,\n InputEvent,\n InteractionEvent,\n ValueLabelType,\n} from \"../../shared/model\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport {\n handleFrameworkEventVue,\n handleFrameworkEventAngular,\n} from \"../../utils/form-components\";\n\n@Component({\n\t\tproviders: [{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: DBInput,\n\t\t\tmulti: true\n\t\t}],\t\n selector: \"db-input\",\n template: `\n <div\n [class]=\"cls('db-input', className)\"\n [attr.data-variant]=\"variant\"\n [attr.data-hide-label]=\"getHideProp(showLabel)\"\n [attr.data-hide-icon]=\"getHideProp(showIcon)\"\n [attr.data-icon]=\"icon\"\n [attr.data-icon-after]=\"iconAfter\"\n [attr.data-hide-icon-after]=\"getHideProp(showIcon)\"\n >\n <label [attr.for]=\"_id\">{{label ?? DEFAULT_LABEL}}</label>\n <input\n [attr.aria-invalid]=\"validation === 'invalid'\"\n [attr.data-custom-validity]=\"validation\"\n #_ref\n [attr.id]=\"_id\"\n [attr.name]=\"name\"\n [attr.type]=\"type || 'text'\"\n [attr.placeholder]=\"placeholder ?? DEFAULT_PLACEHOLDER\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [attr.step]=\"step\"\n [attr.value]=\"value ?? _value\"\n [attr.maxLength]=\"maxLength\"\n [attr.minLength]=\"minLength\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.readOnly]=\"readOnly\"\n [attr.form]=\"form\"\n [attr.pattern]=\"pattern\"\n [attr.size]=\"size\"\n [attr.autoComplete]=\"autocomplete\"\n [attr.autoFocus]=\"autofocus\"\n (input)=\"handleInput($event)\"\n (change)=\"handleChange($event)\"\n (blur)=\"handleBlur($event)\"\n (focus)=\"handleFocus($event)\"\n [attr.list]=\"dataList && _dataListId\"\n [attr.aria-describedby]=\"_descByIds\"\n />\n <ng-container *ngIf=\"dataList\">\n <datalist [attr.id]=\"_dataListId\">\n <ng-container\n *ngFor=\"let option of getDataList(dataList); trackBy: trackByOption0\"\n >\n <option [attr.value]=\"option.value\">{{option.label}}</option>\n </ng-container>\n </datalist>\n </ng-container>\n <ng-content></ng-content>\n <ng-container *ngIf=\"stringPropVisible(message, showMessage)\">\n <db-infotext size=\"small\" [icon]=\"messageIcon\" [id]=\"_messageId\">\n {{message}}\n </db-infotext>\n </ng-container>\n <db-infotext size=\"small\" semantic=\"successful\" [id]=\"_validMessageId\">\n {{validMessage ?? DEFAULT_VALID_MESSAGE}}\n </db-infotext>\n <db-infotext size=\"small\" semantic=\"critical\" [id]=\"_invalidMessageId\">\n {{invalidMessage ?? this._ref?.validationMessage ??\n DEFAULT_INVALID_MESSAGE}}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {{_voiceOverFallback}}\n </span>\n </div>\n `,\n standalone: true,\n imports: [CommonModule, DBInfotext],\n})\nexport class DBInput implements ControlValueAccessor {\n\t\tconstructor(private renderer: Renderer2) { }\n cls = cls;\n getHideProp = getHideProp;\n stringPropVisible = stringPropVisible;\n DEFAULT_INVALID_MESSAGE = DEFAULT_INVALID_MESSAGE;\n DEFAULT_LABEL = DEFAULT_LABEL;\n DEFAULT_PLACEHOLDER = DEFAULT_PLACEHOLDER;\n DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;\n\n @Input() id!: DBInputProps[\"id\"];\n @Input() dataListId!: DBInputProps[\"dataListId\"];\n @Input() message!: DBInputProps[\"message\"];\n @Input() showMessage!: DBInputProps[\"showMessage\"];\n @Input() value!: DBInputProps[\"value\"];\n @Input() validation!: DBInputProps[\"validation\"];\n @Input() invalidMessage!: DBInputProps[\"invalidMessage\"];\n @Input() required!: DBInputProps[\"required\"];\n @Input() minLength!: DBInputProps[\"minLength\"];\n @Input() maxLength!: DBInputProps[\"maxLength\"];\n @Input() pattern!: DBInputProps[\"pattern\"];\n @Input() validMessage!: DBInputProps[\"validMessage\"];\n @Input() className!: DBInputProps[\"className\"];\n @Input() variant!: DBInputProps[\"variant\"];\n @Input() showLabel!: DBInputProps[\"showLabel\"];\n @Input() showIcon!: DBInputProps[\"showIcon\"];\n @Input() icon!: DBInputProps[\"icon\"];\n @Input() iconAfter!: DBInputProps[\"iconAfter\"];\n @Input() label!: DBInputProps[\"label\"];\n @Input() name!: DBInputProps[\"name\"];\n @Input() type!: DBInputProps[\"type\"];\n @Input() placeholder!: DBInputProps[\"placeholder\"];\n @Input() disabled!: DBInputProps[\"disabled\"];\n @Input() step!: DBInputProps[\"step\"];\n @Input() max!: DBInputProps[\"max\"];\n @Input() min!: DBInputProps[\"min\"];\n @Input() readOnly!: DBInputProps[\"readOnly\"];\n @Input() form!: DBInputProps[\"form\"];\n @Input() size!: DBInputProps[\"size\"];\n @Input() autocomplete!: DBInputProps[\"autocomplete\"];\n @Input() autofocus!: DBInputProps[\"autofocus\"];\n @Input() dataList!: DBInputProps[\"dataList\"];\n @Input() messageIcon!: DBInputProps[\"messageIcon\"];\n\n @Output() onInput = new EventEmitter();\n @Output() input = new EventEmitter();\n @Output() onChange = new EventEmitter();\n @Output() change = new EventEmitter();\n @Output() onBlur = new EventEmitter();\n @Output() blur = new EventEmitter();\n @Output() onFocus = new EventEmitter();\n @Output() focus = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBInputState[\"_id\"] = undefined;\n _messageId: DBInputState[\"_messageId\"] = undefined;\n _validMessageId: DBInputState[\"_validMessageId\"] = undefined;\n _invalidMessageId: DBInputState[\"_invalidMessageId\"] = undefined;\n _dataListId: DBInputState[\"_dataListId\"] = undefined;\n _descByIds: DBInputState[\"_descByIds\"] = \"\";\n _value: DBInputState[\"_value\"] = \"\";\n _voiceOverFallback: DBInputState[\"_voiceOverFallback\"] = \"\";\n handleInput(\n event: InputEvent<HTMLInputElement>\n ): ReturnType<DBInputState[\"handleInput\"]> {\n if (this.onInput) {\n this.onInput.emit(event);\n }\n if (this.input) {\n this.input.emit(event);\n }\n }\n handleChange(\n event: ChangeEvent<HTMLInputElement>\n ): ReturnType<DBInputState[\"handleChange\"]> {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n\n /* For a11y reasons we need to map the correct message with the input */\n if (\n !this._ref?.nativeElement?.validity.valid ||\n this.validation === \"invalid\"\n ) {\n this._descByIds = this._invalidMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback =\n this.invalidMessage ??\n this._ref?.nativeElement?.validationMessage ??\n DEFAULT_INVALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.validation === \"valid\" ||\n (this._ref?.nativeElement?.validity.valid &&\n (this.required || this.minLength || this.maxLength || this.pattern))\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = \"\";\n }\n }\n handleBlur(\n event: InteractionEvent<HTMLInputElement>\n ): ReturnType<DBInputState[\"handleBlur\"]> {\n if (this.onBlur) {\n this.onBlur.emit(event);\n }\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(\n event: InteractionEvent<HTMLInputElement>\n ): ReturnType<DBInputState[\"handleFocus\"]> {\n if (this.onFocus) {\n this.onFocus.emit(event);\n }\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n getDataList(\n _list?: string[] | ValueLabelType[]\n ): ReturnType<DBInputState[\"getDataList\"]> {\n return Array.from(\n (isArrayOfStrings(_list)\n ? _list.map((val: string) => ({\n value: val,\n label: undefined,\n }))\n : _list) || []\n );\n }\n trackByOption0(_, option) {\n return this._dataListId + \"-option-\" + option.value;\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \n\t\twriteValue(value: any) {\nif (!value && (this.type === \"date\" ||\n\t\t\tthis.type === \"time\" ||\n\t\t\tthis.type === \"week\" ||\n\t\t\tthis.type === \"month\" ||\n\t\t\tthis.type === \"datetime-local\"\n\t\t\t)) return;\n\t\t this.value = value;\n\n\t\t if (this._ref?.nativeElement) {\n\t\t\t this.renderer.setProperty(this._ref?.nativeElement, 'value', value);\n\t\t }\n\t\t}\n\n\t\tpropagateChange(_: any) {}\n\n\t\tregisterOnChange(onChange: any) {\n\t\t this.propagateChange = onChange;\n\t\t}\n\n\t\tregisterOnTouched(onTouched: any) {\n\t\t //this.onTouched = onTouched;\n\t\t}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled = disabled;\n\t\t}\n\n\t\tngOnInit() {\n if (typeof window !== \"undefined\") {\n const mId = this.id ?? `input-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._dataListId = mId + DEFAULT_DATALIST_ID_SUFFIX;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-input\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._dataListId =\n this.dataListId ?? this._id + DEFAULT_DATALIST_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n }\n }\n this._value = this.value;\n }\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBLinkProps, DBLinkState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\n\n@Component({\n selector: \"db-link\",\n template: `\n <a\n #_ref\n [attr.id]=\"id\"\n [class]=\"cls('db-link', className)\"\n [attr.href]=\"href\"\n [attr.target]=\"target\"\n [attr.rel]=\"rel\"\n [attr.role]=\"role\"\n [attr.hrefLang]=\"hreflang\"\n [attr.aria-disabled]=\"getBooleanAsString(disabled)\"\n [attr.tabIndex]=\"disabled ? -1 : 0\"\n [attr.aria-selected]=\"selected\"\n [attr.aria-label]=\"label\"\n [attr.aria-current]=\"current\"\n [attr.data-size]=\"size\"\n [attr.data-hide-icon-after]=\"getHideProp(showIcon ?? true)\"\n [attr.data-variant]=\"variant\"\n [attr.data-content]=\"content || 'internal'\"\n (click)=\"handleClick($event)\"\n >\n <ng-container *ngIf=\"text\">{{text}}</ng-container>\n <ng-container *ngIf=\"!(text)\"><ng-content></ng-content></ng-container>\n </a>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBLink {\n cls = cls;\n getBooleanAsString = getBooleanAsString;\n getHideProp = getHideProp;\n\n @Input() id!: DBLinkProps[\"id\"];\n @Input() className!: DBLinkProps[\"className\"];\n @Input() href!: DBLinkProps[\"href\"];\n @Input() target!: DBLinkProps[\"target\"];\n @Input() rel!: DBLinkProps[\"rel\"];\n @Input() role!: DBLinkProps[\"role\"];\n @Input() hreflang!: DBLinkProps[\"hreflang\"];\n @Input() disabled!: DBLinkProps[\"disabled\"];\n @Input() selected!: DBLinkProps[\"selected\"];\n @Input() label!: DBLinkProps[\"label\"];\n @Input() current!: DBLinkProps[\"current\"];\n @Input() size!: DBLinkProps[\"size\"];\n @Input() showIcon!: DBLinkProps[\"showIcon\"];\n @Input() variant!: DBLinkProps[\"variant\"];\n @Input() content!: DBLinkProps[\"content\"];\n @Input() text!: DBLinkProps[\"text\"];\n\n @Output() onClick = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n handleClick(\n event: ClickEvent<HTMLAnchorElement>\n ): ReturnType<DBLinkState[\"handleClick\"]> {\n if (this.onClick) {\n this.onClick.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-link\");\n }\n}\n","import { Component, ViewChild, ElementRef, Input } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBPageProps, DBPageState } from \"./model\";\nimport { cls, getBooleanAsString } from \"../../utils\";\n\n@Component({\n selector: \"db-page\",\n template: `\n <div\n #_ref\n [attr.id]=\"id\"\n [class]=\"cls('db-page', className)\"\n [attr.data-variant]=\"variant\"\n [attr.data-fade-in]=\"fadeIn\"\n [attr.data-fonts-loaded]=\"getBooleanAsString(fontsLoaded)\"\n >\n <ng-content select=\"[header]\"></ng-content>\n <main class=\"db-main\"><ng-content></ng-content></main>\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBPage {\n cls = cls;\n getBooleanAsString = getBooleanAsString;\n\n @Input() fadeIn!: DBPageProps[\"fadeIn\"];\n @Input() documentOverflow!: DBPageProps[\"documentOverflow\"];\n @Input() variant!: DBPageProps[\"variant\"];\n @Input() id!: DBPageProps[\"id\"];\n @Input() className!: DBPageProps[\"className\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n fontsLoaded: DBPageState[\"fontsLoaded\"] = false;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (\n typeof window !== \"undefined\" &&\n document &&\n (this.documentOverflow === \"hidden\" ||\n (this.variant === \"fixed\" && this.documentOverflow !== \"auto\"))\n ) {\n // We need to set this to `html` element that the flex-box solution works\n // See https://stackoverflow.com/a/43710216 - Approach 1 - flexbox\n document.documentElement.classList.add(\"db-page-document\");\n }\n\n if (typeof window !== \"undefined\") {\n this.fontsLoaded = !this.fadeIn;\n if (document && this.fadeIn) {\n document.fonts.ready.then(() => {\n this.fontsLoaded = true;\n });\n } else {\n this.fontsLoaded = true;\n }\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-page\");\n }\n\n ngOnDestroy() {\n if (\n typeof window !== \"undefined\" &&\n document.documentElement.classList.contains(\"db-page-document\")\n ) {\n // remove document styles set by this\n document.documentElement.classList.remove(\"db-page-document\");\n }\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBRadioProps, DBRadioState } from \"./model\";\nimport { cls, getHideProp, uuid } from \"../../utils\";\nimport { ChangeEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\n@Component({\n\t\tproviders: [{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: DBRadio,\n\t\t\tmulti: true\n\t\t}],\t\n selector: \"db-radio\",\n template: `\n <label\n [attr.data-size]=\"size\"\n [attr.data-hide-label]=\"getHideProp(showLabel)\"\n [class]=\"cls('db-radio', className)\"\n [attr.for]=\"_id\"\n >\n <input\n type=\"radio\"\n [attr.aria-invalid]=\"validation === 'invalid'\"\n [attr.data-custom-validity]=\"validation\"\n #_ref\n [attr.id]=\"_id\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.aria-describedby]=\"describedbyid\"\n [attr.value]=\"value\"\n [required]=\"required\"\n (change)=\"handleChange($event)\"\n (blur)=\"handleBlur($event)\"\n (focus)=\"handleFocus($event)\"\n />\n <ng-container *ngIf=\"label\">{{label}}</ng-container>\n <ng-container *ngIf=\"!(label)\"><ng-content></ng-content></ng-container>\n </label>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBRadio implements ControlValueAccessor {\n\t\tconstructor(private renderer: Renderer2) { }\n cls = cls;\n getHideProp = getHideProp;\n\n @Input() id!: DBRadioProps[\"id\"];\n @Input() checked!: DBRadioProps[\"checked\"];\n @Input() size!: DBRadioProps[\"size\"];\n @Input() showLabel!: DBRadioProps[\"showLabel\"];\n @Input() className!: DBRadioProps[\"className\"];\n @Input() validation!: DBRadioProps[\"validation\"];\n @Input() name!: DBRadioProps[\"name\"];\n @Input() disabled!: DBRadioProps[\"disabled\"];\n @Input() describedbyid!: DBRadioProps[\"describedbyid\"];\n @Input() value!: DBRadioProps[\"value\"];\n @Input() required!: DBRadioProps[\"required\"];\n @Input() label!: DBRadioProps[\"label\"];\n\n @Output() onChange = new EventEmitter();\n @Output() change = new EventEmitter();\n @Output() onBlur = new EventEmitter();\n @Output() blur = new EventEmitter();\n @Output() onFocus = new EventEmitter();\n @Output() focus = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n initialized: DBRadioState[\"initialized\"] = false;\n _id: DBRadioState[\"_id\"] = undefined;\n handleChange(\n event: ChangeEvent<HTMLInputElement>\n ): ReturnType<DBRadioState[\"handleChange\"]> {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event, \"checked\");\n }\n handleBlur(\n event: InteractionEvent<HTMLInputElement>\n ): ReturnType<DBRadioState[\"handleBlur\"]> {\n if (this.onBlur) {\n this.onBlur.emit(event);\n }\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(\n event: InteractionEvent<HTMLInputElement>\n ): ReturnType<DBRadioState[\"handleFocus\"]> {\n if (this.onFocus) {\n this.onFocus.emit(event);\n }\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \n\t\twriteValue(value: any) {\n\t\t this.checked = !!value;\n\n\t\t if (this._ref?.nativeElement) {\n\t\t\t this.renderer.setProperty(this._ref?.nativeElement, 'checked', !!value);\n\t\t }\n\t\t}\n\n\t\tpropagateChange(_: any) {}\n\n\t\tregisterOnChange(onChange: any) {\n\t\t this.propagateChange = onChange;\n\t\t}\n\n\t\tregisterOnTouched(onTouched: any) {\n\t\t //this.onTouched = onTouched;\n\t\t}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled = disabled;\n\t\t}\n\n\t\tngOnInit() {\n if (typeof window !== \"undefined\") {\n this.initialized = true;\n this._id = this.id ?? `radio-${uuid()}`;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-radio\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this.checked && this.initialized && this._ref?.nativeElement) {\n this._ref.nativeElement.checked = true;\n }\n }\n }\n}\n","import { Component, ViewChild, ElementRef, Input } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBSectionProps, DBSectionState } from \"./model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\n@Component({\n selector: \"db-section\",\n template: `\n <section\n #_ref\n [attr.id]=\"_id\"\n [class]=\"cls('db-section', className)\"\n [attr.data-spacing]=\"spacing || 'medium'\"\n [attr.data-width]=\"width\"\n >\n <ng-content></ng-content>\n </section>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBSection {\n cls = cls;\n\n @Input() id!: DBSectionProps[\"id\"];\n @Input() className!: DBSectionProps[\"className\"];\n @Input() spacing!: DBSectionProps[\"spacing\"];\n @Input() width!: DBSectionProps[\"width\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBSectionState[\"_id\"] = DEFAULT_ID;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this._id = this.id || \"section-\" + uuid();\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-section\");\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBSelectOptionType, DBSelectProps, DBSelectState } from \"./model\";\nimport {\n cls,\n delay,\n getHideProp,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_LABEL,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_PLACEHOLDER_ID_SUFFIX,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport {\n ChangeEvent,\n ClickEvent,\n InputEvent,\n InteractionEvent,\n} from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\n@Component({\n\t\tproviders: [{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: DBSelect,\n\t\t\tmulti: true\n\t\t}],\t\n selector: \"db-select\",\n template: `\n <div\n [class]=\"cls('db-select', className)\"\n [attr.data-variant]=\"variant\"\n [attr.data-hide-label]=\"getHideProp(showLabel)\"\n [attr.data-icon]=\"icon\"\n [attr.data-hide-icon]=\"getHideProp(showIcon)\"\n >\n <label [attr.for]=\"_id\">{{label ?? DEFAULT_LABEL}}</label>\n <select\n [attr.aria-invalid]=\"validation === 'invalid'\"\n [attr.data-custom-validity]=\"validation\"\n #_ref\n [required]=\"required\"\n [disabled]=\"disabled\"\n [attr.id]=\"_id\"\n [attr.name]=\"name\"\n [attr.size]=\"size\"\n [value]=\"value ?? _value\"\n [attr.autocomplete]=\"autocomplete\"\n (input)=\"handleInput($event)\"\n (click)=\"handleClick($event)\"\n (change)=\"handleChange($event)\"\n (blur)=\"handleBlur($event)\"\n (focus)=\"handleFocus($event)\"\n [attr.aria-describedby]=\"_descByIds\"\n >\n <option [attr.hidden]=\"true\"></option>\n <ng-container *ngIf=\"options\">\n <ng-container *ngFor=\"let option of options\">\n <ng-container>\n <ng-container *ngIf=\"option.options\">\n <optgroup [attr.label]=\"getOptionLabel(option)\">\n <ng-container\n *ngFor=\"let optgroupOption of option.options; trackBy: trackByOptgroupOption0\"\n >\n <option\n [value]=\"optgroupOption.value\"\n [attr.selected]=\"optgroupOption.selected\"\n [disabled]=\"optgroupOption.disabled\"\n >\n {{getOptionLabel(optgroupOption)}}\n </option>\n </ng-container>\n </optgroup>\n </ng-container>\n <ng-container *ngIf=\"!option.options\">\n <option\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n [attr.selected]=\"option.selected\"\n >\n {{getOptionLabel(option)}}\n </option>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-content></ng-content>\n </select>\n <span [attr.id]=\"_placeholderId\">{{placeholder ?? label}}</span>\n <ng-container *ngIf=\"stringPropVisible(message, showMessage)\">\n <db-infotext size=\"small\" [icon]=\"messageIcon\" [id]=\"_messageId\">\n {{message}}\n </db-infotext>\n </ng-container>\n <db-infotext size=\"small\" semantic=\"successful\" [id]=\"_validMessageId\">\n {{validMessage ?? DEFAULT_VALID_MESSAGE}}\n </db-infotext>\n <db-infotext size=\"small\" semantic=\"critical\" [id]=\"_invalidMessageId\">\n {{invalidMessage ?? this._ref?.validationMessage ??\n DEFAULT_INVALID_MESSAGE}}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {{_voiceOverFallback}}\n </span>\n </div>\n `,\n standalone: true,\n imports: [CommonModule, DBInfotext],\n})\nexport class DBSelect implements ControlValueAccessor {\n\t\tconstructor(private renderer: Renderer2) { }\n cls = cls;\n getHideProp = getHideProp;\n stringPropVisible = stringPropVisible;\n DEFAULT_INVALID_MESSAGE = DEFAULT_INVALID_MESSAGE;\n DEFAULT_LABEL = DEFAULT_LABEL;\n DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;\n\n @Input() id!: DBSelectProps[\"id\"];\n @Input() message!: DBSelectProps[\"message\"];\n @Input() showMessage!: DBSelectProps[\"showMessage\"];\n @Input() value!: DBSelectProps[\"value\"];\n @Input() validation!: DBSelectProps[\"validation\"];\n @Input() invalidMessage!: DBSelectProps[\"invalidMessage\"];\n @Input() required!: DBSelectProps[\"required\"];\n @Input() validMessage!: DBSelectProps[\"validMessage\"];\n @Input() className!: DBSelectProps[\"className\"];\n @Input() variant!: DBSelectProps[\"variant\"];\n @Input() showLabel!: DBSelectProps[\"showLabel\"];\n @Input() icon!: DBSelectProps[\"icon\"];\n @Input() showIcon!: DBSelectProps[\"showIcon\"];\n @Input() label!: DBSelectProps[\"label\"];\n @Input() disabled!: DBSelectProps[\"disabled\"];\n @Input() name!: DBSelectProps[\"name\"];\n @Input() size!: DBSelectProps[\"size\"];\n @Input() autocomplete!: DBSelectProps[\"autocomplete\"];\n @Input() options!: DBSelectProps[\"options\"];\n @Input() placeholder!: DBSelectProps[\"placeholder\"];\n @Input() messageIcon!: DBSelectProps[\"messageIcon\"];\n\n @Output() onClick = new EventEmitter();\n @Output() onInput = new EventEmitter();\n @Output() input = new EventEmitter();\n @Output() onChange = new EventEmitter();\n @Output() change = new EventEmitter();\n @Output() onBlur = new EventEmitter();\n @Output() blur = new EventEmitter();\n @Output() onFocus = new EventEmitter();\n @Output() focus = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBSelectState[\"_id\"] = undefined;\n _messageId: DBSelectState[\"_messageId\"] = undefined;\n _validMessageId: DBSelectState[\"_validMessageId\"] = undefined;\n _invalidMessageId: DBSelectState[\"_invalidMessageId\"] = undefined;\n _placeholderId: DBSelectState[\"_placeholderId\"] = \"\";\n _descByIds: DBSelectState[\"_descByIds\"] = \"\";\n _value: DBSelectState[\"_value\"] = \"\";\n initialized: DBSelectState[\"initialized\"] = false;\n _voiceOverFallback: DBSelectState[\"_voiceOverFallback\"] = \"\";\n handleClick(\n event: ClickEvent<HTMLSelectElement>\n ): ReturnType<DBSelectState[\"handleClick\"]> {\n if (this.onClick) {\n this.onClick.emit(event);\n }\n }\n handleInput(\n event: InputEvent<HTMLSelectElement>\n ): ReturnType<DBSelectState[\"handleInput\"]> {\n if (this.onInput) {\n this.onInput.emit(event);\n }\n if (this.input) {\n this.input.emit(event);\n }\n }\n handleChange(\n event: ChangeEvent<HTMLSelectElement>\n ): ReturnType<DBSelectState[\"handleChange\"]> {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n\n /* For a11y reasons we need to map the correct message with the select */\n if (\n !this._ref?.nativeElement?.validity.valid ||\n this.validation === \"invalid\"\n ) {\n this._descByIds = this._invalidMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback =\n this.invalidMessage ??\n this._ref?.nativeElement?.validationMessage ??\n DEFAULT_INVALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.validation === \"valid\" ||\n (this._ref?.nativeElement?.validity.valid && this.required)\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = this._placeholderId;\n }\n }\n handleBlur(\n event: InteractionEvent<HTMLSelectElement>\n ): ReturnType<DBSelectState[\"handleBlur\"]> {\n if (this.onBlur) {\n this.onBlur.emit(event);\n }\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(\n event: InteractionEvent<HTMLSelectElement>\n ): ReturnType<DBSelectState[\"handleFocus\"]> {\n if (this.onFocus) {\n this.onFocus.emit(event);\n }\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n getOptionLabel(\n option: DBSelectOptionType\n ): ReturnType<DBSelectState[\"getOptionLabel\"]> {\n return option.label ?? option.value.toString();\n }\n trackByOptgroupOption0(_, optgroupOption) {\n return optgroupOption.value.toString();\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \n\t\twriteValue(value: any) {\n\t\t this.value = value;\n\n\t\t if (this._ref?.nativeElement) {\n\t\t\t this.renderer.setProperty(this._ref?.nativeElement, 'value', value);\n\t\t }\n\t\t}\n\n\t\tpropagateChange(_: any) {}\n\n\t\tregisterOnChange(onChange: any) {\n\t\t this.propagateChange = onChange;\n\t\t}\n\n\t\tregisterOnTouched(onTouched: any) {\n\t\t //this.onTouched = onTouched;\n\t\t}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled = disabled;\n\t\t}\n\n\t\tngOnInit() {\n if (typeof window !== \"undefined\") {\n this.initialized = true;\n const mId = this.id ?? `select-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._placeholderId = mId + DEFAULT_PLACEHOLDER_ID_SUFFIX;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-select\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this._id && this.initialized) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n const placeholderId = this._id + DEFAULT_PLACEHOLDER_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._placeholderId = placeholderId;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n } else {\n this._descByIds = placeholderId;\n }\n this.initialized = false;\n }\n this._value = this.value;\n }\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBSwitchProps, DBSwitchState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp, uuid } from \"../../utils\";\nimport { ChangeEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\n@Component({\n\t\tproviders: [{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: DBSwitch,\n\t\t\tmulti: true\n\t\t}],\t\n selector: \"db-switch\",\n template: `\n <label\n [attr.data-visual-aid]=\"getBooleanAsString(visualAid)\"\n [attr.data-size]=\"size\"\n [attr.data-hide-label]=\"getHideProp(showLabel)\"\n [attr.data-emphasis]=\"emphasis\"\n [attr.for]=\"_id\"\n [class]=\"cls('db-switch', className)\"\n >\n <input\n type=\"checkbox\"\n role=\"switch\"\n [attr.id]=\"_id\"\n [attr.aria-checked]=\"getBooleanAsString(_checked)\"\n #_ref\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.aria-describedby]=\"describedbyid\"\n [attr.aria-invalid]=\"validation === 'invalid'\"\n [attr.data-custom-validity]=\"validation\"\n [attr.name]=\"name\"\n [required]=\"required\"\n [attr.data-aid-icon]=\"icon\"\n [attr.data-aid-icon-after]=\"iconAfter\"\n (change)=\"handleChange($event)\"\n (blur)=\"handleBlur($event)\"\n (focus)=\"handleFocus($event)\"\n />\n <ng-container *ngIf=\"label\">{{label}}</ng-container>\n <ng-container *ngIf=\"!(label)\"><ng-content></ng-content></ng-container>\n </label>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBSwitch implements ControlValueAccessor {\n\t\tconstructor(private renderer: Renderer2) { }\n cls = cls;\n getBooleanAsString = getBooleanAsString;\n getHideProp = getHideProp;\n\n @Input() id!: DBSwitchProps[\"id\"];\n @Input() checked!: DBSwitchProps[\"checked\"];\n @Input() visualAid!: DBSwitchProps[\"visualAid\"];\n @Input() size!: DBSwitchProps[\"size\"];\n @Input() showLabel!: DBSwitchProps[\"showLabel\"];\n @Input() emphasis!: DBSwitchProps[\"emphasis\"];\n @Input() className!: DBSwitchProps[\"className\"];\n @Input() value!: DBSwitchProps[\"value\"];\n @Input() disabled!: DBSwitchProps[\"disabled\"];\n @Input() describedbyid!: DBSwitchProps[\"describedbyid\"];\n @Input() validation!: DBSwitchProps[\"validation\"];\n @Input() name!: DBSwitchProps[\"name\"];\n @Input() required!: DBSwitchProps[\"required\"];\n @Input() icon!: DBSwitchProps[\"icon\"];\n @Input() iconAfter!: DBSwitchProps[\"iconAfter\"];\n @Input() label!: DBSwitchProps[\"label\"];\n\n @Output() onChange = new EventEmitter();\n @Output() change = new EventEmitter();\n @Output() onBlur = new EventEmitter();\n @Output() blur = new EventEmitter();\n @Output() onFocus = new EventEmitter();\n @Output() focus = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBSwitchState[\"_id\"] = undefined;\n _checked: DBSwitchState[\"_checked\"] = false;\n handleChange(\n event: ChangeEvent<HTMLInputElement>\n ): ReturnType<DBSwitchState[\"handleChange\"]> {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change.emit(event);\n }\n\n // We have different ts types in different frameworks, so we need to use any here\n this._checked = (event.target as any)?.[\"checked\"];\n handleFrameworkEventAngular(this, event, \"checked\");\n }\n handleBlur(\n event: InteractionEvent<HTMLInputElement>\n ): ReturnType<DBSwitchState[\"handleBlur\"]> {\n if (this.onBlur) {\n this.onBlur.emit(event);\n }\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(\n event: InteractionEvent<HTMLInputElement>\n ): ReturnType<DBSwitchState[\"handleFocus\"]> {\n if (this.onFocus) {\n this.onFocus.emit(event);\n }\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \n\t\twriteValue(value: any) {\n\t\t this.checked = !!value;\n\n\t\t if (this._ref?.nativeElement) {\n\t\t\t this.renderer.setProperty(this._ref?.nativeElement, 'checked', !!value);\n\t\t }\n\t\t}\n\n\t\tpropagateChange(_: any) {}\n\n\t\tregisterOnChange(onChange: any) {\n\t\t this.propagateChange = onChange;\n\t\t}\n\n\t\tregisterOnTouched(onTouched: any) {\n\t\t //this.onTouched = onTouched;\n\t\t}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled = disabled;\n\t\t}\n\n\t\tngOnInit() {\n if (typeof window !== \"undefined\") {\n this._id = this.id ?? `switch-${uuid()}`;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-switch\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this.checked !== undefined && this.checked !== null) {\n this._checked = !!this.checked;\n }\n }\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport type { DBTabItemProps, DBTabItemState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp } from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\n@Component({\n\t\tproviders: [{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: DBTabItem,\n\t\t\tmulti: true\n\t\t}],\t\n selector: \"db-tab-item\",\n template: `\n <li role=\"none\" [class]=\"cls('db-tab-item', className)\">\n <label\n [attr.for]=\"id\"\n [attr.data-icon]=\"icon\"\n [attr.data-icon-after]=\"iconAfter\"\n [attr.data-hide-icon]=\"getHideProp(showIcon)\"\n [attr.data-hide-icon-after]=\"getHideProp(showIcon)\"\n [attr.data-no-text]=\"noText\"\n >\n <input\n type=\"radio\"\n role=\"tab\"\n [disabled]=\"disabled\"\n [attr.aria-selected]=\"_selected\"\n [attr.aria-controls]=\"controls\"\n [attr.checked]=\"checked\"\n #_ref\n [attr.id]=\"id\"\n (input)=\"handleChange($event)\"\n />\n <ng-container *ngIf=\"label\">{{label}}</ng-container>\n <ng-content></ng-content>\n </label>\n </li>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBTabItem implements ControlValueAccessor {\n\t\tconstructor(private renderer: Renderer2) { }\n cls = cls;\n getHideProp = getHideProp;\n\n @Input() active!: DBTabItemProps[\"active\"];\n @Input() className!: DBTabItemProps[\"className\"];\n @Input() id!: DBTabItemProps[\"id\"];\n @Input() icon!: DBTabItemProps[\"icon\"];\n @Input() iconAfter!: DBTabItemProps[\"iconAfter\"];\n @Input() showIcon!: DBTabItemProps[\"showIcon\"];\n @Input() noText!: DBTabItemProps[\"noText\"];\n @Input() disabled!: DBTabItemProps[\"disabled\"];\n @Input() controls!: DBTabItemProps[\"controls\"];\n @Input() checked!: DBTabItemProps[\"checked\"];\n @Input() label!: DBTabItemProps[\"label\"];\n\n @Output() onChange = new EventEmitter();\n @Output() change = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n initialized: DBTabItemState[\"initialized\"] = false;\n _selected: DBTabItemState[\"_selected\"] = false;\n handleChange(event: any): ReturnType<DBTabItemState[\"handleChange\"]> {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change.emit(event);\n }\n\n // We have different ts types in different frameworks, so we need to use any here\n\n this._selected = (event.target as any)?.[\"checked\"];\n handleFrameworkEventAngular(this, event, \"checked\");\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \n\t\twriteValue(value: any) {\n\t\t this.checked = !!value;\n\n\t\t if (this._ref?.nativeElement) {\n\t\t\t this.renderer.setProperty(this._ref?.nativeElement, 'checked', !!value);\n\t\t }\n\t\t}\n\n\t\tpropagateChange(_: any) {}\n\n\t\tregisterOnChange(onChange: any) {\n\t\t this.propagateChange = onChange;\n\t\t}\n\n\t\tregisterOnTouched(onTouched: any) {\n\t\t //this.onTouched = onTouched;\n\t\t}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled = disabled;\n\t\t}\n\n\t\tngOnInit() {\n if (typeof window !== \"undefined\") {\n this.initialized = true;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-tab-item\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this.active && this.initialized && this._ref?.nativeElement) {\n this._ref?.nativeElement.click();\n this.initialized = false;\n }\n }\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBTagProps, DBTagState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp } from \"../../utils\";\n\n@Component({\n selector: \"db-tag\",\n template: `\n <div\n #_ref\n [attr.id]=\"id\"\n [class]=\"cls('db-tag', className)\"\n [attr.data-disabled]=\"getBooleanAsString(disabled)\"\n [attr.data-semantic]=\"semantic\"\n [attr.data-emphasis]=\"emphasis\"\n [attr.data-icon]=\"icon\"\n [attr.data-show-check-state]=\"getBooleanAsString(showCheckState ?? true)\"\n [attr.data-hide-icon]=\"getHideProp(showIcon)\"\n [attr.data-no-text]=\"getBooleanAsString(noText)\"\n [attr.data-overflow]=\"getBooleanAsString(overflow)\"\n >\n <ng-content select=\"[content]\"></ng-content>\n <ng-content></ng-content>\n <ng-container *ngIf=\"text\">{{text}}</ng-container>\n <ng-container *ngIf=\"behavior === 'removable'\">\n <button\n class=\"db-button db-tab-remove-button\"\n data-icon=\"cross\"\n data-size=\"small\"\n data-no-text=\"true\"\n data-variant=\"ghost\"\n (click)=\"handleRemove()\"\n [attr.title]=\"getRemoveButtonText()\"\n >\n {{getRemoveButtonText()}}\n </button>\n </ng-container>\n </div>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBTag {\n cls = cls;\n getBooleanAsString = getBooleanAsString;\n getHideProp = getHideProp;\n\n @Input() disabled!: DBTagProps[\"disabled\"];\n @Input() removeButton!: DBTagProps[\"removeButton\"];\n @Input() id!: DBTagProps[\"id\"];\n @Input() className!: DBTagProps[\"className\"];\n @Input() semantic!: DBTagProps[\"semantic\"];\n @Input() emphasis!: DBTagProps[\"emphasis\"];\n @Input() icon!: DBTagProps[\"icon\"];\n @Input() showCheckState!: DBTagProps[\"showCheckState\"];\n @Input() showIcon!: DBTagProps[\"showIcon\"];\n @Input() noText!: DBTagProps[\"noText\"];\n @Input() overflow!: DBTagProps[\"overflow\"];\n @Input() text!: DBTagProps[\"text\"];\n @Input() behavior!: DBTagProps[\"behavior\"];\n\n @Output() onRemove = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n initialized: DBTagState[\"initialized\"] = false;\n handleRemove(): ReturnType<DBTagState[\"handleRemove\"]> {\n if (this.onRemove) {\n this.onRemove.emit();\n }\n }\n getRemoveButtonText(): ReturnType<DBTagState[\"getRemoveButtonText\"]> {\n if (this.removeButton) {\n return this.removeButton;\n }\n\n // TODO: We should think this through again, if we would really like to have default and especially english, instead of german labels in here\n return \"Remove tag\";\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n this.initialized = true;\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-tag\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (\n this.initialized &&\n this._ref?.nativeElement &&\n this.disabled !== undefined\n ) {\n const button: HTMLButtonElement | null =\n this._ref?.nativeElement?.querySelector(\n \"button:not(.db-tab-remove-button)\"\n );\n const input: HTMLInputElement | null =\n this._ref?.nativeElement?.querySelector(\"input\");\n for (const element of [button, input]) {\n if (element) {\n element.disabled = this.disabled;\n }\n }\n }\n }\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBTextareaProps, DBTextareaState } from \"./model\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport {\n cls,\n delay,\n getHideProp,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_LABEL,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_PLACEHOLDER,\n DEFAULT_ROWS,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport { ChangeEvent, InputEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\n@Component({\n\t\tproviders: [{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: DBTextarea,\n\t\t\tmulti: true\n\t\t}],\t\n selector: \"db-textarea\",\n template: `\n <div\n [class]=\"cls('db-textarea', className)\"\n [attr.data-variant]=\"variant\"\n [attr.data-hide-label]=\"getHideProp(showLabel)\"\n >\n <label [attr.for]=\"_id\">{{label ?? DEFAULT_LABEL}}</label>\n <textarea\n [attr.aria-invalid]=\"validation === 'invalid'\"\n [attr.data-custom-validity]=\"validation\"\n #_ref\n [attr.id]=\"_id\"\n [attr.data-resize]=\"resize\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [attr.readOnly]=\"readOnly\"\n [attr.form]=\"form\"\n [attr.maxLength]=\"maxLength\"\n [attr.minLength]=\"minLength\"\n [attr.name]=\"name\"\n [attr.wrap]=\"wrap\"\n [attr.spellcheck]=\"spellCheck\"\n [attr.autocomplete]=\"autocomplete\"\n (input)=\"handleInput($event)\"\n (change)=\"handleChange($event)\"\n (blur)=\"handleBlur($event)\"\n (focus)=\"handleFocus($event)\"\n [attr.value]=\"value ?? _value\"\n [attr.aria-describedby]=\"_descByIds\"\n [attr.placeholder]=\"placeholder ?? DEFAULT_PLACEHOLDER\"\n [attr.rows]=\"rows ?? DEFAULT_ROWS\"\n [attr.cols]=\"cols\"\n >{{value}}</textarea>\n <ng-container *ngIf=\"stringPropVisible(message, showMessage)\">\n <db-infotext size=\"small\" [icon]=\"messageIcon\" [id]=\"_messageId\">\n {{message}}\n </db-infotext>\n </ng-container>\n <db-infotext size=\"small\" semantic=\"successful\" [id]=\"_validMessageId\">\n {{validMessage ?? DEFAULT_VALID_MESSAGE}}\n </db-infotext>\n <db-infotext size=\"small\" semantic=\"critical\" [id]=\"_invalidMessageId\">\n {{invalidMessage ?? this._ref?.validationMessage ??\n DEFAULT_INVALID_MESSAGE}}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {{_voiceOverFallback}}\n </span>\n </div>\n `,\n standalone: true,\n imports: [CommonModule, DBInfotext],\n})\nexport class DBTextarea implements ControlValueAccessor {\n\t\tconstructor(private renderer: Renderer2) { }\n cls = cls;\n getHideProp = getHideProp;\n stringPropVisible = stringPropVisible;\n DEFAULT_INVALID_MESSAGE = DEFAULT_INVALID_MESSAGE;\n DEFAULT_LABEL = DEFAULT_LABEL;\n DEFAULT_PLACEHOLDER = DEFAULT_PLACEHOLDER;\n DEFAULT_ROWS = DEFAULT_ROWS;\n DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;\n\n @Input() id!: DBTextareaProps[\"id\"];\n @Input() message!: DBTextareaProps[\"message\"];\n @Input() showMessage!: DBTextareaProps[\"showMessage\"];\n @Input() value!: DBTextareaProps[\"value\"];\n @Input() validation!: DBTextareaProps[\"validation\"];\n @Input() invalidMessage!: DBTextareaProps[\"invalidMessage\"];\n @Input() required!: DBTextareaProps[\"required\"];\n @Input() minLength!: DBTextareaProps[\"minLength\"];\n @Input() maxLength!: DBTextareaProps[\"maxLength\"];\n @Input() validMessage!: DBTextareaProps[\"validMessage\"];\n @Input() className!: DBTextareaProps[\"className\"];\n @Input() variant!: DBTextareaProps[\"variant\"];\n @Input() showLabel!: DBTextareaProps[\"showLabel\"];\n @Input() label!: DBTextareaProps[\"label\"];\n @Input() resize!: DBTextareaProps[\"resize\"];\n @Input() disabled!: DBTextareaProps[\"disabled\"];\n @Input() readOnly!: DBTextareaProps[\"readOnly\"];\n @Input() form!: DBTextareaProps[\"form\"];\n @Input() name!: DBTextareaProps[\"name\"];\n @Input() wrap!: DBTextareaProps[\"wrap\"];\n @Input() spellCheck!: DBTextareaProps[\"spellCheck\"];\n @Input() autocomplete!: DBTextareaProps[\"autocomplete\"];\n @Input() placeholder!: DBTextareaProps[\"placeholder\"];\n @Input() rows!: DBTextareaProps[\"rows\"];\n @Input() cols!: DBTextareaProps[\"cols\"];\n @Input() messageIcon!: DBTextareaProps[\"messageIcon\"];\n\n @Output() onInput = new EventEmitter();\n @Output() input = new EventEmitter();\n @Output() onChange = new EventEmitter();\n @Output() change = new EventEmitter();\n @Output() onBlur = new EventEmitter();\n @Output() blur = new EventEmitter();\n @Output() onFocus = new EventEmitter();\n @Output() focus = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBTextareaState[\"_id\"] = undefined;\n _messageId: DBTextareaState[\"_messageId\"] = undefined;\n _validMessageId: DBTextareaState[\"_validMessageId\"] = undefined;\n _invalidMessageId: DBTextareaState[\"_invalidMessageId\"] = undefined;\n _descByIds: DBTextareaState[\"_descByIds\"] = \"\";\n _value: DBTextareaState[\"_value\"] = \"\";\n _voiceOverFallback: DBTextareaState[\"_voiceOverFallback\"] = \"\";\n handleInput(\n event: InputEvent<HTMLTextAreaElement>\n ): ReturnType<DBTextareaState[\"handleInput\"]> {\n if (this.onInput) {\n this.onInput.emit(event);\n }\n if (this.input) {\n this.input.emit(event);\n }\n }\n handleChange(\n event: ChangeEvent<HTMLTextAreaElement>\n ): ReturnType<DBTextareaState[\"handleChange\"]> {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n\n /* For a11y reasons we need to map the correct message with the textarea */\n if (\n !this._ref?.nativeElement?.validity.valid ||\n this.validation === \"invalid\"\n ) {\n this._descByIds = this._invalidMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback =\n this.invalidMessage ??\n this._ref?.nativeElement?.validationMessage ??\n DEFAULT_INVALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.validation === \"valid\" ||\n (this._ref?.nativeElement?.validity.valid &&\n (this.required || this.minLength || this.maxLength))\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = \"\";\n }\n }\n handleBlur(\n event: InteractionEvent<HTMLTextAreaElement>\n ): ReturnType<DBTextareaState[\"handleBlur\"]> {\n if (this.onBlur) {\n this.onBlur.emit(event);\n }\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(\n event: InteractionEvent<HTMLTextAreaElement>\n ): ReturnType<DBTextareaState[\"handleFocus\"]> {\n if (this.onFocus) {\n this.onFocus.emit(event);\n }\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \n\t\twriteValue(value: any) {\n\t\t this.value = value;\n\n\t\t if (this._ref?.nativeElement) {\n\t\t\t this.renderer.setProperty(this._ref?.nativeElement, 'value', value);\n\t\t }\n\t\t}\n\n\t\tpropagateChange(_: any) {}\n\n\t\tregisterOnChange(onChange: any) {\n\t\t this.propagateChange = onChange;\n\t\t}\n\n\t\tregisterOnTouched(onTouched: any) {\n\t\t //this.onTouched = onTouched;\n\t\t}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled = disabled;\n\t\t}\n\n\t\tngOnInit() {\n if (typeof window !== \"undefined\") {\n const mId = this.id ?? `textarea-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-textarea\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n }\n }\n this._value = this.value;\n }\n }\n}\n","/* Angular cannot handle multiple slots with the same name, we need to use Directives for this. */\nimport { Directive } from '@angular/core';\n@Directive({\n\tselector: '[dbNavigationContent]',\n\tstandalone: true\n})\nexport class NavigationContentDirective {}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\nContentChild, TemplateRef } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBNavigationItemProps, DBNavigationItemState } from \"./model\";\nimport { DBButton } from \"../button/button\";\nimport { cls, getBooleanAsString, getHideProp, uuid } from \"../../utils\";\nimport { NavigationItemSafeTriangle } from \"../../utils/navigation\";\nimport { DEFAULT_BACK } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\n\nimport { NavigationContentDirective } from './NavigationContent.directive';\n\n@Component({\n selector: \"db-navigation-item\",\n template: `\n <li\n #_ref\n [attr.id]=\"id\"\n (mouseover)=\"navigationItemSafeTriangle?.enableFollow()\"\n (mouseleave)=\"navigationItemSafeTriangle?.disableFollow()\"\n (mousemove)=\"navigationItemSafeTriangle?.followByMouseEvent($event)\"\n [class]=\"cls('db-navigation-item', className)\"\n [attr.data-width]=\"width\"\n [attr.data-icon]=\"icon\"\n [attr.data-hide-icon]=\"getHideProp(showIcon)\"\n [attr.data-active]=\"active\"\n [attr.aria-disabled]=\"getBooleanAsString(disabled)\"\n >\n <ng-container *ngIf=\"!hasSubNavigation\">\n <ng-container *ngIf=\"text\">{{text}}</ng-container>\n <ng-container *ngIf=\"!(text)\"><ng-content *ngTemplateOutlet=\"dbNavigationContent\"></ng-content></ng-container>\n </ng-container>\n <ng-container *ngIf=\"hasSubNavigation\">\n <button\n class=\"db-navigation-item-expand-button\"\n [attr.aria-haspopup]=\"hasAreaPopup\"\n [attr.aria-expanded]=\"isSubNavigationExpanded\"\n [attr.disabled]=\"disabled\"\n (click)=\"handleClick($event)\"\n >\n <ng-container *ngIf=\"text\">{{text}}</ng-container>\n <ng-container *ngIf=\"!(text)\"><ng-content *ngTemplateOutlet=\"dbNavigationContent\"></ng-content></ng-container>\n </button>\n <menu class=\"db-sub-navigation\" [attr.id]=\"subNavigationId\">\n <ng-container *ngIf=\"hasAreaPopup\">\n <div class=\"db-mobile-navigation-back\">\n <db-button\n icon=\"arrow_left\"\n variant=\"ghost\"\n [id]=\"backButtonId\"\n (click)=\"handleBackClick($event)\"\n >\n {{backButtonText ?? DEFAULT_BACK}}\n </db-button>\n </div>\n </ng-container>\n <ng-content select=\"[sub-navigation]\"></ng-content>\n </menu>\n </ng-container>\n </li>\n `,\n standalone: true,\n imports: [CommonModule, DBButton],\n})\nexport class DBNavigationItem {\n\t@ContentChild(NavigationContentDirective, { read: TemplateRef }) dbNavigationContent: any;\n cls = cls;\n getBooleanAsString = getBooleanAsString;\n getHideProp = getHideProp;\n DEFAULT_BACK = DEFAULT_BACK;\n\n @Input()\n subNavigationExpanded!: DBNavigationItemProps[\"subNavigationExpanded\"];\n @Input() id!: DBNavigationItemProps[\"id\"];\n @Input() className!: DBNavigationItemProps[\"className\"];\n @Input() width!: DBNavigationItemProps[\"width\"];\n @Input() icon!: DBNavigationItemProps[\"icon\"];\n @Input() showIcon!: DBNavigationItemProps[\"showIcon\"];\n @Input() active!: DBNavigationItemProps[\"active\"];\n @Input() disabled!: DBNavigationItemProps[\"disabled\"];\n @Input() text!: DBNavigationItemProps[\"text\"];\n @Input() backButtonId!: DBNavigationItemProps[\"backButtonId\"];\n @Input() backButtonText!: DBNavigationItemProps[\"backButtonText\"];\n\n @Output() onClick = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n initialized: DBNavigationItemState[\"initialized\"] = false;\n hasAreaPopup: DBNavigationItemState[\"hasAreaPopup\"] = false;\n hasSubNavigation: DBNavigationItemState[\"hasSubNavigation\"] = true;\n isSubNavigationExpanded: DBNavigationItemState[\"isSubNavigationExpanded\"] =\n false;\n subNavigationId: DBNavigationItemState[\"subNavigationId\"] =\n \"sub-navigation-\" + uuid();\n navigationItemSafeTriangle: DBNavigationItemState[\"navigationItemSafeTriangle\"] =\n undefined;\n handleClick(\n event: ClickEvent<HTMLButtonElement>\n ): ReturnType<DBNavigationItemState[\"handleClick\"]> {\n if (this.onClick) {\n this.onClick.emit(event);\n }\n if (this.hasAreaPopup) {\n this.isSubNavigationExpanded = true;\n }\n }\n handleBackClick(\n event: ClickEvent<HTMLButtonElement>\n ): ReturnType<DBNavigationItemState[\"handleBackClick\"]> {\n event.stopPropagation();\n this.isSubNavigationExpanded = false;\n }\n updateSubNavigationState(): ReturnType<\n DBNavigationItemState[\"updateSubNavigationState\"]\n > {\n if (this.initialized && document && this.subNavigationId) {\n const subNavigationSlot = document?.getElementById(\n this.subNavigationId\n ) as HTMLMenuElement;\n if (subNavigationSlot) {\n if (subNavigationSlot.children?.length > 0) {\n this.hasAreaPopup = true;\n if (!this.navigationItemSafeTriangle) {\n this.navigationItemSafeTriangle = new NavigationItemSafeTriangle(\n this._ref?.nativeElement,\n subNavigationSlot\n );\n }\n } else {\n this.hasSubNavigation = false;\n }\n }\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this.initialized = true;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-navigation-item\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this.subNavigationExpanded !== undefined) {\n this.isSubNavigationExpanded = !!this.subNavigationExpanded;\n }\n this.updateSubNavigationState();\n }\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBAccordionItemProps, DBAccordionItemState } from \"./model\";\nimport { cls, getBooleanAsString, uuid } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\n@Component({\n selector: \"db-accordion-item\",\n template: `\n <li [attr.id]=\"_id\" [class]=\"cls('db-accordion-item', className)\">\n <details\n [attr.aria-disabled]=\"getBooleanAsString(disabled)\"\n #_ref\n [open]=\"_open\"\n >\n <summary (click)=\"toggle($event)\">\n <ng-container *ngIf=\"headlinePlain\">{{headlinePlain}}</ng-container>\n <ng-container *ngIf=\"!headlinePlain\">\n <ng-content select=\"[headline]\"></ng-content>\n </ng-container>\n </summary>\n <div>\n <ng-container *ngIf=\"text\">{{text}}</ng-container>\n <ng-container *ngIf=\"!(text)\"><ng-content></ng-content></ng-container>\n </div>\n </details>\n </li>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBAccordionItem {\n cls = cls;\n getBooleanAsString = getBooleanAsString;\n\n @Input() id!: DBAccordionItemProps[\"id\"];\n @Input() defaultOpen!: DBAccordionItemProps[\"defaultOpen\"];\n @Input() className!: DBAccordionItemProps[\"className\"];\n @Input() disabled!: DBAccordionItemProps[\"disabled\"];\n @Input() headlinePlain!: DBAccordionItemProps[\"headlinePlain\"];\n @Input() text!: DBAccordionItemProps[\"text\"];\n\n @Output() onToggle = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBAccordionItemState[\"_id\"] = DEFAULT_ID;\n _open: DBAccordionItemState[\"_open\"] = false;\n toggle(\n event: ClickEvent<HTMLElement>\n ): ReturnType<DBAccordionItemState[\"toggle\"]> {\n // We need this for react https://github.com/facebook/react/issues/15486#issuecomment-488028431\n event?.preventDefault();\n const newStateOpen = !this._open;\n if (this.onToggle) {\n this.onToggle.emit(newStateOpen);\n }\n this._open = newStateOpen;\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this._id = this.id || \"accordion-item-\" + uuid();\n if (this.defaultOpen) {\n this._open = this.defaultOpen;\n }\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-accordion-item\");\n }\n}\n","import {\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBAccordionItemDefaultProps } from \"../accordion-item/model\";\nimport { DBAccordionProps, DBAccordionState } from \"./model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBAccordionItem } from \"../accordion-item/accordion-item\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\n@Component({\n selector: \"db-accordion\",\n template: `\n <ul\n #_ref\n [attr.id]=\"_id\"\n [class]=\"cls('db-accordion', className)\"\n [attr.data-variant]=\"variant\"\n >\n <ng-container *ngIf=\"!items\"><ng-content></ng-content></ng-container>\n <ng-container *ngIf=\"items\">\n <ng-container\n *ngFor=\"let item of convertItems(items); index as index; trackBy: trackByItem0\"\n >\n <db-accordion-item\n [headlinePlain]=\"item.headlinePlain\"\n [disabled]=\"item.disabled\"\n [text]=\"item.text\"\n ></db-accordion-item>\n </ng-container>\n </ng-container>\n </ul>\n `,\n standalone: true,\n imports: [CommonModule, DBAccordionItem],\n})\nexport class DBAccordion {\n cls = cls;\n\n @Input() id!: DBAccordionProps[\"id\"];\n @Input() name!: DBAccordionProps[\"name\"];\n @Input() behavior!: DBAccordionProps[\"behavior\"];\n @Input() initOpenIndex!: DBAccordionProps[\"initOpenIndex\"];\n @Input() className!: DBAccordionProps[\"className\"];\n @Input() variant!: DBAccordionProps[\"variant\"];\n @Input() items!: DBAccordionProps[\"items\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBAccordionState[\"_id\"] = DEFAULT_ID;\n _name: DBAccordionState[\"_name\"] = \"\";\n initialized: DBAccordionState[\"initialized\"] = false;\n _initOpenIndexDone: DBAccordionState[\"_initOpenIndexDone\"] = false;\n convertItems(\n items: unknown[] | string | undefined\n ): ReturnType<DBAccordionState[\"convertItems\"]> {\n try {\n if (typeof items === \"string\") {\n return JSON.parse(items);\n }\n return items as DBAccordionItemDefaultProps[];\n } catch (error) {\n console.error(error);\n }\n return [];\n }\n trackByItem0(index, item) {\n return `accordion-item-${index}`;\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this._id = this.id || \"accordion-\" + uuid();\n this.initialized = true;\n this._initOpenIndexDone = true;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-accordion\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n // If we have a single behavior we first check for\n // props.name otherwise for state_id\n if (this.initialized) {\n if (this.behavior === \"single\") {\n if (this.name) {\n if (this._name !== this.name) {\n this._name = this.name;\n }\n } else {\n if (this._name !== this._id && this._id) {\n this._name = this._id;\n }\n }\n } else {\n this._name = \"\";\n }\n }\n if (this._ref?.nativeElement) {\n const childDetails =\n this._ref?.nativeElement.getElementsByTagName(\"details\");\n if (childDetails) {\n for (const details of Array.from<HTMLDetailsElement>(childDetails)) {\n if (this._name === \"\") {\n details.removeAttribute(\"name\");\n } else {\n details.name = this._name;\n }\n }\n }\n }\n if (this._ref?.nativeElement && this._initOpenIndexDone) {\n if (this.initOpenIndex && this.initOpenIndex?.length > 0) {\n const childDetails =\n this._ref?.nativeElement.getElementsByTagName(\"details\");\n if (childDetails) {\n const initOpenIndex =\n this.behavior === \"single\" && this.initOpenIndex.length > 1\n ? [this.initOpenIndex[0]] // use only one index for behavior=single\n : this.initOpenIndex;\n Array.from<HTMLDetailsElement>(childDetails).forEach(\n (details: HTMLDetailsElement, index: number) => {\n if (initOpenIndex.includes(index)) {\n details.open = true;\n }\n }\n );\n }\n }\n this._initOpenIndexDone = false;\n }\n }\n }\n}\n","import { Component, ViewChild, ElementRef, Input } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBNavigationProps, DBNavigationState } from \"./model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\n@Component({\n selector: \"db-navigation\",\n template: `\n <nav\n #_ref\n [attr.id]=\"_id\"\n [attr.aria-labelledby]=\"labelledBy\"\n [class]=\"cls('db-navigation', className)\"\n >\n <menu><ng-content></ng-content></menu>\n </nav>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBNavigation {\n cls = cls;\n\n @Input() id!: DBNavigationProps[\"id\"];\n @Input() labelledBy!: DBNavigationProps[\"labelledBy\"];\n @Input() className!: DBNavigationProps[\"className\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBNavigationState[\"_id\"] = DEFAULT_ID;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this._id = this.id || \"navigation-\" + uuid();\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-navigation\");\n }\n}\n","import {\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBPopoverProps, DBPopoverState } from \"./model\";\nimport { cls, getBooleanAsString, handleDataOutside } from \"../../utils\";\n\n@Component({\n selector: \"db-popover\",\n template: `\n <div\n #_ref\n [attr.id]=\"id\"\n [class]=\"cls('db-popover', className)\"\n (focus)=\"handleAutoPlacement()\"\n (blur)=\"handleLeave($event)\"\n (mouseenter)=\"handleAutoPlacement()\"\n (mouseleave)=\"handleLeave($event)\"\n >\n <ng-content select=\"[trigger]\"></ng-content>\n <article\n class=\"db-popover-content\"\n [attr.data-spacing]=\"spacing\"\n [attr.data-gap]=\"getBooleanAsString(gap)\"\n [attr.data-animation]=\"getBooleanAsString(animation ?? true)\"\n [attr.data-open]=\"open\"\n [attr.data-delay]=\"delay\"\n [attr.data-width]=\"width\"\n [attr.data-placement]=\"placement\"\n >\n <ng-content></ng-content>\n </article>\n </div>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBPopover {\n cls = cls;\n getBooleanAsString = getBooleanAsString;\n\n @Input() id!: DBPopoverProps[\"id\"];\n @Input() className!: DBPopoverProps[\"className\"];\n @Input() spacing!: DBPopoverProps[\"spacing\"];\n @Input() gap!: DBPopoverProps[\"gap\"];\n @Input() animation!: DBPopoverProps[\"animation\"];\n @Input() open!: DBPopoverProps[\"open\"];\n @Input() delay!: DBPopoverProps[\"delay\"];\n @Input() width!: DBPopoverProps[\"width\"];\n @Input() placement!: DBPopoverProps[\"placement\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n initialized: DBPopoverState[\"initialized\"] = false;\n isExpanded: DBPopoverState[\"isExpanded\"] = false;\n handleAutoPlacement(): ReturnType<DBPopoverState[\"handleAutoPlacement\"]> {\n this.isExpanded = true;\n if (!this._ref?.nativeElement) return;\n const article = this._ref.nativeElement.querySelector(\"article\");\n if (!article) return;\n handleDataOutside(article);\n }\n handleLeave(event: any): ReturnType<DBPopoverState[\"handleLeave\"]> {\n const element = event.target as HTMLElement;\n const parent = element.parentNode;\n if (\n !parent ||\n (element.parentNode.querySelector(\":focus\") !== element &&\n element.parentNode.querySelector(\":focus-within\") !== element &&\n element.parentNode.querySelector(\":hover\") !== element)\n ) {\n this.isExpanded = false;\n }\n }\n getTrigger(): ReturnType<DBPopoverState[\"getTrigger\"]> {\n if (this._ref?.nativeElement) {\n const children: Element[] = Array.from(this._ref.nativeElement.children);\n if (children.length >= 2) {\n const firstChild = children[0];\n if (firstChild.tagName.includes(\"-\")) {\n // this is a workaround for custom angular components\n return firstChild.children?.length > 0\n ? firstChild.children[0]\n : null;\n } else {\n return firstChild;\n }\n }\n }\n return null;\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this.initialized = true;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-popover\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this._ref?.nativeElement && this.initialized) {\n const child = this.getTrigger();\n if (child) {\n child.ariaHasPopup = \"true\";\n }\n this.initialized = false;\n }\n if (this._ref?.nativeElement) {\n const child = this.getTrigger();\n if (child) {\n child.ariaExpanded = Boolean(this.isExpanded).toString();\n }\n }\n }\n }\n}\n","import {\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBTooltipProps, DBTooltipState } from \"./model\";\nimport { cls, getBooleanAsString, handleDataOutside, uuid } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\n@Component({\n selector: \"db-tooltip\",\n template: `\n <i\n role=\"tooltip\"\n aria-hidden=\"true\"\n data-gap=\"true\"\n #_ref\n [class]=\"cls('db-tooltip', className)\"\n [attr.id]=\"_id\"\n [attr.data-emphasis]=\"emphasis\"\n [attr.data-animation]=\"getBooleanAsString(animation ?? true)\"\n [attr.data-delay]=\"delay\"\n [attr.data-width]=\"width\"\n [attr.data-show-arrow]=\"getBooleanAsString(showArrow ?? true)\"\n [attr.data-placement]=\"placement\"\n (click)=\"handleClick($event)\"\n >\n <ng-content></ng-content>\n </i>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBTooltip {\n cls = cls;\n getBooleanAsString = getBooleanAsString;\n\n @Input() id!: DBTooltipProps[\"id\"];\n @Input() className!: DBTooltipProps[\"className\"];\n @Input() emphasis!: DBTooltipProps[\"emphasis\"];\n @Input() animation!: DBTooltipProps[\"animation\"];\n @Input() delay!: DBTooltipProps[\"delay\"];\n @Input() width!: DBTooltipProps[\"width\"];\n @Input() showArrow!: DBTooltipProps[\"showArrow\"];\n @Input() placement!: DBTooltipProps[\"placement\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBTooltipState[\"_id\"] = DEFAULT_ID;\n initialized: DBTooltipState[\"initialized\"] = false;\n handleClick(\n event: ClickEvent<HTMLElement>\n ): ReturnType<DBTooltipState[\"handleClick\"]> {\n event.stopPropagation();\n }\n handleAutoPlacement(): ReturnType<DBTooltipState[\"handleAutoPlacement\"]> {\n if (this._ref?.nativeElement) handleDataOutside(this._ref.nativeElement);\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this._id = this.id || \"tooltip-\" + uuid();\n this.initialized = true;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-tooltip\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this._ref?.nativeElement && this.initialized && this._id) {\n let parent = this._ref.nativeElement.parentElement;\n if (parent && parent.localName.includes(\"tooltip\")) {\n // Angular workaround\n parent = parent.parentElement;\n }\n if (parent) {\n [\"mouseenter\", \"focus\"].forEach((event) => {\n parent.addEventListener(event, () => this.handleAutoPlacement());\n });\n parent.setAttribute(\"data-has-tooltip\", \"true\");\n parent.setAttribute(\"aria-describedby\", this._id);\n }\n this.initialized = false;\n }\n }\n }\n}\n","import { Component, ViewChild, ElementRef, Input } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBTabListProps, DBTabListState } from \"./model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\n@Component({\n selector: \"db-tab-list\",\n template: `\n <div #_ref [attr.id]=\"_id\" [class]=\"cls('db-tab-list', className)\">\n <ul role=\"tablist\">\n <ng-content></ng-content>\n </ul>\n </div>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBTabList {\n cls = cls;\n\n @Input() id!: DBTabListProps[\"id\"];\n @Input() className!: DBTabListProps[\"className\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBTabListState[\"_id\"] = DEFAULT_ID;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this._id = this.id || \"tab-list-\" + uuid();\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-tab-list\");\n }\n}\n","import { Component, ViewChild, ElementRef, Input } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBTabPanelProps, DBTabPanelState } from \"./model\";\nimport { cls } from \"../../utils\";\n\n@Component({\n selector: \"db-tab-panel\",\n template: `\n <section\n role=\"tabpanel\"\n #_ref\n [class]=\"cls('db-tab-panel', className)\"\n [attr.id]=\"id\"\n [attr.aria-labelledby]=\"labelledBy\"\n >\n <ng-container *ngIf=\"content\">{{content}}</ng-container>\n <ng-content></ng-content>\n </section>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBTabPanel {\n cls = cls;\n\n @Input() className!: DBTabPanelProps[\"className\"];\n @Input() id!: DBTabPanelProps[\"id\"];\n @Input() labelledBy!: DBTabPanelProps[\"labelledBy\"];\n @Input() content!: DBTabPanelProps[\"content\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-tab-panel\");\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBSimpleTabProps, DBTabsProps, DBTabsState } from \"./model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBTabList } from \"../tab-list/tab-list\";\nimport { DBTabItem } from \"../tab-item/tab-item\";\nimport { DBTabPanel } from \"../tab-panel/tab-panel\";\n\n@Component({\n selector: \"db-tabs\",\n template: `\n <div\n #_ref\n [attr.id]=\"_id\"\n [class]=\"cls('db-tabs', className)\"\n [attr.data-orientation]=\"orientation\"\n [attr.data-scroll-behavior]=\"behavior\"\n [attr.data-alignment]=\"alignment ?? 'start'\"\n [attr.data-width]=\"width ?? 'auto'\"\n (input)=\"handleChange($event)\"\n >\n <ng-container *ngIf=\"showScrollLeft\">\n <db-button\n class=\"tabs-scroll-left\"\n variant=\"ghost\"\n icon=\"chevron_left\"\n type=\"button\"\n [noText]=\"true\"\n (click)=\"scroll(true)\"\n >\n Scroll left\n </db-button>\n </ng-container>\n <ng-container *ngIf=\"tabs\">\n <db-tab-list>\n <ng-container\n *ngFor=\"let tab of convertTabs(tabs); index as index; trackBy: trackByTab0\"\n >\n <db-tab-item\n [active]=\"tab.active\"\n [label]=\"tab.label\"\n [iconAfter]=\"tab.iconAfter\"\n [icon]=\"tab.icon\"\n [noText]=\"tab.noText\"\n ></db-tab-item>\n </ng-container>\n </db-tab-list>\n <ng-container\n *ngFor=\"let tab of convertTabs(tabs); index as index; trackBy: trackByTab1\"\n >\n <db-tab-panel [content]=\"tab.content\">{{tab.children}}</db-tab-panel>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"showScrollRight\">\n <db-button\n class=\"tabs-scroll-right\"\n variant=\"ghost\"\n icon=\"chevron_right\"\n type=\"button\"\n [noText]=\"true\"\n (click)=\"scroll()\"\n >\n Scroll right\n </db-button>\n </ng-container>\n <ng-content></ng-content>\n </div>\n `,\n standalone: true,\n imports: [CommonModule, DBButton, DBTabList, DBTabItem, DBTabPanel],\n})\nexport class DBTabs {\n cls = cls;\n\n @Input() id!: DBTabsProps[\"id\"];\n @Input() name!: DBTabsProps[\"name\"];\n @Input() arrowScrollDistance!: DBTabsProps[\"arrowScrollDistance\"];\n @Input() orientation!: DBTabsProps[\"orientation\"];\n @Input() behavior!: DBTabsProps[\"behavior\"];\n @Input() initialSelectedMode!: DBTabsProps[\"initialSelectedMode\"];\n @Input() initialSelectedIndex!: DBTabsProps[\"initialSelectedIndex\"];\n @Input() className!: DBTabsProps[\"className\"];\n @Input() alignment!: DBTabsProps[\"alignment\"];\n @Input() width!: DBTabsProps[\"width\"];\n @Input() tabs!: DBTabsProps[\"tabs\"];\n\n @Output() onIndexChange = new EventEmitter();\n @Output() onTabSelect = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBTabsState[\"_id\"] = \"tabs-\" + uuid();\n _name: DBTabsState[\"_name\"] = \"\";\n initialized: DBTabsState[\"initialized\"] = false;\n showScrollLeft: DBTabsState[\"showScrollLeft\"] = false;\n showScrollRight: DBTabsState[\"showScrollRight\"] = false;\n scrollContainer: DBTabsState[\"scrollContainer\"] = null;\n convertTabs(\n tabs: unknown[] | string | undefined\n ): ReturnType<DBTabsState[\"convertTabs\"]> {\n try {\n if (typeof tabs === \"string\") {\n return JSON.parse(tabs);\n }\n return tabs as DBSimpleTabProps[];\n } catch (error) {\n console.error(error);\n }\n return [];\n }\n evaluateScrollButtons(\n tList: Element\n ): ReturnType<DBTabsState[\"evaluateScrollButtons\"]> {\n const needsScroll = tList.scrollWidth > tList.clientWidth;\n this.showScrollLeft = needsScroll && tList.scrollLeft > 1;\n this.showScrollRight =\n needsScroll && tList.scrollLeft < tList.scrollWidth - tList.clientWidth;\n }\n scroll(left?: boolean): ReturnType<DBTabsState[\"scroll\"]> {\n let step = this.arrowScrollDistance || 100;\n if (left) {\n step *= -1;\n }\n this.scrollContainer?.scrollBy({\n top: 0,\n left: step,\n behavior: \"smooth\",\n });\n }\n initTabList(): ReturnType<DBTabsState[\"initTabList\"]> {\n if (this._ref?.nativeElement) {\n const tabList = this._ref.nativeElement.querySelector(\".db-tab-list\");\n if (tabList) {\n const container: HTMLElement | null =\n tabList.querySelector('[role=\"tablist\"]');\n if (container) {\n container.setAttribute(\n \"aria-orientation\",\n this.orientation || \"horizontal\"\n );\n if (this.behavior === \"arrows\") {\n this.scrollContainer = container;\n this.evaluateScrollButtons(container);\n container.addEventListener(\"scroll\", () => {\n this.evaluateScrollButtons(container);\n });\n }\n }\n }\n }\n }\n initTabs(init?: boolean): ReturnType<DBTabsState[\"initTabs\"]> {\n if (this._ref?.nativeElement) {\n const tabItems = Array.from<Element>(\n this._ref?.nativeElement.getElementsByClassName(\"db-tab-item\")\n );\n for (const tabItem of tabItems) {\n const index: number = tabItems.indexOf(tabItem);\n const label = tabItem.querySelector(\"label\");\n const input = tabItem.querySelector(\"input\");\n if (input && label) {\n if (!input.id) {\n const tabId = `${this._name}-tab-${index}`;\n label.setAttribute(\"for\", tabId);\n input.setAttribute(\n \"aria-controls\",\n `${this._name}-tab-panel-${index}`\n );\n input.id = tabId;\n input.setAttribute(\"name\", this._name);\n }\n if (init) {\n // Auto select\n const autoSelect =\n !this.initialSelectedMode || this.initialSelectedMode === \"auto\";\n const shouldAutoSelect =\n (this.initialSelectedIndex == null && index === 0) ||\n this.initialSelectedIndex === index;\n if (autoSelect && shouldAutoSelect) {\n input.click();\n }\n }\n }\n }\n const tabPanels = Array.from<Element>(\n this._ref?.nativeElement.querySelectorAll(\n \":is(:scope > .db-tab-panel, :scope > db-tab-panel > .db-tab-panel)\"\n )\n );\n for (const panel of tabPanels) {\n if (panel.id) continue;\n const index: number = tabPanels.indexOf(panel);\n panel.id = `${this._name}-tab-panel-${index}`;\n panel.setAttribute(\"aria-labelledby\", `${this._name}-tab-${index}`);\n }\n }\n }\n handleChange(event: any): ReturnType<DBTabsState[\"handleChange\"]> {\n if (this.onIndexChange && event.target) {\n const list = event.target.closest(\"ul\");\n const listItem =\n // db-tab-item for angular and stencil wrapping elements\n event.target.closest(\"db-tab-item\") ?? event.target.closest(\"li\");\n if (list !== null && listItem !== null) {\n this.onIndexChange.emit(Array.from(list.childNodes).indexOf(listItem));\n }\n }\n if (this.onTabSelect) {\n this.onTabSelect.emit(event);\n }\n }\n trackByTab0(index, tab) {\n return this.name + \"tab-item\" + index;\n }\n trackByTab1(index, tab) {\n return this.name + \"tab-panel\" + index;\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this._id = this.id || this._id;\n this._name = `tabs-${this.name || uuid()}`;\n this.initialized = true;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-tabs\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this._ref?.nativeElement && this.initialized) {\n this.initTabList();\n this.initTabs(true);\n const tabList = this._ref.nativeElement.querySelector(\".db-tab-list\");\n if (tabList) {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.removedNodes.length || mutation.addedNodes.length) {\n this.initTabList();\n this.initTabs();\n }\n });\n });\n observer.observe(tabList, {\n childList: true,\n subtree: true,\n });\n }\n this.initialized = false;\n }\n }\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { IconTypes } from '@db-ux/core-foundations';\nexport type GlobalProps = {\n /**\n * default slot\n */\n\n children?: any;\n\n /**\n * React specific for adding className to the component.\n */\n className?: string;\n\n /**\n * Workaround for TypeScript using class for all components.\n */\n class?: string | any;\n\n /**\n * [`aria-describedby`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-describedby) is used to link to the elements that describe the element with the set attribute.\n */\n describedbyid?: string;\n\n /**\n * [ID](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id) of the component, generated automatically for some components as a fallback if unset.\n */\n id?: string;\n\n /**\n * Before using please check for the [accessibility concerns](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus#accessibility_concerns)\n */\n autofocus?: boolean;\n};\nexport type GlobalState = {\n _id?: string;\n};\nexport const SemanticList = (['adaptive', 'neutral', 'critical', 'informational', 'warning', 'successful'] as const);\nexport type SemanticType = (typeof SemanticList)[number];\nexport type SemanticProps = {\n /**\n * The semantic defines the default variants for most components.\n */\n semantic?: SemanticType;\n};\nexport type IconProps = {\n /**\n * Define an icon by its identifier (like e.g. _user_, compare to [Icons](https://db-ux-design-system.github.io/core-web/review/main/foundations/icons/overview)) to get displayed in front of the elements content.\n */\n icon?: IconTypes;\n};\nexport type ShowIconProps = {\n /**\n * Enables or disables the visibility of the icon. The default value depends on the component.\n * For many components this property is optional to reflect Figma properties.\n */\n showIcon?: boolean;\n};\nexport type IconAfterProps = {\n /**\n * Define an icon by its identifier (like e.g. _user_, compare to [Icons](https://db-ux-design-system.github.io/core-web/review/main/foundations/icons/overview)) to get displayed in front of the elements content.\n */\n iconAfter?: IconTypes;\n};\nexport const SpacingList = (['medium', 'small', 'large', 'none'] as const);\nexport type SpacingType = (typeof SpacingList)[number];\nexport type SpacingProps = {\n /**\n * The spacing attribute changes the padding of the component.\n */\n spacing?: SpacingType;\n};\nexport const MarginList = (['medium', 'small', 'large', 'none'] as const);\nexport type MarginType = (typeof MarginList)[number];\nexport type MarginProps = {\n /**\n * The margin attribute changes the margin of the component.\n */\n margin?: MarginType;\n};\nexport const PlacementList = (['left', 'right', 'top', 'bottom', 'left-start', 'left-end', 'right-start', 'right-end', 'top-start', 'top-end', 'bottom-start', 'bottom-end'] as const);\nexport type PlacementType = (typeof PlacementList)[number];\nexport type PlacementProps = {\n /**\n * The `placement` attributes values change the position to absolute and adds a transform based on the placement.\n */\n placement?: PlacementType;\n};\nexport type NavigationBehaviorState = {\n handleNavigationItemClick: (event: unknown) => void;\n};\nexport type GapProps = {\n /**\n * If the absolute element should have a gap between the parent element.\n */\n gap?: boolean;\n};\nexport const GapSpacingList = (['none', '3x-large', '2x-large', 'x-large', 'large', 'medium', 'small', 'x-small', '2x-small', '3x-small'] as const);\nexport type GapSpacingType = (typeof GapSpacingList)[number];\nexport type GapSpacingProps = {\n /**\n * Set the gap/spacing between elements\n */\n gap?: GapSpacingType;\n};\nexport type OverflowProps = {\n /**\n * The overflow attribute sets a max-width and longer text will be dotted.\n */\n overflow?: boolean;\n};\nexport const OrientationList = (['horizontal', 'vertical'] as const);\nexport type OrientationType = (typeof OrientationList)[number];\nexport type OrientationProps = {\n /**\n * Change the orientation. Defaults to horizontal.\n */\n orientation?: OrientationType;\n};\nexport const WidthList = (['full', 'auto'] as const);\nexport type WidthType = (typeof WidthList)[number];\nexport type WidthProps = {\n /**\n * Width of the component. Auto width based on children size, full width based on parent elements width.\n */\n width?: WidthType;\n};\nexport const MaxWidthList = (['full', 'medium', 'large', 'small'] as const);\nexport type MaxWidthType = (typeof MaxWidthList)[number];\nexport type ContainerWidthProps = {\n /**\n * Set max width for the component\n */\n width?: MaxWidthType;\n};\nexport const PopoverDelayList = (['none', 'slow', 'fast'] as const);\nexport type PopoverDelayType = (typeof PopoverDelayList)[number];\nexport const PopoverWidthList = (['auto', 'fixed'] as const);\nexport type PopoverWidthType = (typeof PopoverWidthList)[number];\nexport type PopoverProps = {\n /**\n * Add a delay before showing the tooltip\n */\n delay?: PopoverDelayType;\n /**\n * Disable animation\n */\n animation?: boolean;\n /**\n * Use fixed with for default max-width\n */\n width?: PopoverWidthType;\n};\nexport type PopoverState = {\n handleAutoPlacement: () => void;\n};\nexport type ContentSlotProps = {\n /**\n * Default slot which is used to pass in additional content.\n */\n content?: any;\n};\nexport const SizeList = (['small', 'medium'] as const);\nexport type SizeType = (typeof SizeList)[number];\nexport type SizeProps = {\n /**\n * The size attribute changes the font-size and other related sizes of the component.\n */\n size?: SizeType;\n};\nexport const EmphasisList = (['weak', 'strong'] as const);\nexport type EmphasisType = (typeof EmphasisList)[number];\nexport type EmphasisProps = {\n /**\n * The emphasis attribute divides in between a weak or strong importance.\n */\n emphasis?: EmphasisType;\n};\nexport const TagEmphasisList = ([...EmphasisList, 'origin'] as const);\nexport type TagEmphasisType = (typeof TagEmphasisList)[number];\nexport type TagEmphasisProps = {\n /**\n * The emphasis attribute divides in between a weak, strong or origin appearance.\n */\n emphasis?: TagEmphasisType;\n};\nexport const ValidationList = (['invalid', 'valid', 'no-validation'] as const);\nexport type ValidationType = (typeof ValidationList)[number];\nexport type FormProps = {\n /**\n * Marks an input element as invalid (red) / valid (green) / no-validation (grey). Overwrites the :user-valid selector.\n */\n validation?: ValidationType;\n /**\n * The disabled attribute can be set to keep a user from clicking on the form element.\n */\n disabled?: boolean;\n /**\n * \tAssociates the control with a form element\n */\n form?: string;\n\n /**\n * The label attribute specifies the caption of the form element.\n */\n label?: string;\n\n /**\n * The name attribute gives the name of the form control, as used in form submission and in the form element's elements object.\n */\n name?: string;\n\n /**\n * When the required attribute specified, the user will be required to fill the form element before submitting the form.\n */\n required?: boolean;\n /**\n * Enables/disables the visibility of the label\n */\n showLabel?: boolean;\n /**\n * The value property is to receive results from the native form element.\n */\n value?: any;\n};\nexport type FormTextProps = {\n /**\n * Maximum length (number of characters) of value\n */\n maxLength?: number;\n /**\n * Minimum length (number of characters) of value\n */\n minLength?: number;\n /**\n * The disabled attribute can be set to keep a user from edit on the form element\n */\n readOnly?: boolean;\n};\nexport type FormSizeProps = {\n /**\n * Size of the control\n */\n size?: number;\n};\nexport type FormCheckProps = {\n /**\n * Define the radio or checkbox elements checked state\n */\n checked?: boolean;\n};\nexport const LabelVariantList = (['above', 'floating'] as const);\nexport type LabelVariantType = (typeof LabelVariantList)[number];\nexport const AutoCompleteList = (['off', 'on', 'name', 'honorific-prefix', 'given-name', 'additional-name', 'family-name', 'honorific-suffix', 'nickname', 'email', 'username', 'new-password', 'current-password', 'one-time-code', 'organization-title', 'organization', 'street-address', 'shipping', 'billing', 'address-line1', 'address-line2', 'address-line3', 'address-level4', 'address-level3', 'address-level2', 'address-level1', 'country', 'country-name', 'postal-code', 'cc-name', 'cc-given-name', 'cc-additional-name', 'cc-family-name', 'cc-number', 'cc-exp', 'cc-exp-month', 'cc-exp-year', 'cc-csc', 'cc-type', 'transaction-currency', 'transaction-amount', 'language', 'bday', 'bday-day', 'bday-month', 'bday-year', 'sex', 'tel', 'tel-country-code', 'tel-national', 'tel-area-code', 'tel-local', 'tel-extension', 'impp', 'url', 'photo', 'webauthn'] as const);\nexport type AutoCompleteType = (typeof AutoCompleteList)[number];\nexport type FormMessageProps = {\n /**\n * Change the variant of the label to float or hidden\n */\n variant?: LabelVariantType;\n /**\n * Text that appears in the form control when it has no value set\n */\n placeholder?: string;\n /**\n * Optional helper message for form components\n */\n message?: string;\n\n /**\n * Helper message for valid form components\n */\n validMessage?: string;\n\n /**\n * Helper message for invalid form components\n */\n invalidMessage?: string;\n\n /**\n * Set/overwrite icon for helper message for form components\n */\n messageIcon?: IconTypes;\n\n /**\n * See https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\n */\n autocomplete?: string | AutoCompleteType;\n\n /**\n * Enables or disables the visibility of the message.\n */\n showMessage?: boolean;\n};\nexport type FormState = {\n _messageId?: string;\n _validMessageId?: string;\n _invalidMessageId?: string;\n _descByIds?: string;\n _value?: string;\n\n /**\n * https://www.davidmacd.com/blog/test-aria-describedby-errormessage-aria-live.html\n * Currently VoiceOver isn't supporting changes from aria-describedby.\n * This is an internal Fallback\n */\n _voiceOverFallback?: string;\n};\nexport type InitializedState = {\n initialized: boolean;\n};\nexport const LinkCurrentList = (['time', 'true', 'false', 'date', 'page', 'step', 'location'] as const);\nexport type LinkCurrentType = (typeof LinkCurrentList)[number];\nexport const LinkTargetList = (['_self', '_blank', '_parent', '_top'] as const);\nexport type LinkTargetType = (typeof LinkTargetList)[number];\nexport const LinkReferrerPolicyList = (['no-referrer', 'no-referrer-when-downgrade', 'origin', 'origin-when-cross-origin', 'same-origin', 'strict-origin', 'strict-origin-when-cross-origin', 'unsafe-url'] as const);\nexport type LinkReferrerPolicyType = (typeof LinkReferrerPolicyList)[number];\nexport type LinkProps = {\n /**\n * Sets aria attribute based on [`aria-current`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current).\n */\n current?: boolean | LinkCurrentType;\n /**\n * Disables the link.\n */\n disabled?: boolean;\n /**\n * The [URL that the hyperlink points to](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#href).\n */\n href?: string;\n /**\n * Hints for the human [language of the linked page or document](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#hreflang).\n */\n hreflang?: string;\n /**\n * Sets aria attribute based on [`aria-label`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label).\n */\n label?: string;\n /**\n * Where to open the linked URL, as the name for a [browsing context](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target).\n */\n target?: LinkTargetType;\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n rel?: string;\n /**\n * Sets aria role based on [`aria-role`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles).\n */\n role?: string;\n /**\n * How much of the referrer to send when following the link.\n */\n referrerpolicy?: LinkReferrerPolicyType;\n /**\n * Sets aria role based on [`aria-selected`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected).\n */\n selected?: boolean;\n};\nexport type TextProps = {\n /**\n * Alternative for default slot/children.\n */\n text?: string;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport type ClickEvent<T> = MouseEvent;\nexport type ClickEventProps<T> = {\n /**\n * React specific onClick to pass to forward ref.\n */\n onClick?: (event: ClickEvent<T>) => void;\n};\nexport type ClickEventState<T> = {\n handleClick: (event: ClickEvent<T>) => void;\n};\nexport type ToggleEventProps = {\n onToggle?: (open: boolean) => void;\n};\nexport type ToggleEventState<T> = {\n toggle: (event?: ClickEvent<T>) => void;\n};\nexport type CloseEventProps = {\n /**\n * Function to handle button click (close).\n */\n onClose?: (event?: any) => void;\n};\nexport type CloseEventState = {\n handleClose: (event: any) => void;\n};\nexport const AlignmentList = (['start', 'center'] as const);\nexport type AlignmentType = (typeof AlignmentList)[number];\nexport type AlignmentProps = {\n /**\n * Define the content alignment in full width\n */\n alignment?: AlignmentType;\n};\nexport type ActiveProps = {\n /**\n * If the tab is checked/active.\n */\n active?: boolean;\n};\nexport type InputEvent<T> = Event;\nexport type InputEventProps<T> = {\n input?: (event: InputEvent<T>) => void;\n onInput?: (event: InputEvent<T>) => void;\n};\nexport type InputEventState<T> = {\n handleInput: (event: InputEvent<T>) => void;\n};\nexport type ChangeEvent<T> = Event;\nexport type ChangeEventProps<T> = {\n change?: (event: ChangeEvent<T>) => void;\n onChange?: (event: ChangeEvent<T>) => void;\n};\nexport type ChangeEventState<T> = {\n handleChange: (event: ChangeEvent<T>) => void;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport type InteractionEvent<T> = FocusEvent;\nexport type FocusEventProps<T> = {\n blur?: (event: InteractionEvent<T>) => void;\n onBlur?: (event: InteractionEvent<T>) => void;\n focus?: (event: InteractionEvent<T>) => void;\n onFocus?: (event: InteractionEvent<T>) => void;\n};\nexport type FocusEventState<T> = {\n handleBlur: (event: InteractionEvent<T>) => void;\n handleFocus: (event: InteractionEvent<T>) => void;\n};\nexport type InnerCloseButtonProps = {\n /**\n * The closeButtonId attribute changes the id inside the close button.\n */\n closeButtonId?: string;\n /**\n * The closeButtonText attribute changes the text inside the close button.\n */\n closeButtonText?: string;\n};\nexport type NavigationBackButtonProps = {\n /**\n * The backButtonId attribute changes the id inside the back button.\n */\n backButtonId?: string;\n /**\n * The backButtonText attribute changes the text inside the back button.\n */\n backButtonText?: string;\n};\nexport type AriaLabelledByProps = {\n /**\n * Pass aria-labelledby to inner element\n */\n labelledBy?: string;\n};\nexport type AriaControlsProps = {\n /**\n * Pass aria-controls to inner element\n */\n controls?: string;\n};\nexport type ValueLabelType = {\n value: string;\n label?: string;\n}","import { Component, ViewChild, ElementRef, Input } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBStackProps, DBStackState } from \"./model\";\nimport { cls, getBooleanAsString } from \"../../utils\";\n\n@Component({\n selector: \"db-stack\",\n template: `\n <div\n #_ref\n [attr.id]=\"id\"\n [class]=\"cls('db-stack', className)\"\n [attr.data-gap]=\"gap\"\n [attr.data-variant]=\"variant\"\n [attr.data-direction]=\"direction\"\n [attr.data-alignment]=\"alignment\"\n [attr.data-justify-content]=\"justifyContent\"\n [attr.data-wrap]=\"getBooleanAsString(wrap)\"\n >\n <ng-content></ng-content>\n </div>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBStack {\n cls = cls;\n getBooleanAsString = getBooleanAsString;\n\n @Input() id!: DBStackProps[\"id\"];\n @Input() className!: DBStackProps[\"className\"];\n @Input() gap!: DBStackProps[\"gap\"];\n @Input() variant!: DBStackProps[\"variant\"];\n @Input() direction!: DBStackProps[\"direction\"];\n @Input() alignment!: DBStackProps[\"alignment\"];\n @Input() justifyContent!: DBStackProps[\"justifyContent\"];\n @Input() wrap!: DBStackProps[\"wrap\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-stack\");\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["defaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"db-ux-ngx-core-components.mjs","sources":["../../../output/angular/src/utils/index.ts","../../../output/angular/src/components/button/button.ts","../../../output/angular/src/shared/constants.ts","../../../output/angular/src/components/notification/notification.ts","../../../output/angular/src/components/badge/badge.ts","../../../output/angular/src/components/brand/brand.ts","../../../output/angular/src/components/card/card.ts","../../../output/angular/src/utils/form-components.ts","../../../output/angular/src/components/infotext/infotext.ts","../../../output/angular/src/components/checkbox/checkbox.ts","../../../output/angular/src/components/divider/divider.ts","../../../output/angular/src/components/drawer/drawer.ts","../../../output/angular/src/utils/navigation.ts","../../../output/angular/src/components/header/SecondaryAction.directive.ts","../../../output/angular/src/components/header/MetaNavigation.directive.ts","../../../output/angular/src/components/header/Navigation.directive.ts","../../../output/angular/src/components/header/header.ts","../../../output/angular/src/components/icon/icon.ts","../../../output/angular/src/components/input/input.ts","../../../output/angular/src/components/link/link.ts","../../../output/angular/src/components/page/page.ts","../../../output/angular/src/components/radio/radio.ts","../../../output/angular/src/components/section/section.ts","../../../output/angular/src/components/select/select.ts","../../../output/angular/src/components/switch/switch.ts","../../../output/angular/src/components/tab-item/tab-item.ts","../../../output/angular/src/components/tag/tag.ts","../../../output/angular/src/components/textarea/textarea.ts","../../../output/angular/src/components/navigation-item/NavigationContent.directive.ts","../../../output/angular/src/components/navigation-item/navigation-item.ts","../../../output/angular/src/components/accordion-item/accordion-item.ts","../../../output/angular/src/components/accordion/accordion.ts","../../../output/angular/src/components/navigation/navigation.ts","../../../output/angular/src/components/popover/popover.ts","../../../output/angular/src/components/tooltip/tooltip.ts","../../../output/angular/src/components/tab-list/tab-list.ts","../../../output/angular/src/components/tab-panel/tab-panel.ts","../../../output/angular/src/components/tabs/tabs.ts","../../../output/angular/src/shared/model.ts","../../../output/angular/src/components/stack/stack.ts","../../../output/angular/src/db-ux-ngx-core-components.ts"],"sourcesContent":["export const uuid = () => {\n if (typeof window !== 'undefined') {\n if (window.crypto?.randomUUID) {\n return window.crypto.randomUUID();\n } else if (window.crypto?.getRandomValues) {\n return window.crypto.getRandomValues(new Uint32Array(3)).join('-');\n }\n }\n return Math.random().toString().substring(2);\n};\nexport const addAttributeToChildren = (element: Element, attribute: {\n key: string;\n value: string;\n}) => {\n const children = element.children;\n Object.values(children).forEach((child: Element) => {\n child.setAttribute(attribute.key, attribute.value);\n if (child.children.length > 0) {\n addAttributeToChildren(child, attribute);\n }\n });\n};\nexport type ClassNameArg = string | {\n [key: string]: boolean | undefined;\n} | undefined;\nexport const cls = (...args: ClassNameArg[]) => {\n let result = '';\n for (const arg of args) {\n if (arg) {\n if (typeof arg === 'string') {\n result += `${arg} `;\n } else {\n for (const key in arg) {\n if (arg[key]) {\n result += `${key} `;\n }\n }\n }\n }\n }\n return result.trim();\n};\nexport const visibleInVX = (el: Element) => {\n const {\n left,\n right\n } = el.getBoundingClientRect();\n const {\n innerWidth\n } = window;\n return left >= 0 && right <= innerWidth;\n};\nexport const visibleInVY = (el: Element) => {\n const {\n top,\n bottom\n } = el.getBoundingClientRect();\n const {\n innerHeight\n } = window;\n return top >= 0 && bottom <= innerHeight;\n};\nexport const isInView = (el: Element) => {\n const {\n top,\n bottom,\n left,\n right\n } = el.getBoundingClientRect();\n const {\n innerHeight,\n innerWidth\n } = window;\n let outTop = top < 0;\n let outBottom = bottom > innerHeight;\n let outLeft = left < 0;\n let outRight = right > innerWidth;\n\n // We need to check if it was already outside\n const outsideY = el.hasAttribute('data-outside-vy');\n const outsideX = el.hasAttribute('data-outside-vx');\n const parentRect = el?.parentElement?.getBoundingClientRect();\n if (parentRect) {\n if (outsideY) {\n const position = el.getAttribute('data-outside-vy');\n if (position === 'top') {\n outTop = parentRect.top - (bottom - parentRect.bottom) < 0;\n } else {\n outBottom = parentRect.bottom + (parentRect.top - top) > innerHeight;\n }\n }\n if (outsideX) {\n const position = el.getAttribute('data-outside-vx');\n if (position === 'left') {\n outLeft = parentRect.left - (right - parentRect.right) < 0;\n } else {\n outRight = parentRect.right + (parentRect.left - left) > innerWidth;\n }\n }\n }\n return {\n outTop,\n outBottom,\n outLeft,\n outRight\n };\n};\nexport interface DBDataOutsidePair {\n vx?: 'left' | 'right';\n vy?: 'top' | 'bottom';\n}\nexport const handleDataOutside = (el: Element): DBDataOutsidePair => {\n const {\n outTop,\n outBottom,\n outLeft,\n outRight\n } = isInView(el);\n let dataOutsidePair: DBDataOutsidePair = {};\n if (outTop || outBottom) {\n dataOutsidePair = {\n vy: outTop ? 'top' : 'bottom'\n };\n el.setAttribute('data-outside-vy', dataOutsidePair.vy!);\n } else {\n el.removeAttribute('data-outside-vy');\n }\n if (outLeft || outRight) {\n dataOutsidePair = {\n ...dataOutsidePair,\n vx: outRight ? 'right' : 'left'\n };\n el.setAttribute('data-outside-vx', dataOutsidePair.vx!);\n } else {\n el.removeAttribute('data-outside-vx');\n }\n return dataOutsidePair;\n};\nexport const isArrayOfStrings = (value: unknown): value is string[] => Array.isArray(value) && value.every(item => typeof item === 'string');\nconst appleOs = ['Mac', 'iPhone', 'iPad', 'iPod'];\nexport const hasVoiceOver = (): boolean => typeof window !== 'undefined' && appleOs.some(os => window.navigator.userAgent.includes(os));\nexport const delay = (fn: () => void, ms: number) => new Promise(() => setTimeout(fn, ms));\n\n/**\n * Some frameworks like stencil would not add \"true\" as value for a prop\n * if it is used in a framework like angular e.g.: [disabled]=\"myDisabledProp\"\n * @param originBool Some boolean to convert to string\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const getBooleanAsString = (originBool?: boolean): any => {\n if (originBool) {\n return String(originBool);\n }\n return originBool;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const getHideProp = (show?: boolean): any => {\n if (show === undefined || show === null) {\n return undefined;\n }\n return getBooleanAsString(!show);\n};\nexport const stringPropVisible = (givenString?: string, showString?: boolean) => {\n if (showString === undefined) {\n return !!givenString;\n } else {\n return showString && givenString;\n }\n};\nexport default {\n cls,\n addAttributeToChildren,\n uuid,\n visibleInVX,\n visibleInVY,\n isInView,\n handleDataOutside,\n isArrayOfStrings,\n hasVoiceOver,\n delay,\n getBooleanAsString,\n getHideProp,\n stringPropVisible\n}","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport type { DBButtonProps, DBButtonState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\n\n@Component({\n selector: \"db-button\",\n template: `\n <button\n #_ref\n [attr.id]=\"id\"\n [class]=\"cls('db-button', className)\"\n [attr.type]=\"type || 'button'\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"label\"\n [attr.data-icon]=\"icon\"\n [attr.data-hide-icon]=\"getHideProp(showIcon)\"\n [attr.data-size]=\"size\"\n [attr.data-state]=\"state\"\n [attr.data-width]=\"width\"\n [attr.data-variant]=\"variant\"\n [attr.data-no-text]=\"getBooleanAsString(noText)\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [attr.aria-describedby]=\"describedbyid\"\n [attr.aria-expanded]=\"ariaexpanded\"\n [attr.aria-pressed]=\"ariapressed\"\n (click)=\"handleClick($event)\"\n >\n <ng-container *ngIf=\"text\">{{text}}</ng-container>\n <ng-container *ngIf=\"!(text)\"><ng-content></ng-content></ng-container>\n </button>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBButton {\n cls = cls;\n getBooleanAsString = getBooleanAsString;\n getHideProp = getHideProp;\n\n @Input() id!: DBButtonProps[\"id\"];\n @Input() className!: DBButtonProps[\"className\"];\n @Input() type!: DBButtonProps[\"type\"];\n @Input() disabled!: DBButtonProps[\"disabled\"];\n @Input() label!: DBButtonProps[\"label\"];\n @Input() icon!: DBButtonProps[\"icon\"];\n @Input() showIcon!: DBButtonProps[\"showIcon\"];\n @Input() size!: DBButtonProps[\"size\"];\n @Input() state!: DBButtonProps[\"state\"];\n @Input() width!: DBButtonProps[\"width\"];\n @Input() variant!: DBButtonProps[\"variant\"];\n @Input() noText!: DBButtonProps[\"noText\"];\n @Input() name!: DBButtonProps[\"name\"];\n @Input() value!: DBButtonProps[\"value\"];\n @Input() describedbyid!: DBButtonProps[\"describedbyid\"];\n @Input() ariaexpanded!: DBButtonProps[\"ariaexpanded\"];\n @Input() ariapressed!: DBButtonProps[\"ariapressed\"];\n @Input() text!: DBButtonProps[\"text\"];\n\n @Output() onClick = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n handleClick(\n event: ClickEvent<HTMLButtonElement>\n ): ReturnType<DBButtonState[\"handleClick\"]> {\n if (this.onClick) {\n this.onClick.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-button\");\n }\n}\n","export const DEFAULT_ID: string = 'OVERWRITE_DEFAULT_ID';\nexport const DEFAULT_LABEL: string = 'LABEL SHOULD BE SET';\nexport const DEFAULT_PLACEHOLDER: string = ' ';\nexport const DEFAULT_MESSAGE_ID_SUFFIX: string = '-message';\nexport const DEFAULT_VALID_MESSAGE_ID_SUFFIX: string = '-valid-message';\nexport const DEFAULT_INVALID_MESSAGE_ID_SUFFIX: string = '-invalid-message';\nexport const DEFAULT_PLACEHOLDER_ID_SUFFIX: string = '-placeholder';\nexport const DEFAULT_DATALIST_ID_SUFFIX: string = '-datalist';\nexport const DEFAULT_VALID_MESSAGE: string = 'TODO: Add a validMessage';\nexport const DEFAULT_INVALID_MESSAGE: string = 'TODO: Add an invalidMessage';\nexport const DEFAULT_BACK: string = 'Back';\nexport const DEFAULT_BURGER_MENU: string = 'BurgerMenu';\nexport const DEFAULT_ICON: string = 'brand';\nexport const DEFAULT_ROWS: number = 4;\nexport const DEFAULT_CLOSE_BUTTON: string = 'Close Button';\nexport const DENSITY_CONST: string = 'density';\nexport const COLOR_CONST: string = 'color';\nexport enum DENSITY {\n 'FUNCTIONAL' = 'functional',\n 'REGULAR' = 'regular',\n 'EXPRESSIVE' = 'expressive',\n}\nexport const DENSITIES: DENSITY[] = Object.entries(DENSITY).map(([, value]) => value);\nexport enum COLOR_SIMPLE {\n 'PRIMARY' = 'primary',\n}\nexport enum COLOR {\n 'NEUTRAL_BG_LEVEL_1' = 'neutral-bg-basic-level-1',\n 'NEUTRAL_BG_LEVEL_2' = 'neutral-bg-basic-level-2',\n 'NEUTRAL_BG_LEVEL_3' = 'neutral-bg-basic-level-3',\n 'NEUTRAL_BG_TRANSPARENT_SEMI' = 'neutral-bg-basic-transparent-semi',\n 'NEUTRAL_BG_TRANSPARENT_FULL' = 'neutral-bg-basic-transparent-full',\n 'BRAND_BG_LEVEL_1' = 'brand-bg-basic-level-1',\n 'BRAND_BG_LEVEL_2' = 'brand-bg-basic-level-2',\n 'BRAND_BG_LEVEL_3' = 'brand-bg-basic-level-3',\n 'BRAND_BG_TRANSPARENT_SEMI' = 'brand-bg-basic-transparent-semi',\n 'BRAND_BG_TRANSPARENT_FULL' = 'brand-bg-basic-transparent-full',\n 'SUCCESSFUL_BG_LEVEL_1' = 'successful-bg-basic-level-1',\n 'SUCCESSFUL_BG_LEVEL_2' = 'successful-bg-basic-level-2',\n 'SUCCESSFUL_BG_LEVEL_3' = 'successful-bg-basic-level-3',\n 'SUCCESSFUL_BG_TRANSPARENT_SEMI' = 'successful-bg-basic-transparent-semi',\n 'SUCCESSFUL_BG_TRANSPARENT_FULL' = 'successful-bg-basic-transparent-full',\n 'CRITICAL_BG_LEVEL_1' = 'critical-bg-basic-level-1',\n 'CRITICAL_BG_LEVEL_2' = 'critical-bg-basic-level-2',\n 'CRITICAL_BG_LEVEL_3' = 'critical-bg-basic-level-3',\n 'CRITICAL_BG_TRANSPARENT_SEMI' = 'critical-bg-basic-transparent-semi',\n 'CRITICAL_BG_TRANSPARENT_Full' = 'critical-bg-basic-transparent-full',\n 'WARNING_BG_LEVEL_1' = 'warning-bg-basic-level-1',\n 'WARNING_BG_LEVEL_2' = 'warning-bg-basic-level-2',\n 'WARNING_BG_LEVEL_3' = 'warning-bg-basic-level-3',\n 'WARNING_BG_TRANSPARENT_SEMI' = 'warning-bg-basic-transparent-semi',\n 'WARNING_BG_TRANSPARENT_FULL' = 'warning-bg-basic-transparent-full',\n 'INFORMATIONAL_BG_LEVEL_1' = 'informational-bg-basic-level-1',\n 'INFORMATIONAL_BG_LEVEL_2' = 'informational-bg-basic-level-2',\n 'INFORMATIONAL_BG_LEVEL_3' = 'informational-bg-basic-level-3',\n 'INFORMATIONAL_BG_TRANSPARENT_SEMI' = 'informational-bg-basic-transparent-semi',\n 'INFORMATIONAL_BG_TRANSPARENT_FULL' = 'informational-bg-basic-transparent-full',\n}\nexport const COLORS: COLOR[] = Object.entries(COLOR).map(([, value]) => value);\nexport const COLORS_SIMPLE: COLOR_SIMPLE[] = Object.entries(COLOR_SIMPLE).map(([, value]) => value);\nexport enum SEMANTIC {\n 'CRITICAL' = 'critical',\n 'INFORMATIONAL' = 'informational',\n 'WARNING' = 'warning',\n 'SUCCESSFUL' = 'successful',\n}\nexport const SEMANTICS: SEMANTIC[] = Object.entries(SEMANTIC).map(([, value]) => value);\nexport const DEFAULT_VIEWPORT = {\n width: 390,\n height: 884\n};\nexport const DESKTOP_VIEWPORT = {\n width: 1920,\n height: 1280\n};\n\n/**\n * Use those viewports if your component has a css media-query otherwise use the DEFAULT_VIEWPORT\n */\nexport const TESTING_VIEWPORTS = [{\n name: 'desktop',\n ...DESKTOP_VIEWPORT\n}, {\n name: 'tablet',\n width: 768,\n height: 1024\n}, {\n name: 'mobile',\n ...DEFAULT_VIEWPORT\n}]","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBNotificationProps, DBNotificationState } from \"./model\";\nimport { DBButton } from \"../button/button\";\nimport { DEFAULT_CLOSE_BUTTON } from \"../../shared/constants\";\nimport { cls, getHideProp, stringPropVisible } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\n\n@Component({\n selector: \"db-notification\",\n template: `\n <article\n #_ref\n [attr.id]=\"id\"\n [class]=\"cls('db-notification', className)\"\n [attr.aria-live]=\"ariaLive\"\n [attr.data-semantic]=\"semantic\"\n [attr.data-variant]=\"variant\"\n [attr.data-icon]=\"icon\"\n [attr.data-hide-icon]=\"getHideProp(showIcon)\"\n [attr.data-link-variant]=\"linkVariant\"\n >\n <ng-content select=\"[image]\"></ng-content>\n <ng-container *ngIf=\"stringPropVisible(headline, showHeadline)\">\n <header>{{headline}}</header>\n </ng-container>\n <p>\n <ng-container *ngIf=\"text\">{{text}}</ng-container>\n <ng-container *ngIf=\"!(text)\"><ng-content></ng-content></ng-container>\n </p>\n <ng-container *ngIf=\"stringPropVisible(timestamp, showTimestamp)\">\n <span>{{timestamp}}</span>\n </ng-container>\n <ng-content select=\"[link]\"></ng-content>\n <ng-container *ngIf=\"closeable\">\n <db-button\n icon=\"cross\"\n variant=\"ghost\"\n size=\"small\"\n [id]=\"closeButtonId\"\n [noText]=\"true\"\n (click)=\"handleClose($event)\"\n >\n {{closeButtonText ?? DEFAULT_CLOSE_BUTTON}}\n </db-button>\n </ng-container>\n </article>\n `,\n standalone: true,\n imports: [CommonModule, DBButton],\n})\nexport class DBNotification {\n DEFAULT_CLOSE_BUTTON = DEFAULT_CLOSE_BUTTON;\n cls = cls;\n getHideProp = getHideProp;\n stringPropVisible = stringPropVisible;\n\n @Input() id!: DBNotificationProps[\"id\"];\n @Input() className!: DBNotificationProps[\"className\"];\n @Input() ariaLive!: DBNotificationProps[\"ariaLive\"];\n @Input() semantic!: DBNotificationProps[\"semantic\"];\n @Input() variant!: DBNotificationProps[\"variant\"];\n @Input() icon!: DBNotificationProps[\"icon\"];\n @Input() showIcon!: DBNotificationProps[\"showIcon\"];\n @Input() linkVariant!: DBNotificationProps[\"linkVariant\"];\n @Input() headline!: DBNotificationProps[\"headline\"];\n @Input() showHeadline!: DBNotificationProps[\"showHeadline\"];\n @Input() text!: DBNotificationProps[\"text\"];\n @Input() timestamp!: DBNotificationProps[\"timestamp\"];\n @Input() showTimestamp!: DBNotificationProps[\"showTimestamp\"];\n @Input() closeable!: DBNotificationProps[\"closeable\"];\n @Input() closeButtonId!: DBNotificationProps[\"closeButtonId\"];\n @Input() closeButtonText!: DBNotificationProps[\"closeButtonText\"];\n\n @Output() onClose = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n handleClose(\n event: ClickEvent<HTMLButtonElement>\n ): ReturnType<DBNotificationState[\"handleClose\"]> {\n if (this.onClose) {\n this.onClose.emit();\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-notification\");\n }\n}\n","import {\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBBadgeProps, DBBadgeState } from \"./model\";\nimport { cls } from \"../../utils\";\nimport { DEFAULT_LABEL } from \"../../shared/constants\";\n\n@Component({\n selector: \"db-badge\",\n template: `\n <span\n #_ref\n [attr.id]=\"id\"\n [class]=\"cls('db-badge', className)\"\n [attr.data-semantic]=\"semantic\"\n [attr.data-size]=\"size\"\n [attr.data-emphasis]=\"emphasis\"\n [attr.data-placement]=\"placement\"\n [attr.data-label]=\"placement?.startsWith('corner') && (label ?? DEFAULT_LABEL)\"\n >\n <ng-container *ngIf=\"text\">{{text}}</ng-container>\n <ng-container *ngIf=\"!(text)\"><ng-content></ng-content></ng-container>\n </span>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBBadge {\n cls = cls;\n DEFAULT_LABEL = DEFAULT_LABEL;\n\n @Input() placement!: DBBadgeProps[\"placement\"];\n @Input() id!: DBBadgeProps[\"id\"];\n @Input() className!: DBBadgeProps[\"className\"];\n @Input() semantic!: DBBadgeProps[\"semantic\"];\n @Input() size!: DBBadgeProps[\"size\"];\n @Input() emphasis!: DBBadgeProps[\"emphasis\"];\n @Input() label!: DBBadgeProps[\"label\"];\n @Input() text!: DBBadgeProps[\"text\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n initialized: DBBadgeState[\"initialized\"] = false;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this.initialized = true;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-badge\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this._ref?.nativeElement && this.initialized) {\n if (this.placement?.startsWith(\"corner\")) {\n let parent = this._ref.nativeElement.parentElement;\n if (parent && parent.localName.includes(\"badge\")) {\n // Angular workaround\n parent = parent.parentElement;\n }\n if (parent) {\n parent.setAttribute(\"data-has-badge\", \"true\");\n }\n }\n }\n }\n }\n}\n","import { Component, ViewChild, ElementRef, Input } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { cls, getHideProp } from \"../../utils\";\nimport { DBBrandProps, DBBrandState } from \"./model\";\nimport { DEFAULT_ICON } from \"../../shared/constants\";\n\n@Component({\n selector: \"db-brand\",\n template: `\n <div\n #_ref\n [attr.data-icon]=\"hideLogo ? 'none' : icon ?? DEFAULT_ICON\"\n [attr.data-hide-icon]=\"getHideProp(showIcon)\"\n [attr.id]=\"id\"\n [class]=\"cls('db-brand', className)\"\n >\n <ng-container *ngIf=\"text\">{{text}}</ng-container>\n <ng-container *ngIf=\"!(text)\"><ng-content></ng-content></ng-container>\n </div>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBBrand {\n cls = cls;\n getHideProp = getHideProp;\n DEFAULT_ICON = DEFAULT_ICON;\n\n @Input() hideLogo!: DBBrandProps[\"hideLogo\"];\n @Input() icon!: DBBrandProps[\"icon\"];\n @Input() showIcon!: DBBrandProps[\"showIcon\"];\n @Input() id!: DBBrandProps[\"id\"];\n @Input() className!: DBBrandProps[\"className\"];\n @Input() text!: DBBrandProps[\"text\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-brand\");\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport type { DBCardProps, DBCardState } from \"./model\";\nimport { cls } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\n\n@Component({\n selector: \"db-card\",\n template: `\n <div\n #_ref\n [attr.id]=\"id\"\n [class]=\"cls('db-card', className)\"\n [attr.data-behavior]=\"behavior\"\n [attr.data-elevation-level]=\"elevationLevel\"\n [attr.data-spacing]=\"spacing\"\n [attr.role]=\"behavior === 'interactive' ? 'button' : undefined\"\n [attr.tabIndex]=\"behavior === 'interactive' ? 0 : undefined\"\n (click)=\"handleClick($event)\"\n >\n <ng-content></ng-content>\n </div>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBCard {\n cls = cls;\n\n @Input() id!: DBCardProps[\"id\"];\n @Input() className!: DBCardProps[\"className\"];\n @Input() behavior!: DBCardProps[\"behavior\"];\n @Input() elevationLevel!: DBCardProps[\"elevationLevel\"];\n @Input() spacing!: DBCardProps[\"spacing\"];\n\n @Output() onClick = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n handleClick(\n event: ClickEvent<HTMLElement>\n ): ReturnType<DBCardState[\"handleClick\"]> {\n if (this.onClick) {\n this.onClick.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-card\");\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const handleFrameworkEventAngular = (component: any, event: any, modelValue: string = 'value'): void => {\n // Change event to work with reactive and template driven forms\n component.propagateChange(event.target[modelValue]);\n component.writeValue(event.target[modelValue]);\n};\nexport const handleFrameworkEventVue = (emit: (event: string, ...args: any[]) => void, event: any, modelValue: string = 'value'): void => {\n // TODO: Replace this with the solution out of https://github.com/BuilderIO/mitosis/issues/833 after this has been \"solved\"\n emit(`update:${modelValue}`, event.target[modelValue]);\n}","import { Component, ViewChild, ElementRef, Input } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBInfotextProps, DBInfotextState } from \"./model\";\nimport { cls, getHideProp } from \"../../utils\";\n\n@Component({\n selector: \"db-infotext\",\n template: `\n <span\n #_ref\n [attr.id]=\"id\"\n [class]=\"cls('db-infotext', className)\"\n [attr.data-icon]=\"icon\"\n [attr.data-semantic]=\"semantic\"\n [attr.data-size]=\"size\"\n [attr.data-hide-icon-before]=\"getHideProp(showIcon ?? true)\"\n >\n <ng-container *ngIf=\"text\">{{text}}</ng-container>\n <ng-container *ngIf=\"!(text)\"><ng-content></ng-content></ng-container>\n </span>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBInfotext {\n cls = cls;\n getHideProp = getHideProp;\n\n @Input() id!: DBInfotextProps[\"id\"];\n @Input() className!: DBInfotextProps[\"className\"];\n @Input() icon!: DBInfotextProps[\"icon\"];\n @Input() semantic!: DBInfotextProps[\"semantic\"];\n @Input() size!: DBInfotextProps[\"size\"];\n @Input() showIcon!: DBInfotextProps[\"showIcon\"];\n @Input() text!: DBInfotextProps[\"text\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-infotext\");\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBCheckboxProps, DBCheckboxState } from \"./model\";\nimport {\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport { ChangeEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport {\n cls,\n delay,\n getHideProp,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\n\n@Component({\n\t\tproviders: [{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: DBCheckbox,\n\t\t\tmulti: true\n\t\t}],\t\n selector: \"db-checkbox\",\n template: `\n <div\n [class]=\"cls('db-checkbox', className)\"\n [attr.data-size]=\"size\"\n [attr.data-hide-label]=\"getHideProp(showLabel)\"\n >\n <label [attr.for]=\"_id\">\n <input\n type=\"checkbox\"\n [attr.aria-invalid]=\"validation === 'invalid'\"\n [attr.data-custom-validity]=\"validation\"\n #_ref\n [attr.id]=\"_id\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.value]=\"value\"\n [required]=\"required\"\n (change)=\"handleChange($event)\"\n (blur)=\"handleBlur($event)\"\n (focus)=\"handleFocus($event)\"\n [attr.aria-describedby]=\"_descByIds\"\n />\n <ng-container *ngIf=\"label\">{{label}}</ng-container>\n <ng-container *ngIf=\"!(label)\"><ng-content></ng-content></ng-container>\n </label>\n <ng-container *ngIf=\"stringPropVisible(message, showMessage)\">\n <db-infotext size=\"small\" [icon]=\"messageIcon\" [id]=\"_messageId\">\n {{message}}\n </db-infotext>\n </ng-container>\n <db-infotext size=\"small\" semantic=\"successful\" [id]=\"_validMessageId\">\n {{validMessage ?? DEFAULT_VALID_MESSAGE}}\n </db-infotext>\n <db-infotext size=\"small\" semantic=\"critical\" [id]=\"_invalidMessageId\">\n {{invalidMessage ?? this._ref?.validationMessage ??\n DEFAULT_INVALID_MESSAGE}}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {{_voiceOverFallback}}\n </span>\n </div>\n `,\n standalone: true,\n imports: [CommonModule, DBInfotext],\n})\nexport class DBCheckbox implements ControlValueAccessor {\n\t\tconstructor(private renderer: Renderer2) { }\n DEFAULT_INVALID_MESSAGE = DEFAULT_INVALID_MESSAGE;\n DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;\n cls = cls;\n getHideProp = getHideProp;\n stringPropVisible = stringPropVisible;\n\n @Input() id!: DBCheckboxProps[\"id\"];\n @Input() message!: DBCheckboxProps[\"message\"];\n @Input() showMessage!: DBCheckboxProps[\"showMessage\"];\n @Input() indeterminate!: DBCheckboxProps[\"indeterminate\"];\n @Input() checked!: DBCheckboxProps[\"checked\"];\n @Input() validation!: DBCheckboxProps[\"validation\"];\n @Input() invalidMessage!: DBCheckboxProps[\"invalidMessage\"];\n @Input() required!: DBCheckboxProps[\"required\"];\n @Input() validMessage!: DBCheckboxProps[\"validMessage\"];\n @Input() className!: DBCheckboxProps[\"className\"];\n @Input() size!: DBCheckboxProps[\"size\"];\n @Input() showLabel!: DBCheckboxProps[\"showLabel\"];\n @Input() name!: DBCheckboxProps[\"name\"];\n @Input() disabled!: DBCheckboxProps[\"disabled\"];\n @Input() value!: DBCheckboxProps[\"value\"];\n @Input() label!: DBCheckboxProps[\"label\"];\n @Input() messageIcon!: DBCheckboxProps[\"messageIcon\"];\n\n @Output() onChange = new EventEmitter();\n @Output() change = new EventEmitter();\n @Output() onBlur = new EventEmitter();\n @Output() blur = new EventEmitter();\n @Output() onFocus = new EventEmitter();\n @Output() focus = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n initialized: DBCheckboxState[\"initialized\"] = false;\n _id: DBCheckboxState[\"_id\"] = undefined;\n _messageId: DBCheckboxState[\"_messageId\"] = undefined;\n _validMessageId: DBCheckboxState[\"_validMessageId\"] = undefined;\n _invalidMessageId: DBCheckboxState[\"_invalidMessageId\"] = undefined;\n _descByIds: DBCheckboxState[\"_descByIds\"] = \"\";\n _voiceOverFallback: DBCheckboxState[\"_voiceOverFallback\"] = \"\";\n handleChange(\n event: ChangeEvent<HTMLInputElement>\n ): ReturnType<DBCheckboxState[\"handleChange\"]> {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event, \"checked\");\n\n /* For a11y reasons we need to map the correct message with the checkbox */\n if (\n !this._ref?.nativeElement?.validity.valid ||\n this.validation === \"invalid\"\n ) {\n this._descByIds = this._invalidMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback =\n this.invalidMessage ??\n this._ref?.nativeElement?.validationMessage ??\n DEFAULT_INVALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.validation === \"valid\" ||\n (this._ref?.nativeElement?.validity.valid && this.required)\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = \"\";\n }\n }\n handleBlur(\n event: InteractionEvent<HTMLInputElement>\n ): ReturnType<DBCheckboxState[\"handleBlur\"]> {\n if (this.onBlur) {\n this.onBlur.emit(event);\n }\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(\n event: InteractionEvent<HTMLInputElement>\n ): ReturnType<DBCheckboxState[\"handleFocus\"]> {\n if (this.onFocus) {\n this.onFocus.emit(event);\n }\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \n\t\twriteValue(value: any) {\n\t\t\t\n\t\t this.checked = !!value;\n\n\t\t if (this._ref?.nativeElement) {\n\t\t\t this.renderer.setProperty(this._ref?.nativeElement, 'checked', !!value);\n\t\t }\n\t\t\t\n\t\t}\n\n\t\tpropagateChange(_: any) {}\n\n\t\tregisterOnChange(onChange: any) {\n\t\t this.propagateChange = onChange;\n\t\t}\n\n\t\tregisterOnTouched(onTouched: any) {\n\t\t //this.onTouched = onTouched;\n\t\t}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled = disabled;\n\t\t}\n\n\t\tngOnInit() {\n if (typeof window !== \"undefined\") {\n this.initialized = true;\n const mId = this.id ?? `checkbox-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-checkbox\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n }\n }\n if (this._ref?.nativeElement) {\n if (this.initialized && this.indeterminate !== undefined) {\n // When indeterminate is set, the value of the checked prop only impacts the form submitted values.\n // It has no accessibility or UX implications. (https://mui.com/material-ui/react-checkbox/)\n this._ref.nativeElement.indeterminate = this.indeterminate;\n }\n }\n if (this.initialized && this._ref?.nativeElement) {\n // in angular this must be set via native element\n if (this.checked != undefined) {\n this._ref.nativeElement.checked = this.checked;\n }\n this.initialized = false;\n }\n }\n }\n}\n","import { Component, ViewChild, ElementRef, Input } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBDividerProps, DBDividerState } from \"./model\";\nimport { cls } from \"../../utils\";\n\n@Component({\n selector: \"db-divider\",\n template: `\n <div\n #_ref\n [attr.id]=\"id\"\n [attr.data-margin]=\"margin\"\n [attr.data-variant]=\"variant\"\n [attr.data-emphasis]=\"emphasis\"\n [attr.data-width]=\"width\"\n [class]=\"cls('db-divider', className)\"\n ></div>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBDivider {\n cls = cls;\n\n @Input() id!: DBDividerProps[\"id\"];\n @Input() margin!: DBDividerProps[\"margin\"];\n @Input() variant!: DBDividerProps[\"variant\"];\n @Input() emphasis!: DBDividerProps[\"emphasis\"];\n @Input() width!: DBDividerProps[\"width\"];\n @Input() className!: DBDividerProps[\"className\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-divider\");\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBDrawerProps, DBDrawerState } from \"./model\";\nimport { DBButton } from \"../button/button\";\nimport { DEFAULT_CLOSE_BUTTON } from \"../../shared/constants\";\nimport { cls, delay } from \"../../utils\";\n\n@Component({\n selector: \"db-drawer\",\n template: `\n <dialog\n class=\"db-drawer\"\n [attr.id]=\"id\"\n #_ref\n (click)=\"\n handleClose($event);\n \"\n (keydown)=\"handleClose($event)\"\n [attr.data-backdrop]=\"backdrop\"\n [attr.data-variant]=\"variant\"\n >\n <article\n #dialogContainerRef\n [class]=\"cls('db-drawer-container', className)\"\n [attr.data-spacing]=\"spacing\"\n [attr.data-width]=\"width\"\n [attr.data-direction]=\"direction\"\n [attr.data-rounded]=\"rounded\"\n >\n <header class=\"db-drawer-header\">\n <div class=\"db-drawer-header-text\">\n <ng-content select=\"[drawer-header]\"></ng-content>\n </div>\n <db-button\n class=\"button-close-drawer\"\n icon=\"cross\"\n variant=\"ghost\"\n [id]=\"closeButtonId\"\n [noText]=\"true\"\n (click)=\"handleClose('close')\"\n >\n {{closeButtonText ?? DEFAULT_CLOSE_BUTTON}}\n </db-button>\n </header>\n <div class=\"db-drawer-content\"><ng-content></ng-content></div>\n </article>\n </dialog>\n `,\n standalone: true,\n imports: [CommonModule, DBButton],\n})\nexport class DBDrawer {\n DEFAULT_CLOSE_BUTTON = DEFAULT_CLOSE_BUTTON;\n cls = cls;\n\n @Input() open!: DBDrawerProps[\"open\"];\n @Input() backdrop!: DBDrawerProps[\"backdrop\"];\n @Input() variant!: DBDrawerProps[\"variant\"];\n @Input() id!: DBDrawerProps[\"id\"];\n @Input() className!: DBDrawerProps[\"className\"];\n @Input() spacing!: DBDrawerProps[\"spacing\"];\n @Input() width!: DBDrawerProps[\"width\"];\n @Input() direction!: DBDrawerProps[\"direction\"];\n @Input() rounded!: DBDrawerProps[\"rounded\"];\n @Input() closeButtonId!: DBDrawerProps[\"closeButtonId\"];\n @Input() closeButtonText!: DBDrawerProps[\"closeButtonText\"];\n\n @Output() onClose = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n @ViewChild(\"dialogContainerRef\") dialogContainerRef!: ElementRef | undefined;\n\n handleClose(event: any): ReturnType<DBDrawerState[\"handleClose\"]> {\n if (event.key === \"Escape\") {\n event.preventDefault();\n }\n if (\n event === \"close\" ||\n event.key === \"Escape\" ||\n (event.target.nodeName === \"DIALOG\" &&\n event.type === \"click\" &&\n this.backdrop !== \"none\")\n ) {\n if (this.onClose) {\n this.onClose.emit(event);\n }\n }\n }\n handleDialogOpen(): ReturnType<DBDrawerState[\"handleDialogOpen\"]> {\n if (this._ref?.nativeElement) {\n if (this.open && !this._ref?.nativeElement.open) {\n if (this.dialogContainerRef?.nativeElement) {\n this.dialogContainerRef.nativeElement.hidden = false;\n }\n if (this.backdrop === \"none\" || this.variant === \"inside\") {\n this._ref?.nativeElement.show();\n } else {\n this._ref?.nativeElement.showModal();\n }\n }\n if (!this.open && this._ref?.nativeElement.open) {\n if (this.dialogContainerRef?.nativeElement) {\n this.dialogContainerRef.nativeElement.hidden = true;\n }\n delay(() => {\n if (this.dialogContainerRef?.nativeElement) {\n this.dialogContainerRef.nativeElement.hidden = false;\n }\n this._ref?.nativeElement?.close();\n }, 401);\n }\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this.handleDialogOpen();\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-drawer\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n this.handleDialogOpen();\n }\n }\n}\n","import { handleDataOutside } from './index';\nexport type TriangleData = {\n itemRect: DOMRect;\n parentElementWidth: number;\n subNavigationHeight: number;\n padding: number;\n outsideVX: 'left' | 'right' | undefined;\n outsideVY: 'top' | 'bottom' | undefined;\n};\nexport const isEventTargetNavigationItem = (event: unknown): boolean => {\n const {\n target\n } = event as {\n target: HTMLElement;\n };\n return Boolean(!target?.classList?.contains('db-navigation-item-expand-button') && target?.parentElement?.classList.contains('db-navigation-item'));\n};\nexport class NavigationItemSafeTriangle {\n private readonly element: HTMLElement | null;\n private readonly subNavigation: Element | null;\n private readonly parentSubNavigation: Element | null = null;\n private triangleData?: TriangleData;\n private initialized: boolean = false;\n private mouseX: number = 0;\n private mouseY: number = 0;\n constructor(element: HTMLElement | null, subNavigation: Element | null) {\n this.element = element;\n this.subNavigation = subNavigation;\n if (!this.element || !this.subNavigation) {\n return;\n }\n this.parentSubNavigation = this.element?.closest('.db-sub-navigation');\n\n /*\n * only initiate if:\n * 1. item is not at root navigation level\n * 2. item is not in the mobile navigation / within db-drawer\n */\n if (this.parentSubNavigation && !this.element.closest('.db-drawer')) {\n this.init();\n }\n }\n private init() {\n const parentElementWidth = this.parentSubNavigation?.getBoundingClientRect().width ?? 0;\n\n // the triangle has the width of the sub-navigation, current nav-item can be wider.\n // so the width of the triangle must be adapted to a possibly wider nav-item.\n this.element?.style.setProperty('--db-navigation-item-inline-size', `${parentElementWidth}px`);\n this.initialized = true;\n }\n public enableFollow() {\n if (!this.initialized || this.triangleData || !this.element || !this.subNavigation) {\n return;\n }\n const dataOutsidePair = handleDataOutside(this.subNavigation);\n const itemRect = this.element.getBoundingClientRect();\n const parentElementWidth = this.parentSubNavigation?.getBoundingClientRect().width ?? 0;\n this.triangleData = {\n itemRect,\n parentElementWidth,\n subNavigationHeight: this.subNavigation.getBoundingClientRect().height,\n padding: (parentElementWidth - itemRect.width) / 2,\n outsideVX: dataOutsidePair.vx,\n outsideVY: dataOutsidePair.vy\n };\n }\n public disableFollow() {\n this.triangleData = undefined;\n }\n private getTriangleTipX(): number {\n if (!this.triangleData) return 0;\n if (this.triangleData.outsideVX === 'right') {\n // vertical flipped triangle needs an inverted x pos\n return this.triangleData.itemRect.width - this.mouseX;\n }\n\n // triangle stops shrinking from 75% x pos\n return Math.min(this.mouseX, this.triangleData.itemRect.width * 0.75);\n }\n private getTriangleTipY(): number {\n if (!this.triangleData) return 0;\n\n // padding must be added to the y pos of the tip so that the y pos matches the cursor\n const mouseYLimited = Math.max(Math.min(this.mouseY, this.triangleData.itemRect.height), 0) + this.triangleData.padding;\n if (this.triangleData.outsideVY === 'bottom') {\n // add offset to tip y pos to match corrected sub-navigation y pos\n return mouseYLimited + (this.triangleData.subNavigationHeight - this.triangleData.padding * 2 - this.triangleData.itemRect.height);\n }\n return mouseYLimited;\n }\n private hasMouseEnteredSubNavigation(): boolean {\n if (!this.triangleData) {\n return false;\n }\n const isSubNavigationOnLeftSide = this.triangleData.outsideVX === 'right';\n if (isSubNavigationOnLeftSide && this.mouseX < -1 * this.triangleData.padding) {\n return true;\n }\n if (!isSubNavigationOnLeftSide && this.mouseX > this.triangleData.parentElementWidth - this.triangleData.padding) {\n return true;\n }\n return false;\n }\n private getTriangleCoordinates(variant: 'safe-triangle' | 'fill-gap'): undefined | {\n lb: string;\n lt: string;\n rt: string;\n rb: string;\n } {\n if (!this.triangleData) {\n return;\n }\n if (variant === 'fill-gap') {\n const itemHeight = `${this.triangleData.itemRect.height + 2 * this.triangleData.padding}px`;\n const xStart = `${this.triangleData.parentElementWidth - this.triangleData.padding}px`;\n return {\n lb: `${xStart} ${itemHeight}`,\n lt: `${xStart} 0`,\n rt: '100% 0',\n rb: `100% ${itemHeight}`\n };\n }\n const tipX = this.getTriangleTipX();\n const tipY = this.getTriangleTipY();\n const lb = `${tipX}px ${tipY}px`;\n const lt = `${tipX}px ${tipY}px`;\n return {\n lb,\n lt,\n rt: '100% 0',\n rb: '100% 100%'\n };\n }\n public followByMouseEvent(event: MouseEvent) {\n if (!this.initialized || !this.triangleData || !this.element || !this.subNavigation) {\n return;\n }\n this.mouseX = event.clientX - this.triangleData.itemRect.left;\n this.mouseY = event.clientY - this.triangleData.itemRect.top;\n const isOverSubNavigation = this.hasMouseEnteredSubNavigation();\n const coordinates = this.getTriangleCoordinates(isOverSubNavigation ? 'fill-gap' : 'safe-triangle');\n if (!coordinates) {\n return;\n }\n this.element.style.setProperty('--db-navigation-item-clip-path', `polygon(${coordinates.lb}, ${coordinates.lt}, ${coordinates.rt}, ${coordinates.rb})`);\n if (isOverSubNavigation) {\n this.triangleData = undefined;\n }\n }\n}\nexport default {\n isEventTargetNavigationItem,\n NavigationItemSafeTriangle\n}","/* Angular cannot handle multiple slots with the same name, we need to use Directives for this. */\nimport { Directive } from '@angular/core';\n@Directive({\n\tselector: '[dbSecondaryAction]',\n\tstandalone: true\n})\nexport class SecondaryActionDirective {}\n","/* Angular cannot handle multiple slots with the same name, we need to use Directives for this. */\nimport { Directive } from '@angular/core';\n@Directive({\n\tselector: '[dbMetaNavigation]',\n\tstandalone: true\n})\nexport class MetaNavigationDirective {}\n","/* Angular cannot handle multiple slots with the same name, we need to use Directives for this. */\nimport { Directive } from '@angular/core';\n@Directive({\n\tselector: '[dbNavigation]',\n\tstandalone: true\n})\nexport class NavigationDirective {}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\nContentChild, TemplateRef } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBHeaderProps, DBHeaderState } from \"./model\";\nimport { addAttributeToChildren, cls, uuid } from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBDrawer } from \"../drawer/drawer\";\nimport { DEFAULT_BURGER_MENU, DEFAULT_ID } from \"../../shared/constants\";\nimport { isEventTargetNavigationItem } from \"../../utils/navigation\";\n\nimport { SecondaryActionDirective } from './SecondaryAction.directive';\n\nimport { MetaNavigationDirective } from './MetaNavigation.directive';\n\nimport { NavigationDirective } from './Navigation.directive';\n\n@Component({\n selector: \"db-header\",\n template: `\n <header\n #_ref\n [class]=\"cls('db-header', className)\"\n [attr.id]=\"_id\"\n [attr.data-width]=\"width\"\n [attr.data-on-forcing-mobile]=\"forceMobile && !forcedToMobile\"\n >\n <db-drawer\n class=\"db-header-drawer\"\n spacing=\"small\"\n [rounded]=\"true\"\n [open]=\"drawerOpen\"\n (onClose)=\"toggle()\"\n >\n <div class=\"db-header-drawer-navigation\">\n <div\n class=\"db-header-navigation\"\n (click)=\"handleNavigationItemClick($event)\"\n >\n <ng-content *ngTemplateOutlet=\"dbNavigation\"></ng-content>\n </div>\n <div class=\"db-header-meta-navigation\">\n <ng-content *ngTemplateOutlet=\"dbMetaNavigation\"></ng-content>\n </div>\n </div>\n <div class=\"db-header-secondary-action\">\n <ng-content *ngTemplateOutlet=\"dbSecondaryAction\"></ng-content>\n </div>\n </db-drawer>\n <div class=\"db-header-meta-navigation\">\n <ng-content *ngTemplateOutlet=\"dbMetaNavigation\"></ng-content>\n </div>\n <div class=\"db-header-navigation-bar\">\n <div class=\"db-header-brand-container\">\n <ng-content select=\"[brand]\"></ng-content>\n </div>\n <div class=\"db-header-navigation-container\">\n <div class=\"db-header-navigation\"><ng-content *ngTemplateOutlet=\"dbNavigation\"></ng-content></div>\n <div class=\"db-header-primary-action\">\n <ng-content select=\"[primary-action]\"></ng-content>\n </div>\n </div>\n <div class=\"db-header-action-container\">\n <div class=\"db-header-burger-menu-container\">\n <db-button\n icon=\"menu\"\n variant=\"ghost\"\n [id]=\"_id + '-burger-menu'\"\n [noText]=\"true\"\n (click)=\"toggle()\"\n >\n {{burgerMenuLabel ?? DEFAULT_BURGER_MENU}}\n </db-button>\n </div>\n <div class=\"db-header-secondary-action\">\n <ng-content *ngTemplateOutlet=\"dbSecondaryAction\"></ng-content>\n </div>\n </div>\n </div>\n </header>\n `,\n standalone: true,\n imports: [CommonModule, DBDrawer, DBButton],\n})\nexport class DBHeader {\n\t@ContentChild(NavigationDirective, { read: TemplateRef }) dbNavigation: any;\n\t@ContentChild(MetaNavigationDirective, { read: TemplateRef }) dbMetaNavigation: any;\n\t@ContentChild(SecondaryActionDirective, { read: TemplateRef }) dbSecondaryAction: any;\n cls = cls;\n DEFAULT_BURGER_MENU = DEFAULT_BURGER_MENU;\n\n @Input() id!: DBHeaderProps[\"id\"];\n @Input() forceMobile!: DBHeaderProps[\"forceMobile\"];\n @Input() drawerOpen!: DBHeaderProps[\"drawerOpen\"];\n @Input() className!: DBHeaderProps[\"className\"];\n @Input() width!: DBHeaderProps[\"width\"];\n @Input() burgerMenuLabel!: DBHeaderProps[\"burgerMenuLabel\"];\n\n @Output() onToggle = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBHeaderState[\"_id\"] = DEFAULT_ID;\n initialized: DBHeaderState[\"initialized\"] = false;\n forcedToMobile: DBHeaderState[\"forcedToMobile\"] = false;\n toggle(): ReturnType<DBHeaderState[\"toggle\"]> {\n if (this.onToggle) {\n this.onToggle.emit(!this.drawerOpen);\n }\n }\n handleNavigationItemClick(\n event: unknown\n ): ReturnType<DBHeaderState[\"handleNavigationItemClick\"]> {\n if (isEventTargetNavigationItem(event)) {\n this.toggle();\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this.initialized = true;\n this._id = this.id || \"header-\" + uuid();\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-header\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this.initialized && document && this._id && this.forceMobile) {\n const headerElement = document.getElementById(this._id) as HTMLElement;\n if (headerElement) {\n // Adds this attribute to the header to enable all styling which would have\n // @media screen and (min-width: $db-screens-m) to show mobile navigation on a desktop device\n addAttributeToChildren(headerElement, {\n key: \"data-force-mobile\",\n value: \"true\",\n });\n }\n this.forcedToMobile = true;\n }\n }\n }\n}\n","import { Component, ViewChild, ElementRef, Input } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport type { DBIconProps, DBIconState } from \"./model\";\nimport { cls } from \"../../utils\";\n\n@Component({\n selector: \"db-icon\",\n template: `\n <span\n aria-hidden=\"true\"\n #_ref\n [attr.id]=\"id\"\n [class]=\"cls('db-icon', className)\"\n [attr.data-icon]=\"icon\"\n [attr.data-icon-weight]=\"weight\"\n [attr.data-icon-variant]=\"variant\"\n >\n <ng-container *ngIf=\"text\">{{text}}</ng-container>\n <ng-container *ngIf=\"!(text)\"><ng-content></ng-content></ng-container>\n </span>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBIcon {\n cls = cls;\n\n @Input() id!: DBIconProps[\"id\"];\n @Input() className!: DBIconProps[\"className\"];\n @Input() icon!: DBIconProps[\"icon\"];\n @Input() weight!: DBIconProps[\"weight\"];\n @Input() variant!: DBIconProps[\"variant\"];\n @Input() text!: DBIconProps[\"text\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-icon\");\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport {\n cls,\n delay,\n getHideProp,\n hasVoiceOver,\n isArrayOfStrings,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport { DBInputProps, DBInputState } from \"./model\";\nimport {\n DEFAULT_DATALIST_ID_SUFFIX,\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_LABEL,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_PLACEHOLDER,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport {\n ChangeEvent,\n InputEvent,\n InteractionEvent,\n ValueLabelType,\n} from \"../../shared/model\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport {\n handleFrameworkEventVue,\n handleFrameworkEventAngular,\n} from \"../../utils/form-components\";\n\n@Component({\n\t\tproviders: [{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: DBInput,\n\t\t\tmulti: true\n\t\t}],\t\n selector: \"db-input\",\n template: `\n <div\n [class]=\"cls('db-input', className)\"\n [attr.data-variant]=\"variant\"\n [attr.data-hide-label]=\"getHideProp(showLabel)\"\n [attr.data-hide-icon]=\"getHideProp(showIcon)\"\n [attr.data-icon]=\"icon\"\n [attr.data-icon-after]=\"iconAfter\"\n [attr.data-hide-icon-after]=\"getHideProp(showIcon)\"\n >\n <label [attr.for]=\"_id\">{{label ?? DEFAULT_LABEL}}</label>\n <input\n [attr.aria-invalid]=\"validation === 'invalid'\"\n [attr.data-custom-validity]=\"validation\"\n #_ref\n [attr.id]=\"_id\"\n [attr.name]=\"name\"\n [attr.type]=\"type || 'text'\"\n [attr.placeholder]=\"placeholder ?? DEFAULT_PLACEHOLDER\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [attr.step]=\"step\"\n [attr.value]=\"value ?? _value\"\n [attr.maxLength]=\"maxLength\"\n [attr.minLength]=\"minLength\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.readOnly]=\"readOnly\"\n [attr.form]=\"form\"\n [attr.pattern]=\"pattern\"\n [attr.size]=\"size\"\n [attr.autoComplete]=\"autocomplete\"\n [attr.autoFocus]=\"autofocus\"\n (input)=\"handleInput($event)\"\n (change)=\"handleChange($event)\"\n (blur)=\"handleBlur($event)\"\n (focus)=\"handleFocus($event)\"\n [attr.list]=\"dataList && _dataListId\"\n [attr.aria-describedby]=\"_descByIds\"\n />\n <ng-container *ngIf=\"dataList\">\n <datalist [attr.id]=\"_dataListId\">\n <ng-container\n *ngFor=\"let option of getDataList(dataList); trackBy: trackByOption0\"\n >\n <option [attr.value]=\"option.value\">{{option.label}}</option>\n </ng-container>\n </datalist>\n </ng-container>\n <ng-content></ng-content>\n <ng-container *ngIf=\"stringPropVisible(message, showMessage)\">\n <db-infotext size=\"small\" [icon]=\"messageIcon\" [id]=\"_messageId\">\n {{message}}\n </db-infotext>\n </ng-container>\n <db-infotext size=\"small\" semantic=\"successful\" [id]=\"_validMessageId\">\n {{validMessage ?? DEFAULT_VALID_MESSAGE}}\n </db-infotext>\n <db-infotext size=\"small\" semantic=\"critical\" [id]=\"_invalidMessageId\">\n {{invalidMessage ?? this._ref?.validationMessage ??\n DEFAULT_INVALID_MESSAGE}}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {{_voiceOverFallback}}\n </span>\n </div>\n `,\n standalone: true,\n imports: [CommonModule, DBInfotext],\n})\nexport class DBInput implements ControlValueAccessor {\n\t\tconstructor(private renderer: Renderer2) { }\n cls = cls;\n getHideProp = getHideProp;\n stringPropVisible = stringPropVisible;\n DEFAULT_INVALID_MESSAGE = DEFAULT_INVALID_MESSAGE;\n DEFAULT_LABEL = DEFAULT_LABEL;\n DEFAULT_PLACEHOLDER = DEFAULT_PLACEHOLDER;\n DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;\n\n @Input() id!: DBInputProps[\"id\"];\n @Input() dataListId!: DBInputProps[\"dataListId\"];\n @Input() message!: DBInputProps[\"message\"];\n @Input() showMessage!: DBInputProps[\"showMessage\"];\n @Input() value!: DBInputProps[\"value\"];\n @Input() validation!: DBInputProps[\"validation\"];\n @Input() invalidMessage!: DBInputProps[\"invalidMessage\"];\n @Input() required!: DBInputProps[\"required\"];\n @Input() minLength!: DBInputProps[\"minLength\"];\n @Input() maxLength!: DBInputProps[\"maxLength\"];\n @Input() pattern!: DBInputProps[\"pattern\"];\n @Input() validMessage!: DBInputProps[\"validMessage\"];\n @Input() className!: DBInputProps[\"className\"];\n @Input() variant!: DBInputProps[\"variant\"];\n @Input() showLabel!: DBInputProps[\"showLabel\"];\n @Input() showIcon!: DBInputProps[\"showIcon\"];\n @Input() icon!: DBInputProps[\"icon\"];\n @Input() iconAfter!: DBInputProps[\"iconAfter\"];\n @Input() label!: DBInputProps[\"label\"];\n @Input() name!: DBInputProps[\"name\"];\n @Input() type!: DBInputProps[\"type\"];\n @Input() placeholder!: DBInputProps[\"placeholder\"];\n @Input() disabled!: DBInputProps[\"disabled\"];\n @Input() step!: DBInputProps[\"step\"];\n @Input() max!: DBInputProps[\"max\"];\n @Input() min!: DBInputProps[\"min\"];\n @Input() readOnly!: DBInputProps[\"readOnly\"];\n @Input() form!: DBInputProps[\"form\"];\n @Input() size!: DBInputProps[\"size\"];\n @Input() autocomplete!: DBInputProps[\"autocomplete\"];\n @Input() autofocus!: DBInputProps[\"autofocus\"];\n @Input() dataList!: DBInputProps[\"dataList\"];\n @Input() messageIcon!: DBInputProps[\"messageIcon\"];\n\n @Output() onInput = new EventEmitter();\n @Output() input = new EventEmitter();\n @Output() onChange = new EventEmitter();\n @Output() change = new EventEmitter();\n @Output() onBlur = new EventEmitter();\n @Output() blur = new EventEmitter();\n @Output() onFocus = new EventEmitter();\n @Output() focus = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBInputState[\"_id\"] = undefined;\n _messageId: DBInputState[\"_messageId\"] = undefined;\n _validMessageId: DBInputState[\"_validMessageId\"] = undefined;\n _invalidMessageId: DBInputState[\"_invalidMessageId\"] = undefined;\n _dataListId: DBInputState[\"_dataListId\"] = undefined;\n _descByIds: DBInputState[\"_descByIds\"] = \"\";\n _value: DBInputState[\"_value\"] = \"\";\n _voiceOverFallback: DBInputState[\"_voiceOverFallback\"] = \"\";\n handleInput(\n event: InputEvent<HTMLInputElement>\n ): ReturnType<DBInputState[\"handleInput\"]> {\n if (this.onInput) {\n this.onInput.emit(event);\n }\n if (this.input) {\n this.input.emit(event);\n }\n }\n handleChange(\n event: ChangeEvent<HTMLInputElement>\n ): ReturnType<DBInputState[\"handleChange\"]> {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n\n /* For a11y reasons we need to map the correct message with the input */\n if (\n !this._ref?.nativeElement?.validity.valid ||\n this.validation === \"invalid\"\n ) {\n this._descByIds = this._invalidMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback =\n this.invalidMessage ??\n this._ref?.nativeElement?.validationMessage ??\n DEFAULT_INVALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.validation === \"valid\" ||\n (this._ref?.nativeElement?.validity.valid &&\n (this.required || this.minLength || this.maxLength || this.pattern))\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = \"\";\n }\n }\n handleBlur(\n event: InteractionEvent<HTMLInputElement>\n ): ReturnType<DBInputState[\"handleBlur\"]> {\n if (this.onBlur) {\n this.onBlur.emit(event);\n }\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(\n event: InteractionEvent<HTMLInputElement>\n ): ReturnType<DBInputState[\"handleFocus\"]> {\n if (this.onFocus) {\n this.onFocus.emit(event);\n }\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n getDataList(\n _list?: string[] | ValueLabelType[]\n ): ReturnType<DBInputState[\"getDataList\"]> {\n return Array.from(\n (isArrayOfStrings(_list)\n ? _list.map((val: string) => ({\n value: val,\n label: undefined,\n }))\n : _list) || []\n );\n }\n trackByOption0(_, option) {\n return this._dataListId + \"-option-\" + option.value;\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \n\t\twriteValue(value: any) {\nif (!value && (this.type === \"date\" ||\n\t\t\tthis.type === \"time\" ||\n\t\t\tthis.type === \"week\" ||\n\t\t\tthis.type === \"month\" ||\n\t\t\tthis.type === \"datetime-local\"\n\t\t\t)) return;\n\t\t\t\n\t\t this.value = value;\n\n\t\t if (this._ref?.nativeElement) {\n\t\t\t this.renderer.setProperty(this._ref?.nativeElement, 'value', value);\n\t\t }\n\t\t\t\n\t\t}\n\n\t\tpropagateChange(_: any) {}\n\n\t\tregisterOnChange(onChange: any) {\n\t\t this.propagateChange = onChange;\n\t\t}\n\n\t\tregisterOnTouched(onTouched: any) {\n\t\t //this.onTouched = onTouched;\n\t\t}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled = disabled;\n\t\t}\n\n\t\tngOnInit() {\n if (typeof window !== \"undefined\") {\n const mId = this.id ?? `input-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._dataListId = mId + DEFAULT_DATALIST_ID_SUFFIX;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-input\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._dataListId =\n this.dataListId ?? this._id + DEFAULT_DATALIST_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n }\n }\n this._value = this.value;\n }\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBLinkProps, DBLinkState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\n\n@Component({\n selector: \"db-link\",\n template: `\n <a\n #_ref\n [attr.id]=\"id\"\n [class]=\"cls('db-link', className)\"\n [attr.href]=\"href\"\n [attr.target]=\"target\"\n [attr.rel]=\"rel\"\n [attr.role]=\"role\"\n [attr.hrefLang]=\"hreflang\"\n [attr.aria-disabled]=\"getBooleanAsString(disabled)\"\n [attr.tabIndex]=\"disabled ? -1 : 0\"\n [attr.aria-selected]=\"selected\"\n [attr.aria-label]=\"label\"\n [attr.aria-current]=\"current\"\n [attr.data-size]=\"size\"\n [attr.data-hide-icon-after]=\"getHideProp(showIcon ?? true)\"\n [attr.data-variant]=\"variant\"\n [attr.data-content]=\"content || 'internal'\"\n (click)=\"handleClick($event)\"\n >\n <ng-container *ngIf=\"text\">{{text}}</ng-container>\n <ng-container *ngIf=\"!(text)\"><ng-content></ng-content></ng-container>\n </a>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBLink {\n cls = cls;\n getBooleanAsString = getBooleanAsString;\n getHideProp = getHideProp;\n\n @Input() id!: DBLinkProps[\"id\"];\n @Input() className!: DBLinkProps[\"className\"];\n @Input() href!: DBLinkProps[\"href\"];\n @Input() target!: DBLinkProps[\"target\"];\n @Input() rel!: DBLinkProps[\"rel\"];\n @Input() role!: DBLinkProps[\"role\"];\n @Input() hreflang!: DBLinkProps[\"hreflang\"];\n @Input() disabled!: DBLinkProps[\"disabled\"];\n @Input() selected!: DBLinkProps[\"selected\"];\n @Input() label!: DBLinkProps[\"label\"];\n @Input() current!: DBLinkProps[\"current\"];\n @Input() size!: DBLinkProps[\"size\"];\n @Input() showIcon!: DBLinkProps[\"showIcon\"];\n @Input() variant!: DBLinkProps[\"variant\"];\n @Input() content!: DBLinkProps[\"content\"];\n @Input() text!: DBLinkProps[\"text\"];\n\n @Output() onClick = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n handleClick(\n event: ClickEvent<HTMLAnchorElement>\n ): ReturnType<DBLinkState[\"handleClick\"]> {\n if (this.onClick) {\n this.onClick.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-link\");\n }\n}\n","import { Component, ViewChild, ElementRef, Input } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBPageProps, DBPageState } from \"./model\";\nimport { cls, getBooleanAsString } from \"../../utils\";\n\n@Component({\n selector: \"db-page\",\n template: `\n <div\n #_ref\n [attr.id]=\"id\"\n [class]=\"cls('db-page', className)\"\n [attr.data-variant]=\"variant\"\n [attr.data-fade-in]=\"fadeIn\"\n [attr.data-fonts-loaded]=\"getBooleanAsString(fontsLoaded)\"\n >\n <ng-content select=\"[header]\"></ng-content>\n <main [class]=\"cls('db-main', mainClass)\"><ng-content></ng-content></main>\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBPage {\n cls = cls;\n getBooleanAsString = getBooleanAsString;\n\n @Input() fadeIn!: DBPageProps[\"fadeIn\"];\n @Input() documentOverflow!: DBPageProps[\"documentOverflow\"];\n @Input() variant!: DBPageProps[\"variant\"];\n @Input() id!: DBPageProps[\"id\"];\n @Input() className!: DBPageProps[\"className\"];\n @Input() mainClass!: DBPageProps[\"mainClass\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n fontsLoaded: DBPageState[\"fontsLoaded\"] = false;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (\n typeof window !== \"undefined\" &&\n document &&\n (this.documentOverflow === \"hidden\" ||\n (this.variant === \"fixed\" && this.documentOverflow !== \"auto\"))\n ) {\n // We need to set this to `html` element that the flex-box solution works\n // See https://stackoverflow.com/a/43710216 - Approach 1 - flexbox\n document.documentElement.classList.add(\"db-page-document\");\n }\n\n if (typeof window !== \"undefined\") {\n this.fontsLoaded = !this.fadeIn;\n if (document && this.fadeIn) {\n document.fonts.ready.then(() => {\n this.fontsLoaded = true;\n });\n } else {\n this.fontsLoaded = true;\n }\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-page\");\n }\n\n ngOnDestroy() {\n if (\n typeof window !== \"undefined\" &&\n document.documentElement.classList.contains(\"db-page-document\")\n ) {\n // remove document styles set by this\n document.documentElement.classList.remove(\"db-page-document\");\n }\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBRadioProps, DBRadioState } from \"./model\";\nimport { cls, getHideProp, uuid } from \"../../utils\";\nimport { ChangeEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\n@Component({\n\t\tproviders: [{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: DBRadio,\n\t\t\tmulti: true\n\t\t}],\t\n selector: \"db-radio\",\n template: `\n <label\n [attr.data-size]=\"size\"\n [attr.data-hide-label]=\"getHideProp(showLabel)\"\n [class]=\"cls('db-radio', className)\"\n [attr.for]=\"_id\"\n >\n <input\n type=\"radio\"\n [attr.aria-invalid]=\"validation === 'invalid'\"\n [attr.data-custom-validity]=\"validation\"\n #_ref\n [attr.id]=\"_id\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.aria-describedby]=\"describedbyid\"\n [attr.value]=\"value\"\n [required]=\"required\"\n (change)=\"handleChange($event)\"\n (blur)=\"handleBlur($event)\"\n (focus)=\"handleFocus($event)\"\n />\n <ng-container *ngIf=\"label\">{{label}}</ng-container>\n <ng-container *ngIf=\"!(label)\"><ng-content></ng-content></ng-container>\n </label>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBRadio implements ControlValueAccessor {\n\t\tconstructor(private renderer: Renderer2) { }\n cls = cls;\n getHideProp = getHideProp;\n\n @Input() id!: DBRadioProps[\"id\"];\n @Input() checked!: DBRadioProps[\"checked\"];\n @Input() size!: DBRadioProps[\"size\"];\n @Input() showLabel!: DBRadioProps[\"showLabel\"];\n @Input() className!: DBRadioProps[\"className\"];\n @Input() validation!: DBRadioProps[\"validation\"];\n @Input() name!: DBRadioProps[\"name\"];\n @Input() disabled!: DBRadioProps[\"disabled\"];\n @Input() describedbyid!: DBRadioProps[\"describedbyid\"];\n @Input() value!: DBRadioProps[\"value\"];\n @Input() required!: DBRadioProps[\"required\"];\n @Input() label!: DBRadioProps[\"label\"];\n\n @Output() onChange = new EventEmitter();\n @Output() change = new EventEmitter();\n @Output() onBlur = new EventEmitter();\n @Output() blur = new EventEmitter();\n @Output() onFocus = new EventEmitter();\n @Output() focus = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n initialized: DBRadioState[\"initialized\"] = false;\n _id: DBRadioState[\"_id\"] = undefined;\n handleChange(\n event: ChangeEvent<HTMLInputElement>\n ): ReturnType<DBRadioState[\"handleChange\"]> {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n }\n handleBlur(\n event: InteractionEvent<HTMLInputElement>\n ): ReturnType<DBRadioState[\"handleBlur\"]> {\n if (this.onBlur) {\n this.onBlur.emit(event);\n }\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(\n event: InteractionEvent<HTMLInputElement>\n ): ReturnType<DBRadioState[\"handleFocus\"]> {\n if (this.onFocus) {\n this.onFocus.emit(event);\n }\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \n\t\twriteValue(value: any) {\n\t\t\tif(value){\n\t\t this.value = value;\n\n\t\t if (this._ref?.nativeElement) {\n\t\t\t this.renderer.setProperty(this._ref?.nativeElement, 'value', value);\n\t\t }\n\t\t\t}\n\t\t}\n\n\t\tpropagateChange(_: any) {}\n\n\t\tregisterOnChange(onChange: any) {\n\t\t this.propagateChange = onChange;\n\t\t}\n\n\t\tregisterOnTouched(onTouched: any) {\n\t\t //this.onTouched = onTouched;\n\t\t}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled = disabled;\n\t\t}\n\n\t\tngOnInit() {\n if (typeof window !== \"undefined\") {\n this.initialized = true;\n this._id = this.id ?? `radio-${uuid()}`;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-radio\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this.checked && this.initialized && this._ref?.nativeElement) {\n this._ref.nativeElement.checked = true;\n }\n }\n }\n}\n","import { Component, ViewChild, ElementRef, Input } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBSectionProps, DBSectionState } from \"./model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\n@Component({\n selector: \"db-section\",\n template: `\n <section\n #_ref\n [attr.id]=\"_id\"\n [class]=\"cls('db-section', className)\"\n [attr.data-spacing]=\"spacing || 'medium'\"\n [attr.data-width]=\"width\"\n >\n <ng-content></ng-content>\n </section>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBSection {\n cls = cls;\n\n @Input() id!: DBSectionProps[\"id\"];\n @Input() className!: DBSectionProps[\"className\"];\n @Input() spacing!: DBSectionProps[\"spacing\"];\n @Input() width!: DBSectionProps[\"width\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBSectionState[\"_id\"] = DEFAULT_ID;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this._id = this.id || \"section-\" + uuid();\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-section\");\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBSelectOptionType, DBSelectProps, DBSelectState } from \"./model\";\nimport {\n cls,\n delay,\n getHideProp,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_LABEL,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_PLACEHOLDER_ID_SUFFIX,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport {\n ChangeEvent,\n ClickEvent,\n InputEvent,\n InteractionEvent,\n} from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\n@Component({\n\t\tproviders: [{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: DBSelect,\n\t\t\tmulti: true\n\t\t}],\t\n selector: \"db-select\",\n template: `\n <div\n [class]=\"cls('db-select', className)\"\n [attr.data-variant]=\"variant\"\n [attr.data-hide-label]=\"getHideProp(showLabel)\"\n [attr.data-icon]=\"icon\"\n [attr.data-hide-icon]=\"getHideProp(showIcon)\"\n >\n <label [attr.for]=\"_id\">{{label ?? DEFAULT_LABEL}}</label>\n <select\n [attr.aria-invalid]=\"validation === 'invalid'\"\n [attr.data-custom-validity]=\"validation\"\n #_ref\n [required]=\"required\"\n [disabled]=\"disabled\"\n [attr.id]=\"_id\"\n [attr.name]=\"name\"\n [attr.size]=\"size\"\n [value]=\"value ?? _value\"\n [attr.autocomplete]=\"autocomplete\"\n (input)=\"handleInput($event)\"\n (click)=\"handleClick($event)\"\n (change)=\"handleChange($event)\"\n (blur)=\"handleBlur($event)\"\n (focus)=\"handleFocus($event)\"\n [attr.aria-describedby]=\"_descByIds\"\n >\n <option [attr.hidden]=\"true\"></option>\n <ng-container *ngIf=\"options\">\n <ng-container *ngFor=\"let option of options\">\n <ng-container>\n <ng-container *ngIf=\"option.options\">\n <optgroup [attr.label]=\"getOptionLabel(option)\">\n <ng-container\n *ngFor=\"let optgroupOption of option.options; trackBy: trackByOptgroupOption0\"\n >\n <option\n [value]=\"optgroupOption.value\"\n [attr.selected]=\"optgroupOption.selected\"\n [disabled]=\"optgroupOption.disabled\"\n >\n {{getOptionLabel(optgroupOption)}}\n </option>\n </ng-container>\n </optgroup>\n </ng-container>\n <ng-container *ngIf=\"!option.options\">\n <option\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n [attr.selected]=\"option.selected\"\n >\n {{getOptionLabel(option)}}\n </option>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-content></ng-content>\n </select>\n <span [attr.id]=\"_placeholderId\">{{placeholder ?? label}}</span>\n <ng-container *ngIf=\"stringPropVisible(message, showMessage)\">\n <db-infotext size=\"small\" [icon]=\"messageIcon\" [id]=\"_messageId\">\n {{message}}\n </db-infotext>\n </ng-container>\n <db-infotext size=\"small\" semantic=\"successful\" [id]=\"_validMessageId\">\n {{validMessage ?? DEFAULT_VALID_MESSAGE}}\n </db-infotext>\n <db-infotext size=\"small\" semantic=\"critical\" [id]=\"_invalidMessageId\">\n {{invalidMessage ?? this._ref?.validationMessage ??\n DEFAULT_INVALID_MESSAGE}}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {{_voiceOverFallback}}\n </span>\n </div>\n `,\n standalone: true,\n imports: [CommonModule, DBInfotext],\n})\nexport class DBSelect implements ControlValueAccessor {\n\t\tconstructor(private renderer: Renderer2) { }\n cls = cls;\n getHideProp = getHideProp;\n stringPropVisible = stringPropVisible;\n DEFAULT_INVALID_MESSAGE = DEFAULT_INVALID_MESSAGE;\n DEFAULT_LABEL = DEFAULT_LABEL;\n DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;\n\n @Input() id!: DBSelectProps[\"id\"];\n @Input() message!: DBSelectProps[\"message\"];\n @Input() showMessage!: DBSelectProps[\"showMessage\"];\n @Input() value!: DBSelectProps[\"value\"];\n @Input() validation!: DBSelectProps[\"validation\"];\n @Input() invalidMessage!: DBSelectProps[\"invalidMessage\"];\n @Input() required!: DBSelectProps[\"required\"];\n @Input() validMessage!: DBSelectProps[\"validMessage\"];\n @Input() className!: DBSelectProps[\"className\"];\n @Input() variant!: DBSelectProps[\"variant\"];\n @Input() showLabel!: DBSelectProps[\"showLabel\"];\n @Input() icon!: DBSelectProps[\"icon\"];\n @Input() showIcon!: DBSelectProps[\"showIcon\"];\n @Input() label!: DBSelectProps[\"label\"];\n @Input() disabled!: DBSelectProps[\"disabled\"];\n @Input() name!: DBSelectProps[\"name\"];\n @Input() size!: DBSelectProps[\"size\"];\n @Input() autocomplete!: DBSelectProps[\"autocomplete\"];\n @Input() options!: DBSelectProps[\"options\"];\n @Input() placeholder!: DBSelectProps[\"placeholder\"];\n @Input() messageIcon!: DBSelectProps[\"messageIcon\"];\n\n @Output() onClick = new EventEmitter();\n @Output() onInput = new EventEmitter();\n @Output() input = new EventEmitter();\n @Output() onChange = new EventEmitter();\n @Output() change = new EventEmitter();\n @Output() onBlur = new EventEmitter();\n @Output() blur = new EventEmitter();\n @Output() onFocus = new EventEmitter();\n @Output() focus = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBSelectState[\"_id\"] = undefined;\n _messageId: DBSelectState[\"_messageId\"] = undefined;\n _validMessageId: DBSelectState[\"_validMessageId\"] = undefined;\n _invalidMessageId: DBSelectState[\"_invalidMessageId\"] = undefined;\n _placeholderId: DBSelectState[\"_placeholderId\"] = \"\";\n _descByIds: DBSelectState[\"_descByIds\"] = \"\";\n _value: DBSelectState[\"_value\"] = \"\";\n initialized: DBSelectState[\"initialized\"] = false;\n _voiceOverFallback: DBSelectState[\"_voiceOverFallback\"] = \"\";\n handleClick(\n event: ClickEvent<HTMLSelectElement>\n ): ReturnType<DBSelectState[\"handleClick\"]> {\n if (this.onClick) {\n this.onClick.emit(event);\n }\n }\n handleInput(\n event: InputEvent<HTMLSelectElement>\n ): ReturnType<DBSelectState[\"handleInput\"]> {\n if (this.onInput) {\n this.onInput.emit(event);\n }\n if (this.input) {\n this.input.emit(event);\n }\n }\n handleChange(\n event: ChangeEvent<HTMLSelectElement>\n ): ReturnType<DBSelectState[\"handleChange\"]> {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n\n /* For a11y reasons we need to map the correct message with the select */\n if (\n !this._ref?.nativeElement?.validity.valid ||\n this.validation === \"invalid\"\n ) {\n this._descByIds = this._invalidMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback =\n this.invalidMessage ??\n this._ref?.nativeElement?.validationMessage ??\n DEFAULT_INVALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.validation === \"valid\" ||\n (this._ref?.nativeElement?.validity.valid && this.required)\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = this._placeholderId;\n }\n }\n handleBlur(\n event: InteractionEvent<HTMLSelectElement>\n ): ReturnType<DBSelectState[\"handleBlur\"]> {\n if (this.onBlur) {\n this.onBlur.emit(event);\n }\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(\n event: InteractionEvent<HTMLSelectElement>\n ): ReturnType<DBSelectState[\"handleFocus\"]> {\n if (this.onFocus) {\n this.onFocus.emit(event);\n }\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n getOptionLabel(\n option: DBSelectOptionType\n ): ReturnType<DBSelectState[\"getOptionLabel\"]> {\n return option.label ?? option.value.toString();\n }\n trackByOptgroupOption0(_, optgroupOption) {\n return optgroupOption.value.toString();\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \n\t\twriteValue(value: any) {\n\t\t\t\n\t\t this.value = value;\n\n\t\t if (this._ref?.nativeElement) {\n\t\t\t this.renderer.setProperty(this._ref?.nativeElement, 'value', value);\n\t\t }\n\t\t\t\n\t\t}\n\n\t\tpropagateChange(_: any) {}\n\n\t\tregisterOnChange(onChange: any) {\n\t\t this.propagateChange = onChange;\n\t\t}\n\n\t\tregisterOnTouched(onTouched: any) {\n\t\t //this.onTouched = onTouched;\n\t\t}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled = disabled;\n\t\t}\n\n\t\tngOnInit() {\n if (typeof window !== \"undefined\") {\n this.initialized = true;\n const mId = this.id ?? `select-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._placeholderId = mId + DEFAULT_PLACEHOLDER_ID_SUFFIX;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-select\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this._id && this.initialized) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n const placeholderId = this._id + DEFAULT_PLACEHOLDER_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._placeholderId = placeholderId;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n } else {\n this._descByIds = placeholderId;\n }\n this.initialized = false;\n }\n this._value = this.value;\n }\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBSwitchProps, DBSwitchState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp, uuid } from \"../../utils\";\nimport { ChangeEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\n@Component({\n\t\tproviders: [{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: DBSwitch,\n\t\t\tmulti: true\n\t\t}],\t\n selector: \"db-switch\",\n template: `\n <label\n [attr.data-visual-aid]=\"getBooleanAsString(visualAid)\"\n [attr.data-size]=\"size\"\n [attr.data-hide-label]=\"getHideProp(showLabel)\"\n [attr.data-emphasis]=\"emphasis\"\n [attr.for]=\"_id\"\n [class]=\"cls('db-switch', className)\"\n >\n <input\n type=\"checkbox\"\n role=\"switch\"\n [attr.id]=\"_id\"\n [attr.aria-checked]=\"getBooleanAsString(_checked)\"\n #_ref\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.aria-describedby]=\"describedbyid\"\n [attr.aria-invalid]=\"validation === 'invalid'\"\n [attr.data-custom-validity]=\"validation\"\n [attr.name]=\"name\"\n [required]=\"required\"\n [attr.data-aid-icon]=\"icon\"\n [attr.data-aid-icon-after]=\"iconAfter\"\n (change)=\"handleChange($event)\"\n (blur)=\"handleBlur($event)\"\n (focus)=\"handleFocus($event)\"\n />\n <ng-container *ngIf=\"label\">{{label}}</ng-container>\n <ng-container *ngIf=\"!(label)\"><ng-content></ng-content></ng-container>\n </label>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBSwitch implements ControlValueAccessor {\n\t\tconstructor(private renderer: Renderer2) { }\n cls = cls;\n getBooleanAsString = getBooleanAsString;\n getHideProp = getHideProp;\n\n @Input() id!: DBSwitchProps[\"id\"];\n @Input() checked!: DBSwitchProps[\"checked\"];\n @Input() visualAid!: DBSwitchProps[\"visualAid\"];\n @Input() size!: DBSwitchProps[\"size\"];\n @Input() showLabel!: DBSwitchProps[\"showLabel\"];\n @Input() emphasis!: DBSwitchProps[\"emphasis\"];\n @Input() className!: DBSwitchProps[\"className\"];\n @Input() value!: DBSwitchProps[\"value\"];\n @Input() disabled!: DBSwitchProps[\"disabled\"];\n @Input() describedbyid!: DBSwitchProps[\"describedbyid\"];\n @Input() validation!: DBSwitchProps[\"validation\"];\n @Input() name!: DBSwitchProps[\"name\"];\n @Input() required!: DBSwitchProps[\"required\"];\n @Input() icon!: DBSwitchProps[\"icon\"];\n @Input() iconAfter!: DBSwitchProps[\"iconAfter\"];\n @Input() label!: DBSwitchProps[\"label\"];\n\n @Output() onChange = new EventEmitter();\n @Output() change = new EventEmitter();\n @Output() onBlur = new EventEmitter();\n @Output() blur = new EventEmitter();\n @Output() onFocus = new EventEmitter();\n @Output() focus = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBSwitchState[\"_id\"] = undefined;\n _checked: DBSwitchState[\"_checked\"] = false;\n handleChange(\n event: ChangeEvent<HTMLInputElement>\n ): ReturnType<DBSwitchState[\"handleChange\"]> {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change.emit(event);\n }\n\n // We have different ts types in different frameworks, so we need to use any here\n this._checked = (event.target as any)?.[\"checked\"];\n handleFrameworkEventAngular(this, event, \"checked\");\n }\n handleBlur(\n event: InteractionEvent<HTMLInputElement>\n ): ReturnType<DBSwitchState[\"handleBlur\"]> {\n if (this.onBlur) {\n this.onBlur.emit(event);\n }\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(\n event: InteractionEvent<HTMLInputElement>\n ): ReturnType<DBSwitchState[\"handleFocus\"]> {\n if (this.onFocus) {\n this.onFocus.emit(event);\n }\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \n\t\twriteValue(value: any) {\n\t\t\t\n\t\t this.checked = !!value;\n\n\t\t if (this._ref?.nativeElement) {\n\t\t\t this.renderer.setProperty(this._ref?.nativeElement, 'checked', !!value);\n\t\t }\n\t\t\t\n\t\t}\n\n\t\tpropagateChange(_: any) {}\n\n\t\tregisterOnChange(onChange: any) {\n\t\t this.propagateChange = onChange;\n\t\t}\n\n\t\tregisterOnTouched(onTouched: any) {\n\t\t //this.onTouched = onTouched;\n\t\t}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled = disabled;\n\t\t}\n\n\t\tngOnInit() {\n if (typeof window !== \"undefined\") {\n this._id = this.id ?? `switch-${uuid()}`;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-switch\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this.checked !== undefined && this.checked !== null) {\n this._checked = !!this.checked;\n }\n }\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport type { DBTabItemProps, DBTabItemState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp } from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\n@Component({\n\t\tproviders: [{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: DBTabItem,\n\t\t\tmulti: true\n\t\t}],\t\n selector: \"db-tab-item\",\n template: `\n <li role=\"none\" [class]=\"cls('db-tab-item', className)\">\n <label\n [attr.for]=\"id\"\n [attr.data-icon]=\"icon\"\n [attr.data-icon-after]=\"iconAfter\"\n [attr.data-hide-icon]=\"getHideProp(showIcon)\"\n [attr.data-hide-icon-after]=\"getHideProp(showIcon)\"\n [attr.data-no-text]=\"noText\"\n >\n <input\n type=\"radio\"\n role=\"tab\"\n [disabled]=\"disabled\"\n [attr.aria-selected]=\"_selected\"\n [attr.aria-controls]=\"controls\"\n [attr.checked]=\"checked\"\n #_ref\n [attr.id]=\"id\"\n (input)=\"handleChange($event)\"\n />\n <ng-container *ngIf=\"label\">{{label}}</ng-container>\n <ng-content></ng-content>\n </label>\n </li>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBTabItem implements ControlValueAccessor {\n\t\tconstructor(private renderer: Renderer2) { }\n cls = cls;\n getHideProp = getHideProp;\n\n @Input() active!: DBTabItemProps[\"active\"];\n @Input() className!: DBTabItemProps[\"className\"];\n @Input() id!: DBTabItemProps[\"id\"];\n @Input() icon!: DBTabItemProps[\"icon\"];\n @Input() iconAfter!: DBTabItemProps[\"iconAfter\"];\n @Input() showIcon!: DBTabItemProps[\"showIcon\"];\n @Input() noText!: DBTabItemProps[\"noText\"];\n @Input() disabled!: DBTabItemProps[\"disabled\"];\n @Input() controls!: DBTabItemProps[\"controls\"];\n @Input() checked!: DBTabItemProps[\"checked\"];\n @Input() label!: DBTabItemProps[\"label\"];\n\n @Output() onChange = new EventEmitter();\n @Output() change = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n initialized: DBTabItemState[\"initialized\"] = false;\n _selected: DBTabItemState[\"_selected\"] = false;\n handleChange(event: any): ReturnType<DBTabItemState[\"handleChange\"]> {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change.emit(event);\n }\n\n // We have different ts types in different frameworks, so we need to use any here\n\n this._selected = (event.target as any)?.[\"checked\"];\n handleFrameworkEventAngular(this, event, \"checked\");\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \n\t\twriteValue(value: any) {\n\t\t\t\n\t\t this.checked = !!value;\n\n\t\t if (this._ref?.nativeElement) {\n\t\t\t this.renderer.setProperty(this._ref?.nativeElement, 'checked', !!value);\n\t\t }\n\t\t\t\n\t\t}\n\n\t\tpropagateChange(_: any) {}\n\n\t\tregisterOnChange(onChange: any) {\n\t\t this.propagateChange = onChange;\n\t\t}\n\n\t\tregisterOnTouched(onTouched: any) {\n\t\t //this.onTouched = onTouched;\n\t\t}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled = disabled;\n\t\t}\n\n\t\tngOnInit() {\n if (typeof window !== \"undefined\") {\n this.initialized = true;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-tab-item\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this.active && this.initialized && this._ref?.nativeElement) {\n this._ref?.nativeElement.click();\n this.initialized = false;\n }\n }\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBTagProps, DBTagState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp } from \"../../utils\";\n\n@Component({\n selector: \"db-tag\",\n template: `\n <div\n #_ref\n [attr.id]=\"id\"\n [class]=\"cls('db-tag', className)\"\n [attr.data-disabled]=\"getBooleanAsString(disabled)\"\n [attr.data-semantic]=\"semantic\"\n [attr.data-emphasis]=\"emphasis\"\n [attr.data-icon]=\"icon\"\n [attr.data-show-check-state]=\"getBooleanAsString(showCheckState ?? true)\"\n [attr.data-hide-icon]=\"getHideProp(showIcon)\"\n [attr.data-no-text]=\"getBooleanAsString(noText)\"\n [attr.data-overflow]=\"getBooleanAsString(overflow)\"\n >\n <ng-content select=\"[content]\"></ng-content>\n <ng-content></ng-content>\n <ng-container *ngIf=\"text\">{{text}}</ng-container>\n <ng-container *ngIf=\"behavior === 'removable'\">\n <button\n class=\"db-button db-tab-remove-button\"\n data-icon=\"cross\"\n data-size=\"small\"\n data-no-text=\"true\"\n data-variant=\"ghost\"\n (click)=\"handleRemove()\"\n [attr.title]=\"getRemoveButtonText()\"\n >\n {{getRemoveButtonText()}}\n </button>\n </ng-container>\n </div>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBTag {\n cls = cls;\n getBooleanAsString = getBooleanAsString;\n getHideProp = getHideProp;\n\n @Input() disabled!: DBTagProps[\"disabled\"];\n @Input() removeButton!: DBTagProps[\"removeButton\"];\n @Input() id!: DBTagProps[\"id\"];\n @Input() className!: DBTagProps[\"className\"];\n @Input() semantic!: DBTagProps[\"semantic\"];\n @Input() emphasis!: DBTagProps[\"emphasis\"];\n @Input() icon!: DBTagProps[\"icon\"];\n @Input() showCheckState!: DBTagProps[\"showCheckState\"];\n @Input() showIcon!: DBTagProps[\"showIcon\"];\n @Input() noText!: DBTagProps[\"noText\"];\n @Input() overflow!: DBTagProps[\"overflow\"];\n @Input() text!: DBTagProps[\"text\"];\n @Input() behavior!: DBTagProps[\"behavior\"];\n\n @Output() onRemove = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n initialized: DBTagState[\"initialized\"] = false;\n handleRemove(): ReturnType<DBTagState[\"handleRemove\"]> {\n if (this.onRemove) {\n this.onRemove.emit();\n }\n }\n getRemoveButtonText(): ReturnType<DBTagState[\"getRemoveButtonText\"]> {\n if (this.removeButton) {\n return this.removeButton;\n }\n\n // TODO: We should think this through again, if we would really like to have default and especially english, instead of german labels in here\n return \"Remove tag\";\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n this.initialized = true;\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-tag\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (\n this.initialized &&\n this._ref?.nativeElement &&\n this.disabled !== undefined\n ) {\n const button: HTMLButtonElement | null =\n this._ref?.nativeElement?.querySelector(\n \"button:not(.db-tab-remove-button)\"\n );\n const input: HTMLInputElement | null =\n this._ref?.nativeElement?.querySelector(\"input\");\n for (const element of [button, input]) {\n if (element) {\n element.disabled = this.disabled;\n }\n }\n }\n }\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBTextareaProps, DBTextareaState } from \"./model\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport {\n cls,\n delay,\n getHideProp,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_LABEL,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_PLACEHOLDER,\n DEFAULT_ROWS,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport { ChangeEvent, InputEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\n@Component({\n\t\tproviders: [{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: DBTextarea,\n\t\t\tmulti: true\n\t\t}],\t\n selector: \"db-textarea\",\n template: `\n <div\n [class]=\"cls('db-textarea', className)\"\n [attr.data-variant]=\"variant\"\n [attr.data-hide-label]=\"getHideProp(showLabel)\"\n >\n <label [attr.for]=\"_id\">{{label ?? DEFAULT_LABEL}}</label>\n <textarea\n [attr.aria-invalid]=\"validation === 'invalid'\"\n [attr.data-custom-validity]=\"validation\"\n #_ref\n [attr.id]=\"_id\"\n [attr.data-resize]=\"resize\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [attr.readOnly]=\"readOnly\"\n [attr.form]=\"form\"\n [attr.maxLength]=\"maxLength\"\n [attr.minLength]=\"minLength\"\n [attr.name]=\"name\"\n [attr.wrap]=\"wrap\"\n [attr.spellcheck]=\"spellCheck\"\n [attr.autocomplete]=\"autocomplete\"\n (input)=\"handleInput($event)\"\n (change)=\"handleChange($event)\"\n (blur)=\"handleBlur($event)\"\n (focus)=\"handleFocus($event)\"\n [attr.value]=\"value ?? _value\"\n [attr.aria-describedby]=\"_descByIds\"\n [attr.placeholder]=\"placeholder ?? DEFAULT_PLACEHOLDER\"\n [attr.rows]=\"rows ?? DEFAULT_ROWS\"\n [attr.cols]=\"cols\"\n >{{value}}</textarea>\n <ng-container *ngIf=\"stringPropVisible(message, showMessage)\">\n <db-infotext size=\"small\" [icon]=\"messageIcon\" [id]=\"_messageId\">\n {{message}}\n </db-infotext>\n </ng-container>\n <db-infotext size=\"small\" semantic=\"successful\" [id]=\"_validMessageId\">\n {{validMessage ?? DEFAULT_VALID_MESSAGE}}\n </db-infotext>\n <db-infotext size=\"small\" semantic=\"critical\" [id]=\"_invalidMessageId\">\n {{invalidMessage ?? this._ref?.validationMessage ??\n DEFAULT_INVALID_MESSAGE}}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {{_voiceOverFallback}}\n </span>\n </div>\n `,\n standalone: true,\n imports: [CommonModule, DBInfotext],\n})\nexport class DBTextarea implements ControlValueAccessor {\n\t\tconstructor(private renderer: Renderer2) { }\n cls = cls;\n getHideProp = getHideProp;\n stringPropVisible = stringPropVisible;\n DEFAULT_INVALID_MESSAGE = DEFAULT_INVALID_MESSAGE;\n DEFAULT_LABEL = DEFAULT_LABEL;\n DEFAULT_PLACEHOLDER = DEFAULT_PLACEHOLDER;\n DEFAULT_ROWS = DEFAULT_ROWS;\n DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;\n\n @Input() id!: DBTextareaProps[\"id\"];\n @Input() message!: DBTextareaProps[\"message\"];\n @Input() showMessage!: DBTextareaProps[\"showMessage\"];\n @Input() value!: DBTextareaProps[\"value\"];\n @Input() validation!: DBTextareaProps[\"validation\"];\n @Input() invalidMessage!: DBTextareaProps[\"invalidMessage\"];\n @Input() required!: DBTextareaProps[\"required\"];\n @Input() minLength!: DBTextareaProps[\"minLength\"];\n @Input() maxLength!: DBTextareaProps[\"maxLength\"];\n @Input() validMessage!: DBTextareaProps[\"validMessage\"];\n @Input() className!: DBTextareaProps[\"className\"];\n @Input() variant!: DBTextareaProps[\"variant\"];\n @Input() showLabel!: DBTextareaProps[\"showLabel\"];\n @Input() label!: DBTextareaProps[\"label\"];\n @Input() resize!: DBTextareaProps[\"resize\"];\n @Input() disabled!: DBTextareaProps[\"disabled\"];\n @Input() readOnly!: DBTextareaProps[\"readOnly\"];\n @Input() form!: DBTextareaProps[\"form\"];\n @Input() name!: DBTextareaProps[\"name\"];\n @Input() wrap!: DBTextareaProps[\"wrap\"];\n @Input() spellCheck!: DBTextareaProps[\"spellCheck\"];\n @Input() autocomplete!: DBTextareaProps[\"autocomplete\"];\n @Input() placeholder!: DBTextareaProps[\"placeholder\"];\n @Input() rows!: DBTextareaProps[\"rows\"];\n @Input() cols!: DBTextareaProps[\"cols\"];\n @Input() messageIcon!: DBTextareaProps[\"messageIcon\"];\n\n @Output() onInput = new EventEmitter();\n @Output() input = new EventEmitter();\n @Output() onChange = new EventEmitter();\n @Output() change = new EventEmitter();\n @Output() onBlur = new EventEmitter();\n @Output() blur = new EventEmitter();\n @Output() onFocus = new EventEmitter();\n @Output() focus = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBTextareaState[\"_id\"] = undefined;\n _messageId: DBTextareaState[\"_messageId\"] = undefined;\n _validMessageId: DBTextareaState[\"_validMessageId\"] = undefined;\n _invalidMessageId: DBTextareaState[\"_invalidMessageId\"] = undefined;\n _descByIds: DBTextareaState[\"_descByIds\"] = \"\";\n _value: DBTextareaState[\"_value\"] = \"\";\n _voiceOverFallback: DBTextareaState[\"_voiceOverFallback\"] = \"\";\n handleInput(\n event: InputEvent<HTMLTextAreaElement>\n ): ReturnType<DBTextareaState[\"handleInput\"]> {\n if (this.onInput) {\n this.onInput.emit(event);\n }\n if (this.input) {\n this.input.emit(event);\n }\n }\n handleChange(\n event: ChangeEvent<HTMLTextAreaElement>\n ): ReturnType<DBTextareaState[\"handleChange\"]> {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n\n /* For a11y reasons we need to map the correct message with the textarea */\n if (\n !this._ref?.nativeElement?.validity.valid ||\n this.validation === \"invalid\"\n ) {\n this._descByIds = this._invalidMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback =\n this.invalidMessage ??\n this._ref?.nativeElement?.validationMessage ??\n DEFAULT_INVALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.validation === \"valid\" ||\n (this._ref?.nativeElement?.validity.valid &&\n (this.required || this.minLength || this.maxLength))\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = \"\";\n }\n }\n handleBlur(\n event: InteractionEvent<HTMLTextAreaElement>\n ): ReturnType<DBTextareaState[\"handleBlur\"]> {\n if (this.onBlur) {\n this.onBlur.emit(event);\n }\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(\n event: InteractionEvent<HTMLTextAreaElement>\n ): ReturnType<DBTextareaState[\"handleFocus\"]> {\n if (this.onFocus) {\n this.onFocus.emit(event);\n }\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \n\t\twriteValue(value: any) {\n\t\t\t\n\t\t this.value = value;\n\n\t\t if (this._ref?.nativeElement) {\n\t\t\t this.renderer.setProperty(this._ref?.nativeElement, 'value', value);\n\t\t }\n\t\t\t\n\t\t}\n\n\t\tpropagateChange(_: any) {}\n\n\t\tregisterOnChange(onChange: any) {\n\t\t this.propagateChange = onChange;\n\t\t}\n\n\t\tregisterOnTouched(onTouched: any) {\n\t\t //this.onTouched = onTouched;\n\t\t}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled = disabled;\n\t\t}\n\n\t\tngOnInit() {\n if (typeof window !== \"undefined\") {\n const mId = this.id ?? `textarea-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-textarea\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n }\n }\n this._value = this.value;\n }\n }\n}\n","/* Angular cannot handle multiple slots with the same name, we need to use Directives for this. */\nimport { Directive } from '@angular/core';\n@Directive({\n\tselector: '[dbNavigationContent]',\n\tstandalone: true\n})\nexport class NavigationContentDirective {}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\nContentChild, TemplateRef } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBNavigationItemProps, DBNavigationItemState } from \"./model\";\nimport { DBButton } from \"../button/button\";\nimport { cls, delay, getBooleanAsString, getHideProp, uuid } from \"../../utils\";\nimport {\n isEventTargetNavigationItem,\n NavigationItemSafeTriangle,\n} from \"../../utils/navigation\";\nimport { DEFAULT_BACK } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\n\nimport { NavigationContentDirective } from './NavigationContent.directive';\n\n@Component({\n selector: \"db-navigation-item\",\n template: `\n <li\n #_ref\n [attr.id]=\"id\"\n (mouseover)=\"navigationItemSafeTriangle?.enableFollow()\"\n (mouseleave)=\"navigationItemSafeTriangle?.disableFollow()\"\n (mousemove)=\"navigationItemSafeTriangle?.followByMouseEvent($event)\"\n [class]=\"cls('db-navigation-item', className)\"\n [attr.data-width]=\"width\"\n [attr.data-icon]=\"icon\"\n [attr.data-hide-icon]=\"getHideProp(showIcon)\"\n [attr.data-active]=\"active\"\n [attr.aria-disabled]=\"getBooleanAsString(disabled)\"\n >\n <ng-container *ngIf=\"!hasSubNavigation\">\n <ng-container *ngIf=\"text\">{{text}}</ng-container>\n <ng-container *ngIf=\"!(text)\"><ng-content *ngTemplateOutlet=\"dbNavigationContent\"></ng-content></ng-container>\n </ng-container>\n <ng-container *ngIf=\"hasSubNavigation\">\n <button\n class=\"db-navigation-item-expand-button\"\n [attr.aria-haspopup]=\"hasAreaPopup\"\n [attr.aria-expanded]=\"isSubNavigationExpanded\"\n [attr.disabled]=\"disabled\"\n (click)=\"handleClick($event)\"\n >\n <ng-container *ngIf=\"text\">{{text}}</ng-container>\n <ng-container *ngIf=\"!(text)\"><ng-content *ngTemplateOutlet=\"dbNavigationContent\"></ng-content></ng-container>\n </button>\n <menu\n class=\"db-sub-navigation\"\n [attr.data-auto-close]=\"autoClose\"\n [attr.id]=\"subNavigationId\"\n (click)=\"handleNavigationItemClick($event)\"\n >\n <ng-container *ngIf=\"hasAreaPopup\">\n <div class=\"db-mobile-navigation-back\">\n <db-button\n icon=\"arrow_left\"\n variant=\"ghost\"\n [id]=\"backButtonId\"\n (click)=\"handleBackClick($event)\"\n >\n {{backButtonText ?? DEFAULT_BACK}}\n </db-button>\n </div>\n </ng-container>\n <ng-content select=\"[sub-navigation]\"></ng-content>\n </menu>\n </ng-container>\n </li>\n `,\n standalone: true,\n imports: [CommonModule, DBButton],\n})\nexport class DBNavigationItem {\n\t@ContentChild(NavigationContentDirective, { read: TemplateRef }) dbNavigationContent: any;\n cls = cls;\n getBooleanAsString = getBooleanAsString;\n getHideProp = getHideProp;\n DEFAULT_BACK = DEFAULT_BACK;\n\n @Input()\n subNavigationExpanded!: DBNavigationItemProps[\"subNavigationExpanded\"];\n @Input() id!: DBNavigationItemProps[\"id\"];\n @Input() className!: DBNavigationItemProps[\"className\"];\n @Input() width!: DBNavigationItemProps[\"width\"];\n @Input() icon!: DBNavigationItemProps[\"icon\"];\n @Input() showIcon!: DBNavigationItemProps[\"showIcon\"];\n @Input() active!: DBNavigationItemProps[\"active\"];\n @Input() disabled!: DBNavigationItemProps[\"disabled\"];\n @Input() text!: DBNavigationItemProps[\"text\"];\n @Input() backButtonId!: DBNavigationItemProps[\"backButtonId\"];\n @Input() backButtonText!: DBNavigationItemProps[\"backButtonText\"];\n\n @Output() onClick = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n initialized: DBNavigationItemState[\"initialized\"] = false;\n hasAreaPopup: DBNavigationItemState[\"hasAreaPopup\"] = false;\n hasSubNavigation: DBNavigationItemState[\"hasSubNavigation\"] = true;\n isSubNavigationExpanded: DBNavigationItemState[\"isSubNavigationExpanded\"] =\n false;\n autoClose: DBNavigationItemState[\"autoClose\"] = false;\n subNavigationId: DBNavigationItemState[\"subNavigationId\"] =\n \"sub-navigation-\" + uuid();\n navigationItemSafeTriangle: DBNavigationItemState[\"navigationItemSafeTriangle\"] =\n undefined;\n handleNavigationItemClick(\n event: unknown\n ): ReturnType<DBNavigationItemState[\"handleNavigationItemClick\"]> {\n if (isEventTargetNavigationItem(event)) {\n this.autoClose = true;\n delay(() => {\n this.autoClose = false;\n }, 300);\n }\n }\n handleClick(\n event: ClickEvent<HTMLButtonElement>\n ): ReturnType<DBNavigationItemState[\"handleClick\"]> {\n if (this.onClick) {\n this.onClick.emit(event);\n }\n if (this.hasAreaPopup) {\n this.isSubNavigationExpanded = true;\n }\n }\n handleBackClick(\n event: ClickEvent<HTMLButtonElement>\n ): ReturnType<DBNavigationItemState[\"handleBackClick\"]> {\n event.stopPropagation();\n this.isSubNavigationExpanded = false;\n }\n updateSubNavigationState(): ReturnType<\n DBNavigationItemState[\"updateSubNavigationState\"]\n > {\n if (this.initialized && document && this.subNavigationId) {\n const subNavigationSlot = document?.getElementById(\n this.subNavigationId\n ) as HTMLMenuElement;\n if (subNavigationSlot) {\n if (subNavigationSlot.children?.length > 0) {\n this.hasAreaPopup = true;\n if (!this.navigationItemSafeTriangle) {\n this.navigationItemSafeTriangle = new NavigationItemSafeTriangle(\n this._ref?.nativeElement,\n subNavigationSlot\n );\n }\n } else {\n this.hasSubNavigation = false;\n }\n }\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this.initialized = true;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-navigation-item\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this.subNavigationExpanded !== undefined) {\n this.isSubNavigationExpanded = !!this.subNavigationExpanded;\n }\n this.updateSubNavigationState();\n }\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBAccordionItemProps, DBAccordionItemState } from \"./model\";\nimport { cls, getBooleanAsString, uuid } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\n@Component({\n selector: \"db-accordion-item\",\n template: `\n <li [attr.id]=\"_id\" [class]=\"cls('db-accordion-item', className)\">\n <details\n [attr.aria-disabled]=\"getBooleanAsString(disabled)\"\n #_ref\n [open]=\"_open\"\n >\n <summary (click)=\"toggle($event)\">\n <ng-container *ngIf=\"headlinePlain\">{{headlinePlain}}</ng-container>\n <ng-container *ngIf=\"!headlinePlain\">\n <ng-content select=\"[headline]\"></ng-content>\n </ng-container>\n </summary>\n <div>\n <ng-container *ngIf=\"text\">{{text}}</ng-container>\n <ng-container *ngIf=\"!(text)\"><ng-content></ng-content></ng-container>\n </div>\n </details>\n </li>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBAccordionItem {\n cls = cls;\n getBooleanAsString = getBooleanAsString;\n\n @Input() id!: DBAccordionItemProps[\"id\"];\n @Input() defaultOpen!: DBAccordionItemProps[\"defaultOpen\"];\n @Input() className!: DBAccordionItemProps[\"className\"];\n @Input() disabled!: DBAccordionItemProps[\"disabled\"];\n @Input() headlinePlain!: DBAccordionItemProps[\"headlinePlain\"];\n @Input() text!: DBAccordionItemProps[\"text\"];\n\n @Output() onToggle = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBAccordionItemState[\"_id\"] = DEFAULT_ID;\n _open: DBAccordionItemState[\"_open\"] = false;\n toggle(\n event: ClickEvent<HTMLElement>\n ): ReturnType<DBAccordionItemState[\"toggle\"]> {\n // We need this for react https://github.com/facebook/react/issues/15486#issuecomment-488028431\n event?.preventDefault();\n const newStateOpen = !this._open;\n if (this.onToggle) {\n this.onToggle.emit(newStateOpen);\n }\n this._open = newStateOpen;\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this._id = this.id || \"accordion-item-\" + uuid();\n if (this.defaultOpen) {\n this._open = this.defaultOpen;\n }\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-accordion-item\");\n }\n}\n","import {\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBAccordionItemDefaultProps } from \"../accordion-item/model\";\nimport { DBAccordionProps, DBAccordionState } from \"./model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBAccordionItem } from \"../accordion-item/accordion-item\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\n@Component({\n selector: \"db-accordion\",\n template: `\n <ul\n #_ref\n [attr.id]=\"_id\"\n [class]=\"cls('db-accordion', className)\"\n [attr.data-variant]=\"variant\"\n >\n <ng-container *ngIf=\"!items\"><ng-content></ng-content></ng-container>\n <ng-container *ngIf=\"items\">\n <ng-container\n *ngFor=\"let item of convertItems(items); index as index; trackBy: trackByItem0\"\n >\n <db-accordion-item\n [headlinePlain]=\"item.headlinePlain\"\n [disabled]=\"item.disabled\"\n [text]=\"item.text\"\n ></db-accordion-item>\n </ng-container>\n </ng-container>\n </ul>\n `,\n standalone: true,\n imports: [CommonModule, DBAccordionItem],\n})\nexport class DBAccordion {\n cls = cls;\n\n @Input() id!: DBAccordionProps[\"id\"];\n @Input() name!: DBAccordionProps[\"name\"];\n @Input() behavior!: DBAccordionProps[\"behavior\"];\n @Input() initOpenIndex!: DBAccordionProps[\"initOpenIndex\"];\n @Input() className!: DBAccordionProps[\"className\"];\n @Input() variant!: DBAccordionProps[\"variant\"];\n @Input() items!: DBAccordionProps[\"items\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBAccordionState[\"_id\"] = DEFAULT_ID;\n _name: DBAccordionState[\"_name\"] = \"\";\n initialized: DBAccordionState[\"initialized\"] = false;\n _initOpenIndexDone: DBAccordionState[\"_initOpenIndexDone\"] = false;\n convertItems(\n items: unknown[] | string | undefined\n ): ReturnType<DBAccordionState[\"convertItems\"]> {\n try {\n if (typeof items === \"string\") {\n return JSON.parse(items);\n }\n return items as DBAccordionItemDefaultProps[];\n } catch (error) {\n console.error(error);\n }\n return [];\n }\n trackByItem0(index, item) {\n return `accordion-item-${index}`;\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this._id = this.id || \"accordion-\" + uuid();\n this.initialized = true;\n this._initOpenIndexDone = true;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-accordion\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n // If we have a single behavior we first check for\n // props.name otherwise for state_id\n if (this.initialized) {\n if (this.behavior === \"single\") {\n if (this.name) {\n if (this._name !== this.name) {\n this._name = this.name;\n }\n } else {\n if (this._name !== this._id && this._id) {\n this._name = this._id;\n }\n }\n } else {\n this._name = \"\";\n }\n }\n if (this._ref?.nativeElement) {\n const childDetails =\n this._ref?.nativeElement.getElementsByTagName(\"details\");\n if (childDetails) {\n for (const details of Array.from<HTMLDetailsElement>(childDetails)) {\n if (this._name === \"\") {\n details.removeAttribute(\"name\");\n } else {\n details.name = this._name;\n }\n }\n }\n }\n if (this._ref?.nativeElement && this._initOpenIndexDone) {\n if (this.initOpenIndex && this.initOpenIndex?.length > 0) {\n const childDetails =\n this._ref?.nativeElement.getElementsByTagName(\"details\");\n if (childDetails) {\n const initOpenIndex =\n this.behavior === \"single\" && this.initOpenIndex.length > 1\n ? [this.initOpenIndex[0]] // use only one index for behavior=single\n : this.initOpenIndex;\n Array.from<HTMLDetailsElement>(childDetails).forEach(\n (details: HTMLDetailsElement, index: number) => {\n if (initOpenIndex.includes(index)) {\n details.open = true;\n }\n }\n );\n }\n }\n this._initOpenIndexDone = false;\n }\n }\n }\n}\n","import { Component, ViewChild, ElementRef, Input } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBNavigationProps, DBNavigationState } from \"./model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\n@Component({\n selector: \"db-navigation\",\n template: `\n <nav\n #_ref\n [attr.id]=\"_id\"\n [attr.aria-labelledby]=\"labelledBy\"\n [class]=\"cls('db-navigation', className)\"\n >\n <menu><ng-content></ng-content></menu>\n </nav>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBNavigation {\n cls = cls;\n\n @Input() id!: DBNavigationProps[\"id\"];\n @Input() labelledBy!: DBNavigationProps[\"labelledBy\"];\n @Input() className!: DBNavigationProps[\"className\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBNavigationState[\"_id\"] = DEFAULT_ID;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this._id = this.id || \"navigation-\" + uuid();\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-navigation\");\n }\n}\n","import {\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBPopoverProps, DBPopoverState } from \"./model\";\nimport { cls, getBooleanAsString, handleDataOutside } from \"../../utils\";\n\n@Component({\n selector: \"db-popover\",\n template: `\n <div\n #_ref\n [attr.id]=\"id\"\n [class]=\"cls('db-popover', className)\"\n (focus)=\"handleAutoPlacement()\"\n (blur)=\"handleLeave($event)\"\n (mouseenter)=\"handleAutoPlacement()\"\n (mouseleave)=\"handleLeave($event)\"\n >\n <ng-content select=\"[trigger]\"></ng-content>\n <article\n class=\"db-popover-content\"\n [attr.data-spacing]=\"spacing\"\n [attr.data-gap]=\"getBooleanAsString(gap)\"\n [attr.data-animation]=\"getBooleanAsString(animation ?? true)\"\n [attr.data-open]=\"open\"\n [attr.data-delay]=\"delay\"\n [attr.data-width]=\"width\"\n [attr.data-placement]=\"placement\"\n >\n <ng-content></ng-content>\n </article>\n </div>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBPopover {\n cls = cls;\n getBooleanAsString = getBooleanAsString;\n\n @Input() id!: DBPopoverProps[\"id\"];\n @Input() className!: DBPopoverProps[\"className\"];\n @Input() spacing!: DBPopoverProps[\"spacing\"];\n @Input() gap!: DBPopoverProps[\"gap\"];\n @Input() animation!: DBPopoverProps[\"animation\"];\n @Input() open!: DBPopoverProps[\"open\"];\n @Input() delay!: DBPopoverProps[\"delay\"];\n @Input() width!: DBPopoverProps[\"width\"];\n @Input() placement!: DBPopoverProps[\"placement\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n initialized: DBPopoverState[\"initialized\"] = false;\n isExpanded: DBPopoverState[\"isExpanded\"] = false;\n handleAutoPlacement(): ReturnType<DBPopoverState[\"handleAutoPlacement\"]> {\n this.isExpanded = true;\n if (!this._ref?.nativeElement) return;\n const article = this._ref.nativeElement.querySelector(\"article\");\n if (!article) return;\n handleDataOutside(article);\n }\n handleLeave(event: any): ReturnType<DBPopoverState[\"handleLeave\"]> {\n const element = event.target as HTMLElement;\n const parent = element.parentNode;\n if (\n !parent ||\n (element.parentNode.querySelector(\":focus\") !== element &&\n element.parentNode.querySelector(\":focus-within\") !== element &&\n element.parentNode.querySelector(\":hover\") !== element)\n ) {\n this.isExpanded = false;\n }\n }\n getTrigger(): ReturnType<DBPopoverState[\"getTrigger\"]> {\n if (this._ref?.nativeElement) {\n const children: Element[] = Array.from(this._ref.nativeElement.children);\n if (children.length >= 2) {\n const firstChild = children[0];\n if (firstChild.tagName.includes(\"-\")) {\n // this is a workaround for custom angular components\n return firstChild.children?.length > 0\n ? firstChild.children[0]\n : null;\n } else {\n return firstChild;\n }\n }\n }\n return null;\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this.initialized = true;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-popover\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this._ref?.nativeElement && this.initialized) {\n const child = this.getTrigger();\n if (child) {\n child.ariaHasPopup = \"true\";\n }\n this.initialized = false;\n }\n if (this._ref?.nativeElement) {\n const child = this.getTrigger();\n if (child) {\n child.ariaExpanded = Boolean(this.isExpanded).toString();\n }\n }\n }\n }\n}\n","import {\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBTooltipProps, DBTooltipState } from \"./model\";\nimport { cls, getBooleanAsString, handleDataOutside, uuid } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\n@Component({\n selector: \"db-tooltip\",\n template: `\n <i\n role=\"tooltip\"\n aria-hidden=\"true\"\n data-gap=\"true\"\n #_ref\n [class]=\"cls('db-tooltip', className)\"\n [attr.id]=\"_id\"\n [attr.data-emphasis]=\"emphasis\"\n [attr.data-animation]=\"getBooleanAsString(animation ?? true)\"\n [attr.data-delay]=\"delay\"\n [attr.data-width]=\"width\"\n [attr.data-show-arrow]=\"getBooleanAsString(showArrow ?? true)\"\n [attr.data-placement]=\"placement\"\n (click)=\"handleClick($event)\"\n >\n <ng-content></ng-content>\n </i>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBTooltip {\n cls = cls;\n getBooleanAsString = getBooleanAsString;\n\n @Input() id!: DBTooltipProps[\"id\"];\n @Input() className!: DBTooltipProps[\"className\"];\n @Input() emphasis!: DBTooltipProps[\"emphasis\"];\n @Input() animation!: DBTooltipProps[\"animation\"];\n @Input() delay!: DBTooltipProps[\"delay\"];\n @Input() width!: DBTooltipProps[\"width\"];\n @Input() showArrow!: DBTooltipProps[\"showArrow\"];\n @Input() placement!: DBTooltipProps[\"placement\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBTooltipState[\"_id\"] = DEFAULT_ID;\n initialized: DBTooltipState[\"initialized\"] = false;\n handleClick(\n event: ClickEvent<HTMLElement>\n ): ReturnType<DBTooltipState[\"handleClick\"]> {\n event.stopPropagation();\n }\n handleAutoPlacement(): ReturnType<DBTooltipState[\"handleAutoPlacement\"]> {\n if (this._ref?.nativeElement) handleDataOutside(this._ref.nativeElement);\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this._id = this.id || \"tooltip-\" + uuid();\n this.initialized = true;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-tooltip\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this._ref?.nativeElement && this.initialized && this._id) {\n let parent = this._ref.nativeElement.parentElement;\n if (parent && parent.localName.includes(\"tooltip\")) {\n // Angular workaround\n parent = parent.parentElement;\n }\n if (parent) {\n [\"mouseenter\", \"focus\"].forEach((event) => {\n parent.addEventListener(event, () => this.handleAutoPlacement());\n });\n parent.setAttribute(\"data-has-tooltip\", \"true\");\n parent.setAttribute(\"aria-describedby\", this._id);\n }\n this.initialized = false;\n }\n }\n }\n}\n","import { Component, ViewChild, ElementRef, Input } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBTabListProps, DBTabListState } from \"./model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\n@Component({\n selector: \"db-tab-list\",\n template: `\n <div #_ref [attr.id]=\"_id\" [class]=\"cls('db-tab-list', className)\">\n <ul role=\"tablist\">\n <ng-content></ng-content>\n </ul>\n </div>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBTabList {\n cls = cls;\n\n @Input() id!: DBTabListProps[\"id\"];\n @Input() className!: DBTabListProps[\"className\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBTabListState[\"_id\"] = DEFAULT_ID;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this._id = this.id || \"tab-list-\" + uuid();\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-tab-list\");\n }\n}\n","import { Component, ViewChild, ElementRef, Input } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBTabPanelProps, DBTabPanelState } from \"./model\";\nimport { cls } from \"../../utils\";\n\n@Component({\n selector: \"db-tab-panel\",\n template: `\n <section\n role=\"tabpanel\"\n #_ref\n [class]=\"cls('db-tab-panel', className)\"\n [attr.id]=\"id\"\n [attr.aria-labelledby]=\"labelledBy\"\n >\n <ng-container *ngIf=\"content\">{{content}}</ng-container>\n <ng-content></ng-content>\n </section>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBTabPanel {\n cls = cls;\n\n @Input() className!: DBTabPanelProps[\"className\"];\n @Input() id!: DBTabPanelProps[\"id\"];\n @Input() labelledBy!: DBTabPanelProps[\"labelledBy\"];\n @Input() content!: DBTabPanelProps[\"content\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-tab-panel\");\n }\n}\n","import {\n Output,\n EventEmitter,\n Component,\n ViewChild,\n ElementRef,\n Input,\n SimpleChanges,\n} from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBSimpleTabProps, DBTabsProps, DBTabsState } from \"./model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBTabList } from \"../tab-list/tab-list\";\nimport { DBTabItem } from \"../tab-item/tab-item\";\nimport { DBTabPanel } from \"../tab-panel/tab-panel\";\n\n@Component({\n selector: \"db-tabs\",\n template: `\n <div\n #_ref\n [attr.id]=\"_id\"\n [class]=\"cls('db-tabs', className)\"\n [attr.data-orientation]=\"orientation\"\n [attr.data-scroll-behavior]=\"behavior\"\n [attr.data-alignment]=\"alignment ?? 'start'\"\n [attr.data-width]=\"width ?? 'auto'\"\n (input)=\"handleChange($event)\"\n >\n <ng-container *ngIf=\"showScrollLeft\">\n <db-button\n class=\"tabs-scroll-left\"\n variant=\"ghost\"\n icon=\"chevron_left\"\n type=\"button\"\n [noText]=\"true\"\n (click)=\"scroll(true)\"\n >\n Scroll left\n </db-button>\n </ng-container>\n <ng-container *ngIf=\"tabs\">\n <db-tab-list>\n <ng-container\n *ngFor=\"let tab of convertTabs(tabs); index as index; trackBy: trackByTab0\"\n >\n <db-tab-item\n [active]=\"tab.active\"\n [label]=\"tab.label\"\n [iconAfter]=\"tab.iconAfter\"\n [icon]=\"tab.icon\"\n [noText]=\"tab.noText\"\n ></db-tab-item>\n </ng-container>\n </db-tab-list>\n <ng-container\n *ngFor=\"let tab of convertTabs(tabs); index as index; trackBy: trackByTab1\"\n >\n <db-tab-panel [content]=\"tab.content\">{{tab.children}}</db-tab-panel>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"showScrollRight\">\n <db-button\n class=\"tabs-scroll-right\"\n variant=\"ghost\"\n icon=\"chevron_right\"\n type=\"button\"\n [noText]=\"true\"\n (click)=\"scroll()\"\n >\n Scroll right\n </db-button>\n </ng-container>\n <ng-content></ng-content>\n </div>\n `,\n standalone: true,\n imports: [CommonModule, DBButton, DBTabList, DBTabItem, DBTabPanel],\n})\nexport class DBTabs {\n cls = cls;\n\n @Input() id!: DBTabsProps[\"id\"];\n @Input() name!: DBTabsProps[\"name\"];\n @Input() arrowScrollDistance!: DBTabsProps[\"arrowScrollDistance\"];\n @Input() orientation!: DBTabsProps[\"orientation\"];\n @Input() behavior!: DBTabsProps[\"behavior\"];\n @Input() initialSelectedMode!: DBTabsProps[\"initialSelectedMode\"];\n @Input() initialSelectedIndex!: DBTabsProps[\"initialSelectedIndex\"];\n @Input() className!: DBTabsProps[\"className\"];\n @Input() alignment!: DBTabsProps[\"alignment\"];\n @Input() width!: DBTabsProps[\"width\"];\n @Input() tabs!: DBTabsProps[\"tabs\"];\n\n @Output() onIndexChange = new EventEmitter();\n @Output() onTabSelect = new EventEmitter();\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n _id: DBTabsState[\"_id\"] = \"tabs-\" + uuid();\n _name: DBTabsState[\"_name\"] = \"\";\n initialized: DBTabsState[\"initialized\"] = false;\n showScrollLeft: DBTabsState[\"showScrollLeft\"] = false;\n showScrollRight: DBTabsState[\"showScrollRight\"] = false;\n scrollContainer: DBTabsState[\"scrollContainer\"] = null;\n convertTabs(\n tabs: unknown[] | string | undefined\n ): ReturnType<DBTabsState[\"convertTabs\"]> {\n try {\n if (typeof tabs === \"string\") {\n return JSON.parse(tabs);\n }\n return tabs as DBSimpleTabProps[];\n } catch (error) {\n console.error(error);\n }\n return [];\n }\n evaluateScrollButtons(\n tList: Element\n ): ReturnType<DBTabsState[\"evaluateScrollButtons\"]> {\n const needsScroll = tList.scrollWidth > tList.clientWidth;\n this.showScrollLeft = needsScroll && tList.scrollLeft > 1;\n this.showScrollRight =\n needsScroll && tList.scrollLeft < tList.scrollWidth - tList.clientWidth;\n }\n scroll(left?: boolean): ReturnType<DBTabsState[\"scroll\"]> {\n let step = this.arrowScrollDistance || 100;\n if (left) {\n step *= -1;\n }\n this.scrollContainer?.scrollBy({\n top: 0,\n left: step,\n behavior: \"smooth\",\n });\n }\n initTabList(): ReturnType<DBTabsState[\"initTabList\"]> {\n if (this._ref?.nativeElement) {\n const tabList = this._ref.nativeElement.querySelector(\".db-tab-list\");\n if (tabList) {\n const container: HTMLElement | null =\n tabList.querySelector('[role=\"tablist\"]');\n if (container) {\n container.setAttribute(\n \"aria-orientation\",\n this.orientation || \"horizontal\"\n );\n if (this.behavior === \"arrows\") {\n this.scrollContainer = container;\n this.evaluateScrollButtons(container);\n container.addEventListener(\"scroll\", () => {\n this.evaluateScrollButtons(container);\n });\n }\n }\n }\n }\n }\n initTabs(init?: boolean): ReturnType<DBTabsState[\"initTabs\"]> {\n if (this._ref?.nativeElement) {\n const tabItems = Array.from<Element>(\n this._ref?.nativeElement.getElementsByClassName(\"db-tab-item\")\n );\n for (const tabItem of tabItems) {\n const index: number = tabItems.indexOf(tabItem);\n const label = tabItem.querySelector(\"label\");\n const input = tabItem.querySelector(\"input\");\n if (input && label) {\n if (!input.id) {\n const tabId = `${this._name}-tab-${index}`;\n label.setAttribute(\"for\", tabId);\n input.setAttribute(\n \"aria-controls\",\n `${this._name}-tab-panel-${index}`\n );\n input.id = tabId;\n input.setAttribute(\"name\", this._name);\n }\n if (init) {\n // Auto select\n const autoSelect =\n !this.initialSelectedMode || this.initialSelectedMode === \"auto\";\n const shouldAutoSelect =\n (this.initialSelectedIndex == null && index === 0) ||\n this.initialSelectedIndex === index;\n if (autoSelect && shouldAutoSelect) {\n input.click();\n }\n }\n }\n }\n const tabPanels = Array.from<Element>(\n this._ref?.nativeElement.querySelectorAll(\n \":is(:scope > .db-tab-panel, :scope > db-tab-panel > .db-tab-panel)\"\n )\n );\n for (const panel of tabPanels) {\n if (panel.id) continue;\n const index: number = tabPanels.indexOf(panel);\n panel.id = `${this._name}-tab-panel-${index}`;\n panel.setAttribute(\"aria-labelledby\", `${this._name}-tab-${index}`);\n }\n }\n }\n handleChange(event: any): ReturnType<DBTabsState[\"handleChange\"]> {\n if (this.onIndexChange && event.target) {\n const list = event.target.closest(\"ul\");\n const listItem =\n // db-tab-item for angular and stencil wrapping elements\n event.target.closest(\"db-tab-item\") ?? event.target.closest(\"li\");\n if (list !== null && listItem !== null) {\n this.onIndexChange.emit(Array.from(list.childNodes).indexOf(listItem));\n }\n }\n if (this.onTabSelect) {\n this.onTabSelect.emit(event);\n }\n }\n trackByTab0(index, tab) {\n return this.name + \"tab-item\" + index;\n }\n trackByTab1(index, tab) {\n return this.name + \"tab-panel\" + index;\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngOnInit() {\n if (typeof window !== \"undefined\") {\n this._id = this.id || this._id;\n this._name = `tabs-${this.name || uuid()}`;\n this.initialized = true;\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-tabs\");\n }\n\n ngAfterContentChecked(changes: SimpleChanges) {\n if (typeof window !== \"undefined\") {\n if (this._ref?.nativeElement && this.initialized) {\n this.initTabList();\n this.initTabs(true);\n const tabList = this._ref.nativeElement.querySelector(\".db-tab-list\");\n if (tabList) {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.removedNodes.length || mutation.addedNodes.length) {\n this.initTabList();\n this.initTabs();\n }\n });\n });\n observer.observe(tabList, {\n childList: true,\n subtree: true,\n });\n }\n this.initialized = false;\n }\n }\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { IconTypes } from '@db-ux/core-foundations';\nexport type GlobalProps = {\n /**\n * default slot\n */\n\n children?: any;\n\n /**\n * React specific for adding className to the component.\n */\n className?: string;\n\n /**\n * Workaround for TypeScript using class for all components.\n */\n class?: string | any;\n\n /**\n * [`aria-describedby`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-describedby) is used to link to the elements that describe the element with the set attribute.\n */\n describedbyid?: string;\n\n /**\n * [ID](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id) of the component, generated automatically for some components as a fallback if unset.\n */\n id?: string;\n\n /**\n * Before using please check for the [accessibility concerns](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus#accessibility_concerns)\n */\n autofocus?: boolean;\n};\nexport type GlobalState = {\n _id?: string;\n};\nexport const SemanticList = ['adaptive', 'neutral', 'critical', 'informational', 'warning', 'successful'] as const;\nexport type SemanticType = (typeof SemanticList)[number];\nexport type SemanticProps = {\n /**\n * The semantic defines the default variants for most components.\n */\n semantic?: SemanticType;\n};\nexport type IconProps = {\n /**\n * Define an icon by its identifier (like e.g. _user_, compare to [Icons](https://design-system.deutschebahn.com/core-web/review/main/foundations/icons/overview)) to get displayed in front of the elements content.\n */\n icon?: IconTypes;\n};\nexport type ShowIconProps = {\n /**\n * Enables or disables the visibility of the icon. The default value depends on the component.\n * For many components this property is optional to reflect Figma properties.\n */\n showIcon?: boolean;\n};\nexport type IconAfterProps = {\n /**\n * Define an icon by its identifier (like e.g. _user_, compare to [Icons](https://design-system.deutschebahn.com/core-web/review/main/foundations/icons/overview)) to get displayed in front of the elements content.\n */\n iconAfter?: IconTypes;\n};\nexport const SpacingList = ['medium', 'small', 'large', 'none'] as const;\nexport type SpacingType = (typeof SpacingList)[number];\nexport type SpacingProps = {\n /**\n * The spacing attribute changes the padding of the component.\n */\n spacing?: SpacingType | string;\n};\nexport const MarginList = ['medium', 'small', 'large', 'none'] as const;\nexport type MarginType = (typeof MarginList)[number];\nexport type MarginProps = {\n /**\n * The margin attribute changes the margin of the component.\n */\n margin?: MarginType;\n};\nexport const PlacementList = ['left', 'right', 'top', 'bottom', 'left-start', 'left-end', 'right-start', 'right-end', 'top-start', 'top-end', 'bottom-start', 'bottom-end'] as const;\nexport type PlacementType = (typeof PlacementList)[number];\nexport type PlacementProps = {\n /**\n * The `placement` attributes values change the position to absolute and adds a transform based on the placement.\n */\n placement?: PlacementType;\n};\nexport type NavigationBehaviorState = {\n handleNavigationItemClick: (event: unknown) => void;\n};\nexport type GapProps = {\n /**\n * If the absolute element should have a gap between the parent element.\n */\n gap?: boolean;\n};\nexport const GapSpacingList = ['none', '3x-large', '2x-large', 'x-large', 'large', 'medium', 'small', 'x-small', '2x-small', '3x-small'] as const;\nexport type GapSpacingType = (typeof GapSpacingList)[number];\nexport type GapSpacingProps = {\n /**\n * Set the gap/spacing between elements\n */\n gap?: GapSpacingType;\n};\nexport type OverflowProps = {\n /**\n * The overflow attribute sets a max-width and longer text will be dotted.\n */\n overflow?: boolean;\n};\nexport const OrientationList = ['horizontal', 'vertical'] as const;\nexport type OrientationType = (typeof OrientationList)[number];\nexport type OrientationProps = {\n /**\n * Change the orientation. Defaults to horizontal.\n */\n orientation?: OrientationType;\n};\nexport const WidthList = ['full', 'auto'] as const;\nexport type WidthType = (typeof WidthList)[number];\nexport type WidthProps = {\n /**\n * Width of the component. Auto width based on children size, full width based on parent elements width.\n */\n width?: WidthType | string;\n};\nexport const MaxWidthList = ['full', 'medium', 'large', 'small'] as const;\nexport type MaxWidthType = (typeof MaxWidthList)[number];\nexport type ContainerWidthProps = {\n /**\n * Set max width for the component\n */\n width?: MaxWidthType;\n};\nexport const PopoverDelayList = ['none', 'slow', 'fast'] as const;\nexport type PopoverDelayType = (typeof PopoverDelayList)[number];\nexport const PopoverWidthList = ['auto', 'fixed'] as const;\nexport type PopoverWidthType = (typeof PopoverWidthList)[number];\nexport type PopoverProps = {\n /**\n * Add a delay before showing the tooltip\n */\n delay?: PopoverDelayType;\n /**\n * Disable animation\n */\n animation?: boolean;\n /**\n * Use fixed with for default max-width\n */\n width?: PopoverWidthType;\n};\nexport type PopoverState = {\n handleAutoPlacement: () => void;\n};\nexport type ContentSlotProps = {\n /**\n * Default slot which is used to pass in additional content.\n */\n content?: any;\n};\nexport const SizeList = ['small', 'medium'] as const;\nexport type SizeType = (typeof SizeList)[number];\nexport type SizeProps = {\n /**\n * The size attribute changes the font-size and other related sizes of the component.\n */\n size?: SizeType;\n};\nexport const EmphasisList = ['weak', 'strong'] as const;\nexport type EmphasisType = (typeof EmphasisList)[number];\nexport type EmphasisProps = {\n /**\n * The emphasis attribute divides in between a weak or strong importance.\n */\n emphasis?: EmphasisType;\n};\nexport const TagEmphasisList = [...EmphasisList, 'origin'] as const;\nexport type TagEmphasisType = (typeof TagEmphasisList)[number];\nexport type TagEmphasisProps = {\n /**\n * The emphasis attribute divides in between a weak, strong or origin appearance.\n */\n emphasis?: TagEmphasisType;\n};\nexport const ValidationList = ['invalid', 'valid', 'no-validation'] as const;\nexport type ValidationType = (typeof ValidationList)[number];\nexport type FormProps = {\n /**\n * Marks an input element as invalid (red) / valid (green) / no-validation (grey). Overwrites the :user-valid selector.\n */\n validation?: ValidationType;\n /**\n * The disabled attribute can be set to keep a user from clicking on the form element.\n */\n disabled?: boolean;\n /**\n * \tAssociates the control with a form element\n */\n form?: string;\n\n /**\n * The label attribute specifies the caption of the form element.\n */\n label?: string;\n\n /**\n * The name attribute gives the name of the form control, as used in form submission and in the form element's elements object.\n */\n name?: string;\n\n /**\n * When the required attribute specified, the user will be required to fill the form element before submitting the form.\n */\n required?: boolean;\n /**\n * Enables/disables the visibility of the label\n */\n showLabel?: boolean;\n /**\n * The value property is to receive results from the native form element.\n */\n value?: any;\n};\nexport type FormTextProps = {\n /**\n * Maximum length (number of characters) of value\n */\n maxLength?: number;\n /**\n * Minimum length (number of characters) of value\n */\n minLength?: number;\n /**\n * The disabled attribute can be set to keep a user from edit on the form element\n */\n readOnly?: boolean;\n};\nexport type FormSizeProps = {\n /**\n * Size of the control\n */\n size?: number;\n};\nexport type FormCheckProps = {\n /**\n * Define the radio or checkbox elements checked state\n */\n checked?: boolean;\n};\nexport const LabelVariantList = ['above', 'floating'] as const;\nexport type LabelVariantType = (typeof LabelVariantList)[number];\nexport const AutoCompleteList = ['off', 'on', 'name', 'honorific-prefix', 'given-name', 'additional-name', 'family-name', 'honorific-suffix', 'nickname', 'email', 'username', 'new-password', 'current-password', 'one-time-code', 'organization-title', 'organization', 'street-address', 'shipping', 'billing', 'address-line1', 'address-line2', 'address-line3', 'address-level4', 'address-level3', 'address-level2', 'address-level1', 'country', 'country-name', 'postal-code', 'cc-name', 'cc-given-name', 'cc-additional-name', 'cc-family-name', 'cc-number', 'cc-exp', 'cc-exp-month', 'cc-exp-year', 'cc-csc', 'cc-type', 'transaction-currency', 'transaction-amount', 'language', 'bday', 'bday-day', 'bday-month', 'bday-year', 'sex', 'tel', 'tel-country-code', 'tel-national', 'tel-area-code', 'tel-local', 'tel-extension', 'impp', 'url', 'photo', 'webauthn'] as const;\nexport type AutoCompleteType = (typeof AutoCompleteList)[number];\nexport type FormMessageProps = {\n /**\n * Change the variant of the label to float or hidden\n */\n variant?: LabelVariantType;\n /**\n * Text that appears in the form control when it has no value set\n */\n placeholder?: string;\n /**\n * Optional helper message for form components\n */\n message?: string;\n\n /**\n * Helper message for valid form components\n */\n validMessage?: string;\n\n /**\n * Helper message for invalid form components\n */\n invalidMessage?: string;\n\n /**\n * Set/overwrite icon for helper message for form components\n */\n messageIcon?: IconTypes;\n\n /**\n * See https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\n */\n autocomplete?: string | AutoCompleteType;\n\n /**\n * Enables or disables the visibility of the message.\n */\n showMessage?: boolean;\n};\nexport type FormState = {\n _messageId?: string;\n _validMessageId?: string;\n _invalidMessageId?: string;\n _descByIds?: string;\n _value?: string;\n\n /**\n * https://www.davidmacd.com/blog/test-aria-describedby-errormessage-aria-live.html\n * Currently VoiceOver isn't supporting changes from aria-describedby.\n * This is an internal Fallback\n */\n _voiceOverFallback?: string;\n};\nexport type InitializedState = {\n initialized: boolean;\n};\nexport const LinkCurrentList = ['time', 'true', 'false', 'date', 'page', 'step', 'location'] as const;\nexport type LinkCurrentType = (typeof LinkCurrentList)[number];\nexport const LinkTargetList = ['_self', '_blank', '_parent', '_top'] as const;\nexport type LinkTargetType = (typeof LinkTargetList)[number];\nexport const LinkReferrerPolicyList = ['no-referrer', 'no-referrer-when-downgrade', 'origin', 'origin-when-cross-origin', 'same-origin', 'strict-origin', 'strict-origin-when-cross-origin', 'unsafe-url'] as const;\nexport type LinkReferrerPolicyType = (typeof LinkReferrerPolicyList)[number];\nexport type LinkProps = {\n /**\n * Sets aria attribute based on [`aria-current`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current).\n */\n current?: boolean | LinkCurrentType;\n /**\n * Disables the link.\n */\n disabled?: boolean;\n /**\n * The [URL that the hyperlink points to](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#href).\n */\n href?: string;\n /**\n * Hints for the human [language of the linked page or document](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#hreflang).\n */\n hreflang?: string;\n /**\n * Sets aria attribute based on [`aria-label`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label).\n */\n label?: string;\n /**\n * Where to open the linked URL, as the name for a [browsing context](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target).\n */\n target?: LinkTargetType;\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n rel?: string;\n /**\n * Sets aria role based on [`aria-role`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles).\n */\n role?: string;\n /**\n * How much of the referrer to send when following the link.\n */\n referrerpolicy?: LinkReferrerPolicyType;\n /**\n * Sets aria role based on [`aria-selected`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected).\n */\n selected?: boolean;\n};\nexport type TextProps = {\n /**\n * Alternative for default slot/children.\n */\n text?: string;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport type ClickEvent<T> = MouseEvent;\nexport type ClickEventProps<T> = {\n /**\n * React specific onClick to pass to forward ref.\n */\n onClick?: (event: ClickEvent<T>) => void;\n};\nexport type ClickEventState<T> = {\n handleClick: (event: ClickEvent<T>) => void;\n};\nexport type ToggleEventProps = {\n onToggle?: (open: boolean) => void;\n};\nexport type ToggleEventState<T> = {\n toggle: (event?: ClickEvent<T>) => void;\n};\nexport type CloseEventProps = {\n /**\n * Function to handle button click (close).\n */\n onClose?: (event?: any) => void;\n};\nexport type CloseEventState = {\n handleClose: (event: any) => void;\n};\nexport const AlignmentList = ['start', 'center'] as const;\nexport type AlignmentType = (typeof AlignmentList)[number];\nexport type AlignmentProps = {\n /**\n * Define the content alignment in full width\n */\n alignment?: AlignmentType | string;\n};\nexport type ActiveProps = {\n /**\n * If the tab is checked/active.\n */\n active?: boolean;\n};\nexport type InputEvent<T> = Event;\nexport type InputEventProps<T> = {\n input?: (event: InputEvent<T>) => void;\n onInput?: (event: InputEvent<T>) => void;\n};\nexport type InputEventState<T> = {\n handleInput: (event: InputEvent<T>) => void;\n};\nexport type ChangeEvent<T> = Event;\nexport type ChangeEventProps<T> = {\n change?: (event: ChangeEvent<T>) => void;\n onChange?: (event: ChangeEvent<T>) => void;\n};\nexport type ChangeEventState<T> = {\n handleChange: (event: ChangeEvent<T>) => void;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport type InteractionEvent<T> = FocusEvent;\nexport type FocusEventProps<T> = {\n blur?: (event: InteractionEvent<T>) => void;\n onBlur?: (event: InteractionEvent<T>) => void;\n focus?: (event: InteractionEvent<T>) => void;\n onFocus?: (event: InteractionEvent<T>) => void;\n};\nexport type FocusEventState<T> = {\n handleBlur: (event: InteractionEvent<T>) => void;\n handleFocus: (event: InteractionEvent<T>) => void;\n};\nexport type InnerCloseButtonProps = {\n /**\n * The closeButtonId attribute changes the id inside the close button.\n */\n closeButtonId?: string;\n /**\n * The closeButtonText attribute changes the text inside the close button.\n */\n closeButtonText?: string;\n};\nexport type NavigationBackButtonProps = {\n /**\n * The backButtonId attribute changes the id inside the back button.\n */\n backButtonId?: string;\n /**\n * The backButtonText attribute changes the text inside the back button.\n */\n backButtonText?: string;\n};\nexport type AriaLabelledByProps = {\n /**\n * Pass aria-labelledby to inner element\n */\n labelledBy?: string;\n};\nexport type AriaControlsProps = {\n /**\n * Pass aria-controls to inner element\n */\n controls?: string;\n};\nexport type ValueLabelType = {\n value: string;\n label?: string;\n}","import { Component, ViewChild, ElementRef, Input } from \"@angular/core\";\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps = {};\n\nimport { DBStackProps, DBStackState } from \"./model\";\nimport { cls, getBooleanAsString } from \"../../utils\";\n\n@Component({\n selector: \"db-stack\",\n template: `\n <div\n #_ref\n [attr.id]=\"id\"\n [class]=\"cls('db-stack', className)\"\n [attr.data-gap]=\"gap\"\n [attr.data-variant]=\"variant\"\n [attr.data-direction]=\"direction\"\n [attr.data-alignment]=\"alignment\"\n [attr.data-justify-content]=\"justifyContent\"\n [attr.data-wrap]=\"getBooleanAsString(wrap)\"\n >\n <ng-content></ng-content>\n </div>\n `,\n standalone: true,\n imports: [CommonModule],\n})\nexport class DBStack {\n cls = cls;\n getBooleanAsString = getBooleanAsString;\n\n @Input() id!: DBStackProps[\"id\"];\n @Input() className!: DBStackProps[\"className\"];\n @Input() gap!: DBStackProps[\"gap\"];\n @Input() variant!: DBStackProps[\"variant\"];\n @Input() direction!: DBStackProps[\"direction\"];\n @Input() alignment!: DBStackProps[\"alignment\"];\n @Input() justifyContent!: DBStackProps[\"justifyContent\"];\n @Input() wrap!: DBStackProps[\"wrap\"];\n\n @ViewChild(\"_ref\") _ref!: ElementRef | undefined;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref?.nativeElement;\n this.enableAttributePassing(element, \"db-stack\");\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["defaultProps"],"mappings":"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"}
|