@db-ux/ngx-core-components 4.2.2-css-selectors-hopefully-final-try-fingers-crossed-0e54e19 → 4.2.3

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/shared/constants.ts","../../../output/angular/src/utils/index.ts","../../../output/angular/src/components/accordion-item/accordion-item.ts","../../../output/angular/src/components/accordion/accordion.ts","../../../output/angular/src/components/accordion/model.ts","../../../output/angular/src/components/badge/badge.ts","../../../output/angular/src/components/badge/model.ts","../../../output/angular/src/components/brand/brand.ts","../../../output/angular/src/components/button/button.ts","../../../output/angular/src/components/button/model.ts","../../../output/angular/src/components/card/card.ts","../../../output/angular/src/components/card/model.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/utils/document-click-listener.ts","../../../output/angular/src/utils/document-scroll-listener.ts","../../../output/angular/src/utils/floating-components.ts","../../../output/angular/src/components/custom-select-dropdown/custom-select-dropdown.ts","../../../output/angular/src/components/custom-select-list-item/custom-select-list-item.ts","../../../output/angular/src/components/custom-select-list/custom-select-list.ts","../../../output/angular/src/components/input/input.ts","../../../output/angular/src/components/tooltip/tooltip.ts","../../../output/angular/src/components/tag/tag.ts","../../../output/angular/src/components/custom-select/custom-select.ts","../../../output/angular/src/components/custom-select-dropdown/model.ts","../../../output/angular/src/components/custom-select-form-field/custom-select-form-field.ts","../../../output/angular/src/components/custom-select-list-item/model.ts","../../../output/angular/src/components/custom-select/model.ts","../../../output/angular/src/components/divider/divider.ts","../../../output/angular/src/components/divider/model.ts","../../../output/angular/src/components/drawer/drawer.ts","../../../output/angular/src/components/drawer/model.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/icon/model.ts","../../../output/angular/src/components/input/model.ts","../../../output/angular/src/components/link/link.ts","../../../output/angular/src/components/link/model.ts","../../../output/angular/src/components/navigation/navigation.ts","../../../output/angular/src/components/navigation-item/NavigationContent.directive.ts","../../../output/angular/src/components/navigation-item/navigation-item.ts","../../../output/angular/src/components/notification/notification.ts","../../../output/angular/src/components/notification/model.ts","../../../output/angular/src/components/page/page.ts","../../../output/angular/src/components/page/model.ts","../../../output/angular/src/components/popover/popover.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/stack/stack.ts","../../../output/angular/src/components/stack/model.ts","../../../output/angular/src/components/switch/switch.ts","../../../output/angular/src/components/tab-item/tab-item.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/components/tabs/model.ts","../../../output/angular/src/components/tag/model.ts","../../../output/angular/src/components/textarea/textarea.ts","../../../output/angular/src/components/textarea/model.ts","../../../output/angular/src/components/tooltip/model.ts","../../../output/angular/src/shared/model.ts","../../../output/angular/src/db-ux-ngx-core-components.ts"],"sourcesContent":["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 { ClickEvent, GeneralKeyboardEvent } from '../shared/model';\nexport 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));\n\n/**\n * Determines if the current browser is Safari running on an iOS device.\n *\n * This function checks the user agent string to verify both iOS platform\n * (iPad, iPhone, or iPod) and Safari browser, excluding other browsers\n * such as Chrome, Firefox, Opera, and Edge on iOS.\n *\n * @returns {boolean} `true` if the browser is Safari on iOS, otherwise `false`.\n */\nexport const isIOSSafari = (): boolean => {\n if (typeof window === 'undefined' || typeof navigator === 'undefined') return false;\n const ua = navigator.userAgent;\n // iOS detection\n const isIOS = /iP(ad|hone|od)/.test(ua);\n // Safari detection (not Chrome or Firefox on iOS)\n const isSafari = !!ua.match(/Safari/) && !ua.match(/CriOS|FxiOS|OPiOS|EdgiOS/);\n return isIOS && isSafari;\n};\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};\nexport const isKeyboardEvent = <T,>(event?: ClickEvent<T> | GeneralKeyboardEvent<T>): event is GeneralKeyboardEvent<T> => (event as GeneralKeyboardEvent<T>).key !== undefined","import {\n Component,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_ID } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { cls, getBooleanAsString, uuid } from \"../../utils\";\nimport { DBAccordionItemProps, DBAccordionItemState } from \"./model\";\n\n@Component({\n selector: \"db-accordion-item\",\n standalone: true,\n imports: [CommonModule],\n template: `<li\n [attr.id]=\"_id()\"\n [class]=\"cls('db-accordion-item', className())\"\n >\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 styles: `:host { display: contents; }`,\n})\nexport class DBAccordionItem implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n id: InputSignal<DBAccordionItemProps[\"id\"]> =\n input<DBAccordionItemProps[\"id\"]>();\n defaultOpen: InputSignal<DBAccordionItemProps[\"defaultOpen\"]> =\n input<DBAccordionItemProps[\"defaultOpen\"]>();\n name: InputSignal<DBAccordionItemProps[\"name\"]> =\n input<DBAccordionItemProps[\"name\"]>();\n className: InputSignal<DBAccordionItemProps[\"className\"]> =\n input<DBAccordionItemProps[\"className\"]>();\n disabled: InputSignal<DBAccordionItemProps[\"disabled\"]> =\n input<DBAccordionItemProps[\"disabled\"]>();\n headlinePlain: InputSignal<DBAccordionItemProps[\"headlinePlain\"]> =\n input<DBAccordionItemProps[\"headlinePlain\"]>();\n text: InputSignal<DBAccordionItemProps[\"text\"]> =\n 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 if (typeof window !== \"undefined\") {\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 /**\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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-accordion-item\");\n this._id.set(this.id() || \"accordion-item-\" + uuid());\n if (this.defaultOpen()) {\n this._open.set(this.defaultOpen());\n }\n this.initialized.set(true);\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_ID } from \"../../shared/constants\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBAccordionItem } from \"../accordion-item/accordion-item\";\nimport { DBAccordionItemDefaultProps } from \"../accordion-item/model\";\nimport { DBAccordionProps, DBAccordionState } from \"./model\";\n\n@Component({\n selector: \"db-accordion\",\n standalone: true,\n imports: [CommonModule, DBAccordionItem],\n template: `<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(index,\n item);let index = $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 styles: `:host { display: contents; }`,\n})\nexport class DBAccordion implements AfterViewInit {\n protected readonly cls = cls;\n\n id: InputSignal<DBAccordionProps[\"id\"]> = input<DBAccordionProps[\"id\"]>();\n name: InputSignal<DBAccordionProps[\"name\"]> =\n input<DBAccordionProps[\"name\"]>();\n behavior: InputSignal<DBAccordionProps[\"behavior\"]> =\n input<DBAccordionProps[\"behavior\"]>();\n initOpenIndex: InputSignal<DBAccordionProps[\"initOpenIndex\"]> =\n input<DBAccordionProps[\"initOpenIndex\"]>();\n items: InputSignal<DBAccordionProps[\"items\"]> =\n input<DBAccordionProps[\"items\"]>();\n className: InputSignal<DBAccordionProps[\"className\"]> =\n input<DBAccordionProps[\"className\"]>();\n variant: InputSignal<DBAccordionProps[\"variant\"]> =\n 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 if (typeof window !== \"undefined\") {\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\" &&\n 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 /**\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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-accordion\");\n this._id.set(this.id() || \"accordion-\" + uuid());\n this.initialized.set(true);\n this._initOpenIndexDone.set(true);\n }\n }\n}\n","import { GlobalProps, GlobalState, InitializedState } from '../../shared/model';\nimport { DBAccordionItemDefaultProps } from '../accordion-item/model';\nexport const AccordionVariantList = ['divider', 'card'] as const;\nexport type AccordionVariantType = (typeof AccordionVariantList)[number];\nexport const AccordionBehaviorList = ['multiple', 'single'] as const;\nexport type AccordionBehaviorType = (typeof AccordionBehaviorList)[number];\nexport type DBAccordionDefaultProps = {\n /**\n * To allow multiple items open at the same time or only 1 item\n */\n behavior?: AccordionBehaviorType;\n /**\n * The index of items which should be open when loading the accordion\n */\n initOpenIndex?: number[];\n\n /**\n * Alternative to pass in a simple representation of accordion items\n */\n items?: DBAccordionItemDefaultProps[] | string;\n\n /**\n * Set details name for exclusive accordions, see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details#name\n */\n name?: string;\n\n /**\n * Informs about the changes in the internal state, which item is open\n */\n onChange?: (openAccordionItemIds: string[]) => void;\n\n /**\n * Defines the display of the accordion and the items:\n * \"divider\": with a dividing line between the items\n * \"card\": w/o dividing line, but items are shown in the card variant\n */\n variant?: AccordionVariantType;\n};\nexport type DBAccordionProps = DBAccordionDefaultProps & GlobalProps;\nexport type DBAccordionDefaultState = {\n _initOpenIndexDone: boolean;\n _name?: string;\n convertItems: () => DBAccordionItemDefaultProps[];\n};\nexport type DBAccordionState = DBAccordionDefaultState & GlobalState & InitializedState","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_LABEL } from \"../../shared/constants\";\nimport { cls } from \"../../utils\";\nimport { DBBadgeProps, DBBadgeState } from \"./model\";\n\n@Component({\n selector: \"db-badge\",\n standalone: true,\n imports: [CommonModule],\n template: `<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 >@if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\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: InputSignal<DBBadgeProps[\"placement\"]> =\n input<DBBadgeProps[\"placement\"]>();\n id: InputSignal<DBBadgeProps[\"id\"]> = input<DBBadgeProps[\"id\"]>();\n className: InputSignal<DBBadgeProps[\"className\"]> =\n input<DBBadgeProps[\"className\"]>();\n semantic: InputSignal<DBBadgeProps[\"semantic\"]> =\n input<DBBadgeProps[\"semantic\"]>();\n size: InputSignal<DBBadgeProps[\"size\"]> = input<DBBadgeProps[\"size\"]>();\n emphasis: InputSignal<DBBadgeProps[\"emphasis\"]> =\n input<DBBadgeProps[\"emphasis\"]>();\n label: InputSignal<DBBadgeProps[\"label\"]> = input<DBBadgeProps[\"label\"]>();\n text: InputSignal<DBBadgeProps[\"text\"]> = input<DBBadgeProps[\"text\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n initialized = signal<DBBadgeState[\"initialized\"]>(false);\n\n constructor() {\n if (typeof window !== \"undefined\") {\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.dataset[\"hasBadge\"] = \"true\";\n }\n }\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-badge\");\n this.initialized.set(true);\n }\n }\n}\n","import { EmphasisProps, GlobalProps, GlobalState, InitializedState, SemanticProps, SizeProps, TextProps } from '../../shared/model';\nexport const BadgePlacementList = ['inline', 'corner-top-left', 'corner-top-right', 'corner-center-left', 'corner-center-right', 'corner-bottom-left', 'corner-bottom-right'] as const;\nexport type BadgePlacementType = (typeof BadgePlacementList)[number];\nexport type DBBadgeDefaultProps = {\n /**\n * The `placement` attributes `corner-*` values change the position to absolute and adds a transform based on the placement.\n */\n placement?: BadgePlacementType;\n\n /**\n * Describes the badge for a11y if you use placement attribute with `corner-*`\n */\n label?: string;\n};\nexport type DBBadgeProps = DBBadgeDefaultProps & GlobalProps & SemanticProps & SizeProps & EmphasisProps & TextProps;\nexport type DBBadgeDefaultState = {};\nexport type DBBadgeState = DBBadgeDefaultState & GlobalState & InitializedState","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_ICON } from \"../../shared/constants\";\nimport { cls, getBooleanAsString } from \"../../utils\";\nimport { DBBrandProps, DBBrandState } from \"./model\";\n\n@Component({\n selector: \"db-brand\",\n standalone: true,\n imports: [CommonModule],\n template: `<div\n #_ref\n [attr.data-icon]=\"hideLogo() ? 'none' : icon() ?? DEFAULT_ICON\"\n [attr.data-show-icon]=\"getBooleanAsString(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 styles: `:host { display: contents; }`,\n})\nexport class DBBrand implements AfterViewInit {\n protected readonly DEFAULT_ICON = DEFAULT_ICON;\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly cls = cls;\n\n hideLogo: InputSignal<DBBrandProps[\"hideLogo\"]> =\n input<DBBrandProps[\"hideLogo\"]>();\n icon: InputSignal<DBBrandProps[\"icon\"]> = input<DBBrandProps[\"icon\"]>();\n showIcon: InputSignal<DBBrandProps[\"showIcon\"]> =\n input<DBBrandProps[\"showIcon\"]>();\n id: InputSignal<DBBrandProps[\"id\"]> = input<DBBrandProps[\"id\"]>();\n className: InputSignal<DBBrandProps[\"className\"]> =\n input<DBBrandProps[\"className\"]>();\n text: InputSignal<DBBrandProps[\"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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-brand\");\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls, getBoolean, getBooleanAsString } from \"../../utils\";\nimport type { DBButtonProps, DBButtonState } from \"./model\";\n\n@Component({\n selector: \"db-button\",\n standalone: true,\n imports: [CommonModule],\n template: `<button\n #_ref\n [attr.id]=\"id()\"\n [class]=\"cls('db-button', className())\"\n [attr.type]=\"getButtonType()\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [attr.data-icon]=\"iconLeading() ?? icon()\"\n [attr.data-show-icon]=\"getBooleanAsString(showIconLeading() ?? showIcon())\"\n [attr.data-icon-trailing]=\"iconTrailing()\"\n [attr.data-show-icon-trailing]=\"getBooleanAsString(showIconTrailing())\"\n [attr.data-size]=\"size()\"\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 >\n @if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\n }\n </button> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBButton implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBoolean = getBoolean;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n type: InputSignal<DBButtonProps[\"type\"]> = input<DBButtonProps[\"type\"]>();\n id: InputSignal<DBButtonProps[\"id\"]> = input<DBButtonProps[\"id\"]>();\n className: InputSignal<DBButtonProps[\"className\"]> =\n input<DBButtonProps[\"className\"]>();\n disabled: InputSignal<DBButtonProps[\"disabled\"]> =\n input<DBButtonProps[\"disabled\"]>();\n iconLeading: InputSignal<DBButtonProps[\"iconLeading\"]> =\n input<DBButtonProps[\"iconLeading\"]>();\n icon: InputSignal<DBButtonProps[\"icon\"]> = input<DBButtonProps[\"icon\"]>();\n showIconLeading: InputSignal<DBButtonProps[\"showIconLeading\"]> =\n input<DBButtonProps[\"showIconLeading\"]>();\n showIcon: InputSignal<DBButtonProps[\"showIcon\"]> =\n input<DBButtonProps[\"showIcon\"]>();\n iconTrailing: InputSignal<DBButtonProps[\"iconTrailing\"]> =\n input<DBButtonProps[\"iconTrailing\"]>();\n showIconTrailing: InputSignal<DBButtonProps[\"showIconTrailing\"]> =\n input<DBButtonProps[\"showIconTrailing\"]>();\n size: InputSignal<DBButtonProps[\"size\"]> = input<DBButtonProps[\"size\"]>();\n width: InputSignal<DBButtonProps[\"width\"]> = input<DBButtonProps[\"width\"]>();\n variant: InputSignal<DBButtonProps[\"variant\"]> =\n input<DBButtonProps[\"variant\"]>();\n noText: InputSignal<DBButtonProps[\"noText\"]> =\n input<DBButtonProps[\"noText\"]>();\n name: InputSignal<DBButtonProps[\"name\"]> = input<DBButtonProps[\"name\"]>();\n form: InputSignal<DBButtonProps[\"form\"]> = input<DBButtonProps[\"form\"]>();\n value: InputSignal<DBButtonProps[\"value\"]> = input<DBButtonProps[\"value\"]>();\n text: InputSignal<DBButtonProps[\"text\"]> = input<DBButtonProps[\"text\"]>();\n click = output<\n Parameters<Required<DBButtonProps>[\"onClick\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n getButtonType() {\n if (this.type()) {\n return this.type();\n } else if (this.click) {\n return \"button\";\n }\n return \"submit\";\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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-button\");\n }\n }\n}\n","import { ClickEventProps, GlobalProps, GlobalState, IconLeadingProps, IconProps, IconTrailingProps, ShowIconLeadingProps, ShowIconProps, ShowIconTrailingProps, SizeProps, TextProps, WidthProps } from '../../shared/model';\nexport const ButtonVariantList = ['outlined', 'brand', 'filled', 'ghost'] as const;\nexport type ButtonVariantType = (typeof ButtonVariantList)[number];\nexport const ButtonTypeList = ['button', 'reset', 'submit'] as const;\nexport type ButtonTypeType = (typeof ButtonTypeList)[number];\nexport type DBButtonDefaultProps = {\n /**\n * The disabled attribute can be set to [keep a user from clicking on the button](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#disabled).\n */\n disabled?: boolean | string;\n\n /**\n * \tAssociates the control with a form element\n */\n form?: string;\n\n /**\n * The name attribute specifies a [name attributes value](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#name) for the button.\n */\n name?: string;\n\n /**\n * Define the text next to the icon specified via the icon Property to get hidden.\n */\n noText?: boolean | string;\n\n /**\n * The type attribute specifies the [type of button](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#type).\n */\n type?: ButtonTypeType;\n\n /**\n * The value attribute specifies an initial [value for the button](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#value).\n */\n value?: string;\n\n /**\n * Variant of the button. Use only 1 primary button on a page as CTA otherwise use one of the adaptive buttons.\n */\n variant?: ButtonVariantType | string;\n};\nexport type DBButtonProps = DBButtonDefaultProps & GlobalProps & ClickEventProps<HTMLButtonElement> & IconProps & WidthProps & SizeProps & ShowIconProps & TextProps & ShowIconLeadingProps & ShowIconTrailingProps & IconLeadingProps & IconTrailingProps;\nexport type DBButtonDefaultState = {\n getButtonType: () => ButtonTypeType;\n};\nexport type DBButtonState = DBButtonDefaultState & GlobalState","import {\n Component,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { ClickEvent } from \"../../shared/model\";\nimport { cls } from \"../../utils\";\nimport type { DBCardProps, DBCardState } from \"./model\";\n\n@Component({\n selector: \"db-card\",\n standalone: true,\n imports: [CommonModule],\n template: `<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 (click)=\"handleClick($event)\"\n >\n <ng-content></ng-content>\n </div> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBCard implements AfterViewInit {\n protected readonly cls = cls;\n\n id: InputSignal<DBCardProps[\"id\"]> = input<DBCardProps[\"id\"]>();\n className: InputSignal<DBCardProps[\"className\"]> =\n input<DBCardProps[\"className\"]>();\n behavior: InputSignal<DBCardProps[\"behavior\"]> =\n input<DBCardProps[\"behavior\"]>();\n elevationLevel: InputSignal<DBCardProps[\"elevationLevel\"]> =\n input<DBCardProps[\"elevationLevel\"]>();\n spacing: InputSignal<DBCardProps[\"spacing\"]> =\n 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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-card\");\n }\n }\n}\n","import { ClickEventProps, ClickEventState, GlobalProps, GlobalState, SpacingProps } from '../../shared/model';\nexport const CardBehaviorList = ['static', 'interactive'] as const;\nexport type CardBehaviorType = (typeof CardBehaviorList)[number];\nexport const CardElevationLevelList = ['1', '2', '3'] as const;\nexport type CardElevationLevelType = (typeof CardElevationLevelList)[number];\nexport type DBCardDefaultProps = {\n /**\n * Makes the card interactive\n */\n behavior?: CardBehaviorType;\n\n /**\n * Changes the elevation of the card which is equal to `basic-background-level`\n */\n elevationLevel?: CardElevationLevelType;\n};\nexport type DBCardProps = DBCardDefaultProps & GlobalProps & ClickEventProps<HTMLElement> & SpacingProps;\nexport type DBCardDefaultState = {};\nexport type DBCardState = DBCardDefaultState & GlobalState & ClickEventState<HTMLElement>","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { delay } from './index';\nexport const handleFrameworkEventAngular = (component: any, event: any, modelValue: string = 'value'): void => {\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};\nexport const addResetEventListener = (element: any, resetFunction: (event: Event) => void, signal: AbortSignal): void => {\n if (element.form && !element._dbFormResetListenerAdded) {\n (element.form as HTMLFormElement).addEventListener('reset', (event: Event) => {\n resetFunction(event);\n }, {\n signal\n });\n // Mark as added to avoid duplicate listeners\n element._dbFormResetListenerAdded = true;\n }\n};\nexport const addCheckedResetEventListener = (element: any, props: {\n checked?: boolean | string;\n defaultChecked?: boolean;\n}, resetFunction: (event: any) => void, signal: AbortSignal): void => {\n addResetEventListener(element, (event: any) => {\n void delay(() => {\n const resetValue = props.checked ? props.checked : props.defaultChecked ? props.defaultChecked : element.checked;\n const valueEvent: any = {\n ...event,\n target: {\n ...event.target,\n checked: resetValue\n }\n };\n resetFunction(valueEvent);\n }, 1);\n }, signal);\n};\nexport const addValueResetEventListener = (element: any, props: {\n value?: string;\n defaultValue?: string;\n}, resetFunction: (event: any) => void, signal: AbortSignal): void => {\n addResetEventListener(element, (event: any) => {\n void delay(() => {\n const resetValue = props.value ? props.value : props.defaultValue ? props.defaultValue : element.value;\n const valueEvent: any = {\n ...event,\n target: {\n ...event.target,\n value: resetValue\n }\n };\n resetFunction(valueEvent);\n }, 1);\n }, signal);\n}","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls, getBooleanAsString } from \"../../utils\";\nimport { DBInfotextProps, DBInfotextState } from \"./model\";\n\n@Component({\n selector: \"db-infotext\",\n standalone: true,\n imports: [CommonModule],\n template: `<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-show-icon-leading]=\"getBooleanAsString(showIcon() ?? true)\"\n >@if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\n }</span\n > `,\n styles: `:host { display: contents; }`,\n})\nexport class DBInfotext implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n id: InputSignal<DBInfotextProps[\"id\"]> = input<DBInfotextProps[\"id\"]>();\n className: InputSignal<DBInfotextProps[\"className\"]> =\n input<DBInfotextProps[\"className\"]>();\n icon: InputSignal<DBInfotextProps[\"icon\"]> = input<DBInfotextProps[\"icon\"]>();\n semantic: InputSignal<DBInfotextProps[\"semantic\"]> =\n input<DBInfotextProps[\"semantic\"]>();\n size: InputSignal<DBInfotextProps[\"size\"]> = input<DBInfotextProps[\"size\"]>();\n showIcon: InputSignal<DBInfotextProps[\"showIcon\"]> =\n input<DBInfotextProps[\"showIcon\"]>();\n text: InputSignal<DBInfotextProps[\"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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-infotext\");\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n model,\n output,\n input,\n effect,\n signal,\n OnDestroy,\n AfterViewInit,\n InputSignal,\n ModelSignal,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\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 cls,\n delay,\n getBoolean,\n getHideProp,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n addCheckedResetEventListener,\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBCheckboxProps, DBCheckboxState } from \"./model\";\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: `<div\n [class]=\"cls('db-checkbox', className())\"\n [attr.data-size]=\"size()\"\n [attr.data-hide-asterisk]=\"getHideProp(showRequiredAsterisk())\"\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 }</label\n >\n @if(stringPropVisible(message(), showMessage())){\n <db-infotext\n size=\"small\"\n [icon]=\"messageIcon()\"\n [id]=\"_messageId()\"\n >{{message()}}</db-infotext\n >\n } @if(hasValidState()){\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n [id]=\"_validMessageId()\"\n >{{validMessage() || DEFAULT_VALID_MESSAGE}}</db-infotext\n >\n }\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n [id]=\"_invalidMessageId()\"\n >{{_invalidMessage()}}</db-infotext\n >\n <span\n data-visually-hidden=\"true\"\n role=\"status\"\n >{{_voiceOverFallback()}}</span\n >\n </div> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBCheckbox implements AfterViewInit, ControlValueAccessor, OnDestroy {\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: InputSignal<DBCheckboxProps[\"id\"]> = input<DBCheckboxProps[\"id\"]>();\n invalidMessage: InputSignal<DBCheckboxProps[\"invalidMessage\"]> =\n input<DBCheckboxProps[\"invalidMessage\"]>();\n message: InputSignal<DBCheckboxProps[\"message\"]> =\n input<DBCheckboxProps[\"message\"]>();\n showMessage: InputSignal<DBCheckboxProps[\"showMessage\"]> =\n input<DBCheckboxProps[\"showMessage\"]>();\n indeterminate: InputSignal<DBCheckboxProps[\"indeterminate\"]> =\n input<DBCheckboxProps[\"indeterminate\"]>();\n checked: ModelSignal<DBCheckboxProps[\"checked\"]> =\n model<DBCheckboxProps[\"checked\"]>();\n validMessage: InputSignal<DBCheckboxProps[\"validMessage\"]> =\n input<DBCheckboxProps[\"validMessage\"]>();\n validation: InputSignal<DBCheckboxProps[\"validation\"]> =\n input<DBCheckboxProps[\"validation\"]>();\n required: InputSignal<DBCheckboxProps[\"required\"]> =\n input<DBCheckboxProps[\"required\"]>();\n className: InputSignal<DBCheckboxProps[\"className\"]> =\n input<DBCheckboxProps[\"className\"]>();\n size: InputSignal<DBCheckboxProps[\"size\"]> = input<DBCheckboxProps[\"size\"]>();\n showRequiredAsterisk: InputSignal<DBCheckboxProps[\"showRequiredAsterisk\"]> =\n input<DBCheckboxProps[\"showRequiredAsterisk\"]>();\n showLabel: InputSignal<DBCheckboxProps[\"showLabel\"]> =\n input<DBCheckboxProps[\"showLabel\"]>();\n name: InputSignal<DBCheckboxProps[\"name\"]> = input<DBCheckboxProps[\"name\"]>();\n disabled: ModelSignal<DBCheckboxProps[\"disabled\"]> =\n model<DBCheckboxProps[\"disabled\"]>();\n value: InputSignal<DBCheckboxProps[\"value\"]> =\n input<DBCheckboxProps[\"value\"]>();\n ariaDescribedBy: InputSignal<DBCheckboxProps[\"ariaDescribedBy\"]> =\n input<DBCheckboxProps[\"ariaDescribedBy\"]>();\n label: InputSignal<DBCheckboxProps[\"label\"]> =\n input<DBCheckboxProps[\"label\"]>();\n messageIcon: InputSignal<DBCheckboxProps[\"messageIcon\"]> =\n 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\"]>(undefined);\n _voiceOverFallback = signal<DBCheckboxState[\"_voiceOverFallback\"]>(\"\");\n abortController = signal<DBCheckboxState[\"abortController\"]>(undefined);\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(undefined);\n }\n }\n handleChange(event: ChangeEvent<HTMLInputElement>, reset?: boolean) {\n if (this.change) {\n // We need to split the if statements for generation\n if (reset) {\n this.change.emit(event);\n }\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 if (typeof window !== \"undefined\") {\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 this.handleValidation();\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 effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n // ---\n\n if (this._ref()?.nativeElement) {\n const defaultChecked = undefined;\n let controller = this.abortController();\n if (!controller) {\n controller = new AbortController();\n this.abortController.set(controller);\n }\n addCheckedResetEventListener(\n this._ref()?.nativeElement,\n {\n checked: this.checked(),\n defaultChecked,\n },\n (event) => {\n this.handleChange(event, true);\n },\n controller.signal\n );\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \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\tngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-checkbox\");\n this.initialized.set(true);\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(\n this.invalidMessage() || DEFAULT_INVALID_MESSAGE\n );\n }\n }\n\n ngOnDestroy() {\n this.abortController()?.abort();\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 { 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}","// 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};\nexport const 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.dataset['correctedPlacement'] = correctedPlacement;\n}","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = { width: \"fixed\" };\n\nimport { cls } from \"../../utils\";\nimport { DBCustomSelectDropdownProps } from \"./model\";\n\n@Component({\n selector: \"db-custom-select-dropdown\",\n standalone: true,\n imports: [CommonModule],\n template: `<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 styles: `:host { display: contents; }`,\n})\nexport class DBCustomSelectDropdown implements AfterViewInit {\n protected readonly cls = cls;\n\n id: InputSignal<DBCustomSelectDropdownProps[\"id\"]> =\n input<DBCustomSelectDropdownProps[\"id\"]>();\n className: InputSignal<DBCustomSelectDropdownProps[\"className\"]> =\n input<DBCustomSelectDropdownProps[\"className\"]>();\n width: InputSignal<DBCustomSelectDropdownProps[\"width\"]> = input<\n DBCustomSelectDropdownProps[\"width\"]\n >(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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-custom-select-dropdown\");\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n model,\n output,\n input,\n effect,\n signal,\n AfterViewInit,\n InputSignal,\n ModelSignal,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { ChangeEvent } from \"../../shared/model\";\nimport { cls, getBoolean, getBooleanAsString, uuid } from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport {\n DBCustomSelectListItemProps,\n DBCustomSelectListItemState,\n} from \"./model\";\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: `<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-show-icon]=\"getBooleanAsString(showIcon())\"\n [attr.data-icon-trailing]=\"getIconTrailing()\"\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 }</label\n >\n }@else{\n <span>{{groupTitle()}}</span>\n }\n </li> `,\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 getBoolean = getBoolean;\n\n id: InputSignal<DBCustomSelectListItemProps[\"id\"]> =\n input<DBCustomSelectListItemProps[\"id\"]>();\n isGroupTitle: InputSignal<DBCustomSelectListItemProps[\"isGroupTitle\"]> =\n input<DBCustomSelectListItemProps[\"isGroupTitle\"]>();\n showDivider: InputSignal<DBCustomSelectListItemProps[\"showDivider\"]> =\n input<DBCustomSelectListItemProps[\"showDivider\"]>();\n type: InputSignal<DBCustomSelectListItemProps[\"type\"]> =\n input<DBCustomSelectListItemProps[\"type\"]>();\n checked: ModelSignal<DBCustomSelectListItemProps[\"checked\"]> =\n model<DBCustomSelectListItemProps[\"checked\"]>();\n className: InputSignal<DBCustomSelectListItemProps[\"className\"]> =\n input<DBCustomSelectListItemProps[\"className\"]>();\n groupTitle: InputSignal<DBCustomSelectListItemProps[\"groupTitle\"]> =\n input<DBCustomSelectListItemProps[\"groupTitle\"]>();\n icon: InputSignal<DBCustomSelectListItemProps[\"icon\"]> =\n input<DBCustomSelectListItemProps[\"icon\"]>();\n showIcon: InputSignal<DBCustomSelectListItemProps[\"showIcon\"]> =\n input<DBCustomSelectListItemProps[\"showIcon\"]>();\n name: InputSignal<DBCustomSelectListItemProps[\"name\"]> =\n input<DBCustomSelectListItemProps[\"name\"]>();\n disabled: ModelSignal<DBCustomSelectListItemProps[\"disabled\"]> =\n model<DBCustomSelectListItemProps[\"disabled\"]>();\n value: InputSignal<DBCustomSelectListItemProps[\"value\"]> =\n input<DBCustomSelectListItemProps[\"value\"]>();\n label: InputSignal<DBCustomSelectListItemProps[\"label\"]> =\n 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 getIconTrailing() {\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 if (typeof window !== \"undefined\") {\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(\n Boolean(this.isGroupTitle() || this.showDivider())\n );\n },\n {\n // Enable writing to signals inside effects\n }\n );\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \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\tngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-custom-select-list-item\");\n this._id.set(this.id() ?? `custom-select-list-item-${uuid()}`);\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls } from \"../../utils\";\nimport { DBCustomSelectListProps } from \"./model\";\n\n@Component({\n selector: \"db-custom-select-list\",\n standalone: true,\n imports: [CommonModule],\n template: `<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 styles: `:host { display: contents; }`,\n})\nexport class DBCustomSelectList implements AfterViewInit {\n protected readonly cls = cls;\n\n multiple: InputSignal<DBCustomSelectListProps[\"multiple\"]> =\n input<DBCustomSelectListProps[\"multiple\"]>();\n label: InputSignal<DBCustomSelectListProps[\"label\"]> =\n input<DBCustomSelectListProps[\"label\"]>();\n id: InputSignal<DBCustomSelectListProps[\"id\"]> =\n input<DBCustomSelectListProps[\"id\"]>();\n className: InputSignal<DBCustomSelectListProps[\"className\"]> =\n 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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-custom-select-list\");\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n model,\n output,\n input,\n effect,\n signal,\n OnDestroy,\n AfterViewInit,\n InputSignal,\n ModelSignal,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\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 {\n cls,\n delay,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n getInputValue,\n getNumber,\n hasVoiceOver,\n isArrayOfStrings,\n isIOSSafari,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n addValueResetEventListener,\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBInputProps, DBInputState } from \"./model\";\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: `<div\n [class]=\"cls('db-input', className())\"\n [attr.data-variant]=\"variant()\"\n [attr.data-hide-label]=\"getHideProp(showLabel())\"\n [attr.data-show-icon]=\"getBooleanAsString(showIconLeading() ?? showIcon())\"\n [attr.data-icon]=\"iconLeading() ?? icon()\"\n [attr.data-icon-trailing]=\"iconTrailing()\"\n [attr.data-hide-asterisk]=\"getHideProp(showRequiredAsterisk())\"\n [attr.data-show-icon-trailing]=\"getBooleanAsString(showIconTrailing())\"\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.multiple]=\"getBoolean(multiple(), 'multiple')\"\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 [attr.enterKeyHint]=\"enterkeyhint()\"\n [attr.inputMode]=\"inputmode()\"\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 [attr.role]=\"['datetime-local', 'date', 'time', 'week', 'month', 'color'].includes(type() ?? '') && isIOSSafari() ? 'textbox' : undefined\"\n />\n @if(dataList()){\n <datalist [attr.id]=\"_dataListId()\">\n @for (option of getDataList();track trackByOption0(i, option);let i =\n $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\n [size]=\"messageSize() || 'small'\"\n [icon]=\"messageIcon()\"\n [id]=\"_messageId()\"\n >{{message()}}</db-infotext\n >\n } @if(hasValidState()){\n <db-infotext\n semantic=\"successful\"\n [id]=\"_validMessageId()\"\n [size]=\"validMessageSize() || 'small'\"\n >{{validMessage() || DEFAULT_VALID_MESSAGE}}</db-infotext\n >\n }\n <db-infotext\n semantic=\"critical\"\n [id]=\"_invalidMessageId()\"\n [size]=\"invalidMessageSize() || 'small'\"\n >{{_invalidMessage()}}</db-infotext\n >\n <span\n data-visually-hidden=\"true\"\n role=\"status\"\n >{{_voiceOverFallback()}}</span\n >\n </div> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBInput implements AfterViewInit, ControlValueAccessor, OnDestroy {\n protected readonly cls = cls;\n protected readonly getHideProp = getHideProp;\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly DEFAULT_LABEL = DEFAULT_LABEL;\n protected readonly getBoolean = getBoolean;\n protected readonly DEFAULT_PLACEHOLDER = DEFAULT_PLACEHOLDER;\n protected readonly getNumber = getNumber;\n protected readonly getInputValue = getInputValue;\n protected readonly isIOSSafari = isIOSSafari;\n protected readonly stringPropVisible = stringPropVisible;\n protected readonly DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;\n\n id: InputSignal<DBInputProps[\"id\"]> = input<DBInputProps[\"id\"]>();\n invalidMessage: InputSignal<DBInputProps[\"invalidMessage\"]> =\n input<DBInputProps[\"invalidMessage\"]>();\n dataListId: InputSignal<DBInputProps[\"dataListId\"]> =\n input<DBInputProps[\"dataListId\"]>();\n message: InputSignal<DBInputProps[\"message\"]> =\n input<DBInputProps[\"message\"]>();\n showMessage: InputSignal<DBInputProps[\"showMessage\"]> =\n input<DBInputProps[\"showMessage\"]>();\n value: ModelSignal<DBInputProps[\"value\"]> = model<DBInputProps[\"value\"]>();\n validMessage: InputSignal<DBInputProps[\"validMessage\"]> =\n input<DBInputProps[\"validMessage\"]>();\n validation: InputSignal<DBInputProps[\"validation\"]> =\n input<DBInputProps[\"validation\"]>();\n required: InputSignal<DBInputProps[\"required\"]> =\n input<DBInputProps[\"required\"]>();\n minLength: InputSignal<DBInputProps[\"minLength\"]> =\n input<DBInputProps[\"minLength\"]>();\n maxLength: InputSignal<DBInputProps[\"maxLength\"]> =\n input<DBInputProps[\"maxLength\"]>();\n pattern: InputSignal<DBInputProps[\"pattern\"]> =\n input<DBInputProps[\"pattern\"]>();\n dataList: InputSignal<DBInputProps[\"dataList\"]> =\n input<DBInputProps[\"dataList\"]>();\n className: InputSignal<DBInputProps[\"className\"]> =\n input<DBInputProps[\"className\"]>();\n variant: InputSignal<DBInputProps[\"variant\"]> =\n input<DBInputProps[\"variant\"]>();\n showLabel: InputSignal<DBInputProps[\"showLabel\"]> =\n input<DBInputProps[\"showLabel\"]>();\n showIconLeading: InputSignal<DBInputProps[\"showIconLeading\"]> =\n input<DBInputProps[\"showIconLeading\"]>();\n showIcon: InputSignal<DBInputProps[\"showIcon\"]> =\n input<DBInputProps[\"showIcon\"]>();\n iconLeading: InputSignal<DBInputProps[\"iconLeading\"]> =\n input<DBInputProps[\"iconLeading\"]>();\n icon: InputSignal<DBInputProps[\"icon\"]> = input<DBInputProps[\"icon\"]>();\n iconTrailing: InputSignal<DBInputProps[\"iconTrailing\"]> =\n input<DBInputProps[\"iconTrailing\"]>();\n showRequiredAsterisk: InputSignal<DBInputProps[\"showRequiredAsterisk\"]> =\n input<DBInputProps[\"showRequiredAsterisk\"]>();\n showIconTrailing: InputSignal<DBInputProps[\"showIconTrailing\"]> =\n input<DBInputProps[\"showIconTrailing\"]>();\n label: InputSignal<DBInputProps[\"label\"]> = input<DBInputProps[\"label\"]>();\n fieldSizing: InputSignal<DBInputProps[\"fieldSizing\"]> =\n input<DBInputProps[\"fieldSizing\"]>();\n name: InputSignal<DBInputProps[\"name\"]> = input<DBInputProps[\"name\"]>();\n type: InputSignal<DBInputProps[\"type\"]> = input<DBInputProps[\"type\"]>();\n multiple: InputSignal<DBInputProps[\"multiple\"]> =\n input<DBInputProps[\"multiple\"]>();\n placeholder: InputSignal<DBInputProps[\"placeholder\"]> =\n input<DBInputProps[\"placeholder\"]>();\n disabled: ModelSignal<DBInputProps[\"disabled\"]> =\n model<DBInputProps[\"disabled\"]>();\n step: InputSignal<DBInputProps[\"step\"]> = input<DBInputProps[\"step\"]>();\n maxlength: InputSignal<DBInputProps[\"maxlength\"]> =\n input<DBInputProps[\"maxlength\"]>();\n minlength: InputSignal<DBInputProps[\"minlength\"]> =\n input<DBInputProps[\"minlength\"]>();\n max: InputSignal<DBInputProps[\"max\"]> = input<DBInputProps[\"max\"]>();\n min: InputSignal<DBInputProps[\"min\"]> = input<DBInputProps[\"min\"]>();\n readOnly: InputSignal<DBInputProps[\"readOnly\"]> =\n input<DBInputProps[\"readOnly\"]>();\n readonly: InputSignal<DBInputProps[\"readonly\"]> =\n input<DBInputProps[\"readonly\"]>();\n form: InputSignal<DBInputProps[\"form\"]> = input<DBInputProps[\"form\"]>();\n size: InputSignal<DBInputProps[\"size\"]> = input<DBInputProps[\"size\"]>();\n autocomplete: InputSignal<DBInputProps[\"autocomplete\"]> =\n input<DBInputProps[\"autocomplete\"]>();\n autofocus: InputSignal<DBInputProps[\"autofocus\"]> =\n input<DBInputProps[\"autofocus\"]>();\n enterkeyhint: InputSignal<DBInputProps[\"enterkeyhint\"]> =\n input<DBInputProps[\"enterkeyhint\"]>();\n inputmode: InputSignal<DBInputProps[\"inputmode\"]> =\n input<DBInputProps[\"inputmode\"]>();\n ariaDescribedBy: InputSignal<DBInputProps[\"ariaDescribedBy\"]> =\n input<DBInputProps[\"ariaDescribedBy\"]>();\n messageSize: InputSignal<DBInputProps[\"messageSize\"]> =\n input<DBInputProps[\"messageSize\"]>();\n messageIcon: InputSignal<DBInputProps[\"messageIcon\"]> =\n input<DBInputProps[\"messageIcon\"]>();\n validMessageSize: InputSignal<DBInputProps[\"validMessageSize\"]> =\n input<DBInputProps[\"validMessageSize\"]>();\n invalidMessageSize: InputSignal<DBInputProps[\"invalidMessageSize\"]> =\n input<DBInputProps[\"invalidMessageSize\"]>();\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\"]>(undefined);\n _value = signal<DBInputState[\"_value\"]>(undefined);\n _voiceOverFallback = signal<DBInputState[\"_voiceOverFallback\"]>(\"\");\n abortController = signal<DBInputState[\"abortController\"]>(undefined);\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(undefined);\n }\n }\n handleInput(event: InputEvent<HTMLInputElement>, reset?: boolean) {\n if (this.input) {\n if (reset) {\n this.input.emit(event);\n }\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLInputElement>, reset?: boolean) {\n if (this.change) {\n // We need to split the if statements for generation\n if (reset) {\n this.change.emit(event);\n }\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 if (typeof window !== \"undefined\") {\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 this.handleValidation();\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 effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n // ---\n\n if (this._ref()?.nativeElement) {\n const defaultValue = undefined;\n let controller = this.abortController();\n if (!controller) {\n controller = new AbortController();\n this.abortController.set(controller);\n }\n addValueResetEventListener(\n this._ref()?.nativeElement,\n {\n value: this.value(),\n defaultValue,\n },\n (event) => {\n this.handleChange(event, true);\n this.handleInput(event, true);\n },\n controller.signal\n );\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \n\t\twriteValue(value: any) {\nif (!value && 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\tngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-input\");\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(\n this.invalidMessage() || DEFAULT_INVALID_MESSAGE\n );\n }\n }\n\n ngOnDestroy() {\n this.abortController()?.abort();\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_ID } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\nimport {\n cls,\n getBooleanAsString,\n delay as utilsDelay,\n uuid,\n} from \"../../utils\";\nimport { DocumentScrollListener } from \"../../utils/document-scroll-listener\";\nimport { handleFixedPopover } from \"../../utils/floating-components\";\nimport { DBTooltipProps, DBTooltipState } from \"./model\";\n\n@Component({\n selector: \"db-tooltip\",\n standalone: true,\n imports: [CommonModule],\n template: `<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 ><ng-content></ng-content\n ></i> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBTooltip implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n id: InputSignal<DBTooltipProps[\"id\"]> = input<DBTooltipProps[\"id\"]>();\n variant: InputSignal<DBTooltipProps[\"variant\"]> =\n input<DBTooltipProps[\"variant\"]>();\n placement: InputSignal<DBTooltipProps[\"placement\"]> =\n input<DBTooltipProps[\"placement\"]>();\n className: InputSignal<DBTooltipProps[\"className\"]> =\n input<DBTooltipProps[\"className\"]>();\n emphasis: InputSignal<DBTooltipProps[\"emphasis\"]> =\n input<DBTooltipProps[\"emphasis\"]>();\n animation: InputSignal<DBTooltipProps[\"animation\"]> =\n input<DBTooltipProps[\"animation\"]>();\n delay: InputSignal<DBTooltipProps[\"delay\"]> =\n input<DBTooltipProps[\"delay\"]>();\n width: InputSignal<DBTooltipProps[\"width\"]> =\n input<DBTooltipProps[\"width\"]>();\n showArrow: InputSignal<DBTooltipProps[\"showArrow\"]> =\n 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 // Due to race conditions we need to check for _ref again\n if (this._ref()?.nativeElement) {\n handleFixedPopover(\n this._ref()?.nativeElement,\n parent,\n (this.placement() as unknown as string) ?? \"bottom\"\n );\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 if (typeof window !== \"undefined\") {\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.dataset[\"hasTooltip\"] = \"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 /**\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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tooltip\");\n this._id.set(this.id() || \"tooltip-\" + uuid());\n this.initialized.set(true);\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_REMOVE } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { cls, getBooleanAsString } from \"../../utils\";\nimport { DBTooltip } from \"../tooltip/tooltip\";\nimport { DBTagProps, DBTagState } from \"./model\";\n\n@Component({\n selector: \"db-tag\",\n standalone: true,\n imports: [CommonModule, DBTooltip],\n template: `<div\n #_ref\n [attr.id]=\"id()\"\n [class]=\"cls('db-tag', className())\"\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-show-icon]=\"getBooleanAsString(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 styles: `:host { display: contents; }`,\n})\nexport class DBTag implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n removeButton: InputSignal<DBTagProps[\"removeButton\"]> =\n input<DBTagProps[\"removeButton\"]>();\n id: InputSignal<DBTagProps[\"id\"]> = input<DBTagProps[\"id\"]>();\n className: InputSignal<DBTagProps[\"className\"]> =\n input<DBTagProps[\"className\"]>();\n semantic: InputSignal<DBTagProps[\"semantic\"]> =\n input<DBTagProps[\"semantic\"]>();\n emphasis: InputSignal<DBTagProps[\"emphasis\"]> =\n input<DBTagProps[\"emphasis\"]>();\n icon: InputSignal<DBTagProps[\"icon\"]> = input<DBTagProps[\"icon\"]>();\n showCheckState: InputSignal<DBTagProps[\"showCheckState\"]> =\n input<DBTagProps[\"showCheckState\"]>();\n showIcon: InputSignal<DBTagProps[\"showIcon\"]> =\n input<DBTagProps[\"showIcon\"]>();\n noText: InputSignal<DBTagProps[\"noText\"]> = input<DBTagProps[\"noText\"]>();\n overflow: InputSignal<DBTagProps[\"overflow\"]> =\n input<DBTagProps[\"overflow\"]>();\n text: InputSignal<DBTagProps[\"text\"]> = input<DBTagProps[\"text\"]>();\n behavior: InputSignal<DBTagProps[\"behavior\"]> =\n input<DBTagProps[\"behavior\"]>();\n remove = output<\n Parameters<Required<DBTagProps>[\"onRemove\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n handleRemove(event?: ClickEvent<HTMLButtonElement> | void) {\n if (!event) return;\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\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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tag\");\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n model,\n output,\n input,\n effect,\n signal,\n OnDestroy,\n AfterViewInit,\n InputSignal,\n ModelSignal,\nRenderer2 } 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 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 {\n ClickEvent,\n GeneralEvent,\n InputEvent,\n InteractionEvent,\n} from \"../../shared/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 { DocumentClickListener } from \"../../utils/document-click-listener\";\nimport { DocumentScrollListener } from \"../../utils/document-scroll-listener\";\nimport { handleFixedDropdown } from \"../../utils/floating-components\";\nimport {\n addResetEventListener,\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBButton } from \"../button/button\";\nimport { DBCustomSelectDropdown } from \"../custom-select-dropdown/custom-select-dropdown\";\nimport { DBCustomSelectListItem } from \"../custom-select-list-item/custom-select-list-item\";\nimport { DBCustomSelectList } from \"../custom-select-list/custom-select-list\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBInput } from \"../input/input\";\nimport { DBTag } from \"../tag/tag\";\nimport { DBTooltip } from \"../tooltip/tooltip\";\nimport {\n CustomSelectOptionType,\n DBCustomSelectProps,\n DBCustomSelectState,\n} from \"./model\";\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: `<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-hide-asterisk]=\"getHideProp(showRequiredAsterisk())\"\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-show-icon]=\"getBooleanAsString(showIcon())\"\n >\n <label [attr.id]=\"_labelId()\"\n >{{label() ?? DEFAULT_LABEL}}\n <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 [multiple]=\"getBoolean(multiple(), 'multiple')\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [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></label\n >\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 >@if(selectedPrefix()){\n <span data-visually-hidden=\"true\">{{selectedPrefix()}}</span>\n } {{_selectedLabels()}}</span\n >\n } @if(selectedType() === 'tag'){\n <div>\n @for (option of _selectedOptions();track trackByOption1(index,\n option);let index = $index) {\n <db-tag\n emphasis=\"strong\"\n behavior=\"removable\"\n [removeButton]=\"getTagRemoveLabel(option)\"\n (remove)=\"handleTagRemove(option, $event)\"\n >{{getOptionLabel(option)}}</db-tag\n >\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]=\"showLoading() ? 'circular_arrows' : undefined\"\n [semantic]=\"showLoading() ? 'informational' : 'warning'\"\n >{{(showLoading() ? loadingText() : noResultsText()) ??\n DEFAULT_MESSAGE}}</db-infotext\n >\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()}}</label\n >\n </div>\n </div>\n }\n <db-custom-select-list\n [multiple]=\"getBoolean(multiple(), 'multiple')\"\n [label]=\"listLabel() ?? label() ?? DEFAULT_LABEL\"\n >\n @for (option of _options();track trackByOption2(i, option);let i =\n $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 >@if(!option.isGroupTitle){\n {{getOptionLabel(option)}} }</db-custom-select-list-item\n >\n }\n </db-custom-select-list></ng-container\n >\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(undefined, true)\"\n >{{mobileCloseButtonText() ?? DEFAULT_CLOSE_BUTTON}}</db-button\n >\n </div></db-custom-select-dropdown\n >\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 >{{clearSelectionText()}}\n <db-tooltip\n placement=\"top\"\n >{{clearSelectionText()}}</db-tooltip\n ></db-button\n >\n }\n <span\n class=\"db-custom-select-placeholder\"\n [attr.aria-hidden]=\"getBooleanAsString(true)\"\n [attr.id]=\"_placeholderId()\"\n >{{placeholder() ?? label()}}</span\n >\n @if(stringPropVisible(message(), showMessage())){\n <db-infotext\n size=\"small\"\n [icon]=\"messageIcon()\"\n [id]=\"_messageId()\"\n >{{message()}}</db-infotext\n >\n } @if(hasValidState()){\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n [id]=\"_validMessageId()\"\n >{{validMessage() || DEFAULT_VALID_MESSAGE}}</db-infotext\n >\n }\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n [id]=\"_invalidMessageId()\"\n >{{_invalidMessage()}}</db-infotext\n >\n <span\n data-visually-hidden=\"true\"\n role=\"status\"\n >{{_voiceOverFallback()}}</span\n >\n </div> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBCustomSelect implements AfterViewInit, ControlValueAccessor, OnDestroy {\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: InputSignal<DBCustomSelectProps[\"id\"]> =\n input<DBCustomSelectProps[\"id\"]>();\n invalidMessage: InputSignal<DBCustomSelectProps[\"invalidMessage\"]> =\n input<DBCustomSelectProps[\"invalidMessage\"]>();\n message: InputSignal<DBCustomSelectProps[\"message\"]> =\n input<DBCustomSelectProps[\"message\"]>();\n showMessage: InputSignal<DBCustomSelectProps[\"showMessage\"]> =\n input<DBCustomSelectProps[\"showMessage\"]>();\n ariaDescribedBy: InputSignal<DBCustomSelectProps[\"ariaDescribedBy\"]> =\n input<DBCustomSelectProps[\"ariaDescribedBy\"]>();\n showNoResults: InputSignal<DBCustomSelectProps[\"showNoResults\"]> =\n input<DBCustomSelectProps[\"showNoResults\"]>();\n showLoading: InputSignal<DBCustomSelectProps[\"showLoading\"]> =\n input<DBCustomSelectProps[\"showLoading\"]>();\n multiple: InputSignal<DBCustomSelectProps[\"multiple\"]> =\n input<DBCustomSelectProps[\"multiple\"]>();\n showSelectAll: InputSignal<DBCustomSelectProps[\"showSelectAll\"]> =\n input<DBCustomSelectProps[\"showSelectAll\"]>();\n showSearch: InputSignal<DBCustomSelectProps[\"showSearch\"]> =\n input<DBCustomSelectProps[\"showSearch\"]>();\n values: ModelSignal<DBCustomSelectProps[\"values\"]> =\n model<DBCustomSelectProps[\"values\"]>();\n validation: InputSignal<DBCustomSelectProps[\"validation\"]> =\n input<DBCustomSelectProps[\"validation\"]>();\n options: InputSignal<DBCustomSelectProps[\"options\"]> =\n input<DBCustomSelectProps[\"options\"]>();\n searchValue: InputSignal<DBCustomSelectProps[\"searchValue\"]> =\n input<DBCustomSelectProps[\"searchValue\"]>();\n selectedLabels: InputSignal<DBCustomSelectProps[\"selectedLabels\"]> =\n input<DBCustomSelectProps[\"selectedLabels\"]>();\n transformSelectedLabels: InputSignal<\n DBCustomSelectProps[\"transformSelectedLabels\"]\n > = input<DBCustomSelectProps[\"transformSelectedLabels\"]>();\n selectedType: InputSignal<DBCustomSelectProps[\"selectedType\"]> =\n input<DBCustomSelectProps[\"selectedType\"]>();\n amountText: InputSignal<DBCustomSelectProps[\"amountText\"]> =\n input<DBCustomSelectProps[\"amountText\"]>();\n validMessage: InputSignal<DBCustomSelectProps[\"validMessage\"]> =\n input<DBCustomSelectProps[\"validMessage\"]>();\n required: InputSignal<DBCustomSelectProps[\"required\"]> =\n input<DBCustomSelectProps[\"required\"]>();\n selectAllLabel: InputSignal<DBCustomSelectProps[\"selectAllLabel\"]> =\n input<DBCustomSelectProps[\"selectAllLabel\"]>();\n removeTagsTexts: InputSignal<DBCustomSelectProps[\"removeTagsTexts\"]> =\n input<DBCustomSelectProps[\"removeTagsTexts\"]>();\n placement: InputSignal<DBCustomSelectProps[\"placement\"]> =\n input<DBCustomSelectProps[\"placement\"]>();\n searchFilter: InputSignal<DBCustomSelectProps[\"searchFilter\"]> =\n input<DBCustomSelectProps[\"searchFilter\"]>();\n className: InputSignal<DBCustomSelectProps[\"className\"]> =\n input<DBCustomSelectProps[\"className\"]>();\n formFieldWidth: InputSignal<DBCustomSelectProps[\"formFieldWidth\"]> =\n input<DBCustomSelectProps[\"formFieldWidth\"]>();\n variant: InputSignal<DBCustomSelectProps[\"variant\"]> =\n input<DBCustomSelectProps[\"variant\"]>();\n showRequiredAsterisk: InputSignal<\n DBCustomSelectProps[\"showRequiredAsterisk\"]\n > = input<DBCustomSelectProps[\"showRequiredAsterisk\"]>();\n showLabel: InputSignal<DBCustomSelectProps[\"showLabel\"]> =\n input<DBCustomSelectProps[\"showLabel\"]>();\n icon: InputSignal<DBCustomSelectProps[\"icon\"]> =\n input<DBCustomSelectProps[\"icon\"]>();\n showIcon: InputSignal<DBCustomSelectProps[\"showIcon\"]> =\n input<DBCustomSelectProps[\"showIcon\"]>();\n label: InputSignal<DBCustomSelectProps[\"label\"]> =\n input<DBCustomSelectProps[\"label\"]>();\n form: InputSignal<DBCustomSelectProps[\"form\"]> =\n input<DBCustomSelectProps[\"form\"]>();\n name: InputSignal<DBCustomSelectProps[\"name\"]> =\n input<DBCustomSelectProps[\"name\"]>();\n disabled: ModelSignal<DBCustomSelectProps[\"disabled\"]> =\n model<DBCustomSelectProps[\"disabled\"]>();\n open: InputSignal<DBCustomSelectProps[\"open\"]> =\n input<DBCustomSelectProps[\"open\"]>();\n selectedPrefix: InputSignal<DBCustomSelectProps[\"selectedPrefix\"]> =\n input<DBCustomSelectProps[\"selectedPrefix\"]>();\n dropdownWidth: InputSignal<DBCustomSelectProps[\"dropdownWidth\"]> =\n input<DBCustomSelectProps[\"dropdownWidth\"]>();\n searchLabel: InputSignal<DBCustomSelectProps[\"searchLabel\"]> =\n input<DBCustomSelectProps[\"searchLabel\"]>();\n searchPlaceholder: InputSignal<DBCustomSelectProps[\"searchPlaceholder\"]> =\n input<DBCustomSelectProps[\"searchPlaceholder\"]>();\n listLabel: InputSignal<DBCustomSelectProps[\"listLabel\"]> =\n input<DBCustomSelectProps[\"listLabel\"]>();\n loadingText: InputSignal<DBCustomSelectProps[\"loadingText\"]> =\n input<DBCustomSelectProps[\"loadingText\"]>();\n noResultsText: InputSignal<DBCustomSelectProps[\"noResultsText\"]> =\n input<DBCustomSelectProps[\"noResultsText\"]>();\n mobileCloseButtonText: InputSignal<\n DBCustomSelectProps[\"mobileCloseButtonText\"]\n > = input<DBCustomSelectProps[\"mobileCloseButtonText\"]>();\n showClearSelection: InputSignal<DBCustomSelectProps[\"showClearSelection\"]> =\n input<DBCustomSelectProps[\"showClearSelection\"]>(\n defaultProps[\"showClearSelection\"]\n );\n clearSelectionText: InputSignal<DBCustomSelectProps[\"clearSelectionText\"]> =\n input<DBCustomSelectProps[\"clearSelectionText\"]>(\n defaultProps[\"clearSelectionText\"]\n );\n placeholder: InputSignal<DBCustomSelectProps[\"placeholder\"]> =\n input<DBCustomSelectProps[\"placeholder\"]>();\n messageIcon: InputSignal<DBCustomSelectProps[\"messageIcon\"]> =\n 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 _userInteraction = signal<DBCustomSelectState[\"_userInteraction\"]>(false);\n abortController = signal<DBCustomSelectState[\"abortController\"]>(undefined);\n _descByIds = signal<DBCustomSelectState[\"_descByIds\"]>(undefined);\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.setDescById(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 if (this._userInteraction()) {\n this._validity.set(this.validation() ?? \"invalid\");\n }\n } else if (\n this.hasValidState() &&\n this.selectRef()?.nativeElement?.validity.valid &&\n this.required()\n ) {\n this.setDescById(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.setDescById(this._messageId());\n this._validity.set(this.validation() ?? \"no-validation\");\n } else {\n this.setDescById(this._placeholderId());\n this._validity.set(this.validation() ?? \"no-validation\");\n }\n }\n handleDropdownToggle(event: GeneralEvent<HTMLDetailsElement>) {\n if (this.dropdownToggle) {\n event.stopPropagation();\n this.dropdownToggle.emit(event);\n }\n if (event.target instanceof HTMLDetailsElement && 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(option: CustomSelectOptionType) {\n const removeTexts = this.removeTagsTexts();\n const options = this.options();\n if (removeTexts && options) {\n // Find the index of the option in the original options array\n const optionIndex = options.findIndex(\n (opt) => opt.value === option.value\n );\n if (optionIndex >= 0 && optionIndex < removeTexts.length) {\n return removeTexts[optionIndex];\n }\n }\n // Fallback to default behavior\n return `${DEFAULT_REMOVE} ${this.getOptionLabel(option)}`;\n }\n handleTagRemove(\n option: CustomSelectOptionType,\n event?: ClickEvent<HTMLButtonElement> | void\n ) {\n if (event) {\n event.stopPropagation();\n }\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 // Find next element with input, skipping group titles\n let nextElement = listElement?.nextElementSibling;\n while (nextElement) {\n const nextInput = nextElement.querySelector(\"input\");\n if (nextInput) {\n nextInput.focus();\n break;\n }\n nextElement = nextElement.nextElementSibling;\n }\n if (!nextElement) {\n // We are on the last checkbox we move to the top checkbox\n this.handleFocusFirstDropdownCheckbox(activeElement);\n }\n } else {\n // Find previous element with input, skipping group titles\n let prevElement = listElement?.previousElementSibling;\n while (prevElement) {\n const prevInput = prevElement.querySelector(\"input\");\n if (prevInput) {\n prevInput.focus();\n break;\n }\n prevElement = prevElement.previousElementSibling;\n }\n if (!prevElement) {\n // Check if we have a \"select all\" checkbox (only relevant for multi-select)\n const selectAllCheckbox =\n this.detailsRef()?.nativeElement.querySelector(\n `input[type=\"checkbox\"]`\n );\n if (selectAllCheckbox && selectAllCheckbox !== activeElement) {\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(\n this.detailsRef()?.nativeElement\n );\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 }\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(undefined, true);\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(undefined, true);\n this.handleSummaryFocus();\n } else if (\n event.key === \"Enter\" &&\n this.detailsRef()?.nativeElement?.open\n ) {\n // Handle Enter key to select option like Space key\n if (self.document) {\n const activeElement = self.document.activeElement as HTMLInputElement;\n if (\n [\"checkbox\", \"radio\"].includes(\n activeElement.getAttribute(\"type\") || \"\"\n )\n ) {\n // Trigger click to simulate Space key behavior\n activeElement.click();\n event.preventDefault();\n }\n }\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(\n event?: InteractionEvent<HTMLDetailsElement> | void,\n forceClose?: boolean\n ) {\n if (this.detailsRef()?.nativeElement) {\n if (forceClose) {\n this.detailsRef()!.nativeElement.open = false;\n this.handleSummaryFocus();\n } else if (this.detailsRef()?.nativeElement.open && event) {\n if (event.relatedTarget) {\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 }\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 this._userInteraction.set(true);\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(undefined, true);\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(valueOrEvent?: InputEvent<HTMLInputElement> | string | void) {\n if (valueOrEvent === undefined) {\n return;\n }\n let filterText;\n if (typeof valueOrEvent === \"string\") {\n filterText = valueOrEvent;\n } else {\n const event = valueOrEvent as InputEvent<HTMLInputElement>;\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 if (typeof window !== \"undefined\") {\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: InteractionEvent<HTMLDetailsElement>) =>\n 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.showLoading();\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 const v = this.values();\n if (Array.isArray(v)) {\n if (this._values() !== v) {\n this._values.set(v);\n }\n } else if (v == null && this._values()?.length !== 0) {\n this._values.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._values();\n this.selectRef();\n // ---\n\n if (this.selectRef()?.nativeElement) {\n this.handleValidation();\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 // ---\n\n if (this.selectRef()?.nativeElement) {\n let controller = this.abortController();\n if (!controller) {\n controller = new AbortController();\n this.abortController.set(controller);\n }\n const initialValues = this.values();\n addResetEventListener(\n this.selectRef()?.nativeElement,\n () => {\n const resetValue = initialValues\n ? initialValues\n : this.selectRef()?.nativeElement.value\n ? [this.selectRef()?.nativeElement.value]\n : [];\n this.handleOptionSelected(resetValue);\n this.handleValidation();\n },\n controller.signal\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.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 /**\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\tngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-custom-select\");\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(\n this.invalidMessage() || DEFAULT_INVALID_MESSAGE\n );\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\n ngOnDestroy() {\n this.abortController()?.abort();\n }\n}\n","import { GlobalProps, GlobalState } from '../../shared/model';\nexport const CustomSelectDropdownWidthList = ['fixed', 'auto', 'full'] as const;\nexport type CustomSelectDropdownWidthType = (typeof CustomSelectDropdownWidthList)[number];\nexport type DBCustomSelectDropdownDefaultProps = {\n /**\n * Changes the behavior of the dropdown with.\n * Default: fixed 328px\n * Full: Based on the size of the form-field\n * Auto: Based on the size of the largest list item\n */\n width?: CustomSelectDropdownWidthType | string;\n};\nexport type DBCustomSelectDropdownProps = DBCustomSelectDropdownDefaultProps & GlobalProps;\nexport type DBCustomSelectDropdownDefaultState = {};\nexport type DBCustomSelectDropdownState = DBCustomSelectDropdownDefaultState & GlobalState","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls } from \"../../utils\";\nimport { DBCustomSelectFormFieldProps } from \"./model\";\n\n@Component({\n selector: \"db-custom-select-form-field\",\n standalone: true,\n imports: [CommonModule],\n template: `<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 styles: `:host { display: contents; }`,\n})\nexport class DBCustomSelectFormField implements AfterViewInit {\n protected readonly cls = cls;\n\n id: InputSignal<DBCustomSelectFormFieldProps[\"id\"]> =\n input<DBCustomSelectFormFieldProps[\"id\"]>();\n className: InputSignal<DBCustomSelectFormFieldProps[\"className\"]> =\n 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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-custom-select-form-field\");\n }\n }\n}\n","import { BaseFormProps, ChangeEventProps, ChangeEventState, FormCheckProps, GlobalProps, GlobalState, IconProps, ShowIconProps, ValueProps } from '../../shared/model';\nexport const CustomSelectListItemTypeList = ['checkbox', 'radio'] as const;\nexport type CustomSelectListItemTypeType = (typeof CustomSelectListItemTypeList)[number];\nexport type DBCustomSelectListItemExtraProps = {\n /**\n * If the item is a group title (only text)\n */\n isGroupTitle?: boolean;\n /**\n * Show a divider on the bottom of the list item for visual grouping (don't use it on every item)\n */\n showDivider?: boolean;\n} & IconProps & ShowIconProps;\nexport type DBCustomSelectListItemDefaultProps = {\n /**\n * Set the title of a group of items - disables radio/checkbox behavior\n */\n groupTitle?: string;\n /**\n * Change the behavior of the item single(radio) or multiple(checkbox)\n */\n type?: CustomSelectListItemTypeType;\n};\nexport type DBCustomSelectListItemProps = DBCustomSelectListItemDefaultProps & GlobalProps & BaseFormProps & ValueProps & FormCheckProps & ChangeEventProps<HTMLInputElement> & DBCustomSelectListItemExtraProps;\nexport type DBCustomSelectListItemDefaultState = {\n getIconTrailing: () => string | undefined;\n hasDivider?: boolean;\n};\nexport type DBCustomSelectListItemState = DBCustomSelectListItemDefaultState & ChangeEventState<HTMLInputElement> & GlobalState","import { BaseFormProps, ClickEvent, CloseEventState, CustomFormProps, DocumentScrollState, FormMessageProps, FormState, FromValidState, GeneralEvent, GlobalProps, GlobalState, IconProps, InputEvent, InteractionEvent, PlacementVerticalType, RequiredProps, ShowIconProps, ShowLabelProps, ValidationType, WidthType } from '../../shared/model';\nimport { CustomSelectDropdownWidthType } from '../custom-select-dropdown/model';\nimport { DBCustomSelectFormFieldDefaultProps } from '../custom-select-form-field/model';\nimport { DBCustomSelectListItemExtraProps } from '../custom-select-list-item/model';\nexport type CustomSelectOptionType = {\n /**\n * Disables this option\n */\n disabled?: boolean;\n\n /**\n * Identifier for option\n */\n id?: string;\n\n /**\n * If the value is different from the label you want to show to the user.\n */\n label?: string;\n\n /**\n * The value for the option\n */\n value?: string;\n} & DBCustomSelectListItemExtraProps;\nexport const SelectedTypeList = ['amount', 'text', 'tag'] as const;\nexport type SelectedTypeType = (typeof SelectedTypeList)[number];\nexport type DBCustomSelectEvents = {\n /**\n * Optional: if select-type=\"amount\" when amount changes\n * @param amount The amount of selected checkboxes\n */\n onAmountChange?: (amount: number) => void;\n\n /**\n * Optional: if select-type=\"amount\" when amount changes\n * @param amount The amount of selected checkboxes\n */\n amountChange?: (amount: number) => void;\n /**\n * Triggers after some option was clicked in dropdown\n * @param values the changed values\n */\n onOptionSelected?: (values: string[]) => void;\n /**\n * Triggers after some option was clicked in dropdown\n * @param values the changed values\n */\n optionSelected?: (values: string[]) => void;\n\n /**\n * Informs the user when dropdown was toggled.\n */\n onDropdownToggle?: (event: GeneralEvent<HTMLDetailsElement>) => void;\n /**\n * Informs the user when dropdown was toggled.\n */\n dropdownToggle?: (event: GeneralEvent<HTMLDetailsElement>) => void;\n\n /**\n * Informs the user when a search was performed.\n */\n onSearch?: (event: InputEvent<HTMLInputElement>) => void;\n /**\n * Informs the user when a search was performed.\n */\n search?: (event: InputEvent<HTMLInputElement>) => void;\n};\nexport type DBCustomSelectDefaultProps = {\n /**\n * Optional: if select-type=\"amount\" change the shown text\n */\n amountText?: string;\n /**\n * Overwrite the default aria-label (props.label) for the custom-select-list\n */\n listLabel?: string;\n\n /**\n * Label for the clear selection button\n */\n clearSelectionText?: string;\n\n /**\n * Changes the behavior of the dropdown with.\n * Default: fixed 328px\n * Auto: Based on the size of the form-field\n */\n dropdownWidth?: CustomSelectDropdownWidthType | string;\n\n /**\n * Width of the component. Auto width based on children size, full width based on parent elements width.\n */\n formFieldWidth?: WidthType | string;\n\n /**\n * Dropdown - hint if data has to be loaded\n */\n loadingText?: string;\n\n /**\n * Change the button text for mobile close\n */\n mobileCloseButtonText?: string;\n\n /**\n * Enables CustomSelect\n */\n\n multiple?: boolean | string;\n /**\n * Dropdown - hint if there are no options\n */\n noResultsText?: string;\n /**\n * Programmatically open the dropdown. May differ if you don't use onDropdownToggle.\n */\n open?: boolean;\n\n /**\n * You should pass in the options as an array.\n */\n options?: CustomSelectOptionType[];\n\n /**\n * The `placement` attributes values change the position to absolute and adds a transform based on the placement.\n */\n placement?: PlacementVerticalType;\n\n /**\n * Optional: if you use selectedType=tag and options, you need to set the removeTagsTexts for screen reader users\n */\n removeTagsTexts?: string[];\n\n /**\n * Optional: Change the filter function for the search input\n */\n searchFilter?: (option: CustomSelectOptionType, filterText: string) => boolean;\n\n /**\n * Search label\n */\n searchLabel?: string;\n\n /**\n * Search placeholder\n */\n searchPlaceholder?: string;\n\n /**\n * Optional: Prefill the value of the search input\n */\n searchValue?: string;\n\n /**\n * Select all checkbox label\n */\n selectAllLabel?: string;\n\n /**\n * Optional: If you want to show a custom label for the selected values.\n * You need to define the empty state as well based on selected options.\n */\n selectedLabels?: string;\n\n /**\n * Optional: Prefix text announced by screen readers before the selection\n * (e.g., \"Ausgewählt\" or \"Selected\").\n */\n selectedPrefix?: string;\n\n /**\n * Change the selected type for values shown in multi select\n */\n selectedType?: SelectedTypeType;\n\n /**\n * Show clear selection button (default:true). Hide it if you have very small inputs e.g. in tables.\n */\n showClearSelection?: boolean;\n\n /**\n * Dropdown - enable loading infotext and spinner\n */\n showLoading?: boolean;\n\n /**\n * Dropdown - enable no options infotext\n */\n showNoResults?: boolean;\n\n /**\n * Forces search in header.\n */\n showSearch?: boolean;\n /**\n * Forces select all checkbox (only for multiple).\n */\n showSelectAll?: boolean;\n\n /**\n * Optional: If you want to show a custom label based on the selected options.\n */\n transformSelectedLabels?: (selectedOptions?: CustomSelectOptionType[]) => string;\n\n /**\n * Initial value for multi select\n */\n values?: string[];\n};\nexport type DBCustomSelectProps = GlobalProps & CustomFormProps & BaseFormProps & RequiredProps & FormMessageProps & DBCustomSelectDefaultProps & DBCustomSelectEvents & DBCustomSelectFormFieldDefaultProps & IconProps & ShowIconProps & ShowLabelProps;\nexport type DBCustomSelectDefaultState = {\n _validity?: ValidationType;\n _values?: string[];\n _options?: CustomSelectOptionType[];\n _selectedOptions?: CustomSelectOptionType[];\n _hasNoOptions: boolean;\n _selectId?: string;\n _labelId?: string;\n _summaryId?: string;\n _placeholderId?: string;\n _selectedLabels?: string;\n _selectedLabelsId?: string;\n _infoTextId?: string;\n _internalChangeTimestamp: number;\n _documentClickListenerCallbackId?: string;\n _searchValue?: string;\n _userInteraction?: boolean;\n getNativeSelectValue: () => string;\n getOptionLabel: (option: CustomSelectOptionType) => string;\n getOptionChecked: (value?: string) => boolean;\n getTagRemoveLabel: (option: CustomSelectOptionType) => string;\n selectAllEnabled: boolean;\n searchEnabled: boolean;\n amountOptions: number;\n setDescById: (descId?: string) => void;\n handleTagRemove: (option: CustomSelectOptionType, event?: ClickEvent<HTMLButtonElement> | void) => void;\n handleSummaryFocus: () => void;\n handleSelect: (value?: string) => void;\n handleSelectAll: (event: any) => void;\n handleClearAll: (event: any) => void;\n handleDropdownToggle: (event: any) => void;\n handleDocumentClose: (event: any) => void;\n handleOpenByKeyboardFocus: () => void;\n handleFocusFirstDropdownCheckbox: (activeElement?: Element) => void;\n handleKeyboardPress: (event: any) => void;\n handleArrowDownUp: (event: any) => void;\n handleSearch: (event: any) => void;\n handleOptionSelected: (_values: string[]) => void;\n getSelectAllLabel: () => string;\n selectAllChecked: boolean;\n selectAllIndeterminate: boolean;\n handleAutoPlacement: () => void;\n};\nexport type DBCustomSelectState = DBCustomSelectDefaultState & GlobalState & FormState & FromValidState & CloseEventState<InteractionEvent<HTMLDetailsElement>> & DocumentScrollState","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls } from \"../../utils\";\nimport { DBDividerProps, DBDividerState } from \"./model\";\n\n@Component({\n selector: \"db-divider\",\n standalone: true,\n imports: [CommonModule],\n template: `<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 styles: `:host { display: contents; }`,\n})\nexport class DBDivider implements AfterViewInit {\n protected readonly cls = cls;\n\n id: InputSignal<DBDividerProps[\"id\"]> = input<DBDividerProps[\"id\"]>();\n margin: InputSignal<DBDividerProps[\"margin\"]> =\n input<DBDividerProps[\"margin\"]>();\n variant: InputSignal<DBDividerProps[\"variant\"]> =\n input<DBDividerProps[\"variant\"]>();\n emphasis: InputSignal<DBDividerProps[\"emphasis\"]> =\n input<DBDividerProps[\"emphasis\"]>();\n width: InputSignal<DBDividerProps[\"width\"]> =\n input<DBDividerProps[\"width\"]>();\n className: InputSignal<DBDividerProps[\"className\"]> =\n 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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-divider\");\n }\n }\n}\n","import { EmphasisProps, GlobalProps, GlobalState, MarginProps, WidthProps } from '../../shared/model';\nexport const DividerMarginList = ['none', '_'] as const;\nexport type DividerMarginType = (typeof DividerMarginList)[number];\nexport const DividerVariantList = ['horizontal', 'vertical'] as const;\nexport type DividerVariantType = (typeof DividerVariantList)[number];\nexport type DBDividerDefaultProps = {\n /**\n * Removes the margin of the divider.\n */\n margin?: DividerMarginType;\n /**\n * Changes the orientation of the divider.\n */\n variant?: DividerVariantType;\n};\nexport type DBDividerProps = DBDividerDefaultProps & GlobalProps & EmphasisProps & MarginProps & WidthProps;\nexport type DBDividerDefaultState = {};\nexport type DBDividerState = DBDividerDefaultState & GlobalState","import {\n Component,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_CLOSE_BUTTON } from \"../../shared/constants\";\nimport { ClickEvent, GeneralKeyboardEvent } from \"../../shared/model\";\nimport { cls, delay, getBooleanAsString, isKeyboardEvent } from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBDrawerProps, DBDrawerState } from \"./model\";\n\n@Component({\n selector: \"db-drawer\",\n standalone: true,\n imports: [CommonModule, DBButton],\n template: `<dialog\n class=\"db-drawer\"\n [attr.id]=\"id()\"\n #_ref\n (click)=\"handleClose($event)\"\n (keydown)=\"handleClose($event)\"\n [attr.data-position]=\"position()\"\n [attr.data-backdrop]=\"backdrop()\"\n [attr.data-direction]=\"direction()\"\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 >{{closeButtonText() ?? DEFAULT_CLOSE_BUTTON}}</db-button\n >\n </header>\n <div class=\"db-drawer-content\"><ng-content></ng-content></div>\n </article>\n </dialog> `,\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: InputSignal<DBDrawerProps[\"open\"]> = input<DBDrawerProps[\"open\"]>();\n position: InputSignal<DBDrawerProps[\"position\"]> =\n input<DBDrawerProps[\"position\"]>();\n backdrop: InputSignal<DBDrawerProps[\"backdrop\"]> =\n input<DBDrawerProps[\"backdrop\"]>();\n variant: InputSignal<DBDrawerProps[\"variant\"]> =\n input<DBDrawerProps[\"variant\"]>();\n id: InputSignal<DBDrawerProps[\"id\"]> = input<DBDrawerProps[\"id\"]>();\n direction: InputSignal<DBDrawerProps[\"direction\"]> =\n input<DBDrawerProps[\"direction\"]>();\n className: InputSignal<DBDrawerProps[\"className\"]> =\n input<DBDrawerProps[\"className\"]>();\n spacing: InputSignal<DBDrawerProps[\"spacing\"]> =\n input<DBDrawerProps[\"spacing\"]>();\n width: InputSignal<DBDrawerProps[\"width\"]> = input<DBDrawerProps[\"width\"]>();\n rounded: InputSignal<DBDrawerProps[\"rounded\"]> =\n input<DBDrawerProps[\"rounded\"]>();\n closeButtonId: InputSignal<DBDrawerProps[\"closeButtonId\"]> =\n input<DBDrawerProps[\"closeButtonId\"]>();\n closeButtonText: InputSignal<DBDrawerProps[\"closeButtonText\"]> =\n 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 initialized = signal<DBDrawerState[\"initialized\"]>(false);\n\n handleClose(\n event?:\n | ClickEvent<HTMLButtonElement | HTMLDialogElement>\n | GeneralKeyboardEvent<HTMLDialogElement>\n | void,\n forceClose?: boolean\n ) {\n if (!event) return;\n if (isKeyboardEvent<HTMLButtonElement | HTMLDialogElement>(event)) {\n if (event.key === \"Escape\") {\n event.preventDefault();\n if (this.close) {\n this.close.emit(event);\n }\n }\n } else {\n if (forceClose) {\n event.stopPropagation();\n if (this.close) {\n this.close.emit(event);\n }\n }\n if (\n (event.target as any)?.nodeName === \"DIALOG\" &&\n event.type === \"click\" &&\n this.backdrop() !== \"none\"\n ) {\n if (this.close) {\n this.close.emit(event);\n }\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 (\n this.position() === \"absolute\" ||\n this.backdrop() === \"none\" ||\n this.variant() === \"inside\"\n ) {\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 if (typeof window !== \"undefined\") {\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 effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.initialized();\n this.position();\n // ---\n\n if (\n this._ref()?.nativeElement &&\n this.initialized() &&\n this.position() === \"absolute\"\n ) {\n const refElement = this._ref()?.nativeElement as HTMLDialogElement;\n const parent = refElement.parentElement;\n if (parent) {\n parent.style.position = \"relative\";\n }\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-drawer\");\n this.handleDialogOpen();\n this.initialized.set(true);\n }\n }\n}\n","import { ClickEvent, CloseEventProps, CloseEventState, GeneralKeyboardEvent, GlobalProps, GlobalState, InitializedState, InnerCloseButtonProps, SpacingProps, WidthProps } from '../../shared/model';\nexport const DrawerBackdropList = ['none', 'strong', 'weak', 'invisible'] as const;\nexport type DrawerBackdropType = (typeof DrawerBackdropList)[number];\nexport const DrawerDirectionList = ['left', 'right', 'up', 'down'] as const;\nexport type DrawerDirectionType = (typeof DrawerDirectionList)[number];\nexport const DrawerVariantList = ['modal', 'inside'] as const;\nexport type DrawerVariantType = (typeof DrawerVariantList)[number];\nexport const DrawerPositionList = ['fixed', 'absolute'] as const;\nexport type DrawerPositionType = (typeof DrawerPositionList)[number];\nexport type DBDrawerDefaultProps = {\n /**\n * The backdrop attribute changes the opacity of the backdrop.\n * The backdrop 'none' will use `dialog.show()` instead of `dialog.showModal()`\n */\n backdrop?: DrawerBackdropType;\n /**\n * The direction attribute changes the position & animation of the drawer.\n * E.g. \"left\" slides from left screen border to the right.\n */\n direction?: DrawerDirectionType;\n\n /**\n * Slot for changing the header of the drawer.\n */\n drawerHeader?: any;\n\n /**\n * The open attribute opens or closes the drawer based on the state.\n */\n open?: boolean | string;\n /**\n * The rounded attribute changes the border radius of the corners on the \"end\" of the drawer.\n * The \"end\" depends on which direction you use.\n */\n rounded?: boolean | string;\n /**\n * Set the variant modal|inside. Defaults to modal.\n */\n variant?: DrawerVariantType;\n /**\n * The position attribute changes the css-position (fixed or absolute) of the drawer.\n *\n * - `fixed` (default): Renders with `showModal()`, creating a true modal with a focus trap.\n * - `absolute`: Renders with `show()`, acting as a simple overlay **without** a focus trap.\n */\n position?: DrawerPositionType;\n};\nexport type DBDrawerProps = DBDrawerDefaultProps & GlobalProps & CloseEventProps<ClickEvent<HTMLButtonElement | HTMLDialogElement> | GeneralKeyboardEvent<HTMLDialogElement>> & InnerCloseButtonProps & WidthProps & SpacingProps;\nexport type DBDrawerDefaultState = {\n handleDialogOpen: () => void;\n};\nexport type DBDrawerState = DBDrawerDefaultState & GlobalState & CloseEventState<ClickEvent<HTMLButtonElement | HTMLDialogElement> | GeneralKeyboardEvent<HTMLDialogElement>> & InitializedState","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 viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\n AfterViewInit,\n InputSignal,\nContentChild, TemplateRef } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_BURGER_MENU } from \"../../shared/constants\";\nimport { addAttributeToChildren, cls, getBoolean } from \"../../utils\";\nimport { isEventTargetNavigationItem } from \"../../utils/navigation\";\nimport { DBButton } from \"../button/button\";\nimport { DBDrawer } from \"../drawer/drawer\";\nimport { DBHeaderProps, DBHeaderState } from \"./model\";\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: `<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 [closeButtonId]=\"closeButtonId()\"\n [closeButtonText]=\"closeButtonText()\"\n [open]=\"getBoolean(drawerOpen())\"\n (close)=\"handleToggle()\"\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></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 [noText]=\"true\"\n (click)=\"handleToggle()\"\n >{{burgerMenuLabel() ?? DEFAULT_BURGER_MENU}}</db-button\n >\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 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 forceMobile: InputSignal<DBHeaderProps[\"forceMobile\"]> =\n input<DBHeaderProps[\"forceMobile\"]>();\n drawerOpen: InputSignal<DBHeaderProps[\"drawerOpen\"]> =\n input<DBHeaderProps[\"drawerOpen\"]>();\n className: InputSignal<DBHeaderProps[\"className\"]> =\n input<DBHeaderProps[\"className\"]>();\n id: InputSignal<DBHeaderProps[\"id\"]> = input<DBHeaderProps[\"id\"]>();\n width: InputSignal<DBHeaderProps[\"width\"]> = input<DBHeaderProps[\"width\"]>();\n closeButtonId: InputSignal<DBHeaderProps[\"closeButtonId\"]> =\n input<DBHeaderProps[\"closeButtonId\"]>();\n closeButtonText: InputSignal<DBHeaderProps[\"closeButtonText\"]> =\n input<DBHeaderProps[\"closeButtonText\"]>();\n burgerMenuLabel: InputSignal<DBHeaderProps[\"burgerMenuLabel\"]> =\n input<DBHeaderProps[\"burgerMenuLabel\"]>();\n toggle = output<\n Parameters<Required<DBHeaderProps>[\"onToggle\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\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 if (typeof window !== \"undefined\") {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.initialized();\n this._ref();\n // ---\n\n if (\n this.initialized() &&\n this._ref()?.nativeElement &&\n this.forceMobile()\n ) {\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(this._ref()?.nativeElement, {\n key: \"data-force-mobile\",\n value: \"true\",\n });\n this.forcedToMobile.set(true);\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-header\");\n this.initialized.set(true);\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls } from \"../../utils\";\nimport type { DBIconProps, DBIconState } from \"./model\";\n\n@Component({\n selector: \"db-icon\",\n standalone: true,\n imports: [CommonModule],\n template: `<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 >@if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\n }</span\n > `,\n styles: `:host { display: contents; }`,\n})\nexport class DBIcon implements AfterViewInit {\n protected readonly cls = cls;\n\n id: InputSignal<DBIconProps[\"id\"]> = input<DBIconProps[\"id\"]>();\n className: InputSignal<DBIconProps[\"className\"]> =\n input<DBIconProps[\"className\"]>();\n icon: InputSignal<DBIconProps[\"icon\"]> = input<DBIconProps[\"icon\"]>();\n weight: InputSignal<DBIconProps[\"weight\"]> = input<DBIconProps[\"weight\"]>();\n variant: InputSignal<DBIconProps[\"variant\"]> =\n input<DBIconProps[\"variant\"]>();\n text: InputSignal<DBIconProps[\"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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-icon\");\n }\n }\n}\n","import { GlobalProps, GlobalState, IconProps, TextProps } from '../../shared/model';\nexport const IconWeightList = ['16', '20', '24', '32', '48', '64'] as const;\nexport type IconWeightType = (typeof IconWeightList)[number];\nexport type DBIconDefaultProps = {\n variant?: string;\n weight?: IconWeightType;\n};\nexport type DBIconProps = DBIconDefaultProps & GlobalProps & IconProps & TextProps;\nexport type DBIconDefaultState = {};\nexport type DBIconState = DBIconDefaultState & GlobalState","import { ChangeEventProps, ChangeEventState, FocusEventProps, FocusEventState, FormMessageProps, FormProps, FormSizeProps, FormState, FormTextProps, FromValidState, GlobalProps, GlobalState, IconLeadingProps, IconProps, IconTrailingProps, InputEventProps, InputEventState, ShowIconLeadingProps, ShowIconProps, ShowIconTrailingProps, SizeType, ValueLabelType } from '../../shared/model';\nexport const InputTypeList = ['color', 'date', 'datetime-local', 'email', 'file',\n// TODO: move this to own component\n'hidden', 'month', 'number', 'password', 'range',\n// TODO: move this to own component\n'search', 'tel', 'text', 'time', 'url', 'week'] as const;\nexport type InputTypeType = (typeof InputTypeList)[number];\nexport type DBInputDefaultProps = {\n /**\n * Set a [data list](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/datalist) via attribute instead of children.\n */\n dataList?: string[] | ValueLabelType[];\n /**\n * Add a custom id to [data list](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/datalist) if you're using `dataList` attribute.\n */\n dataListId?: string;\n /**\n * Allow selecting multiple files. https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input/file#multiple\n */\n multiple?: boolean | string;\n /**\n * Maximum value\n */\n max?: number | string;\n /**\n * Minimum value\n */\n min?: number | string;\n\n /**\n * Pattern the value must match to be valid\n */\n pattern?: string;\n /**\n * \tType of form control\n */\n type?: InputTypeType | string;\n /**\n * Sets [step value](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/step).\n */\n step?: number | string;\n /**\n * Hint for the [enter key behavior](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/enterkeyhint) on virtual keyboards.\n */\n enterkeyhint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';\n /**\n * Hint for [virtual keyboard](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode) selection.\n */\n inputmode?: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';\n /**\n * The size of the message infotext. Defaults to \"small\".\n */\n messageSize?: SizeType;\n /**\n * The size of the valid message infotext. Defaults to \"small\".\n */\n validMessageSize?: SizeType;\n /**\n * The size of the invalid message infotext. Defaults to \"small\".\n */\n invalidMessageSize?: SizeType;\n};\nexport type DBInputProps = DBInputDefaultProps & GlobalProps & FormTextProps & InputEventProps<HTMLInputElement> & ChangeEventProps<HTMLInputElement> & FocusEventProps<HTMLInputElement> & FormProps & IconProps & IconTrailingProps & FormMessageProps & ShowIconProps & IconLeadingProps & ShowIconLeadingProps & ShowIconTrailingProps & FormSizeProps;\nexport type DBInputDefaultState = {\n _dataListId?: string;\n getDataList: () => ValueLabelType[];\n};\nexport type DBInputState = DBInputDefaultState & GlobalState & InputEventState<HTMLInputElement> & ChangeEventState<HTMLInputElement> & FocusEventState<HTMLInputElement> & FormState & FromValidState","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls, getBooleanAsString } from \"../../utils\";\nimport { DBLinkProps } from \"./model\";\n\n@Component({\n selector: \"db-link\",\n standalone: true,\n imports: [CommonModule],\n template: `<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.data-size]=\"size()\"\n [attr.data-show-icon-trailing]=\"getBooleanAsString(showIcon() ?? true)\"\n [attr.data-variant]=\"variant()\"\n [attr.data-content]=\"content() || 'internal'\"\n [attr.data-wrap]=\"getBooleanAsString(wrap())\"\n >@if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\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\n id: InputSignal<DBLinkProps[\"id\"]> = input<DBLinkProps[\"id\"]>();\n className: InputSignal<DBLinkProps[\"className\"]> =\n input<DBLinkProps[\"className\"]>();\n href: InputSignal<DBLinkProps[\"href\"]> = input<DBLinkProps[\"href\"]>();\n target: InputSignal<DBLinkProps[\"target\"]> = input<DBLinkProps[\"target\"]>();\n rel: InputSignal<DBLinkProps[\"rel\"]> = input<DBLinkProps[\"rel\"]>();\n role: InputSignal<DBLinkProps[\"role\"]> = input<DBLinkProps[\"role\"]>();\n hreflang: InputSignal<DBLinkProps[\"hreflang\"]> =\n input<DBLinkProps[\"hreflang\"]>();\n disabled: InputSignal<DBLinkProps[\"disabled\"]> =\n input<DBLinkProps[\"disabled\"]>();\n size: InputSignal<DBLinkProps[\"size\"]> = input<DBLinkProps[\"size\"]>();\n showIcon: InputSignal<DBLinkProps[\"showIcon\"]> =\n input<DBLinkProps[\"showIcon\"]>();\n variant: InputSignal<DBLinkProps[\"variant\"]> =\n input<DBLinkProps[\"variant\"]>();\n content: InputSignal<DBLinkProps[\"content\"]> =\n input<DBLinkProps[\"content\"]>();\n wrap: InputSignal<DBLinkProps[\"wrap\"]> = input<DBLinkProps[\"wrap\"]>();\n text: InputSignal<DBLinkProps[\"text\"]> = input<DBLinkProps[\"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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-link\");\n }\n }\n}\n","import { ClickEventProps, ClickEventState, GlobalProps, GlobalState, LinkProps, ShowIconProps, TextProps, WrapProps } from '../../shared/model';\nexport const LinkVariantList = ['adaptive', 'brand', 'inline'] as const;\nexport type LinkVariantType = (typeof LinkVariantList)[number];\nexport const LinkSizeList = ['medium', 'small'] as const;\nexport type LinkSizeType = (typeof LinkSizeList)[number];\nexport const LinkContentList = ['external', 'internal'] as const;\nexport type LinkContentType = (typeof LinkContentList)[number];\nexport type DBLinkDefaultProps = {\n /**\n * Adds a different arrow after the link to indicate external or internal link\n */\n content?: LinkContentType;\n /**\n * Change the size of the link\n */\n size?: LinkSizeType;\n /**\n * Change the styling of the link. `inline` will remove the arrow. Defaults to adaptive.\n */\n variant?: LinkVariantType;\n};\nexport type DBLinkProps = DBLinkDefaultProps & GlobalProps & ClickEventProps<HTMLAnchorElement> & LinkProps & ShowIconProps & TextProps & WrapProps;\nexport type DBLinkDefaultState = {};\nexport type DBLinkState = DBLinkDefaultState & GlobalState & ClickEventState<HTMLAnchorElement>","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_ID } from \"../../shared/constants\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBNavigationProps, DBNavigationState } from \"./model\";\n\n@Component({\n selector: \"db-navigation\",\n standalone: true,\n imports: [CommonModule],\n template: `<nav\n #_ref\n [attr.id]=\"_id()\"\n [class]=\"cls('db-navigation', className())\"\n >\n <menu><ng-content></ng-content></menu>\n </nav> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBNavigation implements AfterViewInit {\n protected readonly cls = cls;\n\n id: InputSignal<DBNavigationProps[\"id\"]> = input<DBNavigationProps[\"id\"]>();\n className: InputSignal<DBNavigationProps[\"className\"]> =\n 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 ngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-navigation\");\n this._id.set(this.id() || \"navigation-\" + uuid());\n }\n }\n}\n","/* Angular cannot handle multiple slots with the same name, we need to use Directives for this. */\nimport { Directive } from '@angular/core';\n@Directive({\n\tselector: '[dbNavigationContent]',\n\tstandalone: true\n})\nexport class NavigationContentDirective {}\n","import {\n Component,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\n AfterViewInit,\n InputSignal,\nContentChild, TemplateRef } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_BACK } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { cls, delay, getBoolean, getBooleanAsString, uuid } from \"../../utils\";\nimport { NavigationItemSafeTriangle } from \"../../utils/navigation\";\nimport { DBButton } from \"../button/button\";\nimport { DBNavigationItemProps, DBNavigationItemState } from \"./model\";\n\nimport { NavigationContentDirective } from './NavigationContent.directive';\n\n@Component({\n selector: \"db-navigation-item\",\n standalone: true,\n imports: [CommonModule, DBButton],\n template: `<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-show-icon]=\"getBooleanAsString(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-force-close]=\"autoClose()\"\n [attr.id]=\"subNavigationId()\"\n (click)=\"handleNavigationItemClick($event)\"\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 >{{backButtonText() ?? DEFAULT_BACK}}</db-button\n >\n </div>\n }\n <ng-content select=\"[sub-navigation]\"> </ng-content\n ></menu>\n }\n </li> `,\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 getBooleanAsString = getBooleanAsString;\n protected readonly getBoolean = getBoolean;\n protected readonly DEFAULT_BACK = DEFAULT_BACK;\n\n subNavigationExpanded: InputSignal<\n DBNavigationItemProps[\"subNavigationExpanded\"]\n > = input<DBNavigationItemProps[\"subNavigationExpanded\"]>();\n id: InputSignal<DBNavigationItemProps[\"id\"]> =\n input<DBNavigationItemProps[\"id\"]>();\n className: InputSignal<DBNavigationItemProps[\"className\"]> =\n input<DBNavigationItemProps[\"className\"]>();\n width: InputSignal<DBNavigationItemProps[\"width\"]> =\n input<DBNavigationItemProps[\"width\"]>();\n icon: InputSignal<DBNavigationItemProps[\"icon\"]> =\n input<DBNavigationItemProps[\"icon\"]>();\n showIcon: InputSignal<DBNavigationItemProps[\"showIcon\"]> =\n input<DBNavigationItemProps[\"showIcon\"]>();\n active: InputSignal<DBNavigationItemProps[\"active\"]> =\n input<DBNavigationItemProps[\"active\"]>();\n wrap: InputSignal<DBNavigationItemProps[\"wrap\"]> =\n input<DBNavigationItemProps[\"wrap\"]>();\n disabled: InputSignal<DBNavigationItemProps[\"disabled\"]> =\n input<DBNavigationItemProps[\"disabled\"]>();\n text: InputSignal<DBNavigationItemProps[\"text\"]> =\n input<DBNavigationItemProps[\"text\"]>();\n backButtonId: InputSignal<DBNavigationItemProps[\"backButtonId\"]> =\n input<DBNavigationItemProps[\"backButtonId\"]>();\n backButtonText: InputSignal<DBNavigationItemProps[\"backButtonText\"]> =\n 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: any) {\n if (event?.target?.nodeName === \"A\") {\n this.autoClose.set(true);\n void delay(() => {\n this.autoClose.set(false);\n }, 1000);\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 if (typeof window !== \"undefined\") {\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(\n this.subNavigationExpanded(),\n \"subNavigationExpanded\"\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 // ---\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 /**\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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-navigation-item\");\n this.initialized.set(true);\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_CLOSE_BUTTON } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\nimport {\n cls,\n getBoolean,\n getBooleanAsString,\n stringPropVisible,\n} from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBNotificationProps, DBNotificationState } from \"./model\";\n\n@Component({\n selector: \"db-notification\",\n standalone: true,\n imports: [CommonModule, DBButton],\n template: `<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]=\"getBoolean(showIcon()) !== false ? icon() : undefined\"\n [attr.data-show-icon]=\"getBooleanAsString(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 >{{closeButtonText() ?? DEFAULT_CLOSE_BUTTON}}</db-button\n >\n }\n </article> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBNotification implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBoolean = getBoolean;\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly stringPropVisible = stringPropVisible;\n protected readonly DEFAULT_CLOSE_BUTTON = DEFAULT_CLOSE_BUTTON;\n\n id: InputSignal<DBNotificationProps[\"id\"]> =\n input<DBNotificationProps[\"id\"]>();\n className: InputSignal<DBNotificationProps[\"className\"]> =\n input<DBNotificationProps[\"className\"]>();\n ariaLive: InputSignal<DBNotificationProps[\"ariaLive\"]> =\n input<DBNotificationProps[\"ariaLive\"]>();\n semantic: InputSignal<DBNotificationProps[\"semantic\"]> =\n input<DBNotificationProps[\"semantic\"]>();\n variant: InputSignal<DBNotificationProps[\"variant\"]> =\n input<DBNotificationProps[\"variant\"]>();\n showIcon: InputSignal<DBNotificationProps[\"showIcon\"]> =\n input<DBNotificationProps[\"showIcon\"]>();\n icon: InputSignal<DBNotificationProps[\"icon\"]> =\n input<DBNotificationProps[\"icon\"]>();\n linkVariant: InputSignal<DBNotificationProps[\"linkVariant\"]> =\n input<DBNotificationProps[\"linkVariant\"]>();\n headline: InputSignal<DBNotificationProps[\"headline\"]> =\n input<DBNotificationProps[\"headline\"]>();\n showHeadline: InputSignal<DBNotificationProps[\"showHeadline\"]> =\n input<DBNotificationProps[\"showHeadline\"]>();\n text: InputSignal<DBNotificationProps[\"text\"]> =\n input<DBNotificationProps[\"text\"]>();\n timestamp: InputSignal<DBNotificationProps[\"timestamp\"]> =\n input<DBNotificationProps[\"timestamp\"]>();\n showTimestamp: InputSignal<DBNotificationProps[\"showTimestamp\"]> =\n input<DBNotificationProps[\"showTimestamp\"]>();\n closeable: InputSignal<DBNotificationProps[\"closeable\"]> =\n input<DBNotificationProps[\"closeable\"]>();\n closeButtonId: InputSignal<DBNotificationProps[\"closeButtonId\"]> =\n input<DBNotificationProps[\"closeButtonId\"]>();\n closeButtonText: InputSignal<DBNotificationProps[\"closeButtonText\"]> =\n 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> | void) {\n if (!event) return;\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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-notification\");\n }\n }\n}\n","import { ClickEvent, CloseEventProps, CloseEventState, GlobalProps, GlobalState, IconProps, InnerCloseButtonProps, PopoverProps, SemanticProps, ShowIconProps, TextProps } from '../../shared/model';\nexport const NotificationVariantList = ['docked', 'standalone', 'overlay'] as const;\nexport type NotificationVariantType = (typeof NotificationVariantList)[number];\nexport const NotificationLinkVariantList = ['block', 'inline'] as const;\nexport type NotificationLinkVariantType = (typeof NotificationLinkVariantList)[number];\nexport const NotificationAriaLiveList = ['assertive', 'polite', 'off'] as const;\nexport type NotificationAriaLiveType = (typeof NotificationAriaLiveList)[number];\nexport type DBNotificationDefaultProps = {\n /**\n * The arialive attribute will lead to that the screenreader interrupts immediately\n * and reads out the notification if set to \"assertive\", while it will wait for the\n * user's idleness when set to \"polite\", compare to [aria-live](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-live)\n */\n ariaLive?: NotificationAriaLiveType;\n\n /**\n * The closeable attribute shows/hides the close button on the top right.\n */\n closeable?: boolean | string;\n\n /**\n * The headline attribute changes the text of the bold headline.\n */\n headline?: string | any;\n\n /**\n * The slotImage can be set instead of an icon.\n */\n image?: any;\n\n /**\n * The slotLink can be set for non overlay-notifications\n */\n link?: any;\n\n /**\n * The linkVariant will be used if slotLink is set.\n */\n linkVariant?: NotificationLinkVariantType;\n\n /**\n * Enables or disables the visibility of the headline.\n */\n showHeadline?: boolean | string;\n\n /**\n * The timestamp attribute can be set for overlay notifications\n */\n timestamp?: string;\n\n /**\n * Enables or disables the visibility of the timestamp.\n */\n showTimestamp?: boolean | string;\n\n /**\n * The variant attribute changes the styling of the notification.\n * - The docked notifications are used e.g. between header and main content to show a global alert.\n * - The standalone notifications are used e.g. inside a form to show an alert for a specific field.\n * - The overlay notifications are used for absolute and floating notifications like snackbars etc.\n */\n variant?: NotificationVariantType;\n};\nexport type DBNotificationProps = DBNotificationDefaultProps & GlobalProps & CloseEventProps<ClickEvent<HTMLButtonElement>> & IconProps & SemanticProps & InnerCloseButtonProps & PopoverProps & ShowIconProps & TextProps;\nexport type DBNotificationDefaultState = {};\nexport type DBNotificationState = DBNotificationDefaultState & GlobalState & CloseEventState<ClickEvent<HTMLButtonElement>>","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n OnDestroy,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls, getBooleanAsString } from \"../../utils\";\nimport { DBPageProps, DBPageState } from \"./model\";\n\n@Component({\n selector: \"db-page\",\n standalone: true,\n imports: [CommonModule],\n template: `<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())\"><ng-content></ng-content></main>\n <ng-content select=\"[footer]\"> </ng-content>\n </div> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBPage implements AfterViewInit, OnDestroy {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n fadeIn: InputSignal<DBPageProps[\"fadeIn\"]> = input<DBPageProps[\"fadeIn\"]>();\n documentOverflow: InputSignal<DBPageProps[\"documentOverflow\"]> =\n input<DBPageProps[\"documentOverflow\"]>();\n variant: InputSignal<DBPageProps[\"variant\"]> =\n input<DBPageProps[\"variant\"]>();\n id: InputSignal<DBPageProps[\"id\"]> = input<DBPageProps[\"id\"]>();\n className: InputSignal<DBPageProps[\"className\"]> =\n input<DBPageProps[\"className\"]>();\n mainClass: InputSignal<DBPageProps[\"mainClass\"]> =\n 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 }\n\n ngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-page\");\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\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 { GlobalProps, GlobalState } from '../../shared/model';\nexport const PageVariantList = ['auto', 'fixed'] as const;\nexport type PageVariantType = (typeof PageVariantList)[number];\nexport const PageDocumentOverflowList = ['hidden', 'auto'] as const;\nexport type PageDocumentOverflowType = (typeof PageDocumentOverflowList)[number];\nexport type DBPageDefaultProps = {\n /**\n * The documentOverflow sets the overflow:hidden/auto to the root document\n */\n documentOverflow?: PageDocumentOverflowType;\n /**\n * Set this to have a transition with opacity to avoid layout-shifts https://simonhearne.com/2021/layout-shifts-webfonts/\n */\n fadeIn?: boolean | string;\n\n /**\n * The slot can be used for React to set a footer.\n */\n footer?: any;\n /**\n * The slot can be used for React to set a header.\n */\n header?: any;\n\n /**\n * Adds `class` to `<main>` element\n */\n mainClass?: string;\n\n /**\n * The variant=fixed uses flex-box to make header and footer static\n */\n variant?: PageVariantType;\n};\nexport type DBPageProps = DBPageDefaultProps & GlobalProps;\nexport type DBPageDefaultState = {\n fontsLoaded?: boolean;\n};\nexport type DBPageState = DBPageDefaultState & GlobalState","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls, getBooleanAsString, delay as utilsDelay } from \"../../utils\";\nimport { DocumentScrollListener } from \"../../utils/document-scroll-listener\";\nimport { handleFixedPopover } from \"../../utils/floating-components\";\nimport { DBPopoverProps, DBPopoverState } from \"./model\";\n\n@Component({\n selector: \"db-popover\",\n standalone: true,\n imports: [CommonModule],\n template: `<div\n #_ref\n [attr.id]=\"id()\"\n [class]=\"cls('db-popover', className())\"\n >\n <ng-content select=\"[trigger]\"> </ng-content>\n <article\n class=\"db-popover-content\"\n [attr.data-spacing]=\"spacing()\"\n [attr.data-gap]=\"getBooleanAsString(gap())\"\n [attr.data-animation]=\"getBooleanAsString(animation() ?? true)\"\n [attr.data-open]=\"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 styles: `:host { display: contents; }`,\n})\nexport class DBPopover implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n placement: InputSignal<DBPopoverProps[\"placement\"]> =\n input<DBPopoverProps[\"placement\"]>();\n id: InputSignal<DBPopoverProps[\"id\"]> = input<DBPopoverProps[\"id\"]>();\n className: InputSignal<DBPopoverProps[\"className\"]> =\n input<DBPopoverProps[\"className\"]>();\n spacing: InputSignal<DBPopoverProps[\"spacing\"]> =\n input<DBPopoverProps[\"spacing\"]>();\n gap: InputSignal<DBPopoverProps[\"gap\"]> = input<DBPopoverProps[\"gap\"]>();\n animation: InputSignal<DBPopoverProps[\"animation\"]> =\n input<DBPopoverProps[\"animation\"]>();\n open: InputSignal<DBPopoverProps[\"open\"]> = input<DBPopoverProps[\"open\"]>();\n delay: InputSignal<DBPopoverProps[\"delay\"]> =\n input<DBPopoverProps[\"delay\"]>();\n width: InputSignal<DBPopoverProps[\"width\"]> =\n 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 if (typeof window !== \"undefined\") {\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(\n \"keydown\",\n (event: any) => 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 /**\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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-popover\");\n this.initialized.set(true);\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n model,\n output,\n input,\n effect,\n signal,\n OnDestroy,\n AfterViewInit,\n InputSignal,\n ModelSignal,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { ChangeEvent, InteractionEvent } from \"../../shared/model\";\nimport { cls, delay, getBoolean, getHideProp, uuid } from \"../../utils\";\nimport {\n addResetEventListener,\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBRadioProps, DBRadioState } from \"./model\";\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: `<label\n [attr.data-size]=\"size()\"\n [attr.data-hide-label]=\"getHideProp(showLabel())\"\n [attr.data-hide-asterisk]=\"getHideProp(showRequiredAsterisk())\"\n [class]=\"cls('db-radio', className())\"\n [attr.for]=\"_id()\"\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.value]=\"value()\"\n [required]=\"getBoolean(required(), 'required')\"\n (input)=\"handleInput($event)\"\n (change)=\"handleChange($event)\"\n (blur)=\"handleBlur($event)\"\n (focus)=\"handleFocus($event)\"\n />\n @if(label()){ {{label()}} }@else{\n <ng-content></ng-content>\n }</label\n > `,\n styles: `:host { display: contents; }`,\n})\nexport class DBRadio implements AfterViewInit, ControlValueAccessor, OnDestroy {\n protected readonly getHideProp = getHideProp;\n protected readonly cls = cls;\n protected readonly getBoolean = getBoolean;\n\n id: InputSignal<DBRadioProps[\"id\"]> = input<DBRadioProps[\"id\"]>();\n checked: InputSignal<DBRadioProps[\"checked\"]> =\n input<DBRadioProps[\"checked\"]>();\n size: InputSignal<DBRadioProps[\"size\"]> = input<DBRadioProps[\"size\"]>();\n showLabel: InputSignal<DBRadioProps[\"showLabel\"]> =\n input<DBRadioProps[\"showLabel\"]>();\n showRequiredAsterisk: InputSignal<DBRadioProps[\"showRequiredAsterisk\"]> =\n input<DBRadioProps[\"showRequiredAsterisk\"]>();\n className: InputSignal<DBRadioProps[\"className\"]> =\n input<DBRadioProps[\"className\"]>();\n validation: InputSignal<DBRadioProps[\"validation\"]> =\n input<DBRadioProps[\"validation\"]>();\n name: InputSignal<DBRadioProps[\"name\"]> = input<DBRadioProps[\"name\"]>();\n disabled: ModelSignal<DBRadioProps[\"disabled\"]> =\n model<DBRadioProps[\"disabled\"]>();\n value: ModelSignal<DBRadioProps[\"value\"]> = model<DBRadioProps[\"value\"]>();\n required: InputSignal<DBRadioProps[\"required\"]> =\n input<DBRadioProps[\"required\"]>();\n label: InputSignal<DBRadioProps[\"label\"]> = input<DBRadioProps[\"label\"]>();\n input = output<\n Parameters<Required<DBRadioProps>[\"onInput\"]>[number] | void\n >();\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 abortController = signal<DBRadioState[\"abortController\"]>(undefined);\n\n handleInput(event: ChangeEvent<HTMLInputElement> | any, reset?: boolean) {\n if (this.input) {\n if (reset) {\n this.input.emit(event);\n }\n }\n handleFrameworkEventAngular(this, event);\n }\n handleChange(event: ChangeEvent<HTMLInputElement> | any, reset?: boolean) {\n if (this.change) {\n // We need to split the if statements for generation\n if (reset) {\n this.change.emit(event);\n }\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 if (typeof window !== \"undefined\") {\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 effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n // ---\n\n if (this._ref()?.nativeElement) {\n const defaultChecked = undefined;\n let controller = this.abortController();\n if (!controller) {\n controller = new AbortController();\n this.abortController.set(controller);\n }\n addResetEventListener(\n this._ref()?.nativeElement,\n (event: Event) => {\n void delay(() => {\n const resetChecked = this.checked()\n ? this.checked()\n : defaultChecked\n ? defaultChecked\n : this._ref()?.nativeElement.checked;\n const valueEvent: any = {\n ...event,\n target: {\n ...event.target,\n value: \"\",\n checked: resetChecked,\n },\n };\n this.handleChange(valueEvent, true);\n this.handleInput(valueEvent, true);\n }, 1);\n },\n controller.signal\n );\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \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\tngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-radio\");\n this.initialized.set(true);\n this._id.set(this.id() ?? `radio-${uuid()}`);\n }\n }\n\n ngOnDestroy() {\n this.abortController()?.abort();\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_ID } from \"../../shared/constants\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBSectionProps, DBSectionState } from \"./model\";\n\n@Component({\n selector: \"db-section\",\n standalone: true,\n imports: [CommonModule],\n template: `<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 styles: `:host { display: contents; }`,\n})\nexport class DBSection implements AfterViewInit {\n protected readonly cls = cls;\n\n id: InputSignal<DBSectionProps[\"id\"]> = input<DBSectionProps[\"id\"]>();\n className: InputSignal<DBSectionProps[\"className\"]> =\n input<DBSectionProps[\"className\"]>();\n spacing: InputSignal<DBSectionProps[\"spacing\"]> =\n input<DBSectionProps[\"spacing\"]>();\n width: InputSignal<DBSectionProps[\"width\"]> =\n 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 ngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-section\");\n this._id.set(this.id() || \"section-\" + uuid());\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n model,\n output,\n input,\n effect,\n signal,\n OnDestroy,\n AfterViewInit,\n InputSignal,\n ModelSignal,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\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 {\n ChangeEvent,\n ClickEvent,\n InputEvent,\n InteractionEvent,\n} from \"../../shared/model\";\nimport {\n cls,\n delay,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n getOptionKey,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n addValueResetEventListener,\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBSelectOptionType, DBSelectProps, DBSelectState } from \"./model\";\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: `<div\n [class]=\"cls('db-select', className())\"\n [attr.data-variant]=\"variant()\"\n [attr.data-hide-label]=\"getHideProp(showLabel())\"\n [attr.data-hide-asterisk]=\"getHideProp(showRequiredAsterisk())\"\n [attr.data-icon]=\"icon()\"\n [attr.data-show-icon]=\"getBooleanAsString(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 @if(variant() === 'floating' || placeholder()){\n <option class=\"placeholder\" value=\"\"></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 trackByOptgroupOption0(i,\n optgroupOption);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 }</ng-container\n >\n } }@else{\n <ng-content></ng-content>\n }\n </select>\n @if(placeholder()){\n <span\n class=\"db-select-placeholder\"\n [attr.id]=\"_placeholderId()\"\n >{{placeholder()}}</span\n >\n } @if(stringPropVisible(message(), showMessage())){\n <db-infotext\n size=\"small\"\n [icon]=\"messageIcon()\"\n [id]=\"_messageId()\"\n >{{message()}}</db-infotext\n >\n } @if(hasValidState()){\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n [id]=\"_validMessageId()\"\n >{{validMessage() || DEFAULT_VALID_MESSAGE}}</db-infotext\n >\n }\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n [id]=\"_invalidMessageId()\"\n >{{_invalidMessage()}}</db-infotext\n >\n <span\n data-visually-hidden=\"true\"\n role=\"status\"\n >{{_voiceOverFallback()}}</span\n >\n </div> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBSelect implements AfterViewInit, ControlValueAccessor, OnDestroy {\n protected readonly cls = cls;\n protected readonly getHideProp = getHideProp;\n protected readonly getBooleanAsString = getBooleanAsString;\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: InputSignal<DBSelectProps[\"id\"]> = input<DBSelectProps[\"id\"]>();\n invalidMessage: InputSignal<DBSelectProps[\"invalidMessage\"]> =\n input<DBSelectProps[\"invalidMessage\"]>();\n message: InputSignal<DBSelectProps[\"message\"]> =\n input<DBSelectProps[\"message\"]>();\n showMessage: InputSignal<DBSelectProps[\"showMessage\"]> =\n input<DBSelectProps[\"showMessage\"]>();\n placeholder: InputSignal<DBSelectProps[\"placeholder\"]> =\n input<DBSelectProps[\"placeholder\"]>();\n value: ModelSignal<DBSelectProps[\"value\"]> = model<DBSelectProps[\"value\"]>();\n validMessage: InputSignal<DBSelectProps[\"validMessage\"]> =\n input<DBSelectProps[\"validMessage\"]>();\n validation: InputSignal<DBSelectProps[\"validation\"]> =\n input<DBSelectProps[\"validation\"]>();\n required: InputSignal<DBSelectProps[\"required\"]> =\n input<DBSelectProps[\"required\"]>();\n className: InputSignal<DBSelectProps[\"className\"]> =\n input<DBSelectProps[\"className\"]>();\n variant: InputSignal<DBSelectProps[\"variant\"]> =\n input<DBSelectProps[\"variant\"]>();\n showLabel: InputSignal<DBSelectProps[\"showLabel\"]> =\n input<DBSelectProps[\"showLabel\"]>();\n showRequiredAsterisk: InputSignal<DBSelectProps[\"showRequiredAsterisk\"]> =\n input<DBSelectProps[\"showRequiredAsterisk\"]>();\n icon: InputSignal<DBSelectProps[\"icon\"]> = input<DBSelectProps[\"icon\"]>();\n showIcon: InputSignal<DBSelectProps[\"showIcon\"]> =\n input<DBSelectProps[\"showIcon\"]>();\n label: InputSignal<DBSelectProps[\"label\"]> = input<DBSelectProps[\"label\"]>();\n disabled: ModelSignal<DBSelectProps[\"disabled\"]> =\n model<DBSelectProps[\"disabled\"]>();\n name: InputSignal<DBSelectProps[\"name\"]> = input<DBSelectProps[\"name\"]>();\n size: InputSignal<DBSelectProps[\"size\"]> = input<DBSelectProps[\"size\"]>();\n autocomplete: InputSignal<DBSelectProps[\"autocomplete\"]> =\n input<DBSelectProps[\"autocomplete\"]>();\n multiple: InputSignal<DBSelectProps[\"multiple\"]> =\n input<DBSelectProps[\"multiple\"]>();\n ariaDescribedBy: InputSignal<DBSelectProps[\"ariaDescribedBy\"]> =\n input<DBSelectProps[\"ariaDescribedBy\"]>();\n options: InputSignal<DBSelectProps[\"options\"]> =\n input<DBSelectProps[\"options\"]>();\n messageIcon: InputSignal<DBSelectProps[\"messageIcon\"]> =\n 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\"]>(undefined);\n _value = signal<DBSelectState[\"_value\"]>(\"\");\n initialized = signal<DBSelectState[\"initialized\"]>(false);\n _voiceOverFallback = signal<DBSelectState[\"_voiceOverFallback\"]>(\"\");\n abortController = signal<DBSelectState[\"abortController\"]>(undefined);\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 if (this.placeholder()) {\n this._descByIds.set(this._placeholderId());\n } else {\n this._descByIds.set(undefined);\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, reset?: boolean) {\n if (this.input) {\n if (reset) {\n this.input.emit(event);\n }\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLSelectElement> | any, reset?: boolean) {\n if (this.change) {\n // We need to split the if statements for generation\n if (reset) {\n this.change.emit(event);\n }\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 if (typeof window !== \"undefined\") {\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 if (this.placeholder()) {\n this._descByIds.set(placeholderId);\n } else {\n this._descByIds.set(undefined);\n }\n this.handleValidation();\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 effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n // ---\n\n if (this._ref()?.nativeElement) {\n const defaultValue = undefined;\n let controller = this.abortController();\n if (!controller) {\n controller = new AbortController();\n this.abortController.set(controller);\n }\n addValueResetEventListener(\n this._ref()?.nativeElement,\n {\n value: this.value(),\n defaultValue,\n },\n (event) => {\n this.handleChange(event, true);\n this.handleInput(event, true);\n },\n controller.signal\n );\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \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\tngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-select\");\n this.initialized.set(true);\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(\n this.invalidMessage() || DEFAULT_INVALID_MESSAGE\n );\n // @ts-ignore\n this.writeValue?.(this.value?.() ?? \"\");\n }\n }\n\n ngOnDestroy() {\n this.abortController()?.abort();\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls, getBooleanAsString } from \"../../utils\";\nimport { DBStackProps, DBStackState } from \"./model\";\n\n@Component({\n selector: \"db-stack\",\n standalone: true,\n imports: [CommonModule],\n template: `<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 styles: `:host { display: contents; }`,\n})\nexport class DBStack implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n id: InputSignal<DBStackProps[\"id\"]> = input<DBStackProps[\"id\"]>();\n className: InputSignal<DBStackProps[\"className\"]> =\n input<DBStackProps[\"className\"]>();\n gap: InputSignal<DBStackProps[\"gap\"]> = input<DBStackProps[\"gap\"]>();\n variant: InputSignal<DBStackProps[\"variant\"]> =\n input<DBStackProps[\"variant\"]>();\n direction: InputSignal<DBStackProps[\"direction\"]> =\n input<DBStackProps[\"direction\"]>();\n alignment: InputSignal<DBStackProps[\"alignment\"]> =\n input<DBStackProps[\"alignment\"]>();\n justifyContent: InputSignal<DBStackProps[\"justifyContent\"]> =\n input<DBStackProps[\"justifyContent\"]>();\n wrap: InputSignal<DBStackProps[\"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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-stack\");\n }\n }\n}\n","import { GapSpacingProps, GlobalProps, GlobalState } from '../../shared/model';\nexport const StackVariantList = ['simple', 'divider'] as const;\nexport type StackVariantType = (typeof StackVariantList)[number];\nexport const StackDirectionList = ['row', 'column'] as const;\nexport type StackDirectionType = (typeof StackDirectionList)[number];\nexport const StackAlignmentList = ['stretch', 'start', 'end', 'center'] as const;\nexport type StackAlignmentType = (typeof StackAlignmentList)[number];\nexport const StackJustifyContentList = ['space-between', 'start', 'end', 'center'] as const;\nexport type StackJustifyContentType = (typeof StackJustifyContentList)[number];\nexport type DBStackDefaultProps = {\n /**\n * Change variant of stack. To use variant=\"divider\" add a DBDivider after each element\n */\n variant?: StackVariantType;\n /**\n * Set the direction of the stack. Defaults to \"column\"\n */\n direction?: StackDirectionType;\n /**\n * If the stack should wrap if parent is too small otherwise you get an overflow\n */\n wrap?: boolean | string;\n /**\n * Represents css align-items\n */\n alignment?: StackAlignmentType;\n /**\n * Represents css justify-content\n */\n justifyContent?: StackJustifyContentType;\n};\nexport type DBStackProps = DBStackDefaultProps & GlobalProps & GapSpacingProps;\nexport type DBStackDefaultState = {};\nexport type DBStackState = DBStackDefaultState & GlobalState","import {\n Component,\n viewChild,\n ElementRef,\n model,\n output,\n input,\n effect,\n signal,\n OnDestroy,\n AfterViewInit,\n InputSignal,\n ModelSignal,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\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 {\n ChangeEvent,\n GeneralKeyboardEvent,\n InteractionEvent,\n} from \"../../shared/model\";\nimport {\n cls,\n delay,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n addCheckedResetEventListener,\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBSwitchProps, DBSwitchState } from \"./model\";\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, DBInfotext],\n template: `<div\n [attr.data-visual-aid]=\"getBooleanAsString(visualAid())\"\n [attr.data-size]=\"size()\"\n [attr.data-hide-label]=\"getHideProp(showLabel())\"\n [attr.data-variant]=\"variant()\"\n [attr.data-hide-asterisk]=\"getHideProp(showRequiredAsterisk())\"\n [attr.data-custom-validity]=\"validation()\"\n [class]=\"cls('db-switch', className())\"\n >\n <label [attr.for]=\"_id()\"\n ><input\n type=\"checkbox\"\n role=\"switch\"\n [attr.id]=\"_id()\"\n #_ref\n [checked]=\"getBoolean(checked(), 'checked')\"\n [attr.value]=\"value()\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [attr.aria-invalid]=\"validation() === 'invalid' ? 'true' : undefined\"\n [attr.aria-describedby]=\"_descByIds()\"\n [attr.name]=\"name()\"\n [required]=\"getBoolean(required(), 'required')\"\n [attr.data-aid-icon]=\"iconLeading() ?? icon()\"\n [attr.data-aid-icon-trailing]=\"iconTrailing()\"\n (change)=\"handleChange($event)\"\n (blur)=\"handleBlur($event)\"\n (focus)=\"handleFocus($event)\"\n (keydown)=\"handleKeyDown($event)\"\n />\n @if(label()){ {{label()}} }@else{\n <ng-content></ng-content>\n }</label\n >\n @if(stringPropVisible(message(), showMessage())){\n <db-infotext\n size=\"small\"\n semantic=\"adaptive\"\n [id]=\"_messageId()\"\n [icon]=\"messageIcon()\"\n >{{message()}}</db-infotext\n >\n } @if(hasValidState()){\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n [id]=\"_validMessageId()\"\n >{{validMessage() ?? DEFAULT_VALID_MESSAGE}}</db-infotext\n >\n }\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n [id]=\"_invalidMessageId()\"\n >{{_invalidMessage() ?? invalidMessage() ??\n DEFAULT_INVALID_MESSAGE}}</db-infotext\n >\n <span\n data-visually-hidden=\"true\"\n role=\"status\"\n >{{_voiceOverFallback()}}</span\n >\n </div> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBSwitch implements AfterViewInit, ControlValueAccessor, OnDestroy {\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly getHideProp = getHideProp;\n protected readonly cls = cls;\n protected readonly getBoolean = getBoolean;\n protected readonly stringPropVisible = stringPropVisible;\n protected readonly DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;\n protected readonly DEFAULT_INVALID_MESSAGE = DEFAULT_INVALID_MESSAGE;\n\n id: InputSignal<DBSwitchProps[\"id\"]> = input<DBSwitchProps[\"id\"]>();\n validation: InputSignal<DBSwitchProps[\"validation\"]> =\n input<DBSwitchProps[\"validation\"]>();\n required: InputSignal<DBSwitchProps[\"required\"]> =\n input<DBSwitchProps[\"required\"]>();\n message: InputSignal<DBSwitchProps[\"message\"]> =\n input<DBSwitchProps[\"message\"]>();\n showMessage: InputSignal<DBSwitchProps[\"showMessage\"]> =\n input<DBSwitchProps[\"showMessage\"]>();\n validMessage: InputSignal<DBSwitchProps[\"validMessage\"]> =\n input<DBSwitchProps[\"validMessage\"]>();\n invalidMessage: InputSignal<DBSwitchProps[\"invalidMessage\"]> =\n input<DBSwitchProps[\"invalidMessage\"]>();\n checked: ModelSignal<DBSwitchProps[\"checked\"]> =\n model<DBSwitchProps[\"checked\"]>();\n disabled: ModelSignal<DBSwitchProps[\"disabled\"]> =\n model<DBSwitchProps[\"disabled\"]>();\n visualAid: InputSignal<DBSwitchProps[\"visualAid\"]> =\n input<DBSwitchProps[\"visualAid\"]>();\n size: InputSignal<DBSwitchProps[\"size\"]> = input<DBSwitchProps[\"size\"]>();\n showLabel: InputSignal<DBSwitchProps[\"showLabel\"]> =\n input<DBSwitchProps[\"showLabel\"]>();\n variant: InputSignal<DBSwitchProps[\"variant\"]> =\n input<DBSwitchProps[\"variant\"]>();\n showRequiredAsterisk: InputSignal<DBSwitchProps[\"showRequiredAsterisk\"]> =\n input<DBSwitchProps[\"showRequiredAsterisk\"]>();\n className: InputSignal<DBSwitchProps[\"className\"]> =\n input<DBSwitchProps[\"className\"]>();\n value: InputSignal<DBSwitchProps[\"value\"]> = input<DBSwitchProps[\"value\"]>();\n name: InputSignal<DBSwitchProps[\"name\"]> = input<DBSwitchProps[\"name\"]>();\n iconLeading: InputSignal<DBSwitchProps[\"iconLeading\"]> =\n input<DBSwitchProps[\"iconLeading\"]>();\n icon: InputSignal<DBSwitchProps[\"icon\"]> = input<DBSwitchProps[\"icon\"]>();\n iconTrailing: InputSignal<DBSwitchProps[\"iconTrailing\"]> =\n input<DBSwitchProps[\"iconTrailing\"]>();\n label: InputSignal<DBSwitchProps[\"label\"]> = input<DBSwitchProps[\"label\"]>();\n messageIcon: InputSignal<DBSwitchProps[\"messageIcon\"]> =\n input<DBSwitchProps[\"messageIcon\"]>();\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 _messageId = signal<DBSwitchState[\"_messageId\"]>(undefined);\n _validMessageId = signal<DBSwitchState[\"_validMessageId\"]>(undefined);\n _invalidMessageId = signal<DBSwitchState[\"_invalidMessageId\"]>(undefined);\n _invalidMessage = signal<DBSwitchState[\"_invalidMessage\"]>(undefined);\n _descByIds = signal<DBSwitchState[\"_descByIds\"]>(undefined);\n _voiceOverFallback = signal<DBSwitchState[\"_voiceOverFallback\"]>(\"\");\n abortController = signal<DBSwitchState[\"abortController\"]>(undefined);\n\n hasValidState() {\n return !!(this.validMessage() ?? this.validation() === \"valid\");\n }\n handleValidation() {\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(\n this._invalidMessage() || DEFAULT_INVALID_MESSAGE\n );\n delay(() => {\n this._voiceOverFallback.set(\"\");\n }, 1000);\n }\n return;\n }\n 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(() => {\n this._voiceOverFallback.set(\"\");\n }, 1000);\n }\n return;\n }\n if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(this._messageId()!);\n return;\n }\n this._descByIds.set(undefined);\n }\n handleChange(event: ChangeEvent<HTMLInputElement>, reset?: boolean) {\n if (this.change) {\n // We need to split the if statements for generation\n if (reset) {\n this.change.emit(event);\n }\n }\n this.handleValidation();\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 handleKeyDown(event: GeneralKeyboardEvent<HTMLInputElement>) {\n // Support ENTER key for toggling the switch (a11y requirement)\n if (event.key === \"Enter\") {\n event.preventDefault();\n // Toggle the switch by clicking it programmatically\n if (!this.disabled()) {\n (this._ref()?.nativeElement as HTMLInputElement)?.click();\n }\n }\n }\n\n constructor(private renderer: Renderer2,) {\n if (typeof window !== \"undefined\") {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.validation();\n this.required();\n this.message();\n this.showMessage();\n this.validMessage();\n this.invalidMessage();\n this.checked();\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._ref();\n // ---\n\n if (this._ref()?.nativeElement) {\n const defaultChecked = undefined;\n let controller = this.abortController();\n if (!controller) {\n controller = new AbortController();\n this.abortController.set(controller);\n }\n addCheckedResetEventListener(\n this._ref()?.nativeElement,\n {\n checked: this.checked(),\n defaultChecked,\n },\n (event) => {\n this.handleChange(event, true);\n },\n controller.signal\n );\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \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\tngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-switch\");\n this._id.set(this.id() ?? `switch-${uuid()}`);\n this._messageId.set(`${this._id()}${DEFAULT_MESSAGE_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.handleValidation();\n }\n }\n\n ngOnDestroy() {\n this.abortController()?.abort();\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n model,\n output,\n input,\n effect,\n signal,\n OnDestroy,\n AfterViewInit,\n InputSignal,\n ModelSignal,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls, getBoolean, getBooleanAsString } from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport type { DBTabItemProps, DBTabItemState } from \"./model\";\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: `<li role=\"none\" [class]=\"cls('db-tab-item', className())\">\n <label\n [attr.for]=\"id()\"\n [attr.data-icon]=\"iconLeading() ?? icon()\"\n [attr.data-icon-trailing]=\"iconTrailing()\"\n [attr.data-show-icon]=\"getBooleanAsString(showIconLeading() ?? showIcon())\"\n [attr.data-show-icon-trailing]=\"getBooleanAsString(showIconTrailing())\"\n [attr.data-no-text]=\"getBooleanAsString(noText())\"\n ><input\n type=\"radio\"\n role=\"tab\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [attr.aria-selected]=\"_selected()\"\n [attr.checked]=\"getBoolean(checked(), 'checked')\"\n #_ref\n [attr.name]=\"_name()\"\n [attr.id]=\"id()\"\n (input)=\"handleChange($event)\" />\n @if(label()){ {{label()}} } <ng-content></ng-content\n ></label>\n </li> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBTabItem implements AfterViewInit, ControlValueAccessor, OnDestroy {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly getBoolean = getBoolean;\n\n active: InputSignal<DBTabItemProps[\"active\"]> =\n input<DBTabItemProps[\"active\"]>();\n name: InputSignal<DBTabItemProps[\"name\"]> = input<DBTabItemProps[\"name\"]>();\n className: InputSignal<DBTabItemProps[\"className\"]> =\n input<DBTabItemProps[\"className\"]>();\n id: InputSignal<DBTabItemProps[\"id\"]> = input<DBTabItemProps[\"id\"]>();\n iconLeading: InputSignal<DBTabItemProps[\"iconLeading\"]> =\n input<DBTabItemProps[\"iconLeading\"]>();\n icon: InputSignal<DBTabItemProps[\"icon\"]> = input<DBTabItemProps[\"icon\"]>();\n iconTrailing: InputSignal<DBTabItemProps[\"iconTrailing\"]> =\n input<DBTabItemProps[\"iconTrailing\"]>();\n showIconLeading: InputSignal<DBTabItemProps[\"showIconLeading\"]> =\n input<DBTabItemProps[\"showIconLeading\"]>();\n showIcon: InputSignal<DBTabItemProps[\"showIcon\"]> =\n input<DBTabItemProps[\"showIcon\"]>();\n showIconTrailing: InputSignal<DBTabItemProps[\"showIconTrailing\"]> =\n input<DBTabItemProps[\"showIconTrailing\"]>();\n noText: InputSignal<DBTabItemProps[\"noText\"]> =\n input<DBTabItemProps[\"noText\"]>();\n disabled: ModelSignal<DBTabItemProps[\"disabled\"]> =\n model<DBTabItemProps[\"disabled\"]>();\n checked: ModelSignal<DBTabItemProps[\"checked\"]> =\n model<DBTabItemProps[\"checked\"]>();\n label: InputSignal<DBTabItemProps[\"label\"]> =\n 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 _listenerAdded = signal<DBTabItemState[\"_listenerAdded\"]>(false);\n boundSetSelectedOnChange =\n signal<DBTabItemState[\"boundSetSelectedOnChange\"]>(undefined);\n\n setSelectedOnChange(event: any) {\n event.stopPropagation();\n this._selected.set(event.target === this._ref()!.nativeElement);\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 if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event, \"checked\");\n }\n\n constructor(private renderer: Renderer2,) {\n if (typeof window !== \"undefined\") {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.initialized();\n this.boundSetSelectedOnChange();\n // ---\n\n if (\n this._ref()?.nativeElement &&\n this.initialized() &&\n this.boundSetSelectedOnChange()\n ) {\n this.initialized.set(false);\n\n // deselect this tab when another tab in tablist is selected\n if (!this._listenerAdded()) {\n this._ref()\n ?.nativeElement.closest(\"[role=tablist]\")\n ?.addEventListener(\"change\", this.boundSetSelectedOnChange());\n this._listenerAdded.set(true);\n }\n\n // Initialize selected state from either active prop (set by parent) or checked attribute\n if (this.active() || this._ref()?.nativeElement.checked) {\n this._selected.set(true);\n this._ref()?.nativeElement.click();\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.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 /**\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\tngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tab-item\");\n this.boundSetSelectedOnChange.set(this.setSelectedOnChange.bind(this));\n this.initialized.set(true);\n }\n }\n\n ngOnDestroy() {\n if (\n this._listenerAdded() &&\n this._ref()?.nativeElement &&\n this.boundSetSelectedOnChange()\n ) {\n this._ref()\n ?.nativeElement.closest(\"[role=tablist]\")\n ?.removeEventListener(\"change\", this.boundSetSelectedOnChange());\n this._listenerAdded.set(false);\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_ID } from \"../../shared/constants\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBTabListProps, DBTabListState } from \"./model\";\n\n@Component({\n selector: \"db-tab-list\",\n standalone: true,\n imports: [CommonModule],\n template: `<div\n #_ref\n [attr.id]=\"_id()\"\n [class]=\"cls('db-tab-list', className())\"\n >\n <ul role=\"tablist\">\n <ng-content></ng-content>\n </ul>\n </div> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBTabList implements AfterViewInit {\n protected readonly cls = cls;\n\n id: InputSignal<DBTabListProps[\"id\"]> = input<DBTabListProps[\"id\"]>();\n className: InputSignal<DBTabListProps[\"className\"]> =\n 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 ngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tab-list\");\n this._id.set(this.id() || \"tab-list-\" + uuid());\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls } from \"../../utils\";\nimport { DBTabPanelProps, DBTabPanelState } from \"./model\";\n\n@Component({\n selector: \"db-tab-panel\",\n standalone: true,\n imports: [CommonModule],\n template: `<section\n role=\"tabpanel\"\n #_ref\n [class]=\"cls('db-tab-panel', className())\"\n [attr.id]=\"id()\"\n >\n @if(content()){ {{content()}} } <ng-content></ng-content>\n </section> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBTabPanel implements AfterViewInit {\n protected readonly cls = cls;\n\n className: InputSignal<DBTabPanelProps[\"className\"]> =\n input<DBTabPanelProps[\"className\"]>();\n id: InputSignal<DBTabPanelProps[\"id\"]> = input<DBTabPanelProps[\"id\"]>();\n content: InputSignal<DBTabPanelProps[\"content\"]> =\n 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 ngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tab-panel\");\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\n OnDestroy,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { InputEvent } from \"../../shared/model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBTabItem } from \"../tab-item/tab-item\";\nimport { DBTabList } from \"../tab-list/tab-list\";\nimport { DBTabPanel } from \"../tab-panel/tab-panel\";\nimport { DBSimpleTabProps, DBTabsProps, DBTabsState } from \"./model\";\n\n@Component({\n selector: \"db-tabs\",\n standalone: true,\n imports: [CommonModule, DBButton, DBTabList, DBTabItem, DBTabPanel],\n template: `<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 (change)=\"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(index, tab);let index =\n $index) {\n <db-tab-item\n [active]=\"tab.active\"\n [label]=\"tab.label\"\n [iconTrailing]=\"tab.iconTrailing\"\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(index, tab);let index = $index)\n {\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 styles: `:host { display: contents; }`,\n})\nexport class DBTabs implements AfterViewInit, OnDestroy {\n protected readonly cls = cls;\n\n id: InputSignal<DBTabsProps[\"id\"]> = input<DBTabsProps[\"id\"]>();\n name: InputSignal<DBTabsProps[\"name\"]> = input<DBTabsProps[\"name\"]>();\n tabs: InputSignal<DBTabsProps[\"tabs\"]> = input<DBTabsProps[\"tabs\"]>();\n arrowScrollDistance: InputSignal<DBTabsProps[\"arrowScrollDistance\"]> =\n input<DBTabsProps[\"arrowScrollDistance\"]>();\n orientation: InputSignal<DBTabsProps[\"orientation\"]> =\n input<DBTabsProps[\"orientation\"]>();\n behavior: InputSignal<DBTabsProps[\"behavior\"]> =\n input<DBTabsProps[\"behavior\"]>();\n initialSelectedMode: InputSignal<DBTabsProps[\"initialSelectedMode\"]> =\n input<DBTabsProps[\"initialSelectedMode\"]>();\n initialSelectedIndex: InputSignal<DBTabsProps[\"initialSelectedIndex\"]> =\n input<DBTabsProps[\"initialSelectedIndex\"]>();\n className: InputSignal<DBTabsProps[\"className\"]> =\n input<DBTabsProps[\"className\"]>();\n alignment: InputSignal<DBTabsProps[\"alignment\"]> =\n input<DBTabsProps[\"alignment\"]>();\n width: InputSignal<DBTabsProps[\"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 _resizeObserver = signal<DBTabsState[\"_resizeObserver\"]>(undefined);\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 // Use ResizeObserver to re-evaluate scroll buttons because it provides more accurate, container-specific resize detection than global window resize events.\n if (!this._resizeObserver()) {\n const observer = new ResizeObserver(() => {\n this.evaluateScrollButtons(container);\n });\n observer.observe(container);\n this._resizeObserver.set(observer);\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: InputEvent<HTMLElement>) {\n event.stopPropagation();\n if (event.target) {\n const target = event.target as HTMLElement;\n const parent = target.parentElement;\n if (\n parent &&\n parent.parentElement &&\n parent.parentElement?.nodeName === \"LI\"\n ) {\n const tabItem = parent.parentElement.parentElement;\n if (tabItem) {\n const list = tabItem.parentElement;\n if (list) {\n const tabIndex = Array.from(list.children).indexOf(tabItem);\n if (this.indexChange) {\n this.indexChange.emit(tabIndex);\n }\n if (this.tabSelect) {\n this.tabSelect.emit(event);\n }\n }\n }\n }\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 if (typeof window !== \"undefined\") {\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 /**\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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tabs\");\n this._id.set(this.id() || this._id());\n this._name.set(`tabs-${this.name() || uuid()}`);\n this.initialized.set(true);\n }\n }\n\n ngOnDestroy() {\n this._resizeObserver()?.disconnect();\n this._resizeObserver.set(undefined);\n }\n}\n","import { AlignmentProps, GlobalProps, GlobalState, InitializedState, InputEvent, OrientationProps, WidthProps } from '../../shared/model';\nimport { DBTabItemProps } from '../tab-item/model';\nimport { DBTabPanelProps } from '../tab-panel/model';\nexport const TabsBehaviorList = ['scrollbar', 'arrows'] as const;\nexport type TabsBehaviorType = (typeof TabsBehaviorList)[number];\nexport const TabsInitialSelectedModeList = ['auto', 'manually'] as const;\nexport type TabsInitialSelectedModeType = (typeof TabsInitialSelectedModeList)[number];\nexport type DBSimpleTabProps = DBTabItemProps & DBTabPanelProps;\nexport type DBTabsDefaultProps = {\n /**\n * Change amount of distance if you click on an arrow, only available with behavior=\"arrows\"\n */\n arrowScrollDistance?: number | string;\n /**\n * Show a scrollbar or buttons with arrows to navigate for horizontal tabs with overflow visible\n */\n behavior?: TabsBehaviorType;\n\n /**\n * Default behavior is auto selecting the first tab, change selected tab by index\n */\n initialSelectedIndex?: number | string;\n\n /**\n * Default behavior is auto selecting the first tab, disable it with 'manually'\n */\n initialSelectedMode?: TabsInitialSelectedModeType;\n\n /**\n * The name of the tab bar, is required for grouping multiple tabs together. Will overwrite names from children.\n */\n name?: string;\n\n /**\n * Provide simple tabs with label + text as content\n */\n tabs?: DBSimpleTabProps[] | string;\n};\nexport type DBTabsEventProps = {\n /**\n * Informs the user if the current tab index has changed.\n */\n indexChange?: (index?: number) => void;\n\n /**\n * Informs the user if the current tab index has changed.\n */\n onIndexChange?: (index?: number) => void;\n /**\n * Informs the user if another tab has been selected.\n */\n onTabSelect?: (event?: InputEvent<HTMLElement>) => void;\n\n /**\n * Informs the user if another tab has been selected.\n */\n tabSelect?: (event?: InputEvent<HTMLElement>) => void;\n};\nexport type DBTabsProps = DBTabsDefaultProps & GlobalProps & OrientationProps & WidthProps & AlignmentProps & DBTabsEventProps;\nexport type DBTabsDefaultState = {\n _name: string;\n scrollContainer?: Element | null;\n scroll: (left?: boolean) => void;\n showScrollLeft?: boolean;\n showScrollRight?: boolean;\n evaluateScrollButtons: (tabList: Element) => void;\n convertTabs: () => DBSimpleTabProps[];\n initTabList: () => void;\n initTabs: (init?: boolean) => void;\n handleChange: (event: InputEvent<HTMLElement>) => void;\n _resizeObserver?: ResizeObserver;\n};\nexport type DBTabsState = DBTabsDefaultState & GlobalState & InitializedState","import { ClickEvent, ContentSlotProps, EmphasisProps, GlobalProps, GlobalState, IconProps, OverflowProps, SemanticProps, ShowIconProps } from '../../shared/model';\nexport const TagBehaviorList = ['static', 'removable'] as const;\nexport type TagBehaviorType = (typeof TagBehaviorList)[number];\nexport type DBTagEventsProps = {\n /**\n * If \"removeButton\" attribute is set this function will be called when user clicks cancel button inside the tag.\n */\n onRemove?: (event?: ClickEvent<HTMLButtonElement> | void) => void;\n /**\n * If \"removeButton\" attribute is set this function will be called when user clicks cancel button inside the tag.\n */\n remove?: (event?: ClickEvent<HTMLButtonElement> | void) => void;\n};\nexport type DBTagDefaultProps = {\n /**\n *\tDefines the behavior of the component:\n *\t- static: default behavior without remove button\n * - removable: add a remove button at the end of the tag\n */\n behavior?: TagBehaviorType | string;\n\n /**\n * Define the text next to the icon specified via the icon Property to get hidden.\n */\n noText?: boolean | string;\n /**\n * The removeButton attribute shows the cancel button.\n */\n removeButton?: string;\n /**\n * Enable/Disable icon for checkbox/radio inside tag.\n */\n showCheckState?: boolean | string;\n /**\n * Alternative for children to set content as property.\n */\n text?: string;\n\n /**\n * If \"interactive\" is set to true, you can pass a value to the underlying checkbox or radio input.\n */\n value?: string;\n};\nexport type DBTagProps = DBTagDefaultProps & GlobalProps & IconProps & SemanticProps & OverflowProps & EmphasisProps & ShowIconProps & ContentSlotProps & DBTagEventsProps;\nexport type DBTagDefaultState = {\n getRemoveButtonText: () => string;\n handleRemove: (event?: ClickEvent<HTMLButtonElement> | void) => void;\n};\nexport type DBTagState = DBTagDefaultState & GlobalState","import {\n Component,\n viewChild,\n ElementRef,\n model,\n output,\n input,\n effect,\n signal,\n OnDestroy,\n AfterViewInit,\n InputSignal,\n ModelSignal,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\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 cls,\n delay,\n getBoolean,\n getHideProp,\n getNumber,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n addValueResetEventListener,\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBTextareaProps, DBTextareaState } from \"./model\";\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: `<div\n [class]=\"cls('db-textarea', className())\"\n [attr.data-variant]=\"variant()\"\n [attr.data-hide-asterisk]=\"getHideProp(showRequiredAsterisk())\"\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\n size=\"small\"\n [icon]=\"messageIcon()\"\n [id]=\"_messageId()\"\n >{{message()}}</db-infotext\n >\n } @if(hasValidState()){\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n [id]=\"_validMessageId()\"\n >{{validMessage() || DEFAULT_VALID_MESSAGE}}</db-infotext\n >\n }\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n [id]=\"_invalidMessageId()\"\n >{{_invalidMessage()}}</db-infotext\n >\n <span\n data-visually-hidden=\"true\"\n role=\"status\"\n >{{_voiceOverFallback()}}</span\n >\n </div> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBTextarea implements AfterViewInit, ControlValueAccessor, OnDestroy {\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: InputSignal<DBTextareaProps[\"id\"]> = input<DBTextareaProps[\"id\"]>();\n invalidMessage: InputSignal<DBTextareaProps[\"invalidMessage\"]> =\n input<DBTextareaProps[\"invalidMessage\"]>();\n message: InputSignal<DBTextareaProps[\"message\"]> =\n input<DBTextareaProps[\"message\"]>();\n showMessage: InputSignal<DBTextareaProps[\"showMessage\"]> =\n input<DBTextareaProps[\"showMessage\"]>();\n value: ModelSignal<DBTextareaProps[\"value\"]> =\n model<DBTextareaProps[\"value\"]>();\n validMessage: InputSignal<DBTextareaProps[\"validMessage\"]> =\n input<DBTextareaProps[\"validMessage\"]>();\n validation: InputSignal<DBTextareaProps[\"validation\"]> =\n input<DBTextareaProps[\"validation\"]>();\n required: InputSignal<DBTextareaProps[\"required\"]> =\n input<DBTextareaProps[\"required\"]>();\n minLength: InputSignal<DBTextareaProps[\"minLength\"]> =\n input<DBTextareaProps[\"minLength\"]>();\n maxLength: InputSignal<DBTextareaProps[\"maxLength\"]> =\n input<DBTextareaProps[\"maxLength\"]>();\n className: InputSignal<DBTextareaProps[\"className\"]> =\n input<DBTextareaProps[\"className\"]>();\n variant: InputSignal<DBTextareaProps[\"variant\"]> =\n input<DBTextareaProps[\"variant\"]>();\n showRequiredAsterisk: InputSignal<DBTextareaProps[\"showRequiredAsterisk\"]> =\n input<DBTextareaProps[\"showRequiredAsterisk\"]>();\n showLabel: InputSignal<DBTextareaProps[\"showLabel\"]> =\n input<DBTextareaProps[\"showLabel\"]>();\n label: InputSignal<DBTextareaProps[\"label\"]> =\n input<DBTextareaProps[\"label\"]>();\n fieldSizing: InputSignal<DBTextareaProps[\"fieldSizing\"]> =\n input<DBTextareaProps[\"fieldSizing\"]>();\n resize: InputSignal<DBTextareaProps[\"resize\"]> =\n input<DBTextareaProps[\"resize\"]>();\n showResizer: InputSignal<DBTextareaProps[\"showResizer\"]> =\n input<DBTextareaProps[\"showResizer\"]>();\n disabled: ModelSignal<DBTextareaProps[\"disabled\"]> =\n model<DBTextareaProps[\"disabled\"]>();\n readOnly: InputSignal<DBTextareaProps[\"readOnly\"]> =\n input<DBTextareaProps[\"readOnly\"]>();\n readonly: InputSignal<DBTextareaProps[\"readonly\"]> =\n input<DBTextareaProps[\"readonly\"]>();\n form: InputSignal<DBTextareaProps[\"form\"]> = input<DBTextareaProps[\"form\"]>();\n maxlength: InputSignal<DBTextareaProps[\"maxlength\"]> =\n input<DBTextareaProps[\"maxlength\"]>();\n minlength: InputSignal<DBTextareaProps[\"minlength\"]> =\n input<DBTextareaProps[\"minlength\"]>();\n name: InputSignal<DBTextareaProps[\"name\"]> = input<DBTextareaProps[\"name\"]>();\n wrap: InputSignal<DBTextareaProps[\"wrap\"]> = input<DBTextareaProps[\"wrap\"]>();\n spellCheck: InputSignal<DBTextareaProps[\"spellCheck\"]> =\n input<DBTextareaProps[\"spellCheck\"]>();\n autocomplete: InputSignal<DBTextareaProps[\"autocomplete\"]> =\n input<DBTextareaProps[\"autocomplete\"]>();\n ariaDescribedBy: InputSignal<DBTextareaProps[\"ariaDescribedBy\"]> =\n input<DBTextareaProps[\"ariaDescribedBy\"]>();\n placeholder: InputSignal<DBTextareaProps[\"placeholder\"]> =\n input<DBTextareaProps[\"placeholder\"]>();\n rows: InputSignal<DBTextareaProps[\"rows\"]> = input<DBTextareaProps[\"rows\"]>();\n cols: InputSignal<DBTextareaProps[\"cols\"]> = input<DBTextareaProps[\"cols\"]>();\n messageIcon: InputSignal<DBTextareaProps[\"messageIcon\"]> =\n 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\"]>(undefined);\n _value = signal<DBTextareaState[\"_value\"]>(\"\");\n _voiceOverFallback = signal<DBTextareaState[\"_voiceOverFallback\"]>(\"\");\n abortController = signal<DBTextareaState[\"abortController\"]>(undefined);\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(undefined);\n }\n }\n handleInput(event: InputEvent<HTMLTextAreaElement>, reset?: boolean) {\n if (this.input) {\n if (reset) {\n this.input.emit(event);\n }\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLTextAreaElement>, reset?: boolean) {\n if (this.change) {\n // We need to split the if statements for generation\n if (reset) {\n this.change.emit(event);\n }\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 if (typeof window !== \"undefined\") {\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 this.handleValidation();\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 effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n // ---\n\n if (this._ref()?.nativeElement) {\n const defaultValue = undefined;\n let controller = this.abortController();\n if (!controller) {\n controller = new AbortController();\n this.abortController.set(controller);\n }\n addValueResetEventListener(\n this._ref()?.nativeElement,\n {\n value: this.value(),\n defaultValue,\n },\n (event) => {\n this.handleChange(event, true);\n this.handleInput(event, true);\n },\n controller.signal\n );\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \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\tngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-textarea\");\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(\n this.invalidMessage() || DEFAULT_INVALID_MESSAGE\n );\n }\n }\n\n ngOnDestroy() {\n this.abortController()?.abort();\n }\n}\n","import { ChangeEventProps, ChangeEventState, FocusEventProps, FocusEventState, FormMessageProps, FormProps, FormState, FormTextProps, FromValidState, GlobalProps, GlobalState, InputEventProps, InputEventState } from '../../shared/model';\nexport const TextareaResizeList = ['none', 'both', 'horizontal', 'vertical'] as const;\nexport type TextareaResizeType = (typeof TextareaResizeList)[number];\nexport const TextareaWrapList = ['hard', 'soft', 'off'] as const;\nexport type TextareaWrapType = (typeof TextareaWrapList)[number];\nexport type DBTextareaDefaultProps = {\n /**\n * The visible width of the text control, in average character widths. If it is specified, it must be a positive integer\n */\n cols?: number | string;\n /**\n * In most browsers, textareas are resizable — you'll notice the drag handle in the right-hand corner, you can control it with this\n */\n resize?: TextareaResizeType;\n\n /**\n * Show/Hides drag handle in the right-hand corner - default: true\n */\n showResizer?: boolean | string;\n\n /**\n * The number of visible text lines for the control. If it is specified, it must be a positive integer\n */\n rows?: number | string;\n /**\n * Specifies whether the textarea is subject to spell checking by the underlying browser/OS\n */\n spellCheck?: boolean;\n\n /**\n * Indicates how the control should wrap the value for form submission.\n */\n wrap?: TextareaWrapType;\n};\nexport type DBTextareaProps = DBTextareaDefaultProps & ChangeEventProps<HTMLTextAreaElement> & InputEventProps<HTMLTextAreaElement> & FocusEventProps<HTMLTextAreaElement> & FormProps & GlobalProps & FormTextProps & FormMessageProps;\nexport type DBTextareaDefaultState = {};\nexport type DBTextareaState = DBTextareaDefaultState & ChangeEventState<HTMLTextAreaElement> & InputEventState<HTMLTextAreaElement> & FocusEventState<HTMLTextAreaElement> & FormState & GlobalState & FromValidState","import { ClickEventState, DocumentScrollState, EmphasisProps, GlobalProps, GlobalState, InitializedState, PlacementProps, PopoverProps, PopoverState } from '../../shared/model';\nexport const TooltipVariantList = ['description', 'label'] as const;\nexport type TooltipVariantType = (typeof TooltipVariantList)[number];\nexport type DBTooltipDefaultProps = {\n /**\n * Show/Hides arrow\n */\n showArrow?: boolean | string;\n /**\n * Change the behavior of the tooltip:\n * - description: Adds `aria-describedby` to parent\n * - label: Adds `aria-labelledby` to parent\n */\n variant?: TooltipVariantType;\n};\nexport type DBTooltipProps = DBTooltipDefaultProps & GlobalProps & EmphasisProps & PlacementProps & PopoverProps;\nexport type DBTooltipDefaultState = {\n getParent: () => HTMLElement;\n};\nexport type DBTooltipState = DBTooltipDefaultState & GlobalState & ClickEventState<HTMLElement> & PopoverState & InitializedState & DocumentScrollState","/* 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 * [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 ShowIconLeadingProps = {\n /**\n * Enables or disables the visibility of the leading icon.\n * For many components this property is optional to reflect Figma properties.\n */\n showIconLeading?: boolean | string;\n};\nexport type ShowIconTrailingProps = {\n /**\n * Enables or disables the visibility of the trailing icon.\n * For many components this property is optional to reflect Figma properties.\n */\n showIconTrailing?: boolean | string;\n};\nexport type IconLeadingProps = {\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 iconLeading?: IconTypes;\n};\nexport type IconTrailingProps = {\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 iconTrailing?: 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: any) => 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 type WrapProps = {\n /**\n * Determines whether the text should wrap when its parent container is too small, preventing overflow.\n */\n wrap?: 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];\n\n/**\n * Properties to control the required state and its visual annotation for input components.\n */\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 * The form element will be marked semantically as required and by default also visually with an asterisk '*' next to the label (unless the property `showRequiredAsterisk` is also set with the value `false`).\n */\n required?: boolean | string;\n /**\n * This attribute allows to specify whether a form field which is marked as required will show a visual indicator (an asterisk '*').\n * It allows to prevent adding the visual indicator but still keep the field semantically required by setting its value to `false`.\n * By default, its value is `true`, so the asterisk is shown when `required` is set.\n */\n showRequiredAsterisk?: 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 LabelVariantHorizontalList = ['leading', 'trailing'] as const;\nexport type LabelVariantHorizontalType = (typeof LabelVariantHorizontalList)[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\n /**\n * We use this to remove form event listener\n */\n abortController?: AbortController;\n};\nexport type InitializedState = {\n initialized: boolean;\n};\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 * 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 * 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};\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 GeneralEvent<T> = Event;\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport type GeneralKeyboardEvent<T> = KeyboardEvent;\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) => void;\n onToggle?: (open: boolean) => void;\n};\nexport type ToggleEventState<T> = {\n handleToggle: (event?: ClickEvent<T> | any) => void;\n};\nexport type CloseEventProps<T> = {\n /**\n * Function to handle button click (close).\n */\n onClose?: (event?: T) => void;\n /**\n * Function to handle button click (close).\n */\n close?: (event?: T) => void;\n};\nexport type CloseEventState<T> = {\n handleClose: (event?: T | void, 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, reset?: boolean) => 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, reset?: boolean) => 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 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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["defaultProps","utilsDelay"],"mappings":"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"}
1
+ {"version":3,"file":"db-ux-ngx-core-components.mjs","sources":["../../../output/angular/src/shared/constants.ts","../../../output/angular/src/utils/index.ts","../../../output/angular/src/components/accordion-item/accordion-item.ts","../../../output/angular/src/components/accordion/accordion.ts","../../../output/angular/src/components/accordion/model.ts","../../../output/angular/src/components/badge/badge.ts","../../../output/angular/src/components/badge/model.ts","../../../output/angular/src/components/brand/brand.ts","../../../output/angular/src/components/button/button.ts","../../../output/angular/src/components/button/model.ts","../../../output/angular/src/components/card/card.ts","../../../output/angular/src/components/card/model.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/utils/document-click-listener.ts","../../../output/angular/src/utils/document-scroll-listener.ts","../../../output/angular/src/utils/floating-components.ts","../../../output/angular/src/components/custom-select-dropdown/custom-select-dropdown.ts","../../../output/angular/src/components/custom-select-list-item/custom-select-list-item.ts","../../../output/angular/src/components/custom-select-list/custom-select-list.ts","../../../output/angular/src/components/input/input.ts","../../../output/angular/src/components/tooltip/tooltip.ts","../../../output/angular/src/components/tag/tag.ts","../../../output/angular/src/components/custom-select/custom-select.ts","../../../output/angular/src/components/custom-select-dropdown/model.ts","../../../output/angular/src/components/custom-select-form-field/custom-select-form-field.ts","../../../output/angular/src/components/custom-select-list-item/model.ts","../../../output/angular/src/components/custom-select/model.ts","../../../output/angular/src/components/divider/divider.ts","../../../output/angular/src/components/divider/model.ts","../../../output/angular/src/components/drawer/drawer.ts","../../../output/angular/src/components/drawer/model.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/icon/model.ts","../../../output/angular/src/components/input/model.ts","../../../output/angular/src/components/link/link.ts","../../../output/angular/src/components/link/model.ts","../../../output/angular/src/components/navigation/navigation.ts","../../../output/angular/src/components/navigation-item/NavigationContent.directive.ts","../../../output/angular/src/components/navigation-item/navigation-item.ts","../../../output/angular/src/components/notification/notification.ts","../../../output/angular/src/components/notification/model.ts","../../../output/angular/src/components/page/page.ts","../../../output/angular/src/components/page/model.ts","../../../output/angular/src/components/popover/popover.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/stack/stack.ts","../../../output/angular/src/components/stack/model.ts","../../../output/angular/src/components/switch/switch.ts","../../../output/angular/src/components/tab-item/tab-item.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/components/tabs/model.ts","../../../output/angular/src/components/tag/model.ts","../../../output/angular/src/components/textarea/textarea.ts","../../../output/angular/src/components/textarea/model.ts","../../../output/angular/src/components/tooltip/model.ts","../../../output/angular/src/shared/model.ts","../../../output/angular/src/db-ux-ngx-core-components.ts"],"sourcesContent":["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 { ClickEvent, GeneralKeyboardEvent } from '../shared/model';\nexport 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));\n\n/**\n * Determines if the current browser is Safari running on an iOS device.\n *\n * This function checks the user agent string to verify both iOS platform\n * (iPad, iPhone, or iPod) and Safari browser, excluding other browsers\n * such as Chrome, Firefox, Opera, and Edge on iOS.\n *\n * @returns {boolean} `true` if the browser is Safari on iOS, otherwise `false`.\n */\nexport const isIOSSafari = (): boolean => {\n if (typeof window === 'undefined' || typeof navigator === 'undefined') return false;\n const ua = navigator.userAgent;\n // iOS detection\n const isIOS = /iP(ad|hone|od)/.test(ua);\n // Safari detection (not Chrome or Firefox on iOS)\n const isSafari = !!ua.match(/Safari/) && !ua.match(/CriOS|FxiOS|OPiOS|EdgiOS/);\n return isIOS && isSafari;\n};\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};\nexport const isKeyboardEvent = <T,>(event?: ClickEvent<T> | GeneralKeyboardEvent<T>): event is GeneralKeyboardEvent<T> => (event as GeneralKeyboardEvent<T>).key !== undefined","import {\n Component,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_ID } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { cls, getBooleanAsString, uuid } from \"../../utils\";\nimport { DBAccordionItemProps, DBAccordionItemState } from \"./model\";\n\n@Component({\n selector: \"db-accordion-item\",\n standalone: true,\n imports: [CommonModule],\n template: `<li\n [attr.id]=\"_id()\"\n [class]=\"cls('db-accordion-item', className())\"\n >\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 styles: `:host { display: contents; }`,\n})\nexport class DBAccordionItem implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n id: InputSignal<DBAccordionItemProps[\"id\"]> =\n input<DBAccordionItemProps[\"id\"]>();\n defaultOpen: InputSignal<DBAccordionItemProps[\"defaultOpen\"]> =\n input<DBAccordionItemProps[\"defaultOpen\"]>();\n name: InputSignal<DBAccordionItemProps[\"name\"]> =\n input<DBAccordionItemProps[\"name\"]>();\n className: InputSignal<DBAccordionItemProps[\"className\"]> =\n input<DBAccordionItemProps[\"className\"]>();\n disabled: InputSignal<DBAccordionItemProps[\"disabled\"]> =\n input<DBAccordionItemProps[\"disabled\"]>();\n headlinePlain: InputSignal<DBAccordionItemProps[\"headlinePlain\"]> =\n input<DBAccordionItemProps[\"headlinePlain\"]>();\n text: InputSignal<DBAccordionItemProps[\"text\"]> =\n 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 if (typeof window !== \"undefined\") {\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 /**\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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-accordion-item\");\n this._id.set(this.id() || \"accordion-item-\" + uuid());\n if (this.defaultOpen()) {\n this._open.set(this.defaultOpen());\n }\n this.initialized.set(true);\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_ID } from \"../../shared/constants\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBAccordionItem } from \"../accordion-item/accordion-item\";\nimport { DBAccordionItemDefaultProps } from \"../accordion-item/model\";\nimport { DBAccordionProps, DBAccordionState } from \"./model\";\n\n@Component({\n selector: \"db-accordion\",\n standalone: true,\n imports: [CommonModule, DBAccordionItem],\n template: `<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(index,\n item);let index = $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 styles: `:host { display: contents; }`,\n})\nexport class DBAccordion implements AfterViewInit {\n protected readonly cls = cls;\n\n id: InputSignal<DBAccordionProps[\"id\"]> = input<DBAccordionProps[\"id\"]>();\n name: InputSignal<DBAccordionProps[\"name\"]> =\n input<DBAccordionProps[\"name\"]>();\n behavior: InputSignal<DBAccordionProps[\"behavior\"]> =\n input<DBAccordionProps[\"behavior\"]>();\n initOpenIndex: InputSignal<DBAccordionProps[\"initOpenIndex\"]> =\n input<DBAccordionProps[\"initOpenIndex\"]>();\n items: InputSignal<DBAccordionProps[\"items\"]> =\n input<DBAccordionProps[\"items\"]>();\n className: InputSignal<DBAccordionProps[\"className\"]> =\n input<DBAccordionProps[\"className\"]>();\n variant: InputSignal<DBAccordionProps[\"variant\"]> =\n 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 if (typeof window !== \"undefined\") {\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\" &&\n 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 /**\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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-accordion\");\n this._id.set(this.id() || \"accordion-\" + uuid());\n this.initialized.set(true);\n this._initOpenIndexDone.set(true);\n }\n }\n}\n","import { GlobalProps, GlobalState, InitializedState } from '../../shared/model';\nimport { DBAccordionItemDefaultProps } from '../accordion-item/model';\nexport const AccordionVariantList = ['divider', 'card'] as const;\nexport type AccordionVariantType = (typeof AccordionVariantList)[number];\nexport const AccordionBehaviorList = ['multiple', 'single'] as const;\nexport type AccordionBehaviorType = (typeof AccordionBehaviorList)[number];\nexport type DBAccordionDefaultProps = {\n /**\n * To allow multiple items open at the same time or only 1 item\n */\n behavior?: AccordionBehaviorType;\n /**\n * The index of items which should be open when loading the accordion\n */\n initOpenIndex?: number[];\n\n /**\n * Alternative to pass in a simple representation of accordion items\n */\n items?: DBAccordionItemDefaultProps[] | string;\n\n /**\n * Set details name for exclusive accordions, see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details#name\n */\n name?: string;\n\n /**\n * Informs about the changes in the internal state, which item is open\n */\n onChange?: (openAccordionItemIds: string[]) => void;\n\n /**\n * Defines the display of the accordion and the items:\n * \"divider\": with a dividing line between the items\n * \"card\": w/o dividing line, but items are shown in the card variant\n */\n variant?: AccordionVariantType;\n};\nexport type DBAccordionProps = DBAccordionDefaultProps & GlobalProps;\nexport type DBAccordionDefaultState = {\n _initOpenIndexDone: boolean;\n _name?: string;\n convertItems: () => DBAccordionItemDefaultProps[];\n};\nexport type DBAccordionState = DBAccordionDefaultState & GlobalState & InitializedState","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_LABEL } from \"../../shared/constants\";\nimport { cls } from \"../../utils\";\nimport { DBBadgeProps, DBBadgeState } from \"./model\";\n\n@Component({\n selector: \"db-badge\",\n standalone: true,\n imports: [CommonModule],\n template: `<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 >@if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\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: InputSignal<DBBadgeProps[\"placement\"]> =\n input<DBBadgeProps[\"placement\"]>();\n id: InputSignal<DBBadgeProps[\"id\"]> = input<DBBadgeProps[\"id\"]>();\n className: InputSignal<DBBadgeProps[\"className\"]> =\n input<DBBadgeProps[\"className\"]>();\n semantic: InputSignal<DBBadgeProps[\"semantic\"]> =\n input<DBBadgeProps[\"semantic\"]>();\n size: InputSignal<DBBadgeProps[\"size\"]> = input<DBBadgeProps[\"size\"]>();\n emphasis: InputSignal<DBBadgeProps[\"emphasis\"]> =\n input<DBBadgeProps[\"emphasis\"]>();\n label: InputSignal<DBBadgeProps[\"label\"]> = input<DBBadgeProps[\"label\"]>();\n text: InputSignal<DBBadgeProps[\"text\"]> = input<DBBadgeProps[\"text\"]>();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n initialized = signal<DBBadgeState[\"initialized\"]>(false);\n\n constructor() {\n if (typeof window !== \"undefined\") {\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.dataset[\"hasBadge\"] = \"true\";\n }\n }\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-badge\");\n this.initialized.set(true);\n }\n }\n}\n","import { EmphasisProps, GlobalProps, GlobalState, InitializedState, SemanticProps, SizeProps, TextProps } from '../../shared/model';\nexport const BadgePlacementList = ['inline', 'corner-top-left', 'corner-top-right', 'corner-center-left', 'corner-center-right', 'corner-bottom-left', 'corner-bottom-right'] as const;\nexport type BadgePlacementType = (typeof BadgePlacementList)[number];\nexport type DBBadgeDefaultProps = {\n /**\n * The `placement` attributes `corner-*` values change the position to absolute and adds a transform based on the placement.\n */\n placement?: BadgePlacementType;\n\n /**\n * Describes the badge for a11y if you use placement attribute with `corner-*`\n */\n label?: string;\n};\nexport type DBBadgeProps = DBBadgeDefaultProps & GlobalProps & SemanticProps & SizeProps & EmphasisProps & TextProps;\nexport type DBBadgeDefaultState = {};\nexport type DBBadgeState = DBBadgeDefaultState & GlobalState & InitializedState","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_ICON } from \"../../shared/constants\";\nimport { cls, getBooleanAsString } from \"../../utils\";\nimport { DBBrandProps, DBBrandState } from \"./model\";\n\n@Component({\n selector: \"db-brand\",\n standalone: true,\n imports: [CommonModule],\n template: `<div\n #_ref\n [attr.data-icon]=\"hideLogo() ? 'none' : icon() ?? DEFAULT_ICON\"\n [attr.data-show-icon]=\"getBooleanAsString(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 styles: `:host { display: contents; }`,\n})\nexport class DBBrand implements AfterViewInit {\n protected readonly DEFAULT_ICON = DEFAULT_ICON;\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly cls = cls;\n\n hideLogo: InputSignal<DBBrandProps[\"hideLogo\"]> =\n input<DBBrandProps[\"hideLogo\"]>();\n icon: InputSignal<DBBrandProps[\"icon\"]> = input<DBBrandProps[\"icon\"]>();\n showIcon: InputSignal<DBBrandProps[\"showIcon\"]> =\n input<DBBrandProps[\"showIcon\"]>();\n id: InputSignal<DBBrandProps[\"id\"]> = input<DBBrandProps[\"id\"]>();\n className: InputSignal<DBBrandProps[\"className\"]> =\n input<DBBrandProps[\"className\"]>();\n text: InputSignal<DBBrandProps[\"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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-brand\");\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls, getBoolean, getBooleanAsString } from \"../../utils\";\nimport type { DBButtonProps, DBButtonState } from \"./model\";\n\n@Component({\n selector: \"db-button\",\n standalone: true,\n imports: [CommonModule],\n template: `<button\n #_ref\n [attr.id]=\"id()\"\n [class]=\"cls('db-button', className())\"\n [attr.type]=\"getButtonType()\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [attr.data-icon]=\"iconLeading() ?? icon()\"\n [attr.data-show-icon]=\"getBooleanAsString(showIconLeading() ?? showIcon())\"\n [attr.data-icon-trailing]=\"iconTrailing()\"\n [attr.data-show-icon-trailing]=\"getBooleanAsString(showIconTrailing())\"\n [attr.data-size]=\"size()\"\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 >\n @if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\n }\n </button> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBButton implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBoolean = getBoolean;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n type: InputSignal<DBButtonProps[\"type\"]> = input<DBButtonProps[\"type\"]>();\n id: InputSignal<DBButtonProps[\"id\"]> = input<DBButtonProps[\"id\"]>();\n className: InputSignal<DBButtonProps[\"className\"]> =\n input<DBButtonProps[\"className\"]>();\n disabled: InputSignal<DBButtonProps[\"disabled\"]> =\n input<DBButtonProps[\"disabled\"]>();\n iconLeading: InputSignal<DBButtonProps[\"iconLeading\"]> =\n input<DBButtonProps[\"iconLeading\"]>();\n icon: InputSignal<DBButtonProps[\"icon\"]> = input<DBButtonProps[\"icon\"]>();\n showIconLeading: InputSignal<DBButtonProps[\"showIconLeading\"]> =\n input<DBButtonProps[\"showIconLeading\"]>();\n showIcon: InputSignal<DBButtonProps[\"showIcon\"]> =\n input<DBButtonProps[\"showIcon\"]>();\n iconTrailing: InputSignal<DBButtonProps[\"iconTrailing\"]> =\n input<DBButtonProps[\"iconTrailing\"]>();\n showIconTrailing: InputSignal<DBButtonProps[\"showIconTrailing\"]> =\n input<DBButtonProps[\"showIconTrailing\"]>();\n size: InputSignal<DBButtonProps[\"size\"]> = input<DBButtonProps[\"size\"]>();\n width: InputSignal<DBButtonProps[\"width\"]> = input<DBButtonProps[\"width\"]>();\n variant: InputSignal<DBButtonProps[\"variant\"]> =\n input<DBButtonProps[\"variant\"]>();\n noText: InputSignal<DBButtonProps[\"noText\"]> =\n input<DBButtonProps[\"noText\"]>();\n name: InputSignal<DBButtonProps[\"name\"]> = input<DBButtonProps[\"name\"]>();\n form: InputSignal<DBButtonProps[\"form\"]> = input<DBButtonProps[\"form\"]>();\n value: InputSignal<DBButtonProps[\"value\"]> = input<DBButtonProps[\"value\"]>();\n text: InputSignal<DBButtonProps[\"text\"]> = input<DBButtonProps[\"text\"]>();\n click = output<\n Parameters<Required<DBButtonProps>[\"onClick\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n getButtonType() {\n if (this.type()) {\n return this.type();\n } else if (this.click) {\n return \"button\";\n }\n return \"submit\";\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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-button\");\n }\n }\n}\n","import { ClickEventProps, GlobalProps, GlobalState, IconLeadingProps, IconProps, IconTrailingProps, ShowIconLeadingProps, ShowIconProps, ShowIconTrailingProps, SizeProps, TextProps, WidthProps } from '../../shared/model';\nexport const ButtonVariantList = ['outlined', 'brand', 'filled', 'ghost'] as const;\nexport type ButtonVariantType = (typeof ButtonVariantList)[number];\nexport const ButtonTypeList = ['button', 'reset', 'submit'] as const;\nexport type ButtonTypeType = (typeof ButtonTypeList)[number];\nexport type DBButtonDefaultProps = {\n /**\n * The disabled attribute can be set to [keep a user from clicking on the button](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#disabled).\n */\n disabled?: boolean | string;\n\n /**\n * \tAssociates the control with a form element\n */\n form?: string;\n\n /**\n * The name attribute specifies a [name attributes value](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#name) for the button.\n */\n name?: string;\n\n /**\n * Define the text next to the icon specified via the icon Property to get hidden.\n */\n noText?: boolean | string;\n\n /**\n * The type attribute specifies the [type of button](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#type).\n */\n type?: ButtonTypeType;\n\n /**\n * The value attribute specifies an initial [value for the button](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#value).\n */\n value?: string;\n\n /**\n * Variant of the button. Use only 1 primary button on a page as CTA otherwise use one of the adaptive buttons.\n */\n variant?: ButtonVariantType | string;\n};\nexport type DBButtonProps = DBButtonDefaultProps & GlobalProps & ClickEventProps<HTMLButtonElement> & IconProps & WidthProps & SizeProps & ShowIconProps & TextProps & ShowIconLeadingProps & ShowIconTrailingProps & IconLeadingProps & IconTrailingProps;\nexport type DBButtonDefaultState = {\n getButtonType: () => ButtonTypeType;\n};\nexport type DBButtonState = DBButtonDefaultState & GlobalState","import {\n Component,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { ClickEvent } from \"../../shared/model\";\nimport { cls } from \"../../utils\";\nimport type { DBCardProps, DBCardState } from \"./model\";\n\n@Component({\n selector: \"db-card\",\n standalone: true,\n imports: [CommonModule],\n template: `<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 (click)=\"handleClick($event)\"\n >\n <ng-content></ng-content>\n </div> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBCard implements AfterViewInit {\n protected readonly cls = cls;\n\n id: InputSignal<DBCardProps[\"id\"]> = input<DBCardProps[\"id\"]>();\n className: InputSignal<DBCardProps[\"className\"]> =\n input<DBCardProps[\"className\"]>();\n behavior: InputSignal<DBCardProps[\"behavior\"]> =\n input<DBCardProps[\"behavior\"]>();\n elevationLevel: InputSignal<DBCardProps[\"elevationLevel\"]> =\n input<DBCardProps[\"elevationLevel\"]>();\n spacing: InputSignal<DBCardProps[\"spacing\"]> =\n 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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-card\");\n }\n }\n}\n","import { ClickEventProps, ClickEventState, GlobalProps, GlobalState, SpacingProps } from '../../shared/model';\nexport const CardBehaviorList = ['static', 'interactive'] as const;\nexport type CardBehaviorType = (typeof CardBehaviorList)[number];\nexport const CardElevationLevelList = ['1', '2', '3'] as const;\nexport type CardElevationLevelType = (typeof CardElevationLevelList)[number];\nexport type DBCardDefaultProps = {\n /**\n * Makes the card interactive\n */\n behavior?: CardBehaviorType;\n\n /**\n * Changes the elevation of the card which is equal to `basic-background-level`\n */\n elevationLevel?: CardElevationLevelType;\n};\nexport type DBCardProps = DBCardDefaultProps & GlobalProps & ClickEventProps<HTMLElement> & SpacingProps;\nexport type DBCardDefaultState = {};\nexport type DBCardState = DBCardDefaultState & GlobalState & ClickEventState<HTMLElement>","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { delay } from './index';\nexport const handleFrameworkEventAngular = (component: any, event: any, modelValue: string = 'value'): void => {\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};\nexport const addResetEventListener = (element: any, resetFunction: (event: Event) => void, signal: AbortSignal): void => {\n if (element.form && !element._dbFormResetListenerAdded) {\n (element.form as HTMLFormElement).addEventListener('reset', (event: Event) => {\n resetFunction(event);\n }, {\n signal\n });\n // Mark as added to avoid duplicate listeners\n element._dbFormResetListenerAdded = true;\n }\n};\nexport const addCheckedResetEventListener = (element: any, props: {\n checked?: boolean | string;\n defaultChecked?: boolean;\n}, resetFunction: (event: any) => void, signal: AbortSignal): void => {\n addResetEventListener(element, (event: any) => {\n void delay(() => {\n const resetValue = props.checked ? props.checked : props.defaultChecked ? props.defaultChecked : element.checked;\n const valueEvent: any = {\n ...event,\n target: {\n ...event.target,\n checked: resetValue\n }\n };\n resetFunction(valueEvent);\n }, 1);\n }, signal);\n};\nexport const addValueResetEventListener = (element: any, props: {\n value?: string;\n defaultValue?: string;\n}, resetFunction: (event: any) => void, signal: AbortSignal): void => {\n addResetEventListener(element, (event: any) => {\n void delay(() => {\n const resetValue = props.value ? props.value : props.defaultValue ? props.defaultValue : element.value;\n const valueEvent: any = {\n ...event,\n target: {\n ...event.target,\n value: resetValue\n }\n };\n resetFunction(valueEvent);\n }, 1);\n }, signal);\n}","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls, getBooleanAsString } from \"../../utils\";\nimport { DBInfotextProps, DBInfotextState } from \"./model\";\n\n@Component({\n selector: \"db-infotext\",\n standalone: true,\n imports: [CommonModule],\n template: `<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-show-icon-leading]=\"getBooleanAsString(showIcon() ?? true)\"\n >@if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\n }</span\n > `,\n styles: `:host { display: contents; }`,\n})\nexport class DBInfotext implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n id: InputSignal<DBInfotextProps[\"id\"]> = input<DBInfotextProps[\"id\"]>();\n className: InputSignal<DBInfotextProps[\"className\"]> =\n input<DBInfotextProps[\"className\"]>();\n icon: InputSignal<DBInfotextProps[\"icon\"]> = input<DBInfotextProps[\"icon\"]>();\n semantic: InputSignal<DBInfotextProps[\"semantic\"]> =\n input<DBInfotextProps[\"semantic\"]>();\n size: InputSignal<DBInfotextProps[\"size\"]> = input<DBInfotextProps[\"size\"]>();\n showIcon: InputSignal<DBInfotextProps[\"showIcon\"]> =\n input<DBInfotextProps[\"showIcon\"]>();\n text: InputSignal<DBInfotextProps[\"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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-infotext\");\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n model,\n output,\n input,\n effect,\n signal,\n OnDestroy,\n AfterViewInit,\n InputSignal,\n ModelSignal,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\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 cls,\n delay,\n getBoolean,\n getHideProp,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n addCheckedResetEventListener,\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBCheckboxProps, DBCheckboxState } from \"./model\";\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: `<div\n [class]=\"cls('db-checkbox', className())\"\n [attr.data-size]=\"size()\"\n [attr.data-hide-asterisk]=\"getHideProp(showRequiredAsterisk())\"\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 }</label\n >\n @if(stringPropVisible(message(), showMessage())){\n <db-infotext\n size=\"small\"\n [icon]=\"messageIcon()\"\n [id]=\"_messageId()\"\n >{{message()}}</db-infotext\n >\n } @if(hasValidState()){\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n [id]=\"_validMessageId()\"\n >{{validMessage() || DEFAULT_VALID_MESSAGE}}</db-infotext\n >\n }\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n [id]=\"_invalidMessageId()\"\n >{{_invalidMessage()}}</db-infotext\n >\n <span\n data-visually-hidden=\"true\"\n role=\"status\"\n >{{_voiceOverFallback()}}</span\n >\n </div> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBCheckbox implements AfterViewInit, ControlValueAccessor, OnDestroy {\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: InputSignal<DBCheckboxProps[\"id\"]> = input<DBCheckboxProps[\"id\"]>();\n invalidMessage: InputSignal<DBCheckboxProps[\"invalidMessage\"]> =\n input<DBCheckboxProps[\"invalidMessage\"]>();\n message: InputSignal<DBCheckboxProps[\"message\"]> =\n input<DBCheckboxProps[\"message\"]>();\n showMessage: InputSignal<DBCheckboxProps[\"showMessage\"]> =\n input<DBCheckboxProps[\"showMessage\"]>();\n indeterminate: InputSignal<DBCheckboxProps[\"indeterminate\"]> =\n input<DBCheckboxProps[\"indeterminate\"]>();\n checked: ModelSignal<DBCheckboxProps[\"checked\"]> =\n model<DBCheckboxProps[\"checked\"]>();\n validMessage: InputSignal<DBCheckboxProps[\"validMessage\"]> =\n input<DBCheckboxProps[\"validMessage\"]>();\n validation: InputSignal<DBCheckboxProps[\"validation\"]> =\n input<DBCheckboxProps[\"validation\"]>();\n required: InputSignal<DBCheckboxProps[\"required\"]> =\n input<DBCheckboxProps[\"required\"]>();\n className: InputSignal<DBCheckboxProps[\"className\"]> =\n input<DBCheckboxProps[\"className\"]>();\n size: InputSignal<DBCheckboxProps[\"size\"]> = input<DBCheckboxProps[\"size\"]>();\n showRequiredAsterisk: InputSignal<DBCheckboxProps[\"showRequiredAsterisk\"]> =\n input<DBCheckboxProps[\"showRequiredAsterisk\"]>();\n showLabel: InputSignal<DBCheckboxProps[\"showLabel\"]> =\n input<DBCheckboxProps[\"showLabel\"]>();\n name: InputSignal<DBCheckboxProps[\"name\"]> = input<DBCheckboxProps[\"name\"]>();\n disabled: ModelSignal<DBCheckboxProps[\"disabled\"]> =\n model<DBCheckboxProps[\"disabled\"]>();\n value: InputSignal<DBCheckboxProps[\"value\"]> =\n input<DBCheckboxProps[\"value\"]>();\n ariaDescribedBy: InputSignal<DBCheckboxProps[\"ariaDescribedBy\"]> =\n input<DBCheckboxProps[\"ariaDescribedBy\"]>();\n label: InputSignal<DBCheckboxProps[\"label\"]> =\n input<DBCheckboxProps[\"label\"]>();\n messageIcon: InputSignal<DBCheckboxProps[\"messageIcon\"]> =\n 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\"]>(undefined);\n _voiceOverFallback = signal<DBCheckboxState[\"_voiceOverFallback\"]>(\"\");\n abortController = signal<DBCheckboxState[\"abortController\"]>(undefined);\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(undefined);\n }\n }\n handleChange(event: ChangeEvent<HTMLInputElement>, reset?: boolean) {\n if (this.change) {\n // We need to split the if statements for generation\n if (reset) {\n this.change.emit(event);\n }\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 if (typeof window !== \"undefined\") {\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 this.handleValidation();\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 effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n // ---\n\n if (this._ref()?.nativeElement) {\n const defaultChecked = undefined;\n let controller = this.abortController();\n if (!controller) {\n controller = new AbortController();\n this.abortController.set(controller);\n }\n addCheckedResetEventListener(\n this._ref()?.nativeElement,\n {\n checked: this.checked(),\n defaultChecked,\n },\n (event) => {\n this.handleChange(event, true);\n },\n controller.signal\n );\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \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\tngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-checkbox\");\n this.initialized.set(true);\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(\n this.invalidMessage() || DEFAULT_INVALID_MESSAGE\n );\n }\n }\n\n ngOnDestroy() {\n this.abortController()?.abort();\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 { 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}","// 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};\nexport const 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.dataset['correctedPlacement'] = correctedPlacement;\n}","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = { width: \"fixed\" };\n\nimport { cls } from \"../../utils\";\nimport { DBCustomSelectDropdownProps } from \"./model\";\n\n@Component({\n selector: \"db-custom-select-dropdown\",\n standalone: true,\n imports: [CommonModule],\n template: `<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 styles: `:host { display: contents; }`,\n})\nexport class DBCustomSelectDropdown implements AfterViewInit {\n protected readonly cls = cls;\n\n id: InputSignal<DBCustomSelectDropdownProps[\"id\"]> =\n input<DBCustomSelectDropdownProps[\"id\"]>();\n className: InputSignal<DBCustomSelectDropdownProps[\"className\"]> =\n input<DBCustomSelectDropdownProps[\"className\"]>();\n width: InputSignal<DBCustomSelectDropdownProps[\"width\"]> = input<\n DBCustomSelectDropdownProps[\"width\"]\n >(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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-custom-select-dropdown\");\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n model,\n output,\n input,\n effect,\n signal,\n AfterViewInit,\n InputSignal,\n ModelSignal,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { ChangeEvent } from \"../../shared/model\";\nimport { cls, getBoolean, getBooleanAsString, uuid } from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport {\n DBCustomSelectListItemProps,\n DBCustomSelectListItemState,\n} from \"./model\";\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: `<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-show-icon]=\"getBooleanAsString(showIcon())\"\n [attr.data-icon-trailing]=\"getIconTrailing()\"\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 }</label\n >\n }@else{\n <span>{{groupTitle()}}</span>\n }\n </li> `,\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 getBoolean = getBoolean;\n\n id: InputSignal<DBCustomSelectListItemProps[\"id\"]> =\n input<DBCustomSelectListItemProps[\"id\"]>();\n isGroupTitle: InputSignal<DBCustomSelectListItemProps[\"isGroupTitle\"]> =\n input<DBCustomSelectListItemProps[\"isGroupTitle\"]>();\n showDivider: InputSignal<DBCustomSelectListItemProps[\"showDivider\"]> =\n input<DBCustomSelectListItemProps[\"showDivider\"]>();\n type: InputSignal<DBCustomSelectListItemProps[\"type\"]> =\n input<DBCustomSelectListItemProps[\"type\"]>();\n checked: ModelSignal<DBCustomSelectListItemProps[\"checked\"]> =\n model<DBCustomSelectListItemProps[\"checked\"]>();\n className: InputSignal<DBCustomSelectListItemProps[\"className\"]> =\n input<DBCustomSelectListItemProps[\"className\"]>();\n groupTitle: InputSignal<DBCustomSelectListItemProps[\"groupTitle\"]> =\n input<DBCustomSelectListItemProps[\"groupTitle\"]>();\n icon: InputSignal<DBCustomSelectListItemProps[\"icon\"]> =\n input<DBCustomSelectListItemProps[\"icon\"]>();\n showIcon: InputSignal<DBCustomSelectListItemProps[\"showIcon\"]> =\n input<DBCustomSelectListItemProps[\"showIcon\"]>();\n name: InputSignal<DBCustomSelectListItemProps[\"name\"]> =\n input<DBCustomSelectListItemProps[\"name\"]>();\n disabled: ModelSignal<DBCustomSelectListItemProps[\"disabled\"]> =\n model<DBCustomSelectListItemProps[\"disabled\"]>();\n value: InputSignal<DBCustomSelectListItemProps[\"value\"]> =\n input<DBCustomSelectListItemProps[\"value\"]>();\n label: InputSignal<DBCustomSelectListItemProps[\"label\"]> =\n 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 getIconTrailing() {\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 if (typeof window !== \"undefined\") {\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(\n Boolean(this.isGroupTitle() || this.showDivider())\n );\n },\n {\n // Enable writing to signals inside effects\n }\n );\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \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\tngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-custom-select-list-item\");\n this._id.set(this.id() ?? `custom-select-list-item-${uuid()}`);\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls } from \"../../utils\";\nimport { DBCustomSelectListProps } from \"./model\";\n\n@Component({\n selector: \"db-custom-select-list\",\n standalone: true,\n imports: [CommonModule],\n template: `<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 styles: `:host { display: contents; }`,\n})\nexport class DBCustomSelectList implements AfterViewInit {\n protected readonly cls = cls;\n\n multiple: InputSignal<DBCustomSelectListProps[\"multiple\"]> =\n input<DBCustomSelectListProps[\"multiple\"]>();\n label: InputSignal<DBCustomSelectListProps[\"label\"]> =\n input<DBCustomSelectListProps[\"label\"]>();\n id: InputSignal<DBCustomSelectListProps[\"id\"]> =\n input<DBCustomSelectListProps[\"id\"]>();\n className: InputSignal<DBCustomSelectListProps[\"className\"]> =\n 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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-custom-select-list\");\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n model,\n output,\n input,\n effect,\n signal,\n OnDestroy,\n AfterViewInit,\n InputSignal,\n ModelSignal,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\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 {\n cls,\n delay,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n getInputValue,\n getNumber,\n hasVoiceOver,\n isArrayOfStrings,\n isIOSSafari,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n addValueResetEventListener,\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBInputProps, DBInputState } from \"./model\";\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: `<div\n [class]=\"cls('db-input', className())\"\n [attr.data-variant]=\"variant()\"\n [attr.data-hide-label]=\"getHideProp(showLabel())\"\n [attr.data-show-icon]=\"getBooleanAsString(showIconLeading() ?? showIcon())\"\n [attr.data-icon]=\"iconLeading() ?? icon()\"\n [attr.data-icon-trailing]=\"iconTrailing()\"\n [attr.data-hide-asterisk]=\"getHideProp(showRequiredAsterisk())\"\n [attr.data-show-icon-trailing]=\"getBooleanAsString(showIconTrailing())\"\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.multiple]=\"getBoolean(multiple(), 'multiple')\"\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 [attr.enterKeyHint]=\"enterkeyhint()\"\n [attr.inputMode]=\"inputmode()\"\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 [attr.role]=\"['datetime-local', 'date', 'time', 'week', 'month', 'color'].includes(type() ?? '') && isIOSSafari() ? 'textbox' : undefined\"\n />\n @if(dataList()){\n <datalist [attr.id]=\"_dataListId()\">\n @for (option of getDataList();track trackByOption0(i, option);let i =\n $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\n [size]=\"messageSize() || 'small'\"\n [icon]=\"messageIcon()\"\n [id]=\"_messageId()\"\n >{{message()}}</db-infotext\n >\n } @if(hasValidState()){\n <db-infotext\n semantic=\"successful\"\n [id]=\"_validMessageId()\"\n [size]=\"validMessageSize() || 'small'\"\n >{{validMessage() || DEFAULT_VALID_MESSAGE}}</db-infotext\n >\n }\n <db-infotext\n semantic=\"critical\"\n [id]=\"_invalidMessageId()\"\n [size]=\"invalidMessageSize() || 'small'\"\n >{{_invalidMessage()}}</db-infotext\n >\n <span\n data-visually-hidden=\"true\"\n role=\"status\"\n >{{_voiceOverFallback()}}</span\n >\n </div> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBInput implements AfterViewInit, ControlValueAccessor, OnDestroy {\n protected readonly cls = cls;\n protected readonly getHideProp = getHideProp;\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly DEFAULT_LABEL = DEFAULT_LABEL;\n protected readonly getBoolean = getBoolean;\n protected readonly DEFAULT_PLACEHOLDER = DEFAULT_PLACEHOLDER;\n protected readonly getNumber = getNumber;\n protected readonly getInputValue = getInputValue;\n protected readonly isIOSSafari = isIOSSafari;\n protected readonly stringPropVisible = stringPropVisible;\n protected readonly DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;\n\n id: InputSignal<DBInputProps[\"id\"]> = input<DBInputProps[\"id\"]>();\n invalidMessage: InputSignal<DBInputProps[\"invalidMessage\"]> =\n input<DBInputProps[\"invalidMessage\"]>();\n dataListId: InputSignal<DBInputProps[\"dataListId\"]> =\n input<DBInputProps[\"dataListId\"]>();\n message: InputSignal<DBInputProps[\"message\"]> =\n input<DBInputProps[\"message\"]>();\n showMessage: InputSignal<DBInputProps[\"showMessage\"]> =\n input<DBInputProps[\"showMessage\"]>();\n value: ModelSignal<DBInputProps[\"value\"]> = model<DBInputProps[\"value\"]>();\n validMessage: InputSignal<DBInputProps[\"validMessage\"]> =\n input<DBInputProps[\"validMessage\"]>();\n validation: InputSignal<DBInputProps[\"validation\"]> =\n input<DBInputProps[\"validation\"]>();\n required: InputSignal<DBInputProps[\"required\"]> =\n input<DBInputProps[\"required\"]>();\n minLength: InputSignal<DBInputProps[\"minLength\"]> =\n input<DBInputProps[\"minLength\"]>();\n maxLength: InputSignal<DBInputProps[\"maxLength\"]> =\n input<DBInputProps[\"maxLength\"]>();\n pattern: InputSignal<DBInputProps[\"pattern\"]> =\n input<DBInputProps[\"pattern\"]>();\n dataList: InputSignal<DBInputProps[\"dataList\"]> =\n input<DBInputProps[\"dataList\"]>();\n className: InputSignal<DBInputProps[\"className\"]> =\n input<DBInputProps[\"className\"]>();\n variant: InputSignal<DBInputProps[\"variant\"]> =\n input<DBInputProps[\"variant\"]>();\n showLabel: InputSignal<DBInputProps[\"showLabel\"]> =\n input<DBInputProps[\"showLabel\"]>();\n showIconLeading: InputSignal<DBInputProps[\"showIconLeading\"]> =\n input<DBInputProps[\"showIconLeading\"]>();\n showIcon: InputSignal<DBInputProps[\"showIcon\"]> =\n input<DBInputProps[\"showIcon\"]>();\n iconLeading: InputSignal<DBInputProps[\"iconLeading\"]> =\n input<DBInputProps[\"iconLeading\"]>();\n icon: InputSignal<DBInputProps[\"icon\"]> = input<DBInputProps[\"icon\"]>();\n iconTrailing: InputSignal<DBInputProps[\"iconTrailing\"]> =\n input<DBInputProps[\"iconTrailing\"]>();\n showRequiredAsterisk: InputSignal<DBInputProps[\"showRequiredAsterisk\"]> =\n input<DBInputProps[\"showRequiredAsterisk\"]>();\n showIconTrailing: InputSignal<DBInputProps[\"showIconTrailing\"]> =\n input<DBInputProps[\"showIconTrailing\"]>();\n label: InputSignal<DBInputProps[\"label\"]> = input<DBInputProps[\"label\"]>();\n fieldSizing: InputSignal<DBInputProps[\"fieldSizing\"]> =\n input<DBInputProps[\"fieldSizing\"]>();\n name: InputSignal<DBInputProps[\"name\"]> = input<DBInputProps[\"name\"]>();\n type: InputSignal<DBInputProps[\"type\"]> = input<DBInputProps[\"type\"]>();\n multiple: InputSignal<DBInputProps[\"multiple\"]> =\n input<DBInputProps[\"multiple\"]>();\n placeholder: InputSignal<DBInputProps[\"placeholder\"]> =\n input<DBInputProps[\"placeholder\"]>();\n disabled: ModelSignal<DBInputProps[\"disabled\"]> =\n model<DBInputProps[\"disabled\"]>();\n step: InputSignal<DBInputProps[\"step\"]> = input<DBInputProps[\"step\"]>();\n maxlength: InputSignal<DBInputProps[\"maxlength\"]> =\n input<DBInputProps[\"maxlength\"]>();\n minlength: InputSignal<DBInputProps[\"minlength\"]> =\n input<DBInputProps[\"minlength\"]>();\n max: InputSignal<DBInputProps[\"max\"]> = input<DBInputProps[\"max\"]>();\n min: InputSignal<DBInputProps[\"min\"]> = input<DBInputProps[\"min\"]>();\n readOnly: InputSignal<DBInputProps[\"readOnly\"]> =\n input<DBInputProps[\"readOnly\"]>();\n readonly: InputSignal<DBInputProps[\"readonly\"]> =\n input<DBInputProps[\"readonly\"]>();\n form: InputSignal<DBInputProps[\"form\"]> = input<DBInputProps[\"form\"]>();\n size: InputSignal<DBInputProps[\"size\"]> = input<DBInputProps[\"size\"]>();\n autocomplete: InputSignal<DBInputProps[\"autocomplete\"]> =\n input<DBInputProps[\"autocomplete\"]>();\n autofocus: InputSignal<DBInputProps[\"autofocus\"]> =\n input<DBInputProps[\"autofocus\"]>();\n enterkeyhint: InputSignal<DBInputProps[\"enterkeyhint\"]> =\n input<DBInputProps[\"enterkeyhint\"]>();\n inputmode: InputSignal<DBInputProps[\"inputmode\"]> =\n input<DBInputProps[\"inputmode\"]>();\n ariaDescribedBy: InputSignal<DBInputProps[\"ariaDescribedBy\"]> =\n input<DBInputProps[\"ariaDescribedBy\"]>();\n messageSize: InputSignal<DBInputProps[\"messageSize\"]> =\n input<DBInputProps[\"messageSize\"]>();\n messageIcon: InputSignal<DBInputProps[\"messageIcon\"]> =\n input<DBInputProps[\"messageIcon\"]>();\n validMessageSize: InputSignal<DBInputProps[\"validMessageSize\"]> =\n input<DBInputProps[\"validMessageSize\"]>();\n invalidMessageSize: InputSignal<DBInputProps[\"invalidMessageSize\"]> =\n input<DBInputProps[\"invalidMessageSize\"]>();\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\"]>(undefined);\n _value = signal<DBInputState[\"_value\"]>(undefined);\n _voiceOverFallback = signal<DBInputState[\"_voiceOverFallback\"]>(\"\");\n abortController = signal<DBInputState[\"abortController\"]>(undefined);\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(undefined);\n }\n }\n handleInput(event: InputEvent<HTMLInputElement>, reset?: boolean) {\n if (this.input) {\n if (reset) {\n this.input.emit(event);\n }\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLInputElement>, reset?: boolean) {\n if (this.change) {\n // We need to split the if statements for generation\n if (reset) {\n this.change.emit(event);\n }\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 if (typeof window !== \"undefined\") {\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 this.handleValidation();\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 effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n // ---\n\n if (this._ref()?.nativeElement) {\n const defaultValue = undefined;\n let controller = this.abortController();\n if (!controller) {\n controller = new AbortController();\n this.abortController.set(controller);\n }\n addValueResetEventListener(\n this._ref()?.nativeElement,\n {\n value: this.value(),\n defaultValue,\n },\n (event) => {\n this.handleChange(event, true);\n this.handleInput(event, true);\n },\n controller.signal\n );\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \n\t\twriteValue(value: any) {\nif (!value && 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\tngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-input\");\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(\n this.invalidMessage() || DEFAULT_INVALID_MESSAGE\n );\n }\n }\n\n ngOnDestroy() {\n this.abortController()?.abort();\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_ID } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\nimport {\n cls,\n getBooleanAsString,\n delay as utilsDelay,\n uuid,\n} from \"../../utils\";\nimport { DocumentScrollListener } from \"../../utils/document-scroll-listener\";\nimport { handleFixedPopover } from \"../../utils/floating-components\";\nimport { DBTooltipProps, DBTooltipState } from \"./model\";\n\n@Component({\n selector: \"db-tooltip\",\n standalone: true,\n imports: [CommonModule],\n template: `<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 ><ng-content></ng-content\n ></i> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBTooltip implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n id: InputSignal<DBTooltipProps[\"id\"]> = input<DBTooltipProps[\"id\"]>();\n variant: InputSignal<DBTooltipProps[\"variant\"]> =\n input<DBTooltipProps[\"variant\"]>();\n placement: InputSignal<DBTooltipProps[\"placement\"]> =\n input<DBTooltipProps[\"placement\"]>();\n className: InputSignal<DBTooltipProps[\"className\"]> =\n input<DBTooltipProps[\"className\"]>();\n emphasis: InputSignal<DBTooltipProps[\"emphasis\"]> =\n input<DBTooltipProps[\"emphasis\"]>();\n animation: InputSignal<DBTooltipProps[\"animation\"]> =\n input<DBTooltipProps[\"animation\"]>();\n delay: InputSignal<DBTooltipProps[\"delay\"]> =\n input<DBTooltipProps[\"delay\"]>();\n width: InputSignal<DBTooltipProps[\"width\"]> =\n input<DBTooltipProps[\"width\"]>();\n showArrow: InputSignal<DBTooltipProps[\"showArrow\"]> =\n 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 // Due to race conditions we need to check for _ref again\n if (this._ref()?.nativeElement) {\n handleFixedPopover(\n this._ref()?.nativeElement,\n parent,\n (this.placement() as unknown as string) ?? \"bottom\"\n );\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 if (typeof window !== \"undefined\") {\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.dataset[\"hasTooltip\"] = \"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 /**\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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tooltip\");\n this._id.set(this.id() || \"tooltip-\" + uuid());\n this.initialized.set(true);\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_REMOVE } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { cls, getBooleanAsString } from \"../../utils\";\nimport { DBTooltip } from \"../tooltip/tooltip\";\nimport { DBTagProps, DBTagState } from \"./model\";\n\n@Component({\n selector: \"db-tag\",\n standalone: true,\n imports: [CommonModule, DBTooltip],\n template: `<div\n #_ref\n [attr.id]=\"id()\"\n [class]=\"cls('db-tag', className())\"\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-show-icon]=\"getBooleanAsString(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 styles: `:host { display: contents; }`,\n})\nexport class DBTag implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n removeButton: InputSignal<DBTagProps[\"removeButton\"]> =\n input<DBTagProps[\"removeButton\"]>();\n id: InputSignal<DBTagProps[\"id\"]> = input<DBTagProps[\"id\"]>();\n className: InputSignal<DBTagProps[\"className\"]> =\n input<DBTagProps[\"className\"]>();\n semantic: InputSignal<DBTagProps[\"semantic\"]> =\n input<DBTagProps[\"semantic\"]>();\n emphasis: InputSignal<DBTagProps[\"emphasis\"]> =\n input<DBTagProps[\"emphasis\"]>();\n icon: InputSignal<DBTagProps[\"icon\"]> = input<DBTagProps[\"icon\"]>();\n showCheckState: InputSignal<DBTagProps[\"showCheckState\"]> =\n input<DBTagProps[\"showCheckState\"]>();\n showIcon: InputSignal<DBTagProps[\"showIcon\"]> =\n input<DBTagProps[\"showIcon\"]>();\n noText: InputSignal<DBTagProps[\"noText\"]> = input<DBTagProps[\"noText\"]>();\n overflow: InputSignal<DBTagProps[\"overflow\"]> =\n input<DBTagProps[\"overflow\"]>();\n text: InputSignal<DBTagProps[\"text\"]> = input<DBTagProps[\"text\"]>();\n behavior: InputSignal<DBTagProps[\"behavior\"]> =\n input<DBTagProps[\"behavior\"]>();\n remove = output<\n Parameters<Required<DBTagProps>[\"onRemove\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n handleRemove(event?: ClickEvent<HTMLButtonElement> | void) {\n if (!event) return;\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\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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tag\");\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n model,\n output,\n input,\n effect,\n signal,\n OnDestroy,\n AfterViewInit,\n InputSignal,\n ModelSignal,\nRenderer2 } 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 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 {\n ClickEvent,\n GeneralEvent,\n InputEvent,\n InteractionEvent,\n} from \"../../shared/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 { DocumentClickListener } from \"../../utils/document-click-listener\";\nimport { DocumentScrollListener } from \"../../utils/document-scroll-listener\";\nimport { handleFixedDropdown } from \"../../utils/floating-components\";\nimport {\n addResetEventListener,\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBButton } from \"../button/button\";\nimport { DBCustomSelectDropdown } from \"../custom-select-dropdown/custom-select-dropdown\";\nimport { DBCustomSelectListItem } from \"../custom-select-list-item/custom-select-list-item\";\nimport { DBCustomSelectList } from \"../custom-select-list/custom-select-list\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBInput } from \"../input/input\";\nimport { DBTag } from \"../tag/tag\";\nimport { DBTooltip } from \"../tooltip/tooltip\";\nimport {\n CustomSelectOptionType,\n DBCustomSelectProps,\n DBCustomSelectState,\n} from \"./model\";\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: `<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-hide-asterisk]=\"getHideProp(showRequiredAsterisk())\"\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-show-icon]=\"getBooleanAsString(showIcon())\"\n >\n <label [attr.id]=\"_labelId()\"\n >{{label() ?? DEFAULT_LABEL}}\n <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 [multiple]=\"getBoolean(multiple(), 'multiple')\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [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></label\n >\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 >@if(selectedPrefix()){\n <span data-visually-hidden=\"true\">{{selectedPrefix()}}</span>\n } {{_selectedLabels()}}</span\n >\n } @if(selectedType() === 'tag'){\n <div>\n @for (option of _selectedOptions();track trackByOption1(index,\n option);let index = $index) {\n <db-tag\n emphasis=\"strong\"\n behavior=\"removable\"\n [removeButton]=\"getTagRemoveLabel(option)\"\n (remove)=\"handleTagRemove(option, $event)\"\n >{{getOptionLabel(option)}}</db-tag\n >\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]=\"showLoading() ? 'circular_arrows' : undefined\"\n [semantic]=\"showLoading() ? 'informational' : 'warning'\"\n >{{(showLoading() ? loadingText() : noResultsText()) ??\n DEFAULT_MESSAGE}}</db-infotext\n >\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()}}</label\n >\n </div>\n </div>\n }\n <db-custom-select-list\n [multiple]=\"getBoolean(multiple(), 'multiple')\"\n [label]=\"listLabel() ?? label() ?? DEFAULT_LABEL\"\n >\n @for (option of _options();track trackByOption2(i, option);let i =\n $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 >@if(!option.isGroupTitle){\n {{getOptionLabel(option)}} }</db-custom-select-list-item\n >\n }\n </db-custom-select-list></ng-container\n >\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(undefined, true)\"\n >{{mobileCloseButtonText() ?? DEFAULT_CLOSE_BUTTON}}</db-button\n >\n </div></db-custom-select-dropdown\n >\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 >{{clearSelectionText()}}\n <db-tooltip\n placement=\"top\"\n >{{clearSelectionText()}}</db-tooltip\n ></db-button\n >\n }\n <span\n class=\"db-custom-select-placeholder\"\n [attr.aria-hidden]=\"getBooleanAsString(true)\"\n [attr.id]=\"_placeholderId()\"\n >{{placeholder() ?? label()}}</span\n >\n @if(stringPropVisible(message(), showMessage())){\n <db-infotext\n size=\"small\"\n [icon]=\"messageIcon()\"\n [id]=\"_messageId()\"\n >{{message()}}</db-infotext\n >\n } @if(hasValidState()){\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n [id]=\"_validMessageId()\"\n >{{validMessage() || DEFAULT_VALID_MESSAGE}}</db-infotext\n >\n }\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n [id]=\"_invalidMessageId()\"\n >{{_invalidMessage()}}</db-infotext\n >\n <span\n data-visually-hidden=\"true\"\n role=\"status\"\n >{{_voiceOverFallback()}}</span\n >\n </div> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBCustomSelect implements AfterViewInit, ControlValueAccessor, OnDestroy {\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: InputSignal<DBCustomSelectProps[\"id\"]> =\n input<DBCustomSelectProps[\"id\"]>();\n invalidMessage: InputSignal<DBCustomSelectProps[\"invalidMessage\"]> =\n input<DBCustomSelectProps[\"invalidMessage\"]>();\n message: InputSignal<DBCustomSelectProps[\"message\"]> =\n input<DBCustomSelectProps[\"message\"]>();\n showMessage: InputSignal<DBCustomSelectProps[\"showMessage\"]> =\n input<DBCustomSelectProps[\"showMessage\"]>();\n ariaDescribedBy: InputSignal<DBCustomSelectProps[\"ariaDescribedBy\"]> =\n input<DBCustomSelectProps[\"ariaDescribedBy\"]>();\n showNoResults: InputSignal<DBCustomSelectProps[\"showNoResults\"]> =\n input<DBCustomSelectProps[\"showNoResults\"]>();\n showLoading: InputSignal<DBCustomSelectProps[\"showLoading\"]> =\n input<DBCustomSelectProps[\"showLoading\"]>();\n multiple: InputSignal<DBCustomSelectProps[\"multiple\"]> =\n input<DBCustomSelectProps[\"multiple\"]>();\n showSelectAll: InputSignal<DBCustomSelectProps[\"showSelectAll\"]> =\n input<DBCustomSelectProps[\"showSelectAll\"]>();\n showSearch: InputSignal<DBCustomSelectProps[\"showSearch\"]> =\n input<DBCustomSelectProps[\"showSearch\"]>();\n values: ModelSignal<DBCustomSelectProps[\"values\"]> =\n model<DBCustomSelectProps[\"values\"]>();\n validation: InputSignal<DBCustomSelectProps[\"validation\"]> =\n input<DBCustomSelectProps[\"validation\"]>();\n options: InputSignal<DBCustomSelectProps[\"options\"]> =\n input<DBCustomSelectProps[\"options\"]>();\n searchValue: InputSignal<DBCustomSelectProps[\"searchValue\"]> =\n input<DBCustomSelectProps[\"searchValue\"]>();\n selectedLabels: InputSignal<DBCustomSelectProps[\"selectedLabels\"]> =\n input<DBCustomSelectProps[\"selectedLabels\"]>();\n transformSelectedLabels: InputSignal<\n DBCustomSelectProps[\"transformSelectedLabels\"]\n > = input<DBCustomSelectProps[\"transformSelectedLabels\"]>();\n selectedType: InputSignal<DBCustomSelectProps[\"selectedType\"]> =\n input<DBCustomSelectProps[\"selectedType\"]>();\n amountText: InputSignal<DBCustomSelectProps[\"amountText\"]> =\n input<DBCustomSelectProps[\"amountText\"]>();\n validMessage: InputSignal<DBCustomSelectProps[\"validMessage\"]> =\n input<DBCustomSelectProps[\"validMessage\"]>();\n required: InputSignal<DBCustomSelectProps[\"required\"]> =\n input<DBCustomSelectProps[\"required\"]>();\n selectAllLabel: InputSignal<DBCustomSelectProps[\"selectAllLabel\"]> =\n input<DBCustomSelectProps[\"selectAllLabel\"]>();\n removeTagsTexts: InputSignal<DBCustomSelectProps[\"removeTagsTexts\"]> =\n input<DBCustomSelectProps[\"removeTagsTexts\"]>();\n placement: InputSignal<DBCustomSelectProps[\"placement\"]> =\n input<DBCustomSelectProps[\"placement\"]>();\n searchFilter: InputSignal<DBCustomSelectProps[\"searchFilter\"]> =\n input<DBCustomSelectProps[\"searchFilter\"]>();\n className: InputSignal<DBCustomSelectProps[\"className\"]> =\n input<DBCustomSelectProps[\"className\"]>();\n formFieldWidth: InputSignal<DBCustomSelectProps[\"formFieldWidth\"]> =\n input<DBCustomSelectProps[\"formFieldWidth\"]>();\n variant: InputSignal<DBCustomSelectProps[\"variant\"]> =\n input<DBCustomSelectProps[\"variant\"]>();\n showRequiredAsterisk: InputSignal<\n DBCustomSelectProps[\"showRequiredAsterisk\"]\n > = input<DBCustomSelectProps[\"showRequiredAsterisk\"]>();\n showLabel: InputSignal<DBCustomSelectProps[\"showLabel\"]> =\n input<DBCustomSelectProps[\"showLabel\"]>();\n icon: InputSignal<DBCustomSelectProps[\"icon\"]> =\n input<DBCustomSelectProps[\"icon\"]>();\n showIcon: InputSignal<DBCustomSelectProps[\"showIcon\"]> =\n input<DBCustomSelectProps[\"showIcon\"]>();\n label: InputSignal<DBCustomSelectProps[\"label\"]> =\n input<DBCustomSelectProps[\"label\"]>();\n form: InputSignal<DBCustomSelectProps[\"form\"]> =\n input<DBCustomSelectProps[\"form\"]>();\n name: InputSignal<DBCustomSelectProps[\"name\"]> =\n input<DBCustomSelectProps[\"name\"]>();\n disabled: ModelSignal<DBCustomSelectProps[\"disabled\"]> =\n model<DBCustomSelectProps[\"disabled\"]>();\n open: InputSignal<DBCustomSelectProps[\"open\"]> =\n input<DBCustomSelectProps[\"open\"]>();\n selectedPrefix: InputSignal<DBCustomSelectProps[\"selectedPrefix\"]> =\n input<DBCustomSelectProps[\"selectedPrefix\"]>();\n dropdownWidth: InputSignal<DBCustomSelectProps[\"dropdownWidth\"]> =\n input<DBCustomSelectProps[\"dropdownWidth\"]>();\n searchLabel: InputSignal<DBCustomSelectProps[\"searchLabel\"]> =\n input<DBCustomSelectProps[\"searchLabel\"]>();\n searchPlaceholder: InputSignal<DBCustomSelectProps[\"searchPlaceholder\"]> =\n input<DBCustomSelectProps[\"searchPlaceholder\"]>();\n listLabel: InputSignal<DBCustomSelectProps[\"listLabel\"]> =\n input<DBCustomSelectProps[\"listLabel\"]>();\n loadingText: InputSignal<DBCustomSelectProps[\"loadingText\"]> =\n input<DBCustomSelectProps[\"loadingText\"]>();\n noResultsText: InputSignal<DBCustomSelectProps[\"noResultsText\"]> =\n input<DBCustomSelectProps[\"noResultsText\"]>();\n mobileCloseButtonText: InputSignal<\n DBCustomSelectProps[\"mobileCloseButtonText\"]\n > = input<DBCustomSelectProps[\"mobileCloseButtonText\"]>();\n showClearSelection: InputSignal<DBCustomSelectProps[\"showClearSelection\"]> =\n input<DBCustomSelectProps[\"showClearSelection\"]>(\n defaultProps[\"showClearSelection\"]\n );\n clearSelectionText: InputSignal<DBCustomSelectProps[\"clearSelectionText\"]> =\n input<DBCustomSelectProps[\"clearSelectionText\"]>(\n defaultProps[\"clearSelectionText\"]\n );\n placeholder: InputSignal<DBCustomSelectProps[\"placeholder\"]> =\n input<DBCustomSelectProps[\"placeholder\"]>();\n messageIcon: InputSignal<DBCustomSelectProps[\"messageIcon\"]> =\n 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 _userInteraction = signal<DBCustomSelectState[\"_userInteraction\"]>(false);\n abortController = signal<DBCustomSelectState[\"abortController\"]>(undefined);\n _descByIds = signal<DBCustomSelectState[\"_descByIds\"]>(undefined);\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.setDescById(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 if (this._userInteraction()) {\n this._validity.set(this.validation() ?? \"invalid\");\n }\n } else if (\n this.hasValidState() &&\n this.selectRef()?.nativeElement?.validity.valid &&\n this.required()\n ) {\n this.setDescById(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.setDescById(this._messageId());\n this._validity.set(this.validation() ?? \"no-validation\");\n } else {\n this.setDescById(this._placeholderId());\n this._validity.set(this.validation() ?? \"no-validation\");\n }\n }\n handleDropdownToggle(event: GeneralEvent<HTMLDetailsElement>) {\n if (this.dropdownToggle) {\n event.stopPropagation();\n this.dropdownToggle.emit(event);\n }\n if (event.target instanceof HTMLDetailsElement && 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(option: CustomSelectOptionType) {\n const removeTexts = this.removeTagsTexts();\n const options = this.options();\n if (removeTexts && options) {\n // Find the index of the option in the original options array\n const optionIndex = options.findIndex(\n (opt) => opt.value === option.value\n );\n if (optionIndex >= 0 && optionIndex < removeTexts.length) {\n return removeTexts[optionIndex];\n }\n }\n // Fallback to default behavior\n return `${DEFAULT_REMOVE} ${this.getOptionLabel(option)}`;\n }\n handleTagRemove(\n option: CustomSelectOptionType,\n event?: ClickEvent<HTMLButtonElement> | void\n ) {\n if (event) {\n event.stopPropagation();\n }\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 // Find next element with input, skipping group titles\n let nextElement = listElement?.nextElementSibling;\n while (nextElement) {\n const nextInput = nextElement.querySelector(\"input\");\n if (nextInput) {\n nextInput.focus();\n break;\n }\n nextElement = nextElement.nextElementSibling;\n }\n if (!nextElement) {\n // We are on the last checkbox we move to the top checkbox\n this.handleFocusFirstDropdownCheckbox(activeElement);\n }\n } else {\n // Find previous element with input, skipping group titles\n let prevElement = listElement?.previousElementSibling;\n while (prevElement) {\n const prevInput = prevElement.querySelector(\"input\");\n if (prevInput) {\n prevInput.focus();\n break;\n }\n prevElement = prevElement.previousElementSibling;\n }\n if (!prevElement) {\n // Check if we have a \"select all\" checkbox (only relevant for multi-select)\n const selectAllCheckbox =\n this.detailsRef()?.nativeElement.querySelector(\n `input[type=\"checkbox\"]`\n );\n if (selectAllCheckbox && selectAllCheckbox !== activeElement) {\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(\n this.detailsRef()?.nativeElement\n );\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 }\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(undefined, true);\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(undefined, true);\n this.handleSummaryFocus();\n } else if (\n event.key === \"Enter\" &&\n this.detailsRef()?.nativeElement?.open\n ) {\n // Handle Enter key to select option like Space key\n if (self.document) {\n const activeElement = self.document.activeElement as HTMLInputElement;\n if (\n [\"checkbox\", \"radio\"].includes(\n activeElement.getAttribute(\"type\") || \"\"\n )\n ) {\n // Trigger click to simulate Space key behavior\n activeElement.click();\n event.preventDefault();\n }\n }\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(\n event?: InteractionEvent<HTMLDetailsElement> | void,\n forceClose?: boolean\n ) {\n if (this.detailsRef()?.nativeElement) {\n if (forceClose) {\n this.detailsRef()!.nativeElement.open = false;\n this.handleSummaryFocus();\n } else if (this.detailsRef()?.nativeElement.open && event) {\n if (event.relatedTarget) {\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 }\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 this._userInteraction.set(true);\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(undefined, true);\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(valueOrEvent?: InputEvent<HTMLInputElement> | string | void) {\n if (valueOrEvent === undefined) {\n return;\n }\n let filterText;\n if (typeof valueOrEvent === \"string\") {\n filterText = valueOrEvent;\n } else {\n const event = valueOrEvent as InputEvent<HTMLInputElement>;\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 if (typeof window !== \"undefined\") {\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: InteractionEvent<HTMLDetailsElement>) =>\n 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.showLoading();\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 const v = this.values();\n if (Array.isArray(v)) {\n if (this._values() !== v) {\n this._values.set(v);\n }\n } else if (v == null && this._values()?.length !== 0) {\n this._values.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._values();\n this.selectRef();\n // ---\n\n if (this.selectRef()?.nativeElement) {\n this.handleValidation();\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 // ---\n\n if (this.selectRef()?.nativeElement) {\n let controller = this.abortController();\n if (!controller) {\n controller = new AbortController();\n this.abortController.set(controller);\n }\n const initialValues = this.values();\n addResetEventListener(\n this.selectRef()?.nativeElement,\n () => {\n const resetValue = initialValues\n ? initialValues\n : this.selectRef()?.nativeElement.value\n ? [this.selectRef()?.nativeElement.value]\n : [];\n this.handleOptionSelected(resetValue);\n this.handleValidation();\n },\n controller.signal\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.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 /**\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\tngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-custom-select\");\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(\n this.invalidMessage() || DEFAULT_INVALID_MESSAGE\n );\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\n ngOnDestroy() {\n this.abortController()?.abort();\n }\n}\n","import { GlobalProps, GlobalState } from '../../shared/model';\nexport const CustomSelectDropdownWidthList = ['fixed', 'auto', 'full'] as const;\nexport type CustomSelectDropdownWidthType = (typeof CustomSelectDropdownWidthList)[number];\nexport type DBCustomSelectDropdownDefaultProps = {\n /**\n * Changes the behavior of the dropdown with.\n * Default: fixed 328px\n * Full: Based on the size of the form-field\n * Auto: Based on the size of the largest list item\n */\n width?: CustomSelectDropdownWidthType | string;\n};\nexport type DBCustomSelectDropdownProps = DBCustomSelectDropdownDefaultProps & GlobalProps;\nexport type DBCustomSelectDropdownDefaultState = {};\nexport type DBCustomSelectDropdownState = DBCustomSelectDropdownDefaultState & GlobalState","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls } from \"../../utils\";\nimport { DBCustomSelectFormFieldProps } from \"./model\";\n\n@Component({\n selector: \"db-custom-select-form-field\",\n standalone: true,\n imports: [CommonModule],\n template: `<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 styles: `:host { display: contents; }`,\n})\nexport class DBCustomSelectFormField implements AfterViewInit {\n protected readonly cls = cls;\n\n id: InputSignal<DBCustomSelectFormFieldProps[\"id\"]> =\n input<DBCustomSelectFormFieldProps[\"id\"]>();\n className: InputSignal<DBCustomSelectFormFieldProps[\"className\"]> =\n 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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-custom-select-form-field\");\n }\n }\n}\n","import { BaseFormProps, ChangeEventProps, ChangeEventState, FormCheckProps, GlobalProps, GlobalState, IconProps, ShowIconProps, ValueProps } from '../../shared/model';\nexport const CustomSelectListItemTypeList = ['checkbox', 'radio'] as const;\nexport type CustomSelectListItemTypeType = (typeof CustomSelectListItemTypeList)[number];\nexport type DBCustomSelectListItemExtraProps = {\n /**\n * If the item is a group title (only text)\n */\n isGroupTitle?: boolean;\n /**\n * Show a divider on the bottom of the list item for visual grouping (don't use it on every item)\n */\n showDivider?: boolean;\n} & IconProps & ShowIconProps;\nexport type DBCustomSelectListItemDefaultProps = {\n /**\n * Set the title of a group of items - disables radio/checkbox behavior\n */\n groupTitle?: string;\n /**\n * Change the behavior of the item single(radio) or multiple(checkbox)\n */\n type?: CustomSelectListItemTypeType;\n};\nexport type DBCustomSelectListItemProps = DBCustomSelectListItemDefaultProps & GlobalProps & BaseFormProps & ValueProps & FormCheckProps & ChangeEventProps<HTMLInputElement> & DBCustomSelectListItemExtraProps;\nexport type DBCustomSelectListItemDefaultState = {\n getIconTrailing: () => string | undefined;\n hasDivider?: boolean;\n};\nexport type DBCustomSelectListItemState = DBCustomSelectListItemDefaultState & ChangeEventState<HTMLInputElement> & GlobalState","import { BaseFormProps, ClickEvent, CloseEventState, CustomFormProps, DocumentScrollState, FormMessageProps, FormState, FromValidState, GeneralEvent, GlobalProps, GlobalState, IconProps, InputEvent, InteractionEvent, PlacementVerticalType, RequiredProps, ShowIconProps, ShowLabelProps, ValidationType, WidthType } from '../../shared/model';\nimport { CustomSelectDropdownWidthType } from '../custom-select-dropdown/model';\nimport { DBCustomSelectFormFieldDefaultProps } from '../custom-select-form-field/model';\nimport { DBCustomSelectListItemExtraProps } from '../custom-select-list-item/model';\nexport type CustomSelectOptionType = {\n /**\n * Disables this option\n */\n disabled?: boolean;\n\n /**\n * Identifier for option\n */\n id?: string;\n\n /**\n * If the value is different from the label you want to show to the user.\n */\n label?: string;\n\n /**\n * The value for the option\n */\n value?: string;\n} & DBCustomSelectListItemExtraProps;\nexport const SelectedTypeList = ['amount', 'text', 'tag'] as const;\nexport type SelectedTypeType = (typeof SelectedTypeList)[number];\nexport type DBCustomSelectEvents = {\n /**\n * Optional: if select-type=\"amount\" when amount changes\n * @param amount The amount of selected checkboxes\n */\n onAmountChange?: (amount: number) => void;\n\n /**\n * Optional: if select-type=\"amount\" when amount changes\n * @param amount The amount of selected checkboxes\n */\n amountChange?: (amount: number) => void;\n /**\n * Triggers after some option was clicked in dropdown\n * @param values the changed values\n */\n onOptionSelected?: (values: string[]) => void;\n /**\n * Triggers after some option was clicked in dropdown\n * @param values the changed values\n */\n optionSelected?: (values: string[]) => void;\n\n /**\n * Informs the user when dropdown was toggled.\n */\n onDropdownToggle?: (event: GeneralEvent<HTMLDetailsElement>) => void;\n /**\n * Informs the user when dropdown was toggled.\n */\n dropdownToggle?: (event: GeneralEvent<HTMLDetailsElement>) => void;\n\n /**\n * Informs the user when a search was performed.\n */\n onSearch?: (event: InputEvent<HTMLInputElement>) => void;\n /**\n * Informs the user when a search was performed.\n */\n search?: (event: InputEvent<HTMLInputElement>) => void;\n};\nexport type DBCustomSelectDefaultProps = {\n /**\n * Optional: if select-type=\"amount\" change the shown text\n */\n amountText?: string;\n /**\n * Overwrite the default aria-label (props.label) for the custom-select-list\n */\n listLabel?: string;\n\n /**\n * Label for the clear selection button\n */\n clearSelectionText?: string;\n\n /**\n * Changes the behavior of the dropdown with.\n * Default: fixed 328px\n * Auto: Based on the size of the form-field\n */\n dropdownWidth?: CustomSelectDropdownWidthType | string;\n\n /**\n * Width of the component. Auto width based on children size, full width based on parent elements width.\n */\n formFieldWidth?: WidthType | string;\n\n /**\n * Dropdown - hint if data has to be loaded\n */\n loadingText?: string;\n\n /**\n * Change the button text for mobile close\n */\n mobileCloseButtonText?: string;\n\n /**\n * Enables CustomSelect\n */\n\n multiple?: boolean | string;\n /**\n * Dropdown - hint if there are no options\n */\n noResultsText?: string;\n /**\n * Programmatically open the dropdown. May differ if you don't use onDropdownToggle.\n */\n open?: boolean;\n\n /**\n * You should pass in the options as an array.\n */\n options?: CustomSelectOptionType[];\n\n /**\n * The `placement` attributes values change the position to absolute and adds a transform based on the placement.\n */\n placement?: PlacementVerticalType;\n\n /**\n * Optional: if you use selectedType=tag and options, you need to set the removeTagsTexts for screen reader users\n */\n removeTagsTexts?: string[];\n\n /**\n * Optional: Change the filter function for the search input\n */\n searchFilter?: (option: CustomSelectOptionType, filterText: string) => boolean;\n\n /**\n * Search label\n */\n searchLabel?: string;\n\n /**\n * Search placeholder\n */\n searchPlaceholder?: string;\n\n /**\n * Optional: Prefill the value of the search input\n */\n searchValue?: string;\n\n /**\n * Select all checkbox label\n */\n selectAllLabel?: string;\n\n /**\n * Optional: If you want to show a custom label for the selected values.\n * You need to define the empty state as well based on selected options.\n */\n selectedLabels?: string;\n\n /**\n * Optional: Prefix text announced by screen readers before the selection\n * (e.g., \"Ausgewählt\" or \"Selected\").\n */\n selectedPrefix?: string;\n\n /**\n * Change the selected type for values shown in multi select\n */\n selectedType?: SelectedTypeType;\n\n /**\n * Show clear selection button (default:true). Hide it if you have very small inputs e.g. in tables.\n */\n showClearSelection?: boolean;\n\n /**\n * Dropdown - enable loading infotext and spinner\n */\n showLoading?: boolean;\n\n /**\n * Dropdown - enable no options infotext\n */\n showNoResults?: boolean;\n\n /**\n * Forces search in header.\n */\n showSearch?: boolean;\n /**\n * Forces select all checkbox (only for multiple).\n */\n showSelectAll?: boolean;\n\n /**\n * Optional: If you want to show a custom label based on the selected options.\n */\n transformSelectedLabels?: (selectedOptions?: CustomSelectOptionType[]) => string;\n\n /**\n * Initial value for multi select\n */\n values?: string[];\n};\nexport type DBCustomSelectProps = GlobalProps & CustomFormProps & BaseFormProps & RequiredProps & FormMessageProps & DBCustomSelectDefaultProps & DBCustomSelectEvents & DBCustomSelectFormFieldDefaultProps & IconProps & ShowIconProps & ShowLabelProps;\nexport type DBCustomSelectDefaultState = {\n _validity?: ValidationType;\n _values?: string[];\n _options?: CustomSelectOptionType[];\n _selectedOptions?: CustomSelectOptionType[];\n _hasNoOptions: boolean;\n _selectId?: string;\n _labelId?: string;\n _summaryId?: string;\n _placeholderId?: string;\n _selectedLabels?: string;\n _selectedLabelsId?: string;\n _infoTextId?: string;\n _internalChangeTimestamp: number;\n _documentClickListenerCallbackId?: string;\n _searchValue?: string;\n _userInteraction?: boolean;\n getNativeSelectValue: () => string;\n getOptionLabel: (option: CustomSelectOptionType) => string;\n getOptionChecked: (value?: string) => boolean;\n getTagRemoveLabel: (option: CustomSelectOptionType) => string;\n selectAllEnabled: boolean;\n searchEnabled: boolean;\n amountOptions: number;\n setDescById: (descId?: string) => void;\n handleTagRemove: (option: CustomSelectOptionType, event?: ClickEvent<HTMLButtonElement> | void) => void;\n handleSummaryFocus: () => void;\n handleSelect: (value?: string) => void;\n handleSelectAll: (event: any) => void;\n handleClearAll: (event: any) => void;\n handleDropdownToggle: (event: any) => void;\n handleDocumentClose: (event: any) => void;\n handleOpenByKeyboardFocus: () => void;\n handleFocusFirstDropdownCheckbox: (activeElement?: Element) => void;\n handleKeyboardPress: (event: any) => void;\n handleArrowDownUp: (event: any) => void;\n handleSearch: (event: any) => void;\n handleOptionSelected: (_values: string[]) => void;\n getSelectAllLabel: () => string;\n selectAllChecked: boolean;\n selectAllIndeterminate: boolean;\n handleAutoPlacement: () => void;\n};\nexport type DBCustomSelectState = DBCustomSelectDefaultState & GlobalState & FormState & FromValidState & CloseEventState<InteractionEvent<HTMLDetailsElement>> & DocumentScrollState","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls } from \"../../utils\";\nimport { DBDividerProps, DBDividerState } from \"./model\";\n\n@Component({\n selector: \"db-divider\",\n standalone: true,\n imports: [CommonModule],\n template: `<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 styles: `:host { display: contents; }`,\n})\nexport class DBDivider implements AfterViewInit {\n protected readonly cls = cls;\n\n id: InputSignal<DBDividerProps[\"id\"]> = input<DBDividerProps[\"id\"]>();\n margin: InputSignal<DBDividerProps[\"margin\"]> =\n input<DBDividerProps[\"margin\"]>();\n variant: InputSignal<DBDividerProps[\"variant\"]> =\n input<DBDividerProps[\"variant\"]>();\n emphasis: InputSignal<DBDividerProps[\"emphasis\"]> =\n input<DBDividerProps[\"emphasis\"]>();\n width: InputSignal<DBDividerProps[\"width\"]> =\n input<DBDividerProps[\"width\"]>();\n className: InputSignal<DBDividerProps[\"className\"]> =\n 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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-divider\");\n }\n }\n}\n","import { EmphasisProps, GlobalProps, GlobalState, MarginProps, WidthProps } from '../../shared/model';\nexport const DividerMarginList = ['none', '_'] as const;\nexport type DividerMarginType = (typeof DividerMarginList)[number];\nexport const DividerVariantList = ['horizontal', 'vertical'] as const;\nexport type DividerVariantType = (typeof DividerVariantList)[number];\nexport type DBDividerDefaultProps = {\n /**\n * Removes the margin of the divider.\n */\n margin?: DividerMarginType;\n /**\n * Changes the orientation of the divider.\n */\n variant?: DividerVariantType;\n};\nexport type DBDividerProps = DBDividerDefaultProps & GlobalProps & EmphasisProps & MarginProps & WidthProps;\nexport type DBDividerDefaultState = {};\nexport type DBDividerState = DBDividerDefaultState & GlobalState","import {\n Component,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_CLOSE_BUTTON } from \"../../shared/constants\";\nimport { ClickEvent, GeneralKeyboardEvent } from \"../../shared/model\";\nimport { cls, delay, getBooleanAsString, isKeyboardEvent } from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBDrawerProps, DBDrawerState } from \"./model\";\n\n@Component({\n selector: \"db-drawer\",\n standalone: true,\n imports: [CommonModule, DBButton],\n template: `<dialog\n class=\"db-drawer\"\n [attr.id]=\"id()\"\n #_ref\n (click)=\"handleClose($event)\"\n (keydown)=\"handleClose($event)\"\n [attr.data-position]=\"position()\"\n [attr.data-backdrop]=\"backdrop()\"\n [attr.data-direction]=\"direction()\"\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 >{{closeButtonText() ?? DEFAULT_CLOSE_BUTTON}}</db-button\n >\n </header>\n <div class=\"db-drawer-content\"><ng-content></ng-content></div>\n </article>\n </dialog> `,\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: InputSignal<DBDrawerProps[\"open\"]> = input<DBDrawerProps[\"open\"]>();\n position: InputSignal<DBDrawerProps[\"position\"]> =\n input<DBDrawerProps[\"position\"]>();\n backdrop: InputSignal<DBDrawerProps[\"backdrop\"]> =\n input<DBDrawerProps[\"backdrop\"]>();\n variant: InputSignal<DBDrawerProps[\"variant\"]> =\n input<DBDrawerProps[\"variant\"]>();\n id: InputSignal<DBDrawerProps[\"id\"]> = input<DBDrawerProps[\"id\"]>();\n direction: InputSignal<DBDrawerProps[\"direction\"]> =\n input<DBDrawerProps[\"direction\"]>();\n className: InputSignal<DBDrawerProps[\"className\"]> =\n input<DBDrawerProps[\"className\"]>();\n spacing: InputSignal<DBDrawerProps[\"spacing\"]> =\n input<DBDrawerProps[\"spacing\"]>();\n width: InputSignal<DBDrawerProps[\"width\"]> = input<DBDrawerProps[\"width\"]>();\n rounded: InputSignal<DBDrawerProps[\"rounded\"]> =\n input<DBDrawerProps[\"rounded\"]>();\n closeButtonId: InputSignal<DBDrawerProps[\"closeButtonId\"]> =\n input<DBDrawerProps[\"closeButtonId\"]>();\n closeButtonText: InputSignal<DBDrawerProps[\"closeButtonText\"]> =\n 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 initialized = signal<DBDrawerState[\"initialized\"]>(false);\n\n handleClose(\n event?:\n | ClickEvent<HTMLButtonElement | HTMLDialogElement>\n | GeneralKeyboardEvent<HTMLDialogElement>\n | void,\n forceClose?: boolean\n ) {\n if (!event) return;\n if (isKeyboardEvent<HTMLButtonElement | HTMLDialogElement>(event)) {\n if (event.key === \"Escape\") {\n event.preventDefault();\n if (this.close) {\n this.close.emit(event);\n }\n }\n } else {\n if (forceClose) {\n event.stopPropagation();\n if (this.close) {\n this.close.emit(event);\n }\n }\n if (\n (event.target as any)?.nodeName === \"DIALOG\" &&\n event.type === \"click\" &&\n this.backdrop() !== \"none\"\n ) {\n if (this.close) {\n this.close.emit(event);\n }\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 (\n this.position() === \"absolute\" ||\n this.backdrop() === \"none\" ||\n this.variant() === \"inside\"\n ) {\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 if (typeof window !== \"undefined\") {\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 effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.initialized();\n this.position();\n // ---\n\n if (\n this._ref()?.nativeElement &&\n this.initialized() &&\n this.position() === \"absolute\"\n ) {\n const refElement = this._ref()?.nativeElement as HTMLDialogElement;\n const parent = refElement.parentElement;\n if (parent) {\n parent.style.position = \"relative\";\n }\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-drawer\");\n this.handleDialogOpen();\n this.initialized.set(true);\n }\n }\n}\n","import { ClickEvent, CloseEventProps, CloseEventState, GeneralKeyboardEvent, GlobalProps, GlobalState, InitializedState, InnerCloseButtonProps, SpacingProps, WidthProps } from '../../shared/model';\nexport const DrawerBackdropList = ['none', 'strong', 'weak', 'invisible'] as const;\nexport type DrawerBackdropType = (typeof DrawerBackdropList)[number];\nexport const DrawerDirectionList = ['left', 'right', 'up', 'down'] as const;\nexport type DrawerDirectionType = (typeof DrawerDirectionList)[number];\nexport const DrawerVariantList = ['modal', 'inside'] as const;\nexport type DrawerVariantType = (typeof DrawerVariantList)[number];\nexport const DrawerPositionList = ['fixed', 'absolute'] as const;\nexport type DrawerPositionType = (typeof DrawerPositionList)[number];\nexport type DBDrawerDefaultProps = {\n /**\n * The backdrop attribute changes the opacity of the backdrop.\n * The backdrop 'none' will use `dialog.show()` instead of `dialog.showModal()`\n */\n backdrop?: DrawerBackdropType;\n /**\n * The direction attribute changes the position & animation of the drawer.\n * E.g. \"left\" slides from left screen border to the right.\n */\n direction?: DrawerDirectionType;\n\n /**\n * Slot for changing the header of the drawer.\n */\n drawerHeader?: any;\n\n /**\n * The open attribute opens or closes the drawer based on the state.\n */\n open?: boolean | string;\n /**\n * The rounded attribute changes the border radius of the corners on the \"end\" of the drawer.\n * The \"end\" depends on which direction you use.\n */\n rounded?: boolean | string;\n /**\n * Set the variant modal|inside. Defaults to modal.\n */\n variant?: DrawerVariantType;\n /**\n * The position attribute changes the css-position (fixed or absolute) of the drawer.\n *\n * - `fixed` (default): Renders with `showModal()`, creating a true modal with a focus trap.\n * - `absolute`: Renders with `show()`, acting as a simple overlay **without** a focus trap.\n */\n position?: DrawerPositionType;\n};\nexport type DBDrawerProps = DBDrawerDefaultProps & GlobalProps & CloseEventProps<ClickEvent<HTMLButtonElement | HTMLDialogElement> | GeneralKeyboardEvent<HTMLDialogElement>> & InnerCloseButtonProps & WidthProps & SpacingProps;\nexport type DBDrawerDefaultState = {\n handleDialogOpen: () => void;\n};\nexport type DBDrawerState = DBDrawerDefaultState & GlobalState & CloseEventState<ClickEvent<HTMLButtonElement | HTMLDialogElement> | GeneralKeyboardEvent<HTMLDialogElement>> & InitializedState","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 viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\n AfterViewInit,\n InputSignal,\nContentChild, TemplateRef } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_BURGER_MENU } from \"../../shared/constants\";\nimport { addAttributeToChildren, cls, getBoolean } from \"../../utils\";\nimport { isEventTargetNavigationItem } from \"../../utils/navigation\";\nimport { DBButton } from \"../button/button\";\nimport { DBDrawer } from \"../drawer/drawer\";\nimport { DBHeaderProps, DBHeaderState } from \"./model\";\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: `<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 [closeButtonId]=\"closeButtonId()\"\n [closeButtonText]=\"closeButtonText()\"\n [open]=\"getBoolean(drawerOpen())\"\n (close)=\"handleToggle()\"\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></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 [noText]=\"true\"\n (click)=\"handleToggle()\"\n >{{burgerMenuLabel() ?? DEFAULT_BURGER_MENU}}</db-button\n >\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 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 forceMobile: InputSignal<DBHeaderProps[\"forceMobile\"]> =\n input<DBHeaderProps[\"forceMobile\"]>();\n drawerOpen: InputSignal<DBHeaderProps[\"drawerOpen\"]> =\n input<DBHeaderProps[\"drawerOpen\"]>();\n className: InputSignal<DBHeaderProps[\"className\"]> =\n input<DBHeaderProps[\"className\"]>();\n id: InputSignal<DBHeaderProps[\"id\"]> = input<DBHeaderProps[\"id\"]>();\n width: InputSignal<DBHeaderProps[\"width\"]> = input<DBHeaderProps[\"width\"]>();\n closeButtonId: InputSignal<DBHeaderProps[\"closeButtonId\"]> =\n input<DBHeaderProps[\"closeButtonId\"]>();\n closeButtonText: InputSignal<DBHeaderProps[\"closeButtonText\"]> =\n input<DBHeaderProps[\"closeButtonText\"]>();\n burgerMenuLabel: InputSignal<DBHeaderProps[\"burgerMenuLabel\"]> =\n input<DBHeaderProps[\"burgerMenuLabel\"]>();\n toggle = output<\n Parameters<Required<DBHeaderProps>[\"onToggle\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\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 if (typeof window !== \"undefined\") {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.initialized();\n this._ref();\n // ---\n\n if (\n this.initialized() &&\n this._ref()?.nativeElement &&\n this.forceMobile()\n ) {\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(this._ref()?.nativeElement, {\n key: \"data-force-mobile\",\n value: \"true\",\n });\n this.forcedToMobile.set(true);\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n ngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-header\");\n this.initialized.set(true);\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls } from \"../../utils\";\nimport type { DBIconProps, DBIconState } from \"./model\";\n\n@Component({\n selector: \"db-icon\",\n standalone: true,\n imports: [CommonModule],\n template: `<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 >@if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\n }</span\n > `,\n styles: `:host { display: contents; }`,\n})\nexport class DBIcon implements AfterViewInit {\n protected readonly cls = cls;\n\n id: InputSignal<DBIconProps[\"id\"]> = input<DBIconProps[\"id\"]>();\n className: InputSignal<DBIconProps[\"className\"]> =\n input<DBIconProps[\"className\"]>();\n icon: InputSignal<DBIconProps[\"icon\"]> = input<DBIconProps[\"icon\"]>();\n weight: InputSignal<DBIconProps[\"weight\"]> = input<DBIconProps[\"weight\"]>();\n variant: InputSignal<DBIconProps[\"variant\"]> =\n input<DBIconProps[\"variant\"]>();\n text: InputSignal<DBIconProps[\"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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-icon\");\n }\n }\n}\n","import { GlobalProps, GlobalState, IconProps, TextProps } from '../../shared/model';\nexport const IconWeightList = ['16', '20', '24', '32', '48', '64'] as const;\nexport type IconWeightType = (typeof IconWeightList)[number];\nexport type DBIconDefaultProps = {\n variant?: string;\n weight?: IconWeightType;\n};\nexport type DBIconProps = DBIconDefaultProps & GlobalProps & IconProps & TextProps;\nexport type DBIconDefaultState = {};\nexport type DBIconState = DBIconDefaultState & GlobalState","import { ChangeEventProps, ChangeEventState, FocusEventProps, FocusEventState, FormMessageProps, FormProps, FormSizeProps, FormState, FormTextProps, FromValidState, GlobalProps, GlobalState, IconLeadingProps, IconProps, IconTrailingProps, InputEventProps, InputEventState, ShowIconLeadingProps, ShowIconProps, ShowIconTrailingProps, SizeType, ValueLabelType } from '../../shared/model';\nexport const InputTypeList = ['color', 'date', 'datetime-local', 'email', 'file',\n// TODO: move this to own component\n'hidden', 'month', 'number', 'password', 'range',\n// TODO: move this to own component\n'search', 'tel', 'text', 'time', 'url', 'week'] as const;\nexport type InputTypeType = (typeof InputTypeList)[number];\nexport type DBInputDefaultProps = {\n /**\n * Set a [data list](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/datalist) via attribute instead of children.\n */\n dataList?: string[] | ValueLabelType[];\n /**\n * Add a custom id to [data list](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/datalist) if you're using `dataList` attribute.\n */\n dataListId?: string;\n /**\n * Allow selecting multiple files. https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input/file#multiple\n */\n multiple?: boolean | string;\n /**\n * Maximum value\n */\n max?: number | string;\n /**\n * Minimum value\n */\n min?: number | string;\n\n /**\n * Pattern the value must match to be valid\n */\n pattern?: string;\n /**\n * \tType of form control\n */\n type?: InputTypeType | string;\n /**\n * Sets [step value](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/step).\n */\n step?: number | string;\n /**\n * Hint for the [enter key behavior](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/enterkeyhint) on virtual keyboards.\n */\n enterkeyhint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';\n /**\n * Hint for [virtual keyboard](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode) selection.\n */\n inputmode?: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';\n /**\n * The size of the message infotext. Defaults to \"small\".\n */\n messageSize?: SizeType;\n /**\n * The size of the valid message infotext. Defaults to \"small\".\n */\n validMessageSize?: SizeType;\n /**\n * The size of the invalid message infotext. Defaults to \"small\".\n */\n invalidMessageSize?: SizeType;\n};\nexport type DBInputProps = DBInputDefaultProps & GlobalProps & FormTextProps & InputEventProps<HTMLInputElement> & ChangeEventProps<HTMLInputElement> & FocusEventProps<HTMLInputElement> & FormProps & IconProps & IconTrailingProps & FormMessageProps & ShowIconProps & IconLeadingProps & ShowIconLeadingProps & ShowIconTrailingProps & FormSizeProps;\nexport type DBInputDefaultState = {\n _dataListId?: string;\n getDataList: () => ValueLabelType[];\n};\nexport type DBInputState = DBInputDefaultState & GlobalState & InputEventState<HTMLInputElement> & ChangeEventState<HTMLInputElement> & FocusEventState<HTMLInputElement> & FormState & FromValidState","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls, getBooleanAsString } from \"../../utils\";\nimport { DBLinkProps } from \"./model\";\n\n@Component({\n selector: \"db-link\",\n standalone: true,\n imports: [CommonModule],\n template: `<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.data-size]=\"size()\"\n [attr.data-show-icon-trailing]=\"getBooleanAsString(showIcon() ?? true)\"\n [attr.data-variant]=\"variant()\"\n [attr.data-content]=\"content() || 'internal'\"\n [attr.data-wrap]=\"getBooleanAsString(wrap())\"\n >@if(text()){ {{text()}} }@else{\n <ng-content></ng-content>\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\n id: InputSignal<DBLinkProps[\"id\"]> = input<DBLinkProps[\"id\"]>();\n className: InputSignal<DBLinkProps[\"className\"]> =\n input<DBLinkProps[\"className\"]>();\n href: InputSignal<DBLinkProps[\"href\"]> = input<DBLinkProps[\"href\"]>();\n target: InputSignal<DBLinkProps[\"target\"]> = input<DBLinkProps[\"target\"]>();\n rel: InputSignal<DBLinkProps[\"rel\"]> = input<DBLinkProps[\"rel\"]>();\n role: InputSignal<DBLinkProps[\"role\"]> = input<DBLinkProps[\"role\"]>();\n hreflang: InputSignal<DBLinkProps[\"hreflang\"]> =\n input<DBLinkProps[\"hreflang\"]>();\n disabled: InputSignal<DBLinkProps[\"disabled\"]> =\n input<DBLinkProps[\"disabled\"]>();\n size: InputSignal<DBLinkProps[\"size\"]> = input<DBLinkProps[\"size\"]>();\n showIcon: InputSignal<DBLinkProps[\"showIcon\"]> =\n input<DBLinkProps[\"showIcon\"]>();\n variant: InputSignal<DBLinkProps[\"variant\"]> =\n input<DBLinkProps[\"variant\"]>();\n content: InputSignal<DBLinkProps[\"content\"]> =\n input<DBLinkProps[\"content\"]>();\n wrap: InputSignal<DBLinkProps[\"wrap\"]> = input<DBLinkProps[\"wrap\"]>();\n text: InputSignal<DBLinkProps[\"text\"]> = input<DBLinkProps[\"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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-link\");\n }\n }\n}\n","import { ClickEventProps, ClickEventState, GlobalProps, GlobalState, LinkProps, ShowIconProps, TextProps, WrapProps } from '../../shared/model';\nexport const LinkVariantList = ['adaptive', 'brand', 'inline'] as const;\nexport type LinkVariantType = (typeof LinkVariantList)[number];\nexport const LinkSizeList = ['medium', 'small'] as const;\nexport type LinkSizeType = (typeof LinkSizeList)[number];\nexport const LinkContentList = ['external', 'internal'] as const;\nexport type LinkContentType = (typeof LinkContentList)[number];\nexport type DBLinkDefaultProps = {\n /**\n * Adds a different arrow after the link to indicate external or internal link\n */\n content?: LinkContentType;\n /**\n * Change the size of the link\n */\n size?: LinkSizeType;\n /**\n * Change the styling of the link. `inline` will remove the arrow. Defaults to adaptive.\n */\n variant?: LinkVariantType;\n};\nexport type DBLinkProps = DBLinkDefaultProps & GlobalProps & ClickEventProps<HTMLAnchorElement> & LinkProps & ShowIconProps & TextProps & WrapProps;\nexport type DBLinkDefaultState = {};\nexport type DBLinkState = DBLinkDefaultState & GlobalState & ClickEventState<HTMLAnchorElement>","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_ID } from \"../../shared/constants\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBNavigationProps, DBNavigationState } from \"./model\";\n\n@Component({\n selector: \"db-navigation\",\n standalone: true,\n imports: [CommonModule],\n template: `<nav\n #_ref\n [attr.id]=\"_id()\"\n [class]=\"cls('db-navigation', className())\"\n >\n <menu><ng-content></ng-content></menu>\n </nav> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBNavigation implements AfterViewInit {\n protected readonly cls = cls;\n\n id: InputSignal<DBNavigationProps[\"id\"]> = input<DBNavigationProps[\"id\"]>();\n className: InputSignal<DBNavigationProps[\"className\"]> =\n 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 ngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-navigation\");\n this._id.set(this.id() || \"navigation-\" + uuid());\n }\n }\n}\n","/* Angular cannot handle multiple slots with the same name, we need to use Directives for this. */\nimport { Directive } from '@angular/core';\n@Directive({\n\tselector: '[dbNavigationContent]',\n\tstandalone: true\n})\nexport class NavigationContentDirective {}\n","import {\n Component,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\n AfterViewInit,\n InputSignal,\nContentChild, TemplateRef } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_BACK } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { cls, delay, getBoolean, getBooleanAsString, uuid } from \"../../utils\";\nimport { NavigationItemSafeTriangle } from \"../../utils/navigation\";\nimport { DBButton } from \"../button/button\";\nimport { DBNavigationItemProps, DBNavigationItemState } from \"./model\";\n\nimport { NavigationContentDirective } from './NavigationContent.directive';\n\n@Component({\n selector: \"db-navigation-item\",\n standalone: true,\n imports: [CommonModule, DBButton],\n template: `<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-show-icon]=\"getBooleanAsString(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-force-close]=\"autoClose()\"\n [attr.id]=\"subNavigationId()\"\n (click)=\"handleNavigationItemClick($event)\"\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 >{{backButtonText() ?? DEFAULT_BACK}}</db-button\n >\n </div>\n }\n <ng-content select=\"[sub-navigation]\"> </ng-content\n ></menu>\n }\n </li> `,\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 getBooleanAsString = getBooleanAsString;\n protected readonly getBoolean = getBoolean;\n protected readonly DEFAULT_BACK = DEFAULT_BACK;\n\n subNavigationExpanded: InputSignal<\n DBNavigationItemProps[\"subNavigationExpanded\"]\n > = input<DBNavigationItemProps[\"subNavigationExpanded\"]>();\n id: InputSignal<DBNavigationItemProps[\"id\"]> =\n input<DBNavigationItemProps[\"id\"]>();\n className: InputSignal<DBNavigationItemProps[\"className\"]> =\n input<DBNavigationItemProps[\"className\"]>();\n width: InputSignal<DBNavigationItemProps[\"width\"]> =\n input<DBNavigationItemProps[\"width\"]>();\n icon: InputSignal<DBNavigationItemProps[\"icon\"]> =\n input<DBNavigationItemProps[\"icon\"]>();\n showIcon: InputSignal<DBNavigationItemProps[\"showIcon\"]> =\n input<DBNavigationItemProps[\"showIcon\"]>();\n active: InputSignal<DBNavigationItemProps[\"active\"]> =\n input<DBNavigationItemProps[\"active\"]>();\n wrap: InputSignal<DBNavigationItemProps[\"wrap\"]> =\n input<DBNavigationItemProps[\"wrap\"]>();\n disabled: InputSignal<DBNavigationItemProps[\"disabled\"]> =\n input<DBNavigationItemProps[\"disabled\"]>();\n text: InputSignal<DBNavigationItemProps[\"text\"]> =\n input<DBNavigationItemProps[\"text\"]>();\n backButtonId: InputSignal<DBNavigationItemProps[\"backButtonId\"]> =\n input<DBNavigationItemProps[\"backButtonId\"]>();\n backButtonText: InputSignal<DBNavigationItemProps[\"backButtonText\"]> =\n 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: any) {\n if (event?.target?.nodeName === \"A\") {\n this.autoClose.set(true);\n void delay(() => {\n this.autoClose.set(false);\n }, 1000);\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 if (typeof window !== \"undefined\") {\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(\n this.subNavigationExpanded(),\n \"subNavigationExpanded\"\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 // ---\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 /**\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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-navigation-item\");\n this.initialized.set(true);\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_CLOSE_BUTTON } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\nimport {\n cls,\n getBoolean,\n getBooleanAsString,\n stringPropVisible,\n} from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBNotificationProps, DBNotificationState } from \"./model\";\n\n@Component({\n selector: \"db-notification\",\n standalone: true,\n imports: [CommonModule, DBButton],\n template: `<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]=\"getBoolean(showIcon()) !== false ? icon() : undefined\"\n [attr.data-show-icon]=\"getBooleanAsString(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 >{{closeButtonText() ?? DEFAULT_CLOSE_BUTTON}}</db-button\n >\n }\n </article> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBNotification implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBoolean = getBoolean;\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly stringPropVisible = stringPropVisible;\n protected readonly DEFAULT_CLOSE_BUTTON = DEFAULT_CLOSE_BUTTON;\n\n id: InputSignal<DBNotificationProps[\"id\"]> =\n input<DBNotificationProps[\"id\"]>();\n className: InputSignal<DBNotificationProps[\"className\"]> =\n input<DBNotificationProps[\"className\"]>();\n ariaLive: InputSignal<DBNotificationProps[\"ariaLive\"]> =\n input<DBNotificationProps[\"ariaLive\"]>();\n semantic: InputSignal<DBNotificationProps[\"semantic\"]> =\n input<DBNotificationProps[\"semantic\"]>();\n variant: InputSignal<DBNotificationProps[\"variant\"]> =\n input<DBNotificationProps[\"variant\"]>();\n showIcon: InputSignal<DBNotificationProps[\"showIcon\"]> =\n input<DBNotificationProps[\"showIcon\"]>();\n icon: InputSignal<DBNotificationProps[\"icon\"]> =\n input<DBNotificationProps[\"icon\"]>();\n linkVariant: InputSignal<DBNotificationProps[\"linkVariant\"]> =\n input<DBNotificationProps[\"linkVariant\"]>();\n headline: InputSignal<DBNotificationProps[\"headline\"]> =\n input<DBNotificationProps[\"headline\"]>();\n showHeadline: InputSignal<DBNotificationProps[\"showHeadline\"]> =\n input<DBNotificationProps[\"showHeadline\"]>();\n text: InputSignal<DBNotificationProps[\"text\"]> =\n input<DBNotificationProps[\"text\"]>();\n timestamp: InputSignal<DBNotificationProps[\"timestamp\"]> =\n input<DBNotificationProps[\"timestamp\"]>();\n showTimestamp: InputSignal<DBNotificationProps[\"showTimestamp\"]> =\n input<DBNotificationProps[\"showTimestamp\"]>();\n closeable: InputSignal<DBNotificationProps[\"closeable\"]> =\n input<DBNotificationProps[\"closeable\"]>();\n closeButtonId: InputSignal<DBNotificationProps[\"closeButtonId\"]> =\n input<DBNotificationProps[\"closeButtonId\"]>();\n closeButtonText: InputSignal<DBNotificationProps[\"closeButtonText\"]> =\n 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> | void) {\n if (!event) return;\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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-notification\");\n }\n }\n}\n","import { ClickEvent, CloseEventProps, CloseEventState, GlobalProps, GlobalState, IconProps, InnerCloseButtonProps, PopoverProps, SemanticProps, ShowIconProps, TextProps } from '../../shared/model';\nexport const NotificationVariantList = ['docked', 'standalone', 'overlay'] as const;\nexport type NotificationVariantType = (typeof NotificationVariantList)[number];\nexport const NotificationLinkVariantList = ['block', 'inline'] as const;\nexport type NotificationLinkVariantType = (typeof NotificationLinkVariantList)[number];\nexport const NotificationAriaLiveList = ['assertive', 'polite', 'off'] as const;\nexport type NotificationAriaLiveType = (typeof NotificationAriaLiveList)[number];\nexport type DBNotificationDefaultProps = {\n /**\n * The arialive attribute will lead to that the screenreader interrupts immediately\n * and reads out the notification if set to \"assertive\", while it will wait for the\n * user's idleness when set to \"polite\", compare to [aria-live](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-live)\n */\n ariaLive?: NotificationAriaLiveType;\n\n /**\n * The closeable attribute shows/hides the close button on the top right.\n */\n closeable?: boolean | string;\n\n /**\n * The headline attribute changes the text of the bold headline.\n */\n headline?: string | any;\n\n /**\n * The slotImage can be set instead of an icon.\n */\n image?: any;\n\n /**\n * The slotLink can be set for non overlay-notifications\n */\n link?: any;\n\n /**\n * The linkVariant will be used if slotLink is set.\n */\n linkVariant?: NotificationLinkVariantType;\n\n /**\n * Enables or disables the visibility of the headline.\n */\n showHeadline?: boolean | string;\n\n /**\n * The timestamp attribute can be set for overlay notifications\n */\n timestamp?: string;\n\n /**\n * Enables or disables the visibility of the timestamp.\n */\n showTimestamp?: boolean | string;\n\n /**\n * The variant attribute changes the styling of the notification.\n * - The docked notifications are used e.g. between header and main content to show a global alert.\n * - The standalone notifications are used e.g. inside a form to show an alert for a specific field.\n * - The overlay notifications are used for absolute and floating notifications like snackbars etc.\n */\n variant?: NotificationVariantType;\n};\nexport type DBNotificationProps = DBNotificationDefaultProps & GlobalProps & CloseEventProps<ClickEvent<HTMLButtonElement>> & IconProps & SemanticProps & InnerCloseButtonProps & PopoverProps & ShowIconProps & TextProps;\nexport type DBNotificationDefaultState = {};\nexport type DBNotificationState = DBNotificationDefaultState & GlobalState & CloseEventState<ClickEvent<HTMLButtonElement>>","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n OnDestroy,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls, getBooleanAsString } from \"../../utils\";\nimport { DBPageProps, DBPageState } from \"./model\";\n\n@Component({\n selector: \"db-page\",\n standalone: true,\n imports: [CommonModule],\n template: `<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())\"><ng-content></ng-content></main>\n <ng-content select=\"[footer]\"> </ng-content>\n </div> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBPage implements AfterViewInit, OnDestroy {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n fadeIn: InputSignal<DBPageProps[\"fadeIn\"]> = input<DBPageProps[\"fadeIn\"]>();\n documentOverflow: InputSignal<DBPageProps[\"documentOverflow\"]> =\n input<DBPageProps[\"documentOverflow\"]>();\n variant: InputSignal<DBPageProps[\"variant\"]> =\n input<DBPageProps[\"variant\"]>();\n id: InputSignal<DBPageProps[\"id\"]> = input<DBPageProps[\"id\"]>();\n className: InputSignal<DBPageProps[\"className\"]> =\n input<DBPageProps[\"className\"]>();\n mainClass: InputSignal<DBPageProps[\"mainClass\"]> =\n 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 }\n\n ngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-page\");\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\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 { GlobalProps, GlobalState } from '../../shared/model';\nexport const PageVariantList = ['auto', 'fixed'] as const;\nexport type PageVariantType = (typeof PageVariantList)[number];\nexport const PageDocumentOverflowList = ['hidden', 'auto'] as const;\nexport type PageDocumentOverflowType = (typeof PageDocumentOverflowList)[number];\nexport type DBPageDefaultProps = {\n /**\n * The documentOverflow sets the overflow:hidden/auto to the root document\n */\n documentOverflow?: PageDocumentOverflowType;\n /**\n * Set this to have a transition with opacity to avoid layout-shifts https://simonhearne.com/2021/layout-shifts-webfonts/\n */\n fadeIn?: boolean | string;\n\n /**\n * The slot can be used for React to set a footer.\n */\n footer?: any;\n /**\n * The slot can be used for React to set a header.\n */\n header?: any;\n\n /**\n * Adds `class` to `<main>` element\n */\n mainClass?: string;\n\n /**\n * The variant=fixed uses flex-box to make header and footer static\n */\n variant?: PageVariantType;\n};\nexport type DBPageProps = DBPageDefaultProps & GlobalProps;\nexport type DBPageDefaultState = {\n fontsLoaded?: boolean;\n};\nexport type DBPageState = DBPageDefaultState & GlobalState","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls, getBooleanAsString, delay as utilsDelay } from \"../../utils\";\nimport { DocumentScrollListener } from \"../../utils/document-scroll-listener\";\nimport { handleFixedPopover } from \"../../utils/floating-components\";\nimport { DBPopoverProps, DBPopoverState } from \"./model\";\n\n@Component({\n selector: \"db-popover\",\n standalone: true,\n imports: [CommonModule],\n template: `<div\n #_ref\n [attr.id]=\"id()\"\n [class]=\"cls('db-popover', className())\"\n >\n <ng-content select=\"[trigger]\"> </ng-content>\n <article\n class=\"db-popover-content\"\n [attr.data-spacing]=\"spacing()\"\n [attr.data-gap]=\"getBooleanAsString(gap())\"\n [attr.data-animation]=\"getBooleanAsString(animation() ?? true)\"\n [attr.data-open]=\"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 styles: `:host { display: contents; }`,\n})\nexport class DBPopover implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n placement: InputSignal<DBPopoverProps[\"placement\"]> =\n input<DBPopoverProps[\"placement\"]>();\n id: InputSignal<DBPopoverProps[\"id\"]> = input<DBPopoverProps[\"id\"]>();\n className: InputSignal<DBPopoverProps[\"className\"]> =\n input<DBPopoverProps[\"className\"]>();\n spacing: InputSignal<DBPopoverProps[\"spacing\"]> =\n input<DBPopoverProps[\"spacing\"]>();\n gap: InputSignal<DBPopoverProps[\"gap\"]> = input<DBPopoverProps[\"gap\"]>();\n animation: InputSignal<DBPopoverProps[\"animation\"]> =\n input<DBPopoverProps[\"animation\"]>();\n open: InputSignal<DBPopoverProps[\"open\"]> = input<DBPopoverProps[\"open\"]>();\n delay: InputSignal<DBPopoverProps[\"delay\"]> =\n input<DBPopoverProps[\"delay\"]>();\n width: InputSignal<DBPopoverProps[\"width\"]> =\n 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 if (typeof window !== \"undefined\") {\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(\n \"keydown\",\n (event: any) => 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 /**\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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-popover\");\n this.initialized.set(true);\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n model,\n output,\n input,\n effect,\n signal,\n OnDestroy,\n AfterViewInit,\n InputSignal,\n ModelSignal,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { ChangeEvent, InteractionEvent } from \"../../shared/model\";\nimport { cls, delay, getBoolean, getHideProp, uuid } from \"../../utils\";\nimport {\n addResetEventListener,\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBRadioProps, DBRadioState } from \"./model\";\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: `<label\n [attr.data-size]=\"size()\"\n [attr.data-hide-label]=\"getHideProp(showLabel())\"\n [attr.data-hide-asterisk]=\"getHideProp(showRequiredAsterisk())\"\n [class]=\"cls('db-radio', className())\"\n [attr.for]=\"_id()\"\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.value]=\"value()\"\n [required]=\"getBoolean(required(), 'required')\"\n (input)=\"handleInput($event)\"\n (change)=\"handleChange($event)\"\n (blur)=\"handleBlur($event)\"\n (focus)=\"handleFocus($event)\"\n />\n @if(label()){ {{label()}} }@else{\n <ng-content></ng-content>\n }</label\n > `,\n styles: `:host { display: contents; }`,\n})\nexport class DBRadio implements AfterViewInit, ControlValueAccessor, OnDestroy {\n protected readonly getHideProp = getHideProp;\n protected readonly cls = cls;\n protected readonly getBoolean = getBoolean;\n\n id: InputSignal<DBRadioProps[\"id\"]> = input<DBRadioProps[\"id\"]>();\n checked: InputSignal<DBRadioProps[\"checked\"]> =\n input<DBRadioProps[\"checked\"]>();\n size: InputSignal<DBRadioProps[\"size\"]> = input<DBRadioProps[\"size\"]>();\n showLabel: InputSignal<DBRadioProps[\"showLabel\"]> =\n input<DBRadioProps[\"showLabel\"]>();\n showRequiredAsterisk: InputSignal<DBRadioProps[\"showRequiredAsterisk\"]> =\n input<DBRadioProps[\"showRequiredAsterisk\"]>();\n className: InputSignal<DBRadioProps[\"className\"]> =\n input<DBRadioProps[\"className\"]>();\n validation: InputSignal<DBRadioProps[\"validation\"]> =\n input<DBRadioProps[\"validation\"]>();\n name: InputSignal<DBRadioProps[\"name\"]> = input<DBRadioProps[\"name\"]>();\n disabled: ModelSignal<DBRadioProps[\"disabled\"]> =\n model<DBRadioProps[\"disabled\"]>();\n value: ModelSignal<DBRadioProps[\"value\"]> = model<DBRadioProps[\"value\"]>();\n required: InputSignal<DBRadioProps[\"required\"]> =\n input<DBRadioProps[\"required\"]>();\n label: InputSignal<DBRadioProps[\"label\"]> = input<DBRadioProps[\"label\"]>();\n input = output<\n Parameters<Required<DBRadioProps>[\"onInput\"]>[number] | void\n >();\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 abortController = signal<DBRadioState[\"abortController\"]>(undefined);\n\n handleInput(event: ChangeEvent<HTMLInputElement> | any, reset?: boolean) {\n if (this.input) {\n if (reset) {\n this.input.emit(event);\n }\n }\n handleFrameworkEventAngular(this, event);\n }\n handleChange(event: ChangeEvent<HTMLInputElement> | any, reset?: boolean) {\n if (this.change) {\n // We need to split the if statements for generation\n if (reset) {\n this.change.emit(event);\n }\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 if (typeof window !== \"undefined\") {\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 effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n // ---\n\n if (this._ref()?.nativeElement) {\n const defaultChecked = undefined;\n let controller = this.abortController();\n if (!controller) {\n controller = new AbortController();\n this.abortController.set(controller);\n }\n addResetEventListener(\n this._ref()?.nativeElement,\n (event: Event) => {\n void delay(() => {\n const resetChecked = this.checked()\n ? this.checked()\n : defaultChecked\n ? defaultChecked\n : this._ref()?.nativeElement.checked;\n const valueEvent: any = {\n ...event,\n target: {\n ...event.target,\n value: \"\",\n checked: resetChecked,\n },\n };\n this.handleChange(valueEvent, true);\n this.handleInput(valueEvent, true);\n }, 1);\n },\n controller.signal\n );\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \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\tngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-radio\");\n this.initialized.set(true);\n this._id.set(this.id() ?? `radio-${uuid()}`);\n }\n }\n\n ngOnDestroy() {\n this.abortController()?.abort();\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls } from \"../../utils\";\nimport { DBSectionProps } from \"./model\";\n\n@Component({\n selector: \"db-section\",\n standalone: true,\n imports: [CommonModule],\n template: `<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 styles: `:host { display: contents; }`,\n})\nexport class DBSection implements AfterViewInit {\n protected readonly cls = cls;\n\n id: InputSignal<DBSectionProps[\"id\"]> = input<DBSectionProps[\"id\"]>();\n className: InputSignal<DBSectionProps[\"className\"]> =\n input<DBSectionProps[\"className\"]>();\n spacing: InputSignal<DBSectionProps[\"spacing\"]> =\n input<DBSectionProps[\"spacing\"]>();\n width: InputSignal<DBSectionProps[\"width\"]> =\n input<DBSectionProps[\"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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-section\");\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n model,\n output,\n input,\n effect,\n signal,\n OnDestroy,\n AfterViewInit,\n InputSignal,\n ModelSignal,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\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 {\n ChangeEvent,\n ClickEvent,\n InputEvent,\n InteractionEvent,\n} from \"../../shared/model\";\nimport {\n cls,\n delay,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n getOptionKey,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n addValueResetEventListener,\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBSelectOptionType, DBSelectProps, DBSelectState } from \"./model\";\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: `<div\n [class]=\"cls('db-select', className())\"\n [attr.data-variant]=\"variant()\"\n [attr.data-hide-label]=\"getHideProp(showLabel())\"\n [attr.data-hide-asterisk]=\"getHideProp(showRequiredAsterisk())\"\n [attr.data-icon]=\"icon()\"\n [attr.data-show-icon]=\"getBooleanAsString(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 @if(variant() === 'floating' || placeholder()){\n <option class=\"placeholder\" value=\"\"></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 trackByOptgroupOption0(i,\n optgroupOption);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 }</ng-container\n >\n } }@else{\n <ng-content></ng-content>\n }\n </select>\n @if(placeholder()){\n <span\n class=\"db-select-placeholder\"\n [attr.id]=\"_placeholderId()\"\n >{{placeholder()}}</span\n >\n } @if(stringPropVisible(message(), showMessage())){\n <db-infotext\n size=\"small\"\n [icon]=\"messageIcon()\"\n [id]=\"_messageId()\"\n >{{message()}}</db-infotext\n >\n } @if(hasValidState()){\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n [id]=\"_validMessageId()\"\n >{{validMessage() || DEFAULT_VALID_MESSAGE}}</db-infotext\n >\n }\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n [id]=\"_invalidMessageId()\"\n >{{_invalidMessage()}}</db-infotext\n >\n <span\n data-visually-hidden=\"true\"\n role=\"status\"\n >{{_voiceOverFallback()}}</span\n >\n </div> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBSelect implements AfterViewInit, ControlValueAccessor, OnDestroy {\n protected readonly cls = cls;\n protected readonly getHideProp = getHideProp;\n protected readonly getBooleanAsString = getBooleanAsString;\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: InputSignal<DBSelectProps[\"id\"]> = input<DBSelectProps[\"id\"]>();\n invalidMessage: InputSignal<DBSelectProps[\"invalidMessage\"]> =\n input<DBSelectProps[\"invalidMessage\"]>();\n message: InputSignal<DBSelectProps[\"message\"]> =\n input<DBSelectProps[\"message\"]>();\n showMessage: InputSignal<DBSelectProps[\"showMessage\"]> =\n input<DBSelectProps[\"showMessage\"]>();\n placeholder: InputSignal<DBSelectProps[\"placeholder\"]> =\n input<DBSelectProps[\"placeholder\"]>();\n value: ModelSignal<DBSelectProps[\"value\"]> = model<DBSelectProps[\"value\"]>();\n validMessage: InputSignal<DBSelectProps[\"validMessage\"]> =\n input<DBSelectProps[\"validMessage\"]>();\n validation: InputSignal<DBSelectProps[\"validation\"]> =\n input<DBSelectProps[\"validation\"]>();\n required: InputSignal<DBSelectProps[\"required\"]> =\n input<DBSelectProps[\"required\"]>();\n className: InputSignal<DBSelectProps[\"className\"]> =\n input<DBSelectProps[\"className\"]>();\n variant: InputSignal<DBSelectProps[\"variant\"]> =\n input<DBSelectProps[\"variant\"]>();\n showLabel: InputSignal<DBSelectProps[\"showLabel\"]> =\n input<DBSelectProps[\"showLabel\"]>();\n showRequiredAsterisk: InputSignal<DBSelectProps[\"showRequiredAsterisk\"]> =\n input<DBSelectProps[\"showRequiredAsterisk\"]>();\n icon: InputSignal<DBSelectProps[\"icon\"]> = input<DBSelectProps[\"icon\"]>();\n showIcon: InputSignal<DBSelectProps[\"showIcon\"]> =\n input<DBSelectProps[\"showIcon\"]>();\n label: InputSignal<DBSelectProps[\"label\"]> = input<DBSelectProps[\"label\"]>();\n disabled: ModelSignal<DBSelectProps[\"disabled\"]> =\n model<DBSelectProps[\"disabled\"]>();\n name: InputSignal<DBSelectProps[\"name\"]> = input<DBSelectProps[\"name\"]>();\n size: InputSignal<DBSelectProps[\"size\"]> = input<DBSelectProps[\"size\"]>();\n autocomplete: InputSignal<DBSelectProps[\"autocomplete\"]> =\n input<DBSelectProps[\"autocomplete\"]>();\n multiple: InputSignal<DBSelectProps[\"multiple\"]> =\n input<DBSelectProps[\"multiple\"]>();\n ariaDescribedBy: InputSignal<DBSelectProps[\"ariaDescribedBy\"]> =\n input<DBSelectProps[\"ariaDescribedBy\"]>();\n options: InputSignal<DBSelectProps[\"options\"]> =\n input<DBSelectProps[\"options\"]>();\n messageIcon: InputSignal<DBSelectProps[\"messageIcon\"]> =\n 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\"]>(undefined);\n _value = signal<DBSelectState[\"_value\"]>(\"\");\n initialized = signal<DBSelectState[\"initialized\"]>(false);\n _voiceOverFallback = signal<DBSelectState[\"_voiceOverFallback\"]>(\"\");\n abortController = signal<DBSelectState[\"abortController\"]>(undefined);\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 if (this.placeholder()) {\n this._descByIds.set(this._placeholderId());\n } else {\n this._descByIds.set(undefined);\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, reset?: boolean) {\n if (this.input) {\n if (reset) {\n this.input.emit(event);\n }\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLSelectElement> | any, reset?: boolean) {\n if (this.change) {\n // We need to split the if statements for generation\n if (reset) {\n this.change.emit(event);\n }\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 if (typeof window !== \"undefined\") {\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 if (this.placeholder()) {\n this._descByIds.set(placeholderId);\n } else {\n this._descByIds.set(undefined);\n }\n this.handleValidation();\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 effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n // ---\n\n if (this._ref()?.nativeElement) {\n const defaultValue = undefined;\n let controller = this.abortController();\n if (!controller) {\n controller = new AbortController();\n this.abortController.set(controller);\n }\n addValueResetEventListener(\n this._ref()?.nativeElement,\n {\n value: this.value(),\n defaultValue,\n },\n (event) => {\n this.handleChange(event, true);\n this.handleInput(event, true);\n },\n controller.signal\n );\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \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\tngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-select\");\n this.initialized.set(true);\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(\n this.invalidMessage() || DEFAULT_INVALID_MESSAGE\n );\n // @ts-ignore\n this.writeValue?.(this.value?.() ?? \"\");\n }\n }\n\n ngOnDestroy() {\n this.abortController()?.abort();\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls, getBooleanAsString } from \"../../utils\";\nimport { DBStackProps, DBStackState } from \"./model\";\n\n@Component({\n selector: \"db-stack\",\n standalone: true,\n imports: [CommonModule],\n template: `<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 styles: `:host { display: contents; }`,\n})\nexport class DBStack implements AfterViewInit {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n\n id: InputSignal<DBStackProps[\"id\"]> = input<DBStackProps[\"id\"]>();\n className: InputSignal<DBStackProps[\"className\"]> =\n input<DBStackProps[\"className\"]>();\n gap: InputSignal<DBStackProps[\"gap\"]> = input<DBStackProps[\"gap\"]>();\n variant: InputSignal<DBStackProps[\"variant\"]> =\n input<DBStackProps[\"variant\"]>();\n direction: InputSignal<DBStackProps[\"direction\"]> =\n input<DBStackProps[\"direction\"]>();\n alignment: InputSignal<DBStackProps[\"alignment\"]> =\n input<DBStackProps[\"alignment\"]>();\n justifyContent: InputSignal<DBStackProps[\"justifyContent\"]> =\n input<DBStackProps[\"justifyContent\"]>();\n wrap: InputSignal<DBStackProps[\"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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-stack\");\n }\n }\n}\n","import { GapSpacingProps, GlobalProps, GlobalState } from '../../shared/model';\nexport const StackVariantList = ['simple', 'divider'] as const;\nexport type StackVariantType = (typeof StackVariantList)[number];\nexport const StackDirectionList = ['row', 'column'] as const;\nexport type StackDirectionType = (typeof StackDirectionList)[number];\nexport const StackAlignmentList = ['stretch', 'start', 'end', 'center'] as const;\nexport type StackAlignmentType = (typeof StackAlignmentList)[number];\nexport const StackJustifyContentList = ['space-between', 'start', 'end', 'center'] as const;\nexport type StackJustifyContentType = (typeof StackJustifyContentList)[number];\nexport type DBStackDefaultProps = {\n /**\n * Change variant of stack. To use variant=\"divider\" add a DBDivider after each element\n */\n variant?: StackVariantType;\n /**\n * Set the direction of the stack. Defaults to \"column\"\n */\n direction?: StackDirectionType;\n /**\n * If the stack should wrap if parent is too small otherwise you get an overflow\n */\n wrap?: boolean | string;\n /**\n * Represents css align-items\n */\n alignment?: StackAlignmentType;\n /**\n * Represents css justify-content\n */\n justifyContent?: StackJustifyContentType;\n};\nexport type DBStackProps = DBStackDefaultProps & GlobalProps & GapSpacingProps;\nexport type DBStackDefaultState = {};\nexport type DBStackState = DBStackDefaultState & GlobalState","import {\n Component,\n viewChild,\n ElementRef,\n model,\n output,\n input,\n effect,\n signal,\n OnDestroy,\n AfterViewInit,\n InputSignal,\n ModelSignal,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\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 {\n ChangeEvent,\n GeneralKeyboardEvent,\n InteractionEvent,\n} from \"../../shared/model\";\nimport {\n cls,\n delay,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n addCheckedResetEventListener,\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBSwitchProps, DBSwitchState } from \"./model\";\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, DBInfotext],\n template: `<div\n [attr.data-visual-aid]=\"getBooleanAsString(visualAid())\"\n [attr.data-size]=\"size()\"\n [attr.data-hide-label]=\"getHideProp(showLabel())\"\n [attr.data-variant]=\"variant()\"\n [attr.data-hide-asterisk]=\"getHideProp(showRequiredAsterisk())\"\n [attr.data-custom-validity]=\"validation()\"\n [class]=\"cls('db-switch', className())\"\n >\n <label [attr.for]=\"_id()\"\n ><input\n type=\"checkbox\"\n role=\"switch\"\n [attr.id]=\"_id()\"\n #_ref\n [checked]=\"getBoolean(checked(), 'checked')\"\n [attr.value]=\"value()\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [attr.aria-invalid]=\"validation() === 'invalid' ? 'true' : undefined\"\n [attr.aria-describedby]=\"_descByIds()\"\n [attr.name]=\"name()\"\n [required]=\"getBoolean(required(), 'required')\"\n [attr.data-aid-icon]=\"iconLeading() ?? icon()\"\n [attr.data-aid-icon-trailing]=\"iconTrailing()\"\n (change)=\"handleChange($event)\"\n (blur)=\"handleBlur($event)\"\n (focus)=\"handleFocus($event)\"\n (keydown)=\"handleKeyDown($event)\"\n />\n @if(label()){ {{label()}} }@else{\n <ng-content></ng-content>\n }</label\n >\n @if(stringPropVisible(message(), showMessage())){\n <db-infotext\n size=\"small\"\n semantic=\"adaptive\"\n [id]=\"_messageId()\"\n [icon]=\"messageIcon()\"\n >{{message()}}</db-infotext\n >\n } @if(hasValidState()){\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n [id]=\"_validMessageId()\"\n >{{validMessage() ?? DEFAULT_VALID_MESSAGE}}</db-infotext\n >\n }\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n [id]=\"_invalidMessageId()\"\n >{{_invalidMessage() ?? invalidMessage() ??\n DEFAULT_INVALID_MESSAGE}}</db-infotext\n >\n <span\n data-visually-hidden=\"true\"\n role=\"status\"\n >{{_voiceOverFallback()}}</span\n >\n </div> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBSwitch implements AfterViewInit, ControlValueAccessor, OnDestroy {\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly getHideProp = getHideProp;\n protected readonly cls = cls;\n protected readonly getBoolean = getBoolean;\n protected readonly stringPropVisible = stringPropVisible;\n protected readonly DEFAULT_VALID_MESSAGE = DEFAULT_VALID_MESSAGE;\n protected readonly DEFAULT_INVALID_MESSAGE = DEFAULT_INVALID_MESSAGE;\n\n id: InputSignal<DBSwitchProps[\"id\"]> = input<DBSwitchProps[\"id\"]>();\n validation: InputSignal<DBSwitchProps[\"validation\"]> =\n input<DBSwitchProps[\"validation\"]>();\n required: InputSignal<DBSwitchProps[\"required\"]> =\n input<DBSwitchProps[\"required\"]>();\n message: InputSignal<DBSwitchProps[\"message\"]> =\n input<DBSwitchProps[\"message\"]>();\n showMessage: InputSignal<DBSwitchProps[\"showMessage\"]> =\n input<DBSwitchProps[\"showMessage\"]>();\n validMessage: InputSignal<DBSwitchProps[\"validMessage\"]> =\n input<DBSwitchProps[\"validMessage\"]>();\n invalidMessage: InputSignal<DBSwitchProps[\"invalidMessage\"]> =\n input<DBSwitchProps[\"invalidMessage\"]>();\n checked: ModelSignal<DBSwitchProps[\"checked\"]> =\n model<DBSwitchProps[\"checked\"]>();\n disabled: ModelSignal<DBSwitchProps[\"disabled\"]> =\n model<DBSwitchProps[\"disabled\"]>();\n visualAid: InputSignal<DBSwitchProps[\"visualAid\"]> =\n input<DBSwitchProps[\"visualAid\"]>();\n size: InputSignal<DBSwitchProps[\"size\"]> = input<DBSwitchProps[\"size\"]>();\n showLabel: InputSignal<DBSwitchProps[\"showLabel\"]> =\n input<DBSwitchProps[\"showLabel\"]>();\n variant: InputSignal<DBSwitchProps[\"variant\"]> =\n input<DBSwitchProps[\"variant\"]>();\n showRequiredAsterisk: InputSignal<DBSwitchProps[\"showRequiredAsterisk\"]> =\n input<DBSwitchProps[\"showRequiredAsterisk\"]>();\n className: InputSignal<DBSwitchProps[\"className\"]> =\n input<DBSwitchProps[\"className\"]>();\n value: InputSignal<DBSwitchProps[\"value\"]> = input<DBSwitchProps[\"value\"]>();\n name: InputSignal<DBSwitchProps[\"name\"]> = input<DBSwitchProps[\"name\"]>();\n iconLeading: InputSignal<DBSwitchProps[\"iconLeading\"]> =\n input<DBSwitchProps[\"iconLeading\"]>();\n icon: InputSignal<DBSwitchProps[\"icon\"]> = input<DBSwitchProps[\"icon\"]>();\n iconTrailing: InputSignal<DBSwitchProps[\"iconTrailing\"]> =\n input<DBSwitchProps[\"iconTrailing\"]>();\n label: InputSignal<DBSwitchProps[\"label\"]> = input<DBSwitchProps[\"label\"]>();\n messageIcon: InputSignal<DBSwitchProps[\"messageIcon\"]> =\n input<DBSwitchProps[\"messageIcon\"]>();\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 _messageId = signal<DBSwitchState[\"_messageId\"]>(undefined);\n _validMessageId = signal<DBSwitchState[\"_validMessageId\"]>(undefined);\n _invalidMessageId = signal<DBSwitchState[\"_invalidMessageId\"]>(undefined);\n _invalidMessage = signal<DBSwitchState[\"_invalidMessage\"]>(undefined);\n _descByIds = signal<DBSwitchState[\"_descByIds\"]>(undefined);\n _voiceOverFallback = signal<DBSwitchState[\"_voiceOverFallback\"]>(\"\");\n abortController = signal<DBSwitchState[\"abortController\"]>(undefined);\n\n hasValidState() {\n return !!(this.validMessage() ?? this.validation() === \"valid\");\n }\n handleValidation() {\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(\n this._invalidMessage() || DEFAULT_INVALID_MESSAGE\n );\n delay(() => {\n this._voiceOverFallback.set(\"\");\n }, 1000);\n }\n return;\n }\n 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(() => {\n this._voiceOverFallback.set(\"\");\n }, 1000);\n }\n return;\n }\n if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(this._messageId()!);\n return;\n }\n this._descByIds.set(undefined);\n }\n handleChange(event: ChangeEvent<HTMLInputElement>, reset?: boolean) {\n if (this.change) {\n // We need to split the if statements for generation\n if (reset) {\n this.change.emit(event);\n }\n }\n this.handleValidation();\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 handleKeyDown(event: GeneralKeyboardEvent<HTMLInputElement>) {\n // Support ENTER key for toggling the switch (a11y requirement)\n if (event.key === \"Enter\") {\n event.preventDefault();\n // Toggle the switch by clicking it programmatically\n if (!this.disabled()) {\n (this._ref()?.nativeElement as HTMLInputElement)?.click();\n }\n }\n }\n\n constructor(private renderer: Renderer2,) {\n if (typeof window !== \"undefined\") {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.validation();\n this.required();\n this.message();\n this.showMessage();\n this.validMessage();\n this.invalidMessage();\n this.checked();\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._ref();\n // ---\n\n if (this._ref()?.nativeElement) {\n const defaultChecked = undefined;\n let controller = this.abortController();\n if (!controller) {\n controller = new AbortController();\n this.abortController.set(controller);\n }\n addCheckedResetEventListener(\n this._ref()?.nativeElement,\n {\n checked: this.checked(),\n defaultChecked,\n },\n (event) => {\n this.handleChange(event, true);\n },\n controller.signal\n );\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \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\tngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-switch\");\n this._id.set(this.id() ?? `switch-${uuid()}`);\n this._messageId.set(`${this._id()}${DEFAULT_MESSAGE_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.handleValidation();\n }\n }\n\n ngOnDestroy() {\n this.abortController()?.abort();\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n model,\n output,\n input,\n effect,\n signal,\n OnDestroy,\n AfterViewInit,\n InputSignal,\n ModelSignal,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls, getBoolean, getBooleanAsString } from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport type { DBTabItemProps, DBTabItemState } from \"./model\";\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: `<li role=\"none\" [class]=\"cls('db-tab-item', className())\">\n <label\n [attr.for]=\"id()\"\n [attr.data-icon]=\"iconLeading() ?? icon()\"\n [attr.data-icon-trailing]=\"iconTrailing()\"\n [attr.data-show-icon]=\"getBooleanAsString(showIconLeading() ?? showIcon())\"\n [attr.data-show-icon-trailing]=\"getBooleanAsString(showIconTrailing())\"\n [attr.data-no-text]=\"getBooleanAsString(noText())\"\n ><input\n type=\"radio\"\n role=\"tab\"\n [disabled]=\"getBoolean(disabled(), 'disabled')\"\n [attr.aria-selected]=\"_selected()\"\n [attr.checked]=\"getBoolean(checked(), 'checked')\"\n #_ref\n [attr.name]=\"_name()\"\n [attr.id]=\"id()\"\n (input)=\"handleChange($event)\" />\n @if(label()){ {{label()}} } <ng-content></ng-content\n ></label>\n </li> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBTabItem implements AfterViewInit, ControlValueAccessor, OnDestroy {\n protected readonly cls = cls;\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly getBoolean = getBoolean;\n\n active: InputSignal<DBTabItemProps[\"active\"]> =\n input<DBTabItemProps[\"active\"]>();\n name: InputSignal<DBTabItemProps[\"name\"]> = input<DBTabItemProps[\"name\"]>();\n className: InputSignal<DBTabItemProps[\"className\"]> =\n input<DBTabItemProps[\"className\"]>();\n id: InputSignal<DBTabItemProps[\"id\"]> = input<DBTabItemProps[\"id\"]>();\n iconLeading: InputSignal<DBTabItemProps[\"iconLeading\"]> =\n input<DBTabItemProps[\"iconLeading\"]>();\n icon: InputSignal<DBTabItemProps[\"icon\"]> = input<DBTabItemProps[\"icon\"]>();\n iconTrailing: InputSignal<DBTabItemProps[\"iconTrailing\"]> =\n input<DBTabItemProps[\"iconTrailing\"]>();\n showIconLeading: InputSignal<DBTabItemProps[\"showIconLeading\"]> =\n input<DBTabItemProps[\"showIconLeading\"]>();\n showIcon: InputSignal<DBTabItemProps[\"showIcon\"]> =\n input<DBTabItemProps[\"showIcon\"]>();\n showIconTrailing: InputSignal<DBTabItemProps[\"showIconTrailing\"]> =\n input<DBTabItemProps[\"showIconTrailing\"]>();\n noText: InputSignal<DBTabItemProps[\"noText\"]> =\n input<DBTabItemProps[\"noText\"]>();\n disabled: ModelSignal<DBTabItemProps[\"disabled\"]> =\n model<DBTabItemProps[\"disabled\"]>();\n checked: ModelSignal<DBTabItemProps[\"checked\"]> =\n model<DBTabItemProps[\"checked\"]>();\n label: InputSignal<DBTabItemProps[\"label\"]> =\n 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 _listenerAdded = signal<DBTabItemState[\"_listenerAdded\"]>(false);\n boundSetSelectedOnChange =\n signal<DBTabItemState[\"boundSetSelectedOnChange\"]>(undefined);\n\n setSelectedOnChange(event: any) {\n event.stopPropagation();\n this._selected.set(event.target === this._ref()!.nativeElement);\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 if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event, \"checked\");\n }\n\n constructor(private renderer: Renderer2,) {\n if (typeof window !== \"undefined\") {\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n this.initialized();\n this.boundSetSelectedOnChange();\n // ---\n\n if (\n this._ref()?.nativeElement &&\n this.initialized() &&\n this.boundSetSelectedOnChange()\n ) {\n this.initialized.set(false);\n\n // deselect this tab when another tab in tablist is selected\n if (!this._listenerAdded()) {\n this._ref()\n ?.nativeElement.closest(\"[role=tablist]\")\n ?.addEventListener(\"change\", this.boundSetSelectedOnChange());\n this._listenerAdded.set(true);\n }\n\n // Initialize selected state from either active prop (set by parent) or checked attribute\n if (this.active() || this._ref()?.nativeElement.checked) {\n this._selected.set(true);\n this._ref()?.nativeElement.click();\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.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 /**\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\tngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tab-item\");\n this.boundSetSelectedOnChange.set(this.setSelectedOnChange.bind(this));\n this.initialized.set(true);\n }\n }\n\n ngOnDestroy() {\n if (\n this._listenerAdded() &&\n this._ref()?.nativeElement &&\n this.boundSetSelectedOnChange()\n ) {\n this._ref()\n ?.nativeElement.closest(\"[role=tablist]\")\n ?.removeEventListener(\"change\", this.boundSetSelectedOnChange());\n this._listenerAdded.set(false);\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n signal,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { DEFAULT_ID } from \"../../shared/constants\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBTabListProps, DBTabListState } from \"./model\";\n\n@Component({\n selector: \"db-tab-list\",\n standalone: true,\n imports: [CommonModule],\n template: `<div\n #_ref\n [attr.id]=\"_id()\"\n [class]=\"cls('db-tab-list', className())\"\n >\n <ul role=\"tablist\">\n <ng-content></ng-content>\n </ul>\n </div> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBTabList implements AfterViewInit {\n protected readonly cls = cls;\n\n id: InputSignal<DBTabListProps[\"id\"]> = input<DBTabListProps[\"id\"]>();\n className: InputSignal<DBTabListProps[\"className\"]> =\n 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 ngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tab-list\");\n this._id.set(this.id() || \"tab-list-\" + uuid());\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n input,\n effect,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { cls } from \"../../utils\";\nimport { DBTabPanelProps, DBTabPanelState } from \"./model\";\n\n@Component({\n selector: \"db-tab-panel\",\n standalone: true,\n imports: [CommonModule],\n template: `<section\n role=\"tabpanel\"\n #_ref\n [class]=\"cls('db-tab-panel', className())\"\n [attr.id]=\"id()\"\n >\n @if(content()){ {{content()}} } <ng-content></ng-content>\n </section> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBTabPanel implements AfterViewInit {\n protected readonly cls = cls;\n\n className: InputSignal<DBTabPanelProps[\"className\"]> =\n input<DBTabPanelProps[\"className\"]>();\n id: InputSignal<DBTabPanelProps[\"id\"]> = input<DBTabPanelProps[\"id\"]>();\n content: InputSignal<DBTabPanelProps[\"content\"]> =\n 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 ngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tab-panel\");\n }\n }\n}\n","import {\n Component,\n viewChild,\n ElementRef,\n output,\n input,\n effect,\n signal,\n OnDestroy,\n AfterViewInit,\n InputSignal,\n} from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\nimport { InputEvent } from \"../../shared/model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBTabItem } from \"../tab-item/tab-item\";\nimport { DBTabList } from \"../tab-list/tab-list\";\nimport { DBTabPanel } from \"../tab-panel/tab-panel\";\nimport { DBSimpleTabProps, DBTabsProps, DBTabsState } from \"./model\";\n\n@Component({\n selector: \"db-tabs\",\n standalone: true,\n imports: [CommonModule, DBButton, DBTabList, DBTabItem, DBTabPanel],\n template: `<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 (change)=\"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(index, tab);let index =\n $index) {\n <db-tab-item\n [active]=\"tab.active\"\n [label]=\"tab.label\"\n [iconTrailing]=\"tab.iconTrailing\"\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(index, tab);let index = $index)\n {\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 styles: `:host { display: contents; }`,\n})\nexport class DBTabs implements AfterViewInit, OnDestroy {\n protected readonly cls = cls;\n\n id: InputSignal<DBTabsProps[\"id\"]> = input<DBTabsProps[\"id\"]>();\n name: InputSignal<DBTabsProps[\"name\"]> = input<DBTabsProps[\"name\"]>();\n tabs: InputSignal<DBTabsProps[\"tabs\"]> = input<DBTabsProps[\"tabs\"]>();\n arrowScrollDistance: InputSignal<DBTabsProps[\"arrowScrollDistance\"]> =\n input<DBTabsProps[\"arrowScrollDistance\"]>();\n orientation: InputSignal<DBTabsProps[\"orientation\"]> =\n input<DBTabsProps[\"orientation\"]>();\n behavior: InputSignal<DBTabsProps[\"behavior\"]> =\n input<DBTabsProps[\"behavior\"]>();\n initialSelectedMode: InputSignal<DBTabsProps[\"initialSelectedMode\"]> =\n input<DBTabsProps[\"initialSelectedMode\"]>();\n initialSelectedIndex: InputSignal<DBTabsProps[\"initialSelectedIndex\"]> =\n input<DBTabsProps[\"initialSelectedIndex\"]>();\n className: InputSignal<DBTabsProps[\"className\"]> =\n input<DBTabsProps[\"className\"]>();\n alignment: InputSignal<DBTabsProps[\"alignment\"]> =\n input<DBTabsProps[\"alignment\"]>();\n width: InputSignal<DBTabsProps[\"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 _resizeObserver = signal<DBTabsState[\"_resizeObserver\"]>(undefined);\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 // Use ResizeObserver to re-evaluate scroll buttons because it provides more accurate, container-specific resize detection than global window resize events.\n if (!this._resizeObserver()) {\n const observer = new ResizeObserver(() => {\n this.evaluateScrollButtons(container);\n });\n observer.observe(container);\n this._resizeObserver.set(observer);\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: InputEvent<HTMLElement>) {\n event.stopPropagation();\n if (event.target) {\n const target = event.target as HTMLElement;\n const parent = target.parentElement;\n if (\n parent &&\n parent.parentElement &&\n parent.parentElement?.nodeName === \"LI\"\n ) {\n const tabItem = parent.parentElement.parentElement;\n if (tabItem) {\n const list = tabItem.parentElement;\n if (list) {\n const tabIndex = Array.from(list.children).indexOf(tabItem);\n if (this.indexChange) {\n this.indexChange.emit(tabIndex);\n }\n if (this.tabSelect) {\n this.tabSelect.emit(event);\n }\n }\n }\n }\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 if (typeof window !== \"undefined\") {\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 /**\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 if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-tabs\");\n this._id.set(this.id() || this._id());\n this._name.set(`tabs-${this.name() || uuid()}`);\n this.initialized.set(true);\n }\n }\n\n ngOnDestroy() {\n this._resizeObserver()?.disconnect();\n this._resizeObserver.set(undefined);\n }\n}\n","import { AlignmentProps, GlobalProps, GlobalState, InitializedState, InputEvent, OrientationProps, WidthProps } from '../../shared/model';\nimport { DBTabItemProps } from '../tab-item/model';\nimport { DBTabPanelProps } from '../tab-panel/model';\nexport const TabsBehaviorList = ['scrollbar', 'arrows'] as const;\nexport type TabsBehaviorType = (typeof TabsBehaviorList)[number];\nexport const TabsInitialSelectedModeList = ['auto', 'manually'] as const;\nexport type TabsInitialSelectedModeType = (typeof TabsInitialSelectedModeList)[number];\nexport type DBSimpleTabProps = DBTabItemProps & DBTabPanelProps;\nexport type DBTabsDefaultProps = {\n /**\n * Change amount of distance if you click on an arrow, only available with behavior=\"arrows\"\n */\n arrowScrollDistance?: number | string;\n /**\n * Show a scrollbar or buttons with arrows to navigate for horizontal tabs with overflow visible\n */\n behavior?: TabsBehaviorType;\n\n /**\n * Default behavior is auto selecting the first tab, change selected tab by index\n */\n initialSelectedIndex?: number | string;\n\n /**\n * Default behavior is auto selecting the first tab, disable it with 'manually'\n */\n initialSelectedMode?: TabsInitialSelectedModeType;\n\n /**\n * The name of the tab bar, is required for grouping multiple tabs together. Will overwrite names from children.\n */\n name?: string;\n\n /**\n * Provide simple tabs with label + text as content\n */\n tabs?: DBSimpleTabProps[] | string;\n};\nexport type DBTabsEventProps = {\n /**\n * Informs the user if the current tab index has changed.\n */\n indexChange?: (index?: number) => void;\n\n /**\n * Informs the user if the current tab index has changed.\n */\n onIndexChange?: (index?: number) => void;\n /**\n * Informs the user if another tab has been selected.\n */\n onTabSelect?: (event?: InputEvent<HTMLElement>) => void;\n\n /**\n * Informs the user if another tab has been selected.\n */\n tabSelect?: (event?: InputEvent<HTMLElement>) => void;\n};\nexport type DBTabsProps = DBTabsDefaultProps & GlobalProps & OrientationProps & WidthProps & AlignmentProps & DBTabsEventProps;\nexport type DBTabsDefaultState = {\n _name: string;\n scrollContainer?: Element | null;\n scroll: (left?: boolean) => void;\n showScrollLeft?: boolean;\n showScrollRight?: boolean;\n evaluateScrollButtons: (tabList: Element) => void;\n convertTabs: () => DBSimpleTabProps[];\n initTabList: () => void;\n initTabs: (init?: boolean) => void;\n handleChange: (event: InputEvent<HTMLElement>) => void;\n _resizeObserver?: ResizeObserver;\n};\nexport type DBTabsState = DBTabsDefaultState & GlobalState & InitializedState","import { ClickEvent, ContentSlotProps, EmphasisProps, GlobalProps, GlobalState, IconProps, OverflowProps, SemanticProps, ShowIconProps } from '../../shared/model';\nexport const TagBehaviorList = ['static', 'removable'] as const;\nexport type TagBehaviorType = (typeof TagBehaviorList)[number];\nexport type DBTagEventsProps = {\n /**\n * If \"removeButton\" attribute is set this function will be called when user clicks cancel button inside the tag.\n */\n onRemove?: (event?: ClickEvent<HTMLButtonElement> | void) => void;\n /**\n * If \"removeButton\" attribute is set this function will be called when user clicks cancel button inside the tag.\n */\n remove?: (event?: ClickEvent<HTMLButtonElement> | void) => void;\n};\nexport type DBTagDefaultProps = {\n /**\n *\tDefines the behavior of the component:\n *\t- static: default behavior without remove button\n * - removable: add a remove button at the end of the tag\n */\n behavior?: TagBehaviorType | string;\n\n /**\n * Define the text next to the icon specified via the icon Property to get hidden.\n */\n noText?: boolean | string;\n /**\n * The removeButton attribute shows the cancel button.\n */\n removeButton?: string;\n /**\n * Enable/Disable icon for checkbox/radio inside tag.\n */\n showCheckState?: boolean | string;\n /**\n * Alternative for children to set content as property.\n */\n text?: string;\n\n /**\n * If \"interactive\" is set to true, you can pass a value to the underlying checkbox or radio input.\n */\n value?: string;\n};\nexport type DBTagProps = DBTagDefaultProps & GlobalProps & IconProps & SemanticProps & OverflowProps & EmphasisProps & ShowIconProps & ContentSlotProps & DBTagEventsProps;\nexport type DBTagDefaultState = {\n getRemoveButtonText: () => string;\n handleRemove: (event?: ClickEvent<HTMLButtonElement> | void) => void;\n};\nexport type DBTagState = DBTagDefaultState & GlobalState","import {\n Component,\n viewChild,\n ElementRef,\n model,\n output,\n input,\n effect,\n signal,\n OnDestroy,\n AfterViewInit,\n InputSignal,\n ModelSignal,\nRenderer2 } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CommonModule } from \"@angular/common\";\n\nconst defaultProps: any = {};\n\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 cls,\n delay,\n getBoolean,\n getHideProp,\n getNumber,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n addValueResetEventListener,\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBTextareaProps, DBTextareaState } from \"./model\";\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: `<div\n [class]=\"cls('db-textarea', className())\"\n [attr.data-variant]=\"variant()\"\n [attr.data-hide-asterisk]=\"getHideProp(showRequiredAsterisk())\"\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\n size=\"small\"\n [icon]=\"messageIcon()\"\n [id]=\"_messageId()\"\n >{{message()}}</db-infotext\n >\n } @if(hasValidState()){\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n [id]=\"_validMessageId()\"\n >{{validMessage() || DEFAULT_VALID_MESSAGE}}</db-infotext\n >\n }\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n [id]=\"_invalidMessageId()\"\n >{{_invalidMessage()}}</db-infotext\n >\n <span\n data-visually-hidden=\"true\"\n role=\"status\"\n >{{_voiceOverFallback()}}</span\n >\n </div> `,\n styles: `:host { display: contents; }`,\n})\nexport class DBTextarea implements AfterViewInit, ControlValueAccessor, OnDestroy {\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: InputSignal<DBTextareaProps[\"id\"]> = input<DBTextareaProps[\"id\"]>();\n invalidMessage: InputSignal<DBTextareaProps[\"invalidMessage\"]> =\n input<DBTextareaProps[\"invalidMessage\"]>();\n message: InputSignal<DBTextareaProps[\"message\"]> =\n input<DBTextareaProps[\"message\"]>();\n showMessage: InputSignal<DBTextareaProps[\"showMessage\"]> =\n input<DBTextareaProps[\"showMessage\"]>();\n value: ModelSignal<DBTextareaProps[\"value\"]> =\n model<DBTextareaProps[\"value\"]>();\n validMessage: InputSignal<DBTextareaProps[\"validMessage\"]> =\n input<DBTextareaProps[\"validMessage\"]>();\n validation: InputSignal<DBTextareaProps[\"validation\"]> =\n input<DBTextareaProps[\"validation\"]>();\n required: InputSignal<DBTextareaProps[\"required\"]> =\n input<DBTextareaProps[\"required\"]>();\n minLength: InputSignal<DBTextareaProps[\"minLength\"]> =\n input<DBTextareaProps[\"minLength\"]>();\n maxLength: InputSignal<DBTextareaProps[\"maxLength\"]> =\n input<DBTextareaProps[\"maxLength\"]>();\n className: InputSignal<DBTextareaProps[\"className\"]> =\n input<DBTextareaProps[\"className\"]>();\n variant: InputSignal<DBTextareaProps[\"variant\"]> =\n input<DBTextareaProps[\"variant\"]>();\n showRequiredAsterisk: InputSignal<DBTextareaProps[\"showRequiredAsterisk\"]> =\n input<DBTextareaProps[\"showRequiredAsterisk\"]>();\n showLabel: InputSignal<DBTextareaProps[\"showLabel\"]> =\n input<DBTextareaProps[\"showLabel\"]>();\n label: InputSignal<DBTextareaProps[\"label\"]> =\n input<DBTextareaProps[\"label\"]>();\n fieldSizing: InputSignal<DBTextareaProps[\"fieldSizing\"]> =\n input<DBTextareaProps[\"fieldSizing\"]>();\n resize: InputSignal<DBTextareaProps[\"resize\"]> =\n input<DBTextareaProps[\"resize\"]>();\n showResizer: InputSignal<DBTextareaProps[\"showResizer\"]> =\n input<DBTextareaProps[\"showResizer\"]>();\n disabled: ModelSignal<DBTextareaProps[\"disabled\"]> =\n model<DBTextareaProps[\"disabled\"]>();\n readOnly: InputSignal<DBTextareaProps[\"readOnly\"]> =\n input<DBTextareaProps[\"readOnly\"]>();\n readonly: InputSignal<DBTextareaProps[\"readonly\"]> =\n input<DBTextareaProps[\"readonly\"]>();\n form: InputSignal<DBTextareaProps[\"form\"]> = input<DBTextareaProps[\"form\"]>();\n maxlength: InputSignal<DBTextareaProps[\"maxlength\"]> =\n input<DBTextareaProps[\"maxlength\"]>();\n minlength: InputSignal<DBTextareaProps[\"minlength\"]> =\n input<DBTextareaProps[\"minlength\"]>();\n name: InputSignal<DBTextareaProps[\"name\"]> = input<DBTextareaProps[\"name\"]>();\n wrap: InputSignal<DBTextareaProps[\"wrap\"]> = input<DBTextareaProps[\"wrap\"]>();\n spellCheck: InputSignal<DBTextareaProps[\"spellCheck\"]> =\n input<DBTextareaProps[\"spellCheck\"]>();\n autocomplete: InputSignal<DBTextareaProps[\"autocomplete\"]> =\n input<DBTextareaProps[\"autocomplete\"]>();\n ariaDescribedBy: InputSignal<DBTextareaProps[\"ariaDescribedBy\"]> =\n input<DBTextareaProps[\"ariaDescribedBy\"]>();\n placeholder: InputSignal<DBTextareaProps[\"placeholder\"]> =\n input<DBTextareaProps[\"placeholder\"]>();\n rows: InputSignal<DBTextareaProps[\"rows\"]> = input<DBTextareaProps[\"rows\"]>();\n cols: InputSignal<DBTextareaProps[\"cols\"]> = input<DBTextareaProps[\"cols\"]>();\n messageIcon: InputSignal<DBTextareaProps[\"messageIcon\"]> =\n 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\"]>(undefined);\n _value = signal<DBTextareaState[\"_value\"]>(\"\");\n _voiceOverFallback = signal<DBTextareaState[\"_voiceOverFallback\"]>(\"\");\n abortController = signal<DBTextareaState[\"abortController\"]>(undefined);\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(undefined);\n }\n }\n handleInput(event: InputEvent<HTMLTextAreaElement>, reset?: boolean) {\n if (this.input) {\n if (reset) {\n this.input.emit(event);\n }\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLTextAreaElement>, reset?: boolean) {\n if (this.change) {\n // We need to split the if statements for generation\n if (reset) {\n this.change.emit(event);\n }\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 if (typeof window !== \"undefined\") {\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 this.handleValidation();\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 effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._ref();\n // ---\n\n if (this._ref()?.nativeElement) {\n const defaultValue = undefined;\n let controller = this.abortController();\n if (!controller) {\n controller = new AbortController();\n this.abortController.set(controller);\n }\n addValueResetEventListener(\n this._ref()?.nativeElement,\n {\n value: this.value(),\n defaultValue,\n },\n (event) => {\n this.handleChange(event, true);\n this.handleInput(event, true);\n },\n controller.signal\n );\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \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\tngAfterViewInit() {\n if (typeof window !== \"undefined\") {\n const element: HTMLElement | null = this._ref()?.nativeElement;\n this.enableAttributePassing(element, \"db-textarea\");\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(\n this.invalidMessage() || DEFAULT_INVALID_MESSAGE\n );\n }\n }\n\n ngOnDestroy() {\n this.abortController()?.abort();\n }\n}\n","import { ChangeEventProps, ChangeEventState, FocusEventProps, FocusEventState, FormMessageProps, FormProps, FormState, FormTextProps, FromValidState, GlobalProps, GlobalState, InputEventProps, InputEventState } from '../../shared/model';\nexport const TextareaResizeList = ['none', 'both', 'horizontal', 'vertical'] as const;\nexport type TextareaResizeType = (typeof TextareaResizeList)[number];\nexport const TextareaWrapList = ['hard', 'soft', 'off'] as const;\nexport type TextareaWrapType = (typeof TextareaWrapList)[number];\nexport type DBTextareaDefaultProps = {\n /**\n * The visible width of the text control, in average character widths. If it is specified, it must be a positive integer\n */\n cols?: number | string;\n /**\n * In most browsers, textareas are resizable — you'll notice the drag handle in the right-hand corner, you can control it with this\n */\n resize?: TextareaResizeType;\n\n /**\n * Show/Hides drag handle in the right-hand corner - default: true\n */\n showResizer?: boolean | string;\n\n /**\n * The number of visible text lines for the control. If it is specified, it must be a positive integer\n */\n rows?: number | string;\n /**\n * Specifies whether the textarea is subject to spell checking by the underlying browser/OS\n */\n spellCheck?: boolean;\n\n /**\n * Indicates how the control should wrap the value for form submission.\n */\n wrap?: TextareaWrapType;\n};\nexport type DBTextareaProps = DBTextareaDefaultProps & ChangeEventProps<HTMLTextAreaElement> & InputEventProps<HTMLTextAreaElement> & FocusEventProps<HTMLTextAreaElement> & FormProps & GlobalProps & FormTextProps & FormMessageProps;\nexport type DBTextareaDefaultState = {};\nexport type DBTextareaState = DBTextareaDefaultState & ChangeEventState<HTMLTextAreaElement> & InputEventState<HTMLTextAreaElement> & FocusEventState<HTMLTextAreaElement> & FormState & GlobalState & FromValidState","import { ClickEventState, DocumentScrollState, EmphasisProps, GlobalProps, GlobalState, InitializedState, PlacementProps, PopoverProps, PopoverState } from '../../shared/model';\nexport const TooltipVariantList = ['description', 'label'] as const;\nexport type TooltipVariantType = (typeof TooltipVariantList)[number];\nexport type DBTooltipDefaultProps = {\n /**\n * Show/Hides arrow\n */\n showArrow?: boolean | string;\n /**\n * Change the behavior of the tooltip:\n * - description: Adds `aria-describedby` to parent\n * - label: Adds `aria-labelledby` to parent\n */\n variant?: TooltipVariantType;\n};\nexport type DBTooltipProps = DBTooltipDefaultProps & GlobalProps & EmphasisProps & PlacementProps & PopoverProps;\nexport type DBTooltipDefaultState = {\n getParent: () => HTMLElement;\n};\nexport type DBTooltipState = DBTooltipDefaultState & GlobalState & ClickEventState<HTMLElement> & PopoverState & InitializedState & DocumentScrollState","/* 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 * [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 ShowIconLeadingProps = {\n /**\n * Enables or disables the visibility of the leading icon.\n * For many components this property is optional to reflect Figma properties.\n */\n showIconLeading?: boolean | string;\n};\nexport type ShowIconTrailingProps = {\n /**\n * Enables or disables the visibility of the trailing icon.\n * For many components this property is optional to reflect Figma properties.\n */\n showIconTrailing?: boolean | string;\n};\nexport type IconLeadingProps = {\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 iconLeading?: IconTypes;\n};\nexport type IconTrailingProps = {\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 iconTrailing?: 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: any) => 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 type WrapProps = {\n /**\n * Determines whether the text should wrap when its parent container is too small, preventing overflow.\n */\n wrap?: 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];\n\n/**\n * Properties to control the required state and its visual annotation for input components.\n */\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 * The form element will be marked semantically as required and by default also visually with an asterisk '*' next to the label (unless the property `showRequiredAsterisk` is also set with the value `false`).\n */\n required?: boolean | string;\n /**\n * This attribute allows to specify whether a form field which is marked as required will show a visual indicator (an asterisk '*').\n * It allows to prevent adding the visual indicator but still keep the field semantically required by setting its value to `false`.\n * By default, its value is `true`, so the asterisk is shown when `required` is set.\n */\n showRequiredAsterisk?: 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 LabelVariantHorizontalList = ['leading', 'trailing'] as const;\nexport type LabelVariantHorizontalType = (typeof LabelVariantHorizontalList)[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\n /**\n * We use this to remove form event listener\n */\n abortController?: AbortController;\n};\nexport type InitializedState = {\n initialized: boolean;\n};\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 * 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 * 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};\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 GeneralEvent<T> = Event;\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport type GeneralKeyboardEvent<T> = KeyboardEvent;\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) => void;\n onToggle?: (open: boolean) => void;\n};\nexport type ToggleEventState<T> = {\n handleToggle: (event?: ClickEvent<T> | any) => void;\n};\nexport type CloseEventProps<T> = {\n /**\n * Function to handle button click (close).\n */\n onClose?: (event?: T) => void;\n /**\n * Function to handle button click (close).\n */\n close?: (event?: T) => void;\n};\nexport type CloseEventState<T> = {\n handleClose: (event?: T | void, 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, reset?: boolean) => 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, reset?: boolean) => 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 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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["defaultProps","utilsDelay"],"mappings":"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"}