@db-ux/ngx-core-components 2.2.2 → 2.2.3-getBoundingClientRect-a18038f
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.
|
@@ -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/floating-components.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/utils/document-scroll-listener.ts","../../../output/angular/src/components/tooltip/tooltip.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/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/components/custom-select-list/custom-select-list.ts","../../../output/angular/src/components/custom-select-list-item/custom-select-list-item.ts","../../../output/angular/src/components/custom-select-dropdown/custom-select-dropdown.ts","../../../output/angular/src/utils/document-click-listener.ts","../../../output/angular/src/components/custom-select/custom-select.ts","../../../output/angular/src/components/custom-select-form-field/custom-select-form-field.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 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 | string): any => {\n if (originBool === undefined || originBool === null) return;\n if (typeof originBool === 'string') {\n return String(Boolean(originBool));\n }\n return String(originBool);\n};\nexport const getBoolean = (originBool?: boolean | string, propertyName?: string): boolean | undefined => {\n if (originBool === undefined || originBool === null) return;\n if (typeof originBool === 'string' && propertyName) {\n return Boolean(propertyName === originBool || originBool);\n }\n return Boolean(originBool);\n};\nexport const getNumber = (originNumber?: number | string, alternativeNumber?: number | string): number | undefined => {\n if ((originNumber === undefined || originNumber === null) && (alternativeNumber === undefined || alternativeNumber === null)) {\n return;\n }\n return Number(originNumber ?? alternativeNumber);\n};\n\n/**\n * Retrieves the input value based on the provided value and input type.\n *\n * If the input type is \"number\" or \"range\", the value is processed as a number.\n * Otherwise, the value is returned as-is.\n *\n * @param value - The input value, which can be a number, string, or undefined.\n * @param inputType - The type of the input, such as \"number\", \"range\", or other string types.\n * @returns The processed input value as a string, number, or undefined.\n */\nexport const getInputValue = (value?: number | string, inputType?: string): string | number | undefined => {\n return inputType && ['number', 'range'].includes(inputType) ? getNumber(value) : value;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const getHideProp = (show?: boolean | string): any => {\n if (show === undefined || show === null) {\n return undefined;\n }\n return getBooleanAsString(!Boolean(show));\n};\nexport const stringPropVisible = (givenString?: string, showString?: boolean | string) => {\n if (showString === undefined) {\n return !!givenString;\n } else {\n return Boolean(showString) && Boolean(givenString);\n }\n};\nexport const getSearchInput = (element: HTMLElement): HTMLInputElement | null => element.querySelector<HTMLInputElement>(`input[type=\"search\"]`);\nexport const getOptionKey = (option: {\n id?: string;\n value?: string | number | string[] | undefined;\n}, prefix: string) => {\n const key = option.id ?? option.value ?? uuid();\n return `${prefix}${key}`;\n}","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport type { DBButtonProps, DBButtonState } from \"./model\";\nimport { cls, getBoolean, getBooleanAsString, getHideProp } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\n\n@Component({\n selector: \"db-button\",\n standalone: true,\n imports: [CommonModule],\n template: `\n <button\n #_ref\n [attr.id]=\"id()\"\n [class]=\"cls('db-button', className())\"\n [attr.type]=\"type() || 'button'\"\n [disabled]=\"getBoolean(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.form]=\"form()\"\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 @if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\n }\n </button>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBButton implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBoolean = getBoolean;\n protected readonly getHideProp = getHideProp;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n id = input<DBButtonProps[\"id\"]>();\n className = input<DBButtonProps[\"className\"]>();\n type = input<DBButtonProps[\"type\"]>();\n disabled = input<DBButtonProps[\"disabled\"]>();\n label = input<DBButtonProps[\"label\"]>();\n icon = input<DBButtonProps[\"icon\"]>();\n showIcon = input<DBButtonProps[\"showIcon\"]>();\n size = input<DBButtonProps[\"size\"]>();\n state = input<DBButtonProps[\"state\"]>();\n width = input<DBButtonProps[\"width\"]>();\n variant = input<DBButtonProps[\"variant\"]>();\n noText = input<DBButtonProps[\"noText\"]>();\n name = input<DBButtonProps[\"name\"]>();\n form = input<DBButtonProps[\"form\"]>();\n value = input<DBButtonProps[\"value\"]>();\n describedbyid = input<DBButtonProps[\"describedbyid\"]>();\n ariaexpanded = input<DBButtonProps[\"ariaexpanded\"]>();\n ariapressed = input<DBButtonProps[\"ariapressed\"]>();\n text = input<DBButtonProps[\"text\"]>();\n click = output<\n Parameters<Required<DBButtonProps>[\"onClick\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n handleClick(event: ClickEvent<HTMLButtonElement>) {\n if (this.click) {\n this.click.emit(event);\n }\n }\n\n constructor() {}\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: string = 'MESSAGE SHOULD BE SET';\nexport const DEFAULT_LABEL_ID_SUFFIX: string = '-label';\nexport const DEFAULT_SELECT_ID_SUFFIX: string = '-select';\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_REMOVE: string = 'Remove';\nexport const DEFAULT_BACK: string = 'Back';\nexport const DEFAULT_SELECTED: string = 'Selected';\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';\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 Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBNotificationProps, DBNotificationState } from \"./model\";\nimport { DBButton } from \"../button/button\";\nimport { DEFAULT_CLOSE_BUTTON } from \"../../shared/constants\";\nimport { cls, getBoolean, getHideProp, stringPropVisible } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\n\n@Component({\n selector: \"db-notification\",\n standalone: true,\n imports: [CommonModule, DBButton],\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 @if(stringPropVisible(headline(), showHeadline())){\n <header>{{headline()}}</header>\n }\n <p>\n @if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\n }\n </p>\n @if(stringPropVisible(timestamp(), showTimestamp())){\n <span>{{timestamp()}}</span>\n }\n <ng-content select=\"[link]\"></ng-content>\n @if(getBoolean(closeable(), '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 }\n </article>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBNotification implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getHideProp = getHideProp;\n protected readonly stringPropVisible = stringPropVisible;\n protected readonly getBoolean = getBoolean;\n protected readonly DEFAULT_CLOSE_BUTTON = DEFAULT_CLOSE_BUTTON;\n\n id = input<DBNotificationProps[\"id\"]>();\n className = input<DBNotificationProps[\"className\"]>();\n ariaLive = input<DBNotificationProps[\"ariaLive\"]>();\n semantic = input<DBNotificationProps[\"semantic\"]>();\n variant = input<DBNotificationProps[\"variant\"]>();\n icon = input<DBNotificationProps[\"icon\"]>();\n showIcon = input<DBNotificationProps[\"showIcon\"]>();\n linkVariant = input<DBNotificationProps[\"linkVariant\"]>();\n headline = input<DBNotificationProps[\"headline\"]>();\n showHeadline = input<DBNotificationProps[\"showHeadline\"]>();\n text = input<DBNotificationProps[\"text\"]>();\n timestamp = input<DBNotificationProps[\"timestamp\"]>();\n showTimestamp = input<DBNotificationProps[\"showTimestamp\"]>();\n closeable = input<DBNotificationProps[\"closeable\"]>();\n closeButtonId = input<DBNotificationProps[\"closeButtonId\"]>();\n closeButtonText = input<DBNotificationProps[\"closeButtonText\"]>();\n close = output<\n Parameters<Required<DBNotificationProps>[\"onClose\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n handleClose(event: ClickEvent<HTMLButtonElement> | any) {\n event.stopPropagation();\n if (this.close) {\n this.close.emit(event);\n }\n }\n\n constructor() {}\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 AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBBadgeProps, DBBadgeState } from \"./model\";\nimport { cls } from \"../../utils\";\nimport { DEFAULT_LABEL } from \"../../shared/constants\";\n\n@Component({\n selector: \"db-badge\",\n standalone: true,\n imports: [CommonModule],\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 @if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\n }\n </span>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBBadge implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly DEFAULT_LABEL = DEFAULT_LABEL;\n\n placement = input<DBBadgeProps[\"placement\"]>();\n id = input<DBBadgeProps[\"id\"]>();\n className = input<DBBadgeProps[\"className\"]>();\n semantic = input<DBBadgeProps[\"semantic\"]>();\n size = input<DBBadgeProps[\"size\"]>();\n emphasis = input<DBBadgeProps[\"emphasis\"]>();\n label = input<DBBadgeProps[\"label\"]>();\n text = input<DBBadgeProps[\"text\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n initialized = signal<DBBadgeState[\"initialized\"]>(false);\n\n constructor() {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.initialized();\n // ---\n\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 // Enable writing to signals inside effects\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 \n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-badge\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\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 standalone: true,\n imports: [CommonModule],\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 @if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\n }\n </div>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBBrand implements AfterViewInit {\n protected readonly DEFAULT_ICON = DEFAULT_ICON;\n protected readonly getHideProp = getHideProp;\n protected readonly cls = cls;\n\n hideLogo = input<DBBrandProps[\"hideLogo\"]>();\n icon = input<DBBrandProps[\"icon\"]>();\n showIcon = input<DBBrandProps[\"showIcon\"]>();\n id = input<DBBrandProps[\"id\"]>();\n className = input<DBBrandProps[\"className\"]>();\n text = input<DBBrandProps[\"text\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n constructor() {}\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 Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport type { DBCardProps, DBCardState } from \"./model\";\nimport { cls } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\n\n@Component({\n selector: \"db-card\",\n standalone: true,\n imports: [CommonModule],\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 styles: `:host { display: contents; }`,\n})\nexport class DBCard implements AfterViewInit {\n protected readonly cls = cls;\n\n id = input<DBCardProps[\"id\"]>();\n className = input<DBCardProps[\"className\"]>();\n behavior = input<DBCardProps[\"behavior\"]>();\n elevationLevel = input<DBCardProps[\"elevationLevel\"]>();\n spacing = input<DBCardProps[\"spacing\"]>();\n click = output<Parameters<Required<DBCardProps>[\"onClick\"]>[number] | void>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n handleClick(event: ClickEvent<HTMLElement>) {\n if (this.click) {\n this.click.emit(event);\n }\n }\n\n constructor() {}\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 {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBInfotextProps, DBInfotextState } from \"./model\";\nimport { cls, getHideProp } from \"../../utils\";\n\n@Component({\n selector: \"db-infotext\",\n standalone: true,\n imports: [CommonModule],\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 @if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\n }\n </span>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBInfotext implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getHideProp = getHideProp;\n\n id = input<DBInfotextProps[\"id\"]>();\n className = input<DBInfotextProps[\"className\"]>();\n icon = input<DBInfotextProps[\"icon\"]>();\n semantic = input<DBInfotextProps[\"semantic\"]>();\n size = input<DBInfotextProps[\"size\"]>();\n showIcon = input<DBInfotextProps[\"showIcon\"]>();\n text = input<DBInfotextProps[\"text\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n constructor() {}\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 Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\nRenderer2, model } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\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 getBoolean,\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 standalone: true,\n imports: [CommonModule, DBInfotext],\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]=\"getBoolean(checked(), 'checked')\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [attr.value]=\"value()\"\n [required]=\"getBoolean(required(), 'required')\"\n (change)=\"handleChange($event)\"\n (blur)=\"handleBlur($event)\"\n (focus)=\"handleFocus($event)\"\n [attr.aria-describedby]=\"ariaDescribedBy() ?? _descByIds()\"\n />\n @if(label()){ {{label()}} }@else{\n <ng-content></ng-content>\n }\n </label>\n @if(stringPropVisible(message(), showMessage())){\n <db-infotext size=\"small\" [icon]=\"messageIcon()\" [id]=\"_messageId()\">\n {{message()}}\n </db-infotext>\n } @if(hasValidState()){\n <db-infotext size=\"small\" semantic=\"successful\" [id]=\"_validMessageId()\">\n {{validMessage() || DEFAULT_VALID_MESSAGE}}\n </db-infotext>\n }\n <db-infotext size=\"small\" semantic=\"critical\" [id]=\"_invalidMessageId()\">\n {{_invalidMessage()}}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {{_voiceOverFallback()}}\n </span>\n </div>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBCheckbox implements AfterViewInit, ControlValueAccessor {\n protected readonly cls = cls;\n protected readonly getHideProp = getHideProp;\n protected readonly getBoolean = getBoolean;\n protected readonly stringPropVisible = stringPropVisible;\n protected readonly DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;\n\n id = input<DBCheckboxProps[\"id\"]>();\n invalidMessage = input<DBCheckboxProps[\"invalidMessage\"]>();\n message = input<DBCheckboxProps[\"message\"]>();\n showMessage = input<DBCheckboxProps[\"showMessage\"]>();\n indeterminate = input<DBCheckboxProps[\"indeterminate\"]>();\n checked = model<DBCheckboxProps[\"checked\"]>();\n validMessage = input<DBCheckboxProps[\"validMessage\"]>();\n validation = input<DBCheckboxProps[\"validation\"]>();\n required = input<DBCheckboxProps[\"required\"]>();\n className = input<DBCheckboxProps[\"className\"]>();\n size = input<DBCheckboxProps[\"size\"]>();\n showLabel = input<DBCheckboxProps[\"showLabel\"]>();\n name = input<DBCheckboxProps[\"name\"]>();\n disabled = model<DBCheckboxProps[\"disabled\"]>();\n value = input<DBCheckboxProps[\"value\"]>();\n ariaDescribedBy = input<DBCheckboxProps[\"ariaDescribedBy\"]>();\n label = input<DBCheckboxProps[\"label\"]>();\n messageIcon = input<DBCheckboxProps[\"messageIcon\"]>();\n change = output<\n Parameters<Required<DBCheckboxProps>[\"onChange\"]>[number] | void\n >();\n blur = output<\n Parameters<Required<DBCheckboxProps>[\"onBlur\"]>[number] | void\n >();\n focus = output<\n Parameters<Required<DBCheckboxProps>[\"onFocus\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n initialized = signal<DBCheckboxState[\"initialized\"]>(false);\n _id = signal<DBCheckboxState[\"_id\"]>(undefined);\n _messageId = signal<DBCheckboxState[\"_messageId\"]>(undefined);\n _validMessageId = signal<DBCheckboxState[\"_validMessageId\"]>(undefined);\n _invalidMessageId = signal<DBCheckboxState[\"_invalidMessageId\"]>(undefined);\n _invalidMessage = signal<DBCheckboxState[\"_invalidMessage\"]>(undefined);\n _descByIds = signal<DBCheckboxState[\"_descByIds\"]>(\"\");\n _voiceOverFallback = signal<DBCheckboxState[\"_voiceOverFallback\"]>(\"\");\n\n hasValidState() {\n return !!(this.validMessage() ?? this.validation() === \"valid\");\n }\n handleValidation() {\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.set(this._invalidMessageId());\n this._invalidMessage.set(\n this.invalidMessage() ||\n this._ref()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(this._invalidMessage());\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref()?.nativeElement?.validity.valid &&\n this.required()\n ) {\n this._descByIds.set(this._validMessageId());\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(\n this.validMessage() ?? DEFAULT_VALID_MESSAGE\n );\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n } else if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(this._messageId());\n } else {\n this._descByIds.set(\"\");\n }\n }\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event, \"checked\");\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n constructor(private renderer: Renderer2,) {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.invalidMessage();\n // ---\n\n this._invalidMessage.set(\n this.invalidMessage() ||\n this._ref()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._id();\n // ---\n\n if (this._id()) {\n const messageId = this._id() + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId.set(messageId);\n this._validMessageId.set(\n this._id() + DEFAULT_VALID_MESSAGE_ID_SUFFIX\n );\n this._invalidMessageId.set(\n this._id() + DEFAULT_INVALID_MESSAGE_ID_SUFFIX\n );\n if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(messageId);\n }\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.initialized();\n this._ref();\n this.indeterminate();\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 = !!getBoolean(\n this.indeterminate()\n );\n }\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.initialized();\n this._ref();\n this.checked();\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 = !!getBoolean(this.checked());\n }\n this.initialized.set(false);\n }\n },\n {\n // Enable writing to signals inside effects\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 \n\t\twriteValue(value: any) {\n\t\t\t\n\t\t this.checked.set(!!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}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled.set(disabled);\n\t\t}\n\n\t\tngOnInit() {\n \n const mId = this.id() ?? `checkbox-${uuid()}`;\n this._id.set(mId);\n this._messageId.set(mId + DEFAULT_MESSAGE_ID_SUFFIX);\n this._validMessageId.set(mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX);\n this._invalidMessageId.set(mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX);\n this._invalidMessage.set(this.invalidMessage() || DEFAULT_INVALID_MESSAGE);\n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-checkbox\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBDividerProps, DBDividerState } from \"./model\";\nimport { cls } from \"../../utils\";\n\n@Component({\n selector: \"db-divider\",\n standalone: true,\n imports: [CommonModule],\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 styles: `:host { display: contents; }`,\n})\nexport class DBDivider implements AfterViewInit {\n protected readonly cls = cls;\n\n id = input<DBDividerProps[\"id\"]>();\n margin = input<DBDividerProps[\"margin\"]>();\n variant = input<DBDividerProps[\"variant\"]>();\n emphasis = input<DBDividerProps[\"emphasis\"]>();\n width = input<DBDividerProps[\"width\"]>();\n className = input<DBDividerProps[\"className\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n constructor() {}\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 Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBDrawerProps, DBDrawerState } from \"./model\";\nimport { DBButton } from \"../button/button\";\nimport { DEFAULT_CLOSE_BUTTON } from \"../../shared/constants\";\nimport { cls, delay, getBooleanAsString } from \"../../utils\";\n\n@Component({\n selector: \"db-drawer\",\n standalone: true,\n imports: [CommonModule, DBButton],\n template: `\n <dialog\n class=\"db-drawer\"\n [attr.id]=\"id()\"\n #_ref\n (click)=\"handleClose($event)\"\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]=\"getBooleanAsString(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($event, true)\"\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 styles: `:host { display: contents; }`,\n})\nexport class DBDrawer implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly DEFAULT_CLOSE_BUTTON = DEFAULT_CLOSE_BUTTON;\n\n open = input<DBDrawerProps[\"open\"]>();\n backdrop = input<DBDrawerProps[\"backdrop\"]>();\n variant = input<DBDrawerProps[\"variant\"]>();\n id = input<DBDrawerProps[\"id\"]>();\n className = input<DBDrawerProps[\"className\"]>();\n spacing = input<DBDrawerProps[\"spacing\"]>();\n width = input<DBDrawerProps[\"width\"]>();\n direction = input<DBDrawerProps[\"direction\"]>();\n rounded = input<DBDrawerProps[\"rounded\"]>();\n closeButtonId = input<DBDrawerProps[\"closeButtonId\"]>();\n closeButtonText = input<DBDrawerProps[\"closeButtonText\"]>();\n close = output<\n Parameters<Required<DBDrawerProps>[\"onClose\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n dialogContainerRef = viewChild<ElementRef>(\"dialogContainerRef\");\n\n handleClose(event: any, forceClose?: boolean) {\n if (event.key === \"Escape\") {\n event.preventDefault();\n }\n if (forceClose) {\n event.stopPropagation();\n }\n if (\n forceClose ||\n event.key === \"Escape\" ||\n (event.target.nodeName === \"DIALOG\" &&\n event.type === \"click\" &&\n this.backdrop() !== \"none\")\n ) {\n if (this.close) {\n this.close.emit(event);\n }\n }\n }\n handleDialogOpen() {\n if (this._ref()?.nativeElement) {\n const open = Boolean(this.open());\n if (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 (!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 constructor() {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.open();\n // ---\n\n this.handleDialogOpen();\n },\n {\n // Enable writing to signals inside effects\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 this.handleDialogOpen();\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-drawer\");\n }\n}\n","// TODO: We should reevaluate this as soon as CSS Anchor Positioning is supported in all relevant browsers\nconst isInView = (el: HTMLElement) => {\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.dataset['outsideVy'];\n const outsideX = el.dataset['outsideVx'];\n const parentRect = el?.parentElement?.getBoundingClientRect();\n if (parentRect) {\n if (outsideY) {\n const position = el.dataset['outsideVy'];\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.dataset['outsideVx'];\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: HTMLElement): 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.dataset['outsideVy'] = dataOutsidePair.vy!;\n } else {\n delete el.dataset['outsideVy'];\n }\n if (outLeft || outRight) {\n dataOutsidePair = {\n ...dataOutsidePair,\n vx: outRight ? 'right' : 'left'\n };\n el.dataset['outsideVx'] = dataOutsidePair.vx!;\n } else {\n delete el.dataset['outsideVx'];\n }\n return dataOutsidePair;\n};\nexport const handleFixedDropdown = (element: HTMLElement, parent: HTMLElement, placement: string) => {\n // We skip this if we are in mobile it's already fixed\n if (getComputedStyle(element).zIndex === '9999') return;\n const {\n top,\n bottom,\n childHeight,\n childWidth,\n width,\n right,\n left,\n correctedPlacement\n } = getFloatingProps(element, parent, placement);\n const fullWidth = element.dataset['width'] === 'full';\n if (fullWidth) {\n element.style.inlineSize = `${width}px`;\n }\n if (correctedPlacement === 'top' || correctedPlacement === 'bottom' || correctedPlacement === 'top-start' || correctedPlacement === 'bottom-start') {\n element.style.insetInlineStart = `${left}px`;\n } else if (correctedPlacement === 'top-end' || correctedPlacement === 'bottom-end') {\n element.style.insetInlineStart = `${right - childWidth}px`;\n }\n if (correctedPlacement?.startsWith('top')) {\n element.style.insetBlockStart = `${top - childHeight}px`;\n } else if (correctedPlacement?.startsWith('bottom')) {\n element.style.insetBlockStart = `${bottom}px`;\n }\n element.style.position = 'fixed';\n};\nconst getFloatingProps = (element: HTMLElement, parent: HTMLElement, placement: string) => {\n const childRect = element.getBoundingClientRect();\n const {\n top,\n height,\n bottom,\n right,\n left,\n width\n } = parent.getBoundingClientRect();\n const {\n innerHeight,\n innerWidth\n } = window;\n let childHeight = childRect.height;\n let childWidth = childRect.width;\n if (placement === 'bottom' || placement === 'top') {\n childWidth = childWidth / 2;\n }\n if (placement === 'left' || placement === 'right') {\n childHeight = childHeight / 2;\n }\n const outsideBottom = bottom + childHeight > innerHeight;\n const outsideTop = top - childHeight < 0;\n const outsideLeft = left - childWidth < 0;\n const outsideRight = right + childWidth > innerWidth;\n let correctedPlacement = placement;\n if (placement.startsWith('bottom')) {\n if (outsideBottom) {\n correctedPlacement = placement?.replace('bottom', 'top');\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'top';\n } else if (outsideLeft) {\n correctedPlacement = 'top-start';\n } else if (outsideRight) {\n correctedPlacement = 'top-end';\n }\n } else {\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'bottom';\n } else if (outsideLeft) {\n correctedPlacement = 'bottom-start';\n } else if (outsideRight) {\n correctedPlacement = 'bottom-end';\n }\n }\n } else if (placement.startsWith('top')) {\n if (outsideTop) {\n correctedPlacement = placement?.replace('top', 'bottom');\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'bottom';\n } else if (outsideLeft) {\n correctedPlacement = 'bottom-start';\n } else if (outsideRight) {\n correctedPlacement = 'bottom-end';\n }\n } else {\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'top';\n } else if (outsideLeft) {\n correctedPlacement = 'top-start';\n } else if (outsideRight) {\n correctedPlacement = 'top-end';\n }\n }\n } else if (placement.startsWith('left')) {\n if (outsideLeft) {\n correctedPlacement = placement?.replace('left', 'right');\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'right';\n } else if (outsideBottom) {\n correctedPlacement = 'right-end';\n } else if (outsideTop) {\n correctedPlacement = 'right-start';\n }\n } else {\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'left';\n } else if (outsideBottom) {\n correctedPlacement = 'left-end';\n } else if (outsideTop) {\n correctedPlacement = 'left-start';\n }\n }\n } else if (correctedPlacement.startsWith('right')) {\n if (outsideRight) {\n correctedPlacement = placement?.replace('right', 'left');\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'left';\n } else if (outsideBottom) {\n correctedPlacement = 'left-end';\n } else if (outsideTop) {\n correctedPlacement = 'left-start';\n }\n } else {\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'right';\n } else if (outsideBottom) {\n correctedPlacement = 'right-end';\n } else if (outsideTop) {\n correctedPlacement = 'right-start';\n }\n }\n }\n return {\n top,\n bottom,\n right,\n height,\n width,\n left,\n childHeight: childRect.height,\n childWidth: childRect.width,\n correctedPlacement,\n innerWidth,\n innerHeight\n };\n};\nexport const handleFixedPopover = (element: HTMLElement, parent: HTMLElement, placement: string) => {\n const distance = getComputedStyle(element).getPropertyValue('--db-popover-distance') ?? '0px';\n const {\n top,\n height,\n width,\n childHeight,\n childWidth,\n right,\n left,\n bottom,\n correctedPlacement,\n innerWidth,\n innerHeight\n } = getFloatingProps(element, parent, placement);\n\n // Tooltip arrow position\n\n if (childWidth > width && (correctedPlacement.startsWith('bottom') || correctedPlacement.startsWith('top'))) {\n const diff = width / 2 / childWidth * 100;\n if (correctedPlacement.endsWith('start')) {\n element.style.setProperty('--db-tooltip-arrow-inline-start', `${diff}%`);\n } else if (correctedPlacement.endsWith('end')) {\n element.style.setProperty('--db-tooltip-arrow-inline-start', `${100 - diff}%`);\n }\n }\n if (childHeight > height && (correctedPlacement.startsWith('left') || correctedPlacement.startsWith('bottom'))) {\n const diff = height / 2 / childHeight * 100;\n if (correctedPlacement.endsWith('start')) {\n element.style.setProperty('--db-tooltip-arrow-block-start', `${diff}%`);\n } else if (correctedPlacement.endsWith('end')) {\n element.style.setProperty('--db-tooltip-arrow-block-start', `${100 - diff}%`);\n }\n }\n\n // Popover position\n\n if (correctedPlacement === 'right' || correctedPlacement === 'left') {\n // center horizontally\n element.style.insetBlockStart = `${top + height / 2}px`;\n } else if (correctedPlacement === 'right-start' || correctedPlacement === 'left-start') {\n const end = top + childHeight;\n element.style.insetBlockStart = `${top}px`;\n element.style.insetBlockEnd = `${end > innerHeight ? innerHeight : end}px`;\n } else if (correctedPlacement === 'right-end' || correctedPlacement === 'left-end') {\n const start = bottom - childHeight;\n element.style.insetBlockStart = `${start < 0 ? 0 : start}px`;\n element.style.insetBlockEnd = `${bottom}px`;\n } else if (correctedPlacement === 'top' || correctedPlacement === 'bottom') {\n // center vertically\n element.style.insetInlineStart = `${left + width / 2}px`;\n } else if (correctedPlacement === 'top-start' || correctedPlacement === 'bottom-start') {\n const end = left + childWidth;\n element.style.insetInlineStart = `${left}px`;\n element.style.insetInlineEnd = `${end > innerWidth ? innerWidth : end}px`;\n } else if (correctedPlacement === 'top-end' || correctedPlacement === 'bottom-end') {\n const start = left - childWidth;\n element.style.insetInlineStart = `${right - childWidth}px`;\n element.style.insetInlineEnd = `${start < 0 ? 0 : start}px`;\n }\n if (correctedPlacement?.startsWith('right')) {\n const end = right + childWidth;\n element.style.insetInlineStart = `calc(${right}px + ${distance})`;\n element.style.insetInlineEnd = `calc(${end > innerWidth ? innerWidth : end}px + ${distance})`;\n } else if (correctedPlacement?.startsWith('left')) {\n const start = left - childWidth;\n element.style.insetInlineStart = `calc(${start < 0 ? 0 : start}px - ${distance})`;\n element.style.insetInlineEnd = `calc(${right}px - ${distance})`;\n } else if (correctedPlacement?.startsWith('top')) {\n const start = top - childHeight;\n element.style.insetBlockStart = `calc(${start < 0 ? 0 : start}px - ${distance})`;\n element.style.insetBlockEnd = `calc(${bottom}px - ${distance})`;\n } else if (correctedPlacement?.startsWith('bottom')) {\n const end = bottom + childHeight;\n element.style.insetBlockStart = `calc(${bottom}px + ${distance})`;\n element.style.insetBlockEnd = `calc(${end > innerHeight ? innerHeight : end}px + ${distance})`;\n }\n element.style.position = 'fixed';\n element.setAttribute('data-corrected-placement', correctedPlacement);\n}","import { handleDataOutside } from './floating-components';\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: HTMLElement | null;\n private readonly parentSubNavigation: HTMLElement | 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: HTMLElement | 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 Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\nContentChild, TemplateRef } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBHeaderProps, DBHeaderState } from \"./model\";\nimport { addAttributeToChildren, cls, getBoolean, 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 standalone: true,\n imports: [CommonModule, DBDrawer, DBButton],\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]=\"getBoolean(drawerOpen())\"\n (close)=\"handleToggle()\"\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)=\"handleToggle()\"\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 styles: `:host { display: contents; }`,\n})\nexport class DBHeader implements AfterViewInit {\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 protected readonly cls = cls;\n protected readonly getBoolean = getBoolean;\n protected readonly DEFAULT_BURGER_MENU = DEFAULT_BURGER_MENU;\n\n id = input<DBHeaderProps[\"id\"]>();\n forceMobile = input<DBHeaderProps[\"forceMobile\"]>();\n drawerOpen = input<DBHeaderProps[\"drawerOpen\"]>();\n className = input<DBHeaderProps[\"className\"]>();\n width = input<DBHeaderProps[\"width\"]>();\n burgerMenuLabel = input<DBHeaderProps[\"burgerMenuLabel\"]>();\n toggle = output<\n Parameters<Required<DBHeaderProps>[\"onToggle\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBHeaderState[\"_id\"]>(DEFAULT_ID);\n initialized = signal<DBHeaderState[\"initialized\"]>(false);\n forcedToMobile = signal<DBHeaderState[\"forcedToMobile\"]>(false);\n\n handleToggle(event?: any) {\n if (event && event.stopPropagation) {\n event.stopPropagation();\n }\n const open = !getBoolean(this.drawerOpen(), \"drawerOpen\");\n if (this.toggle) {\n this.toggle.emit(open);\n }\n }\n handleNavigationItemClick(event: unknown) {\n if (isEventTargetNavigationItem(event)) {\n this.handleToggle();\n }\n }\n\n constructor() {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.initialized();\n // ---\n\n if (\n this.initialized() &&\n document &&\n this._id() &&\n this.forceMobile()\n ) {\n const headerElement = document.getElementById(\n this._id() ?? \"\"\n ) 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.set(true);\n }\n },\n {\n // Enable writing to signals inside effects\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 \n this._id.set(this.id() || \"header-\" + uuid());\n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-header\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport type { DBIconProps, DBIconState } from \"./model\";\nimport { cls } from \"../../utils\";\n\n@Component({\n selector: \"db-icon\",\n standalone: true,\n imports: [CommonModule],\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 @if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\n }\n </span>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBIcon implements AfterViewInit {\n protected readonly cls = cls;\n\n id = input<DBIconProps[\"id\"]>();\n className = input<DBIconProps[\"className\"]>();\n icon = input<DBIconProps[\"icon\"]>();\n weight = input<DBIconProps[\"weight\"]>();\n variant = input<DBIconProps[\"variant\"]>();\n text = input<DBIconProps[\"text\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n constructor() {}\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 Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\nRenderer2, model } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport {\n cls,\n delay,\n getBoolean,\n getHideProp,\n getNumber,\n hasVoiceOver,\n isArrayOfStrings,\n stringPropVisible,\n uuid,\n getInputValue,\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 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: DBInput,\n\t\t\tmulti: true\n\t\t}],\t\n selector: \"db-input\",\n standalone: true,\n imports: [CommonModule, DBInfotext],\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 [attr.data-field-sizing]=\"fieldSizing()\"\n #_ref\n [attr.id]=\"_id()\"\n [attr.name]=\"name()\"\n [attr.type]=\"type() || 'text'\"\n [attr.placeholder]=\"placeholder() ?? DEFAULT_PLACEHOLDER\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [required]=\"getBoolean(required(), 'required')\"\n [attr.step]=\"getNumber(step())\"\n [attr.value]=\"value() ?? _value()\"\n [attr.maxLength]=\"getNumber(maxLength(), maxlength())\"\n [attr.minLength]=\"getNumber(minLength(), minlength())\"\n [attr.max]=\"getInputValue(max(), type())\"\n [attr.min]=\"getInputValue(min(), type())\"\n [attr.readOnly]=\"getBoolean(readOnly(), 'readOnly') || getBoolean(readonly(), 'readonly')\"\n [attr.form]=\"form()\"\n [attr.pattern]=\"pattern()\"\n [attr.size]=\"size()\"\n [attr.autoComplete]=\"autocomplete()\"\n [attr.autoFocus]=\"getBoolean(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]=\"ariaDescribedBy() ?? _descByIds()\"\n />\n @if(dataList()){\n <datalist [attr.id]=\"_dataListId()\">\n @for (option of getDataList();track trackByOption0;let i = $index) {\n <option [attr.value]=\"option.value\">{{option.label}}</option>\n }\n </datalist>\n }\n <ng-content></ng-content>\n @if(stringPropVisible(message(), showMessage())){\n <db-infotext size=\"small\" [icon]=\"messageIcon()\" [id]=\"_messageId()\">\n {{message()}}\n </db-infotext>\n } @if(hasValidState()){\n <db-infotext size=\"small\" semantic=\"successful\" [id]=\"_validMessageId()\">\n {{validMessage() || DEFAULT_VALID_MESSAGE}}\n </db-infotext>\n }\n <db-infotext size=\"small\" semantic=\"critical\" [id]=\"_invalidMessageId()\">\n {{_invalidMessage()}}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {{_voiceOverFallback()}}\n </span>\n </div>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBInput implements AfterViewInit, ControlValueAccessor {\n protected readonly cls = cls;\n protected readonly getHideProp = getHideProp;\n protected readonly DEFAULT_LABEL = DEFAULT_LABEL;\n protected readonly DEFAULT_PLACEHOLDER = DEFAULT_PLACEHOLDER;\n protected readonly getBoolean = getBoolean;\n protected readonly getNumber = getNumber;\n protected readonly getInputValue = getInputValue;\n protected readonly stringPropVisible = stringPropVisible;\n protected readonly DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;\n\n id = input<DBInputProps[\"id\"]>();\n invalidMessage = input<DBInputProps[\"invalidMessage\"]>();\n dataListId = input<DBInputProps[\"dataListId\"]>();\n message = input<DBInputProps[\"message\"]>();\n showMessage = input<DBInputProps[\"showMessage\"]>();\n value = model<DBInputProps[\"value\"]>();\n validMessage = input<DBInputProps[\"validMessage\"]>();\n validation = input<DBInputProps[\"validation\"]>();\n required = input<DBInputProps[\"required\"]>();\n minLength = input<DBInputProps[\"minLength\"]>();\n maxLength = input<DBInputProps[\"maxLength\"]>();\n pattern = input<DBInputProps[\"pattern\"]>();\n dataList = input<DBInputProps[\"dataList\"]>();\n className = input<DBInputProps[\"className\"]>();\n variant = input<DBInputProps[\"variant\"]>();\n showLabel = input<DBInputProps[\"showLabel\"]>();\n showIcon = input<DBInputProps[\"showIcon\"]>();\n icon = input<DBInputProps[\"icon\"]>();\n iconAfter = input<DBInputProps[\"iconAfter\"]>();\n label = input<DBInputProps[\"label\"]>();\n fieldSizing = input<DBInputProps[\"fieldSizing\"]>();\n name = input<DBInputProps[\"name\"]>();\n type = input<DBInputProps[\"type\"]>();\n placeholder = input<DBInputProps[\"placeholder\"]>();\n disabled = model<DBInputProps[\"disabled\"]>();\n step = input<DBInputProps[\"step\"]>();\n maxlength = input<DBInputProps[\"maxlength\"]>();\n minlength = input<DBInputProps[\"minlength\"]>();\n max = input<DBInputProps[\"max\"]>();\n min = input<DBInputProps[\"min\"]>();\n readOnly = input<DBInputProps[\"readOnly\"]>();\n readonly = input<DBInputProps[\"readonly\"]>();\n form = input<DBInputProps[\"form\"]>();\n size = input<DBInputProps[\"size\"]>();\n autocomplete = input<DBInputProps[\"autocomplete\"]>();\n autofocus = input<DBInputProps[\"autofocus\"]>();\n ariaDescribedBy = input<DBInputProps[\"ariaDescribedBy\"]>();\n messageIcon = input<DBInputProps[\"messageIcon\"]>();\n input = output<\n Parameters<Required<DBInputProps>[\"onInput\"]>[number] | void\n >();\n change = output<\n Parameters<Required<DBInputProps>[\"onChange\"]>[number] | void\n >();\n blur = output<Parameters<Required<DBInputProps>[\"onBlur\"]>[number] | void>();\n focus = output<\n Parameters<Required<DBInputProps>[\"onFocus\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBInputState[\"_id\"]>(undefined);\n _messageId = signal<DBInputState[\"_messageId\"]>(undefined);\n _validMessageId = signal<DBInputState[\"_validMessageId\"]>(undefined);\n _invalidMessageId = signal<DBInputState[\"_invalidMessageId\"]>(undefined);\n _invalidMessage = signal<DBInputState[\"_invalidMessage\"]>(undefined);\n _dataListId = signal<DBInputState[\"_dataListId\"]>(undefined);\n _descByIds = signal<DBInputState[\"_descByIds\"]>(\"\");\n _value = signal<DBInputState[\"_value\"]>(\"\");\n _voiceOverFallback = signal<DBInputState[\"_voiceOverFallback\"]>(\"\");\n\n hasValidState() {\n return !!(this.validMessage() ?? this.validation() === \"valid\");\n }\n handleValidation() {\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.set(this._invalidMessageId());\n this._invalidMessage.set(\n this.invalidMessage() ||\n this._ref()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(this._invalidMessage());\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref()?.nativeElement?.validity.valid &&\n (this.required() ||\n this.minLength() ||\n this.maxLength() ||\n this.pattern())\n ) {\n this._descByIds.set(this._validMessageId());\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(\n this.validMessage() ?? DEFAULT_VALID_MESSAGE\n );\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n } else if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(this._messageId());\n } else {\n this._descByIds.set(\"\");\n }\n }\n handleInput(event: InputEvent<HTMLInputElement>) {\n if (this.input) {\n this.input.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n getDataList() {\n const _list = this.dataList();\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(_: number, option: any) {\n return this._dataListId() + \"-option-\" + option.value;\n }\n\n constructor(private renderer: Renderer2,) {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.invalidMessage();\n // ---\n\n this._invalidMessage.set(\n this.invalidMessage() ||\n this._ref()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._id();\n // ---\n\n if (this._id()) {\n const messageId = this._id() + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId.set(messageId);\n this._validMessageId.set(\n this._id() + DEFAULT_VALID_MESSAGE_ID_SUFFIX\n );\n this._invalidMessageId.set(\n this._id() + DEFAULT_INVALID_MESSAGE_ID_SUFFIX\n );\n this._dataListId.set(\n this.dataListId() ?? this._id() + DEFAULT_DATALIST_ID_SUFFIX\n );\n if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(messageId);\n }\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.value();\n // ---\n\n this._value.set(this.value());\n },\n {\n // Enable writing to signals inside effects\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 \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.set(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}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled.set(disabled);\n\t\t}\n\n\t\tngOnInit() {\n const mId = this.id() ?? `input-${uuid()}`;\n this._id.set(mId);\n this._messageId.set(mId + DEFAULT_MESSAGE_ID_SUFFIX);\n this._validMessageId.set(mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX);\n this._invalidMessageId.set(mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX);\n this._dataListId.set(mId + DEFAULT_DATALIST_ID_SUFFIX);\n this._invalidMessage.set(this.invalidMessage() || DEFAULT_INVALID_MESSAGE);\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-input\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\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 standalone: true,\n imports: [CommonModule],\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]=\"getBooleanAsString(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 @if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\n }\n </a>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBLink implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly getHideProp = getHideProp;\n\n id = input<DBLinkProps[\"id\"]>();\n className = input<DBLinkProps[\"className\"]>();\n href = input<DBLinkProps[\"href\"]>();\n target = input<DBLinkProps[\"target\"]>();\n rel = input<DBLinkProps[\"rel\"]>();\n role = input<DBLinkProps[\"role\"]>();\n hreflang = input<DBLinkProps[\"hreflang\"]>();\n disabled = input<DBLinkProps[\"disabled\"]>();\n selected = input<DBLinkProps[\"selected\"]>();\n label = input<DBLinkProps[\"label\"]>();\n current = input<DBLinkProps[\"current\"]>();\n size = input<DBLinkProps[\"size\"]>();\n showIcon = input<DBLinkProps[\"showIcon\"]>();\n variant = input<DBLinkProps[\"variant\"]>();\n content = input<DBLinkProps[\"content\"]>();\n text = input<DBLinkProps[\"text\"]>();\n click = output<Parameters<Required<DBLinkProps>[\"onClick\"]>[number] | void>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n handleClick(event: ClickEvent<HTMLAnchorElement>) {\n if (this.click) {\n this.click.emit(event);\n }\n }\n\n constructor() {}\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 {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBPageProps, DBPageState } from \"./model\";\nimport { cls, getBooleanAsString } from \"../../utils\";\n\n@Component({\n selector: \"db-page\",\n standalone: true,\n imports: [CommonModule],\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]=\"getBooleanAsString(fadeIn())\"\n [attr.data-fonts-loaded]=\"getBooleanAsString(fontsLoaded())\"\n >\n <ng-content select=\"[header]\"></ng-content>\n <main [class]=\"cls('db-main', mainClass())\">\n <ng-content></ng-content>\n </main>\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBPage implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n fadeIn = input<DBPageProps[\"fadeIn\"]>();\n documentOverflow = input<DBPageProps[\"documentOverflow\"]>();\n variant = input<DBPageProps[\"variant\"]>();\n id = input<DBPageProps[\"id\"]>();\n className = input<DBPageProps[\"className\"]>();\n mainClass = input<DBPageProps[\"mainClass\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n fontsLoaded = signal<DBPageState[\"fontsLoaded\"]>(false);\n\n constructor() {}\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 this.fontsLoaded.set(!this.fadeIn());\n if (document && this.fadeIn()) {\n document.fonts.ready.then(() => {\n this.fontsLoaded.set(true);\n });\n } else {\n this.fontsLoaded.set(true);\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 Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\nRenderer2, model } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBRadioProps, DBRadioState } from \"./model\";\nimport { cls, getBoolean, 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 standalone: true,\n imports: [CommonModule],\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]=\"getBoolean(checked(), 'checked')\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [attr.aria-describedby]=\"describedbyid() ?? ariaDescribedBy()\"\n [attr.value]=\"value()\"\n [required]=\"getBoolean(required(), 'required')\"\n (change)=\"handleChange($event)\"\n (blur)=\"handleBlur($event)\"\n (focus)=\"handleFocus($event)\"\n />\n @if(label()){ {{label()}} }@else{\n <ng-content></ng-content>\n }\n </label>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBRadio implements AfterViewInit, ControlValueAccessor {\n protected readonly getHideProp = getHideProp;\n protected readonly cls = cls;\n protected readonly getBoolean = getBoolean;\n\n id = input<DBRadioProps[\"id\"]>();\n checked = input<DBRadioProps[\"checked\"]>();\n size = input<DBRadioProps[\"size\"]>();\n showLabel = input<DBRadioProps[\"showLabel\"]>();\n className = input<DBRadioProps[\"className\"]>();\n validation = input<DBRadioProps[\"validation\"]>();\n name = input<DBRadioProps[\"name\"]>();\n disabled = model<DBRadioProps[\"disabled\"]>();\n describedbyid = input<DBRadioProps[\"describedbyid\"]>();\n ariaDescribedBy = input<DBRadioProps[\"ariaDescribedBy\"]>();\n value = model<DBRadioProps[\"value\"]>();\n required = input<DBRadioProps[\"required\"]>();\n label = input<DBRadioProps[\"label\"]>();\n change = output<\n Parameters<Required<DBRadioProps>[\"onChange\"]>[number] | void\n >();\n blur = output<Parameters<Required<DBRadioProps>[\"onBlur\"]>[number] | void>();\n focus = output<\n Parameters<Required<DBRadioProps>[\"onFocus\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n initialized = signal<DBRadioState[\"initialized\"]>(false);\n _id = signal<DBRadioState[\"_id\"]>(undefined);\n\n handleChange(event: ChangeEvent<HTMLInputElement> | any) {\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n }\n handleBlur(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n constructor(private renderer: Renderer2,) {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.initialized();\n this._ref();\n this.checked();\n // ---\n\n if (\n this.checked() &&\n this.initialized() &&\n this._ref()?.nativeElement\n ) {\n this._ref()!.nativeElement.checked = true;\n }\n },\n {\n // Enable writing to signals inside effects\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 \n\t\twriteValue(value: any) {\n\t\t\tif(value){\n\t\t this.value.set(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}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled.set(disabled);\n\t\t}\n\n\t\tngOnInit() {\n \n this._id.set(this.id() ?? `radio-${uuid()}`);\n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-radio\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\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 standalone: true,\n imports: [CommonModule],\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 styles: `:host { display: contents; }`,\n})\nexport class DBSection implements AfterViewInit {\n protected readonly cls = cls;\n\n id = input<DBSectionProps[\"id\"]>();\n className = input<DBSectionProps[\"className\"]>();\n spacing = input<DBSectionProps[\"spacing\"]>();\n width = input<DBSectionProps[\"width\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBSectionState[\"_id\"]>(DEFAULT_ID);\n\n constructor() {}\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._id.set(this.id() || \"section-\" + uuid());\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-section\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\nRenderer2, model } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBSelectOptionType, DBSelectProps, DBSelectState } from \"./model\";\nimport {\n cls,\n delay,\n getBoolean,\n getHideProp,\n getOptionKey,\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 standalone: true,\n imports: [CommonModule, DBInfotext],\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]=\"getBoolean(required(), 'required')\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [attr.id]=\"_id()\"\n [attr.name]=\"name()\"\n [attr.size]=\"size()\"\n [value]=\"value() ?? _value()\"\n [attr.autocomplete]=\"autocomplete()\"\n [attr.multiple]=\"multiple()\"\n (input)=\"handleInput($event)\"\n (click)=\"handleClick($event)\"\n (change)=\"handleChange($event)\"\n (blur)=\"handleBlur($event)\"\n (focus)=\"handleFocus($event)\"\n [attr.aria-describedby]=\"ariaDescribedBy() ?? _descByIds()\"\n >\n <option [attr.hidden]=\"true\"></option>\n @if(options()?.length){ @for (option of options();track i;let i =\n $index) {\n <ng-container>\n @if(option.options){\n <optgroup [attr.label]=\"getOptionLabel(option)\">\n @for (optgroupOption of option.options;track\n trackByOptgroupOption0;let i = $index) {\n <option\n [value]=\"optgroupOption.value\"\n [attr.selected]=\"optgroupOption.selected\"\n [disabled]=\"optgroupOption.disabled\"\n >\n {{getOptionLabel(optgroupOption)}}\n </option>\n }\n </optgroup>\n }@else{\n <option\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n [attr.selected]=\"option.selected\"\n >\n {{getOptionLabel(option)}}\n </option>\n }\n </ng-container>\n } }@else{\n <ng-content></ng-content>\n }\n </select>\n <span [attr.id]=\"_placeholderId()\">{{placeholder() ?? label()}}</span>\n @if(stringPropVisible(message(), showMessage())){\n <db-infotext size=\"small\" [icon]=\"messageIcon()\" [id]=\"_messageId()\">\n {{message()}}\n </db-infotext>\n } @if(hasValidState()){\n <db-infotext size=\"small\" semantic=\"successful\" [id]=\"_validMessageId()\">\n {{validMessage() || DEFAULT_VALID_MESSAGE}}\n </db-infotext>\n }\n <db-infotext size=\"small\" semantic=\"critical\" [id]=\"_invalidMessageId()\">\n {{_invalidMessage()}}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {{_voiceOverFallback()}}\n </span>\n </div>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBSelect implements AfterViewInit, ControlValueAccessor {\n protected readonly cls = cls;\n protected readonly getHideProp = getHideProp;\n protected readonly DEFAULT_LABEL = DEFAULT_LABEL;\n protected readonly getBoolean = getBoolean;\n protected readonly getOptionKey = getOptionKey;\n protected readonly stringPropVisible = stringPropVisible;\n protected readonly DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;\n\n id = input<DBSelectProps[\"id\"]>();\n invalidMessage = input<DBSelectProps[\"invalidMessage\"]>();\n message = input<DBSelectProps[\"message\"]>();\n showMessage = input<DBSelectProps[\"showMessage\"]>();\n value = model<DBSelectProps[\"value\"]>();\n validMessage = input<DBSelectProps[\"validMessage\"]>();\n validation = input<DBSelectProps[\"validation\"]>();\n required = input<DBSelectProps[\"required\"]>();\n className = input<DBSelectProps[\"className\"]>();\n variant = input<DBSelectProps[\"variant\"]>();\n showLabel = input<DBSelectProps[\"showLabel\"]>();\n icon = input<DBSelectProps[\"icon\"]>();\n showIcon = input<DBSelectProps[\"showIcon\"]>();\n label = input<DBSelectProps[\"label\"]>();\n disabled = model<DBSelectProps[\"disabled\"]>();\n name = input<DBSelectProps[\"name\"]>();\n size = input<DBSelectProps[\"size\"]>();\n autocomplete = input<DBSelectProps[\"autocomplete\"]>();\n multiple = input<DBSelectProps[\"multiple\"]>();\n ariaDescribedBy = input<DBSelectProps[\"ariaDescribedBy\"]>();\n options = input<DBSelectProps[\"options\"]>();\n placeholder = input<DBSelectProps[\"placeholder\"]>();\n messageIcon = input<DBSelectProps[\"messageIcon\"]>();\n click = output<\n Parameters<Required<DBSelectProps>[\"onClick\"]>[number] | void\n >();\n input = output<\n Parameters<Required<DBSelectProps>[\"onInput\"]>[number] | void\n >();\n change = output<\n Parameters<Required<DBSelectProps>[\"onChange\"]>[number] | void\n >();\n blur = output<Parameters<Required<DBSelectProps>[\"onBlur\"]>[number] | void>();\n focus = output<\n Parameters<Required<DBSelectProps>[\"onFocus\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBSelectState[\"_id\"]>(undefined);\n _messageId = signal<DBSelectState[\"_messageId\"]>(undefined);\n _validMessageId = signal<DBSelectState[\"_validMessageId\"]>(undefined);\n _invalidMessageId = signal<DBSelectState[\"_invalidMessageId\"]>(undefined);\n _invalidMessage = signal<DBSelectState[\"_invalidMessage\"]>(undefined);\n _placeholderId = signal<DBSelectState[\"_placeholderId\"]>(\"\");\n _descByIds = signal<DBSelectState[\"_descByIds\"]>(\"\");\n _value = signal<DBSelectState[\"_value\"]>(\"\");\n initialized = signal<DBSelectState[\"initialized\"]>(false);\n _voiceOverFallback = signal<DBSelectState[\"_voiceOverFallback\"]>(\"\");\n\n hasValidState() {\n return !!(this.validMessage() ?? this.validation() === \"valid\");\n }\n handleValidation() {\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.set(this._invalidMessageId());\n this._invalidMessage.set(\n this.invalidMessage() ||\n this._ref()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(this._invalidMessage());\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref()?.nativeElement?.validity.valid &&\n this.required()\n ) {\n this._descByIds.set(this._validMessageId());\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(\n this.validMessage() ?? DEFAULT_VALID_MESSAGE\n );\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n } else if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(this._messageId());\n } else {\n this._descByIds.set(this._placeholderId());\n }\n }\n handleClick(event: ClickEvent<HTMLSelectElement> | any) {\n if (this.click) {\n this.click.emit(event);\n }\n }\n handleInput(event: InputEvent<HTMLSelectElement> | any) {\n if (this.input) {\n this.input.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLSelectElement> | any) {\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLSelectElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLSelectElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n getOptionLabel(option: DBSelectOptionType) {\n return option.label ?? option.value?.toString();\n }\n trackByOptgroupOption0(_: number, optgroupOption: any) {\n return getOptionKey(optgroupOption, \"select-optgroup-option-\");\n }\n\n constructor(private renderer: Renderer2,) {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.invalidMessage();\n // ---\n\n this._invalidMessage.set(\n this.invalidMessage() ||\n this._ref()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._id();\n this.initialized();\n // ---\n\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.set(messageId);\n this._validMessageId.set(\n this._id() + DEFAULT_VALID_MESSAGE_ID_SUFFIX\n );\n this._invalidMessageId.set(\n this._id() + DEFAULT_INVALID_MESSAGE_ID_SUFFIX\n );\n this._placeholderId.set(placeholderId);\n if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(messageId);\n } else {\n this._descByIds.set(placeholderId);\n }\n this.initialized.set(false);\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.value();\n // ---\n\n this._value.set(this.value());\n },\n {\n // Enable writing to signals inside effects\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 \n\t\twriteValue(value: any) {\n\t\t\t\n\t\t this.value.set(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}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled.set(disabled);\n\t\t}\n\n\t\tngOnInit() {\n \n const mId = this.id() ?? `select-${uuid()}`;\n this._id.set(mId);\n this._messageId.set(mId + DEFAULT_MESSAGE_ID_SUFFIX);\n this._validMessageId.set(mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX);\n this._invalidMessageId.set(mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX);\n this._placeholderId.set(mId + DEFAULT_PLACEHOLDER_ID_SUFFIX);\n this._invalidMessage.set(this.invalidMessage() || DEFAULT_INVALID_MESSAGE);\n }\n\n ngAfterViewInit() {\n\t this.writeValue(this.value());\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-select\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\nRenderer2, model } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBSwitchProps, DBSwitchState } from \"./model\";\nimport {\n cls,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n uuid,\n} 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 standalone: true,\n imports: [CommonModule],\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]=\"getBoolean(checked(), 'checked')\"\n [attr.value]=\"value()\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [attr.aria-describedby]=\"describedbyid() ?? ariaDescribedBy()\"\n [attr.aria-invalid]=\"validation() === 'invalid'\"\n [attr.data-custom-validity]=\"validation()\"\n [attr.name]=\"name()\"\n [required]=\"getBoolean(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 @if(label()){ {{label()}} }@else{\n <ng-content></ng-content>\n }\n </label>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBSwitch implements AfterViewInit, ControlValueAccessor {\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly getHideProp = getHideProp;\n protected readonly cls = cls;\n protected readonly getBoolean = getBoolean;\n\n id = input<DBSwitchProps[\"id\"]>();\n checked = model<DBSwitchProps[\"checked\"]>();\n visualAid = input<DBSwitchProps[\"visualAid\"]>();\n size = input<DBSwitchProps[\"size\"]>();\n showLabel = input<DBSwitchProps[\"showLabel\"]>();\n emphasis = input<DBSwitchProps[\"emphasis\"]>();\n className = input<DBSwitchProps[\"className\"]>();\n value = input<DBSwitchProps[\"value\"]>();\n disabled = model<DBSwitchProps[\"disabled\"]>();\n describedbyid = input<DBSwitchProps[\"describedbyid\"]>();\n ariaDescribedBy = input<DBSwitchProps[\"ariaDescribedBy\"]>();\n validation = input<DBSwitchProps[\"validation\"]>();\n name = input<DBSwitchProps[\"name\"]>();\n required = input<DBSwitchProps[\"required\"]>();\n icon = input<DBSwitchProps[\"icon\"]>();\n iconAfter = input<DBSwitchProps[\"iconAfter\"]>();\n label = input<DBSwitchProps[\"label\"]>();\n change = output<\n Parameters<Required<DBSwitchProps>[\"onChange\"]>[number] | void\n >();\n blur = output<Parameters<Required<DBSwitchProps>[\"onBlur\"]>[number] | void>();\n focus = output<\n Parameters<Required<DBSwitchProps>[\"onFocus\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBSwitchState[\"_id\"]>(undefined);\n _checked = signal<DBSwitchState[\"_checked\"]>(false);\n\n handleChange(event: ChangeEvent<HTMLInputElement>) {\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.set((event.target as any)?.[\"checked\"]);\n handleFrameworkEventAngular(this, event, \"checked\");\n }\n handleBlur(event: InteractionEvent<HTMLInputElement>) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement>) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n constructor(private renderer: Renderer2,) {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.checked();\n // ---\n\n if (this.checked() !== undefined && this.checked() !== null) {\n this._checked.set(getBoolean(this.checked()));\n }\n },\n {\n // Enable writing to signals inside effects\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 \n\t\twriteValue(value: any) {\n\t\t\t\n\t\t this.checked.set(!!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}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled.set(disabled);\n\t\t}\n\n\t\tngOnInit() {\n this._id.set(this.id() ?? `switch-${uuid()}`);\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-switch\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\nRenderer2, model } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport type { DBTabItemProps, DBTabItemState } from \"./model\";\nimport { cls, getBoolean, 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 standalone: true,\n imports: [CommonModule],\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]=\"getBooleanAsString(noText())\"\n >\n <input\n type=\"radio\"\n role=\"tab\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [attr.aria-selected]=\"_selected()\"\n [attr.aria-controls]=\"controls()\"\n [attr.checked]=\"getBoolean(checked(), 'checked')\"\n #_ref\n [attr.name]=\"_name()\"\n [attr.id]=\"id()\"\n (input)=\"handleChange($event)\"\n />\n @if(label()){ {{label()}} }\n <ng-content></ng-content>\n </label>\n </li>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBTabItem implements AfterViewInit, ControlValueAccessor {\n protected readonly cls = cls;\n protected readonly getHideProp = getHideProp;\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly getBoolean = getBoolean;\n\n active = input<DBTabItemProps[\"active\"]>();\n name = input<DBTabItemProps[\"name\"]>();\n className = input<DBTabItemProps[\"className\"]>();\n id = input<DBTabItemProps[\"id\"]>();\n icon = input<DBTabItemProps[\"icon\"]>();\n iconAfter = input<DBTabItemProps[\"iconAfter\"]>();\n showIcon = input<DBTabItemProps[\"showIcon\"]>();\n noText = input<DBTabItemProps[\"noText\"]>();\n disabled = model<DBTabItemProps[\"disabled\"]>();\n controls = input<DBTabItemProps[\"controls\"]>();\n checked = model<DBTabItemProps[\"checked\"]>();\n label = input<DBTabItemProps[\"label\"]>();\n change = output<\n Parameters<Required<DBTabItemProps>[\"onChange\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _selected = signal<DBTabItemState[\"_selected\"]>(false);\n _name = signal<DBTabItemState[\"_name\"]>(undefined);\n initialized = signal<DBTabItemState[\"initialized\"]>(false);\n\n handleNameAttribute() {\n if (this._ref()?.nativeElement) {\n const setAttribute = this._ref()?.nativeElement.setAttribute;\n this._ref()!.nativeElement.setAttribute = (\n attribute: string,\n value: string\n ) => {\n setAttribute.call(this._ref()?.nativeElement, attribute, value);\n if (attribute === \"name\") {\n this._name.set(value);\n }\n };\n }\n }\n handleChange(event: any) {\n event.stopPropagation();\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.set((event.target as any)?.[\"checked\"]);\n handleFrameworkEventAngular(this, event, \"checked\");\n }\n\n constructor(private renderer: Renderer2,) {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.initialized();\n // ---\n\n if (this.initialized() && this._ref()?.nativeElement) {\n if (this.active()) {\n this._ref()?.nativeElement.click();\n }\n this.initialized.set(false);\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.name();\n // ---\n\n if (this.name()) {\n this._name.set(this.name());\n }\n },\n {\n // Enable writing to signals inside effects\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 \n\t\twriteValue(value: any) {\n\t\t\t\n\t\t this.checked.set(!!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}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled.set(disabled);\n\t\t}\n\n\t\tngOnInit() {\n \n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tab-item\");\n }\n}\n","import { uuid } from './index';\nexport class DocumentScrollListener {\n private static callbacks: Record<string, (event: any) => void> = {};\n private static _instance: DocumentScrollListener | null = null;\n private static runCallbacks(event: any) {\n for (const callback of Object.values(DocumentScrollListener.callbacks)) {\n if (typeof callback === 'function') {\n callback(event);\n }\n }\n }\n private ticking = false;\n constructor() {\n if (DocumentScrollListener._instance) {\n return DocumentScrollListener._instance;\n }\n DocumentScrollListener._instance = this;\n if (self.document) {\n self.document.addEventListener('scroll', event => {\n if (!this.ticking) {\n window.requestAnimationFrame(() => {\n DocumentScrollListener.runCallbacks(event);\n this.ticking = false;\n });\n this.ticking = true;\n }\n }, true);\n }\n }\n public addCallback(callback: (event: any) => void) {\n const callbackID = uuid();\n DocumentScrollListener.callbacks[callbackID] = callback;\n return callbackID;\n }\n public removeCallback(id: string) {\n delete DocumentScrollListener.callbacks[id];\n }\n}","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBTooltipProps, DBTooltipState } from \"./model\";\nimport {\n cls,\n delay as utilsDelay,\n getBooleanAsString,\n uuid,\n} from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\nimport { handleFixedPopover } from \"../../utils/floating-components\";\nimport { DocumentScrollListener } from \"../../utils/document-scroll-listener\";\n\n@Component({\n selector: \"db-tooltip\",\n standalone: true,\n imports: [CommonModule],\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 styles: `:host { display: contents; }`,\n})\nexport class DBTooltip implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n id = input<DBTooltipProps[\"id\"]>();\n variant = input<DBTooltipProps[\"variant\"]>();\n placement = input<DBTooltipProps[\"placement\"]>();\n className = input<DBTooltipProps[\"className\"]>();\n emphasis = input<DBTooltipProps[\"emphasis\"]>();\n animation = input<DBTooltipProps[\"animation\"]>();\n delay = input<DBTooltipProps[\"delay\"]>();\n width = input<DBTooltipProps[\"width\"]>();\n showArrow = input<DBTooltipProps[\"showArrow\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBTooltipState[\"_id\"]>(DEFAULT_ID);\n initialized = signal<DBTooltipState[\"initialized\"]>(false);\n _documentScrollListenerCallbackId =\n signal<DBTooltipState[\"_documentScrollListenerCallbackId\"]>(undefined);\n _observer = signal<DBTooltipState[\"_observer\"]>(undefined);\n\n handleClick(event: ClickEvent<HTMLElement>) {\n event.stopPropagation();\n }\n handleEscape(event: any) {\n if (\n (!event || event.key === \"Escape\") &&\n this._ref()?.nativeElement &&\n getComputedStyle(this._ref()?.nativeElement).visibility === \"visible\"\n ) {\n this.getParent().blur();\n }\n }\n getParent() {\n let parent = this._ref()?.nativeElement.parentElement;\n if (parent && parent.localName.includes(\"tooltip\")) {\n // Angular workaround\n parent = parent.parentElement;\n }\n return parent;\n }\n handleAutoPlacement(parent?: HTMLElement) {\n if (!parent) return;\n if (this._ref()?.nativeElement) {\n // This is a workaround for angular\n utilsDelay(() => {\n handleFixedPopover(\n this._ref()?.nativeElement,\n parent,\n (this.placement() as unknown as string) ?? \"bottom\"\n );\n }, 1);\n }\n }\n handleDocumentScroll(event: any, parent?: HTMLElement) {\n if (\n event?.target?.contains &&\n event?.target?.contains(this._ref()?.nativeElement)\n ) {\n this.handleAutoPlacement(parent);\n }\n }\n handleLeave() {\n if (this._documentScrollListenerCallbackId()) {\n new DocumentScrollListener().removeCallback(\n this._documentScrollListenerCallbackId()!\n );\n }\n this._observer()?.unobserve(this.getParent());\n }\n handleEnter(parent?: HTMLElement) {\n this._documentScrollListenerCallbackId.set(\n new DocumentScrollListener().addCallback((event) =>\n this.handleDocumentScroll(event, parent)\n )\n );\n this.handleAutoPlacement(parent);\n this._observer()?.observe(this.getParent());\n }\n\n constructor() {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.initialized();\n // ---\n\n if (this._ref()?.nativeElement && this.initialized() && this._id()) {\n const parent = this.getParent();\n if (parent) {\n [\"mouseenter\", \"focusin\"].forEach((event) => {\n parent.addEventListener(event, () => this.handleEnter(parent));\n });\n parent.addEventListener(\"keydown\", (event) =>\n this.handleEscape(event)\n );\n [\"mouseleave\", \"focusout\"].forEach((event) => {\n parent.addEventListener(event, () => this.handleLeave());\n });\n parent.setAttribute(\"data-has-tooltip\", \"true\");\n if (this.variant() === \"label\") {\n parent.setAttribute(\"aria-labelledby\", this._id());\n } else {\n parent.setAttribute(\"aria-describedby\", this._id());\n }\n }\n if (\n typeof window !== \"undefined\" &&\n \"IntersectionObserver\" in window\n ) {\n this._observer.set(\n new IntersectionObserver((payload) => {\n const entry = payload.find(\n ({ target }) => target === this.getParent()\n );\n if (entry && !entry.isIntersecting) {\n this.handleEscape(false);\n }\n })\n );\n }\n this.initialized.set(false);\n }\n },\n {\n // Enable writing to signals inside effects\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 this._id.set(this.id() || \"tooltip-\" + uuid());\n \n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tooltip\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBTagProps, DBTagState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp } from \"../../utils\";\nimport { DEFAULT_REMOVE } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { DBTooltip } from \"../tooltip/tooltip\";\n\n@Component({\n selector: \"db-tag\",\n standalone: true,\n imports: [CommonModule, DBTooltip],\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 @if(text()){ {{text()}} } @if(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 type=\"button\"\n (click)=\"handleRemove($event)\"\n >\n <db-tooltip variant=\"label\">{{getRemoveButtonText()}}</db-tooltip>\n </button>\n }\n </div>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBTag implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly getHideProp = getHideProp;\n\n disabled = input<DBTagProps[\"disabled\"]>();\n removeButton = input<DBTagProps[\"removeButton\"]>();\n id = input<DBTagProps[\"id\"]>();\n className = input<DBTagProps[\"className\"]>();\n semantic = input<DBTagProps[\"semantic\"]>();\n emphasis = input<DBTagProps[\"emphasis\"]>();\n icon = input<DBTagProps[\"icon\"]>();\n showCheckState = input<DBTagProps[\"showCheckState\"]>();\n showIcon = input<DBTagProps[\"showIcon\"]>();\n noText = input<DBTagProps[\"noText\"]>();\n overflow = input<DBTagProps[\"overflow\"]>();\n text = input<DBTagProps[\"text\"]>();\n behavior = input<DBTagProps[\"behavior\"]>();\n remove = output<\n Parameters<Required<DBTagProps>[\"onRemove\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n initialized = signal<DBTagState[\"initialized\"]>(false);\n\n handleRemove(event?: ClickEvent<HTMLButtonElement>) {\n event?.stopPropagation();\n if (this.remove) {\n this.remove.emit(event);\n }\n }\n 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 DEFAULT_REMOVE;\n }\n\n constructor() {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.initialized();\n this.disabled();\n this._ref();\n // ---\n\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 = Boolean(this.disabled());\n }\n }\n }\n },\n {\n // Enable writing to signals inside effects\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 \n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tag\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\nRenderer2, model } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBTextareaProps, DBTextareaState } from \"./model\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport {\n cls,\n delay,\n getBoolean,\n getHideProp,\n getNumber,\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 standalone: true,\n imports: [CommonModule, DBInfotext],\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 [attr.data-field-sizing]=\"fieldSizing()\"\n #_ref\n [attr.id]=\"_id()\"\n [attr.data-resize]=\"resize()\"\n [attr.data-hide-resizer]=\"getHideProp(showResizer() ?? true)\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [required]=\"getBoolean(required(), 'required')\"\n [attr.readOnly]=\"getBoolean(readOnly(), 'readOnly') || getBoolean(readonly(), 'readonly')\"\n [attr.form]=\"form()\"\n [attr.maxLength]=\"getNumber(maxLength(), maxlength())\"\n [attr.minLength]=\"getNumber(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]=\"ariaDescribedBy() ?? _descByIds()\"\n [attr.placeholder]=\"placeholder() ?? DEFAULT_PLACEHOLDER\"\n [attr.rows]=\"getNumber(rows(), DEFAULT_ROWS)\"\n [attr.cols]=\"getNumber(cols())\"\n >{{value()}}</textarea>\n @if(stringPropVisible(message(), showMessage())){\n <db-infotext size=\"small\" [icon]=\"messageIcon()\" [id]=\"_messageId()\">\n {{message()}}\n </db-infotext>\n } @if(hasValidState()){\n <db-infotext size=\"small\" semantic=\"successful\" [id]=\"_validMessageId()\">\n {{validMessage() || DEFAULT_VALID_MESSAGE}}\n </db-infotext>\n }\n <db-infotext size=\"small\" semantic=\"critical\" [id]=\"_invalidMessageId()\">\n {{_invalidMessage()}}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {{_voiceOverFallback()}}\n </span>\n </div>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBTextarea implements AfterViewInit, ControlValueAccessor {\n protected readonly cls = cls;\n protected readonly getHideProp = getHideProp;\n protected readonly DEFAULT_LABEL = DEFAULT_LABEL;\n protected readonly getBoolean = getBoolean;\n protected readonly getNumber = getNumber;\n protected readonly DEFAULT_PLACEHOLDER = DEFAULT_PLACEHOLDER;\n protected readonly DEFAULT_ROWS = DEFAULT_ROWS;\n protected readonly stringPropVisible = stringPropVisible;\n protected readonly DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;\n\n id = input<DBTextareaProps[\"id\"]>();\n invalidMessage = input<DBTextareaProps[\"invalidMessage\"]>();\n message = input<DBTextareaProps[\"message\"]>();\n showMessage = input<DBTextareaProps[\"showMessage\"]>();\n value = model<DBTextareaProps[\"value\"]>();\n validMessage = input<DBTextareaProps[\"validMessage\"]>();\n validation = input<DBTextareaProps[\"validation\"]>();\n required = input<DBTextareaProps[\"required\"]>();\n minLength = input<DBTextareaProps[\"minLength\"]>();\n maxLength = input<DBTextareaProps[\"maxLength\"]>();\n className = input<DBTextareaProps[\"className\"]>();\n variant = input<DBTextareaProps[\"variant\"]>();\n showLabel = input<DBTextareaProps[\"showLabel\"]>();\n label = input<DBTextareaProps[\"label\"]>();\n fieldSizing = input<DBTextareaProps[\"fieldSizing\"]>();\n resize = input<DBTextareaProps[\"resize\"]>();\n showResizer = input<DBTextareaProps[\"showResizer\"]>();\n disabled = model<DBTextareaProps[\"disabled\"]>();\n readOnly = input<DBTextareaProps[\"readOnly\"]>();\n readonly = input<DBTextareaProps[\"readonly\"]>();\n form = input<DBTextareaProps[\"form\"]>();\n maxlength = input<DBTextareaProps[\"maxlength\"]>();\n minlength = input<DBTextareaProps[\"minlength\"]>();\n name = input<DBTextareaProps[\"name\"]>();\n wrap = input<DBTextareaProps[\"wrap\"]>();\n spellCheck = input<DBTextareaProps[\"spellCheck\"]>();\n autocomplete = input<DBTextareaProps[\"autocomplete\"]>();\n ariaDescribedBy = input<DBTextareaProps[\"ariaDescribedBy\"]>();\n placeholder = input<DBTextareaProps[\"placeholder\"]>();\n rows = input<DBTextareaProps[\"rows\"]>();\n cols = input<DBTextareaProps[\"cols\"]>();\n messageIcon = input<DBTextareaProps[\"messageIcon\"]>();\n input = output<\n Parameters<Required<DBTextareaProps>[\"onInput\"]>[number] | void\n >();\n change = output<\n Parameters<Required<DBTextareaProps>[\"onChange\"]>[number] | void\n >();\n blur = output<\n Parameters<Required<DBTextareaProps>[\"onBlur\"]>[number] | void\n >();\n focus = output<\n Parameters<Required<DBTextareaProps>[\"onFocus\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBTextareaState[\"_id\"]>(undefined);\n _messageId = signal<DBTextareaState[\"_messageId\"]>(undefined);\n _validMessageId = signal<DBTextareaState[\"_validMessageId\"]>(undefined);\n _invalidMessageId = signal<DBTextareaState[\"_invalidMessageId\"]>(undefined);\n _invalidMessage = signal<DBTextareaState[\"_invalidMessage\"]>(undefined);\n _descByIds = signal<DBTextareaState[\"_descByIds\"]>(\"\");\n _value = signal<DBTextareaState[\"_value\"]>(\"\");\n _voiceOverFallback = signal<DBTextareaState[\"_voiceOverFallback\"]>(\"\");\n\n hasValidState() {\n return !!(this.validMessage() ?? this.validation() === \"valid\");\n }\n handleValidation() {\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.set(this._invalidMessageId());\n this._invalidMessage.set(\n this.invalidMessage() ||\n this._ref()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(this._invalidMessage());\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref()?.nativeElement?.validity.valid &&\n (this.required() || this.minLength() || this.maxLength())\n ) {\n this._descByIds.set(this._validMessageId());\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(\n this.validMessage() ?? DEFAULT_VALID_MESSAGE\n );\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n } else if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(this._messageId());\n } else {\n this._descByIds.set(\"\");\n }\n }\n handleInput(event: InputEvent<HTMLTextAreaElement>) {\n if (this.input) {\n this.input.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLTextAreaElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLTextAreaElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLTextAreaElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n constructor(private renderer: Renderer2,) {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.invalidMessage();\n // ---\n\n this._invalidMessage.set(\n this.invalidMessage() ||\n this._ref()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._id();\n // ---\n\n if (this._id()) {\n const messageId = this._id() + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId.set(messageId);\n this._validMessageId.set(\n this._id() + DEFAULT_VALID_MESSAGE_ID_SUFFIX\n );\n this._invalidMessageId.set(\n this._id() + DEFAULT_INVALID_MESSAGE_ID_SUFFIX\n );\n if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(messageId);\n }\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.value();\n // ---\n\n this._value.set(this.value());\n },\n {\n // Enable writing to signals inside effects\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 \n\t\twriteValue(value: any) {\n\t\t\t\n\t\t this.value.set(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}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled.set(disabled);\n\t\t}\n\n\t\tngOnInit() {\n const mId = this.id() ?? `textarea-${uuid()}`;\n this._id.set(mId);\n this._messageId.set(mId + DEFAULT_MESSAGE_ID_SUFFIX);\n this._validMessageId.set(mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX);\n this._invalidMessageId.set(mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX);\n this._invalidMessage.set(this.invalidMessage() || DEFAULT_INVALID_MESSAGE);\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-textarea\");\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 Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\nContentChild, TemplateRef } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBNavigationItemProps, DBNavigationItemState } from \"./model\";\nimport { DBButton } from \"../button/button\";\nimport {\n cls,\n delay,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n uuid,\n} 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 standalone: true,\n imports: [CommonModule, DBButton],\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.data-wrap]=\"getBooleanAsString(wrap())\"\n [attr.aria-disabled]=\"getBooleanAsString(disabled())\"\n >\n @if(!hasSubNavigation()){ @if(text()){ {{text()}} }@else{\n <ng-content *ngTemplateOutlet=\"dbNavigationContent\"></ng-content>\n } } @if(hasSubNavigation()){\n <button\n class=\"db-navigation-item-expand-button\"\n [attr.aria-haspopup]=\"hasAreaPopup()\"\n [attr.aria-expanded]=\"isSubNavigationExpanded()\"\n [attr.disabled]=\"getBoolean(disabled(), 'disabled')\"\n (click)=\"handleClick($event)\"\n >\n @if(text()){ {{text()}} }@else{\n <ng-content *ngTemplateOutlet=\"dbNavigationContent\"></ng-content>\n }\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 @if(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 }\n <ng-content select=\"[sub-navigation]\"></ng-content>\n </menu>\n }\n </li>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBNavigationItem implements AfterViewInit {\n\t@ContentChild(NavigationContentDirective, { read: TemplateRef }) dbNavigationContent: any;\n protected readonly cls = cls;\n protected readonly getHideProp = getHideProp;\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly getBoolean = getBoolean;\n protected readonly DEFAULT_BACK = DEFAULT_BACK;\n\n subNavigationExpanded =\n input<DBNavigationItemProps[\"subNavigationExpanded\"]>();\n id = input<DBNavigationItemProps[\"id\"]>();\n className = input<DBNavigationItemProps[\"className\"]>();\n width = input<DBNavigationItemProps[\"width\"]>();\n icon = input<DBNavigationItemProps[\"icon\"]>();\n showIcon = input<DBNavigationItemProps[\"showIcon\"]>();\n active = input<DBNavigationItemProps[\"active\"]>();\n wrap = input<DBNavigationItemProps[\"wrap\"]>();\n disabled = input<DBNavigationItemProps[\"disabled\"]>();\n text = input<DBNavigationItemProps[\"text\"]>();\n backButtonId = input<DBNavigationItemProps[\"backButtonId\"]>();\n backButtonText = input<DBNavigationItemProps[\"backButtonText\"]>();\n click = output<\n Parameters<Required<DBNavigationItemProps>[\"onClick\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n initialized = signal<DBNavigationItemState[\"initialized\"]>(false);\n hasAreaPopup = signal<DBNavigationItemState[\"hasAreaPopup\"]>(false);\n hasSubNavigation = signal<DBNavigationItemState[\"hasSubNavigation\"]>(true);\n isSubNavigationExpanded =\n signal<DBNavigationItemState[\"isSubNavigationExpanded\"]>(false);\n autoClose = signal<DBNavigationItemState[\"autoClose\"]>(false);\n subNavigationId = signal<DBNavigationItemState[\"subNavigationId\"]>(\n \"sub-navigation-\" + uuid()\n );\n navigationItemSafeTriangle =\n signal<DBNavigationItemState[\"navigationItemSafeTriangle\"]>(undefined);\n\n handleNavigationItemClick(event: unknown) {\n if (isEventTargetNavigationItem(event)) {\n this.autoClose.set(true);\n delay(() => {\n this.autoClose.set(false);\n }, 300);\n }\n }\n handleClick(event: ClickEvent<HTMLButtonElement> | any) {\n if (this.click) {\n event.stopPropagation();\n this.click.emit(event);\n }\n if (this.hasAreaPopup()) {\n this.isSubNavigationExpanded.set(true);\n }\n }\n handleBackClick(event: ClickEvent<HTMLButtonElement> | any) {\n event.stopPropagation();\n this.isSubNavigationExpanded.set(false);\n }\n\n constructor() {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.subNavigationExpanded();\n // ---\n\n if (this.subNavigationExpanded() !== undefined) {\n this.isSubNavigationExpanded.set(\n !!getBoolean(this.subNavigationExpanded(), \"subNavigationExpanded\")\n );\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.initialized();\n this._ref();\n // ---\n\n if (this.initialized() && this._ref()?.nativeElement) {\n const subNavigationSlot =\n this._ref()?.nativeElement.querySelector(\"menu\");\n if (subNavigationSlot) {\n if (subNavigationSlot.children?.length > 0) {\n this.hasAreaPopup.set(true);\n if (!this.navigationItemSafeTriangle()) {\n this.navigationItemSafeTriangle.set(\n new NavigationItemSafeTriangle(\n this._ref()!.nativeElement,\n subNavigationSlot\n )\n );\n }\n } else {\n this.hasSubNavigation.set(false);\n }\n }\n }\n },\n {\n // Enable writing to signals inside effects\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 \n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-navigation-item\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\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 standalone: true,\n imports: [CommonModule],\n template: `\n <li [attr.id]=\"_id()\" [class]=\"cls('db-accordion-item', className())\">\n <details\n [attr.aria-disabled]=\"getBooleanAsString(disabled())\"\n #_ref\n [attr.name]=\"_name()\"\n [open]=\"_open()\"\n >\n <summary (click)=\"handleToggle($event)\">\n @if(headlinePlain()){ {{headlinePlain()}} } @if(!headlinePlain()){\n <ng-content select=\"[headline]\"></ng-content>\n }\n </summary>\n <div>\n @if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\n }\n </div>\n </details>\n </li>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBAccordionItem implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n id = input<DBAccordionItemProps[\"id\"]>();\n defaultOpen = input<DBAccordionItemProps[\"defaultOpen\"]>();\n name = input<DBAccordionItemProps[\"name\"]>();\n className = input<DBAccordionItemProps[\"className\"]>();\n disabled = input<DBAccordionItemProps[\"disabled\"]>();\n headlinePlain = input<DBAccordionItemProps[\"headlinePlain\"]>();\n text = input<DBAccordionItemProps[\"text\"]>();\n toggle = output<\n Parameters<Required<DBAccordionItemProps>[\"onToggle\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBAccordionItemState[\"_id\"]>(DEFAULT_ID);\n _open = signal<DBAccordionItemState[\"_open\"]>(false);\n _name = signal<DBAccordionItemState[\"_name\"]>(undefined);\n initialized = signal<DBAccordionItemState[\"initialized\"]>(false);\n\n handleNameAttribute() {\n if (this._ref()?.nativeElement) {\n const setAttribute = this._ref()?.nativeElement.setAttribute;\n this._ref()!.nativeElement.setAttribute = (\n attribute: string,\n value: string\n ) => {\n setAttribute.call(this._ref()?.nativeElement, attribute, value);\n if (attribute === \"name\") {\n this._name.set(value);\n }\n };\n }\n }\n handleToggle(event: ClickEvent<HTMLElement> | any) {\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.toggle) {\n this.toggle.emit(newStateOpen);\n }\n this._open.set(newStateOpen);\n }\n\n constructor() {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.initialized();\n // ---\n\n if (this._ref()?.nativeElement && this.initialized()) {\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.name();\n // ---\n\n if (this.name()) {\n this._name.set(this.name());\n }\n },\n {\n // Enable writing to signals inside effects\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 this._id.set(this.id() || \"accordion-item-\" + uuid());\n if (this.defaultOpen()) {\n this._open.set(this.defaultOpen());\n }\n \n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-accordion-item\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\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 standalone: true,\n imports: [CommonModule, DBAccordionItem],\n template: `\n <ul\n #_ref\n [attr.id]=\"_id()\"\n [class]=\"cls('db-accordion', className())\"\n [attr.data-variant]=\"variant()\"\n >\n @if(!items()){\n <ng-content></ng-content>\n } @if(items()){ @for (item of convertItems();track trackByItem0;let index\n = $index) {\n <db-accordion-item\n [headlinePlain]=\"item.headlinePlain\"\n [disabled]=\"item.disabled\"\n [text]=\"item.text\"\n ></db-accordion-item>\n } }\n </ul>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBAccordion implements AfterViewInit {\n protected readonly cls = cls;\n\n id = input<DBAccordionProps[\"id\"]>();\n name = input<DBAccordionProps[\"name\"]>();\n behavior = input<DBAccordionProps[\"behavior\"]>();\n initOpenIndex = input<DBAccordionProps[\"initOpenIndex\"]>();\n items = input<DBAccordionProps[\"items\"]>();\n className = input<DBAccordionProps[\"className\"]>();\n variant = input<DBAccordionProps[\"variant\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBAccordionState[\"_id\"]>(DEFAULT_ID);\n _name = signal<DBAccordionState[\"_name\"]>(\"\");\n initialized = signal<DBAccordionState[\"initialized\"]>(false);\n _initOpenIndexDone = signal<DBAccordionState[\"_initOpenIndexDone\"]>(false);\n\n convertItems() {\n try {\n if (typeof this.items() === \"string\") {\n return JSON.parse(this.items() as string);\n }\n return this.items() as DBAccordionItemDefaultProps[];\n } catch (error) {\n console.error(error);\n }\n return [];\n }\n trackByItem0(index: number, item: any) {\n return `accordion-item-${index}`;\n }\n\n constructor() {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.initialized();\n this.name();\n this.behavior();\n this._id();\n // ---\n\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.set(this.name());\n }\n } else {\n if (this._name() !== this._id() && this._id()) {\n this._name.set(this._id());\n }\n }\n } else {\n this._name.set(\"\");\n }\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\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>(\n childDetails\n )) {\n if (this._name() === \"\") {\n details.removeAttribute(\"name\");\n } else {\n details.name = this._name() ?? \"\";\n }\n }\n }\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this._initOpenIndexDone();\n this.initOpenIndex();\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.set(false);\n }\n },\n {\n // Enable writing to signals inside effects\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 this._id.set(this.id() || \"accordion-\" + uuid());\n \n this._initOpenIndexDone.set(true);\n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-accordion\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\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 standalone: true,\n imports: [CommonModule],\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 styles: `:host { display: contents; }`,\n})\nexport class DBNavigation implements AfterViewInit {\n protected readonly cls = cls;\n\n id = input<DBNavigationProps[\"id\"]>();\n labelledBy = input<DBNavigationProps[\"labelledBy\"]>();\n className = input<DBNavigationProps[\"className\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBNavigationState[\"_id\"]>(DEFAULT_ID);\n\n constructor() {}\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._id.set(this.id() || \"navigation-\" + uuid());\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 AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBPopoverProps, DBPopoverState } from \"./model\";\nimport { cls, delay as utilsDelay, getBooleanAsString } from \"../../utils\";\nimport { handleFixedPopover } from \"../../utils/floating-components\";\nimport { DocumentScrollListener } from \"../../utils/document-scroll-listener\";\n\n@Component({\n selector: \"db-popover\",\n standalone: true,\n imports: [CommonModule],\n template: `\n <div #_ref [attr.id]=\"id()\" [class]=\"cls('db-popover', className())\">\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]=\"getBooleanAsString(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 styles: `:host { display: contents; }`,\n})\nexport class DBPopover implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n placement = input<DBPopoverProps[\"placement\"]>();\n id = input<DBPopoverProps[\"id\"]>();\n className = input<DBPopoverProps[\"className\"]>();\n spacing = input<DBPopoverProps[\"spacing\"]>();\n gap = input<DBPopoverProps[\"gap\"]>();\n animation = input<DBPopoverProps[\"animation\"]>();\n open = input<DBPopoverProps[\"open\"]>();\n delay = input<DBPopoverProps[\"delay\"]>();\n width = input<DBPopoverProps[\"width\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n initialized = signal<DBPopoverState[\"initialized\"]>(false);\n isExpanded = signal<DBPopoverState[\"isExpanded\"]>(false);\n _documentScrollListenerCallbackId =\n signal<DBPopoverState[\"_documentScrollListenerCallbackId\"]>(undefined);\n _observer = signal<DBPopoverState[\"_observer\"]>(undefined);\n\n handleEscape(event: any) {\n if (!event || event.key === \"Escape\") {\n // TODO: Recursive for any child\n for (const child of Array.from(this._ref()?.nativeElement.children)) {\n (child as HTMLElement).blur();\n }\n }\n }\n handleAutoPlacement() {\n if (!this._ref()?.nativeElement) return;\n const article = this._ref()?.nativeElement.querySelector(\"article\");\n if (article) {\n // This is a workaround for angular\n utilsDelay(() => {\n handleFixedPopover(\n article,\n this._ref()?.nativeElement,\n (this.placement() as unknown as string) ?? \"bottom\"\n );\n }, 1);\n }\n }\n handleDocumentScroll(event: any) {\n if (\n event?.target?.contains &&\n event?.target?.contains(this._ref()?.nativeElement)\n ) {\n this.handleAutoPlacement();\n }\n }\n handleEnter() {\n this.isExpanded.set(true);\n this._documentScrollListenerCallbackId.set(\n new DocumentScrollListener().addCallback((event) =>\n this.handleDocumentScroll(event)\n )\n );\n this.handleAutoPlacement();\n const child = this.getTrigger();\n if (child) {\n this._observer()?.observe(child);\n }\n }\n handleLeave(event?: any) {\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.set(false);\n if (this._documentScrollListenerCallbackId()) {\n new DocumentScrollListener().removeCallback(\n this._documentScrollListenerCallbackId()!\n );\n }\n const child = this.getTrigger();\n if (child) {\n this._observer()?.unobserve(child);\n }\n }\n }\n getTrigger() {\n if (this._ref()?.nativeElement) {\n const children: Element[] = Array.from(\n this._ref()?.nativeElement.children\n );\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 constructor() {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.initialized();\n // ---\n\n if (this._ref()?.nativeElement && this.initialized()) {\n this.initialized.set(false);\n const child = this.getTrigger();\n if (child) {\n child.ariaHasPopup = \"true\";\n }\n this.handleAutoPlacement();\n this._ref()?.nativeElement.addEventListener(\"keydown\", (event: any) =>\n this.handleEscape(event)\n );\n [\"mouseenter\", \"focusin\"].forEach((event) => {\n this._ref()?.nativeElement.addEventListener(event, () =>\n this.handleEnter()\n );\n });\n [\"mouseleave\", \"focusout\"].forEach((event) => {\n this._ref()?.nativeElement.addEventListener(event, () =>\n this.handleLeave()\n );\n });\n if (\n typeof window !== \"undefined\" &&\n \"IntersectionObserver\" in window\n ) {\n this._observer.set(\n new IntersectionObserver((payload) => {\n const entry = payload.find(\n ({ target }) => target === this.getTrigger()\n );\n if (entry && !entry.isIntersecting) {\n this.handleEscape(false);\n }\n })\n );\n }\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.isExpanded();\n // ---\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 // Enable writing to signals inside effects\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 \n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-popover\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\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 standalone: true,\n imports: [CommonModule],\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 styles: `:host { display: contents; }`,\n})\nexport class DBTabList implements AfterViewInit {\n protected readonly cls = cls;\n\n id = input<DBTabListProps[\"id\"]>();\n className = input<DBTabListProps[\"className\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBTabListState[\"_id\"]>(DEFAULT_ID);\n\n constructor() {}\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._id.set(this.id() || \"tab-list-\" + uuid());\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tab-list\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBTabPanelProps, DBTabPanelState } from \"./model\";\nimport { cls } from \"../../utils\";\n\n@Component({\n selector: \"db-tab-panel\",\n standalone: true,\n imports: [CommonModule],\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 @if(content()){ {{content()}} }\n <ng-content></ng-content>\n </section>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBTabPanel implements AfterViewInit {\n protected readonly cls = cls;\n\n className = input<DBTabPanelProps[\"className\"]>();\n id = input<DBTabPanelProps[\"id\"]>();\n labelledBy = input<DBTabPanelProps[\"labelledBy\"]>();\n content = input<DBTabPanelProps[\"content\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n constructor() {}\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\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tab-panel\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\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 standalone: true,\n imports: [CommonModule, DBButton, DBTabList, DBTabItem, DBTabPanel],\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 @if(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 } @if(tabs()){\n <db-tab-list>\n @for (tab of convertTabs();track trackByTab0;let index = $index) {\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 }\n </db-tab-list>\n\n @for (tab of convertTabs();track trackByTab1;let index = $index) {\n <db-tab-panel [content]=\"tab.content\">{{tab.children}}</db-tab-panel>\n } } @if(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 }\n <ng-content></ng-content>\n </div>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBTabs implements AfterViewInit {\n protected readonly cls = cls;\n\n id = input<DBTabsProps[\"id\"]>();\n name = input<DBTabsProps[\"name\"]>();\n tabs = input<DBTabsProps[\"tabs\"]>();\n arrowScrollDistance = input<DBTabsProps[\"arrowScrollDistance\"]>();\n orientation = input<DBTabsProps[\"orientation\"]>();\n behavior = input<DBTabsProps[\"behavior\"]>();\n initialSelectedMode = input<DBTabsProps[\"initialSelectedMode\"]>();\n initialSelectedIndex = input<DBTabsProps[\"initialSelectedIndex\"]>();\n className = input<DBTabsProps[\"className\"]>();\n alignment = input<DBTabsProps[\"alignment\"]>();\n width = input<DBTabsProps[\"width\"]>();\n indexChange = output<\n Parameters<Required<DBTabsProps>[\"onIndexChange\"]>[number] | void\n >();\n tabSelect = output<\n Parameters<Required<DBTabsProps>[\"onTabSelect\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBTabsState[\"_id\"]>(\"tabs-\" + uuid());\n _name = signal<DBTabsState[\"_name\"]>(\"\");\n initialized = signal<DBTabsState[\"initialized\"]>(false);\n showScrollLeft = signal<DBTabsState[\"showScrollLeft\"]>(false);\n showScrollRight = signal<DBTabsState[\"showScrollRight\"]>(false);\n scrollContainer = signal<DBTabsState[\"scrollContainer\"]>(null);\n\n convertTabs() {\n try {\n if (typeof this.tabs() === \"string\") {\n return JSON.parse(this.tabs() as string);\n }\n return this.tabs() as DBSimpleTabProps[];\n } catch (error) {\n console.error(error);\n }\n return [];\n }\n evaluateScrollButtons(tList: Element) {\n const needsScroll = tList.scrollWidth > tList.clientWidth;\n this.showScrollLeft.set(needsScroll && tList.scrollLeft > 1);\n this.showScrollRight.set(\n needsScroll && tList.scrollLeft < tList.scrollWidth - tList.clientWidth\n );\n }\n scroll(left?: boolean) {\n let step = Number(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() {\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.set(container);\n this.evaluateScrollButtons(container);\n container.addEventListener(\"scroll\", () => {\n this.evaluateScrollButtons(container);\n });\n }\n }\n }\n }\n }\n initTabs(init?: boolean) {\n if (this._ref()?.nativeElement) {\n const tabItems = Array.from<Element>(\n this._ref()?.nativeElement.getElementsByClassName(\"db-tab-item\")\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 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.id = tabId;\n input.setAttribute(\"name\", this._name());\n if (tabPanels.length > index) {\n input.setAttribute(\n \"aria-controls\",\n `${this._name()}-tab-panel-${index}`\n );\n }\n }\n if (init) {\n // Auto select\n const autoSelect =\n !this.initialSelectedMode() ||\n this.initialSelectedMode() === \"auto\";\n const shouldAutoSelect =\n (this.initialSelectedIndex() == null && index === 0) ||\n Number(this.initialSelectedIndex()) === index;\n if (autoSelect && shouldAutoSelect) {\n input.click();\n }\n }\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) {\n event.stopPropagation();\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 const indices = Array.from(list.childNodes).indexOf(listItem);\n if (this.indexChange) {\n this.indexChange.emit(indices);\n }\n }\n if (this.tabSelect) {\n this.tabSelect.emit(event);\n }\n }\n trackByTab0(index: number, tab: any) {\n return this.name() + \"tab-item\" + index;\n }\n trackByTab1(index: number, tab: any) {\n return this.name() + \"tab-panel\" + index;\n }\n\n constructor() {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.initialized();\n // ---\n\n if (this._ref()?.nativeElement && this.initialized()) {\n this.initTabList();\n this.initTabs(true);\n const tabList =\n this._ref()?.nativeElement.querySelector(\".db-tab-list\");\n if (tabList) {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (\n mutation.removedNodes.length ||\n mutation.addedNodes.length\n ) {\n this.initTabList();\n this.initTabs();\n }\n });\n });\n observer.observe(tabList, {\n childList: true,\n subtree: true,\n });\n }\n this.initialized.set(false);\n }\n },\n {\n // Enable writing to signals inside effects\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 this._id.set(this.id() || this._id());\n this._name.set(`tabs-${this.name() || uuid()}`);\n \n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tabs\");\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 * @deprecated\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 | string;\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 | string;\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 PlacementHorizontalList = ['left', 'right', 'left-start', 'left-end', 'right-start', 'right-end'] as const;\nexport type PlacementHorizontalType = (typeof PlacementHorizontalList)[number];\nexport const PlacementVerticalList = ['top', 'bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'] as const;\nexport type PlacementVerticalType = (typeof PlacementVerticalList)[number];\nexport const PlacementList = [...PlacementHorizontalList, ...PlacementVerticalList] 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 | string;\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 | string;\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 | string;\n /**\n * Use fixed with for default max-width\n */\n width?: PopoverWidthType;\n};\nexport type NameProps = {\n /**\n * The name attribute gives the name of the element to group it.\n */\n name?: string;\n};\nexport type NameState = {\n _name?: string;\n handleNameAttribute: () => 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 ValidationList = ['invalid', 'valid', 'no-validation'] as const;\nexport type ValidationType = (typeof ValidationList)[number];\nexport type RequiredProps = {\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 | string;\n};\nexport type ShowLabelProps = {\n /**\n * Enables/disables the visibility of the label\n */\n showLabel?: boolean | string;\n};\nexport type ValueProps = {\n /**\n * The value property is to receive results from the native form element.\n */\n value?: any;\n};\nexport type BaseFormProps = {\n /**\n * The disabled attribute can be set to keep a user from clicking on the form element.\n */\n disabled?: boolean | string;\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};\nexport type CustomFormProps = {\n /**\n * Overwrites auto handling for aria-describedby.\n */\n ariaDescribedBy?: string;\n /**\n * \tAssociates the control with a form element\n */\n form?: string;\n\n /**\n * Marks an input element as invalid (red) / valid (green) / no-validation (grey). Overwrites the :user-valid selector.\n */\n validation?: ValidationType;\n};\nexport type FormProps = CustomFormProps & BaseFormProps & RequiredProps & ShowLabelProps & ValueProps;\nexport const FieldSizingList = ['fixed', 'content'] as const;\nexport type FieldSizingType = (typeof FieldSizingList)[number];\nexport type FormTextProps = {\n /**\n * Maximum length (number of characters) of value\n */\n maxLength?: number | string;\n /**\n * Minimum length (number of characters) of value\n */\n minLength?: number | string;\n /**\n * Maximum length (number of characters) of value\n */\n maxlength?: number | string;\n /**\n * Minimum length (number of characters) of value\n */\n minlength?: number | string;\n /**\n * The disabled attribute can be set to keep a user from edit on the form element\n */\n readOnly?: boolean | string;\n /**\n * The disabled attribute can be set to keep a user from edit on the form element\n */\n readonly?: boolean | string;\n\n /**\n * Adds shrinkwrap for input and textarea: https://developer.mozilla.org/en-US/docs/Web/CSS/field-sizing\n * Note: Only supported in Chromium browsers so far\n */\n fieldSizing?: FieldSizingType;\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 | string;\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 | string;\n};\nexport type FromValidState = {\n hasValidState: () => boolean;\n handleValidation: () => void;\n _invalidMessage?: string;\n};\nexport type FormState = {\n _messageId?: string;\n _validMessageId?: string;\n _invalidMessageId?: string;\n _descByIds?: string;\n _value?: string;\n _invalidMessage?: string;\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 | string;\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 | string;\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> | any) => void;\n};\nexport type ToggleEventProps = {\n toggle?: (open: boolean | any) => void;\n onToggle?: (open: boolean | any) => void;\n};\nexport type ToggleEventState<T> = {\n handleToggle: (event?: ClickEvent<T> | any) => void;\n};\nexport type CloseEventProps = {\n /**\n * Function to handle button click (close).\n */\n onClose?: (event?: any) => void;\n /**\n * Function to handle button click (close).\n */\n close?: (event?: any) => void;\n};\nexport type CloseEventState = {\n handleClose: (event: any, forceClose?: boolean) => 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 | string;\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> | any) => 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> | any) => 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> | any) => void;\n handleFocus: (event: InteractionEvent<T> | any) => 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};\nexport type DocumentScrollState = {\n _documentScrollListenerCallbackId?: string;\n handleDocumentScroll: (event: any, parent?: HTMLElement) => void;\n _observer?: IntersectionObserver;\n};\nexport type PopoverState = {\n handleEscape: (event: any) => void;\n handleAutoPlacement: (parent?: HTMLElement) => void;\n handleEnter: (parent?: HTMLElement) => void;\n handleLeave: (event?: any) => void;\n} & DocumentScrollState","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBStackProps, DBStackState } from \"./model\";\nimport { cls, getBooleanAsString } from \"../../utils\";\n\n@Component({\n selector: \"db-stack\",\n standalone: true,\n imports: [CommonModule],\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 styles: `:host { display: contents; }`,\n})\nexport class DBStack implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n id = input<DBStackProps[\"id\"]>();\n className = input<DBStackProps[\"className\"]>();\n gap = input<DBStackProps[\"gap\"]>();\n variant = input<DBStackProps[\"variant\"]>();\n direction = input<DBStackProps[\"direction\"]>();\n alignment = input<DBStackProps[\"alignment\"]>();\n justifyContent = input<DBStackProps[\"justifyContent\"]>();\n wrap = input<DBStackProps[\"wrap\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n constructor() {}\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","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBCustomSelectListProps } from \"./model\";\nimport { cls } from \"../../utils\";\n\n@Component({\n selector: \"db-custom-select-list\",\n standalone: true,\n imports: [CommonModule],\n template: `\n <div\n [attr.role]=\"multiple() ? 'group' : 'radiogroup'\"\n [attr.aria-label]=\"label()\"\n #_ref\n [attr.id]=\"id()\"\n [class]=\"cls('db-custom-select-list', className())\"\n >\n <ul>\n <ng-content></ng-content>\n </ul>\n </div>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBCustomSelectList implements AfterViewInit {\n protected readonly cls = cls;\n\n multiple = input<DBCustomSelectListProps[\"multiple\"]>();\n label = input<DBCustomSelectListProps[\"label\"]>();\n id = input<DBCustomSelectListProps[\"id\"]>();\n className = input<DBCustomSelectListProps[\"className\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n constructor() {}\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-custom-select-list\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\nRenderer2, model } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport {\n DBCustomSelectListItemProps,\n DBCustomSelectListItemState,\n} from \"./model\";\nimport {\n cls,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n uuid,\n} from \"../../utils\";\nimport { ChangeEvent } 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: DBCustomSelectListItem,\n\t\t\tmulti: true\n\t\t}],\t\n selector: \"db-custom-select-list-item\",\n standalone: true,\n imports: [CommonModule],\n template: `\n <li\n #_ref\n [attr.id]=\"_id()\"\n [class]=\"cls('db-custom-select-list-item', className(), {\n 'db-checkbox': type() === 'checkbox' && !isGroupTitle(),\n 'db-radio': type() !== 'checkbox' && !isGroupTitle()\n })\"\n [attr.data-divider]=\"getBooleanAsString(hasDivider())\"\n >\n @if(!isGroupTitle()){\n <label\n [attr.data-icon]=\"type() !== 'checkbox' && icon() ? icon() : undefined\"\n [attr.data-hide-icon]=\"getHideProp(showIcon())\"\n [attr.data-icon-after]=\"getIconAfter()\"\n >\n <input\n class=\"db-custom-select-list-item-checkbox\"\n data-disable-focus=\"true\"\n [attr.type]=\"type()\"\n [name]=\"name()\"\n [attr.form]=\"name()\"\n [checked]=\"getBoolean(checked(), 'checked')\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [value]=\"value()\"\n (change)=\"handleChange($event)\"\n />\n @if(label()){ {{label()}} }@else{\n <ng-content></ng-content>\n }\n </label>\n }@else{\n <span>{{groupTitle()}}</span>\n }\n </li>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBCustomSelectListItem implements AfterViewInit, ControlValueAccessor {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly getHideProp = getHideProp;\n protected readonly getBoolean = getBoolean;\n\n id = input<DBCustomSelectListItemProps[\"id\"]>();\n isGroupTitle = input<DBCustomSelectListItemProps[\"isGroupTitle\"]>();\n showDivider = input<DBCustomSelectListItemProps[\"showDivider\"]>();\n type = input<DBCustomSelectListItemProps[\"type\"]>();\n checked = model<DBCustomSelectListItemProps[\"checked\"]>();\n className = input<DBCustomSelectListItemProps[\"className\"]>();\n groupTitle = input<DBCustomSelectListItemProps[\"groupTitle\"]>();\n icon = input<DBCustomSelectListItemProps[\"icon\"]>();\n showIcon = input<DBCustomSelectListItemProps[\"showIcon\"]>();\n name = input<DBCustomSelectListItemProps[\"name\"]>();\n disabled = model<DBCustomSelectListItemProps[\"disabled\"]>();\n value = input<DBCustomSelectListItemProps[\"value\"]>();\n label = input<DBCustomSelectListItemProps[\"label\"]>();\n change = output<\n Parameters<Required<DBCustomSelectListItemProps>[\"onChange\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBCustomSelectListItemState[\"_id\"]>(undefined);\n hasDivider = signal<DBCustomSelectListItemState[\"hasDivider\"]>(false);\n\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n event.stopPropagation();\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event, \"checked\");\n }\n getIconAfter() {\n if (this.isGroupTitle() || this.type() === \"checkbox\") {\n return;\n }\n return getBoolean(this.checked(), \"checked\") ? \"check\" : \"x_placeholder\";\n }\n\n constructor(private renderer: Renderer2,) {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.isGroupTitle();\n this.showDivider();\n // ---\n\n this.hasDivider.set(Boolean(this.isGroupTitle() || this.showDivider()));\n },\n {\n // Enable writing to signals inside effects\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 \n\t\twriteValue(value: any) {\n\t\t\t\n\t\t this.checked.set(!!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}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled.set(disabled);\n\t\t}\n\n\t\tngOnInit() {\n this._id.set(this.id() ?? `custom-select-list-item-${uuid()}`);\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-custom-select-list-item\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = { width: \"fixed\" };\n\nimport { DBCustomSelectDropdownProps } from \"./model\";\nimport { cls } from \"../../utils\";\n\n@Component({\n selector: \"db-custom-select-dropdown\",\n standalone: true,\n imports: [CommonModule],\n template: `\n <article\n data-spacing=\"none\"\n #_ref\n [attr.id]=\"id()\"\n [class]=\"cls('db-custom-select-dropdown db-card', className())\"\n [attr.data-width]=\"width()\"\n >\n <ng-content></ng-content>\n </article>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBCustomSelectDropdown implements AfterViewInit {\n protected readonly cls = cls;\n\n id = input<DBCustomSelectDropdownProps[\"id\"]>();\n className = input<DBCustomSelectDropdownProps[\"className\"]>();\n width = input<DBCustomSelectDropdownProps[\"width\"]>(defaultProps[\"width\"]);\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n constructor() {}\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-custom-select-dropdown\");\n }\n}\n","import { uuid } from './index';\nexport class DocumentClickListener {\n private static callbacks: Record<string, (event: any) => void> = {};\n private static _instance: DocumentClickListener | null = null;\n private static runCallbacks(event: any) {\n for (const callback of Object.values(DocumentClickListener.callbacks)) {\n if (typeof callback === 'function') {\n callback(event);\n }\n }\n }\n constructor() {\n if (DocumentClickListener._instance) {\n return DocumentClickListener._instance;\n }\n DocumentClickListener._instance = this;\n if (self.document) {\n self.document.addEventListener('click', event => DocumentClickListener.runCallbacks(event));\n }\n }\n public addCallback(callback: (event: any) => void) {\n const callbackID = uuid();\n DocumentClickListener.callbacks[callbackID] = callback;\n return callbackID;\n }\n public removeCallback(id: string) {\n delete DocumentClickListener.callbacks[id];\n }\n}","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\nRenderer2, model } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {\n clearSelectionText: \"Clear selection\",\n showClearSelection: true,\n};\n\nimport {\n CustomSelectOptionType,\n DBCustomSelectProps,\n DBCustomSelectState,\n} from \"./model\";\nimport {\n cls,\n delay,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n getOptionKey,\n getSearchInput,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n DEFAULT_CLOSE_BUTTON,\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_LABEL,\n DEFAULT_LABEL_ID_SUFFIX,\n DEFAULT_MESSAGE,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_PLACEHOLDER_ID_SUFFIX,\n DEFAULT_REMOVE,\n DEFAULT_SELECT_ID_SUFFIX,\n DEFAULT_SELECTED,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport { ChangeEvent, ClickEvent } from \"../../shared/model\";\nimport { DBCustomSelectList } from \"../custom-select-list/custom-select-list\";\nimport { DBCustomSelectListItem } from \"../custom-select-list-item/custom-select-list-item\";\nimport { DBCustomSelectDropdown } from \"../custom-select-dropdown/custom-select-dropdown\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBTag } from \"../tag/tag\";\nimport { DBButton } from \"../button/button\";\nimport { DBTooltip } from \"../tooltip/tooltip\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInput } from \"../input/input\";\nimport { DocumentClickListener } from \"../../utils/document-click-listener\";\nimport { DocumentScrollListener } from \"../../utils/document-scroll-listener\";\nimport { handleFixedDropdown } from \"../../utils/floating-components\";\n\n@Component({\n\t\tproviders: [{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: DBCustomSelect,\n\t\t\tmulti: true\n\t\t}],\t\n selector: \"db-custom-select\",\n standalone: true,\n imports: [\n CommonModule,\n DBTag,\n DBCustomSelectDropdown,\n DBInput,\n DBCustomSelectList,\n DBCustomSelectListItem,\n DBInfotext,\n DBButton,\n DBTooltip,\n ],\n template: `\n <div\n [attr.id]=\"_id()\"\n #_ref\n [class]=\"cls('db-custom-select', className())\"\n [attr.aria-invalid]=\"_validity() === 'invalid'\"\n [attr.data-custom-validity]=\"_validity()\"\n [attr.data-width]=\"formFieldWidth()\"\n [attr.data-variant]=\"variant() === 'floating' && selectedType() === 'tag' && multiple() ? 'above' : variant()\"\n [attr.data-required]=\"getBooleanAsString(required())\"\n [attr.data-placement]=\"placement()\"\n [attr.data-selected-type]=\"multiple() ? selectedType() : 'text'\"\n [attr.data-hide-label]=\"getHideProp(showLabel())\"\n [attr.data-icon]=\"icon()\"\n [attr.data-hide-icon]=\"getHideProp(showIcon())\"\n >\n<label [attr.id]=\"_labelId()\">{{label() ?? DEFAULT_LABEL}}<select\n role=\"none\"\n [attr.hidden]=\"true\"\n [attr.id]=\"_selectId()\"\n [attr.tabIndex]=\"-1\"\n #selectRef\n [attr.form]=\"form()\"\n [attr.name]=\"name()\"\n [attr.multiple]=\"getBoolean(multiple(), 'multiple')\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [attr.required]=\"getBoolean(required(), 'required')\"\n (change)=\"satisfyReact($event)\"\n >\n @if(options()?.length){ @for (option of options();track\n trackByOption0(i,option);let i = $index) {\n <option [disabled]=\"option.disabled\" [attr.value]=\"option.value\">\n {{getOptionLabel(option)}}\n </option>\n } }\n </select>\n </label>\n <details\n #detailsRef\n [attr.open]=\"open()\"\n (toggle)=\"handleDropdownToggle($event)\"\n (keydown)=\"handleKeyboardPress($event)\"\n >\n <ng-content></ng-content>\n @if(options()){\n <summary\n class=\"db-custom-select-form-field\"\n [attr.id]=\"_summaryId()\"\n [attr.aria-disabled]=\"getBooleanAsString(disabled())\"\n [attr.aria-labelledby]=\"_labelId()\"\n >\n @if(_selectedLabels()?.length){\n <span\n [attr.data-visually-hidden]=\"getBooleanAsString(selectedType() === 'tag')\"\n [attr.id]=\"_selectedLabelsId()\"\n >\n {{_selectedLabels()}}\n </span>\n } @if(selectedType() === 'tag'){\n <div>\n @for (option of _selectedOptions();track trackByOption1(index,option);let index =\n $index) {\n <db-tag\n emphasis=\"strong\"\n behavior=\"removable\"\n [removeButton]=\"getTagRemoveLabel(index)\"\n (remove)=\"handleTagRemove(option, $event)\"\n >\n {{getOptionLabel(option)}}\n </db-tag>\n }\n </div>\n }\n </summary>\n <db-custom-select-dropdown [width]=\"dropdownWidth()\">\n @if(searchEnabled()){\n <div>\n <db-input\n type=\"search\"\n #searchInputRef\n [name]=\"_id()\"\n [form]=\"_id()\"\n [showLabel]=\"false\"\n [value]=\"_searchValue()\"\n [label]=\"searchLabel() ?? DEFAULT_LABEL\"\n [placeholder]=\"searchPlaceholder() ?? searchLabel()\"\n [ariaDescribedBy]=\"_hasNoOptions() || showLoading() ? _infoTextId() : undefined\"\n (input)=\"handleSearch($event)\"\n ></db-input>\n </div>\n } @if(_hasNoOptions() || showLoading()){\n <db-infotext\n [id]=\"_infoTextId()\"\n [icon]=\"_hasNoOptions() ? undefined : 'circular_arrows'\"\n [semantic]=\"_hasNoOptions() ? 'warning' : 'informational'\"\n >\n {{(_hasNoOptions() ? noResultsText() : loadingText()) ??\n DEFAULT_MESSAGE}}\n </db-infotext>\n }@else{\n <ng-container>\n @if(selectAllEnabled()){\n <div>\n <div class=\"db-checkbox db-custom-select-list-item\">\n <label>\n <input\n type=\"checkbox\"\n value=\"select-all\"\n #selectAllRef\n [attr.form]=\"_id()\"\n [checked]=\"selectAllChecked()\"\n (change)=\"handleSelectAll($event)\"\n />\n {{getSelectAllLabel()}}\n </label>\n </div>\n </div>\n }\n <db-custom-select-list\n [multiple]=\"getBoolean(multiple(), 'multiple')\"\n [label]=\"ariaListLabel() ?? label() ?? DEFAULT_LABEL\"\n >\n @for (option of _options();track trackByOption2(i,option);let i = $index) {\n <db-custom-select-list-item\n [type]=\"multiple() ? 'checkbox' : 'radio'\"\n [showDivider]=\"option.showDivider\"\n [icon]=\"option.icon\"\n [isGroupTitle]=\"option.isGroupTitle\"\n [groupTitle]=\"getOptionLabel(option)\"\n [name]=\"_id()\"\n [checked]=\"getOptionChecked(option.value)\"\n [disabled]=\"option.disabled\"\n [value]=\"option.value\"\n (change)=\"handleSelect(option.value)\"\n >\n @if(!option.isGroupTitle){ {{getOptionLabel(option)}} }\n </db-custom-select-list-item>\n }\n </db-custom-select-list>\n </ng-container>\n }\n <div>\n <db-button\n variant=\"ghost\"\n width=\"full\"\n icon=\"cross\"\n size=\"small\"\n [name]=\"_id()\"\n [form]=\"_id()\"\n (click)=\"handleClose('close')\"\n >\n {{mobileCloseButtonText() ?? DEFAULT_CLOSE_BUTTON}}\n </db-button>\n </div>\n </db-custom-select-dropdown>\n }\n </details>\n @if((showClearSelection() ?? true) && _values()?.length){\n <db-button\n icon=\"cross\"\n variant=\"ghost\"\n size=\"small\"\n [noText]=\"true\"\n [name]=\"_id()\"\n [form]=\"_id()\"\n (click)=\"handleClearAll($event)\"\n >\n {{clearSelectionText()}}\n <db-tooltip placement=\"top\">{{clearSelectionText()}}</db-tooltip>\n </db-button>\n }\n <span\n [attr.aria-hidden]=\"getBooleanAsString(true)\"\n [attr.id]=\"_placeholderId()\"\n >\n {{placeholder() ?? label()}}\n </span>\n @if(stringPropVisible(message(), showMessage())){\n <db-infotext size=\"small\" [icon]=\"messageIcon()\" [id]=\"_messageId()\">\n {{message()}}\n </db-infotext>\n } @if(hasValidState()){\n <db-infotext size=\"small\" semantic=\"successful\" [id]=\"_validMessageId()\">\n {{validMessage() || DEFAULT_VALID_MESSAGE}}\n </db-infotext>\n }\n <db-infotext size=\"small\" semantic=\"critical\" [id]=\"_invalidMessageId()\">\n {{_invalidMessage()}}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {{_voiceOverFallback()}}\n </span>\n </div>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBCustomSelect implements AfterViewInit, ControlValueAccessor {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly getHideProp = getHideProp;\n protected readonly DEFAULT_LABEL = DEFAULT_LABEL;\n protected readonly getBoolean = getBoolean;\n protected readonly getOptionKey = getOptionKey;\n protected readonly DEFAULT_MESSAGE = DEFAULT_MESSAGE;\n protected readonly DEFAULT_CLOSE_BUTTON = DEFAULT_CLOSE_BUTTON;\n protected readonly stringPropVisible = stringPropVisible;\n protected readonly DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;\n\n id = input<DBCustomSelectProps[\"id\"]>();\n invalidMessage = input<DBCustomSelectProps[\"invalidMessage\"]>();\n message = input<DBCustomSelectProps[\"message\"]>();\n showMessage = input<DBCustomSelectProps[\"showMessage\"]>();\n ariaDescribedBy = input<DBCustomSelectProps[\"ariaDescribedBy\"]>();\n showNoResults = input<DBCustomSelectProps[\"showNoResults\"]>();\n multiple = input<DBCustomSelectProps[\"multiple\"]>();\n showSelectAll = input<DBCustomSelectProps[\"showSelectAll\"]>();\n showSearch = input<DBCustomSelectProps[\"showSearch\"]>();\n values = model<DBCustomSelectProps[\"values\"]>();\n validation = input<DBCustomSelectProps[\"validation\"]>();\n options = input<DBCustomSelectProps[\"options\"]>();\n searchValue = input<DBCustomSelectProps[\"searchValue\"]>();\n selectedLabels = input<DBCustomSelectProps[\"selectedLabels\"]>();\n transformSelectedLabels =\n input<DBCustomSelectProps[\"transformSelectedLabels\"]>();\n selectedType = input<DBCustomSelectProps[\"selectedType\"]>();\n amountText = input<DBCustomSelectProps[\"amountText\"]>();\n validMessage = input<DBCustomSelectProps[\"validMessage\"]>();\n required = input<DBCustomSelectProps[\"required\"]>();\n selectAllLabel = input<DBCustomSelectProps[\"selectAllLabel\"]>();\n removeTagsTexts = input<DBCustomSelectProps[\"removeTagsTexts\"]>();\n placement = input<DBCustomSelectProps[\"placement\"]>();\n searchFilter = input<DBCustomSelectProps[\"searchFilter\"]>();\n className = input<DBCustomSelectProps[\"className\"]>();\n formFieldWidth = input<DBCustomSelectProps[\"formFieldWidth\"]>();\n variant = input<DBCustomSelectProps[\"variant\"]>();\n showLabel = input<DBCustomSelectProps[\"showLabel\"]>();\n icon = input<DBCustomSelectProps[\"icon\"]>();\n showIcon = input<DBCustomSelectProps[\"showIcon\"]>();\n label = input<DBCustomSelectProps[\"label\"]>();\n form = input<DBCustomSelectProps[\"form\"]>();\n name = input<DBCustomSelectProps[\"name\"]>();\n disabled = model<DBCustomSelectProps[\"disabled\"]>();\n open = input<DBCustomSelectProps[\"open\"]>();\n dropdownWidth = input<DBCustomSelectProps[\"dropdownWidth\"]>();\n searchLabel = input<DBCustomSelectProps[\"searchLabel\"]>();\n searchPlaceholder = input<DBCustomSelectProps[\"searchPlaceholder\"]>();\n showLoading = input<DBCustomSelectProps[\"showLoading\"]>();\n ariaListLabel = input<DBCustomSelectProps[\"ariaListLabel\"]>();\n noResultsText = input<DBCustomSelectProps[\"noResultsText\"]>();\n loadingText = input<DBCustomSelectProps[\"loadingText\"]>();\n mobileCloseButtonText = input<DBCustomSelectProps[\"mobileCloseButtonText\"]>();\n showClearSelection = input<DBCustomSelectProps[\"showClearSelection\"]>(\n defaultProps[\"showClearSelection\"]\n );\n clearSelectionText = input<DBCustomSelectProps[\"clearSelectionText\"]>(\n defaultProps[\"clearSelectionText\"]\n );\n placeholder = input<DBCustomSelectProps[\"placeholder\"]>();\n messageIcon = input<DBCustomSelectProps[\"messageIcon\"]>();\n amountChange = output<\n Parameters<Required<DBCustomSelectProps>[\"onAmountChange\"]>[number] | void\n >();\n dropdownToggle = output<\n Parameters<Required<DBCustomSelectProps>[\"onDropdownToggle\"]>[number] | void\n >();\n optionSelected = output<\n Parameters<Required<DBCustomSelectProps>[\"onOptionSelected\"]>[number] | void\n >();\n search = output<\n Parameters<Required<DBCustomSelectProps>[\"onSearch\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n selectRef = viewChild<ElementRef>(\"selectRef\");\n detailsRef = viewChild<ElementRef>(\"detailsRef\");\n searchInputRef = viewChild<ElementRef>(\"searchInputRef\");\n selectAllRef = viewChild<ElementRef>(\"selectAllRef\");\n\n _id = signal<DBCustomSelectState[\"_id\"]>(undefined);\n _messageId = signal<DBCustomSelectState[\"_messageId\"]>(undefined);\n _validMessageId = signal<DBCustomSelectState[\"_validMessageId\"]>(undefined);\n _invalidMessageId =\n signal<DBCustomSelectState[\"_invalidMessageId\"]>(undefined);\n _invalidMessage = signal<DBCustomSelectState[\"_invalidMessage\"]>(undefined);\n _selectId = signal<DBCustomSelectState[\"_selectId\"]>(undefined);\n _labelId = signal<DBCustomSelectState[\"_labelId\"]>(undefined);\n _summaryId = signal<DBCustomSelectState[\"_summaryId\"]>(undefined);\n _placeholderId = signal<DBCustomSelectState[\"_placeholderId\"]>(undefined);\n _infoTextId = signal<DBCustomSelectState[\"_infoTextId\"]>(undefined);\n _validity = signal<DBCustomSelectState[\"_validity\"]>(\"no-validation\");\n _descByIds = signal<DBCustomSelectState[\"_descByIds\"]>(\"\");\n _selectedLabels = signal<DBCustomSelectState[\"_selectedLabels\"]>(\"\");\n _selectedLabelsId =\n signal<DBCustomSelectState[\"_selectedLabelsId\"]>(undefined);\n _voiceOverFallback = signal<DBCustomSelectState[\"_voiceOverFallback\"]>(\"\");\n _selectedOptions = signal<DBCustomSelectState[\"_selectedOptions\"]>([]);\n selectAllEnabled = signal<DBCustomSelectState[\"selectAllEnabled\"]>(false);\n searchEnabled = signal<DBCustomSelectState[\"searchEnabled\"]>(false);\n amountOptions = signal<DBCustomSelectState[\"amountOptions\"]>(0);\n _values = signal<DBCustomSelectState[\"_values\"]>([]);\n _options = signal<DBCustomSelectState[\"_options\"]>([]);\n _hasNoOptions = signal<DBCustomSelectState[\"_hasNoOptions\"]>(false);\n _documentClickListenerCallbackId =\n signal<DBCustomSelectState[\"_documentClickListenerCallbackId\"]>(undefined);\n _internalChangeTimestamp =\n signal<DBCustomSelectState[\"_internalChangeTimestamp\"]>(0);\n _documentScrollListenerCallbackId =\n signal<DBCustomSelectState[\"_documentScrollListenerCallbackId\"]>(undefined);\n _observer = signal<DBCustomSelectState[\"_observer\"]>(undefined);\n _searchValue = signal<DBCustomSelectState[\"_searchValue\"]>(undefined);\n selectAllChecked = signal<DBCustomSelectState[\"selectAllChecked\"]>(false);\n selectAllIndeterminate =\n signal<DBCustomSelectState[\"selectAllIndeterminate\"]>(false);\n\n handleDocumentScroll(event: any) {\n if (\n event?.target?.contains &&\n event?.target?.contains(this.detailsRef()?.nativeElement)\n ) {\n this.handleAutoPlacement();\n }\n }\n hasValidState() {\n return !!(this.validMessage() ?? this.validation() === \"valid\");\n }\n handleValidation() {\n if (this.selectRef()?.nativeElement) {\n this.selectRef()!.nativeElement.value = this.getNativeSelectValue();\n }\n /* For a11y reasons we need to map the correct message with the select */\n if (\n !this.selectRef()?.nativeElement?.validity.valid ||\n this.validation() === \"invalid\"\n ) {\n this._descByIds.set(this._invalidMessageId());\n this._invalidMessage.set(\n this.invalidMessage() ||\n this.selectRef()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(this._invalidMessage());\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n this._validity.set(this.validation() ?? \"invalid\");\n } else if (\n this.hasValidState() &&\n this.selectRef()?.nativeElement?.validity.valid &&\n this.required()\n ) {\n this._descByIds.set(this._validMessageId());\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(\n this.validMessage() ?? DEFAULT_VALID_MESSAGE\n );\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n this._validity.set(this.validation() ?? \"valid\");\n } else if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(this._messageId());\n this._validity.set(this.validation() ?? \"no-validation\");\n } else {\n this._descByIds.set(this._placeholderId());\n this._validity.set(this.validation() ?? \"no-validation\");\n }\n }\n handleDropdownToggle(event: any) {\n if (this.dropdownToggle) {\n event.stopPropagation();\n this.dropdownToggle.emit(event);\n }\n if (event.target.open) {\n this._documentClickListenerCallbackId.set(\n new DocumentClickListener().addCallback((event) =>\n this.handleDocumentClose(event)\n )\n );\n this._documentScrollListenerCallbackId.set(\n new DocumentScrollListener().addCallback((event) =>\n this.handleDocumentScroll(event)\n )\n );\n this.handleAutoPlacement();\n this._observer()?.observe(this.detailsRef()?.nativeElement);\n if (!event.target.dataset.test) {\n // We need this workaround for snapshot testing\n this.handleOpenByKeyboardFocus();\n }\n } else {\n if (this._documentClickListenerCallbackId()) {\n new DocumentClickListener().removeCallback(\n this._documentClickListenerCallbackId()!\n );\n }\n if (this._documentScrollListenerCallbackId()) {\n new DocumentScrollListener().removeCallback(\n this._documentScrollListenerCallbackId()!\n );\n }\n this._observer()?.unobserve(this.detailsRef()?.nativeElement);\n }\n }\n getNativeSelectValue() {\n if (this._values()?.length) {\n return this._values()!.at(0) ?? \"\";\n }\n return \"\";\n }\n setDescById(descId?: string) {\n const descByIds: string[] = [];\n if (descId) {\n descByIds.push(descId);\n }\n if (this._selectedLabelsId() && this._selectedLabels()?.length) {\n descByIds.push(this._selectedLabelsId()!);\n }\n this._descByIds.set(descByIds.join(\" \"));\n }\n getSelectAllLabel() {\n return this.selectAllLabel() ?? DEFAULT_LABEL;\n }\n getOptionLabel(option: CustomSelectOptionType) {\n return option.label ?? option.value?.toString() ?? \"\";\n }\n getOptionChecked(value?: string) {\n if (value && this._values()?.includes) {\n return this._values()?.includes(value!);\n }\n return false;\n }\n getTagRemoveLabel(index: number) {\n if (this.removeTagsTexts() && this.removeTagsTexts()!.length > index) {\n return this.removeTagsTexts()!.at(index)!;\n } else {\n return `${DEFAULT_REMOVE} ${\n this._selectedOptions()\n ? this.getOptionLabel(this._selectedOptions()![index])\n : \"\"\n }`;\n }\n }\n handleTagRemove(option: CustomSelectOptionType, event: any) {\n event.stopPropagation();\n this.handleSelect(option.value);\n this.handleSummaryFocus();\n }\n handleAutoPlacement() {\n if (this.detailsRef()?.nativeElement) {\n const dropdown =\n this.detailsRef()?.nativeElement.querySelector(\"article\");\n if (dropdown) {\n // This is a workaround for Angular\n delay(() => {\n handleFixedDropdown(\n dropdown,\n this.detailsRef()?.nativeElement,\n (this.placement() as unknown as string) ?? \"bottom\"\n );\n }, 1);\n }\n }\n }\n handleArrowDownUp(event: any) {\n if (this.detailsRef()?.nativeElement?.open) {\n if (self.document) {\n const activeElement = self.document.activeElement;\n if (activeElement) {\n // 1. we check if we are currently focusing a checkbox in the dropdown\n const isCheckbox =\n activeElement.getAttribute(\"type\") === \"checkbox\" ||\n activeElement.getAttribute(\"type\") === \"radio\";\n if (isCheckbox) {\n const listElement = activeElement?.closest(\"li\");\n if (event.key === \"ArrowDown\" || event.key === \"ArrowRight\") {\n if (listElement?.nextElementSibling) {\n listElement?.nextElementSibling\n ?.querySelector(\"input\")\n ?.focus();\n } else {\n // We are on the last checkbox we move to the top checkbox\n this.handleFocusFirstDropdownCheckbox(activeElement);\n }\n } else {\n if (listElement?.previousElementSibling) {\n listElement?.previousElementSibling\n ?.querySelector(\"input\")\n ?.focus();\n } else if (\n this.detailsRef()?.nativeElement.querySelector(\n `input[type=\"checkbox\"]`\n ) !== activeElement\n ) {\n // We are on the top list checkbox but there is a select all checkbox as well\n this.handleFocusFirstDropdownCheckbox(activeElement);\n } else {\n // We are on the top checkbox, we need to move to the search\n // or to the last checkbox\n const search = getSearchInput(this.detailsRef()?.nativeElement);\n if (search) {\n delay(() => {\n search.focus();\n }, 100);\n } else {\n const checkboxList: HTMLInputElement[] = Array.from(\n this.detailsRef()?.nativeElement?.querySelectorAll(\n `input[type=\"checkbox\"],input[type=\"radio\"]`\n )\n );\n if (checkboxList.length) {\n checkboxList.at(-1)?.focus();\n }\n }\n }\n }\n } else {\n // 2. If we are on the search, and press up we go back to summary and close\n if (\n activeElement.getAttribute(\"type\") === \"search\" &&\n (event.key === \"ArrowUp\" || event.key === \"ArrowLeft\")\n ) {\n this.handleClose(\"close\");\n this.handleSummaryFocus();\n } else {\n // 3. Otherwise, we need to move to the first checkbox\n this.handleFocusFirstDropdownCheckbox(activeElement);\n }\n }\n }\n }\n } else if (event.key === \"ArrowDown\" || event.key === \"ArrowRight\") {\n // Open dropdown with arrows see https://www.w3.org/WAI/ARIA/apg/patterns/combobox/#keyboardinteraction\n this.handleAutoPlacement();\n if (this.detailsRef()?.nativeElement) {\n this.detailsRef()!.nativeElement.open = true;\n }\n this.handleOpenByKeyboardFocus();\n }\n event.stopPropagation();\n event.preventDefault();\n }\n handleKeyboardPress(event: any) {\n event.stopPropagation();\n if (event.key === \"Escape\" && this.detailsRef()?.nativeElement?.open) {\n this.handleClose(\"close\");\n this.handleSummaryFocus();\n } else if (\n event.key === \"ArrowDown\" ||\n event.key === \"ArrowUp\" ||\n event.key === \"ArrowLeft\" ||\n event.key === \"ArrowRight\"\n ) {\n this.handleArrowDownUp(event);\n }\n }\n handleClose(event: any) {\n if (this.detailsRef()?.nativeElement) {\n if (event === \"close\") {\n this.detailsRef()!.nativeElement.open = false;\n this.handleSummaryFocus();\n } else if (\n this.detailsRef()?.nativeElement.open &&\n event?.relatedTarget\n ) {\n const relatedTarget = event.relatedTarget as HTMLElement;\n if (!this.detailsRef()?.nativeElement.contains(relatedTarget)) {\n // We need to use delay here because the combination of `contains`\n // and changing the DOM element causes a race condition inside browser\n delay(() => (this.detailsRef()!.nativeElement.open = false), 1);\n }\n }\n }\n }\n handleDocumentClose(event: any) {\n if (event) {\n // stencil is sending a custom event which wraps the pointer event into details\n const target = event.target;\n if (\n this.detailsRef()?.nativeElement?.open &&\n !this.detailsRef()?.nativeElement.contains(target)\n ) {\n this.detailsRef()!.nativeElement.open = false;\n }\n }\n }\n handleOptionSelected(values: string[]) {\n const skip = new Date().getTime() - this._internalChangeTimestamp() < 200;\n if (skip) return;\n this._values.set(values);\n if (this.optionSelected) {\n this.optionSelected.emit(values ?? []);\n }\n handleFrameworkEventAngular(\n this,\n {\n target: {\n values,\n },\n },\n \"values\"\n );\n this._internalChangeTimestamp.set(new Date().getTime());\n }\n handleSelect(value?: string) {\n if (value) {\n if (this.multiple()) {\n if (this._values()?.includes(value)) {\n this.handleOptionSelected(\n this._values()!.filter((v: string) => v !== value)\n );\n } else {\n this.handleOptionSelected([...(this._values() || []), value]);\n }\n } else {\n this.handleOptionSelected([value]);\n this.handleClose(\"close\");\n }\n }\n }\n handleSelectAll(event: any) {\n event.stopPropagation();\n if (this._values()?.length === this.amountOptions()) {\n this.handleOptionSelected([]);\n } else {\n const searchValue: string | undefined =\n this.searchEnabled() && this.searchInputRef()?.nativeElement\n ? this.searchInputRef()?.nativeElement.value\n : undefined;\n this.handleOptionSelected(\n this.options()\n ? this.options()!\n .filter(\n (option) =>\n !option.isGroupTitle &&\n (!searchValue ||\n option.value\n ?.toLowerCase()\n .includes(searchValue.toLowerCase()))\n )\n .map((option) => option.value ?? \"\")\n : []\n );\n }\n }\n handleFocusFirstDropdownCheckbox(activeElement?: Element) {\n if (this.detailsRef()?.nativeElement) {\n const checkboxes: HTMLInputElement[] = Array.from(\n this.detailsRef()?.nativeElement.querySelectorAll(\n `input[type=\"checkbox\"],input[type=\"radio\"]`\n )\n );\n if (checkboxes.length) {\n const first = checkboxes.at(0);\n const checkbox =\n first === activeElement && checkboxes.length > 1\n ? checkboxes.at(1)\n : first;\n if (checkbox) {\n delay(() => {\n // Takes some time until element can be focused\n (checkbox as HTMLInputElement).focus();\n }, 1);\n }\n }\n }\n }\n handleOpenByKeyboardFocus() {\n if (this.detailsRef()?.nativeElement) {\n // Focus search if possible\n const search = getSearchInput(this.detailsRef()?.nativeElement);\n if (search) {\n delay(() => {\n // Takes some time until element can be focused\n search.focus();\n }, 1);\n } else {\n // Focus first checkbox otherwise\n this.handleFocusFirstDropdownCheckbox();\n }\n }\n }\n handleSearch(event: any) {\n let filterText;\n if (typeof event === \"string\") {\n filterText = event;\n } else {\n event.stopPropagation();\n if (this.search) {\n this.search.emit(event);\n }\n filterText = (event.target as HTMLInputElement).value;\n this._searchValue.set(filterText);\n }\n if (!this.options() || !filterText || filterText.length === 0) {\n this._options.set(this.options());\n } else if (this.searchFilter()) {\n this._options.set(\n this.options()!.filter((option) =>\n this.searchFilter()!(option, filterText)\n )\n );\n } else {\n this._options.set(\n this.options()!.filter(\n (option) =>\n !option.isGroupTitle &&\n this.getOptionLabel(option)\n .toLowerCase()\n .includes(filterText.toLowerCase())\n )\n );\n }\n }\n handleClearAll(event: any) {\n event.stopPropagation();\n this.handleOptionSelected([]);\n this.handleSummaryFocus();\n }\n handleSummaryFocus() {\n if (this.detailsRef()?.nativeElement) {\n (this.detailsRef()?.nativeElement as HTMLDetailsElement)\n .querySelector(\"summary\")\n ?.focus();\n }\n }\n satisfyReact(event: any) {\n // This is a function to satisfy React\n event.stopPropagation();\n }\n trackByOption0(_: number, option: any) {\n return getOptionKey(option, \"native-select-option-\");\n }\n trackByOption1(index: number, option: any) {\n return getOptionKey(option, \"tag-\");\n }\n trackByOption2(_: number, option: any) {\n return getOptionKey(option, \"custom-select-list-item-\");\n }\n\n constructor(private renderer: Renderer2,) {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.detailsRef();\n // ---\n\n if (this.detailsRef()?.nativeElement) {\n this.detailsRef()?.nativeElement.addEventListener(\n \"focusout\",\n (event: any) => this.handleClose(event)\n );\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._id();\n // ---\n\n if (this._id()) {\n const messageId = this._id() + DEFAULT_MESSAGE_ID_SUFFIX;\n this._labelId.set(this._id() + DEFAULT_LABEL_ID_SUFFIX);\n this._selectId.set(this._id() + DEFAULT_SELECT_ID_SUFFIX);\n this._validMessageId.set(\n this._id() + DEFAULT_VALID_MESSAGE_ID_SUFFIX\n );\n this._invalidMessageId.set(\n this._id() + DEFAULT_INVALID_MESSAGE_ID_SUFFIX\n );\n this._placeholderId.set(this._id() + DEFAULT_PLACEHOLDER_ID_SUFFIX);\n if (stringPropVisible(this.message(), this.showMessage())) {\n this.setDescById(messageId);\n } else {\n this.setDescById();\n }\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.detailsRef();\n this._descByIds();\n // ---\n\n if (this.detailsRef()?.nativeElement) {\n const summary =\n this.detailsRef()?.nativeElement.querySelector(\"summary\");\n if (summary) {\n summary.setAttribute(\n \"aria-describedby\",\n this.ariaDescribedBy() ?? (this._descByIds() || \"\")\n );\n }\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.showNoResults();\n this._options();\n // ---\n\n if (this.showNoResults() !== undefined) {\n this._hasNoOptions.set(this.showNoResults()!);\n } else if (this._options()) {\n this._hasNoOptions.set(this._options()!.length === 0);\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.showSelectAll();\n this.amountOptions();\n this.multiple();\n // ---\n\n this.selectAllEnabled.set(\n Boolean(\n this.multiple() &&\n (this.showSelectAll() ?? this.amountOptions() > 5)\n )\n );\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.showSearch();\n this.amountOptions();\n // ---\n\n this.searchEnabled.set(this.showSearch() ?? this.amountOptions() > 9);\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.values();\n // ---\n\n if (\n this.values() &&\n Array.isArray(this.values()) &&\n this.values() !== this._values()\n ) {\n this._values.set(this.values() ?? []);\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._values();\n // ---\n\n this.handleValidation();\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.validation();\n // ---\n\n this._validity.set(this.validation());\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._values();\n this.amountOptions();\n // ---\n\n if (this._values()?.length === 0) {\n this.selectAllChecked.set(false);\n this.selectAllIndeterminate.set(false);\n } else if (this._values()?.length === this.amountOptions()) {\n this.selectAllIndeterminate.set(false);\n this.selectAllChecked.set(true);\n } else if (this._values()) {\n this.selectAllIndeterminate.set(true);\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.options();\n // ---\n\n this._options.set(this.options());\n this.amountOptions.set(\n this.options()?.filter((option) => !option.isGroupTitle).length ?? 0\n );\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.searchValue();\n // ---\n\n this._searchValue.set(this.searchValue());\n if (this.searchValue()) {\n const sValue = this.searchValue()!; // <- workaround for Angular\n this.handleSearch(sValue);\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.options();\n this._values();\n // ---\n\n if (this.options()?.length) {\n this._selectedOptions.set(\n this.options()?.filter((option: CustomSelectOptionType) => {\n if (!option.value || !this._values()?.[\"includes\"]) {\n return false;\n }\n return (\n !option.isGroupTitle && this._values()?.includes(option.value)\n );\n })\n );\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._selectedOptions();\n this.selectedType();\n this.amountText();\n this.selectedLabels();\n this.transformSelectedLabels();\n // ---\n\n if (this.selectedLabels()) {\n this._selectedLabels.set(this.selectedLabels());\n return;\n }\n if (this._selectedOptions()?.length) {\n if (this.transformSelectedLabels()) {\n // We need to add this to another ``const`` for Angular generated output to work\n const selectedOptions = this._selectedOptions();\n const transformFn = this.transformSelectedLabels()!;\n this._selectedLabels.set(transformFn!(selectedOptions));\n return;\n }\n if (this.selectedType() === \"amount\") {\n this._selectedLabels.set(\n this.amountText()\n ? this.amountText()\n : `${this._selectedOptions()?.length} ${DEFAULT_SELECTED}`\n );\n } else {\n this._selectedLabels.set(\n this._selectedOptions()\n ?.map((option: CustomSelectOptionType) =>\n this.getOptionLabel(option)\n )\n .join(\", \")\n );\n }\n } else {\n this._selectedLabels.set(\"\");\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._selectedOptions();\n // ---\n\n if (this.amountChange) {\n this.amountChange.emit(this._selectedOptions()?.length ?? 0);\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.selectAllIndeterminate();\n this.selectAllRef();\n // ---\n\n if (this.selectAllRef()?.nativeElement) {\n this.selectAllRef()!.nativeElement.indeterminate = Boolean(\n this.selectAllIndeterminate()\n );\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.selectRef();\n this.invalidMessage();\n // ---\n\n this._invalidMessage.set(\n this.invalidMessage() ||\n this.selectRef()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n },\n {\n // Enable writing to signals inside effects\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 \n\t\twriteValue(value: any) {\n\t\t\t\n\t\t this.values.set(value);\n\n\t\t if (this._ref()?.nativeElement) {\n\t\t\t this.renderer.setProperty(this._ref()?.nativeElement, 'values', 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}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled.set(disabled);\n\t\t}\n\n\t\tngOnInit() {\n const mId = this.id() ?? `custom-select-${uuid()}`;\n this._id.set(mId);\n this._messageId.set(mId + DEFAULT_MESSAGE_ID_SUFFIX);\n this._validMessageId.set(mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX);\n this._invalidMessageId.set(mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX);\n this._selectId.set(mId + DEFAULT_SELECT_ID_SUFFIX);\n this._labelId.set(mId + DEFAULT_LABEL_ID_SUFFIX);\n this._summaryId.set(mId + \"-summary\");\n this._placeholderId.set(mId + DEFAULT_PLACEHOLDER_ID_SUFFIX);\n this._selectedLabelsId.set(mId + \"-selected-labels\");\n this._infoTextId.set(mId + \"-info\");\n this._invalidMessage.set(this.invalidMessage() || DEFAULT_INVALID_MESSAGE);\n if (typeof window !== \"undefined\" && \"IntersectionObserver\" in window) {\n this._observer.set(\n new IntersectionObserver((payload) => {\n if (this.detailsRef()?.nativeElement) {\n const entry = payload.find(\n ({ target }) => target === this.detailsRef()?.nativeElement\n );\n if (\n entry &&\n !entry.isIntersecting &&\n this.detailsRef()?.nativeElement.open\n ) {\n this.detailsRef()!.nativeElement.open = false;\n }\n }\n })\n );\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-custom-select\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBCustomSelectFormFieldProps } from \"./model\";\nimport { cls } from \"../../utils\";\n\n@Component({\n selector: \"db-custom-select-form-field\",\n standalone: true,\n imports: [CommonModule],\n template: `\n <summary\n #_ref\n [attr.id]=\"id()\"\n [class]=\"cls('db-custom-select-form-field', className())\"\n >\n <ng-content></ng-content>\n </summary>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBCustomSelectFormField implements AfterViewInit {\n protected readonly cls = cls;\n\n id = input<DBCustomSelectFormFieldProps[\"id\"]>();\n className = input<DBCustomSelectFormFieldProps[\"className\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n constructor() {}\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-custom-select-form-field\");\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["defaultProps","utilsDelay"],"mappings":"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A,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA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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/floating-components.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/utils/document-scroll-listener.ts","../../../output/angular/src/components/tooltip/tooltip.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/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/components/custom-select-list/custom-select-list.ts","../../../output/angular/src/components/custom-select-list-item/custom-select-list-item.ts","../../../output/angular/src/components/custom-select-dropdown/custom-select-dropdown.ts","../../../output/angular/src/utils/document-click-listener.ts","../../../output/angular/src/components/custom-select/custom-select.ts","../../../output/angular/src/components/custom-select-form-field/custom-select-form-field.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 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 | string): any => {\n if (originBool === undefined || originBool === null) return;\n if (typeof originBool === 'string') {\n return String(Boolean(originBool));\n }\n return String(originBool);\n};\nexport const getBoolean = (originBool?: boolean | string, propertyName?: string): boolean | undefined => {\n if (originBool === undefined || originBool === null) return;\n if (typeof originBool === 'string' && propertyName) {\n return Boolean(propertyName === originBool || originBool);\n }\n return Boolean(originBool);\n};\nexport const getNumber = (originNumber?: number | string, alternativeNumber?: number | string): number | undefined => {\n if ((originNumber === undefined || originNumber === null) && (alternativeNumber === undefined || alternativeNumber === null)) {\n return;\n }\n return Number(originNumber ?? alternativeNumber);\n};\n\n/**\n * Retrieves the input value based on the provided value and input type.\n *\n * If the input type is \"number\" or \"range\", the value is processed as a number.\n * Otherwise, the value is returned as-is.\n *\n * @param value - The input value, which can be a number, string, or undefined.\n * @param inputType - The type of the input, such as \"number\", \"range\", or other string types.\n * @returns The processed input value as a string, number, or undefined.\n */\nexport const getInputValue = (value?: number | string, inputType?: string): string | number | undefined => {\n return inputType && ['number', 'range'].includes(inputType) ? getNumber(value) : value;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const getHideProp = (show?: boolean | string): any => {\n if (show === undefined || show === null) {\n return undefined;\n }\n return getBooleanAsString(!Boolean(show));\n};\nexport const stringPropVisible = (givenString?: string, showString?: boolean | string) => {\n if (showString === undefined) {\n return !!givenString;\n } else {\n return Boolean(showString) && Boolean(givenString);\n }\n};\nexport const getSearchInput = (element: HTMLElement): HTMLInputElement | null => element.querySelector<HTMLInputElement>(`input[type=\"search\"]`);\nexport const getOptionKey = (option: {\n id?: string;\n value?: string | number | string[] | undefined;\n}, prefix: string) => {\n const key = option.id ?? option.value ?? uuid();\n return `${prefix}${key}`;\n}","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport type { DBButtonProps, DBButtonState } from \"./model\";\nimport { cls, getBoolean, getBooleanAsString, getHideProp } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\n\n@Component({\n selector: \"db-button\",\n standalone: true,\n imports: [CommonModule],\n template: `\n <button\n #_ref\n [attr.id]=\"id()\"\n [class]=\"cls('db-button', className())\"\n [attr.type]=\"type() || 'button'\"\n [disabled]=\"getBoolean(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.form]=\"form()\"\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 @if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\n }\n </button>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBButton implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBoolean = getBoolean;\n protected readonly getHideProp = getHideProp;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n id = input<DBButtonProps[\"id\"]>();\n className = input<DBButtonProps[\"className\"]>();\n type = input<DBButtonProps[\"type\"]>();\n disabled = input<DBButtonProps[\"disabled\"]>();\n label = input<DBButtonProps[\"label\"]>();\n icon = input<DBButtonProps[\"icon\"]>();\n showIcon = input<DBButtonProps[\"showIcon\"]>();\n size = input<DBButtonProps[\"size\"]>();\n state = input<DBButtonProps[\"state\"]>();\n width = input<DBButtonProps[\"width\"]>();\n variant = input<DBButtonProps[\"variant\"]>();\n noText = input<DBButtonProps[\"noText\"]>();\n name = input<DBButtonProps[\"name\"]>();\n form = input<DBButtonProps[\"form\"]>();\n value = input<DBButtonProps[\"value\"]>();\n describedbyid = input<DBButtonProps[\"describedbyid\"]>();\n ariaexpanded = input<DBButtonProps[\"ariaexpanded\"]>();\n ariapressed = input<DBButtonProps[\"ariapressed\"]>();\n text = input<DBButtonProps[\"text\"]>();\n click = output<\n Parameters<Required<DBButtonProps>[\"onClick\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n handleClick(event: ClickEvent<HTMLButtonElement>) {\n if (this.click) {\n this.click.emit(event);\n }\n }\n\n constructor() {}\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: string = 'MESSAGE SHOULD BE SET';\nexport const DEFAULT_LABEL_ID_SUFFIX: string = '-label';\nexport const DEFAULT_SELECT_ID_SUFFIX: string = '-select';\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_REMOVE: string = 'Remove';\nexport const DEFAULT_BACK: string = 'Back';\nexport const DEFAULT_SELECTED: string = 'Selected';\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';\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 Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBNotificationProps, DBNotificationState } from \"./model\";\nimport { DBButton } from \"../button/button\";\nimport { DEFAULT_CLOSE_BUTTON } from \"../../shared/constants\";\nimport { cls, getBoolean, getHideProp, stringPropVisible } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\n\n@Component({\n selector: \"db-notification\",\n standalone: true,\n imports: [CommonModule, DBButton],\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 @if(stringPropVisible(headline(), showHeadline())){\n <header>{{headline()}}</header>\n }\n <p>\n @if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\n }\n </p>\n @if(stringPropVisible(timestamp(), showTimestamp())){\n <span>{{timestamp()}}</span>\n }\n <ng-content select=\"[link]\"></ng-content>\n @if(getBoolean(closeable(), '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 }\n </article>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBNotification implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getHideProp = getHideProp;\n protected readonly stringPropVisible = stringPropVisible;\n protected readonly getBoolean = getBoolean;\n protected readonly DEFAULT_CLOSE_BUTTON = DEFAULT_CLOSE_BUTTON;\n\n id = input<DBNotificationProps[\"id\"]>();\n className = input<DBNotificationProps[\"className\"]>();\n ariaLive = input<DBNotificationProps[\"ariaLive\"]>();\n semantic = input<DBNotificationProps[\"semantic\"]>();\n variant = input<DBNotificationProps[\"variant\"]>();\n icon = input<DBNotificationProps[\"icon\"]>();\n showIcon = input<DBNotificationProps[\"showIcon\"]>();\n linkVariant = input<DBNotificationProps[\"linkVariant\"]>();\n headline = input<DBNotificationProps[\"headline\"]>();\n showHeadline = input<DBNotificationProps[\"showHeadline\"]>();\n text = input<DBNotificationProps[\"text\"]>();\n timestamp = input<DBNotificationProps[\"timestamp\"]>();\n showTimestamp = input<DBNotificationProps[\"showTimestamp\"]>();\n closeable = input<DBNotificationProps[\"closeable\"]>();\n closeButtonId = input<DBNotificationProps[\"closeButtonId\"]>();\n closeButtonText = input<DBNotificationProps[\"closeButtonText\"]>();\n close = output<\n Parameters<Required<DBNotificationProps>[\"onClose\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n handleClose(event: ClickEvent<HTMLButtonElement> | any) {\n event.stopPropagation();\n if (this.close) {\n this.close.emit(event);\n }\n }\n\n constructor() {}\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 AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBBadgeProps, DBBadgeState } from \"./model\";\nimport { cls } from \"../../utils\";\nimport { DEFAULT_LABEL } from \"../../shared/constants\";\n\n@Component({\n selector: \"db-badge\",\n standalone: true,\n imports: [CommonModule],\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 @if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\n }\n </span>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBBadge implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly DEFAULT_LABEL = DEFAULT_LABEL;\n\n placement = input<DBBadgeProps[\"placement\"]>();\n id = input<DBBadgeProps[\"id\"]>();\n className = input<DBBadgeProps[\"className\"]>();\n semantic = input<DBBadgeProps[\"semantic\"]>();\n size = input<DBBadgeProps[\"size\"]>();\n emphasis = input<DBBadgeProps[\"emphasis\"]>();\n label = input<DBBadgeProps[\"label\"]>();\n text = input<DBBadgeProps[\"text\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n initialized = signal<DBBadgeState[\"initialized\"]>(false);\n\n constructor() {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.initialized();\n // ---\n\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 // Enable writing to signals inside effects\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 \n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-badge\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\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 standalone: true,\n imports: [CommonModule],\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 @if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\n }\n </div>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBBrand implements AfterViewInit {\n protected readonly DEFAULT_ICON = DEFAULT_ICON;\n protected readonly getHideProp = getHideProp;\n protected readonly cls = cls;\n\n hideLogo = input<DBBrandProps[\"hideLogo\"]>();\n icon = input<DBBrandProps[\"icon\"]>();\n showIcon = input<DBBrandProps[\"showIcon\"]>();\n id = input<DBBrandProps[\"id\"]>();\n className = input<DBBrandProps[\"className\"]>();\n text = input<DBBrandProps[\"text\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n constructor() {}\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 Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport type { DBCardProps, DBCardState } from \"./model\";\nimport { cls } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\n\n@Component({\n selector: \"db-card\",\n standalone: true,\n imports: [CommonModule],\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 styles: `:host { display: contents; }`,\n})\nexport class DBCard implements AfterViewInit {\n protected readonly cls = cls;\n\n id = input<DBCardProps[\"id\"]>();\n className = input<DBCardProps[\"className\"]>();\n behavior = input<DBCardProps[\"behavior\"]>();\n elevationLevel = input<DBCardProps[\"elevationLevel\"]>();\n spacing = input<DBCardProps[\"spacing\"]>();\n click = output<Parameters<Required<DBCardProps>[\"onClick\"]>[number] | void>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n handleClick(event: ClickEvent<HTMLElement>) {\n if (this.click) {\n this.click.emit(event);\n }\n }\n\n constructor() {}\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 {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBInfotextProps, DBInfotextState } from \"./model\";\nimport { cls, getHideProp } from \"../../utils\";\n\n@Component({\n selector: \"db-infotext\",\n standalone: true,\n imports: [CommonModule],\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 @if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\n }\n </span>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBInfotext implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getHideProp = getHideProp;\n\n id = input<DBInfotextProps[\"id\"]>();\n className = input<DBInfotextProps[\"className\"]>();\n icon = input<DBInfotextProps[\"icon\"]>();\n semantic = input<DBInfotextProps[\"semantic\"]>();\n size = input<DBInfotextProps[\"size\"]>();\n showIcon = input<DBInfotextProps[\"showIcon\"]>();\n text = input<DBInfotextProps[\"text\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n constructor() {}\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 Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\nRenderer2, model } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\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 getBoolean,\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 standalone: true,\n imports: [CommonModule, DBInfotext],\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]=\"getBoolean(checked(), 'checked')\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [attr.value]=\"value()\"\n [required]=\"getBoolean(required(), 'required')\"\n (change)=\"handleChange($event)\"\n (blur)=\"handleBlur($event)\"\n (focus)=\"handleFocus($event)\"\n [attr.aria-describedby]=\"ariaDescribedBy() ?? _descByIds()\"\n />\n @if(label()){ {{label()}} }@else{\n <ng-content></ng-content>\n }\n </label>\n @if(stringPropVisible(message(), showMessage())){\n <db-infotext size=\"small\" [icon]=\"messageIcon()\" [id]=\"_messageId()\">\n {{message()}}\n </db-infotext>\n } @if(hasValidState()){\n <db-infotext size=\"small\" semantic=\"successful\" [id]=\"_validMessageId()\">\n {{validMessage() || DEFAULT_VALID_MESSAGE}}\n </db-infotext>\n }\n <db-infotext size=\"small\" semantic=\"critical\" [id]=\"_invalidMessageId()\">\n {{_invalidMessage()}}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {{_voiceOverFallback()}}\n </span>\n </div>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBCheckbox implements AfterViewInit, ControlValueAccessor {\n protected readonly cls = cls;\n protected readonly getHideProp = getHideProp;\n protected readonly getBoolean = getBoolean;\n protected readonly stringPropVisible = stringPropVisible;\n protected readonly DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;\n\n id = input<DBCheckboxProps[\"id\"]>();\n invalidMessage = input<DBCheckboxProps[\"invalidMessage\"]>();\n message = input<DBCheckboxProps[\"message\"]>();\n showMessage = input<DBCheckboxProps[\"showMessage\"]>();\n indeterminate = input<DBCheckboxProps[\"indeterminate\"]>();\n checked = model<DBCheckboxProps[\"checked\"]>();\n validMessage = input<DBCheckboxProps[\"validMessage\"]>();\n validation = input<DBCheckboxProps[\"validation\"]>();\n required = input<DBCheckboxProps[\"required\"]>();\n className = input<DBCheckboxProps[\"className\"]>();\n size = input<DBCheckboxProps[\"size\"]>();\n showLabel = input<DBCheckboxProps[\"showLabel\"]>();\n name = input<DBCheckboxProps[\"name\"]>();\n disabled = model<DBCheckboxProps[\"disabled\"]>();\n value = input<DBCheckboxProps[\"value\"]>();\n ariaDescribedBy = input<DBCheckboxProps[\"ariaDescribedBy\"]>();\n label = input<DBCheckboxProps[\"label\"]>();\n messageIcon = input<DBCheckboxProps[\"messageIcon\"]>();\n change = output<\n Parameters<Required<DBCheckboxProps>[\"onChange\"]>[number] | void\n >();\n blur = output<\n Parameters<Required<DBCheckboxProps>[\"onBlur\"]>[number] | void\n >();\n focus = output<\n Parameters<Required<DBCheckboxProps>[\"onFocus\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n initialized = signal<DBCheckboxState[\"initialized\"]>(false);\n _id = signal<DBCheckboxState[\"_id\"]>(undefined);\n _messageId = signal<DBCheckboxState[\"_messageId\"]>(undefined);\n _validMessageId = signal<DBCheckboxState[\"_validMessageId\"]>(undefined);\n _invalidMessageId = signal<DBCheckboxState[\"_invalidMessageId\"]>(undefined);\n _invalidMessage = signal<DBCheckboxState[\"_invalidMessage\"]>(undefined);\n _descByIds = signal<DBCheckboxState[\"_descByIds\"]>(\"\");\n _voiceOverFallback = signal<DBCheckboxState[\"_voiceOverFallback\"]>(\"\");\n\n hasValidState() {\n return !!(this.validMessage() ?? this.validation() === \"valid\");\n }\n handleValidation() {\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.set(this._invalidMessageId());\n this._invalidMessage.set(\n this.invalidMessage() ||\n this._ref()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(this._invalidMessage());\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref()?.nativeElement?.validity.valid &&\n this.required()\n ) {\n this._descByIds.set(this._validMessageId());\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(\n this.validMessage() ?? DEFAULT_VALID_MESSAGE\n );\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n } else if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(this._messageId());\n } else {\n this._descByIds.set(\"\");\n }\n }\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event, \"checked\");\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n constructor(private renderer: Renderer2,) {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.invalidMessage();\n // ---\n\n this._invalidMessage.set(\n this.invalidMessage() ||\n this._ref()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._id();\n // ---\n\n if (this._id()) {\n const messageId = this._id() + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId.set(messageId);\n this._validMessageId.set(\n this._id() + DEFAULT_VALID_MESSAGE_ID_SUFFIX\n );\n this._invalidMessageId.set(\n this._id() + DEFAULT_INVALID_MESSAGE_ID_SUFFIX\n );\n if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(messageId);\n }\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.initialized();\n this._ref();\n this.indeterminate();\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 = !!getBoolean(\n this.indeterminate()\n );\n }\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.initialized();\n this._ref();\n this.checked();\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 = !!getBoolean(this.checked());\n }\n this.initialized.set(false);\n }\n },\n {\n // Enable writing to signals inside effects\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 \n\t\twriteValue(value: any) {\n\t\t\t\n\t\t this.checked.set(!!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}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled.set(disabled);\n\t\t}\n\n\t\tngOnInit() {\n \n const mId = this.id() ?? `checkbox-${uuid()}`;\n this._id.set(mId);\n this._messageId.set(mId + DEFAULT_MESSAGE_ID_SUFFIX);\n this._validMessageId.set(mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX);\n this._invalidMessageId.set(mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX);\n this._invalidMessage.set(this.invalidMessage() || DEFAULT_INVALID_MESSAGE);\n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-checkbox\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBDividerProps, DBDividerState } from \"./model\";\nimport { cls } from \"../../utils\";\n\n@Component({\n selector: \"db-divider\",\n standalone: true,\n imports: [CommonModule],\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 styles: `:host { display: contents; }`,\n})\nexport class DBDivider implements AfterViewInit {\n protected readonly cls = cls;\n\n id = input<DBDividerProps[\"id\"]>();\n margin = input<DBDividerProps[\"margin\"]>();\n variant = input<DBDividerProps[\"variant\"]>();\n emphasis = input<DBDividerProps[\"emphasis\"]>();\n width = input<DBDividerProps[\"width\"]>();\n className = input<DBDividerProps[\"className\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n constructor() {}\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 Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBDrawerProps, DBDrawerState } from \"./model\";\nimport { DBButton } from \"../button/button\";\nimport { DEFAULT_CLOSE_BUTTON } from \"../../shared/constants\";\nimport { cls, delay, getBooleanAsString } from \"../../utils\";\n\n@Component({\n selector: \"db-drawer\",\n standalone: true,\n imports: [CommonModule, DBButton],\n template: `\n <dialog\n class=\"db-drawer\"\n [attr.id]=\"id()\"\n #_ref\n (click)=\"handleClose($event)\"\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]=\"getBooleanAsString(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($event, true)\"\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 styles: `:host { display: contents; }`,\n})\nexport class DBDrawer implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly DEFAULT_CLOSE_BUTTON = DEFAULT_CLOSE_BUTTON;\n\n open = input<DBDrawerProps[\"open\"]>();\n backdrop = input<DBDrawerProps[\"backdrop\"]>();\n variant = input<DBDrawerProps[\"variant\"]>();\n id = input<DBDrawerProps[\"id\"]>();\n className = input<DBDrawerProps[\"className\"]>();\n spacing = input<DBDrawerProps[\"spacing\"]>();\n width = input<DBDrawerProps[\"width\"]>();\n direction = input<DBDrawerProps[\"direction\"]>();\n rounded = input<DBDrawerProps[\"rounded\"]>();\n closeButtonId = input<DBDrawerProps[\"closeButtonId\"]>();\n closeButtonText = input<DBDrawerProps[\"closeButtonText\"]>();\n close = output<\n Parameters<Required<DBDrawerProps>[\"onClose\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n dialogContainerRef = viewChild<ElementRef>(\"dialogContainerRef\");\n\n handleClose(event: any, forceClose?: boolean) {\n if (event.key === \"Escape\") {\n event.preventDefault();\n }\n if (forceClose) {\n event.stopPropagation();\n }\n if (\n forceClose ||\n event.key === \"Escape\" ||\n (event.target.nodeName === \"DIALOG\" &&\n event.type === \"click\" &&\n this.backdrop() !== \"none\")\n ) {\n if (this.close) {\n this.close.emit(event);\n }\n }\n }\n handleDialogOpen() {\n if (this._ref()?.nativeElement) {\n const open = Boolean(this.open());\n if (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 (!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 constructor() {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.open();\n // ---\n\n this.handleDialogOpen();\n },\n {\n // Enable writing to signals inside effects\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 this.handleDialogOpen();\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-drawer\");\n }\n}\n","// TODO: We should reevaluate this as soon as CSS Anchor Positioning is supported in all relevant browsers\nconst isInView = (el: HTMLElement) => {\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.dataset['outsideVy'];\n const outsideX = el.dataset['outsideVx'];\n const parentRect = el?.parentElement?.getBoundingClientRect();\n if (parentRect) {\n if (outsideY) {\n const position = el.dataset['outsideVy'];\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.dataset['outsideVx'];\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: HTMLElement): 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.dataset['outsideVy'] = dataOutsidePair.vy!;\n } else {\n delete el.dataset['outsideVy'];\n }\n if (outLeft || outRight) {\n dataOutsidePair = {\n ...dataOutsidePair,\n vx: outRight ? 'right' : 'left'\n };\n el.dataset['outsideVx'] = dataOutsidePair.vx!;\n } else {\n delete el.dataset['outsideVx'];\n }\n return dataOutsidePair;\n};\nexport const handleFixedDropdown = (element: HTMLElement, parent: HTMLElement, placement: string) => {\n // We skip this if we are in mobile it's already fixed\n if (getComputedStyle(element).zIndex === '9999') return;\n const {\n top,\n bottom,\n childHeight,\n childWidth,\n width,\n right,\n left,\n correctedPlacement\n } = getFloatingProps(element, parent, placement);\n const fullWidth = element.dataset['width'] === 'full';\n if (fullWidth) {\n element.style.inlineSize = `${width}px`;\n }\n if (correctedPlacement === 'top' || correctedPlacement === 'bottom' || correctedPlacement === 'top-start' || correctedPlacement === 'bottom-start') {\n element.style.insetInlineStart = `${left}px`;\n } else if (correctedPlacement === 'top-end' || correctedPlacement === 'bottom-end') {\n element.style.insetInlineStart = `${right - childWidth}px`;\n }\n if (correctedPlacement?.startsWith('top')) {\n element.style.insetBlockStart = `${top - childHeight}px`;\n } else if (correctedPlacement?.startsWith('bottom')) {\n element.style.insetBlockStart = `${bottom}px`;\n }\n element.style.position = 'fixed';\n};\nconst getFloatingProps = (element: HTMLElement, parent: HTMLElement, placement: string) => {\n if (!element || !parent) {\n return {\n top: 0,\n bottom: 0,\n right: 0,\n height: 0,\n width: 0,\n left: 0,\n childHeight: 0,\n childWidth: 0,\n correctedPlacement: placement,\n innerWidth: window.innerWidth,\n innerHeight: window.innerHeight\n };\n }\n const childRect = element.getBoundingClientRect();\n const {\n top,\n height,\n bottom,\n right,\n left,\n width\n } = parent.getBoundingClientRect();\n const {\n innerHeight,\n innerWidth\n } = window;\n let childHeight = childRect.height;\n let childWidth = childRect.width;\n if (placement === 'bottom' || placement === 'top') {\n childWidth = childWidth / 2;\n }\n if (placement === 'left' || placement === 'right') {\n childHeight = childHeight / 2;\n }\n const outsideBottom = bottom + childHeight > innerHeight;\n const outsideTop = top - childHeight < 0;\n const outsideLeft = left - childWidth < 0;\n const outsideRight = right + childWidth > innerWidth;\n let correctedPlacement = placement;\n if (placement.startsWith('bottom')) {\n if (outsideBottom) {\n correctedPlacement = placement?.replace('bottom', 'top');\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'top';\n } else if (outsideLeft) {\n correctedPlacement = 'top-start';\n } else if (outsideRight) {\n correctedPlacement = 'top-end';\n }\n } else {\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'bottom';\n } else if (outsideLeft) {\n correctedPlacement = 'bottom-start';\n } else if (outsideRight) {\n correctedPlacement = 'bottom-end';\n }\n }\n } else if (placement.startsWith('top')) {\n if (outsideTop) {\n correctedPlacement = placement?.replace('top', 'bottom');\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'bottom';\n } else if (outsideLeft) {\n correctedPlacement = 'bottom-start';\n } else if (outsideRight) {\n correctedPlacement = 'bottom-end';\n }\n } else {\n if (outsideLeft && outsideRight) {\n correctedPlacement = 'top';\n } else if (outsideLeft) {\n correctedPlacement = 'top-start';\n } else if (outsideRight) {\n correctedPlacement = 'top-end';\n }\n }\n } else if (placement.startsWith('left')) {\n if (outsideLeft) {\n correctedPlacement = placement?.replace('left', 'right');\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'right';\n } else if (outsideBottom) {\n correctedPlacement = 'right-end';\n } else if (outsideTop) {\n correctedPlacement = 'right-start';\n }\n } else {\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'left';\n } else if (outsideBottom) {\n correctedPlacement = 'left-end';\n } else if (outsideTop) {\n correctedPlacement = 'left-start';\n }\n }\n } else if (correctedPlacement.startsWith('right')) {\n if (outsideRight) {\n correctedPlacement = placement?.replace('right', 'left');\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'left';\n } else if (outsideBottom) {\n correctedPlacement = 'left-end';\n } else if (outsideTop) {\n correctedPlacement = 'left-start';\n }\n } else {\n if (outsideBottom && outsideTop) {\n correctedPlacement = 'right';\n } else if (outsideBottom) {\n correctedPlacement = 'right-end';\n } else if (outsideTop) {\n correctedPlacement = 'right-start';\n }\n }\n }\n return {\n top,\n bottom,\n right,\n height,\n width,\n left,\n childHeight: childRect.height,\n childWidth: childRect.width,\n correctedPlacement,\n innerWidth,\n innerHeight\n };\n};\nexport const handleFixedPopover = (element: HTMLElement, parent: HTMLElement, placement: string) => {\n const distance = getComputedStyle(element).getPropertyValue('--db-popover-distance') ?? '0px';\n const {\n top,\n height,\n width,\n childHeight,\n childWidth,\n right,\n left,\n bottom,\n correctedPlacement,\n innerWidth,\n innerHeight\n } = getFloatingProps(element, parent, placement);\n\n // Tooltip arrow position\n\n if (childWidth > width && (correctedPlacement.startsWith('bottom') || correctedPlacement.startsWith('top'))) {\n const diff = width / 2 / childWidth * 100;\n if (correctedPlacement.endsWith('start')) {\n element.style.setProperty('--db-tooltip-arrow-inline-start', `${diff}%`);\n } else if (correctedPlacement.endsWith('end')) {\n element.style.setProperty('--db-tooltip-arrow-inline-start', `${100 - diff}%`);\n }\n }\n if (childHeight > height && (correctedPlacement.startsWith('left') || correctedPlacement.startsWith('bottom'))) {\n const diff = height / 2 / childHeight * 100;\n if (correctedPlacement.endsWith('start')) {\n element.style.setProperty('--db-tooltip-arrow-block-start', `${diff}%`);\n } else if (correctedPlacement.endsWith('end')) {\n element.style.setProperty('--db-tooltip-arrow-block-start', `${100 - diff}%`);\n }\n }\n\n // Popover position\n\n if (correctedPlacement === 'right' || correctedPlacement === 'left') {\n // center horizontally\n element.style.insetBlockStart = `${top + height / 2}px`;\n } else if (correctedPlacement === 'right-start' || correctedPlacement === 'left-start') {\n const end = top + childHeight;\n element.style.insetBlockStart = `${top}px`;\n element.style.insetBlockEnd = `${end > innerHeight ? innerHeight : end}px`;\n } else if (correctedPlacement === 'right-end' || correctedPlacement === 'left-end') {\n const start = bottom - childHeight;\n element.style.insetBlockStart = `${start < 0 ? 0 : start}px`;\n element.style.insetBlockEnd = `${bottom}px`;\n } else if (correctedPlacement === 'top' || correctedPlacement === 'bottom') {\n // center vertically\n element.style.insetInlineStart = `${left + width / 2}px`;\n } else if (correctedPlacement === 'top-start' || correctedPlacement === 'bottom-start') {\n const end = left + childWidth;\n element.style.insetInlineStart = `${left}px`;\n element.style.insetInlineEnd = `${end > innerWidth ? innerWidth : end}px`;\n } else if (correctedPlacement === 'top-end' || correctedPlacement === 'bottom-end') {\n const start = left - childWidth;\n element.style.insetInlineStart = `${right - childWidth}px`;\n element.style.insetInlineEnd = `${start < 0 ? 0 : start}px`;\n }\n if (correctedPlacement?.startsWith('right')) {\n const end = right + childWidth;\n element.style.insetInlineStart = `calc(${right}px + ${distance})`;\n element.style.insetInlineEnd = `calc(${end > innerWidth ? innerWidth : end}px + ${distance})`;\n } else if (correctedPlacement?.startsWith('left')) {\n const start = left - childWidth;\n element.style.insetInlineStart = `calc(${start < 0 ? 0 : start}px - ${distance})`;\n element.style.insetInlineEnd = `calc(${right}px - ${distance})`;\n } else if (correctedPlacement?.startsWith('top')) {\n const start = top - childHeight;\n element.style.insetBlockStart = `calc(${start < 0 ? 0 : start}px - ${distance})`;\n element.style.insetBlockEnd = `calc(${bottom}px - ${distance})`;\n } else if (correctedPlacement?.startsWith('bottom')) {\n const end = bottom + childHeight;\n element.style.insetBlockStart = `calc(${bottom}px + ${distance})`;\n element.style.insetBlockEnd = `calc(${end > innerHeight ? innerHeight : end}px + ${distance})`;\n }\n element.style.position = 'fixed';\n element.setAttribute('data-corrected-placement', correctedPlacement);\n}","import { handleDataOutside } from './floating-components';\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: HTMLElement | null;\n private readonly parentSubNavigation: HTMLElement | 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: HTMLElement | 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 Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\nContentChild, TemplateRef } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBHeaderProps, DBHeaderState } from \"./model\";\nimport { addAttributeToChildren, cls, getBoolean, 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 standalone: true,\n imports: [CommonModule, DBDrawer, DBButton],\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]=\"getBoolean(drawerOpen())\"\n (close)=\"handleToggle()\"\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)=\"handleToggle()\"\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 styles: `:host { display: contents; }`,\n})\nexport class DBHeader implements AfterViewInit {\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 protected readonly cls = cls;\n protected readonly getBoolean = getBoolean;\n protected readonly DEFAULT_BURGER_MENU = DEFAULT_BURGER_MENU;\n\n id = input<DBHeaderProps[\"id\"]>();\n forceMobile = input<DBHeaderProps[\"forceMobile\"]>();\n drawerOpen = input<DBHeaderProps[\"drawerOpen\"]>();\n className = input<DBHeaderProps[\"className\"]>();\n width = input<DBHeaderProps[\"width\"]>();\n burgerMenuLabel = input<DBHeaderProps[\"burgerMenuLabel\"]>();\n toggle = output<\n Parameters<Required<DBHeaderProps>[\"onToggle\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBHeaderState[\"_id\"]>(DEFAULT_ID);\n initialized = signal<DBHeaderState[\"initialized\"]>(false);\n forcedToMobile = signal<DBHeaderState[\"forcedToMobile\"]>(false);\n\n handleToggle(event?: any) {\n if (event && event.stopPropagation) {\n event.stopPropagation();\n }\n const open = !getBoolean(this.drawerOpen(), \"drawerOpen\");\n if (this.toggle) {\n this.toggle.emit(open);\n }\n }\n handleNavigationItemClick(event: unknown) {\n if (isEventTargetNavigationItem(event)) {\n this.handleToggle();\n }\n }\n\n constructor() {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.initialized();\n // ---\n\n if (\n this.initialized() &&\n document &&\n this._id() &&\n this.forceMobile()\n ) {\n const headerElement = document.getElementById(\n this._id() ?? \"\"\n ) 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.set(true);\n }\n },\n {\n // Enable writing to signals inside effects\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 \n this._id.set(this.id() || \"header-\" + uuid());\n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-header\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport type { DBIconProps, DBIconState } from \"./model\";\nimport { cls } from \"../../utils\";\n\n@Component({\n selector: \"db-icon\",\n standalone: true,\n imports: [CommonModule],\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 @if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\n }\n </span>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBIcon implements AfterViewInit {\n protected readonly cls = cls;\n\n id = input<DBIconProps[\"id\"]>();\n className = input<DBIconProps[\"className\"]>();\n icon = input<DBIconProps[\"icon\"]>();\n weight = input<DBIconProps[\"weight\"]>();\n variant = input<DBIconProps[\"variant\"]>();\n text = input<DBIconProps[\"text\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n constructor() {}\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 Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\nRenderer2, model } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport {\n cls,\n delay,\n getBoolean,\n getHideProp,\n getNumber,\n hasVoiceOver,\n isArrayOfStrings,\n stringPropVisible,\n uuid,\n getInputValue,\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 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: DBInput,\n\t\t\tmulti: true\n\t\t}],\t\n selector: \"db-input\",\n standalone: true,\n imports: [CommonModule, DBInfotext],\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 [attr.data-field-sizing]=\"fieldSizing()\"\n #_ref\n [attr.id]=\"_id()\"\n [attr.name]=\"name()\"\n [attr.type]=\"type() || 'text'\"\n [attr.placeholder]=\"placeholder() ?? DEFAULT_PLACEHOLDER\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [required]=\"getBoolean(required(), 'required')\"\n [attr.step]=\"getNumber(step())\"\n [attr.value]=\"value() ?? _value()\"\n [attr.maxLength]=\"getNumber(maxLength(), maxlength())\"\n [attr.minLength]=\"getNumber(minLength(), minlength())\"\n [attr.max]=\"getInputValue(max(), type())\"\n [attr.min]=\"getInputValue(min(), type())\"\n [attr.readOnly]=\"getBoolean(readOnly(), 'readOnly') || getBoolean(readonly(), 'readonly')\"\n [attr.form]=\"form()\"\n [attr.pattern]=\"pattern()\"\n [attr.size]=\"size()\"\n [attr.autoComplete]=\"autocomplete()\"\n [attr.autoFocus]=\"getBoolean(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]=\"ariaDescribedBy() ?? _descByIds()\"\n />\n @if(dataList()){\n <datalist [attr.id]=\"_dataListId()\">\n @for (option of getDataList();track trackByOption0;let i = $index) {\n <option [attr.value]=\"option.value\">{{option.label}}</option>\n }\n </datalist>\n }\n <ng-content></ng-content>\n @if(stringPropVisible(message(), showMessage())){\n <db-infotext size=\"small\" [icon]=\"messageIcon()\" [id]=\"_messageId()\">\n {{message()}}\n </db-infotext>\n } @if(hasValidState()){\n <db-infotext size=\"small\" semantic=\"successful\" [id]=\"_validMessageId()\">\n {{validMessage() || DEFAULT_VALID_MESSAGE}}\n </db-infotext>\n }\n <db-infotext size=\"small\" semantic=\"critical\" [id]=\"_invalidMessageId()\">\n {{_invalidMessage()}}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {{_voiceOverFallback()}}\n </span>\n </div>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBInput implements AfterViewInit, ControlValueAccessor {\n protected readonly cls = cls;\n protected readonly getHideProp = getHideProp;\n protected readonly DEFAULT_LABEL = DEFAULT_LABEL;\n protected readonly DEFAULT_PLACEHOLDER = DEFAULT_PLACEHOLDER;\n protected readonly getBoolean = getBoolean;\n protected readonly getNumber = getNumber;\n protected readonly getInputValue = getInputValue;\n protected readonly stringPropVisible = stringPropVisible;\n protected readonly DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;\n\n id = input<DBInputProps[\"id\"]>();\n invalidMessage = input<DBInputProps[\"invalidMessage\"]>();\n dataListId = input<DBInputProps[\"dataListId\"]>();\n message = input<DBInputProps[\"message\"]>();\n showMessage = input<DBInputProps[\"showMessage\"]>();\n value = model<DBInputProps[\"value\"]>();\n validMessage = input<DBInputProps[\"validMessage\"]>();\n validation = input<DBInputProps[\"validation\"]>();\n required = input<DBInputProps[\"required\"]>();\n minLength = input<DBInputProps[\"minLength\"]>();\n maxLength = input<DBInputProps[\"maxLength\"]>();\n pattern = input<DBInputProps[\"pattern\"]>();\n dataList = input<DBInputProps[\"dataList\"]>();\n className = input<DBInputProps[\"className\"]>();\n variant = input<DBInputProps[\"variant\"]>();\n showLabel = input<DBInputProps[\"showLabel\"]>();\n showIcon = input<DBInputProps[\"showIcon\"]>();\n icon = input<DBInputProps[\"icon\"]>();\n iconAfter = input<DBInputProps[\"iconAfter\"]>();\n label = input<DBInputProps[\"label\"]>();\n fieldSizing = input<DBInputProps[\"fieldSizing\"]>();\n name = input<DBInputProps[\"name\"]>();\n type = input<DBInputProps[\"type\"]>();\n placeholder = input<DBInputProps[\"placeholder\"]>();\n disabled = model<DBInputProps[\"disabled\"]>();\n step = input<DBInputProps[\"step\"]>();\n maxlength = input<DBInputProps[\"maxlength\"]>();\n minlength = input<DBInputProps[\"minlength\"]>();\n max = input<DBInputProps[\"max\"]>();\n min = input<DBInputProps[\"min\"]>();\n readOnly = input<DBInputProps[\"readOnly\"]>();\n readonly = input<DBInputProps[\"readonly\"]>();\n form = input<DBInputProps[\"form\"]>();\n size = input<DBInputProps[\"size\"]>();\n autocomplete = input<DBInputProps[\"autocomplete\"]>();\n autofocus = input<DBInputProps[\"autofocus\"]>();\n ariaDescribedBy = input<DBInputProps[\"ariaDescribedBy\"]>();\n messageIcon = input<DBInputProps[\"messageIcon\"]>();\n input = output<\n Parameters<Required<DBInputProps>[\"onInput\"]>[number] | void\n >();\n change = output<\n Parameters<Required<DBInputProps>[\"onChange\"]>[number] | void\n >();\n blur = output<Parameters<Required<DBInputProps>[\"onBlur\"]>[number] | void>();\n focus = output<\n Parameters<Required<DBInputProps>[\"onFocus\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBInputState[\"_id\"]>(undefined);\n _messageId = signal<DBInputState[\"_messageId\"]>(undefined);\n _validMessageId = signal<DBInputState[\"_validMessageId\"]>(undefined);\n _invalidMessageId = signal<DBInputState[\"_invalidMessageId\"]>(undefined);\n _invalidMessage = signal<DBInputState[\"_invalidMessage\"]>(undefined);\n _dataListId = signal<DBInputState[\"_dataListId\"]>(undefined);\n _descByIds = signal<DBInputState[\"_descByIds\"]>(\"\");\n _value = signal<DBInputState[\"_value\"]>(\"\");\n _voiceOverFallback = signal<DBInputState[\"_voiceOverFallback\"]>(\"\");\n\n hasValidState() {\n return !!(this.validMessage() ?? this.validation() === \"valid\");\n }\n handleValidation() {\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.set(this._invalidMessageId());\n this._invalidMessage.set(\n this.invalidMessage() ||\n this._ref()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(this._invalidMessage());\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref()?.nativeElement?.validity.valid &&\n (this.required() ||\n this.minLength() ||\n this.maxLength() ||\n this.pattern())\n ) {\n this._descByIds.set(this._validMessageId());\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(\n this.validMessage() ?? DEFAULT_VALID_MESSAGE\n );\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n } else if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(this._messageId());\n } else {\n this._descByIds.set(\"\");\n }\n }\n handleInput(event: InputEvent<HTMLInputElement>) {\n if (this.input) {\n this.input.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n getDataList() {\n const _list = this.dataList();\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(_: number, option: any) {\n return this._dataListId() + \"-option-\" + option.value;\n }\n\n constructor(private renderer: Renderer2,) {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.invalidMessage();\n // ---\n\n this._invalidMessage.set(\n this.invalidMessage() ||\n this._ref()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._id();\n // ---\n\n if (this._id()) {\n const messageId = this._id() + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId.set(messageId);\n this._validMessageId.set(\n this._id() + DEFAULT_VALID_MESSAGE_ID_SUFFIX\n );\n this._invalidMessageId.set(\n this._id() + DEFAULT_INVALID_MESSAGE_ID_SUFFIX\n );\n this._dataListId.set(\n this.dataListId() ?? this._id() + DEFAULT_DATALIST_ID_SUFFIX\n );\n if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(messageId);\n }\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.value();\n // ---\n\n this._value.set(this.value());\n },\n {\n // Enable writing to signals inside effects\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 \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.set(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}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled.set(disabled);\n\t\t}\n\n\t\tngOnInit() {\n const mId = this.id() ?? `input-${uuid()}`;\n this._id.set(mId);\n this._messageId.set(mId + DEFAULT_MESSAGE_ID_SUFFIX);\n this._validMessageId.set(mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX);\n this._invalidMessageId.set(mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX);\n this._dataListId.set(mId + DEFAULT_DATALIST_ID_SUFFIX);\n this._invalidMessage.set(this.invalidMessage() || DEFAULT_INVALID_MESSAGE);\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-input\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\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 standalone: true,\n imports: [CommonModule],\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]=\"getBooleanAsString(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 @if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\n }\n </a>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBLink implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly getHideProp = getHideProp;\n\n id = input<DBLinkProps[\"id\"]>();\n className = input<DBLinkProps[\"className\"]>();\n href = input<DBLinkProps[\"href\"]>();\n target = input<DBLinkProps[\"target\"]>();\n rel = input<DBLinkProps[\"rel\"]>();\n role = input<DBLinkProps[\"role\"]>();\n hreflang = input<DBLinkProps[\"hreflang\"]>();\n disabled = input<DBLinkProps[\"disabled\"]>();\n selected = input<DBLinkProps[\"selected\"]>();\n label = input<DBLinkProps[\"label\"]>();\n current = input<DBLinkProps[\"current\"]>();\n size = input<DBLinkProps[\"size\"]>();\n showIcon = input<DBLinkProps[\"showIcon\"]>();\n variant = input<DBLinkProps[\"variant\"]>();\n content = input<DBLinkProps[\"content\"]>();\n text = input<DBLinkProps[\"text\"]>();\n click = output<Parameters<Required<DBLinkProps>[\"onClick\"]>[number] | void>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n handleClick(event: ClickEvent<HTMLAnchorElement>) {\n if (this.click) {\n this.click.emit(event);\n }\n }\n\n constructor() {}\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 {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBPageProps, DBPageState } from \"./model\";\nimport { cls, getBooleanAsString } from \"../../utils\";\n\n@Component({\n selector: \"db-page\",\n standalone: true,\n imports: [CommonModule],\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]=\"getBooleanAsString(fadeIn())\"\n [attr.data-fonts-loaded]=\"getBooleanAsString(fontsLoaded())\"\n >\n <ng-content select=\"[header]\"></ng-content>\n <main [class]=\"cls('db-main', mainClass())\">\n <ng-content></ng-content>\n </main>\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBPage implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n fadeIn = input<DBPageProps[\"fadeIn\"]>();\n documentOverflow = input<DBPageProps[\"documentOverflow\"]>();\n variant = input<DBPageProps[\"variant\"]>();\n id = input<DBPageProps[\"id\"]>();\n className = input<DBPageProps[\"className\"]>();\n mainClass = input<DBPageProps[\"mainClass\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n fontsLoaded = signal<DBPageState[\"fontsLoaded\"]>(false);\n\n constructor() {}\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 this.fontsLoaded.set(!this.fadeIn());\n if (document && this.fadeIn()) {\n document.fonts.ready.then(() => {\n this.fontsLoaded.set(true);\n });\n } else {\n this.fontsLoaded.set(true);\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 Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\nRenderer2, model } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBRadioProps, DBRadioState } from \"./model\";\nimport { cls, getBoolean, 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 standalone: true,\n imports: [CommonModule],\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]=\"getBoolean(checked(), 'checked')\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [attr.aria-describedby]=\"describedbyid() ?? ariaDescribedBy()\"\n [attr.value]=\"value()\"\n [required]=\"getBoolean(required(), 'required')\"\n (change)=\"handleChange($event)\"\n (blur)=\"handleBlur($event)\"\n (focus)=\"handleFocus($event)\"\n />\n @if(label()){ {{label()}} }@else{\n <ng-content></ng-content>\n }\n </label>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBRadio implements AfterViewInit, ControlValueAccessor {\n protected readonly getHideProp = getHideProp;\n protected readonly cls = cls;\n protected readonly getBoolean = getBoolean;\n\n id = input<DBRadioProps[\"id\"]>();\n checked = input<DBRadioProps[\"checked\"]>();\n size = input<DBRadioProps[\"size\"]>();\n showLabel = input<DBRadioProps[\"showLabel\"]>();\n className = input<DBRadioProps[\"className\"]>();\n validation = input<DBRadioProps[\"validation\"]>();\n name = input<DBRadioProps[\"name\"]>();\n disabled = model<DBRadioProps[\"disabled\"]>();\n describedbyid = input<DBRadioProps[\"describedbyid\"]>();\n ariaDescribedBy = input<DBRadioProps[\"ariaDescribedBy\"]>();\n value = model<DBRadioProps[\"value\"]>();\n required = input<DBRadioProps[\"required\"]>();\n label = input<DBRadioProps[\"label\"]>();\n change = output<\n Parameters<Required<DBRadioProps>[\"onChange\"]>[number] | void\n >();\n blur = output<Parameters<Required<DBRadioProps>[\"onBlur\"]>[number] | void>();\n focus = output<\n Parameters<Required<DBRadioProps>[\"onFocus\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n initialized = signal<DBRadioState[\"initialized\"]>(false);\n _id = signal<DBRadioState[\"_id\"]>(undefined);\n\n handleChange(event: ChangeEvent<HTMLInputElement> | any) {\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n }\n handleBlur(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n constructor(private renderer: Renderer2,) {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.initialized();\n this._ref();\n this.checked();\n // ---\n\n if (\n this.checked() &&\n this.initialized() &&\n this._ref()?.nativeElement\n ) {\n this._ref()!.nativeElement.checked = true;\n }\n },\n {\n // Enable writing to signals inside effects\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 \n\t\twriteValue(value: any) {\n\t\t\tif(value){\n\t\t this.value.set(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}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled.set(disabled);\n\t\t}\n\n\t\tngOnInit() {\n \n this._id.set(this.id() ?? `radio-${uuid()}`);\n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-radio\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\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 standalone: true,\n imports: [CommonModule],\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 styles: `:host { display: contents; }`,\n})\nexport class DBSection implements AfterViewInit {\n protected readonly cls = cls;\n\n id = input<DBSectionProps[\"id\"]>();\n className = input<DBSectionProps[\"className\"]>();\n spacing = input<DBSectionProps[\"spacing\"]>();\n width = input<DBSectionProps[\"width\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBSectionState[\"_id\"]>(DEFAULT_ID);\n\n constructor() {}\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._id.set(this.id() || \"section-\" + uuid());\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-section\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\nRenderer2, model } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBSelectOptionType, DBSelectProps, DBSelectState } from \"./model\";\nimport {\n cls,\n delay,\n getBoolean,\n getHideProp,\n getOptionKey,\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 standalone: true,\n imports: [CommonModule, DBInfotext],\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]=\"getBoolean(required(), 'required')\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [attr.id]=\"_id()\"\n [attr.name]=\"name()\"\n [attr.size]=\"size()\"\n [value]=\"value() ?? _value()\"\n [attr.autocomplete]=\"autocomplete()\"\n [attr.multiple]=\"multiple()\"\n (input)=\"handleInput($event)\"\n (click)=\"handleClick($event)\"\n (change)=\"handleChange($event)\"\n (blur)=\"handleBlur($event)\"\n (focus)=\"handleFocus($event)\"\n [attr.aria-describedby]=\"ariaDescribedBy() ?? _descByIds()\"\n >\n <option [attr.hidden]=\"true\"></option>\n @if(options()?.length){ @for (option of options();track i;let i =\n $index) {\n <ng-container>\n @if(option.options){\n <optgroup [attr.label]=\"getOptionLabel(option)\">\n @for (optgroupOption of option.options;track\n trackByOptgroupOption0;let i = $index) {\n <option\n [value]=\"optgroupOption.value\"\n [attr.selected]=\"optgroupOption.selected\"\n [disabled]=\"optgroupOption.disabled\"\n >\n {{getOptionLabel(optgroupOption)}}\n </option>\n }\n </optgroup>\n }@else{\n <option\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n [attr.selected]=\"option.selected\"\n >\n {{getOptionLabel(option)}}\n </option>\n }\n </ng-container>\n } }@else{\n <ng-content></ng-content>\n }\n </select>\n <span [attr.id]=\"_placeholderId()\">{{placeholder() ?? label()}}</span>\n @if(stringPropVisible(message(), showMessage())){\n <db-infotext size=\"small\" [icon]=\"messageIcon()\" [id]=\"_messageId()\">\n {{message()}}\n </db-infotext>\n } @if(hasValidState()){\n <db-infotext size=\"small\" semantic=\"successful\" [id]=\"_validMessageId()\">\n {{validMessage() || DEFAULT_VALID_MESSAGE}}\n </db-infotext>\n }\n <db-infotext size=\"small\" semantic=\"critical\" [id]=\"_invalidMessageId()\">\n {{_invalidMessage()}}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {{_voiceOverFallback()}}\n </span>\n </div>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBSelect implements AfterViewInit, ControlValueAccessor {\n protected readonly cls = cls;\n protected readonly getHideProp = getHideProp;\n protected readonly DEFAULT_LABEL = DEFAULT_LABEL;\n protected readonly getBoolean = getBoolean;\n protected readonly getOptionKey = getOptionKey;\n protected readonly stringPropVisible = stringPropVisible;\n protected readonly DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;\n\n id = input<DBSelectProps[\"id\"]>();\n invalidMessage = input<DBSelectProps[\"invalidMessage\"]>();\n message = input<DBSelectProps[\"message\"]>();\n showMessage = input<DBSelectProps[\"showMessage\"]>();\n value = model<DBSelectProps[\"value\"]>();\n validMessage = input<DBSelectProps[\"validMessage\"]>();\n validation = input<DBSelectProps[\"validation\"]>();\n required = input<DBSelectProps[\"required\"]>();\n className = input<DBSelectProps[\"className\"]>();\n variant = input<DBSelectProps[\"variant\"]>();\n showLabel = input<DBSelectProps[\"showLabel\"]>();\n icon = input<DBSelectProps[\"icon\"]>();\n showIcon = input<DBSelectProps[\"showIcon\"]>();\n label = input<DBSelectProps[\"label\"]>();\n disabled = model<DBSelectProps[\"disabled\"]>();\n name = input<DBSelectProps[\"name\"]>();\n size = input<DBSelectProps[\"size\"]>();\n autocomplete = input<DBSelectProps[\"autocomplete\"]>();\n multiple = input<DBSelectProps[\"multiple\"]>();\n ariaDescribedBy = input<DBSelectProps[\"ariaDescribedBy\"]>();\n options = input<DBSelectProps[\"options\"]>();\n placeholder = input<DBSelectProps[\"placeholder\"]>();\n messageIcon = input<DBSelectProps[\"messageIcon\"]>();\n click = output<\n Parameters<Required<DBSelectProps>[\"onClick\"]>[number] | void\n >();\n input = output<\n Parameters<Required<DBSelectProps>[\"onInput\"]>[number] | void\n >();\n change = output<\n Parameters<Required<DBSelectProps>[\"onChange\"]>[number] | void\n >();\n blur = output<Parameters<Required<DBSelectProps>[\"onBlur\"]>[number] | void>();\n focus = output<\n Parameters<Required<DBSelectProps>[\"onFocus\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBSelectState[\"_id\"]>(undefined);\n _messageId = signal<DBSelectState[\"_messageId\"]>(undefined);\n _validMessageId = signal<DBSelectState[\"_validMessageId\"]>(undefined);\n _invalidMessageId = signal<DBSelectState[\"_invalidMessageId\"]>(undefined);\n _invalidMessage = signal<DBSelectState[\"_invalidMessage\"]>(undefined);\n _placeholderId = signal<DBSelectState[\"_placeholderId\"]>(\"\");\n _descByIds = signal<DBSelectState[\"_descByIds\"]>(\"\");\n _value = signal<DBSelectState[\"_value\"]>(\"\");\n initialized = signal<DBSelectState[\"initialized\"]>(false);\n _voiceOverFallback = signal<DBSelectState[\"_voiceOverFallback\"]>(\"\");\n\n hasValidState() {\n return !!(this.validMessage() ?? this.validation() === \"valid\");\n }\n handleValidation() {\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.set(this._invalidMessageId());\n this._invalidMessage.set(\n this.invalidMessage() ||\n this._ref()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(this._invalidMessage());\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref()?.nativeElement?.validity.valid &&\n this.required()\n ) {\n this._descByIds.set(this._validMessageId());\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(\n this.validMessage() ?? DEFAULT_VALID_MESSAGE\n );\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n } else if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(this._messageId());\n } else {\n this._descByIds.set(this._placeholderId());\n }\n }\n handleClick(event: ClickEvent<HTMLSelectElement> | any) {\n if (this.click) {\n this.click.emit(event);\n }\n }\n handleInput(event: InputEvent<HTMLSelectElement> | any) {\n if (this.input) {\n this.input.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLSelectElement> | any) {\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLSelectElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLSelectElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n getOptionLabel(option: DBSelectOptionType) {\n return option.label ?? option.value?.toString();\n }\n trackByOptgroupOption0(_: number, optgroupOption: any) {\n return getOptionKey(optgroupOption, \"select-optgroup-option-\");\n }\n\n constructor(private renderer: Renderer2,) {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.invalidMessage();\n // ---\n\n this._invalidMessage.set(\n this.invalidMessage() ||\n this._ref()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._id();\n this.initialized();\n // ---\n\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.set(messageId);\n this._validMessageId.set(\n this._id() + DEFAULT_VALID_MESSAGE_ID_SUFFIX\n );\n this._invalidMessageId.set(\n this._id() + DEFAULT_INVALID_MESSAGE_ID_SUFFIX\n );\n this._placeholderId.set(placeholderId);\n if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(messageId);\n } else {\n this._descByIds.set(placeholderId);\n }\n this.initialized.set(false);\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.value();\n // ---\n\n this._value.set(this.value());\n },\n {\n // Enable writing to signals inside effects\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 \n\t\twriteValue(value: any) {\n\t\t\t\n\t\t this.value.set(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}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled.set(disabled);\n\t\t}\n\n\t\tngOnInit() {\n \n const mId = this.id() ?? `select-${uuid()}`;\n this._id.set(mId);\n this._messageId.set(mId + DEFAULT_MESSAGE_ID_SUFFIX);\n this._validMessageId.set(mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX);\n this._invalidMessageId.set(mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX);\n this._placeholderId.set(mId + DEFAULT_PLACEHOLDER_ID_SUFFIX);\n this._invalidMessage.set(this.invalidMessage() || DEFAULT_INVALID_MESSAGE);\n }\n\n ngAfterViewInit() {\n\t this.writeValue(this.value());\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-select\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\nRenderer2, model } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBSwitchProps, DBSwitchState } from \"./model\";\nimport {\n cls,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n uuid,\n} 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 standalone: true,\n imports: [CommonModule],\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]=\"getBoolean(checked(), 'checked')\"\n [attr.value]=\"value()\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [attr.aria-describedby]=\"describedbyid() ?? ariaDescribedBy()\"\n [attr.aria-invalid]=\"validation() === 'invalid'\"\n [attr.data-custom-validity]=\"validation()\"\n [attr.name]=\"name()\"\n [required]=\"getBoolean(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 @if(label()){ {{label()}} }@else{\n <ng-content></ng-content>\n }\n </label>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBSwitch implements AfterViewInit, ControlValueAccessor {\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly getHideProp = getHideProp;\n protected readonly cls = cls;\n protected readonly getBoolean = getBoolean;\n\n id = input<DBSwitchProps[\"id\"]>();\n checked = model<DBSwitchProps[\"checked\"]>();\n visualAid = input<DBSwitchProps[\"visualAid\"]>();\n size = input<DBSwitchProps[\"size\"]>();\n showLabel = input<DBSwitchProps[\"showLabel\"]>();\n emphasis = input<DBSwitchProps[\"emphasis\"]>();\n className = input<DBSwitchProps[\"className\"]>();\n value = input<DBSwitchProps[\"value\"]>();\n disabled = model<DBSwitchProps[\"disabled\"]>();\n describedbyid = input<DBSwitchProps[\"describedbyid\"]>();\n ariaDescribedBy = input<DBSwitchProps[\"ariaDescribedBy\"]>();\n validation = input<DBSwitchProps[\"validation\"]>();\n name = input<DBSwitchProps[\"name\"]>();\n required = input<DBSwitchProps[\"required\"]>();\n icon = input<DBSwitchProps[\"icon\"]>();\n iconAfter = input<DBSwitchProps[\"iconAfter\"]>();\n label = input<DBSwitchProps[\"label\"]>();\n change = output<\n Parameters<Required<DBSwitchProps>[\"onChange\"]>[number] | void\n >();\n blur = output<Parameters<Required<DBSwitchProps>[\"onBlur\"]>[number] | void>();\n focus = output<\n Parameters<Required<DBSwitchProps>[\"onFocus\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBSwitchState[\"_id\"]>(undefined);\n _checked = signal<DBSwitchState[\"_checked\"]>(false);\n\n handleChange(event: ChangeEvent<HTMLInputElement>) {\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.set((event.target as any)?.[\"checked\"]);\n handleFrameworkEventAngular(this, event, \"checked\");\n }\n handleBlur(event: InteractionEvent<HTMLInputElement>) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement>) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n constructor(private renderer: Renderer2,) {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.checked();\n // ---\n\n if (this.checked() !== undefined && this.checked() !== null) {\n this._checked.set(getBoolean(this.checked()));\n }\n },\n {\n // Enable writing to signals inside effects\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 \n\t\twriteValue(value: any) {\n\t\t\t\n\t\t this.checked.set(!!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}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled.set(disabled);\n\t\t}\n\n\t\tngOnInit() {\n this._id.set(this.id() ?? `switch-${uuid()}`);\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-switch\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\nRenderer2, model } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport type { DBTabItemProps, DBTabItemState } from \"./model\";\nimport { cls, getBoolean, 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 standalone: true,\n imports: [CommonModule],\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]=\"getBooleanAsString(noText())\"\n >\n <input\n type=\"radio\"\n role=\"tab\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [attr.aria-selected]=\"_selected()\"\n [attr.aria-controls]=\"controls()\"\n [attr.checked]=\"getBoolean(checked(), 'checked')\"\n #_ref\n [attr.name]=\"_name()\"\n [attr.id]=\"id()\"\n (input)=\"handleChange($event)\"\n />\n @if(label()){ {{label()}} }\n <ng-content></ng-content>\n </label>\n </li>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBTabItem implements AfterViewInit, ControlValueAccessor {\n protected readonly cls = cls;\n protected readonly getHideProp = getHideProp;\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly getBoolean = getBoolean;\n\n active = input<DBTabItemProps[\"active\"]>();\n name = input<DBTabItemProps[\"name\"]>();\n className = input<DBTabItemProps[\"className\"]>();\n id = input<DBTabItemProps[\"id\"]>();\n icon = input<DBTabItemProps[\"icon\"]>();\n iconAfter = input<DBTabItemProps[\"iconAfter\"]>();\n showIcon = input<DBTabItemProps[\"showIcon\"]>();\n noText = input<DBTabItemProps[\"noText\"]>();\n disabled = model<DBTabItemProps[\"disabled\"]>();\n controls = input<DBTabItemProps[\"controls\"]>();\n checked = model<DBTabItemProps[\"checked\"]>();\n label = input<DBTabItemProps[\"label\"]>();\n change = output<\n Parameters<Required<DBTabItemProps>[\"onChange\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _selected = signal<DBTabItemState[\"_selected\"]>(false);\n _name = signal<DBTabItemState[\"_name\"]>(undefined);\n initialized = signal<DBTabItemState[\"initialized\"]>(false);\n\n handleNameAttribute() {\n if (this._ref()?.nativeElement) {\n const setAttribute = this._ref()?.nativeElement.setAttribute;\n this._ref()!.nativeElement.setAttribute = (\n attribute: string,\n value: string\n ) => {\n setAttribute.call(this._ref()?.nativeElement, attribute, value);\n if (attribute === \"name\") {\n this._name.set(value);\n }\n };\n }\n }\n handleChange(event: any) {\n event.stopPropagation();\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.set((event.target as any)?.[\"checked\"]);\n handleFrameworkEventAngular(this, event, \"checked\");\n }\n\n constructor(private renderer: Renderer2,) {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.initialized();\n // ---\n\n if (this.initialized() && this._ref()?.nativeElement) {\n if (this.active()) {\n this._ref()?.nativeElement.click();\n }\n this.initialized.set(false);\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.name();\n // ---\n\n if (this.name()) {\n this._name.set(this.name());\n }\n },\n {\n // Enable writing to signals inside effects\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 \n\t\twriteValue(value: any) {\n\t\t\t\n\t\t this.checked.set(!!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}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled.set(disabled);\n\t\t}\n\n\t\tngOnInit() {\n \n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tab-item\");\n }\n}\n","import { uuid } from './index';\nexport class DocumentScrollListener {\n private static callbacks: Record<string, (event: any) => void> = {};\n private static _instance: DocumentScrollListener | null = null;\n private static runCallbacks(event: any) {\n for (const callback of Object.values(DocumentScrollListener.callbacks)) {\n if (typeof callback === 'function') {\n callback(event);\n }\n }\n }\n private ticking = false;\n constructor() {\n if (DocumentScrollListener._instance) {\n return DocumentScrollListener._instance;\n }\n DocumentScrollListener._instance = this;\n if (self.document) {\n self.document.addEventListener('scroll', event => {\n if (!this.ticking) {\n window.requestAnimationFrame(() => {\n DocumentScrollListener.runCallbacks(event);\n this.ticking = false;\n });\n this.ticking = true;\n }\n }, true);\n }\n }\n public addCallback(callback: (event: any) => void) {\n const callbackID = uuid();\n DocumentScrollListener.callbacks[callbackID] = callback;\n return callbackID;\n }\n public removeCallback(id: string) {\n delete DocumentScrollListener.callbacks[id];\n }\n}","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBTooltipProps, DBTooltipState } from \"./model\";\nimport {\n cls,\n delay as utilsDelay,\n getBooleanAsString,\n uuid,\n} from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\nimport { handleFixedPopover } from \"../../utils/floating-components\";\nimport { DocumentScrollListener } from \"../../utils/document-scroll-listener\";\n\n@Component({\n selector: \"db-tooltip\",\n standalone: true,\n imports: [CommonModule],\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 styles: `:host { display: contents; }`,\n})\nexport class DBTooltip implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n id = input<DBTooltipProps[\"id\"]>();\n variant = input<DBTooltipProps[\"variant\"]>();\n placement = input<DBTooltipProps[\"placement\"]>();\n className = input<DBTooltipProps[\"className\"]>();\n emphasis = input<DBTooltipProps[\"emphasis\"]>();\n animation = input<DBTooltipProps[\"animation\"]>();\n delay = input<DBTooltipProps[\"delay\"]>();\n width = input<DBTooltipProps[\"width\"]>();\n showArrow = input<DBTooltipProps[\"showArrow\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBTooltipState[\"_id\"]>(DEFAULT_ID);\n initialized = signal<DBTooltipState[\"initialized\"]>(false);\n _documentScrollListenerCallbackId =\n signal<DBTooltipState[\"_documentScrollListenerCallbackId\"]>(undefined);\n _observer = signal<DBTooltipState[\"_observer\"]>(undefined);\n\n handleClick(event: ClickEvent<HTMLElement>) {\n event.stopPropagation();\n }\n handleEscape(event: any) {\n if (\n (!event || event.key === \"Escape\") &&\n this._ref()?.nativeElement &&\n getComputedStyle(this._ref()?.nativeElement).visibility === \"visible\"\n ) {\n this.getParent().blur();\n }\n }\n getParent() {\n let parent = this._ref()?.nativeElement.parentElement;\n if (parent && parent.localName.includes(\"tooltip\")) {\n // Angular workaround\n parent = parent.parentElement;\n }\n return parent;\n }\n handleAutoPlacement(parent?: HTMLElement) {\n if (!parent) return;\n if (this._ref()?.nativeElement) {\n // This is a workaround for angular\n utilsDelay(() => {\n handleFixedPopover(\n this._ref()?.nativeElement,\n parent,\n (this.placement() as unknown as string) ?? \"bottom\"\n );\n }, 1);\n }\n }\n handleDocumentScroll(event: any, parent?: HTMLElement) {\n if (\n event?.target?.contains &&\n event?.target?.contains(this._ref()?.nativeElement)\n ) {\n this.handleAutoPlacement(parent);\n }\n }\n handleLeave() {\n if (this._documentScrollListenerCallbackId()) {\n new DocumentScrollListener().removeCallback(\n this._documentScrollListenerCallbackId()!\n );\n }\n this._observer()?.unobserve(this.getParent());\n }\n handleEnter(parent?: HTMLElement) {\n this._documentScrollListenerCallbackId.set(\n new DocumentScrollListener().addCallback((event) =>\n this.handleDocumentScroll(event, parent)\n )\n );\n this.handleAutoPlacement(parent);\n this._observer()?.observe(this.getParent());\n }\n\n constructor() {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.initialized();\n // ---\n\n if (this._ref()?.nativeElement && this.initialized() && this._id()) {\n const parent = this.getParent();\n if (parent) {\n [\"mouseenter\", \"focusin\"].forEach((event) => {\n parent.addEventListener(event, () => this.handleEnter(parent));\n });\n parent.addEventListener(\"keydown\", (event) =>\n this.handleEscape(event)\n );\n [\"mouseleave\", \"focusout\"].forEach((event) => {\n parent.addEventListener(event, () => this.handleLeave());\n });\n parent.setAttribute(\"data-has-tooltip\", \"true\");\n if (this.variant() === \"label\") {\n parent.setAttribute(\"aria-labelledby\", this._id());\n } else {\n parent.setAttribute(\"aria-describedby\", this._id());\n }\n }\n if (\n typeof window !== \"undefined\" &&\n \"IntersectionObserver\" in window\n ) {\n this._observer.set(\n new IntersectionObserver((payload) => {\n const entry = payload.find(\n ({ target }) => target === this.getParent()\n );\n if (entry && !entry.isIntersecting) {\n this.handleEscape(false);\n }\n })\n );\n }\n this.initialized.set(false);\n }\n },\n {\n // Enable writing to signals inside effects\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 this._id.set(this.id() || \"tooltip-\" + uuid());\n \n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tooltip\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBTagProps, DBTagState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp } from \"../../utils\";\nimport { DEFAULT_REMOVE } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { DBTooltip } from \"../tooltip/tooltip\";\n\n@Component({\n selector: \"db-tag\",\n standalone: true,\n imports: [CommonModule, DBTooltip],\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 @if(text()){ {{text()}} } @if(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 type=\"button\"\n (click)=\"handleRemove($event)\"\n >\n <db-tooltip variant=\"label\">{{getRemoveButtonText()}}</db-tooltip>\n </button>\n }\n </div>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBTag implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly getHideProp = getHideProp;\n\n disabled = input<DBTagProps[\"disabled\"]>();\n removeButton = input<DBTagProps[\"removeButton\"]>();\n id = input<DBTagProps[\"id\"]>();\n className = input<DBTagProps[\"className\"]>();\n semantic = input<DBTagProps[\"semantic\"]>();\n emphasis = input<DBTagProps[\"emphasis\"]>();\n icon = input<DBTagProps[\"icon\"]>();\n showCheckState = input<DBTagProps[\"showCheckState\"]>();\n showIcon = input<DBTagProps[\"showIcon\"]>();\n noText = input<DBTagProps[\"noText\"]>();\n overflow = input<DBTagProps[\"overflow\"]>();\n text = input<DBTagProps[\"text\"]>();\n behavior = input<DBTagProps[\"behavior\"]>();\n remove = output<\n Parameters<Required<DBTagProps>[\"onRemove\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n initialized = signal<DBTagState[\"initialized\"]>(false);\n\n handleRemove(event?: ClickEvent<HTMLButtonElement>) {\n event?.stopPropagation();\n if (this.remove) {\n this.remove.emit(event);\n }\n }\n 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 DEFAULT_REMOVE;\n }\n\n constructor() {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.initialized();\n this.disabled();\n this._ref();\n // ---\n\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 = Boolean(this.disabled());\n }\n }\n }\n },\n {\n // Enable writing to signals inside effects\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 \n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tag\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\nRenderer2, model } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBTextareaProps, DBTextareaState } from \"./model\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport {\n cls,\n delay,\n getBoolean,\n getHideProp,\n getNumber,\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 standalone: true,\n imports: [CommonModule, DBInfotext],\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 [attr.data-field-sizing]=\"fieldSizing()\"\n #_ref\n [attr.id]=\"_id()\"\n [attr.data-resize]=\"resize()\"\n [attr.data-hide-resizer]=\"getHideProp(showResizer() ?? true)\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [required]=\"getBoolean(required(), 'required')\"\n [attr.readOnly]=\"getBoolean(readOnly(), 'readOnly') || getBoolean(readonly(), 'readonly')\"\n [attr.form]=\"form()\"\n [attr.maxLength]=\"getNumber(maxLength(), maxlength())\"\n [attr.minLength]=\"getNumber(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]=\"ariaDescribedBy() ?? _descByIds()\"\n [attr.placeholder]=\"placeholder() ?? DEFAULT_PLACEHOLDER\"\n [attr.rows]=\"getNumber(rows(), DEFAULT_ROWS)\"\n [attr.cols]=\"getNumber(cols())\"\n >{{value()}}</textarea>\n @if(stringPropVisible(message(), showMessage())){\n <db-infotext size=\"small\" [icon]=\"messageIcon()\" [id]=\"_messageId()\">\n {{message()}}\n </db-infotext>\n } @if(hasValidState()){\n <db-infotext size=\"small\" semantic=\"successful\" [id]=\"_validMessageId()\">\n {{validMessage() || DEFAULT_VALID_MESSAGE}}\n </db-infotext>\n }\n <db-infotext size=\"small\" semantic=\"critical\" [id]=\"_invalidMessageId()\">\n {{_invalidMessage()}}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {{_voiceOverFallback()}}\n </span>\n </div>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBTextarea implements AfterViewInit, ControlValueAccessor {\n protected readonly cls = cls;\n protected readonly getHideProp = getHideProp;\n protected readonly DEFAULT_LABEL = DEFAULT_LABEL;\n protected readonly getBoolean = getBoolean;\n protected readonly getNumber = getNumber;\n protected readonly DEFAULT_PLACEHOLDER = DEFAULT_PLACEHOLDER;\n protected readonly DEFAULT_ROWS = DEFAULT_ROWS;\n protected readonly stringPropVisible = stringPropVisible;\n protected readonly DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;\n\n id = input<DBTextareaProps[\"id\"]>();\n invalidMessage = input<DBTextareaProps[\"invalidMessage\"]>();\n message = input<DBTextareaProps[\"message\"]>();\n showMessage = input<DBTextareaProps[\"showMessage\"]>();\n value = model<DBTextareaProps[\"value\"]>();\n validMessage = input<DBTextareaProps[\"validMessage\"]>();\n validation = input<DBTextareaProps[\"validation\"]>();\n required = input<DBTextareaProps[\"required\"]>();\n minLength = input<DBTextareaProps[\"minLength\"]>();\n maxLength = input<DBTextareaProps[\"maxLength\"]>();\n className = input<DBTextareaProps[\"className\"]>();\n variant = input<DBTextareaProps[\"variant\"]>();\n showLabel = input<DBTextareaProps[\"showLabel\"]>();\n label = input<DBTextareaProps[\"label\"]>();\n fieldSizing = input<DBTextareaProps[\"fieldSizing\"]>();\n resize = input<DBTextareaProps[\"resize\"]>();\n showResizer = input<DBTextareaProps[\"showResizer\"]>();\n disabled = model<DBTextareaProps[\"disabled\"]>();\n readOnly = input<DBTextareaProps[\"readOnly\"]>();\n readonly = input<DBTextareaProps[\"readonly\"]>();\n form = input<DBTextareaProps[\"form\"]>();\n maxlength = input<DBTextareaProps[\"maxlength\"]>();\n minlength = input<DBTextareaProps[\"minlength\"]>();\n name = input<DBTextareaProps[\"name\"]>();\n wrap = input<DBTextareaProps[\"wrap\"]>();\n spellCheck = input<DBTextareaProps[\"spellCheck\"]>();\n autocomplete = input<DBTextareaProps[\"autocomplete\"]>();\n ariaDescribedBy = input<DBTextareaProps[\"ariaDescribedBy\"]>();\n placeholder = input<DBTextareaProps[\"placeholder\"]>();\n rows = input<DBTextareaProps[\"rows\"]>();\n cols = input<DBTextareaProps[\"cols\"]>();\n messageIcon = input<DBTextareaProps[\"messageIcon\"]>();\n input = output<\n Parameters<Required<DBTextareaProps>[\"onInput\"]>[number] | void\n >();\n change = output<\n Parameters<Required<DBTextareaProps>[\"onChange\"]>[number] | void\n >();\n blur = output<\n Parameters<Required<DBTextareaProps>[\"onBlur\"]>[number] | void\n >();\n focus = output<\n Parameters<Required<DBTextareaProps>[\"onFocus\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBTextareaState[\"_id\"]>(undefined);\n _messageId = signal<DBTextareaState[\"_messageId\"]>(undefined);\n _validMessageId = signal<DBTextareaState[\"_validMessageId\"]>(undefined);\n _invalidMessageId = signal<DBTextareaState[\"_invalidMessageId\"]>(undefined);\n _invalidMessage = signal<DBTextareaState[\"_invalidMessage\"]>(undefined);\n _descByIds = signal<DBTextareaState[\"_descByIds\"]>(\"\");\n _value = signal<DBTextareaState[\"_value\"]>(\"\");\n _voiceOverFallback = signal<DBTextareaState[\"_voiceOverFallback\"]>(\"\");\n\n hasValidState() {\n return !!(this.validMessage() ?? this.validation() === \"valid\");\n }\n handleValidation() {\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.set(this._invalidMessageId());\n this._invalidMessage.set(\n this.invalidMessage() ||\n this._ref()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(this._invalidMessage());\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref()?.nativeElement?.validity.valid &&\n (this.required() || this.minLength() || this.maxLength())\n ) {\n this._descByIds.set(this._validMessageId());\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(\n this.validMessage() ?? DEFAULT_VALID_MESSAGE\n );\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n } else if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(this._messageId());\n } else {\n this._descByIds.set(\"\");\n }\n }\n handleInput(event: InputEvent<HTMLTextAreaElement>) {\n if (this.input) {\n this.input.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLTextAreaElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLTextAreaElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLTextAreaElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n constructor(private renderer: Renderer2,) {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.invalidMessage();\n // ---\n\n this._invalidMessage.set(\n this.invalidMessage() ||\n this._ref()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._id();\n // ---\n\n if (this._id()) {\n const messageId = this._id() + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId.set(messageId);\n this._validMessageId.set(\n this._id() + DEFAULT_VALID_MESSAGE_ID_SUFFIX\n );\n this._invalidMessageId.set(\n this._id() + DEFAULT_INVALID_MESSAGE_ID_SUFFIX\n );\n if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(messageId);\n }\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.value();\n // ---\n\n this._value.set(this.value());\n },\n {\n // Enable writing to signals inside effects\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 \n\t\twriteValue(value: any) {\n\t\t\t\n\t\t this.value.set(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}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled.set(disabled);\n\t\t}\n\n\t\tngOnInit() {\n const mId = this.id() ?? `textarea-${uuid()}`;\n this._id.set(mId);\n this._messageId.set(mId + DEFAULT_MESSAGE_ID_SUFFIX);\n this._validMessageId.set(mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX);\n this._invalidMessageId.set(mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX);\n this._invalidMessage.set(this.invalidMessage() || DEFAULT_INVALID_MESSAGE);\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-textarea\");\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 Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\nContentChild, TemplateRef } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBNavigationItemProps, DBNavigationItemState } from \"./model\";\nimport { DBButton } from \"../button/button\";\nimport {\n cls,\n delay,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n uuid,\n} 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 standalone: true,\n imports: [CommonModule, DBButton],\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.data-wrap]=\"getBooleanAsString(wrap())\"\n [attr.aria-disabled]=\"getBooleanAsString(disabled())\"\n >\n @if(!hasSubNavigation()){ @if(text()){ {{text()}} }@else{\n <ng-content *ngTemplateOutlet=\"dbNavigationContent\"></ng-content>\n } } @if(hasSubNavigation()){\n <button\n class=\"db-navigation-item-expand-button\"\n [attr.aria-haspopup]=\"hasAreaPopup()\"\n [attr.aria-expanded]=\"isSubNavigationExpanded()\"\n [attr.disabled]=\"getBoolean(disabled(), 'disabled')\"\n (click)=\"handleClick($event)\"\n >\n @if(text()){ {{text()}} }@else{\n <ng-content *ngTemplateOutlet=\"dbNavigationContent\"></ng-content>\n }\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 @if(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 }\n <ng-content select=\"[sub-navigation]\"></ng-content>\n </menu>\n }\n </li>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBNavigationItem implements AfterViewInit {\n\t@ContentChild(NavigationContentDirective, { read: TemplateRef }) dbNavigationContent: any;\n protected readonly cls = cls;\n protected readonly getHideProp = getHideProp;\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly getBoolean = getBoolean;\n protected readonly DEFAULT_BACK = DEFAULT_BACK;\n\n subNavigationExpanded =\n input<DBNavigationItemProps[\"subNavigationExpanded\"]>();\n id = input<DBNavigationItemProps[\"id\"]>();\n className = input<DBNavigationItemProps[\"className\"]>();\n width = input<DBNavigationItemProps[\"width\"]>();\n icon = input<DBNavigationItemProps[\"icon\"]>();\n showIcon = input<DBNavigationItemProps[\"showIcon\"]>();\n active = input<DBNavigationItemProps[\"active\"]>();\n wrap = input<DBNavigationItemProps[\"wrap\"]>();\n disabled = input<DBNavigationItemProps[\"disabled\"]>();\n text = input<DBNavigationItemProps[\"text\"]>();\n backButtonId = input<DBNavigationItemProps[\"backButtonId\"]>();\n backButtonText = input<DBNavigationItemProps[\"backButtonText\"]>();\n click = output<\n Parameters<Required<DBNavigationItemProps>[\"onClick\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n initialized = signal<DBNavigationItemState[\"initialized\"]>(false);\n hasAreaPopup = signal<DBNavigationItemState[\"hasAreaPopup\"]>(false);\n hasSubNavigation = signal<DBNavigationItemState[\"hasSubNavigation\"]>(true);\n isSubNavigationExpanded =\n signal<DBNavigationItemState[\"isSubNavigationExpanded\"]>(false);\n autoClose = signal<DBNavigationItemState[\"autoClose\"]>(false);\n subNavigationId = signal<DBNavigationItemState[\"subNavigationId\"]>(\n \"sub-navigation-\" + uuid()\n );\n navigationItemSafeTriangle =\n signal<DBNavigationItemState[\"navigationItemSafeTriangle\"]>(undefined);\n\n handleNavigationItemClick(event: unknown) {\n if (isEventTargetNavigationItem(event)) {\n this.autoClose.set(true);\n delay(() => {\n this.autoClose.set(false);\n }, 300);\n }\n }\n handleClick(event: ClickEvent<HTMLButtonElement> | any) {\n if (this.click) {\n event.stopPropagation();\n this.click.emit(event);\n }\n if (this.hasAreaPopup()) {\n this.isSubNavigationExpanded.set(true);\n }\n }\n handleBackClick(event: ClickEvent<HTMLButtonElement> | any) {\n event.stopPropagation();\n this.isSubNavigationExpanded.set(false);\n }\n\n constructor() {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.subNavigationExpanded();\n // ---\n\n if (this.subNavigationExpanded() !== undefined) {\n this.isSubNavigationExpanded.set(\n !!getBoolean(this.subNavigationExpanded(), \"subNavigationExpanded\")\n );\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.initialized();\n this._ref();\n // ---\n\n if (this.initialized() && this._ref()?.nativeElement) {\n const subNavigationSlot =\n this._ref()?.nativeElement.querySelector(\"menu\");\n if (subNavigationSlot) {\n if (subNavigationSlot.children?.length > 0) {\n this.hasAreaPopup.set(true);\n if (!this.navigationItemSafeTriangle()) {\n this.navigationItemSafeTriangle.set(\n new NavigationItemSafeTriangle(\n this._ref()!.nativeElement,\n subNavigationSlot\n )\n );\n }\n } else {\n this.hasSubNavigation.set(false);\n }\n }\n }\n },\n {\n // Enable writing to signals inside effects\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 \n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-navigation-item\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\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 standalone: true,\n imports: [CommonModule],\n template: `\n <li [attr.id]=\"_id()\" [class]=\"cls('db-accordion-item', className())\">\n <details\n [attr.aria-disabled]=\"getBooleanAsString(disabled())\"\n #_ref\n [attr.name]=\"_name()\"\n [open]=\"_open()\"\n >\n <summary (click)=\"handleToggle($event)\">\n @if(headlinePlain()){ {{headlinePlain()}} } @if(!headlinePlain()){\n <ng-content select=\"[headline]\"></ng-content>\n }\n </summary>\n <div>\n @if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\n }\n </div>\n </details>\n </li>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBAccordionItem implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n id = input<DBAccordionItemProps[\"id\"]>();\n defaultOpen = input<DBAccordionItemProps[\"defaultOpen\"]>();\n name = input<DBAccordionItemProps[\"name\"]>();\n className = input<DBAccordionItemProps[\"className\"]>();\n disabled = input<DBAccordionItemProps[\"disabled\"]>();\n headlinePlain = input<DBAccordionItemProps[\"headlinePlain\"]>();\n text = input<DBAccordionItemProps[\"text\"]>();\n toggle = output<\n Parameters<Required<DBAccordionItemProps>[\"onToggle\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBAccordionItemState[\"_id\"]>(DEFAULT_ID);\n _open = signal<DBAccordionItemState[\"_open\"]>(false);\n _name = signal<DBAccordionItemState[\"_name\"]>(undefined);\n initialized = signal<DBAccordionItemState[\"initialized\"]>(false);\n\n handleNameAttribute() {\n if (this._ref()?.nativeElement) {\n const setAttribute = this._ref()?.nativeElement.setAttribute;\n this._ref()!.nativeElement.setAttribute = (\n attribute: string,\n value: string\n ) => {\n setAttribute.call(this._ref()?.nativeElement, attribute, value);\n if (attribute === \"name\") {\n this._name.set(value);\n }\n };\n }\n }\n handleToggle(event: ClickEvent<HTMLElement> | any) {\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.toggle) {\n this.toggle.emit(newStateOpen);\n }\n this._open.set(newStateOpen);\n }\n\n constructor() {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.initialized();\n // ---\n\n if (this._ref()?.nativeElement && this.initialized()) {\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.name();\n // ---\n\n if (this.name()) {\n this._name.set(this.name());\n }\n },\n {\n // Enable writing to signals inside effects\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 this._id.set(this.id() || \"accordion-item-\" + uuid());\n if (this.defaultOpen()) {\n this._open.set(this.defaultOpen());\n }\n \n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-accordion-item\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\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 standalone: true,\n imports: [CommonModule, DBAccordionItem],\n template: `\n <ul\n #_ref\n [attr.id]=\"_id()\"\n [class]=\"cls('db-accordion', className())\"\n [attr.data-variant]=\"variant()\"\n >\n @if(!items()){\n <ng-content></ng-content>\n } @if(items()){ @for (item of convertItems();track trackByItem0;let index\n = $index) {\n <db-accordion-item\n [headlinePlain]=\"item.headlinePlain\"\n [disabled]=\"item.disabled\"\n [text]=\"item.text\"\n ></db-accordion-item>\n } }\n </ul>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBAccordion implements AfterViewInit {\n protected readonly cls = cls;\n\n id = input<DBAccordionProps[\"id\"]>();\n name = input<DBAccordionProps[\"name\"]>();\n behavior = input<DBAccordionProps[\"behavior\"]>();\n initOpenIndex = input<DBAccordionProps[\"initOpenIndex\"]>();\n items = input<DBAccordionProps[\"items\"]>();\n className = input<DBAccordionProps[\"className\"]>();\n variant = input<DBAccordionProps[\"variant\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBAccordionState[\"_id\"]>(DEFAULT_ID);\n _name = signal<DBAccordionState[\"_name\"]>(\"\");\n initialized = signal<DBAccordionState[\"initialized\"]>(false);\n _initOpenIndexDone = signal<DBAccordionState[\"_initOpenIndexDone\"]>(false);\n\n convertItems() {\n try {\n if (typeof this.items() === \"string\") {\n return JSON.parse(this.items() as string);\n }\n return this.items() as DBAccordionItemDefaultProps[];\n } catch (error) {\n console.error(error);\n }\n return [];\n }\n trackByItem0(index: number, item: any) {\n return `accordion-item-${index}`;\n }\n\n constructor() {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.initialized();\n this.name();\n this.behavior();\n this._id();\n // ---\n\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.set(this.name());\n }\n } else {\n if (this._name() !== this._id() && this._id()) {\n this._name.set(this._id());\n }\n }\n } else {\n this._name.set(\"\");\n }\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\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>(\n childDetails\n )) {\n if (this._name() === \"\") {\n details.removeAttribute(\"name\");\n } else {\n details.name = this._name() ?? \"\";\n }\n }\n }\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this._initOpenIndexDone();\n this.initOpenIndex();\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.set(false);\n }\n },\n {\n // Enable writing to signals inside effects\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 this._id.set(this.id() || \"accordion-\" + uuid());\n \n this._initOpenIndexDone.set(true);\n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-accordion\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\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 standalone: true,\n imports: [CommonModule],\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 styles: `:host { display: contents; }`,\n})\nexport class DBNavigation implements AfterViewInit {\n protected readonly cls = cls;\n\n id = input<DBNavigationProps[\"id\"]>();\n labelledBy = input<DBNavigationProps[\"labelledBy\"]>();\n className = input<DBNavigationProps[\"className\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBNavigationState[\"_id\"]>(DEFAULT_ID);\n\n constructor() {}\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._id.set(this.id() || \"navigation-\" + uuid());\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 AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBPopoverProps, DBPopoverState } from \"./model\";\nimport { cls, delay as utilsDelay, getBooleanAsString } from \"../../utils\";\nimport { handleFixedPopover } from \"../../utils/floating-components\";\nimport { DocumentScrollListener } from \"../../utils/document-scroll-listener\";\n\n@Component({\n selector: \"db-popover\",\n standalone: true,\n imports: [CommonModule],\n template: `\n <div #_ref [attr.id]=\"id()\" [class]=\"cls('db-popover', className())\">\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]=\"getBooleanAsString(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 styles: `:host { display: contents; }`,\n})\nexport class DBPopover implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n placement = input<DBPopoverProps[\"placement\"]>();\n id = input<DBPopoverProps[\"id\"]>();\n className = input<DBPopoverProps[\"className\"]>();\n spacing = input<DBPopoverProps[\"spacing\"]>();\n gap = input<DBPopoverProps[\"gap\"]>();\n animation = input<DBPopoverProps[\"animation\"]>();\n open = input<DBPopoverProps[\"open\"]>();\n delay = input<DBPopoverProps[\"delay\"]>();\n width = input<DBPopoverProps[\"width\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n initialized = signal<DBPopoverState[\"initialized\"]>(false);\n isExpanded = signal<DBPopoverState[\"isExpanded\"]>(false);\n _documentScrollListenerCallbackId =\n signal<DBPopoverState[\"_documentScrollListenerCallbackId\"]>(undefined);\n _observer = signal<DBPopoverState[\"_observer\"]>(undefined);\n\n handleEscape(event: any) {\n if (!event || event.key === \"Escape\") {\n // TODO: Recursive for any child\n for (const child of Array.from(this._ref()?.nativeElement.children)) {\n (child as HTMLElement).blur();\n }\n }\n }\n handleAutoPlacement() {\n if (!this._ref()?.nativeElement) return;\n const article = this._ref()?.nativeElement.querySelector(\"article\");\n if (article) {\n // This is a workaround for angular\n utilsDelay(() => {\n handleFixedPopover(\n article,\n this._ref()?.nativeElement,\n (this.placement() as unknown as string) ?? \"bottom\"\n );\n }, 1);\n }\n }\n handleDocumentScroll(event: any) {\n if (\n event?.target?.contains &&\n event?.target?.contains(this._ref()?.nativeElement)\n ) {\n this.handleAutoPlacement();\n }\n }\n handleEnter() {\n this.isExpanded.set(true);\n this._documentScrollListenerCallbackId.set(\n new DocumentScrollListener().addCallback((event) =>\n this.handleDocumentScroll(event)\n )\n );\n this.handleAutoPlacement();\n const child = this.getTrigger();\n if (child) {\n this._observer()?.observe(child);\n }\n }\n handleLeave(event?: any) {\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.set(false);\n if (this._documentScrollListenerCallbackId()) {\n new DocumentScrollListener().removeCallback(\n this._documentScrollListenerCallbackId()!\n );\n }\n const child = this.getTrigger();\n if (child) {\n this._observer()?.unobserve(child);\n }\n }\n }\n getTrigger() {\n if (this._ref()?.nativeElement) {\n const children: Element[] = Array.from(\n this._ref()?.nativeElement.children\n );\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 constructor() {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.initialized();\n // ---\n\n if (this._ref()?.nativeElement && this.initialized()) {\n this.initialized.set(false);\n const child = this.getTrigger();\n if (child) {\n child.ariaHasPopup = \"true\";\n }\n this.handleAutoPlacement();\n this._ref()?.nativeElement.addEventListener(\"keydown\", (event: any) =>\n this.handleEscape(event)\n );\n [\"mouseenter\", \"focusin\"].forEach((event) => {\n this._ref()?.nativeElement.addEventListener(event, () =>\n this.handleEnter()\n );\n });\n [\"mouseleave\", \"focusout\"].forEach((event) => {\n this._ref()?.nativeElement.addEventListener(event, () =>\n this.handleLeave()\n );\n });\n if (\n typeof window !== \"undefined\" &&\n \"IntersectionObserver\" in window\n ) {\n this._observer.set(\n new IntersectionObserver((payload) => {\n const entry = payload.find(\n ({ target }) => target === this.getTrigger()\n );\n if (entry && !entry.isIntersecting) {\n this.handleEscape(false);\n }\n })\n );\n }\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.isExpanded();\n // ---\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 // Enable writing to signals inside effects\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 \n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-popover\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\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 standalone: true,\n imports: [CommonModule],\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 styles: `:host { display: contents; }`,\n})\nexport class DBTabList implements AfterViewInit {\n protected readonly cls = cls;\n\n id = input<DBTabListProps[\"id\"]>();\n className = input<DBTabListProps[\"className\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBTabListState[\"_id\"]>(DEFAULT_ID);\n\n constructor() {}\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._id.set(this.id() || \"tab-list-\" + uuid());\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tab-list\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBTabPanelProps, DBTabPanelState } from \"./model\";\nimport { cls } from \"../../utils\";\n\n@Component({\n selector: \"db-tab-panel\",\n standalone: true,\n imports: [CommonModule],\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 @if(content()){ {{content()}} }\n <ng-content></ng-content>\n </section>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBTabPanel implements AfterViewInit {\n protected readonly cls = cls;\n\n className = input<DBTabPanelProps[\"className\"]>();\n id = input<DBTabPanelProps[\"id\"]>();\n labelledBy = input<DBTabPanelProps[\"labelledBy\"]>();\n content = input<DBTabPanelProps[\"content\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n constructor() {}\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\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tab-panel\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\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 standalone: true,\n imports: [CommonModule, DBButton, DBTabList, DBTabItem, DBTabPanel],\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 @if(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 } @if(tabs()){\n <db-tab-list>\n @for (tab of convertTabs();track trackByTab0;let index = $index) {\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 }\n </db-tab-list>\n\n @for (tab of convertTabs();track trackByTab1;let index = $index) {\n <db-tab-panel [content]=\"tab.content\">{{tab.children}}</db-tab-panel>\n } } @if(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 }\n <ng-content></ng-content>\n </div>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBTabs implements AfterViewInit {\n protected readonly cls = cls;\n\n id = input<DBTabsProps[\"id\"]>();\n name = input<DBTabsProps[\"name\"]>();\n tabs = input<DBTabsProps[\"tabs\"]>();\n arrowScrollDistance = input<DBTabsProps[\"arrowScrollDistance\"]>();\n orientation = input<DBTabsProps[\"orientation\"]>();\n behavior = input<DBTabsProps[\"behavior\"]>();\n initialSelectedMode = input<DBTabsProps[\"initialSelectedMode\"]>();\n initialSelectedIndex = input<DBTabsProps[\"initialSelectedIndex\"]>();\n className = input<DBTabsProps[\"className\"]>();\n alignment = input<DBTabsProps[\"alignment\"]>();\n width = input<DBTabsProps[\"width\"]>();\n indexChange = output<\n Parameters<Required<DBTabsProps>[\"onIndexChange\"]>[number] | void\n >();\n tabSelect = output<\n Parameters<Required<DBTabsProps>[\"onTabSelect\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBTabsState[\"_id\"]>(\"tabs-\" + uuid());\n _name = signal<DBTabsState[\"_name\"]>(\"\");\n initialized = signal<DBTabsState[\"initialized\"]>(false);\n showScrollLeft = signal<DBTabsState[\"showScrollLeft\"]>(false);\n showScrollRight = signal<DBTabsState[\"showScrollRight\"]>(false);\n scrollContainer = signal<DBTabsState[\"scrollContainer\"]>(null);\n\n convertTabs() {\n try {\n if (typeof this.tabs() === \"string\") {\n return JSON.parse(this.tabs() as string);\n }\n return this.tabs() as DBSimpleTabProps[];\n } catch (error) {\n console.error(error);\n }\n return [];\n }\n evaluateScrollButtons(tList: Element) {\n const needsScroll = tList.scrollWidth > tList.clientWidth;\n this.showScrollLeft.set(needsScroll && tList.scrollLeft > 1);\n this.showScrollRight.set(\n needsScroll && tList.scrollLeft < tList.scrollWidth - tList.clientWidth\n );\n }\n scroll(left?: boolean) {\n let step = Number(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() {\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.set(container);\n this.evaluateScrollButtons(container);\n container.addEventListener(\"scroll\", () => {\n this.evaluateScrollButtons(container);\n });\n }\n }\n }\n }\n }\n initTabs(init?: boolean) {\n if (this._ref()?.nativeElement) {\n const tabItems = Array.from<Element>(\n this._ref()?.nativeElement.getElementsByClassName(\"db-tab-item\")\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 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.id = tabId;\n input.setAttribute(\"name\", this._name());\n if (tabPanels.length > index) {\n input.setAttribute(\n \"aria-controls\",\n `${this._name()}-tab-panel-${index}`\n );\n }\n }\n if (init) {\n // Auto select\n const autoSelect =\n !this.initialSelectedMode() ||\n this.initialSelectedMode() === \"auto\";\n const shouldAutoSelect =\n (this.initialSelectedIndex() == null && index === 0) ||\n Number(this.initialSelectedIndex()) === index;\n if (autoSelect && shouldAutoSelect) {\n input.click();\n }\n }\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) {\n event.stopPropagation();\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 const indices = Array.from(list.childNodes).indexOf(listItem);\n if (this.indexChange) {\n this.indexChange.emit(indices);\n }\n }\n if (this.tabSelect) {\n this.tabSelect.emit(event);\n }\n }\n trackByTab0(index: number, tab: any) {\n return this.name() + \"tab-item\" + index;\n }\n trackByTab1(index: number, tab: any) {\n return this.name() + \"tab-panel\" + index;\n }\n\n constructor() {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.initialized();\n // ---\n\n if (this._ref()?.nativeElement && this.initialized()) {\n this.initTabList();\n this.initTabs(true);\n const tabList =\n this._ref()?.nativeElement.querySelector(\".db-tab-list\");\n if (tabList) {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (\n mutation.removedNodes.length ||\n mutation.addedNodes.length\n ) {\n this.initTabList();\n this.initTabs();\n }\n });\n });\n observer.observe(tabList, {\n childList: true,\n subtree: true,\n });\n }\n this.initialized.set(false);\n }\n },\n {\n // Enable writing to signals inside effects\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 this._id.set(this.id() || this._id());\n this._name.set(`tabs-${this.name() || uuid()}`);\n \n }\n\n ngAfterViewInit() {\nthis.initialized.set(true);\n\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tabs\");\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 * @deprecated\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 | string;\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 | string;\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 PlacementHorizontalList = ['left', 'right', 'left-start', 'left-end', 'right-start', 'right-end'] as const;\nexport type PlacementHorizontalType = (typeof PlacementHorizontalList)[number];\nexport const PlacementVerticalList = ['top', 'bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'] as const;\nexport type PlacementVerticalType = (typeof PlacementVerticalList)[number];\nexport const PlacementList = [...PlacementHorizontalList, ...PlacementVerticalList] 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 | string;\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 | string;\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 | string;\n /**\n * Use fixed with for default max-width\n */\n width?: PopoverWidthType;\n};\nexport type NameProps = {\n /**\n * The name attribute gives the name of the element to group it.\n */\n name?: string;\n};\nexport type NameState = {\n _name?: string;\n handleNameAttribute: () => 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 ValidationList = ['invalid', 'valid', 'no-validation'] as const;\nexport type ValidationType = (typeof ValidationList)[number];\nexport type RequiredProps = {\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 | string;\n};\nexport type ShowLabelProps = {\n /**\n * Enables/disables the visibility of the label\n */\n showLabel?: boolean | string;\n};\nexport type ValueProps = {\n /**\n * The value property is to receive results from the native form element.\n */\n value?: any;\n};\nexport type BaseFormProps = {\n /**\n * The disabled attribute can be set to keep a user from clicking on the form element.\n */\n disabled?: boolean | string;\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};\nexport type CustomFormProps = {\n /**\n * Overwrites auto handling for aria-describedby.\n */\n ariaDescribedBy?: string;\n /**\n * \tAssociates the control with a form element\n */\n form?: string;\n\n /**\n * Marks an input element as invalid (red) / valid (green) / no-validation (grey). Overwrites the :user-valid selector.\n */\n validation?: ValidationType;\n};\nexport type FormProps = CustomFormProps & BaseFormProps & RequiredProps & ShowLabelProps & ValueProps;\nexport const FieldSizingList = ['fixed', 'content'] as const;\nexport type FieldSizingType = (typeof FieldSizingList)[number];\nexport type FormTextProps = {\n /**\n * Maximum length (number of characters) of value\n */\n maxLength?: number | string;\n /**\n * Minimum length (number of characters) of value\n */\n minLength?: number | string;\n /**\n * Maximum length (number of characters) of value\n */\n maxlength?: number | string;\n /**\n * Minimum length (number of characters) of value\n */\n minlength?: number | string;\n /**\n * The disabled attribute can be set to keep a user from edit on the form element\n */\n readOnly?: boolean | string;\n /**\n * The disabled attribute can be set to keep a user from edit on the form element\n */\n readonly?: boolean | string;\n\n /**\n * Adds shrinkwrap for input and textarea: https://developer.mozilla.org/en-US/docs/Web/CSS/field-sizing\n * Note: Only supported in Chromium browsers so far\n */\n fieldSizing?: FieldSizingType;\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 | string;\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 | string;\n};\nexport type FromValidState = {\n hasValidState: () => boolean;\n handleValidation: () => void;\n _invalidMessage?: string;\n};\nexport type FormState = {\n _messageId?: string;\n _validMessageId?: string;\n _invalidMessageId?: string;\n _descByIds?: string;\n _value?: string;\n _invalidMessage?: string;\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 | string;\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 | string;\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> | any) => void;\n};\nexport type ToggleEventProps = {\n toggle?: (open: boolean | any) => void;\n onToggle?: (open: boolean | any) => void;\n};\nexport type ToggleEventState<T> = {\n handleToggle: (event?: ClickEvent<T> | any) => void;\n};\nexport type CloseEventProps = {\n /**\n * Function to handle button click (close).\n */\n onClose?: (event?: any) => void;\n /**\n * Function to handle button click (close).\n */\n close?: (event?: any) => void;\n};\nexport type CloseEventState = {\n handleClose: (event: any, forceClose?: boolean) => 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 | string;\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> | any) => 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> | any) => 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> | any) => void;\n handleFocus: (event: InteractionEvent<T> | any) => 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};\nexport type DocumentScrollState = {\n _documentScrollListenerCallbackId?: string;\n handleDocumentScroll: (event: any, parent?: HTMLElement) => void;\n _observer?: IntersectionObserver;\n};\nexport type PopoverState = {\n handleEscape: (event: any) => void;\n handleAutoPlacement: (parent?: HTMLElement) => void;\n handleEnter: (parent?: HTMLElement) => void;\n handleLeave: (event?: any) => void;\n} & DocumentScrollState","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBStackProps, DBStackState } from \"./model\";\nimport { cls, getBooleanAsString } from \"../../utils\";\n\n@Component({\n selector: \"db-stack\",\n standalone: true,\n imports: [CommonModule],\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 styles: `:host { display: contents; }`,\n})\nexport class DBStack implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n id = input<DBStackProps[\"id\"]>();\n className = input<DBStackProps[\"className\"]>();\n gap = input<DBStackProps[\"gap\"]>();\n variant = input<DBStackProps[\"variant\"]>();\n direction = input<DBStackProps[\"direction\"]>();\n alignment = input<DBStackProps[\"alignment\"]>();\n justifyContent = input<DBStackProps[\"justifyContent\"]>();\n wrap = input<DBStackProps[\"wrap\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n constructor() {}\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","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBCustomSelectListProps } from \"./model\";\nimport { cls } from \"../../utils\";\n\n@Component({\n selector: \"db-custom-select-list\",\n standalone: true,\n imports: [CommonModule],\n template: `\n <div\n [attr.role]=\"multiple() ? 'group' : 'radiogroup'\"\n [attr.aria-label]=\"label()\"\n #_ref\n [attr.id]=\"id()\"\n [class]=\"cls('db-custom-select-list', className())\"\n >\n <ul>\n <ng-content></ng-content>\n </ul>\n </div>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBCustomSelectList implements AfterViewInit {\n protected readonly cls = cls;\n\n multiple = input<DBCustomSelectListProps[\"multiple\"]>();\n label = input<DBCustomSelectListProps[\"label\"]>();\n id = input<DBCustomSelectListProps[\"id\"]>();\n className = input<DBCustomSelectListProps[\"className\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n constructor() {}\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-custom-select-list\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\nRenderer2, model } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport {\n DBCustomSelectListItemProps,\n DBCustomSelectListItemState,\n} from \"./model\";\nimport {\n cls,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n uuid,\n} from \"../../utils\";\nimport { ChangeEvent } 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: DBCustomSelectListItem,\n\t\t\tmulti: true\n\t\t}],\t\n selector: \"db-custom-select-list-item\",\n standalone: true,\n imports: [CommonModule],\n template: `\n <li\n #_ref\n [attr.id]=\"_id()\"\n [class]=\"cls('db-custom-select-list-item', className(), {\n 'db-checkbox': type() === 'checkbox' && !isGroupTitle(),\n 'db-radio': type() !== 'checkbox' && !isGroupTitle()\n })\"\n [attr.data-divider]=\"getBooleanAsString(hasDivider())\"\n >\n @if(!isGroupTitle()){\n <label\n [attr.data-icon]=\"type() !== 'checkbox' && icon() ? icon() : undefined\"\n [attr.data-hide-icon]=\"getHideProp(showIcon())\"\n [attr.data-icon-after]=\"getIconAfter()\"\n >\n <input\n class=\"db-custom-select-list-item-checkbox\"\n data-disable-focus=\"true\"\n [attr.type]=\"type()\"\n [name]=\"name()\"\n [attr.form]=\"name()\"\n [checked]=\"getBoolean(checked(), 'checked')\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [value]=\"value()\"\n (change)=\"handleChange($event)\"\n />\n @if(label()){ {{label()}} }@else{\n <ng-content></ng-content>\n }\n </label>\n }@else{\n <span>{{groupTitle()}}</span>\n }\n </li>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBCustomSelectListItem implements AfterViewInit, ControlValueAccessor {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly getHideProp = getHideProp;\n protected readonly getBoolean = getBoolean;\n\n id = input<DBCustomSelectListItemProps[\"id\"]>();\n isGroupTitle = input<DBCustomSelectListItemProps[\"isGroupTitle\"]>();\n showDivider = input<DBCustomSelectListItemProps[\"showDivider\"]>();\n type = input<DBCustomSelectListItemProps[\"type\"]>();\n checked = model<DBCustomSelectListItemProps[\"checked\"]>();\n className = input<DBCustomSelectListItemProps[\"className\"]>();\n groupTitle = input<DBCustomSelectListItemProps[\"groupTitle\"]>();\n icon = input<DBCustomSelectListItemProps[\"icon\"]>();\n showIcon = input<DBCustomSelectListItemProps[\"showIcon\"]>();\n name = input<DBCustomSelectListItemProps[\"name\"]>();\n disabled = model<DBCustomSelectListItemProps[\"disabled\"]>();\n value = input<DBCustomSelectListItemProps[\"value\"]>();\n label = input<DBCustomSelectListItemProps[\"label\"]>();\n change = output<\n Parameters<Required<DBCustomSelectListItemProps>[\"onChange\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBCustomSelectListItemState[\"_id\"]>(undefined);\n hasDivider = signal<DBCustomSelectListItemState[\"hasDivider\"]>(false);\n\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n event.stopPropagation();\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event, \"checked\");\n }\n getIconAfter() {\n if (this.isGroupTitle() || this.type() === \"checkbox\") {\n return;\n }\n return getBoolean(this.checked(), \"checked\") ? \"check\" : \"x_placeholder\";\n }\n\n constructor(private renderer: Renderer2,) {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.isGroupTitle();\n this.showDivider();\n // ---\n\n this.hasDivider.set(Boolean(this.isGroupTitle() || this.showDivider()));\n },\n {\n // Enable writing to signals inside effects\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 \n\t\twriteValue(value: any) {\n\t\t\t\n\t\t this.checked.set(!!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}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled.set(disabled);\n\t\t}\n\n\t\tngOnInit() {\n this._id.set(this.id() ?? `custom-select-list-item-${uuid()}`);\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-custom-select-list-item\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = { width: \"fixed\" };\n\nimport { DBCustomSelectDropdownProps } from \"./model\";\nimport { cls } from \"../../utils\";\n\n@Component({\n selector: \"db-custom-select-dropdown\",\n standalone: true,\n imports: [CommonModule],\n template: `\n <article\n data-spacing=\"none\"\n #_ref\n [attr.id]=\"id()\"\n [class]=\"cls('db-custom-select-dropdown db-card', className())\"\n [attr.data-width]=\"width()\"\n >\n <ng-content></ng-content>\n </article>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBCustomSelectDropdown implements AfterViewInit {\n protected readonly cls = cls;\n\n id = input<DBCustomSelectDropdownProps[\"id\"]>();\n className = input<DBCustomSelectDropdownProps[\"className\"]>();\n width = input<DBCustomSelectDropdownProps[\"width\"]>(defaultProps[\"width\"]);\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n constructor() {}\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-custom-select-dropdown\");\n }\n}\n","import { uuid } from './index';\nexport class DocumentClickListener {\n private static callbacks: Record<string, (event: any) => void> = {};\n private static _instance: DocumentClickListener | null = null;\n private static runCallbacks(event: any) {\n for (const callback of Object.values(DocumentClickListener.callbacks)) {\n if (typeof callback === 'function') {\n callback(event);\n }\n }\n }\n constructor() {\n if (DocumentClickListener._instance) {\n return DocumentClickListener._instance;\n }\n DocumentClickListener._instance = this;\n if (self.document) {\n self.document.addEventListener('click', event => DocumentClickListener.runCallbacks(event));\n }\n }\n public addCallback(callback: (event: any) => void) {\n const callbackID = uuid();\n DocumentClickListener.callbacks[callbackID] = callback;\n return callbackID;\n }\n public removeCallback(id: string) {\n delete DocumentClickListener.callbacks[id];\n }\n}","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\nRenderer2, model } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {\n clearSelectionText: \"Clear selection\",\n showClearSelection: true,\n};\n\nimport {\n CustomSelectOptionType,\n DBCustomSelectProps,\n DBCustomSelectState,\n} from \"./model\";\nimport {\n cls,\n delay,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n getOptionKey,\n getSearchInput,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n DEFAULT_CLOSE_BUTTON,\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_LABEL,\n DEFAULT_LABEL_ID_SUFFIX,\n DEFAULT_MESSAGE,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_PLACEHOLDER_ID_SUFFIX,\n DEFAULT_REMOVE,\n DEFAULT_SELECT_ID_SUFFIX,\n DEFAULT_SELECTED,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport { ChangeEvent, ClickEvent } from \"../../shared/model\";\nimport { DBCustomSelectList } from \"../custom-select-list/custom-select-list\";\nimport { DBCustomSelectListItem } from \"../custom-select-list-item/custom-select-list-item\";\nimport { DBCustomSelectDropdown } from \"../custom-select-dropdown/custom-select-dropdown\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBTag } from \"../tag/tag\";\nimport { DBButton } from \"../button/button\";\nimport { DBTooltip } from \"../tooltip/tooltip\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInput } from \"../input/input\";\nimport { DocumentClickListener } from \"../../utils/document-click-listener\";\nimport { DocumentScrollListener } from \"../../utils/document-scroll-listener\";\nimport { handleFixedDropdown } from \"../../utils/floating-components\";\n\n@Component({\n\t\tproviders: [{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: DBCustomSelect,\n\t\t\tmulti: true\n\t\t}],\t\n selector: \"db-custom-select\",\n standalone: true,\n imports: [\n CommonModule,\n DBTag,\n DBCustomSelectDropdown,\n DBInput,\n DBCustomSelectList,\n DBCustomSelectListItem,\n DBInfotext,\n DBButton,\n DBTooltip,\n ],\n template: `\n <div\n [attr.id]=\"_id()\"\n #_ref\n [class]=\"cls('db-custom-select', className())\"\n [attr.aria-invalid]=\"_validity() === 'invalid'\"\n [attr.data-custom-validity]=\"_validity()\"\n [attr.data-width]=\"formFieldWidth()\"\n [attr.data-variant]=\"variant() === 'floating' && selectedType() === 'tag' && multiple() ? 'above' : variant()\"\n [attr.data-required]=\"getBooleanAsString(required())\"\n [attr.data-placement]=\"placement()\"\n [attr.data-selected-type]=\"multiple() ? selectedType() : 'text'\"\n [attr.data-hide-label]=\"getHideProp(showLabel())\"\n [attr.data-icon]=\"icon()\"\n [attr.data-hide-icon]=\"getHideProp(showIcon())\"\n >\n<label [attr.id]=\"_labelId()\">{{label() ?? DEFAULT_LABEL}}<select\n role=\"none\"\n [attr.hidden]=\"true\"\n [attr.id]=\"_selectId()\"\n [attr.tabIndex]=\"-1\"\n #selectRef\n [attr.form]=\"form()\"\n [attr.name]=\"name()\"\n [attr.multiple]=\"getBoolean(multiple(), 'multiple')\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [attr.required]=\"getBoolean(required(), 'required')\"\n (change)=\"satisfyReact($event)\"\n >\n @if(options()?.length){ @for (option of options();track\n trackByOption0(i,option);let i = $index) {\n <option [disabled]=\"option.disabled\" [attr.value]=\"option.value\">\n {{getOptionLabel(option)}}\n </option>\n } }\n </select>\n </label>\n <details\n #detailsRef\n [attr.open]=\"open()\"\n (toggle)=\"handleDropdownToggle($event)\"\n (keydown)=\"handleKeyboardPress($event)\"\n >\n <ng-content></ng-content>\n @if(options()){\n <summary\n class=\"db-custom-select-form-field\"\n [attr.id]=\"_summaryId()\"\n [attr.aria-disabled]=\"getBooleanAsString(disabled())\"\n [attr.aria-labelledby]=\"_labelId()\"\n >\n @if(_selectedLabels()?.length){\n <span\n [attr.data-visually-hidden]=\"getBooleanAsString(selectedType() === 'tag')\"\n [attr.id]=\"_selectedLabelsId()\"\n >\n {{_selectedLabels()}}\n </span>\n } @if(selectedType() === 'tag'){\n <div>\n @for (option of _selectedOptions();track trackByOption1(index,option);let index =\n $index) {\n <db-tag\n emphasis=\"strong\"\n behavior=\"removable\"\n [removeButton]=\"getTagRemoveLabel(index)\"\n (remove)=\"handleTagRemove(option, $event)\"\n >\n {{getOptionLabel(option)}}\n </db-tag>\n }\n </div>\n }\n </summary>\n <db-custom-select-dropdown [width]=\"dropdownWidth()\">\n @if(searchEnabled()){\n <div>\n <db-input\n type=\"search\"\n #searchInputRef\n [name]=\"_id()\"\n [form]=\"_id()\"\n [showLabel]=\"false\"\n [value]=\"_searchValue()\"\n [label]=\"searchLabel() ?? DEFAULT_LABEL\"\n [placeholder]=\"searchPlaceholder() ?? searchLabel()\"\n [ariaDescribedBy]=\"_hasNoOptions() || showLoading() ? _infoTextId() : undefined\"\n (input)=\"handleSearch($event)\"\n ></db-input>\n </div>\n } @if(_hasNoOptions() || showLoading()){\n <db-infotext\n [id]=\"_infoTextId()\"\n [icon]=\"_hasNoOptions() ? undefined : 'circular_arrows'\"\n [semantic]=\"_hasNoOptions() ? 'warning' : 'informational'\"\n >\n {{(_hasNoOptions() ? noResultsText() : loadingText()) ??\n DEFAULT_MESSAGE}}\n </db-infotext>\n }@else{\n <ng-container>\n @if(selectAllEnabled()){\n <div>\n <div class=\"db-checkbox db-custom-select-list-item\">\n <label>\n <input\n type=\"checkbox\"\n value=\"select-all\"\n #selectAllRef\n [attr.form]=\"_id()\"\n [checked]=\"selectAllChecked()\"\n (change)=\"handleSelectAll($event)\"\n />\n {{getSelectAllLabel()}}\n </label>\n </div>\n </div>\n }\n <db-custom-select-list\n [multiple]=\"getBoolean(multiple(), 'multiple')\"\n [label]=\"ariaListLabel() ?? label() ?? DEFAULT_LABEL\"\n >\n @for (option of _options();track trackByOption2(i,option);let i = $index) {\n <db-custom-select-list-item\n [type]=\"multiple() ? 'checkbox' : 'radio'\"\n [showDivider]=\"option.showDivider\"\n [icon]=\"option.icon\"\n [isGroupTitle]=\"option.isGroupTitle\"\n [groupTitle]=\"getOptionLabel(option)\"\n [name]=\"_id()\"\n [checked]=\"getOptionChecked(option.value)\"\n [disabled]=\"option.disabled\"\n [value]=\"option.value\"\n (change)=\"handleSelect(option.value)\"\n >\n @if(!option.isGroupTitle){ {{getOptionLabel(option)}} }\n </db-custom-select-list-item>\n }\n </db-custom-select-list>\n </ng-container>\n }\n <div>\n <db-button\n variant=\"ghost\"\n width=\"full\"\n icon=\"cross\"\n size=\"small\"\n [name]=\"_id()\"\n [form]=\"_id()\"\n (click)=\"handleClose('close')\"\n >\n {{mobileCloseButtonText() ?? DEFAULT_CLOSE_BUTTON}}\n </db-button>\n </div>\n </db-custom-select-dropdown>\n }\n </details>\n @if((showClearSelection() ?? true) && _values()?.length){\n <db-button\n icon=\"cross\"\n variant=\"ghost\"\n size=\"small\"\n [noText]=\"true\"\n [name]=\"_id()\"\n [form]=\"_id()\"\n (click)=\"handleClearAll($event)\"\n >\n {{clearSelectionText()}}\n <db-tooltip placement=\"top\">{{clearSelectionText()}}</db-tooltip>\n </db-button>\n }\n <span\n [attr.aria-hidden]=\"getBooleanAsString(true)\"\n [attr.id]=\"_placeholderId()\"\n >\n {{placeholder() ?? label()}}\n </span>\n @if(stringPropVisible(message(), showMessage())){\n <db-infotext size=\"small\" [icon]=\"messageIcon()\" [id]=\"_messageId()\">\n {{message()}}\n </db-infotext>\n } @if(hasValidState()){\n <db-infotext size=\"small\" semantic=\"successful\" [id]=\"_validMessageId()\">\n {{validMessage() || DEFAULT_VALID_MESSAGE}}\n </db-infotext>\n }\n <db-infotext size=\"small\" semantic=\"critical\" [id]=\"_invalidMessageId()\">\n {{_invalidMessage()}}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {{_voiceOverFallback()}}\n </span>\n </div>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBCustomSelect implements AfterViewInit, ControlValueAccessor {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly getHideProp = getHideProp;\n protected readonly DEFAULT_LABEL = DEFAULT_LABEL;\n protected readonly getBoolean = getBoolean;\n protected readonly getOptionKey = getOptionKey;\n protected readonly DEFAULT_MESSAGE = DEFAULT_MESSAGE;\n protected readonly DEFAULT_CLOSE_BUTTON = DEFAULT_CLOSE_BUTTON;\n protected readonly stringPropVisible = stringPropVisible;\n protected readonly DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;\n\n id = input<DBCustomSelectProps[\"id\"]>();\n invalidMessage = input<DBCustomSelectProps[\"invalidMessage\"]>();\n message = input<DBCustomSelectProps[\"message\"]>();\n showMessage = input<DBCustomSelectProps[\"showMessage\"]>();\n ariaDescribedBy = input<DBCustomSelectProps[\"ariaDescribedBy\"]>();\n showNoResults = input<DBCustomSelectProps[\"showNoResults\"]>();\n multiple = input<DBCustomSelectProps[\"multiple\"]>();\n showSelectAll = input<DBCustomSelectProps[\"showSelectAll\"]>();\n showSearch = input<DBCustomSelectProps[\"showSearch\"]>();\n values = model<DBCustomSelectProps[\"values\"]>();\n validation = input<DBCustomSelectProps[\"validation\"]>();\n options = input<DBCustomSelectProps[\"options\"]>();\n searchValue = input<DBCustomSelectProps[\"searchValue\"]>();\n selectedLabels = input<DBCustomSelectProps[\"selectedLabels\"]>();\n transformSelectedLabels =\n input<DBCustomSelectProps[\"transformSelectedLabels\"]>();\n selectedType = input<DBCustomSelectProps[\"selectedType\"]>();\n amountText = input<DBCustomSelectProps[\"amountText\"]>();\n validMessage = input<DBCustomSelectProps[\"validMessage\"]>();\n required = input<DBCustomSelectProps[\"required\"]>();\n selectAllLabel = input<DBCustomSelectProps[\"selectAllLabel\"]>();\n removeTagsTexts = input<DBCustomSelectProps[\"removeTagsTexts\"]>();\n placement = input<DBCustomSelectProps[\"placement\"]>();\n searchFilter = input<DBCustomSelectProps[\"searchFilter\"]>();\n className = input<DBCustomSelectProps[\"className\"]>();\n formFieldWidth = input<DBCustomSelectProps[\"formFieldWidth\"]>();\n variant = input<DBCustomSelectProps[\"variant\"]>();\n showLabel = input<DBCustomSelectProps[\"showLabel\"]>();\n icon = input<DBCustomSelectProps[\"icon\"]>();\n showIcon = input<DBCustomSelectProps[\"showIcon\"]>();\n label = input<DBCustomSelectProps[\"label\"]>();\n form = input<DBCustomSelectProps[\"form\"]>();\n name = input<DBCustomSelectProps[\"name\"]>();\n disabled = model<DBCustomSelectProps[\"disabled\"]>();\n open = input<DBCustomSelectProps[\"open\"]>();\n dropdownWidth = input<DBCustomSelectProps[\"dropdownWidth\"]>();\n searchLabel = input<DBCustomSelectProps[\"searchLabel\"]>();\n searchPlaceholder = input<DBCustomSelectProps[\"searchPlaceholder\"]>();\n showLoading = input<DBCustomSelectProps[\"showLoading\"]>();\n ariaListLabel = input<DBCustomSelectProps[\"ariaListLabel\"]>();\n noResultsText = input<DBCustomSelectProps[\"noResultsText\"]>();\n loadingText = input<DBCustomSelectProps[\"loadingText\"]>();\n mobileCloseButtonText = input<DBCustomSelectProps[\"mobileCloseButtonText\"]>();\n showClearSelection = input<DBCustomSelectProps[\"showClearSelection\"]>(\n defaultProps[\"showClearSelection\"]\n );\n clearSelectionText = input<DBCustomSelectProps[\"clearSelectionText\"]>(\n defaultProps[\"clearSelectionText\"]\n );\n placeholder = input<DBCustomSelectProps[\"placeholder\"]>();\n messageIcon = input<DBCustomSelectProps[\"messageIcon\"]>();\n amountChange = output<\n Parameters<Required<DBCustomSelectProps>[\"onAmountChange\"]>[number] | void\n >();\n dropdownToggle = output<\n Parameters<Required<DBCustomSelectProps>[\"onDropdownToggle\"]>[number] | void\n >();\n optionSelected = output<\n Parameters<Required<DBCustomSelectProps>[\"onOptionSelected\"]>[number] | void\n >();\n search = output<\n Parameters<Required<DBCustomSelectProps>[\"onSearch\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n selectRef = viewChild<ElementRef>(\"selectRef\");\n detailsRef = viewChild<ElementRef>(\"detailsRef\");\n searchInputRef = viewChild<ElementRef>(\"searchInputRef\");\n selectAllRef = viewChild<ElementRef>(\"selectAllRef\");\n\n _id = signal<DBCustomSelectState[\"_id\"]>(undefined);\n _messageId = signal<DBCustomSelectState[\"_messageId\"]>(undefined);\n _validMessageId = signal<DBCustomSelectState[\"_validMessageId\"]>(undefined);\n _invalidMessageId =\n signal<DBCustomSelectState[\"_invalidMessageId\"]>(undefined);\n _invalidMessage = signal<DBCustomSelectState[\"_invalidMessage\"]>(undefined);\n _selectId = signal<DBCustomSelectState[\"_selectId\"]>(undefined);\n _labelId = signal<DBCustomSelectState[\"_labelId\"]>(undefined);\n _summaryId = signal<DBCustomSelectState[\"_summaryId\"]>(undefined);\n _placeholderId = signal<DBCustomSelectState[\"_placeholderId\"]>(undefined);\n _infoTextId = signal<DBCustomSelectState[\"_infoTextId\"]>(undefined);\n _validity = signal<DBCustomSelectState[\"_validity\"]>(\"no-validation\");\n _descByIds = signal<DBCustomSelectState[\"_descByIds\"]>(\"\");\n _selectedLabels = signal<DBCustomSelectState[\"_selectedLabels\"]>(\"\");\n _selectedLabelsId =\n signal<DBCustomSelectState[\"_selectedLabelsId\"]>(undefined);\n _voiceOverFallback = signal<DBCustomSelectState[\"_voiceOverFallback\"]>(\"\");\n _selectedOptions = signal<DBCustomSelectState[\"_selectedOptions\"]>([]);\n selectAllEnabled = signal<DBCustomSelectState[\"selectAllEnabled\"]>(false);\n searchEnabled = signal<DBCustomSelectState[\"searchEnabled\"]>(false);\n amountOptions = signal<DBCustomSelectState[\"amountOptions\"]>(0);\n _values = signal<DBCustomSelectState[\"_values\"]>([]);\n _options = signal<DBCustomSelectState[\"_options\"]>([]);\n _hasNoOptions = signal<DBCustomSelectState[\"_hasNoOptions\"]>(false);\n _documentClickListenerCallbackId =\n signal<DBCustomSelectState[\"_documentClickListenerCallbackId\"]>(undefined);\n _internalChangeTimestamp =\n signal<DBCustomSelectState[\"_internalChangeTimestamp\"]>(0);\n _documentScrollListenerCallbackId =\n signal<DBCustomSelectState[\"_documentScrollListenerCallbackId\"]>(undefined);\n _observer = signal<DBCustomSelectState[\"_observer\"]>(undefined);\n _searchValue = signal<DBCustomSelectState[\"_searchValue\"]>(undefined);\n selectAllChecked = signal<DBCustomSelectState[\"selectAllChecked\"]>(false);\n selectAllIndeterminate =\n signal<DBCustomSelectState[\"selectAllIndeterminate\"]>(false);\n\n handleDocumentScroll(event: any) {\n if (\n event?.target?.contains &&\n event?.target?.contains(this.detailsRef()?.nativeElement)\n ) {\n this.handleAutoPlacement();\n }\n }\n hasValidState() {\n return !!(this.validMessage() ?? this.validation() === \"valid\");\n }\n handleValidation() {\n if (this.selectRef()?.nativeElement) {\n this.selectRef()!.nativeElement.value = this.getNativeSelectValue();\n }\n /* For a11y reasons we need to map the correct message with the select */\n if (\n !this.selectRef()?.nativeElement?.validity.valid ||\n this.validation() === \"invalid\"\n ) {\n this._descByIds.set(this._invalidMessageId());\n this._invalidMessage.set(\n this.invalidMessage() ||\n this.selectRef()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(this._invalidMessage());\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n this._validity.set(this.validation() ?? \"invalid\");\n } else if (\n this.hasValidState() &&\n this.selectRef()?.nativeElement?.validity.valid &&\n this.required()\n ) {\n this._descByIds.set(this._validMessageId());\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(\n this.validMessage() ?? DEFAULT_VALID_MESSAGE\n );\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n this._validity.set(this.validation() ?? \"valid\");\n } else if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(this._messageId());\n this._validity.set(this.validation() ?? \"no-validation\");\n } else {\n this._descByIds.set(this._placeholderId());\n this._validity.set(this.validation() ?? \"no-validation\");\n }\n }\n handleDropdownToggle(event: any) {\n if (this.dropdownToggle) {\n event.stopPropagation();\n this.dropdownToggle.emit(event);\n }\n if (event.target.open) {\n this._documentClickListenerCallbackId.set(\n new DocumentClickListener().addCallback((event) =>\n this.handleDocumentClose(event)\n )\n );\n this._documentScrollListenerCallbackId.set(\n new DocumentScrollListener().addCallback((event) =>\n this.handleDocumentScroll(event)\n )\n );\n this.handleAutoPlacement();\n this._observer()?.observe(this.detailsRef()?.nativeElement);\n if (!event.target.dataset.test) {\n // We need this workaround for snapshot testing\n this.handleOpenByKeyboardFocus();\n }\n } else {\n if (this._documentClickListenerCallbackId()) {\n new DocumentClickListener().removeCallback(\n this._documentClickListenerCallbackId()!\n );\n }\n if (this._documentScrollListenerCallbackId()) {\n new DocumentScrollListener().removeCallback(\n this._documentScrollListenerCallbackId()!\n );\n }\n this._observer()?.unobserve(this.detailsRef()?.nativeElement);\n }\n }\n getNativeSelectValue() {\n if (this._values()?.length) {\n return this._values()!.at(0) ?? \"\";\n }\n return \"\";\n }\n setDescById(descId?: string) {\n const descByIds: string[] = [];\n if (descId) {\n descByIds.push(descId);\n }\n if (this._selectedLabelsId() && this._selectedLabels()?.length) {\n descByIds.push(this._selectedLabelsId()!);\n }\n this._descByIds.set(descByIds.join(\" \"));\n }\n getSelectAllLabel() {\n return this.selectAllLabel() ?? DEFAULT_LABEL;\n }\n getOptionLabel(option: CustomSelectOptionType) {\n return option.label ?? option.value?.toString() ?? \"\";\n }\n getOptionChecked(value?: string) {\n if (value && this._values()?.includes) {\n return this._values()?.includes(value!);\n }\n return false;\n }\n getTagRemoveLabel(index: number) {\n if (this.removeTagsTexts() && this.removeTagsTexts()!.length > index) {\n return this.removeTagsTexts()!.at(index)!;\n } else {\n return `${DEFAULT_REMOVE} ${\n this._selectedOptions()\n ? this.getOptionLabel(this._selectedOptions()![index])\n : \"\"\n }`;\n }\n }\n handleTagRemove(option: CustomSelectOptionType, event: any) {\n event.stopPropagation();\n this.handleSelect(option.value);\n this.handleSummaryFocus();\n }\n handleAutoPlacement() {\n if (this.detailsRef()?.nativeElement) {\n const dropdown =\n this.detailsRef()?.nativeElement.querySelector(\"article\");\n if (dropdown) {\n // This is a workaround for Angular\n delay(() => {\n handleFixedDropdown(\n dropdown,\n this.detailsRef()?.nativeElement,\n (this.placement() as unknown as string) ?? \"bottom\"\n );\n }, 1);\n }\n }\n }\n handleArrowDownUp(event: any) {\n if (this.detailsRef()?.nativeElement?.open) {\n if (self.document) {\n const activeElement = self.document.activeElement;\n if (activeElement) {\n // 1. we check if we are currently focusing a checkbox in the dropdown\n const isCheckbox =\n activeElement.getAttribute(\"type\") === \"checkbox\" ||\n activeElement.getAttribute(\"type\") === \"radio\";\n if (isCheckbox) {\n const listElement = activeElement?.closest(\"li\");\n if (event.key === \"ArrowDown\" || event.key === \"ArrowRight\") {\n if (listElement?.nextElementSibling) {\n listElement?.nextElementSibling\n ?.querySelector(\"input\")\n ?.focus();\n } else {\n // We are on the last checkbox we move to the top checkbox\n this.handleFocusFirstDropdownCheckbox(activeElement);\n }\n } else {\n if (listElement?.previousElementSibling) {\n listElement?.previousElementSibling\n ?.querySelector(\"input\")\n ?.focus();\n } else if (\n this.detailsRef()?.nativeElement.querySelector(\n `input[type=\"checkbox\"]`\n ) !== activeElement\n ) {\n // We are on the top list checkbox but there is a select all checkbox as well\n this.handleFocusFirstDropdownCheckbox(activeElement);\n } else {\n // We are on the top checkbox, we need to move to the search\n // or to the last checkbox\n const search = getSearchInput(this.detailsRef()?.nativeElement);\n if (search) {\n delay(() => {\n search.focus();\n }, 100);\n } else {\n const checkboxList: HTMLInputElement[] = Array.from(\n this.detailsRef()?.nativeElement?.querySelectorAll(\n `input[type=\"checkbox\"],input[type=\"radio\"]`\n )\n );\n if (checkboxList.length) {\n checkboxList.at(-1)?.focus();\n }\n }\n }\n }\n } else {\n // 2. If we are on the search, and press up we go back to summary and close\n if (\n activeElement.getAttribute(\"type\") === \"search\" &&\n (event.key === \"ArrowUp\" || event.key === \"ArrowLeft\")\n ) {\n this.handleClose(\"close\");\n this.handleSummaryFocus();\n } else {\n // 3. Otherwise, we need to move to the first checkbox\n this.handleFocusFirstDropdownCheckbox(activeElement);\n }\n }\n }\n }\n } else if (event.key === \"ArrowDown\" || event.key === \"ArrowRight\") {\n // Open dropdown with arrows see https://www.w3.org/WAI/ARIA/apg/patterns/combobox/#keyboardinteraction\n this.handleAutoPlacement();\n if (this.detailsRef()?.nativeElement) {\n this.detailsRef()!.nativeElement.open = true;\n }\n this.handleOpenByKeyboardFocus();\n }\n event.stopPropagation();\n event.preventDefault();\n }\n handleKeyboardPress(event: any) {\n event.stopPropagation();\n if (event.key === \"Escape\" && this.detailsRef()?.nativeElement?.open) {\n this.handleClose(\"close\");\n this.handleSummaryFocus();\n } else if (\n event.key === \"ArrowDown\" ||\n event.key === \"ArrowUp\" ||\n event.key === \"ArrowLeft\" ||\n event.key === \"ArrowRight\"\n ) {\n this.handleArrowDownUp(event);\n }\n }\n handleClose(event: any) {\n if (this.detailsRef()?.nativeElement) {\n if (event === \"close\") {\n this.detailsRef()!.nativeElement.open = false;\n this.handleSummaryFocus();\n } else if (\n this.detailsRef()?.nativeElement.open &&\n event?.relatedTarget\n ) {\n const relatedTarget = event.relatedTarget as HTMLElement;\n if (!this.detailsRef()?.nativeElement.contains(relatedTarget)) {\n // We need to use delay here because the combination of `contains`\n // and changing the DOM element causes a race condition inside browser\n delay(() => (this.detailsRef()!.nativeElement.open = false), 1);\n }\n }\n }\n }\n handleDocumentClose(event: any) {\n if (event) {\n // stencil is sending a custom event which wraps the pointer event into details\n const target = event.target;\n if (\n this.detailsRef()?.nativeElement?.open &&\n !this.detailsRef()?.nativeElement.contains(target)\n ) {\n this.detailsRef()!.nativeElement.open = false;\n }\n }\n }\n handleOptionSelected(values: string[]) {\n const skip = new Date().getTime() - this._internalChangeTimestamp() < 200;\n if (skip) return;\n this._values.set(values);\n if (this.optionSelected) {\n this.optionSelected.emit(values ?? []);\n }\n handleFrameworkEventAngular(\n this,\n {\n target: {\n values,\n },\n },\n \"values\"\n );\n this._internalChangeTimestamp.set(new Date().getTime());\n }\n handleSelect(value?: string) {\n if (value) {\n if (this.multiple()) {\n if (this._values()?.includes(value)) {\n this.handleOptionSelected(\n this._values()!.filter((v: string) => v !== value)\n );\n } else {\n this.handleOptionSelected([...(this._values() || []), value]);\n }\n } else {\n this.handleOptionSelected([value]);\n this.handleClose(\"close\");\n }\n }\n }\n handleSelectAll(event: any) {\n event.stopPropagation();\n if (this._values()?.length === this.amountOptions()) {\n this.handleOptionSelected([]);\n } else {\n const searchValue: string | undefined =\n this.searchEnabled() && this.searchInputRef()?.nativeElement\n ? this.searchInputRef()?.nativeElement.value\n : undefined;\n this.handleOptionSelected(\n this.options()\n ? this.options()!\n .filter(\n (option) =>\n !option.isGroupTitle &&\n (!searchValue ||\n option.value\n ?.toLowerCase()\n .includes(searchValue.toLowerCase()))\n )\n .map((option) => option.value ?? \"\")\n : []\n );\n }\n }\n handleFocusFirstDropdownCheckbox(activeElement?: Element) {\n if (this.detailsRef()?.nativeElement) {\n const checkboxes: HTMLInputElement[] = Array.from(\n this.detailsRef()?.nativeElement.querySelectorAll(\n `input[type=\"checkbox\"],input[type=\"radio\"]`\n )\n );\n if (checkboxes.length) {\n const first = checkboxes.at(0);\n const checkbox =\n first === activeElement && checkboxes.length > 1\n ? checkboxes.at(1)\n : first;\n if (checkbox) {\n delay(() => {\n // Takes some time until element can be focused\n (checkbox as HTMLInputElement).focus();\n }, 1);\n }\n }\n }\n }\n handleOpenByKeyboardFocus() {\n if (this.detailsRef()?.nativeElement) {\n // Focus search if possible\n const search = getSearchInput(this.detailsRef()?.nativeElement);\n if (search) {\n delay(() => {\n // Takes some time until element can be focused\n search.focus();\n }, 1);\n } else {\n // Focus first checkbox otherwise\n this.handleFocusFirstDropdownCheckbox();\n }\n }\n }\n handleSearch(event: any) {\n let filterText;\n if (typeof event === \"string\") {\n filterText = event;\n } else {\n event.stopPropagation();\n if (this.search) {\n this.search.emit(event);\n }\n filterText = (event.target as HTMLInputElement).value;\n this._searchValue.set(filterText);\n }\n if (!this.options() || !filterText || filterText.length === 0) {\n this._options.set(this.options());\n } else if (this.searchFilter()) {\n this._options.set(\n this.options()!.filter((option) =>\n this.searchFilter()!(option, filterText)\n )\n );\n } else {\n this._options.set(\n this.options()!.filter(\n (option) =>\n !option.isGroupTitle &&\n this.getOptionLabel(option)\n .toLowerCase()\n .includes(filterText.toLowerCase())\n )\n );\n }\n }\n handleClearAll(event: any) {\n event.stopPropagation();\n this.handleOptionSelected([]);\n this.handleSummaryFocus();\n }\n handleSummaryFocus() {\n if (this.detailsRef()?.nativeElement) {\n (this.detailsRef()?.nativeElement as HTMLDetailsElement)\n .querySelector(\"summary\")\n ?.focus();\n }\n }\n satisfyReact(event: any) {\n // This is a function to satisfy React\n event.stopPropagation();\n }\n trackByOption0(_: number, option: any) {\n return getOptionKey(option, \"native-select-option-\");\n }\n trackByOption1(index: number, option: any) {\n return getOptionKey(option, \"tag-\");\n }\n trackByOption2(_: number, option: any) {\n return getOptionKey(option, \"custom-select-list-item-\");\n }\n\n constructor(private renderer: Renderer2,) {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.detailsRef();\n // ---\n\n if (this.detailsRef()?.nativeElement) {\n this.detailsRef()?.nativeElement.addEventListener(\n \"focusout\",\n (event: any) => this.handleClose(event)\n );\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._id();\n // ---\n\n if (this._id()) {\n const messageId = this._id() + DEFAULT_MESSAGE_ID_SUFFIX;\n this._labelId.set(this._id() + DEFAULT_LABEL_ID_SUFFIX);\n this._selectId.set(this._id() + DEFAULT_SELECT_ID_SUFFIX);\n this._validMessageId.set(\n this._id() + DEFAULT_VALID_MESSAGE_ID_SUFFIX\n );\n this._invalidMessageId.set(\n this._id() + DEFAULT_INVALID_MESSAGE_ID_SUFFIX\n );\n this._placeholderId.set(this._id() + DEFAULT_PLACEHOLDER_ID_SUFFIX);\n if (stringPropVisible(this.message(), this.showMessage())) {\n this.setDescById(messageId);\n } else {\n this.setDescById();\n }\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.detailsRef();\n this._descByIds();\n // ---\n\n if (this.detailsRef()?.nativeElement) {\n const summary =\n this.detailsRef()?.nativeElement.querySelector(\"summary\");\n if (summary) {\n summary.setAttribute(\n \"aria-describedby\",\n this.ariaDescribedBy() ?? (this._descByIds() || \"\")\n );\n }\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.showNoResults();\n this._options();\n // ---\n\n if (this.showNoResults() !== undefined) {\n this._hasNoOptions.set(this.showNoResults()!);\n } else if (this._options()) {\n this._hasNoOptions.set(this._options()!.length === 0);\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.showSelectAll();\n this.amountOptions();\n this.multiple();\n // ---\n\n this.selectAllEnabled.set(\n Boolean(\n this.multiple() &&\n (this.showSelectAll() ?? this.amountOptions() > 5)\n )\n );\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.showSearch();\n this.amountOptions();\n // ---\n\n this.searchEnabled.set(this.showSearch() ?? this.amountOptions() > 9);\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.values();\n // ---\n\n if (\n this.values() &&\n Array.isArray(this.values()) &&\n this.values() !== this._values()\n ) {\n this._values.set(this.values() ?? []);\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._values();\n // ---\n\n this.handleValidation();\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.validation();\n // ---\n\n this._validity.set(this.validation());\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._values();\n this.amountOptions();\n // ---\n\n if (this._values()?.length === 0) {\n this.selectAllChecked.set(false);\n this.selectAllIndeterminate.set(false);\n } else if (this._values()?.length === this.amountOptions()) {\n this.selectAllIndeterminate.set(false);\n this.selectAllChecked.set(true);\n } else if (this._values()) {\n this.selectAllIndeterminate.set(true);\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.options();\n // ---\n\n this._options.set(this.options());\n this.amountOptions.set(\n this.options()?.filter((option) => !option.isGroupTitle).length ?? 0\n );\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.searchValue();\n // ---\n\n this._searchValue.set(this.searchValue());\n if (this.searchValue()) {\n const sValue = this.searchValue()!; // <- workaround for Angular\n this.handleSearch(sValue);\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.options();\n this._values();\n // ---\n\n if (this.options()?.length) {\n this._selectedOptions.set(\n this.options()?.filter((option: CustomSelectOptionType) => {\n if (!option.value || !this._values()?.[\"includes\"]) {\n return false;\n }\n return (\n !option.isGroupTitle && this._values()?.includes(option.value)\n );\n })\n );\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._selectedOptions();\n this.selectedType();\n this.amountText();\n this.selectedLabels();\n this.transformSelectedLabels();\n // ---\n\n if (this.selectedLabels()) {\n this._selectedLabels.set(this.selectedLabels());\n return;\n }\n if (this._selectedOptions()?.length) {\n if (this.transformSelectedLabels()) {\n // We need to add this to another ``const`` for Angular generated output to work\n const selectedOptions = this._selectedOptions();\n const transformFn = this.transformSelectedLabels()!;\n this._selectedLabels.set(transformFn!(selectedOptions));\n return;\n }\n if (this.selectedType() === \"amount\") {\n this._selectedLabels.set(\n this.amountText()\n ? this.amountText()\n : `${this._selectedOptions()?.length} ${DEFAULT_SELECTED}`\n );\n } else {\n this._selectedLabels.set(\n this._selectedOptions()\n ?.map((option: CustomSelectOptionType) =>\n this.getOptionLabel(option)\n )\n .join(\", \")\n );\n }\n } else {\n this._selectedLabels.set(\"\");\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._selectedOptions();\n // ---\n\n if (this.amountChange) {\n this.amountChange.emit(this._selectedOptions()?.length ?? 0);\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.selectAllIndeterminate();\n this.selectAllRef();\n // ---\n\n if (this.selectAllRef()?.nativeElement) {\n this.selectAllRef()!.nativeElement.indeterminate = Boolean(\n this.selectAllIndeterminate()\n );\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.selectRef();\n this.invalidMessage();\n // ---\n\n this._invalidMessage.set(\n this.invalidMessage() ||\n this.selectRef()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n },\n {\n // Enable writing to signals inside effects\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 \n\t\twriteValue(value: any) {\n\t\t\t\n\t\t this.values.set(value);\n\n\t\t if (this._ref()?.nativeElement) {\n\t\t\t this.renderer.setProperty(this._ref()?.nativeElement, 'values', 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}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled.set(disabled);\n\t\t}\n\n\t\tngOnInit() {\n const mId = this.id() ?? `custom-select-${uuid()}`;\n this._id.set(mId);\n this._messageId.set(mId + DEFAULT_MESSAGE_ID_SUFFIX);\n this._validMessageId.set(mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX);\n this._invalidMessageId.set(mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX);\n this._selectId.set(mId + DEFAULT_SELECT_ID_SUFFIX);\n this._labelId.set(mId + DEFAULT_LABEL_ID_SUFFIX);\n this._summaryId.set(mId + \"-summary\");\n this._placeholderId.set(mId + DEFAULT_PLACEHOLDER_ID_SUFFIX);\n this._selectedLabelsId.set(mId + \"-selected-labels\");\n this._infoTextId.set(mId + \"-info\");\n this._invalidMessage.set(this.invalidMessage() || DEFAULT_INVALID_MESSAGE);\n if (typeof window !== \"undefined\" && \"IntersectionObserver\" in window) {\n this._observer.set(\n new IntersectionObserver((payload) => {\n if (this.detailsRef()?.nativeElement) {\n const entry = payload.find(\n ({ target }) => target === this.detailsRef()?.nativeElement\n );\n if (\n entry &&\n !entry.isIntersecting &&\n this.detailsRef()?.nativeElement.open\n ) {\n this.detailsRef()!.nativeElement.open = false;\n }\n }\n })\n );\n }\n }\n\n ngAfterViewInit() {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-custom-select\");\n }\n}\n","import {\n Component,\n AfterViewInit,\n viewChild,\n ElementRef,\n input,\n effect,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DBCustomSelectFormFieldProps } from \"./model\";\nimport { cls } from \"../../utils\";\n\n@Component({\n selector: \"db-custom-select-form-field\",\n standalone: true,\n imports: [CommonModule],\n template: `\n <summary\n #_ref\n [attr.id]=\"id()\"\n [class]=\"cls('db-custom-select-form-field', className())\"\n >\n <ng-content></ng-content>\n </summary>\n `,\n styles: `:host { display: contents; }`,\n})\nexport class DBCustomSelectFormField implements AfterViewInit {\n protected readonly cls = cls;\n\n id = input<DBCustomSelectFormFieldProps[\"id\"]>();\n className = input<DBCustomSelectFormFieldProps[\"className\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n constructor() {}\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-custom-select-form-field\");\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["defaultProps","utilsDelay"],"mappings":"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A,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA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"}
|