@db-ux/ngx-core-components 3.0.8 → 3.1.1
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));\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 */\nexport const handleFrameworkEventAngular = (component: any, event: any, modelValue: string = 'value'): void => {\n // Change event to work with reactive and template driven forms\n component.propagateChange(event.target[modelValue]);\n component.writeValue(event.target[modelValue]);\n};\nexport const handleFrameworkEventVue = (emit: (event: string, ...args: any[]) => void, event: any, modelValue: string = 'value'): void => {\n // TODO: Replace this with the solution out of https://github.com/BuilderIO/mitosis/issues/833 after this has been \"solved\"\n emit(`update:${modelValue}`, event.target[modelValue]);\n}","import {\n Component,\n 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 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 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 {\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\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>) {\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event, \"checked\");\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n constructor(private renderer: Renderer2,) {\n 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 }\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","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 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 stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\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 (input)=\"handleInput($event)\"\n (change)=\"handleChange($event)\"\n (blur)=\"handleBlur($event)\"\n (focus)=\"handleFocus($event)\"\n [attr.list]=\"dataList() && _dataListId()\"\n [attr.aria-describedby]=\"ariaDescribedBy() ?? _descByIds()\"\n />\n @if(dataList()){\n <datalist [attr.id]=\"_dataListId()\">\n @for (option of getDataList();track trackByOption0(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=\"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 DBInput implements AfterViewInit, ControlValueAccessor {\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 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 ariaDescribedBy: InputSignal<DBInputProps[\"ariaDescribedBy\"]> =\n input<DBInputProps[\"ariaDescribedBy\"]>();\n messageIcon: InputSignal<DBInputProps[\"messageIcon\"]> =\n input<DBInputProps[\"messageIcon\"]>();\n input = output<\n Parameters<Required<DBInputProps>[\"onInput\"]>[number] | void\n >();\n change = output<\n Parameters<Required<DBInputProps>[\"onChange\"]>[number] | void\n >();\n blur = output<Parameters<Required<DBInputProps>[\"onBlur\"]>[number] | void>();\n focus = output<\n Parameters<Required<DBInputProps>[\"onFocus\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n _id = signal<DBInputState[\"_id\"]>(undefined);\n _messageId = signal<DBInputState[\"_messageId\"]>(undefined);\n _validMessageId = signal<DBInputState[\"_validMessageId\"]>(undefined);\n _invalidMessageId = signal<DBInputState[\"_invalidMessageId\"]>(undefined);\n _invalidMessage = signal<DBInputState[\"_invalidMessage\"]>(undefined);\n _dataListId = signal<DBInputState[\"_dataListId\"]>(undefined);\n _descByIds = signal<DBInputState[\"_descByIds\"]>(undefined);\n _value = signal<DBInputState[\"_value\"]>(undefined);\n _voiceOverFallback = signal<DBInputState[\"_voiceOverFallback\"]>(\"\");\n\n hasValidState() {\n return !!(this.validMessage() ?? this.validation() === \"valid\");\n }\n handleValidation() {\n /* For a11y reasons we need to map the correct message with the input */\n if (\n !this._ref()?.nativeElement?.validity.valid ||\n this.validation() === \"invalid\"\n ) {\n this._descByIds.set(this._invalidMessageId());\n this._invalidMessage.set(\n this.invalidMessage() ||\n this._ref()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(this._invalidMessage());\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref()?.nativeElement?.validity.valid &&\n (this.required() ||\n this.minLength() ||\n this.maxLength() ||\n this.pattern())\n ) {\n this._descByIds.set(this._validMessageId());\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(\n this.validMessage() ?? DEFAULT_VALID_MESSAGE\n );\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n } else if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(this._messageId());\n } else {\n this._descByIds.set(undefined);\n }\n }\n handleInput(event: InputEvent<HTMLInputElement>) {\n if (this.input) {\n this.input.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n getDataList() {\n const _list = this.dataList();\n return Array.from(\n (isArrayOfStrings(_list)\n ? _list?.map((val: string) => ({\n value: val,\n label: undefined,\n }))\n : _list) || []\n );\n }\n trackByOption0(_: number, option: any) {\n return this._dataListId() + \"-option-\" + option.value;\n }\n\n constructor(private renderer: Renderer2,) {\n 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 }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \n\t\twriteValue(value: any) {\nif (!value && (this.type() === \"date\" ||\n\t\t\tthis.type() === \"time\" ||\n\t\t\tthis.type() === \"week\" ||\n\t\t\tthis.type() === \"month\" ||\n\t\t\tthis.type() === \"datetime-local\"\n\t\t\t)) return;\n\t\t\t\n\t\t this.value.set(value);\n\n\t\t if (this._ref()?.nativeElement) {\n\t\t\t this.renderer.setProperty(this._ref()?.nativeElement, 'value', value);\n\t\t }\n\t\t\t\n\t\t}\n\n\t\tpropagateChange(_: any) {}\n\n\t\tregisterOnChange(onChange: any) {\n\t\t this.propagateChange = onChange;\n\t\t}\n\n\t\tregisterOnTouched(onTouched: any) {\n\t\t}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled.set(disabled);\n\t\t}\n\n\t\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","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 handleFixedPopover(\n this._ref()?.nativeElement,\n parent,\n (this.placement() as unknown as string) ?? \"bottom\"\n );\n }, 1);\n }\n }\n handleDocumentScroll(event: any, parent?: HTMLElement) {\n if (\n event?.target?.contains &&\n event?.target?.contains(this._ref()?.nativeElement)\n ) {\n this.handleAutoPlacement(parent);\n }\n }\n handleLeave() {\n if (this._documentScrollListenerCallbackId()) {\n new DocumentScrollListener().removeCallback(\n this._documentScrollListenerCallbackId()!\n );\n }\n this._observer()?.unobserve(this.getParent());\n }\n handleEnter(parent?: HTMLElement) {\n this._documentScrollListenerCallbackId.set(\n new DocumentScrollListener().addCallback((event) =>\n this.handleDocumentScroll(event, parent)\n )\n );\n this.handleAutoPlacement(parent);\n this._observer()?.observe(this.getParent());\n }\n\n constructor() {\n 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 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 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 >{{_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(index)\"\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]=\"ariaListLabel() ?? 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 [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 {\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 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 ariaListLabel: InputSignal<DBCustomSelectProps[\"ariaListLabel\"]> =\n input<DBCustomSelectProps[\"ariaListLabel\"]>();\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 _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._descByIds.set(this._invalidMessageId());\n this._invalidMessage.set(\n this.invalidMessage() ||\n this.selectRef()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(this._invalidMessage());\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n 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._descByIds.set(this._validMessageId());\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(\n this.validMessage() ?? DEFAULT_VALID_MESSAGE\n );\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n this._validity.set(this.validation() ?? \"valid\");\n } else if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(this._messageId());\n this._validity.set(this.validation() ?? \"no-validation\");\n } else {\n this._descByIds.set(this._placeholderId());\n this._validity.set(this.validation() ?? \"no-validation\");\n }\n }\n handleDropdownToggle(event: 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(index: number) {\n if (this.removeTagsTexts() && this.removeTagsTexts()!.length > index) {\n return this.removeTagsTexts()!.at(index)!;\n } else {\n return `${DEFAULT_REMOVE} ${\n this._selectedOptions()\n ? this.getOptionLabel(this._selectedOptions()![index])\n : \"\"\n }`;\n }\n }\n handleTagRemove(\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 if (listElement?.nextElementSibling) {\n listElement?.nextElementSibling\n ?.querySelector(\"input\")\n ?.focus();\n } else {\n // We are on the last checkbox we move to the top checkbox\n this.handleFocusFirstDropdownCheckbox(activeElement);\n }\n } else {\n if (listElement?.previousElementSibling) {\n listElement?.previousElementSibling\n ?.querySelector(\"input\")\n ?.focus();\n } else if (\n this.detailsRef()?.nativeElement.querySelector(\n `input[type=\"checkbox\"]`\n ) !== activeElement\n ) {\n // We are on the top list checkbox but there is a select all checkbox as well\n this.handleFocusFirstDropdownCheckbox(activeElement);\n } else {\n // We are on the top checkbox, we need to move to the search\n // or to the last checkbox\n const search = getSearchInput(this.detailsRef()?.nativeElement);\n if (search) {\n delay(() => {\n search.focus();\n }, 100);\n } else {\n const checkboxList: HTMLInputElement[] = Array.from(\n this.detailsRef()?.nativeElement?.querySelectorAll(\n `input[type=\"checkbox\"],input[type=\"radio\"]`\n )\n );\n if (checkboxList.length) {\n checkboxList.at(-1)?.focus();\n }\n }\n }\n }\n } else {\n // 2. If we are on the search, and press up we go back to summary and close\n if (\n activeElement.getAttribute(\"type\") === \"search\" &&\n (event.key === \"ArrowUp\" || event.key === \"ArrowLeft\")\n ) {\n this.handleClose(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 === \"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 if (\n this.values() &&\n Array.isArray(this.values()) &&\n this.values() !== this._values()\n ) {\n this._values.set(this.values() ?? []);\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._values();\n 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.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","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 ariaListLabel?: 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 * 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: (index: number) => 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 [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 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, 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};\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]=\"icon()\"\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 getBooleanAsString = getBooleanAsString;\n protected readonly stringPropVisible = stringPropVisible;\n protected readonly getBoolean = getBoolean;\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 icon: InputSignal<DBNotificationProps[\"icon\"]> =\n input<DBNotificationProps[\"icon\"]>();\n showIcon: InputSignal<DBNotificationProps[\"showIcon\"]> =\n input<DBNotificationProps[\"showIcon\"]>();\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 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, getBoolean, getHideProp, uuid } from \"../../utils\";\nimport {\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 (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 {\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 change = output<\n Parameters<Required<DBRadioProps>[\"onChange\"]>[number] | void\n >();\n blur = output<Parameters<Required<DBRadioProps>[\"onBlur\"]>[number] | void>();\n focus = output<\n Parameters<Required<DBRadioProps>[\"onFocus\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n initialized = signal<DBRadioState[\"initialized\"]>(false);\n _id = signal<DBRadioState[\"_id\"]>(undefined);\n\n handleChange(event: ChangeEvent<HTMLInputElement> | any) {\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n }\n handleBlur(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n constructor(private renderer: Renderer2,) {\n 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 }\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","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 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 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 <option [attr.hidden]=\"true\"></option>\n @if(options()?.length){ @for (option of options();track i;let i = $index)\n {\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 <span [attr.id]=\"_placeholderId()\">{{placeholder() ?? label()}}</span>\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 {\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 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 placeholder: InputSignal<DBSelectProps[\"placeholder\"]> =\n input<DBSelectProps[\"placeholder\"]>();\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\n hasValidState() {\n return !!(this.validMessage() ?? this.validation() === \"valid\");\n }\n handleValidation() {\n /* For a11y reasons we need to map the correct message with the select */\n if (\n !this._ref()?.nativeElement?.validity.valid ||\n this.validation() === \"invalid\"\n ) {\n this._descByIds.set(this._invalidMessageId());\n this._invalidMessage.set(\n this.invalidMessage() ||\n this._ref()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(this._invalidMessage());\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref()?.nativeElement?.validity.valid &&\n this.required()\n ) {\n this._descByIds.set(this._validMessageId());\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(\n this.validMessage() ?? DEFAULT_VALID_MESSAGE\n );\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n } else if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(this._messageId());\n } else {\n this._descByIds.set(this._placeholderId());\n }\n }\n handleClick(event: ClickEvent<HTMLSelectElement> | any) {\n if (this.click) {\n this.click.emit(event);\n }\n }\n handleInput(event: InputEvent<HTMLSelectElement> | any) {\n if (this.input) {\n this.input.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLSelectElement> | any) {\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLSelectElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLSelectElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n getOptionLabel(option: DBSelectOptionType) {\n return option.label ?? option.value?.toString();\n }\n trackByOptgroupOption0(_: number, optgroupOption: any) {\n return getOptionKey(optgroupOption, \"select-optgroup-option-\");\n }\n\n constructor(private renderer: Renderer2,) {\n 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 {\n this._descByIds.set(placeholderId);\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 }\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\t this.writeValue(this.value());\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 }\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 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 {\n cls,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n uuid,\n} from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\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],\n template: `<label\n [attr.data-visual-aid]=\"getBooleanAsString(visualAid())\"\n [attr.data-size]=\"size()\"\n [attr.data-hide-label]=\"getHideProp(showLabel())\"\n [attr.data-emphasis]=\"emphasis()\"\n [attr.for]=\"_id()\"\n [attr.data-hide-asterisk]=\"getHideProp(showRequiredAsterisk())\"\n [class]=\"cls('db-switch', className())\"\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'\"\n [attr.data-custom-validity]=\"validation()\"\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 />\n @if(label()){ {{label()}} }@else{\n <ng-content></ng-content>\n }</label\n > `,\n styles: `:host { display: contents; }`,\n})\nexport class DBSwitch implements AfterViewInit, ControlValueAccessor {\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly getHideProp = getHideProp;\n protected readonly cls = cls;\n protected readonly getBoolean = getBoolean;\n\n id: InputSignal<DBSwitchProps[\"id\"]> = input<DBSwitchProps[\"id\"]>();\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 emphasis: InputSignal<DBSwitchProps[\"emphasis\"]> =\n input<DBSwitchProps[\"emphasis\"]>();\n showRequiredAsterisk: InputSignal<DBSwitchProps[\"showRequiredAsterisk\"]> =\n input<DBSwitchProps[\"showRequiredAsterisk\"]>();\n className: InputSignal<DBSwitchProps[\"className\"]> =\n input<DBSwitchProps[\"className\"]>();\n checked: ModelSignal<DBSwitchProps[\"checked\"]> =\n model<DBSwitchProps[\"checked\"]>();\n value: InputSignal<DBSwitchProps[\"value\"]> = input<DBSwitchProps[\"value\"]>();\n disabled: ModelSignal<DBSwitchProps[\"disabled\"]> =\n model<DBSwitchProps[\"disabled\"]>();\n validation: InputSignal<DBSwitchProps[\"validation\"]> =\n input<DBSwitchProps[\"validation\"]>();\n name: InputSignal<DBSwitchProps[\"name\"]> = input<DBSwitchProps[\"name\"]>();\n required: InputSignal<DBSwitchProps[\"required\"]> =\n input<DBSwitchProps[\"required\"]>();\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 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\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event, \"checked\");\n }\n handleBlur(event: InteractionEvent<HTMLInputElement>) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement>) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n constructor(private renderer: Renderer2,) {}\n\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 }\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 { 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 {\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\n handleNameAttribute() {\n if (this._ref()?.nativeElement) {\n const setAttribute = this._ref()?.nativeElement.setAttribute;\n this._ref()!.nativeElement.setAttribute = (\n attribute: string,\n value: string\n ) => {\n setAttribute.call(this._ref()?.nativeElement, attribute, value);\n if (attribute === \"name\") {\n this._name.set(value);\n }\n };\n }\n }\n handleChange(event: any) {\n event.stopPropagation();\n if (this.change) {\n this.change.emit(event);\n }\n\n // We have different ts types in different frameworks, so we need to use any here\n\n this._selected.set((event.target as any)?.[\"checked\"]);\n handleFrameworkEventAngular(this, event, \"checked\");\n }\n\n constructor(private renderer: Renderer2,) {\n 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.initialized() && this._ref()?.nativeElement) {\n if (this.active()) {\n this._ref()?.nativeElement.click();\n }\n this.initialized.set(false);\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.name();\n // ---\n\n if (this.name()) {\n this._name.set(this.name());\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n }\n }\n\n /**\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.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 { 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 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 {\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\n convertTabs() {\n try {\n if (typeof this.tabs() === \"string\") {\n return JSON.parse(this.tabs() as string);\n }\n return this.tabs() as DBSimpleTabProps[];\n } catch (error) {\n console.error(error);\n }\n return [];\n }\n evaluateScrollButtons(tList: Element) {\n const needsScroll = tList.scrollWidth > tList.clientWidth;\n this.showScrollLeft.set(needsScroll && tList.scrollLeft > 1);\n this.showScrollRight.set(\n needsScroll && tList.scrollLeft < tList.scrollWidth - tList.clientWidth\n );\n }\n scroll(left?: boolean) {\n let step = Number(this.arrowScrollDistance()) || 100;\n if (left) {\n step *= -1;\n }\n this.scrollContainer()?.scrollBy({\n top: 0,\n left: step,\n behavior: \"smooth\",\n });\n }\n initTabList() {\n if (this._ref()?.nativeElement) {\n const tabList = this._ref()?.nativeElement.querySelector(\".db-tab-list\");\n if (tabList) {\n const container: HTMLElement | null =\n tabList.querySelector('[role=\"tablist\"]');\n if (container) {\n container.setAttribute(\n \"aria-orientation\",\n this.orientation() || \"horizontal\"\n );\n if (this.behavior() === \"arrows\") {\n this.scrollContainer.set(container);\n this.evaluateScrollButtons(container);\n container.addEventListener(\"scroll\", () => {\n this.evaluateScrollButtons(container);\n });\n }\n }\n }\n }\n }\n initTabs(init?: boolean) {\n if (this._ref()?.nativeElement) {\n const tabItems = Array.from<Element>(\n this._ref()?.nativeElement.getElementsByClassName(\"db-tab-item\")\n );\n const tabPanels = Array.from<Element>(\n this._ref()?.nativeElement.querySelectorAll(\n \":is(:scope > .db-tab-panel, :scope > db-tab-panel > .db-tab-panel)\"\n )\n );\n for (const tabItem of tabItems) {\n const index: number = tabItems.indexOf(tabItem);\n const label = tabItem.querySelector(\"label\");\n const input = tabItem.querySelector(\"input\");\n if (input && label) {\n if (!input.id) {\n const tabId = `${this._name()}-tab-${index}`;\n label.setAttribute(\"for\", tabId);\n input.id = tabId;\n input.setAttribute(\"name\", this._name());\n if (tabPanels.length > index) {\n input.setAttribute(\n \"aria-controls\",\n `${this._name()}-tab-panel-${index}`\n );\n }\n }\n if (init) {\n // Auto select\n const autoSelect =\n !this.initialSelectedMode() ||\n this.initialSelectedMode() === \"auto\";\n const shouldAutoSelect =\n (this.initialSelectedIndex() == null && index === 0) ||\n Number(this.initialSelectedIndex()) === index;\n if (autoSelect && shouldAutoSelect) {\n input.click();\n }\n }\n }\n }\n for (const panel of tabPanels) {\n if (panel.id) continue;\n const index: number = tabPanels.indexOf(panel);\n panel.id = `${this._name()}-tab-panel-${index}`;\n panel.setAttribute(\"aria-labelledby\", `${this._name()}-tab-${index}`);\n }\n }\n }\n handleChange(event: 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 indices = Array.from(list.childNodes).indexOf(tabItem);\n if (this.indexChange) {\n this.indexChange.emit(indices);\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","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};\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 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 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 {\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\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>) {\n if (this.input) {\n this.input.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLTextAreaElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLTextAreaElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLTextAreaElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n constructor(private renderer: Renderer2,) {\n 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 }\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","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 AutoCompleteList = ['off', 'on', 'name', 'honorific-prefix', 'given-name', 'additional-name', 'family-name', 'honorific-suffix', 'nickname', 'email', 'username', 'new-password', 'current-password', 'one-time-code', 'organization-title', 'organization', 'street-address', 'shipping', 'billing', 'address-line1', 'address-line2', 'address-line3', 'address-level4', 'address-level3', 'address-level2', 'address-level1', 'country', 'country-name', 'postal-code', 'cc-name', 'cc-given-name', 'cc-additional-name', 'cc-family-name', 'cc-number', 'cc-exp', 'cc-exp-month', 'cc-exp-year', 'cc-csc', 'cc-type', 'transaction-currency', 'transaction-amount', 'language', 'bday', 'bday-day', 'bday-month', 'bday-year', 'sex', 'tel', 'tel-country-code', 'tel-national', 'tel-area-code', 'tel-local', 'tel-extension', 'impp', 'url', 'photo', 'webauthn'] as const;\nexport type AutoCompleteType = (typeof AutoCompleteList)[number];\nexport type FormMessageProps = {\n /**\n * Change the variant of the label to float or hidden\n */\n variant?: LabelVariantType;\n /**\n * Text that appears in the form control when it has no value set\n */\n placeholder?: string;\n /**\n * Optional helper message for form components\n */\n message?: string;\n\n /**\n * Helper message for valid form components\n */\n validMessage?: string;\n\n /**\n * Helper message for invalid form components\n */\n invalidMessage?: string;\n\n /**\n * Set/overwrite icon for helper message for form components\n */\n messageIcon?: IconTypes;\n\n /**\n * See https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\n */\n autocomplete?: string | AutoCompleteType;\n\n /**\n * Enables or disables the visibility of the message.\n */\n showMessage?: boolean | string;\n};\nexport type FromValidState = {\n hasValidState: () => boolean;\n handleValidation: () => void;\n _invalidMessage?: string;\n};\nexport type FormState = {\n _messageId?: string;\n _validMessageId?: string;\n _invalidMessageId?: string;\n _descByIds?: string;\n _value?: string;\n _invalidMessage?: string;\n /**\n * https://www.davidmacd.com/blog/test-aria-describedby-errormessage-aria-live.html\n * Currently VoiceOver isn't supporting changes from aria-describedby.\n * This is an internal Fallback\n */\n _voiceOverFallback?: string;\n};\nexport type InitializedState = {\n initialized: boolean;\n};\nexport const 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) => void;\n};\nexport type ChangeEvent<T> = Event;\nexport type ChangeEventProps<T> = {\n change?: (event: ChangeEvent<T>) => void;\n onChange?: (event: ChangeEvent<T>) => void;\n};\nexport type ChangeEventState<T> = {\n handleChange: (event: ChangeEvent<T> | any) => void;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport type InteractionEvent<T> = FocusEvent;\nexport type FocusEventProps<T> = {\n blur?: (event: InteractionEvent<T>) => void;\n onBlur?: (event: InteractionEvent<T>) => void;\n focus?: (event: InteractionEvent<T>) => void;\n onFocus?: (event: InteractionEvent<T>) => void;\n};\nexport type FocusEventState<T> = {\n handleBlur: (event: InteractionEvent<T> | any) => void;\n handleFocus: (event: InteractionEvent<T> | any) => void;\n};\nexport type InnerCloseButtonProps = {\n /**\n * The closeButtonId attribute changes the id inside the close button.\n */\n closeButtonId?: string;\n /**\n * The closeButtonText attribute changes the text inside the close button.\n */\n closeButtonText?: string;\n};\nexport type NavigationBackButtonProps = {\n /**\n * The backButtonId attribute changes the id inside the back button.\n */\n backButtonId?: string;\n /**\n * The backButtonText attribute changes the text inside the back button.\n */\n backButtonText?: string;\n};\nexport type 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));\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 */\nexport const handleFrameworkEventAngular = (component: any, event: any, modelValue: string = 'value'): void => {\n // Change event to work with reactive and template driven forms\n component.propagateChange(event.target[modelValue]);\n component.writeValue(event.target[modelValue]);\n};\nexport const handleFrameworkEventVue = (emit: (event: string, ...args: any[]) => void, event: any, modelValue: string = 'value'): void => {\n // TODO: Replace this with the solution out of https://github.com/BuilderIO/mitosis/issues/833 after this has been \"solved\"\n emit(`update:${modelValue}`, event.target[modelValue]);\n}","import {\n Component,\n 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 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 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 {\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\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>) {\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event, \"checked\");\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n constructor(private renderer: Renderer2,) {\n 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 }\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","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 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 stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\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 />\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 {\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 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\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>) {\n if (this.input) {\n this.input.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n getDataList() {\n const _list = this.dataList();\n return Array.from(\n (isArrayOfStrings(_list)\n ? _list?.map((val: string) => ({\n value: val,\n label: undefined,\n }))\n : _list) || []\n );\n }\n trackByOption0(_: number, option: any) {\n return this._dataListId() + \"-option-\" + option.value;\n }\n\n constructor(private renderer: Renderer2,) {\n 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 }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n \n\t\twriteValue(value: any) {\nif (!value && (this.type() === \"date\" ||\n\t\t\tthis.type() === \"time\" ||\n\t\t\tthis.type() === \"week\" ||\n\t\t\tthis.type() === \"month\" ||\n\t\t\tthis.type() === \"datetime-local\"\n\t\t\t)) return;\n\t\t\t\n\t\t this.value.set(value);\n\n\t\t if (this._ref()?.nativeElement) {\n\t\t\t this.renderer.setProperty(this._ref()?.nativeElement, 'value', value);\n\t\t }\n\t\t\t\n\t\t}\n\n\t\tpropagateChange(_: any) {}\n\n\t\tregisterOnChange(onChange: any) {\n\t\t this.propagateChange = onChange;\n\t\t}\n\n\t\tregisterOnTouched(onTouched: any) {\n\t\t}\n\n\t\tsetDisabledState(disabled: boolean) {\n\t\t this.disabled.set(disabled);\n\t\t}\n\n\t\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","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 handleFixedPopover(\n this._ref()?.nativeElement,\n parent,\n (this.placement() as unknown as string) ?? \"bottom\"\n );\n }, 1);\n }\n }\n handleDocumentScroll(event: any, parent?: HTMLElement) {\n if (\n event?.target?.contains &&\n event?.target?.contains(this._ref()?.nativeElement)\n ) {\n this.handleAutoPlacement(parent);\n }\n }\n handleLeave() {\n if (this._documentScrollListenerCallbackId()) {\n new DocumentScrollListener().removeCallback(\n this._documentScrollListenerCallbackId()!\n );\n }\n this._observer()?.unobserve(this.getParent());\n }\n handleEnter(parent?: HTMLElement) {\n this._documentScrollListenerCallbackId.set(\n new DocumentScrollListener().addCallback((event) =>\n this.handleDocumentScroll(event, parent)\n )\n );\n this.handleAutoPlacement(parent);\n this._observer()?.observe(this.getParent());\n }\n\n constructor() {\n 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 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 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 >{{_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(index)\"\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]=\"ariaListLabel() ?? 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 [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 {\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 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 ariaListLabel: InputSignal<DBCustomSelectProps[\"ariaListLabel\"]> =\n input<DBCustomSelectProps[\"ariaListLabel\"]>();\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 _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._descByIds.set(this._invalidMessageId());\n this._invalidMessage.set(\n this.invalidMessage() ||\n this.selectRef()?.nativeElement?.validationMessage ||\n DEFAULT_INVALID_MESSAGE\n );\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(this._invalidMessage());\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n 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._descByIds.set(this._validMessageId());\n if (hasVoiceOver()) {\n this._voiceOverFallback.set(\n this.validMessage() ?? DEFAULT_VALID_MESSAGE\n );\n delay(() => this._voiceOverFallback.set(\"\"), 1000);\n }\n this._validity.set(this.validation() ?? \"valid\");\n } else if (stringPropVisible(this.message(), this.showMessage())) {\n this._descByIds.set(this._messageId());\n this._validity.set(this.validation() ?? \"no-validation\");\n } else {\n this._descByIds.set(this._placeholderId());\n this._validity.set(this.validation() ?? \"no-validation\");\n }\n }\n handleDropdownToggle(event: 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(index: number) {\n if (this.removeTagsTexts() && this.removeTagsTexts()!.length > index) {\n return this.removeTagsTexts()!.at(index)!;\n } else {\n return `${DEFAULT_REMOVE} ${\n this._selectedOptions()\n ? this.getOptionLabel(this._selectedOptions()![index])\n : \"\"\n }`;\n }\n }\n handleTagRemove(\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 if (listElement?.nextElementSibling) {\n listElement?.nextElementSibling\n ?.querySelector(\"input\")\n ?.focus();\n } else {\n // We are on the last checkbox we move to the top checkbox\n this.handleFocusFirstDropdownCheckbox(activeElement);\n }\n } else {\n if (listElement?.previousElementSibling) {\n listElement?.previousElementSibling\n ?.querySelector(\"input\")\n ?.focus();\n } else if (\n this.detailsRef()?.nativeElement.querySelector(\n `input[type=\"checkbox\"]`\n ) !== activeElement\n ) {\n // We are on the top list checkbox but there is a select all checkbox as well\n this.handleFocusFirstDropdownCheckbox(activeElement);\n } else {\n // We are on the top checkbox, we need to move to the search\n // or to the last checkbox\n const search = getSearchInput(this.detailsRef()?.nativeElement);\n if (search) {\n delay(() => {\n search.focus();\n }, 100);\n } else {\n const checkboxList: HTMLInputElement[] = Array.from(\n this.detailsRef()?.nativeElement?.querySelectorAll(\n `input[type=\"checkbox\"],input[type=\"radio\"]`\n )\n );\n if (checkboxList.length) {\n checkboxList.at(-1)?.focus();\n }\n }\n }\n }\n } else {\n // 2. If we are on the search, and press up we go back to summary and close\n if (\n activeElement.getAttribute(\"type\") === \"search\" &&\n (event.key === \"ArrowUp\" || event.key === \"ArrowLeft\")\n ) {\n this.handleClose(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 if (\n this.values() &&\n Array.isArray(this.values()) &&\n this.values() !== this._values()\n ) {\n this._values.set(this.values() ?? []);\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this._values();\n 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.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","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 ariaListLabel?: 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 * 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: (index: number) => 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 [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 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]=\"icon()\"\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 getBooleanAsString = getBooleanAsString;\n protected readonly stringPropVisible = stringPropVisible;\n protected readonly getBoolean = getBoolean;\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 icon: InputSignal<DBNotificationProps[\"icon\"]> =\n input<DBNotificationProps[\"icon\"]>();\n showIcon: InputSignal<DBNotificationProps[\"showIcon\"]> =\n input<DBNotificationProps[\"showIcon\"]>();\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 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, getBoolean, getHideProp, uuid } from \"../../utils\";\nimport {\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 (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 {\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 change = output<\n Parameters<Required<DBRadioProps>[\"onChange\"]>[number] | void\n >();\n blur = output<Parameters<Required<DBRadioProps>[\"onBlur\"]>[number] | void>();\n focus = output<\n Parameters<Required<DBRadioProps>[\"onFocus\"]>[number] | void\n >();\n\n _ref = viewChild<ElementRef>(\"_ref\");\n\n initialized = signal<DBRadioState[\"initialized\"]>(false);\n _id = signal<DBRadioState[\"_id\"]>(undefined);\n\n handleChange(event: ChangeEvent<HTMLInputElement> | any) {\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n }\n handleBlur(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n constructor(private renderer: Renderer2,) {\n 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 }\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","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 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 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 [attr.id]=\"_placeholderId()\">{{placeholder()}}</span>\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 {\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\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) {\n if (this.input) {\n this.input.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLSelectElement> | any) {\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLSelectElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLSelectElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n getOptionLabel(option: DBSelectOptionType) {\n return option.label ?? option.value?.toString();\n }\n trackByOptgroupOption0(_: number, optgroupOption: any) {\n return getOptionKey(optgroupOption, \"select-optgroup-option-\");\n }\n\n constructor(private renderer: Renderer2,) {\n 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 }\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 this.writeValue(this.value() ?? \"\");\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 }\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 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 {\n cls,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n uuid,\n} from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\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],\n template: `<label\n [attr.data-visual-aid]=\"getBooleanAsString(visualAid())\"\n [attr.data-size]=\"size()\"\n [attr.data-hide-label]=\"getHideProp(showLabel())\"\n [attr.data-emphasis]=\"emphasis()\"\n [attr.for]=\"_id()\"\n [attr.data-hide-asterisk]=\"getHideProp(showRequiredAsterisk())\"\n [class]=\"cls('db-switch', className())\"\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'\"\n [attr.data-custom-validity]=\"validation()\"\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 />\n @if(label()){ {{label()}} }@else{\n <ng-content></ng-content>\n }</label\n > `,\n styles: `:host { display: contents; }`,\n})\nexport class DBSwitch implements AfterViewInit, ControlValueAccessor {\n protected readonly getBooleanAsString = getBooleanAsString;\n protected readonly getHideProp = getHideProp;\n protected readonly cls = cls;\n protected readonly getBoolean = getBoolean;\n\n id: InputSignal<DBSwitchProps[\"id\"]> = input<DBSwitchProps[\"id\"]>();\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 emphasis: InputSignal<DBSwitchProps[\"emphasis\"]> =\n input<DBSwitchProps[\"emphasis\"]>();\n showRequiredAsterisk: InputSignal<DBSwitchProps[\"showRequiredAsterisk\"]> =\n input<DBSwitchProps[\"showRequiredAsterisk\"]>();\n className: InputSignal<DBSwitchProps[\"className\"]> =\n input<DBSwitchProps[\"className\"]>();\n checked: ModelSignal<DBSwitchProps[\"checked\"]> =\n model<DBSwitchProps[\"checked\"]>();\n value: InputSignal<DBSwitchProps[\"value\"]> = input<DBSwitchProps[\"value\"]>();\n disabled: ModelSignal<DBSwitchProps[\"disabled\"]> =\n model<DBSwitchProps[\"disabled\"]>();\n validation: InputSignal<DBSwitchProps[\"validation\"]> =\n input<DBSwitchProps[\"validation\"]>();\n name: InputSignal<DBSwitchProps[\"name\"]> = input<DBSwitchProps[\"name\"]>();\n required: InputSignal<DBSwitchProps[\"required\"]> =\n input<DBSwitchProps[\"required\"]>();\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 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\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event, \"checked\");\n }\n handleBlur(event: InteractionEvent<HTMLInputElement>) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement>) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n constructor(private renderer: Renderer2,) {}\n\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 }\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 { 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 {\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\n handleNameAttribute() {\n if (this._ref()?.nativeElement) {\n const setAttribute = this._ref()?.nativeElement.setAttribute;\n this._ref()!.nativeElement.setAttribute = (\n attribute: string,\n value: string\n ) => {\n setAttribute.call(this._ref()?.nativeElement, attribute, value);\n if (attribute === \"name\") {\n this._name.set(value);\n }\n };\n }\n }\n handleChange(event: any) {\n event.stopPropagation();\n if (this.change) {\n this.change.emit(event);\n }\n\n // We have different ts types in different frameworks, so we need to use any here\n\n this._selected.set((event.target as any)?.[\"checked\"]);\n handleFrameworkEventAngular(this, event, \"checked\");\n }\n\n constructor(private renderer: Renderer2,) {\n 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.initialized() && this._ref()?.nativeElement) {\n if (this.active()) {\n this._ref()?.nativeElement.click();\n }\n this.initialized.set(false);\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n effect(\n () => {\n // --- Mitosis: Workaround to make sure the effect() is triggered ---\n this.name();\n // ---\n\n if (this.name()) {\n this._name.set(this.name());\n }\n },\n {\n // Enable writing to signals inside effects\n }\n );\n }\n }\n\n /**\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.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 { 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 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 {\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\n convertTabs() {\n try {\n if (typeof this.tabs() === \"string\") {\n return JSON.parse(this.tabs() as string);\n }\n return this.tabs() as DBSimpleTabProps[];\n } catch (error) {\n console.error(error);\n }\n return [];\n }\n evaluateScrollButtons(tList: Element) {\n const needsScroll = tList.scrollWidth > tList.clientWidth;\n this.showScrollLeft.set(needsScroll && tList.scrollLeft > 1);\n this.showScrollRight.set(\n needsScroll && tList.scrollLeft < tList.scrollWidth - tList.clientWidth\n );\n }\n scroll(left?: boolean) {\n let step = Number(this.arrowScrollDistance()) || 100;\n if (left) {\n step *= -1;\n }\n this.scrollContainer()?.scrollBy({\n top: 0,\n left: step,\n behavior: \"smooth\",\n });\n }\n initTabList() {\n if (this._ref()?.nativeElement) {\n const tabList = this._ref()?.nativeElement.querySelector(\".db-tab-list\");\n if (tabList) {\n const container: HTMLElement | null =\n tabList.querySelector('[role=\"tablist\"]');\n if (container) {\n container.setAttribute(\n \"aria-orientation\",\n this.orientation() || \"horizontal\"\n );\n if (this.behavior() === \"arrows\") {\n this.scrollContainer.set(container);\n this.evaluateScrollButtons(container);\n container.addEventListener(\"scroll\", () => {\n this.evaluateScrollButtons(container);\n });\n }\n }\n }\n }\n }\n initTabs(init?: boolean) {\n if (this._ref()?.nativeElement) {\n const tabItems = Array.from<Element>(\n this._ref()?.nativeElement.getElementsByClassName(\"db-tab-item\")\n );\n const tabPanels = Array.from<Element>(\n this._ref()?.nativeElement.querySelectorAll(\n \":is(:scope > .db-tab-panel, :scope > db-tab-panel > .db-tab-panel)\"\n )\n );\n for (const tabItem of tabItems) {\n const index: number = tabItems.indexOf(tabItem);\n const label = tabItem.querySelector(\"label\");\n const input = tabItem.querySelector(\"input\");\n if (input && label) {\n if (!input.id) {\n const tabId = `${this._name()}-tab-${index}`;\n label.setAttribute(\"for\", tabId);\n input.id = tabId;\n input.setAttribute(\"name\", this._name());\n if (tabPanels.length > index) {\n input.setAttribute(\n \"aria-controls\",\n `${this._name()}-tab-panel-${index}`\n );\n }\n }\n if (init) {\n // Auto select\n const autoSelect =\n !this.initialSelectedMode() ||\n this.initialSelectedMode() === \"auto\";\n const shouldAutoSelect =\n (this.initialSelectedIndex() == null && index === 0) ||\n Number(this.initialSelectedIndex()) === index;\n if (autoSelect && shouldAutoSelect) {\n input.click();\n }\n }\n }\n }\n for (const panel of tabPanels) {\n if (panel.id) continue;\n const index: number = tabPanels.indexOf(panel);\n panel.id = `${this._name()}-tab-panel-${index}`;\n panel.setAttribute(\"aria-labelledby\", `${this._name()}-tab-${index}`);\n }\n }\n }\n handleChange(event: 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 indices = Array.from(list.childNodes).indexOf(tabItem);\n if (this.indexChange) {\n this.indexChange.emit(indices);\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","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};\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 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 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 {\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\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>) {\n if (this.input) {\n this.input.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLTextAreaElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n handleFrameworkEventAngular(this, event);\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLTextAreaElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLTextAreaElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n constructor(private renderer: Renderer2,) {\n 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 }\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","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 AutoCompleteList = ['off', 'on', 'name', 'honorific-prefix', 'given-name', 'additional-name', 'family-name', 'honorific-suffix', 'nickname', 'email', 'username', 'new-password', 'current-password', 'one-time-code', 'organization-title', 'organization', 'street-address', 'shipping', 'billing', 'address-line1', 'address-line2', 'address-line3', 'address-level4', 'address-level3', 'address-level2', 'address-level1', 'country', 'country-name', 'postal-code', 'cc-name', 'cc-given-name', 'cc-additional-name', 'cc-family-name', 'cc-number', 'cc-exp', 'cc-exp-month', 'cc-exp-year', 'cc-csc', 'cc-type', 'transaction-currency', 'transaction-amount', 'language', 'bday', 'bday-day', 'bday-month', 'bday-year', 'sex', 'tel', 'tel-country-code', 'tel-national', 'tel-area-code', 'tel-local', 'tel-extension', 'impp', 'url', 'photo', 'webauthn'] as const;\nexport type AutoCompleteType = (typeof AutoCompleteList)[number];\nexport type FormMessageProps = {\n /**\n * Change the variant of the label to float or hidden\n */\n variant?: LabelVariantType;\n /**\n * Text that appears in the form control when it has no value set\n */\n placeholder?: string;\n /**\n * Optional helper message for form components\n */\n message?: string;\n\n /**\n * Helper message for valid form components\n */\n validMessage?: string;\n\n /**\n * Helper message for invalid form components\n */\n invalidMessage?: string;\n\n /**\n * Set/overwrite icon for helper message for form components\n */\n messageIcon?: IconTypes;\n\n /**\n * See https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\n */\n autocomplete?: string | AutoCompleteType;\n\n /**\n * Enables or disables the visibility of the message.\n */\n showMessage?: boolean | string;\n};\nexport type FromValidState = {\n hasValidState: () => boolean;\n handleValidation: () => void;\n _invalidMessage?: string;\n};\nexport type FormState = {\n _messageId?: string;\n _validMessageId?: string;\n _invalidMessageId?: string;\n _descByIds?: string;\n _value?: string;\n _invalidMessage?: string;\n /**\n * https://www.davidmacd.com/blog/test-aria-describedby-errormessage-aria-live.html\n * Currently VoiceOver isn't supporting changes from aria-describedby.\n * This is an internal Fallback\n */\n _voiceOverFallback?: string;\n};\nexport type InitializedState = {\n initialized: boolean;\n};\nexport const 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) => void;\n};\nexport type ChangeEvent<T> = Event;\nexport type ChangeEventProps<T> = {\n change?: (event: ChangeEvent<T>) => void;\n onChange?: (event: ChangeEvent<T>) => void;\n};\nexport type ChangeEventState<T> = {\n handleChange: (event: ChangeEvent<T> | any) => void;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport type InteractionEvent<T> = FocusEvent;\nexport type FocusEventProps<T> = {\n blur?: (event: InteractionEvent<T>) => void;\n onBlur?: (event: InteractionEvent<T>) => void;\n focus?: (event: InteractionEvent<T>) => void;\n onFocus?: (event: InteractionEvent<T>) => void;\n};\nexport type FocusEventState<T> = {\n handleBlur: (event: InteractionEvent<T> | any) => void;\n handleFocus: (event: InteractionEvent<T> | any) => void;\n};\nexport type InnerCloseButtonProps = {\n /**\n * The closeButtonId attribute changes the id inside the close button.\n */\n closeButtonId?: string;\n /**\n * The closeButtonText attribute changes the text inside the close button.\n */\n closeButtonText?: string;\n};\nexport type NavigationBackButtonProps = {\n /**\n * The backButtonId attribute changes the id inside the back button.\n */\n backButtonId?: string;\n /**\n * The backButtonText attribute changes the text inside the back button.\n */\n backButtonText?: string;\n};\nexport type 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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"}
|