@doku-com/tala 1.0.0-alpha.6 → 1.0.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/doku-com-tala.mjs +380 -154
- package/fesm2022/doku-com-tala.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/_typography.scss +42 -23
- package/styles/index.scss +6 -6
- package/styles/tokens/_color.scss +74 -117
- package/types/doku-com-tala.d.ts +205 -51
- package/llms.txt +0 -244
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doku-com-tala.mjs","sources":["../../../projects/doku-tala/src/lib/components/avatar/avatar.ts","../../../projects/doku-tala/src/lib/components/avatar/avatar.html","../../../projects/doku-tala/src/lib/components/avatar/avatar-group.ts","../../../projects/doku-tala/src/lib/components/button/button.ts","../../../projects/doku-tala/src/lib/components/button/button.html","../../../projects/doku-tala/src/lib/components/input/input.ts","../../../projects/doku-tala/src/lib/components/input/input.html","../../../projects/doku-tala/src/lib/components/select/select.ts","../../../projects/doku-tala/src/lib/components/select/select.html","../../../projects/doku-tala/src/lib/components/text/text.ts","../../../projects/doku-tala/src/public-api.ts","../../../projects/doku-tala/src/doku-com-tala.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nexport type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\nexport type AvatarShape = 'circle' | 'square';\nexport type AvatarStatus = 'none' | 'online' | 'busy' | 'away' | 'offline';\n\n@Component({\n selector: 'tala-avatar',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n templateUrl: './avatar.html',\n styleUrl: './avatar.scss',\n host: {\n '[class]': 'hostClasses()',\n '[style.background-color]': 'bgColor()',\n '[attr.role]': '\"img\"',\n '[attr.aria-label]': 'ariaLabel()',\n },\n})\nexport class TalaAvatar {\n readonly name = input<string>('');\n readonly size = input<AvatarSize>('md');\n readonly shape = input<AvatarShape>('circle');\n readonly status = input<AvatarStatus>('none');\n readonly badgeCount = input<number>(0);\n readonly src = input<string>('');\n\n protected readonly initials = computed(() => this.getInitials(this.name()));\n\n protected readonly bgColor = computed(() =>\n this.src()\n ? 'transparent'\n : this.palette[this.hashName(this.name() || 'default') % this.palette.length],\n );\n\n protected readonly hasStatus = computed(() => this.status() !== 'none');\n protected readonly hasBadge = computed(() => !!this.badgeCount());\n\n protected readonly displayBadge = computed(() => {\n const count = this.badgeCount();\n return count > 99 ? '99+' : String(count);\n });\n\n protected readonly ariaLabel = computed(() => {\n const parts = [this.name() || 'Avatar'];\n if (this.hasStatus()) parts.push(`Status: ${this.status()}`);\n const count = this.badgeCount();\n if (count !== 0) parts.push(`${count} notification${count !== 1 ? 's' : ''}`);\n return parts.join(', ');\n });\n\n protected readonly hostClasses = computed(() =>\n [\n 'tala-avatar',\n `tala-avatar--${this.size()}`,\n `tala-avatar--${this.shape()}`,\n this.src() ? 'tala-avatar--image' : '',\n ]\n .filter(Boolean)\n .join(' '),\n );\n\n private readonly palette = [\n 'var(--tala-ref-color-blue-60)',\n 'var(--tala-ref-color-green-60)',\n 'var(--tala-ref-color-red-60)',\n 'var(--tala-ref-color-amber-60)',\n 'var(--tala-ref-color-blue-70)',\n 'var(--tala-ref-color-green-70)',\n 'var(--tala-ref-color-red-70)',\n 'var(--tala-ref-color-amber-70)',\n ];\n\n private hashName(name: string): number {\n let hash = 0;\n for (let i = 0; i < name.length; i++) {\n hash = (name.charCodeAt(i) + ((hash << 5) - hash)) | 0;\n }\n return Math.abs(hash);\n }\n\n private getInitials(name: string): string {\n const words = name.trim().split(/\\s+/).filter(Boolean);\n if (words.length === 0) return '?';\n if (words.length === 1) return words[0].slice(0, 2).toUpperCase();\n return (words[0][0] + words[words.length - 1][0]).toUpperCase();\n }\n}\n","@if (src()) {\n <img class=\"tala-avatar__image\" [src]=\"src()\" [alt]=\"name()\" />\n} @else {\n <span class=\"tala-avatar__initials\">{{ initials() }}</span>\n}\n\n@if (hasStatus()) {\n <span [class]=\"'tala-avatar__status tala-avatar__status--' + status()\" role=\"presentation\"></span>\n}\n\n@if (hasBadge()) {\n <span class=\"tala-avatar__badge\" aria-hidden=\"true\">\n {{ displayBadge() }}\n </span>\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, input } from '@angular/core';\nimport type { AvatarSize } from './avatar';\n\n@Component({\n selector: 'tala-avatar-group',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `<ng-content />`,\n styleUrl: './avatar-group.scss',\n host: {\n '[class]': '\"tala-avatar-group--\" + size()',\n role: 'group',\n },\n})\nexport class TalaAvatarGroup {\n readonly size = input<AvatarSize>('md');\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'accent' | 'danger' | 'link';\nexport type ButtonSize = 'xs' | 'sm' | 'md' | 'lg';\nexport type ButtonType = 'button' | 'submit' | 'reset';\n\n@Component({\n selector: 'tala-button',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n templateUrl: './button.html',\n styleUrl: './button.scss',\n host: {\n '[class]': 'hostClasses()',\n },\n})\nexport class TalaButton {\n readonly variant = input<ButtonVariant>('primary');\n readonly size = input<ButtonSize>('md');\n readonly type = input<ButtonType>('button');\n readonly disabled = input<boolean>(false);\n readonly loading = input<boolean>(false);\n readonly iconOnly = input<boolean>(false);\n\n protected readonly hostClasses = computed(\n () => `tala-button--${this.variant()} tala-button--${this.size()}`,\n );\n\n protected readonly innerClasses = computed(() =>\n [\n 'tala-button',\n this.loading() ? 'tala-button--loading' : '',\n this.iconOnly() ? 'tala-button--icon-only' : '',\n ]\n .filter(Boolean)\n .join(' '),\n );\n}\n","<button\n [class]=\"innerClasses()\"\n [type]=\"type()\"\n [disabled]=\"disabled() || loading()\"\n [attr.aria-busy]=\"loading() || null\"\n>\n @if (loading()) {\n <span class=\"tala-button__spinner\" aria-hidden=\"true\"></span>\n }\n <ng-content select=\"[slot=prefix]\"></ng-content>\n <ng-content></ng-content>\n <ng-content select=\"[slot=suffix]\"></ng-content>\n</button>\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n forwardRef,\n input,\n signal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport type InputSize = 'sm' | 'md' | 'lg';\nexport type InputStatus = 'default' | 'error' | 'success' | 'warning';\n\n@Component({\n selector: 'tala-input',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n templateUrl: './input.html',\n styleUrl: './input.scss',\n host: {\n '[class]': 'hostClasses()',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TalaInput),\n multi: true,\n },\n ],\n})\nexport class TalaInput implements ControlValueAccessor {\n private static _nextId = 0;\n\n readonly size = input<InputSize>('md');\n readonly status = input<InputStatus>('default');\n readonly label = input<string>('');\n readonly placeholder = input<string>('');\n readonly helperText = input<string>('');\n readonly required = input<boolean>(false);\n readonly disabled = input<boolean>(false);\n readonly readonly = input<boolean>(false);\n readonly prefix = input<string>('');\n readonly suffix = input<string>('');\n readonly type = input<string>('text');\n readonly name = input<string>('');\n\n protected readonly _id = `tala-input-${++TalaInput._nextId}`;\n protected readonly _helperId = `${this._id}-helper`;\n\n protected readonly _value = signal<string>('');\n protected readonly _disabledByForm = signal<boolean>(false);\n protected readonly _isDisabled = computed(() => this.disabled() || this._disabledByForm());\n\n protected readonly hostClasses = computed(() =>\n [\n 'tala-input',\n `tala-input--${this.size()}`,\n `tala-input--${this.status()}`,\n this._isDisabled() ? 'tala-input--disabled' : '',\n this.readonly() ? 'tala-input--readonly' : '',\n ]\n .filter(Boolean)\n .join(' '),\n );\n\n private _onChange: (value: string) => void = () => {};\n private _onTouched: () => void = () => {};\n\n writeValue(value: string): void {\n this._value.set(value ?? '');\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this._onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabledByForm.set(isDisabled);\n }\n\n protected _onInput(event: Event): void {\n const value = (event.target as HTMLInputElement).value;\n this._value.set(value);\n this._onChange(value);\n }\n\n protected _onBlur(): void {\n this._onTouched();\n }\n}\n","@if (label()) {\n <div class=\"tala-input__label-row\">\n <label class=\"tala-input__label\" [attr.for]=\"_id\">{{ label() }}</label>\n @if (required()) {\n <span class=\"tala-input__required\" aria-hidden=\"true\">*</span>\n }\n </div>\n}\n\n<div\n class=\"tala-input__container\"\n [class.tala-input__container--has-prefix]=\"prefix()\"\n [class.tala-input__container--has-suffix]=\"suffix()\"\n>\n @if (prefix()) {\n <div class=\"tala-input__prefix\">{{ prefix() }}</div>\n }\n <ng-content select=\"[slot=leading-icon]\"></ng-content>\n <input\n class=\"tala-input__field\"\n [id]=\"_id\"\n [type]=\"type()\"\n [name]=\"name()\"\n [placeholder]=\"placeholder()\"\n [value]=\"_value()\"\n [disabled]=\"_isDisabled()\"\n [attr.readonly]=\"readonly() || null\"\n [required]=\"required()\"\n [attr.aria-invalid]=\"status() === 'error' || null\"\n [attr.aria-describedby]=\"helperText() && !_isDisabled() ? _helperId : null\"\n (input)=\"_onInput($event)\"\n (blur)=\"_onBlur()\"\n />\n <ng-content select=\"[slot=trailing-icon]\"></ng-content>\n @if (suffix()) {\n <div class=\"tala-input__suffix\">{{ suffix() }}</div>\n }\n</div>\n\n@if (helperText() && !_isDisabled()) {\n <div class=\"tala-input__helper-row\" [id]=\"_helperId\">\n <span class=\"tala-input__helper\">{{ helperText() }}</span>\n </div>\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostListener,\n ViewEncapsulation,\n computed,\n forwardRef,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport type SelectType = 'single' | 'searchable' | 'multi';\nexport type SelectSize = 'sm' | 'md' | 'lg';\nexport type SelectStatus = 'default' | 'error' | 'success';\nexport interface SelectOption {\n value: string;\n label: string;\n disabled?: boolean;\n}\n\n@Component({\n selector: 'tala-select',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n templateUrl: './select.html',\n styleUrl: './select.scss',\n host: {\n '[class]': 'hostClasses()',\n '[style.width]': '_hostWidth()',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TalaSelect),\n multi: true,\n },\n ],\n})\nexport class TalaSelect implements ControlValueAccessor {\n private static _nextId = 0;\n private readonly _elementRef = inject(ElementRef);\n\n readonly type = input<SelectType>('single');\n readonly size = input<SelectSize>('md');\n readonly status = input<SelectStatus>('default');\n readonly options = input<SelectOption[]>([]);\n readonly placeholder = input<string>('');\n readonly label = input<string>('');\n readonly helperText = input<string>('');\n readonly required = input<boolean>(false);\n readonly disabled = input<boolean>(false);\n readonly loading = input<boolean>(false);\n readonly width = input<'auto' | 'full' | string>('full');\n\n protected readonly _id = `tala-select-${++TalaSelect._nextId}`;\n protected readonly _helperId = `${this._id}-helper`;\n protected readonly _listboxId = `${this._id}-listbox`;\n\n protected readonly _isOpen = signal(false);\n protected readonly _value = signal<string | string[]>('');\n protected readonly _searchQuery = signal('');\n protected readonly _focusedIndex = signal(-1);\n protected readonly _disabledByForm = signal(false);\n\n protected readonly _isDisabled = computed(() => this.disabled() || this._disabledByForm());\n\n protected readonly _hostWidth = computed(() => {\n const w = this.width();\n if (w === 'full') return '100%';\n if (w === 'auto') return 'fit-content';\n return w;\n });\n\n protected readonly _filteredOptions = computed(() => {\n const opts = this.options();\n if (this.type() !== 'searchable') return opts;\n const q = this._searchQuery().toLowerCase().trim();\n if (!q) return opts;\n return opts.filter((o) => o.label.toLowerCase().includes(q));\n });\n\n protected readonly _hasValue = computed(() => {\n const v = this._value();\n return Array.isArray(v) ? v.length > 0 : v !== '';\n });\n\n protected readonly _displayValue = computed(() => {\n const v = this._value();\n const opts = this.options();\n if (this.type() === 'multi') {\n return (v as string[]).map((val) => opts.find((o) => o.value === val)?.label ?? val).join(', ');\n }\n return opts.find((o) => o.value === (v as string))?.label ?? '';\n });\n\n protected readonly _selectedLabels = computed(() => {\n const v = this._value();\n const opts = this.options();\n if (!Array.isArray(v)) return [];\n return v.map((val) => ({ value: val, label: opts.find((o) => o.value === val)?.label ?? val }));\n });\n\n protected readonly hostClasses = computed(() =>\n [\n 'tala-select',\n `tala-select--${this.size()}`,\n `tala-select--${this.status()}`,\n this._isOpen() ? 'tala-select--open' : '',\n this._isDisabled() ? 'tala-select--disabled' : '',\n this.loading() ? 'tala-select--loading' : '',\n ]\n .filter(Boolean)\n .join(' '),\n );\n\n private _onChange: (value: string | string[]) => void = () => {};\n private _onTouched: () => void = () => {};\n\n @HostListener('document:click', ['$event.target'])\n _onDocumentClick(target: EventTarget | null): void {\n if (!this._elementRef.nativeElement.contains(target)) {\n this._isOpen.set(false);\n this._searchQuery.set('');\n this._focusedIndex.set(-1);\n }\n }\n\n writeValue(value: string | string[]): void {\n if (this.type() === 'multi') {\n this._value.set(Array.isArray(value) ? value : value ? [value] : []);\n } else {\n this._value.set(typeof value === 'string' ? value : '');\n }\n }\n\n registerOnChange(fn: (value: string | string[]) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this._onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabledByForm.set(isDisabled);\n }\n\n protected _onTriggerClick(event: MouseEvent): void {\n event.stopPropagation();\n if (this._isDisabled() || this.loading()) return;\n if (this._isOpen()) {\n this._isOpen.set(false);\n this._searchQuery.set('');\n this._focusedIndex.set(-1);\n } else {\n this._isOpen.set(true);\n }\n }\n\n protected _onTriggerKeydown(event: KeyboardEvent): void {\n if (this._isDisabled() || this.loading()) return;\n\n switch (event.key) {\n case ' ':\n case 'Enter':\n event.preventDefault();\n if (!this._isOpen()) {\n this._isOpen.set(true);\n } else if (this._focusedIndex() >= 0) {\n const opt = this._filteredOptions()[this._focusedIndex()];\n if (opt && !opt.disabled) this._selectOption(opt, event);\n }\n break;\n case 'Escape':\n event.preventDefault();\n this._isOpen.set(false);\n this._searchQuery.set('');\n this._focusedIndex.set(-1);\n break;\n case 'ArrowDown':\n event.preventDefault();\n if (!this._isOpen()) {\n this._isOpen.set(true);\n } else {\n const max = this._filteredOptions().length - 1;\n this._focusedIndex.update((i) => Math.min(i + 1, max));\n }\n break;\n case 'ArrowUp':\n event.preventDefault();\n if (this._isOpen()) {\n this._focusedIndex.update((i) => Math.max(i - 1, 0));\n }\n break;\n }\n }\n\n protected _selectOption(opt: SelectOption, event: Event): void {\n event.stopPropagation();\n if (opt.disabled) return;\n\n if (this.type() === 'multi') {\n const current = this._value() as string[];\n const idx = current.indexOf(opt.value);\n const next = idx >= 0 ? current.filter((v) => v !== opt.value) : [...current, opt.value];\n this._value.set(next);\n this._onChange(next);\n } else {\n this._value.set(opt.value);\n this._onChange(opt.value);\n this._isOpen.set(false);\n this._searchQuery.set('');\n this._focusedIndex.set(-1);\n }\n this._onTouched();\n }\n\n protected _removeChip(value: string, event: MouseEvent): void {\n event.stopPropagation();\n const current = this._value() as string[];\n const next = current.filter((v) => v !== value);\n this._value.set(next);\n this._onChange(next);\n this._onTouched();\n }\n\n protected _isSelected(value: string): boolean {\n const v = this._value();\n return Array.isArray(v) ? v.includes(value) : v === value;\n }\n\n protected _onSearchInput(event: Event): void {\n const input = event.target as HTMLInputElement;\n this._searchQuery.set(input.value);\n this._focusedIndex.set(-1);\n }\n\n protected _onDropdownClick(event: MouseEvent): void {\n event.stopPropagation();\n }\n\n protected _onSearchKeydown(event: KeyboardEvent): void {\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n this._focusedIndex.update((i) => Math.min(i + 1, this._filteredOptions().length - 1));\n break;\n case 'ArrowUp':\n event.preventDefault();\n this._focusedIndex.update((i) => Math.max(i - 1, 0));\n break;\n case 'Enter':\n event.preventDefault();\n if (this._focusedIndex() >= 0) {\n const opt = this._filteredOptions()[this._focusedIndex()];\n if (opt && !opt.disabled) this._selectOption(opt, event);\n }\n break;\n case 'Escape':\n event.preventDefault();\n this._isOpen.set(false);\n this._searchQuery.set('');\n this._focusedIndex.set(-1);\n break;\n }\n }\n}\n","@if (label()) {\n <div class=\"tala-select__label-row\">\n <label class=\"tala-select__label\" [attr.for]=\"_id\">{{ label() }}</label>\n @if (required()) {\n <span class=\"tala-select__required\" aria-hidden=\"true\">*</span>\n }\n </div>\n}\n\n<div\n class=\"tala-select__trigger\"\n [id]=\"_id\"\n role=\"combobox\"\n tabindex=\"0\"\n [attr.aria-expanded]=\"_isOpen()\"\n aria-haspopup=\"listbox\"\n [attr.aria-controls]=\"_listboxId\"\n [attr.aria-required]=\"required() || null\"\n [attr.aria-disabled]=\"_isDisabled() || null\"\n [attr.aria-invalid]=\"status() === 'error' || null\"\n [attr.aria-describedby]=\"helperText() && !_isDisabled() ? _helperId : null\"\n (click)=\"_onTriggerClick($event)\"\n (keydown)=\"_onTriggerKeydown($event)\"\n>\n <div class=\"tala-select__trigger-content\">\n @if (type() === 'multi' && _hasValue()) {\n <div class=\"tala-select__chips\">\n @for (chip of _selectedLabels(); track chip.value) {\n <span class=\"tala-select__chip\">\n {{ chip.label }}\n <button\n class=\"tala-select__chip-remove\"\n type=\"button\"\n aria-label=\"Remove {{ chip.label }}\"\n (click)=\"_removeChip(chip.value, $event)\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n >\n <line x1=\"4\" y1=\"4\" x2=\"12\" y2=\"12\" />\n <line x1=\"12\" y1=\"4\" x2=\"4\" y2=\"12\" />\n </svg>\n </button>\n </span>\n }\n </div>\n } @else if (type() === 'searchable' && _isOpen()) {\n <input\n class=\"tala-select__search\"\n type=\"text\"\n autocomplete=\"off\"\n [placeholder]=\"placeholder() || 'Search...'\"\n [value]=\"_searchQuery()\"\n (input)=\"_onSearchInput($event)\"\n (keydown)=\"_onSearchKeydown($event)\"\n (click)=\"$event.stopPropagation()\"\n />\n } @else {\n <span class=\"tala-select__value\" [class.tala-select__value--placeholder]=\"!_hasValue()\">\n {{ _hasValue() ? _displayValue() : placeholder() }}\n </span>\n }\n </div>\n\n <span class=\"tala-select__trailing\">\n @if (loading()) {\n <svg\n class=\"tala-select__spinner\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M21 12a9 9 0 1 1-6.219-8.56\" />\n </svg>\n } @else {\n <svg\n class=\"tala-select__chevron\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M4 6l4 4 4-4\" />\n </svg>\n }\n </span>\n</div>\n\n@if (_isOpen() && !_isDisabled() && !loading()) {\n <div\n class=\"tala-select__dropdown\"\n role=\"listbox\"\n [id]=\"_listboxId\"\n [attr.aria-multiselectable]=\"type() === 'multi' || null\"\n (click)=\"_onDropdownClick($event)\"\n >\n @for (opt of _filteredOptions(); track opt.value; let i = $index) {\n <div\n class=\"tala-select__option\"\n [class.tala-select__option--selected]=\"_isSelected(opt.value)\"\n [class.tala-select__option--disabled]=\"opt.disabled\"\n [class.tala-select__option--focused]=\"_focusedIndex() === i\"\n role=\"option\"\n [attr.aria-selected]=\"_isSelected(opt.value)\"\n [attr.aria-disabled]=\"opt.disabled || null\"\n (click)=\"_selectOption(opt, $event)\"\n >\n @if (type() === 'multi') {\n <span class=\"tala-select__checkbox\" aria-hidden=\"true\">\n @if (_isSelected(opt.value)) {\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"currentColor\">\n <path d=\"M3 8.5L6.5 12 13 5\" />\n </svg>\n }\n </span>\n }\n <span class=\"tala-select__option-label\">{{ opt.label }}</span>\n @if (type() === 'single' && _isSelected(opt.value)) {\n <svg\n class=\"tala-select__option-check\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M3 8.5L6.5 12 13 5\" />\n </svg>\n }\n </div>\n } @empty {\n <div class=\"tala-select__empty\">No options found</div>\n }\n </div>\n}\n\n@if (helperText() && !_isDisabled()) {\n <div class=\"tala-select__helper-row\" [id]=\"_helperId\">\n <span class=\"tala-select__helper\">{{ helperText() }}</span>\n </div>\n}\n","import { Directive, computed, input } from '@angular/core';\n\nexport type TextVariant =\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'body'\n | 'label'\n | 'caption'\n | 'code';\n\nexport type TextSize = 'large' | 'medium' | 'small' | 'xsmall';\nexport type TextWeight = 'medium' | 'semibold' | 'bold';\n\n@Directive({\n selector: '[talaText]',\n standalone: true,\n host: { '[class]': 'classes()' },\n})\nexport class TalaText {\n readonly talaText = input.required<TextVariant>();\n readonly size = input<TextSize>('medium');\n readonly weight = input<TextWeight>();\n\n protected readonly classes = computed(() =>\n [this.variantClass(), this.weightClass()].filter(Boolean).join(' '),\n );\n\n private readonly variantClass = computed((): string => {\n const v = this.talaText();\n if (/^h[1-6]$/.test(v)) return `tala-${v}`;\n if (v === 'code') return 'tala-code';\n // body / label / caption: 'medium' maps to the 'default' SCSS class\n const sizeKey = this.size() === 'medium' ? 'default' : this.size();\n return `tala-${v}-${sizeKey}`;\n });\n\n private readonly weightClass = computed((): string => {\n const w = this.weight();\n const v = this.talaText();\n if (!w || /^h[1-6]$/.test(v) || v === 'code' || v === 'caption') return '';\n return `${this.variantClass()}--${w}`;\n });\n}\n","/*\n * Public API Surface of doku-tala\n */\n\nexport * from './lib/components/avatar';\nexport * from './lib/components/button';\nexport * from './lib/components/input';\nexport * from './lib/components/select';\nexport * from './lib/components/text';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doku-com-tala.mjs","sources":["../../../projects/doku-tala/src/lib/components/alert/alert.ts","../../../projects/doku-tala/src/lib/components/alert/alert.html","../../../projects/doku-tala/src/lib/components/avatar/avatar.ts","../../../projects/doku-tala/src/lib/components/avatar/avatar.html","../../../projects/doku-tala/src/lib/components/avatar/avatar-group.ts","../../../projects/doku-tala/src/lib/components/button/button.ts","../../../projects/doku-tala/src/lib/components/button/button.html","../../../projects/doku-tala/src/lib/components/form-field/form-field-control.ts","../../../projects/doku-tala/src/lib/components/form-field/form-field.ts","../../../projects/doku-tala/src/lib/components/form-field/form-field.html","../../../projects/doku-tala/src/lib/components/input/input.ts","../../../projects/doku-tala/src/lib/components/select/select-templates.ts","../../../projects/doku-tala/src/lib/components/select/select.ts","../../../projects/doku-tala/src/lib/components/select/select.html","../../../projects/doku-tala/src/lib/components/text/text.ts","../../../projects/doku-tala/src/public-api.ts","../../../projects/doku-tala/src/doku-com-tala.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation, computed, input, output, signal } from '@angular/core';\n\nexport type AlertVariant = 'info' | 'success' | 'warning' | 'danger';\nexport type AlertType = 'inline' | 'banner';\nexport type AlertAction = 'none' | 'label' | 'custom';\n\n@Component({\n selector: 'tala-alert',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n templateUrl: './alert.html',\n styleUrl: './alert.scss',\n host: {\n '[class]': 'hostClasses()',\n '[attr.role]': \"variant() === 'danger' || variant() === 'warning' ? 'alert' : 'status'\",\n '[attr.aria-atomic]': \"'true'\",\n '[style.display]': \"_dismissed() ? 'none' : null\",\n },\n})\nexport class TalaAlert {\n readonly variant = input<AlertVariant>('info');\n readonly type = input<AlertType>('inline');\n readonly title = input<string>('');\n readonly message = input<string>('');\n readonly dismissible = input<boolean>(false);\n readonly action = input<AlertAction>('none');\n readonly actionLabel = input<string>('Action label');\n\n readonly actionClick = output<void>();\n readonly dismissed = output<void>();\n\n protected readonly _dismissed = signal(false);\n\n protected readonly hostClasses = computed(() =>\n ['tala-alert', `tala-alert--${this.variant()}`, `tala-alert--${this.type()}`].filter(Boolean).join(' '),\n );\n\n protected _onActionClick(): void {\n this.actionClick.emit();\n }\n\n protected _onDismiss(): void {\n this._dismissed.set(true);\n this.dismissed.emit();\n }\n}\n","<span class=\"tala-alert__icon\" aria-hidden=\"true\">\n @switch (variant()) {\n @case ('success') {\n <svg viewBox=\"0 0 24 24\" fill=\"none\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" fill=\"currentColor\" />\n <path\n d=\"M8 12.5l2.5 2.5L16 9.5\"\n stroke=\"white\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n }\n @case ('warning') {\n <svg viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M12 2.5 L22.5 21 H1.5 Z\" fill=\"currentColor\" stroke-linejoin=\"round\" />\n <rect x=\"11\" y=\"9\" width=\"2\" height=\"6\" rx=\"1\" fill=\"white\" />\n <rect x=\"11\" y=\"16.5\" width=\"2\" height=\"2\" rx=\"1\" fill=\"white\" />\n </svg>\n }\n @case ('danger') {\n <svg viewBox=\"0 0 24 24\" fill=\"none\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" fill=\"currentColor\" />\n <path d=\"M9 9l6 6M15 9l-6 6\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" />\n </svg>\n }\n @default {\n <svg viewBox=\"0 0 24 24\" fill=\"none\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" fill=\"currentColor\" />\n <rect x=\"11\" y=\"10\" width=\"2\" height=\"7\" rx=\"1\" fill=\"white\" />\n <rect x=\"11\" y=\"6.5\" width=\"2\" height=\"2\" rx=\"1\" fill=\"white\" />\n </svg>\n }\n }\n</span>\n\n<div class=\"tala-alert__content\">\n @if (title()) {\n <p class=\"tala-alert__title\">{{ title() }}</p>\n }\n @if (message()) {\n <p class=\"tala-alert__message\">{{ message() }}</p>\n }\n @switch (action()) {\n @case ('label') {\n <div>\n <button type=\"button\" class=\"tala-alert__action\" (click)=\"_onActionClick()\">\n {{ actionLabel() }} →\n </button>\n </div>\n }\n @case ('custom') {\n <div class=\"tala-alert__actions\">\n <ng-content></ng-content>\n </div>\n }\n }\n</div>\n\n@if (dismissible()) {\n <button type=\"button\" class=\"tala-alert__close\" aria-label=\"Dismiss alert\" (click)=\"_onDismiss()\">\n <svg\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n aria-hidden=\"true\"\n >\n <line x1=\"4\" y1=\"4\" x2=\"12\" y2=\"12\" />\n <line x1=\"12\" y1=\"4\" x2=\"4\" y2=\"12\" />\n </svg>\n </button>\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n input,\n} from '@angular/core';\n\nexport type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\nexport type AvatarShape = 'circle' | 'square';\nexport type AvatarStatus = 'none' | 'online' | 'busy' | 'away' | 'offline';\n\n@Component({\n selector: 'tala-avatar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n templateUrl: './avatar.html',\n styleUrl: './avatar.scss',\n host: {\n '[class]': 'hostClasses()',\n '[style.background-color]': 'bgColor()',\n '[attr.role]': '\"img\"',\n '[attr.aria-label]': 'ariaLabel()',\n },\n})\nexport class TalaAvatar {\n /** Accessible display name used for initials and the generated aria label. */\n readonly name = input<string>('');\n\n /** Visual size of the avatar. */\n readonly size = input<AvatarSize>('md');\n\n /** Outer shape of the avatar container. */\n readonly shape = input<AvatarShape>('circle');\n\n /** Optional presence indicator shown on the avatar. */\n readonly status = input<AvatarStatus>('none');\n\n /** Optional notification badge count. Values above 99 render as `99+`. */\n readonly badgeCount = input<number>(0);\n\n /** Image URL. When omitted, the component falls back to generated initials. */\n readonly src = input<string>('');\n\n protected readonly initials = computed(() => this.getInitials(this.name()));\n\n protected readonly bgColor = computed(() =>\n this.src()\n ? 'transparent'\n : this.palette[this.hashName(this.name() || 'default') % this.palette.length],\n );\n\n protected readonly hasStatus = computed(() => this.status() !== 'none');\n protected readonly hasBadge = computed(() => !!this.badgeCount());\n\n protected readonly displayBadge = computed(() => {\n const count = this.badgeCount();\n return count > 99 ? '99+' : String(count);\n });\n\n protected readonly ariaLabel = computed(() => {\n const parts = [this.name() || 'Avatar'];\n if (this.hasStatus()) parts.push(`Status: ${this.status()}`);\n const count = this.badgeCount();\n if (count !== 0) parts.push(`${count} notification${count !== 1 ? 's' : ''}`);\n return parts.join(', ');\n });\n\n protected readonly hostClasses = computed(() =>\n [\n 'tala-avatar',\n `tala-avatar--${this.size()}`,\n `tala-avatar--${this.shape()}`,\n this.src() ? 'tala-avatar--image' : '',\n ]\n .filter(Boolean)\n .join(' '),\n );\n\n private readonly palette = [\n 'var(--tala-ref-color-blue-60)',\n 'var(--tala-ref-color-green-60)',\n 'var(--tala-ref-color-red-60)',\n 'var(--tala-ref-color-amber-60)',\n 'var(--tala-ref-color-blue-70)',\n 'var(--tala-ref-color-green-70)',\n 'var(--tala-ref-color-red-70)',\n 'var(--tala-ref-color-amber-70)',\n ];\n\n private hashName(name: string): number {\n let hash = 0;\n for (let i = 0; i < name.length; i++) {\n hash = (name.charCodeAt(i) + ((hash << 5) - hash)) | 0;\n }\n return Math.abs(hash);\n }\n\n private getInitials(name: string): string {\n const words = name.trim().split(/\\s+/).filter(Boolean);\n if (words.length === 0) return '?';\n if (words.length === 1) return words[0].slice(0, 2).toUpperCase();\n return (words[0][0] + words[words.length - 1][0]).toUpperCase();\n }\n}\n","@if (src()) {\n <img class=\"tala-avatar__image\" [src]=\"src()\" [alt]=\"name()\" />\n} @else {\n <span class=\"tala-avatar__initials\">{{ initials() }}</span>\n}\n\n@if (hasStatus()) {\n <span [class]=\"'tala-avatar__status tala-avatar__status--' + status()\" role=\"presentation\"></span>\n}\n\n@if (hasBadge()) {\n <span class=\"tala-avatar__badge\" aria-hidden=\"true\">\n {{ displayBadge() }}\n </span>\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, input } from '@angular/core';\nimport type { AvatarSize } from './avatar';\n\n@Component({\n selector: 'tala-avatar-group',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `<ng-content />`,\n styleUrl: './avatar-group.scss',\n host: {\n '[class]': '\"tala-avatar-group--\" + size()',\n role: 'group',\n },\n})\n/** Groups multiple avatars with shared sizing and overlapping layout styles. */\nexport class TalaAvatarGroup {\n /** Shared avatar size applied to items inside the group. */\n readonly size = input<AvatarSize>('md');\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewEncapsulation,\n computed,\n inject,\n input,\n} from '@angular/core';\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'accent' | 'danger' | 'link';\nexport type ButtonSize = 'xs' | 'sm' | 'md' | 'lg';\n\n@Component({\n selector: 'button[talaButton], a[talaButton]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n templateUrl: './button.html',\n styleUrl: './button.scss',\n host: {\n '[class]': 'hostClasses()',\n '[attr.disabled]': 'isButton && (disabled() || loading()) ? \"\" : null',\n '[attr.aria-disabled]': '!isButton && (disabled() || loading()) ? \"true\" : null',\n '[attr.tabindex]': '!isButton && (disabled() || loading()) ? \"-1\" : null',\n '[attr.aria-busy]': 'loading() ? \"true\" : null',\n '(click)': 'onHostClick($event)',\n },\n})\nexport class TalaButton {\n private readonly el = inject(ElementRef<HTMLElement>);\n\n /**\n * Selects the button's visual treatment.\n *\n * @default 'primary'\n */\n readonly variant = input<ButtonVariant>('primary');\n\n /**\n * Controls the button's height and horizontal padding.\n *\n * @default 'md'\n */\n readonly size = input<ButtonSize>('md');\n\n /**\n * Disables interaction.\n * Applies the native `disabled` attribute on `<button>` and `aria-disabled=\"true\"` plus\n * `tabindex=\"-1\"` on `<a>`.\n *\n * @default false\n */\n readonly disabled = input<boolean>(false);\n\n /**\n * Shows the loading state and blocks interaction.\n * Adds `aria-busy=\"true\"` and reuses disabled behavior while loading, including removing\n * anchors from the tab order.\n *\n * @default false\n */\n readonly loading = input<boolean>(false);\n\n /**\n * Collapses horizontal padding for icon-only buttons.\n * Provide an accessible name such as `aria-label` when no visible text is present.\n *\n * @default false\n */\n readonly iconOnly = input<boolean>(false);\n\n protected readonly isButton = this.el.nativeElement.tagName.toLowerCase() === 'button';\n\n protected readonly hostClasses = computed(() =>\n [\n 'tala-button',\n `tala-button--${this.variant()}`,\n `tala-button--${this.size()}`,\n this.loading() ? 'tala-button--loading' : '',\n this.iconOnly() ? 'tala-button--icon-only' : '',\n ]\n .filter(Boolean)\n .join(' '),\n );\n\n protected onHostClick(event: Event): void {\n if (!this.isButton && (this.disabled() || this.loading())) {\n event.preventDefault();\n }\n }\n}\n","@if (loading()) {\n <span class=\"tala-button__spinner\" aria-hidden=\"true\"></span>\n}\n<ng-content select=\"[slot=prefix]\"></ng-content>\n<ng-content></ng-content>\n<ng-content select=\"[slot=suffix]\"></ng-content>\n","import { InjectionToken, Signal } from '@angular/core';\n\n/**\n * Contract a control (e.g. `TalaInput`) provides to a hosting `TalaFormField` so the wrapper can\n * reflect the control's presentational state (label `for`, container border, disabled styling)\n * without either side importing the other's concrete class.\n */\nexport interface TalaFormFieldControl {\n readonly id: Signal<string>;\n readonly disabled: Signal<boolean>;\n readonly readonly: Signal<boolean>;\n readonly required: Signal<boolean>;\n readonly status: Signal<string>;\n readonly size: Signal<string>;\n}\n\nexport const TALA_FORM_FIELD_CONTROL = new InjectionToken<TalaFormFieldControl>(\n 'TALA_FORM_FIELD_CONTROL',\n);\n\n/**\n * Contract a `TalaFormField` provides to its projected control so the control can wire its own\n * `aria-describedby` to the wrapper's helper text without the wrapper writing to it directly.\n *\n * The helper row is always rendered (visible whenever a consumer projects `slot=\"helper\"`\n * content, regardless of `disabled` — CSS collapses it only when genuinely empty, see\n * `form-field.scss`), so `helperId` is always a stable id, not conditionally `null`. An\n * `aria-describedby` pointing at a rendered-but-empty element is harmless to assistive tech\n * (nothing to announce), so this avoids needing a way to detect \"did the consumer project\n * content into this slot\", which would otherwise require a marker directive the consumer has to\n * remember to import.\n */\nexport interface TalaFormFieldHost {\n readonly helperId: Signal<string>;\n}\n\nexport const TALA_FORM_FIELD_HOST = new InjectionToken<TalaFormFieldHost>('TALA_FORM_FIELD_HOST');\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n contentChild,\n} from '@angular/core';\nimport {\n TALA_FORM_FIELD_CONTROL,\n TALA_FORM_FIELD_HOST,\n TalaFormFieldControl,\n TalaFormFieldHost,\n} from './form-field-control';\n\n@Component({\n selector: 'tala-form-field',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n templateUrl: './form-field.html',\n styleUrl: './form-field.scss',\n host: {\n '[class]': 'hostClasses()',\n },\n providers: [\n {\n provide: TALA_FORM_FIELD_HOST,\n useExisting: TalaFormField,\n },\n ],\n})\nexport class TalaFormField implements TalaFormFieldHost {\n private static _nextId = 0;\n\n protected readonly _id = `tala-form-field-${++TalaFormField._nextId}`;\n protected readonly _helperId = `${this._id}-helper`;\n\n protected readonly _control = contentChild<TalaFormFieldControl>(TALA_FORM_FIELD_CONTROL);\n\n protected readonly _controlId = computed(() => this._control()?.id());\n protected readonly _status = computed(() => this._control()?.status() ?? 'default');\n protected readonly _size = computed(() => this._control()?.size() ?? 'md');\n protected readonly _required = computed(() => this._control()?.required() ?? false);\n protected readonly _isDisabled = computed(() => this._control()?.disabled() ?? false);\n protected readonly _isReadonly = computed(() => this._control()?.readonly() ?? false);\n\n readonly helperId = computed(() => this._helperId);\n\n protected readonly hostClasses = computed(() =>\n [\n 'tala-form-field',\n `tala-form-field--${this._size()}`,\n `tala-form-field--${this._status()}`,\n this._isDisabled() ? 'tala-form-field--disabled' : '',\n this._isReadonly() ? 'tala-form-field--readonly' : '',\n ]\n .filter(Boolean)\n .join(' '),\n );\n}\n","<div class=\"tala-form-field__label-row\">\n <label class=\"tala-form-field__label\" [attr.for]=\"_controlId()\">\n <ng-content select=\"[slot=label]\"></ng-content>\n </label>\n @if (_required()) {\n <span class=\"tala-form-field__required\" aria-hidden=\"true\">*</span>\n }\n</div>\n\n<div class=\"tala-form-field__container\">\n <div class=\"tala-form-field__prefix\">\n <ng-content select=\"[slot=prefix]\"></ng-content>\n </div>\n <ng-content select=\"[slot=leading-icon]\"></ng-content>\n <ng-content></ng-content>\n <ng-content select=\"[slot=trailing-icon]\"></ng-content>\n @if (_status() === 'error' || _status() === 'warning') {\n <svg\n class=\"tala-form-field__status-icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n aria-hidden=\"true\"\n >\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path\n d=\"M12 2c5.523 0 10 4.477 10 10a10 10 0 0 1 -19.995 .324l-.005 -.324l.004 -.28c.148 -5.393 4.566 -9.72 9.996 -9.72zm.01 13l-.127 .007a1 1 0 0 0 0 1.986l.117 .007l.127 -.007a1 1 0 0 0 0 -1.986l-.117 -.007zm-.01 -8a1 1 0 0 0 -.993 .883l-.007 .117v4l.007 .117a1 1 0 0 0 1.986 0l.007 -.117v-4l-.007 -.117a1 1 0 0 0 -.993 -.883z\"\n />\n </svg>\n }\n @if (_status() === 'success') {\n <svg\n class=\"tala-form-field__status-icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n aria-hidden=\"true\"\n >\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path\n d=\"M17 3.34a10 10 0 1 1 -14.995 8.984l-.005 -.324l.005 -.324a10 10 0 0 1 14.995 -8.336zm-1.293 5.953a1 1 0 0 0 -1.32 -.083l-.094 .083l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.403 1.403l.083 .094l2 2l.094 .083a1 1 0 0 0 1.226 0l.094 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z\"\n />\n </svg>\n }\n <div class=\"tala-form-field__suffix\">\n <ng-content select=\"[slot=suffix]\"></ng-content>\n </div>\n</div>\n\n<div class=\"tala-form-field__helper-row\" [id]=\"_helperId\">\n <span class=\"tala-form-field__helper\">\n <ng-content select=\"[slot=helper]\"></ng-content>\n </span>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n} from '@angular/core';\nimport {\n TALA_FORM_FIELD_CONTROL,\n TALA_FORM_FIELD_HOST,\n TalaFormFieldControl,\n} from '../form-field/form-field-control';\n\nexport type InputSize = 'sm' | 'md' | 'lg';\nexport type InputStatus = 'default' | 'error' | 'success' | 'warning';\n\n@Component({\n selector: 'input[talaInput]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: '',\n styleUrl: './input.scss',\n host: {\n class: 'tala-input-control',\n '[attr.id]': 'id()',\n '[disabled]': 'disabled()',\n '[attr.readonly]': 'readonly() || null',\n '[required]': 'required()',\n '[attr.aria-invalid]': 'status() === \"error\" || null',\n '[attr.aria-describedby]': '_describedBy()',\n },\n providers: [\n {\n provide: TALA_FORM_FIELD_CONTROL,\n useExisting: TalaInput,\n },\n ],\n})\nexport class TalaInput implements TalaFormFieldControl {\n private static _nextId = 0;\n\n // Required, not optional: `talaInput` is only ever used inside `tala-form-field`, so a missing\n // provider here means it's used standalone — fail fast instead of degrading silently.\n private readonly _field = inject(TALA_FORM_FIELD_HOST);\n\n readonly id = input<string>(`tala-input-${++TalaInput._nextId}`);\n readonly size = input<InputSize>('md');\n readonly status = input<InputStatus>('default');\n readonly disabled = input<boolean>(false);\n readonly readonly = input<boolean>(false);\n readonly required = input<boolean>(false);\n\n protected readonly _describedBy = computed(() => this._field.helperId());\n}\n","import { Directive, TemplateRef, inject } from '@angular/core';\nimport type { SelectOption } from './select';\n\nexport interface SelectOptionTemplateContext {\n $implicit: SelectOption;\n selected: boolean;\n focused: boolean;\n}\n\nexport interface SelectValueTemplateContext {\n $implicit: SelectOption;\n}\n\n/**\n * Apply to an `ng-template` projected into `tala-select` to override how each\n * option is rendered inside the dropdown list.\n */\n@Directive({\n selector: 'ng-template[talaSelectOption]',\n})\nexport class TalaSelectOptionTemplate {\n static ngTemplateContextGuard(\n _dir: TalaSelectOptionTemplate,\n ctx: unknown,\n ): ctx is SelectOptionTemplateContext {\n return true;\n }\n\n readonly templateRef = inject<TemplateRef<SelectOptionTemplateContext>>(TemplateRef);\n}\n\n/**\n * Apply to an `ng-template` projected into `tala-select` to override how the\n * chosen value is rendered — the trigger label for `single`/`searchable`, or\n * each chip for `multi`.\n */\n@Directive({\n selector: 'ng-template[talaSelectValue]',\n})\nexport class TalaSelectValueTemplate {\n static ngTemplateContextGuard(\n _dir: TalaSelectValueTemplate,\n ctx: unknown,\n ): ctx is SelectValueTemplateContext {\n return true;\n }\n\n readonly templateRef = inject<TemplateRef<SelectValueTemplateContext>>(TemplateRef);\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostListener,\n ViewEncapsulation,\n computed,\n contentChild,\n inject,\n input,\n model,\n signal,\n} from '@angular/core';\nimport type { FormValueControl } from '@angular/forms/signals';\nimport { TalaSelectOptionTemplate, TalaSelectValueTemplate } from './select-templates';\n\nexport type SelectType = 'single' | 'searchable' | 'multi';\nexport type SelectSize = 'sm' | 'md' | 'lg';\nexport type SelectStatus = 'default' | 'error' | 'success';\nexport interface SelectOption {\n value: string;\n label: string;\n disabled?: boolean;\n}\n\n@Component({\n selector: 'tala-select',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NgTemplateOutlet],\n templateUrl: './select.html',\n styleUrl: './select.scss',\n host: {\n '[class]': 'hostClasses()',\n '[style.width]': '_hostWidth()',\n },\n})\nexport class TalaSelect implements FormValueControl<string | string[]> {\n private static _nextId = 0;\n private readonly _elementRef = inject(ElementRef);\n\n readonly type = input<SelectType>('single');\n readonly size = input<SelectSize>('md');\n readonly status = input<SelectStatus>('default');\n readonly options = input<SelectOption[]>([]);\n readonly placeholder = input<string>('');\n readonly label = input<string>('');\n readonly helperText = input<string>('');\n readonly required = input<boolean>(false);\n readonly disabled = input<boolean>(false);\n readonly loading = input<boolean>(false);\n readonly width = input<'auto' | 'full' | string>('full');\n\n readonly value = model<string | string[]>('');\n readonly touched = model<boolean>(false);\n\n protected readonly _id = `tala-select-${++TalaSelect._nextId}`;\n protected readonly _helperId = `${this._id}-helper`;\n protected readonly _listboxId = `${this._id}-listbox`;\n\n protected readonly _isOpen = signal(false);\n protected readonly _searchQuery = signal('');\n protected readonly _focusedIndex = signal(-1);\n\n protected readonly _hostWidth = computed(() => {\n const w = this.width();\n if (w === 'full') return '100%';\n if (w === 'auto') return 'fit-content';\n return w;\n });\n\n protected readonly _filteredOptions = computed(() => {\n const opts = this.options();\n if (this.type() !== 'searchable') return opts;\n const q = this._searchQuery().toLowerCase().trim();\n if (!q) return opts;\n return opts.filter((o) => o.label.toLowerCase().includes(q));\n });\n\n protected readonly _hasValue = computed(() => {\n const v = this.value();\n return Array.isArray(v) ? v.length > 0 : v !== '';\n });\n\n protected readonly _displayValue = computed(() => {\n const v = this.value();\n const opts = this.options();\n if (this.type() === 'multi') {\n return (v as string[]).map((val) => opts.find((o) => o.value === val)?.label ?? val).join(', ');\n }\n return opts.find((o) => o.value === (v as string))?.label ?? '';\n });\n\n protected readonly _selectedOption = computed<SelectOption | undefined>(() => {\n const v = this.value();\n if (Array.isArray(v) || !v) return undefined;\n const opts = this.options();\n return opts.find((o) => o.value === v) ?? { value: v, label: v };\n });\n\n protected readonly _selectedOptions = computed<SelectOption[]>(() => {\n const v = this.value();\n const opts = this.options();\n if (!Array.isArray(v)) return [];\n return v.map((val) => opts.find((o) => o.value === val) ?? { value: val, label: val });\n });\n\n protected readonly _optionTemplate = contentChild(TalaSelectOptionTemplate);\n protected readonly _valueTemplate = contentChild(TalaSelectValueTemplate);\n\n protected readonly hostClasses = computed(() =>\n [\n 'tala-select',\n `tala-select--${this.size()}`,\n `tala-select--${this.status()}`,\n this._isOpen() ? 'tala-select--open' : '',\n this.disabled() ? 'tala-select--disabled' : '',\n this.loading() ? 'tala-select--loading' : '',\n ]\n .filter(Boolean)\n .join(' '),\n );\n\n @HostListener('document:click', ['$event.target'])\n _onDocumentClick(target: EventTarget | null): void {\n if (!this._elementRef.nativeElement.contains(target)) {\n this._isOpen.set(false);\n this._searchQuery.set('');\n this._focusedIndex.set(-1);\n }\n }\n\n focus(options?: FocusOptions): void {\n const trigger: HTMLElement | null = this._elementRef.nativeElement.querySelector('.tala-select__trigger');\n trigger?.focus(options);\n }\n\n protected _onTriggerClick(event: MouseEvent): void {\n event.stopPropagation();\n if (this.disabled() || this.loading()) return;\n if (this._isOpen()) {\n this._isOpen.set(false);\n this._searchQuery.set('');\n this._focusedIndex.set(-1);\n } else {\n this._isOpen.set(true);\n }\n }\n\n protected _onTriggerKeydown(event: KeyboardEvent): void {\n if (this.disabled() || this.loading()) return;\n\n switch (event.key) {\n case ' ':\n case 'Enter':\n event.preventDefault();\n if (!this._isOpen()) {\n this._isOpen.set(true);\n } else if (this._focusedIndex() >= 0) {\n const opt = this._filteredOptions()[this._focusedIndex()];\n if (opt && !opt.disabled) this._selectOption(opt, event);\n }\n break;\n case 'Escape':\n event.preventDefault();\n this._isOpen.set(false);\n this._searchQuery.set('');\n this._focusedIndex.set(-1);\n break;\n case 'ArrowDown':\n event.preventDefault();\n if (!this._isOpen()) {\n this._isOpen.set(true);\n } else {\n const max = this._filteredOptions().length - 1;\n this._focusedIndex.update((i) => Math.min(i + 1, max));\n }\n break;\n case 'ArrowUp':\n event.preventDefault();\n if (this._isOpen()) {\n this._focusedIndex.update((i) => Math.max(i - 1, 0));\n }\n break;\n }\n }\n\n protected _selectOption(opt: SelectOption, event: Event): void {\n event.stopPropagation();\n if (opt.disabled) return;\n\n if (this.type() === 'multi') {\n const current = this.value() as string[];\n const idx = current.indexOf(opt.value);\n const next = idx >= 0 ? current.filter((v) => v !== opt.value) : [...current, opt.value];\n this.value.set(next);\n } else {\n this.value.set(opt.value);\n this._isOpen.set(false);\n this._searchQuery.set('');\n this._focusedIndex.set(-1);\n }\n this.touched.set(true);\n }\n\n protected _removeChip(value: string, event: MouseEvent): void {\n event.stopPropagation();\n const current = this.value() as string[];\n const next = current.filter((v) => v !== value);\n this.value.set(next);\n this.touched.set(true);\n }\n\n protected _isSelected(value: string): boolean {\n const v = this.value();\n return Array.isArray(v) ? v.includes(value) : v === value;\n }\n\n protected _onSearchInput(event: Event): void {\n const input = event.target as HTMLInputElement;\n this._searchQuery.set(input.value);\n this._focusedIndex.set(-1);\n }\n\n protected _onDropdownClick(event: MouseEvent): void {\n event.stopPropagation();\n }\n\n protected _onSearchKeydown(event: KeyboardEvent): void {\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n this._focusedIndex.update((i) => Math.min(i + 1, this._filteredOptions().length - 1));\n break;\n case 'ArrowUp':\n event.preventDefault();\n this._focusedIndex.update((i) => Math.max(i - 1, 0));\n break;\n case 'Enter':\n event.preventDefault();\n if (this._focusedIndex() >= 0) {\n const opt = this._filteredOptions()[this._focusedIndex()];\n if (opt && !opt.disabled) this._selectOption(opt, event);\n }\n break;\n case 'Escape':\n event.preventDefault();\n this._isOpen.set(false);\n this._searchQuery.set('');\n this._focusedIndex.set(-1);\n break;\n }\n }\n}\n","@if (label()) {\n <div class=\"tala-select__label-row\">\n <label class=\"tala-select__label\" [attr.for]=\"_id\">{{ label() }}</label>\n @if (required()) {\n <span class=\"tala-select__required\" aria-hidden=\"true\">*</span>\n }\n </div>\n}\n\n<div\n class=\"tala-select__trigger\"\n [id]=\"_id\"\n role=\"combobox\"\n tabindex=\"0\"\n [attr.aria-expanded]=\"_isOpen()\"\n aria-haspopup=\"listbox\"\n [attr.aria-controls]=\"_listboxId\"\n [attr.aria-required]=\"required() || null\"\n [attr.aria-disabled]=\"disabled() || null\"\n [attr.aria-invalid]=\"status() === 'error' || null\"\n [attr.aria-describedby]=\"helperText() && !disabled() ? _helperId : null\"\n (click)=\"_onTriggerClick($event)\"\n (keydown)=\"_onTriggerKeydown($event)\"\n>\n <div class=\"tala-select__trigger-content\">\n @if (type() === 'multi' && _hasValue()) {\n <div class=\"tala-select__chips\">\n @for (chip of _selectedOptions(); track chip.value) {\n <span class=\"tala-select__chip\">\n @if (_valueTemplate(); as valueTpl) {\n <ng-container\n [ngTemplateOutlet]=\"valueTpl.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: chip }\"\n ></ng-container>\n } @else {\n {{ chip.label }}\n }\n <button\n class=\"tala-select__chip-remove\"\n type=\"button\"\n aria-label=\"Remove {{ chip.label }}\"\n (click)=\"_removeChip(chip.value, $event)\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n >\n <line x1=\"4\" y1=\"4\" x2=\"12\" y2=\"12\" />\n <line x1=\"12\" y1=\"4\" x2=\"4\" y2=\"12\" />\n </svg>\n </button>\n </span>\n }\n </div>\n } @else if (type() === 'searchable' && _isOpen()) {\n <input\n class=\"tala-select__search\"\n type=\"text\"\n autocomplete=\"off\"\n [placeholder]=\"placeholder() || 'Search...'\"\n [value]=\"_searchQuery()\"\n (input)=\"_onSearchInput($event)\"\n (keydown)=\"_onSearchKeydown($event)\"\n (click)=\"$event.stopPropagation()\"\n />\n } @else {\n <span class=\"tala-select__value\" [class.tala-select__value--placeholder]=\"!_hasValue()\">\n @if (_hasValue()) {\n @if (_valueTemplate(); as valueTpl) {\n <ng-container\n [ngTemplateOutlet]=\"valueTpl.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: _selectedOption() }\"\n ></ng-container>\n } @else {\n {{ _displayValue() }}\n }\n } @else {\n {{ placeholder() }}\n }\n </span>\n }\n </div>\n\n <span class=\"tala-select__trailing\">\n @if (loading()) {\n <svg\n class=\"tala-select__spinner\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M21 12a9 9 0 1 1-6.219-8.56\" />\n </svg>\n } @else {\n <svg\n class=\"tala-select__chevron\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M4 6l4 4 4-4\" />\n </svg>\n }\n </span>\n</div>\n\n@if (_isOpen() && !disabled() && !loading()) {\n <div\n class=\"tala-select__dropdown\"\n role=\"listbox\"\n [id]=\"_listboxId\"\n [attr.aria-multiselectable]=\"type() === 'multi' || null\"\n (click)=\"_onDropdownClick($event)\"\n >\n @for (opt of _filteredOptions(); track opt.value; let i = $index) {\n <div\n class=\"tala-select__option\"\n [class.tala-select__option--selected]=\"_isSelected(opt.value)\"\n [class.tala-select__option--disabled]=\"opt.disabled\"\n [class.tala-select__option--focused]=\"_focusedIndex() === i\"\n role=\"option\"\n [attr.aria-selected]=\"_isSelected(opt.value)\"\n [attr.aria-disabled]=\"opt.disabled || null\"\n (click)=\"_selectOption(opt, $event)\"\n >\n @if (_optionTemplate(); as optionTpl) {\n <ng-container\n [ngTemplateOutlet]=\"optionTpl.templateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: opt,\n selected: _isSelected(opt.value),\n focused: _focusedIndex() === i,\n }\"\n ></ng-container>\n } @else {\n @if (type() === 'multi') {\n <span class=\"tala-select__checkbox\" aria-hidden=\"true\">\n @if (_isSelected(opt.value)) {\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"currentColor\">\n <path d=\"M3 8.5L6.5 12 13 5\" />\n </svg>\n }\n </span>\n }\n <span class=\"tala-select__option-label\">{{ opt.label }}</span>\n @if (type() === 'single' && _isSelected(opt.value)) {\n <svg\n class=\"tala-select__option-check\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M3 8.5L6.5 12 13 5\" />\n </svg>\n }\n }\n </div>\n } @empty {\n <div class=\"tala-select__empty\">No options found</div>\n }\n </div>\n}\n\n@if (helperText() && !disabled()) {\n <div class=\"tala-select__helper-row\" [id]=\"_helperId\">\n <span class=\"tala-select__helper\">{{ helperText() }}</span>\n </div>\n}\n","import { Component, computed, input } from '@angular/core';\n\nexport type TextVariant =\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'body'\n | 'label'\n | 'caption'\n | 'code'\n | 'docTitle'\n | 'docSection';\n\nexport type TextSize = 'xs' | 'sm' | 'md' | 'lg';\nexport type TextWeight = 'regular' | 'medium' | 'semibold' | 'bold';\n\n@Component({\n selector: '[talaText]',\n template: '<ng-content />',\n host: { '[class]': 'classes()' },\n})\nexport class TalaText {\n /**\n * Sets the text variant/semantic type.\n * Determines the HTML semantics and typography styles applied to the element.\n *\n * @default 'body'\n * @example\n * // Heading variant\n * <h1 talaText=\"h1\">Heading 1</h1>\n * // Body text with custom size\n * <p talaText=\"body\">Body text</p>\n * // Code block\n * <code talaText=\"code\">const x = 42;</code>\n */\n readonly talaText = input<TextVariant>('body');\n\n /**\n * Controls the font size relative to the current variant.\n * Size mapping varies by variant:\n * - Ignored for headings (h1-h6), code, and documentation text\n * - body: 'sm' | 'md' (default) | 'lg'\n * - label: 'xs' | 'sm' | 'md' (default) | 'lg'\n * - caption: 'sm' (default) | 'lg'\n *\n * @default 'md'\n * @example\n * <p talaText=\"body\" [size]=\"'lg'\">Large body text</p>\n */\n readonly size = input<TextSize>('md');\n\n /**\n * Controls the font weight.\n * Weight application varies by variant:\n * - Ignored for headings (h1-h6), code, caption, and documentation text\n * - For body/label: 'regular' (default) | 'medium' | 'semibold' | 'bold'\n *\n * @default 'regular'\n * @example\n * <p talaText=\"body\" [weight]=\"'bold'\">Bold body text</p>\n */\n readonly weight = input<TextWeight>('regular');\n\n private readonly normalizedVariant = computed<TextVariant>(() => {\n const value = this.talaText();\n const normalized = typeof value === 'string' ? value.trim() : '';\n\n switch (normalized) {\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n case 'body':\n case 'label':\n case 'caption':\n case 'code':\n case 'docTitle':\n case 'docSection':\n return normalized;\n default:\n return 'body';\n }\n });\n\n private readonly normalizedSize = computed<TextSize>(() => {\n const value = this.size();\n const normalized = typeof value === 'string' ? value.trim() : '';\n\n switch (normalized) {\n case 'xs':\n case 'sm':\n case 'md':\n case 'lg':\n return normalized;\n default:\n return 'md';\n }\n });\n\n private readonly normalizedWeight = computed<TextWeight>(() => {\n const value = this.weight();\n const normalized = typeof value === 'string' ? value.trim() : '';\n\n switch (normalized) {\n case 'regular':\n case 'medium':\n case 'semibold':\n case 'bold':\n return normalized;\n default:\n return 'regular';\n }\n });\n\n protected readonly classes = computed(() =>\n [this.variantClass(), this.weightClass()].filter(Boolean).join(' '),\n );\n\n private readonly variantClass = computed((): string => {\n const v = this.normalizedVariant();\n if (/^h[1-6]$/.test(v)) return `tala-${v}`;\n if (v === 'code') return 'tala-code';\n if (v === 'docTitle') return 'tala-doc-title';\n if (v === 'docSection') return 'tala-doc-section';\n if (v === 'body') return `tala-body-${this.bodySizeKey()}`;\n if (v === 'label') return `tala-label-${this.labelSizeKey()}`;\n return `tala-caption-${this.captionSizeKey()}`;\n });\n\n private readonly weightClass = computed((): string => {\n const w = this.normalizedWeight();\n const v = this.normalizedVariant();\n if (\n /^h[1-6]$/.test(v) ||\n v === 'code' ||\n v === 'caption' ||\n v === 'docTitle' ||\n v === 'docSection'\n )\n return '';\n if (w === 'regular') return '';\n if (v === 'label') return w === 'semibold' ? `${this.variantClass()}--semibold` : '';\n return `${this.variantClass()}--${w}`;\n });\n\n private readonly bodySizeKey = computed((): 'lg' | 'md' | 'sm' => {\n const s = this.normalizedSize();\n if (s === 'lg') return 'lg';\n if (s === 'sm') return 'sm';\n return 'md';\n });\n\n private readonly labelSizeKey = computed((): 'lg' | 'md' | 'sm' | 'xs' => {\n const s = this.normalizedSize();\n if (s === 'lg') return 'lg';\n if (s === 'sm') return 'sm';\n if (s === 'xs') return 'xs';\n return 'md';\n });\n\n private readonly captionSizeKey = computed((): 'lg' | 'sm' => {\n const s = this.normalizedSize();\n return s === 'lg' ? 'lg' : 'sm';\n });\n}\n","/*\n * Public API Surface of doku-tala\n */\n\nexport * from './lib/components/alert';\nexport * from './lib/components/avatar';\nexport * from './lib/components/button';\nexport * from './lib/components/form-field';\nexport * from './lib/components/input';\nexport * from './lib/components/select';\nexport * from './lib/components/text';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAmBa,SAAS,CAAA;AACX,IAAA,OAAO,GAAG,KAAK,CAAe,MAAM,8EAAC;AACrC,IAAA,IAAI,GAAG,KAAK,CAAY,QAAQ,2EAAC;AACjC,IAAA,KAAK,GAAG,KAAK,CAAS,EAAE,4EAAC;AACzB,IAAA,OAAO,GAAG,KAAK,CAAS,EAAE,8EAAC;AAC3B,IAAA,WAAW,GAAG,KAAK,CAAU,KAAK,kFAAC;AACnC,IAAA,MAAM,GAAG,KAAK,CAAc,MAAM,6EAAC;AACnC,IAAA,WAAW,GAAG,KAAK,CAAS,cAAc,kFAAC;IAE3C,WAAW,GAAG,MAAM,EAAQ;IAC5B,SAAS,GAAG,MAAM,EAAQ;AAEhB,IAAA,UAAU,GAAG,MAAM,CAAC,KAAK,iFAAC;AAE1B,IAAA,WAAW,GAAG,QAAQ,CAAC,MACxC,CAAC,YAAY,EAAE,eAAe,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,CAAA,YAAA,EAAe,IAAI,CAAC,IAAI,EAAE,CAAA,CAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,kFACxG;IAES,cAAc,GAAA;AACtB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;IACzB;IAEU,UAAU,GAAA;AAClB,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;AACzB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;IACvB;wGAzBW,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAT,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,SAAS,quCCnBtB,04EA2EA,EAAA,MAAA,EAAA,CAAA,8iGAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;4FDxDa,SAAS,EAAA,UAAA,EAAA,CAAA;kBAbrB,SAAS;+BACE,YAAY,EAAA,eAAA,EACL,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAG/B;AACJ,wBAAA,SAAS,EAAE,eAAe;AAC1B,wBAAA,aAAa,EAAE,wEAAwE;AACvF,wBAAA,oBAAoB,EAAE,QAAQ;AAC9B,wBAAA,iBAAiB,EAAE,8BAA8B;AAClD,qBAAA,EAAA,QAAA,EAAA,04EAAA,EAAA,MAAA,EAAA,CAAA,8iGAAA,CAAA,EAAA;;;MEQU,UAAU,CAAA;;AAEZ,IAAA,IAAI,GAAG,KAAK,CAAS,EAAE,2EAAC;;AAGxB,IAAA,IAAI,GAAG,KAAK,CAAa,IAAI,2EAAC;;AAG9B,IAAA,KAAK,GAAG,KAAK,CAAc,QAAQ,4EAAC;;AAGpC,IAAA,MAAM,GAAG,KAAK,CAAe,MAAM,6EAAC;;AAGpC,IAAA,UAAU,GAAG,KAAK,CAAS,CAAC,iFAAC;;AAG7B,IAAA,GAAG,GAAG,KAAK,CAAS,EAAE,0EAAC;AAEb,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,+EAAC;IAExD,OAAO,GAAG,QAAQ,CAAC,MACpC,IAAI,CAAC,GAAG;AACN,UAAE;UACA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAChF;AAEkB,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,KAAK,MAAM,gFAAC;AACpD,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,+EAAC;AAE9C,IAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;AAC9C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE;AAC/B,QAAA,OAAO,KAAK,GAAG,EAAE,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AAC3C,IAAA,CAAC,mFAAC;AAEiB,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAK;QAC3C,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC;QACvC,IAAI,IAAI,CAAC,SAAS,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,CAAA,QAAA,EAAW,IAAI,CAAC,MAAM,EAAE,CAAA,CAAE,CAAC;AAC5D,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE;QAC/B,IAAI,KAAK,KAAK,CAAC;AAAE,YAAA,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA,aAAA,EAAgB,KAAK,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,CAAA,CAAE,CAAC;AAC7E,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACzB,IAAA,CAAC,gFAAC;AAEiB,IAAA,WAAW,GAAG,QAAQ,CAAC,MACxC;QACE,aAAa;AACb,QAAA,CAAA,aAAA,EAAgB,IAAI,CAAC,IAAI,EAAE,CAAA,CAAE;AAC7B,QAAA,CAAA,aAAA,EAAgB,IAAI,CAAC,KAAK,EAAE,CAAA,CAAE;QAC9B,IAAI,CAAC,GAAG,EAAE,GAAG,oBAAoB,GAAG,EAAE;AACvC;SACE,MAAM,CAAC,OAAO;AACd,SAAA,IAAI,CAAC,GAAG,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CACb;AAEgB,IAAA,OAAO,GAAG;QACzB,+BAA+B;QAC/B,gCAAgC;QAChC,8BAA8B;QAC9B,gCAAgC;QAChC,+BAA+B;QAC/B,gCAAgC;QAChC,8BAA8B;QAC9B,gCAAgC;KACjC;AAEO,IAAA,QAAQ,CAAC,IAAY,EAAA;QAC3B,IAAI,IAAI,GAAG,CAAC;AACZ,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;QACxD;AACA,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB;AAEQ,IAAA,WAAW,CAAC,IAAY,EAAA;AAC9B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AACtD,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,GAAG;AAClC,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE;QACjE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE;IACjE;wGA9EW,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,UAAU,87BCzBvB,uaAeA,EAAA,MAAA,EAAA,CAAA,w+IAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;4FDUa,UAAU,EAAA,UAAA,EAAA,CAAA;kBAbtB,SAAS;+BACE,aAAa,EAAA,eAAA,EACN,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAG/B;AACJ,wBAAA,SAAS,EAAE,eAAe;AAC1B,wBAAA,0BAA0B,EAAE,WAAW;AACvC,wBAAA,aAAa,EAAE,OAAO;AACtB,wBAAA,mBAAmB,EAAE,aAAa;AACnC,qBAAA,EAAA,QAAA,EAAA,uaAAA,EAAA,MAAA,EAAA,CAAA,w+IAAA,CAAA,EAAA;;;AERH;MACa,eAAe,CAAA;;AAEjB,IAAA,IAAI,GAAG,KAAK,CAAa,IAAI,2EAAC;wGAF5B,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,sTARhB,CAAA,cAAA,CAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,ipBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;4FAQf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAb3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAAA,UAAA,EACjB,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAC3B,CAAA,cAAA,CAAgB,EAAA,IAAA,EAEpB;AACJ,wBAAA,SAAS,EAAE,gCAAgC;AAC3C,wBAAA,IAAI,EAAE,OAAO;AACd,qBAAA,EAAA,MAAA,EAAA,CAAA,ipBAAA,CAAA,EAAA;;;MCeU,UAAU,CAAA;AACJ,IAAA,EAAE,GAAG,MAAM,EAAC,UAAuB,EAAC;AAErD;;;;AAIG;AACM,IAAA,OAAO,GAAG,KAAK,CAAgB,SAAS,8EAAC;AAElD;;;;AAIG;AACM,IAAA,IAAI,GAAG,KAAK,CAAa,IAAI,2EAAC;AAEvC;;;;;;AAMG;AACM,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,+EAAC;AAEzC;;;;;;AAMG;AACM,IAAA,OAAO,GAAG,KAAK,CAAU,KAAK,8EAAC;AAExC;;;;;AAKG;AACM,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,+EAAC;AAEtB,IAAA,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,QAAQ;AAEnE,IAAA,WAAW,GAAG,QAAQ,CAAC,MACxC;QACE,aAAa;AACb,QAAA,CAAA,aAAA,EAAgB,IAAI,CAAC,OAAO,EAAE,CAAA,CAAE;AAChC,QAAA,CAAA,aAAA,EAAgB,IAAI,CAAC,IAAI,EAAE,CAAA,CAAE;QAC7B,IAAI,CAAC,OAAO,EAAE,GAAG,sBAAsB,GAAG,EAAE;QAC5C,IAAI,CAAC,QAAQ,EAAE,GAAG,wBAAwB,GAAG,EAAE;AAChD;SACE,MAAM,CAAC,OAAO;AACd,SAAA,IAAI,CAAC,GAAG,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CACb;AAES,IAAA,WAAW,CAAC,KAAY,EAAA;AAChC,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;YACzD,KAAK,CAAC,cAAc,EAAE;QACxB;IACF;wGA7DW,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,UAAU,qlCC5BvB,gOAMA,EAAA,MAAA,EAAA,CAAA,opKAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;4FDsBa,UAAU,EAAA,UAAA,EAAA,CAAA;kBAftB,SAAS;+BACE,mCAAmC,EAAA,eAAA,EAC5B,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAG/B;AACJ,wBAAA,SAAS,EAAE,eAAe;AAC1B,wBAAA,iBAAiB,EAAE,mDAAmD;AACtE,wBAAA,sBAAsB,EAAE,wDAAwD;AAChF,wBAAA,iBAAiB,EAAE,sDAAsD;AACzE,wBAAA,kBAAkB,EAAE,2BAA2B;AAC/C,wBAAA,SAAS,EAAE,qBAAqB;AACjC,qBAAA,EAAA,QAAA,EAAA,gOAAA,EAAA,MAAA,EAAA,CAAA,opKAAA,CAAA,EAAA;;;MEVU,uBAAuB,GAAG,IAAI,cAAc,CACvD,yBAAyB;MAmBd,oBAAoB,GAAG,IAAI,cAAc,CAAoB,sBAAsB;;MCNnF,aAAa,CAAA;AAChB,IAAA,OAAO,OAAO,GAAG,CAAC;AAEP,IAAA,GAAG,GAAG,CAAA,gBAAA,EAAmB,EAAE,aAAa,CAAC,OAAO,EAAE;AAClD,IAAA,SAAS,GAAG,CAAA,EAAG,IAAI,CAAC,GAAG,SAAS;AAEhC,IAAA,QAAQ,GAAG,YAAY,CAAuB,uBAAuB,+EAAC;AAEtE,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,iFAAC;AAClD,IAAA,OAAO,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,SAAS,8EAAC;AAChE,IAAA,KAAK,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,4EAAC;AACvD,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,KAAK,gFAAC;AAChE,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,KAAK,kFAAC;AAClE,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,KAAK,kFAAC;IAE5E,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AAE/B,IAAA,WAAW,GAAG,QAAQ,CAAC,MACxC;QACE,iBAAiB;AACjB,QAAA,CAAA,iBAAA,EAAoB,IAAI,CAAC,KAAK,EAAE,CAAA,CAAE;AAClC,QAAA,CAAA,iBAAA,EAAoB,IAAI,CAAC,OAAO,EAAE,CAAA,CAAE;QACpC,IAAI,CAAC,WAAW,EAAE,GAAG,2BAA2B,GAAG,EAAE;QACrD,IAAI,CAAC,WAAW,EAAE,GAAG,2BAA2B,GAAG,EAAE;AACtD;SACE,MAAM,CAAC,OAAO;AACd,SAAA,IAAI,CAAC,GAAG,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CACb;wGA3BU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,eAAA,EAAA,EAAA,EAAA,SAAA,EAPb;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,oBAAoB;AAC7B,gBAAA,WAAW,EAAE,aAAa;AAC3B,aAAA;SACF,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAQgE,uBAAuB,gECpC1F,0rEAsDA,EAAA,MAAA,EAAA,CAAA,4xKAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;4FDxBa,aAAa,EAAA,UAAA,EAAA,CAAA;kBAhBzB,SAAS;+BACE,iBAAiB,EAAA,eAAA,EACV,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAG/B;AACJ,wBAAA,SAAS,EAAE,eAAe;qBAC3B,EAAA,SAAA,EACU;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,oBAAoB;AAC7B,4BAAA,WAAW,EAAA,aAAe;AAC3B,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,0rEAAA,EAAA,MAAA,EAAA,CAAA,4xKAAA,CAAA,EAAA;6FAQgE,uBAAuB,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MEG7E,SAAS,CAAA;AACZ,IAAA,OAAO,OAAO,GAAG,CAAC;;;AAIT,IAAA,MAAM,GAAG,MAAM,CAAC,oBAAoB,CAAC;IAE7C,EAAE,GAAG,KAAK,CAAS,CAAA,WAAA,EAAc,EAAE,SAAS,CAAC,OAAO,CAAA,CAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,IAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AACvD,IAAA,IAAI,GAAG,KAAK,CAAY,IAAI,2EAAC;AAC7B,IAAA,MAAM,GAAG,KAAK,CAAc,SAAS,6EAAC;AACtC,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,+EAAC;AAChC,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,+EAAC;AAChC,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,+EAAC;AAEtB,IAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,mFAAC;wGAd7D,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAT,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,gCAAA,EAAA,uBAAA,EAAA,gBAAA,EAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,EAAA,SAAA,EAPT;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,uBAAuB;AAChC,gBAAA,WAAW,EAAE,SAAS;AACvB,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAhBS,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2qBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;4FAkBD,SAAS,EAAA,UAAA,EAAA,CAAA;kBAtBrB,SAAS;+BACE,kBAAkB,EAAA,eAAA,EACX,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAC3B,EAAE,EAAA,IAAA,EAEN;AACJ,wBAAA,KAAK,EAAE,oBAAoB;AAC3B,wBAAA,WAAW,EAAE,MAAM;AACnB,wBAAA,YAAY,EAAE,YAAY;AAC1B,wBAAA,iBAAiB,EAAE,oBAAoB;AACvC,wBAAA,YAAY,EAAE,YAAY;AAC1B,wBAAA,qBAAqB,EAAE,8BAA8B;AACrD,wBAAA,yBAAyB,EAAE,gBAAgB;qBAC5C,EAAA,SAAA,EACU;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,uBAAuB;AAChC,4BAAA,WAAW,EAAA,SAAW;AACvB,yBAAA;AACF,qBAAA,EAAA,MAAA,EAAA,CAAA,2qBAAA,CAAA,EAAA;;;ACxBH;;;AAGG;MAIU,wBAAwB,CAAA;AACnC,IAAA,OAAO,sBAAsB,CAC3B,IAA8B,EAC9B,GAAY,EAAA;AAEZ,QAAA,OAAO,IAAI;IACb;AAES,IAAA,WAAW,GAAG,MAAM,CAA2C,WAAW,CAAC;wGARzE,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,+BAA+B;AAC1C,iBAAA;;AAYD;;;;AAIG;MAIU,uBAAuB,CAAA;AAClC,IAAA,OAAO,sBAAsB,CAC3B,IAA6B,EAC7B,GAAY,EAAA;AAEZ,QAAA,OAAO,IAAI;IACb;AAES,IAAA,WAAW,GAAG,MAAM,CAA0C,WAAW,CAAC;wGARxE,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8BAA8B;AACzC,iBAAA;;;MCCY,UAAU,CAAA;AACb,IAAA,OAAO,OAAO,GAAG,CAAC;AACT,IAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;AAExC,IAAA,IAAI,GAAG,KAAK,CAAa,QAAQ,2EAAC;AAClC,IAAA,IAAI,GAAG,KAAK,CAAa,IAAI,2EAAC;AAC9B,IAAA,MAAM,GAAG,KAAK,CAAe,SAAS,6EAAC;AACvC,IAAA,OAAO,GAAG,KAAK,CAAiB,EAAE,8EAAC;AACnC,IAAA,WAAW,GAAG,KAAK,CAAS,EAAE,kFAAC;AAC/B,IAAA,KAAK,GAAG,KAAK,CAAS,EAAE,4EAAC;AACzB,IAAA,UAAU,GAAG,KAAK,CAAS,EAAE,iFAAC;AAC9B,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,+EAAC;AAChC,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,+EAAC;AAChC,IAAA,OAAO,GAAG,KAAK,CAAU,KAAK,8EAAC;AAC/B,IAAA,KAAK,GAAG,KAAK,CAA2B,MAAM,4EAAC;AAE/C,IAAA,KAAK,GAAG,KAAK,CAAoB,EAAE,4EAAC;AACpC,IAAA,OAAO,GAAG,KAAK,CAAU,KAAK,8EAAC;AAErB,IAAA,GAAG,GAAG,CAAA,YAAA,EAAe,EAAE,UAAU,CAAC,OAAO,EAAE;AAC3C,IAAA,SAAS,GAAG,CAAA,EAAG,IAAI,CAAC,GAAG,SAAS;AAChC,IAAA,UAAU,GAAG,CAAA,EAAG,IAAI,CAAC,GAAG,UAAU;AAElC,IAAA,OAAO,GAAG,MAAM,CAAC,KAAK,8EAAC;AACvB,IAAA,YAAY,GAAG,MAAM,CAAC,EAAE,mFAAC;AACzB,IAAA,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,oFAAC;AAE1B,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AAC5C,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;QACtB,IAAI,CAAC,KAAK,MAAM;AAAE,YAAA,OAAO,MAAM;QAC/B,IAAI,CAAC,KAAK,MAAM;AAAE,YAAA,OAAO,aAAa;AACtC,QAAA,OAAO,CAAC;AACV,IAAA,CAAC,iFAAC;AAEiB,IAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAK;AAClD,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE;AAC3B,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,YAAY;AAAE,YAAA,OAAO,IAAI;AAC7C,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE;AAClD,QAAA,IAAI,CAAC,CAAC;AAAE,YAAA,OAAO,IAAI;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC9D,IAAA,CAAC,uFAAC;AAEiB,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAK;AAC3C,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;QACtB,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE;AACnD,IAAA,CAAC,gFAAC;AAEiB,IAAA,aAAa,GAAG,QAAQ,CAAC,MAAK;AAC/C,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;AACtB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE;AAC3B,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,OAAO,EAAE;AAC3B,YAAA,OAAQ,CAAc,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACjG;AACA,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAM,CAAY,CAAC,EAAE,KAAK,IAAI,EAAE;AACjE,IAAA,CAAC,oFAAC;AAEiB,IAAA,eAAe,GAAG,QAAQ,CAA2B,MAAK;AAC3E,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;QACtB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAAE,YAAA,OAAO,SAAS;AAC5C,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;AAClE,IAAA,CAAC,sFAAC;AAEiB,IAAA,gBAAgB,GAAG,QAAQ,CAAiB,MAAK;AAClE,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;AACtB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE;AAC3B,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAAE,YAAA,OAAO,EAAE;AAChC,QAAA,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACxF,IAAA,CAAC,uFAAC;AAEiB,IAAA,eAAe,GAAG,YAAY,CAAC,wBAAwB,sFAAC;AACxD,IAAA,cAAc,GAAG,YAAY,CAAC,uBAAuB,qFAAC;AAEtD,IAAA,WAAW,GAAG,QAAQ,CAAC,MACxC;QACE,aAAa;AACb,QAAA,CAAA,aAAA,EAAgB,IAAI,CAAC,IAAI,EAAE,CAAA,CAAE;AAC7B,QAAA,CAAA,aAAA,EAAgB,IAAI,CAAC,MAAM,EAAE,CAAA,CAAE;QAC/B,IAAI,CAAC,OAAO,EAAE,GAAG,mBAAmB,GAAG,EAAE;QACzC,IAAI,CAAC,QAAQ,EAAE,GAAG,uBAAuB,GAAG,EAAE;QAC9C,IAAI,CAAC,OAAO,EAAE,GAAG,sBAAsB,GAAG,EAAE;AAC7C;SACE,MAAM,CAAC,OAAO;AACd,SAAA,IAAI,CAAC,GAAG,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CACb;AAGD,IAAA,gBAAgB,CAAC,MAA0B,EAAA;AACzC,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACpD,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AACvB,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5B;IACF;AAEA,IAAA,KAAK,CAAC,OAAsB,EAAA;AAC1B,QAAA,MAAM,OAAO,GAAuB,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,uBAAuB,CAAC;AACzG,QAAA,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;IACzB;AAEU,IAAA,eAAe,CAAC,KAAiB,EAAA;QACzC,KAAK,CAAC,eAAe,EAAE;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE;YAAE;AACvC,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAClB,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AACvB,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5B;aAAO;AACL,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QACxB;IACF;AAEU,IAAA,iBAAiB,CAAC,KAAoB,EAAA;QAC9C,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE;YAAE;AAEvC,QAAA,QAAQ,KAAK,CAAC,GAAG;AACf,YAAA,KAAK,GAAG;AACR,YAAA,KAAK,OAAO;gBACV,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;AACnB,oBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gBACxB;AAAO,qBAAA,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE;AACpC,oBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AACzD,oBAAA,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ;AAAE,wBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC;gBAC1D;gBACA;AACF,YAAA,KAAK,QAAQ;gBACX,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AACvB,gBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC1B;AACF,YAAA,KAAK,WAAW;gBACd,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;AACnB,oBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gBACxB;qBAAO;oBACL,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,GAAG,CAAC;oBAC9C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;gBACxD;gBACA;AACF,YAAA,KAAK,SAAS;gBACZ,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;oBAClB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtD;gBACA;;IAEN;IAEU,aAAa,CAAC,GAAiB,EAAE,KAAY,EAAA;QACrD,KAAK,CAAC,eAAe,EAAE;QACvB,IAAI,GAAG,CAAC,QAAQ;YAAE;AAElB,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,OAAO,EAAE;AAC3B,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAc;YACxC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AACtC,YAAA,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC;AACxF,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;QACtB;aAAO;YACL,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;AACzB,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AACvB,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5B;AACA,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;IACxB;IAEU,WAAW,CAAC,KAAa,EAAE,KAAiB,EAAA;QACpD,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAc;AACxC,QAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;AAC/C,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;IACxB;AAEU,IAAA,WAAW,CAAC,KAAa,EAAA;AACjC,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;QACtB,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK;IAC3D;AAEU,IAAA,cAAc,CAAC,KAAY,EAAA;AACnC,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B;QAC9C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5B;AAEU,IAAA,gBAAgB,CAAC,KAAiB,EAAA;QAC1C,KAAK,CAAC,eAAe,EAAE;IACzB;AAEU,IAAA,gBAAgB,CAAC,KAAoB,EAAA;AAC7C,QAAA,QAAQ,KAAK,CAAC,GAAG;AACf,YAAA,KAAK,WAAW;gBACd,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACrF;AACF,YAAA,KAAK,SAAS;gBACZ,KAAK,CAAC,cAAc,EAAE;gBACtB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpD;AACF,YAAA,KAAK,OAAO;gBACV,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE;AAC7B,oBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AACzD,oBAAA,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ;AAAE,wBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC;gBAC1D;gBACA;AACF,YAAA,KAAK,QAAQ;gBACX,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AACvB,gBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC1B;;IAEN;wGAvNW,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,UAAU,86DAsE6B,wBAAwB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EACzB,uBAAuB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9G1E,gqMA0LA,4+OD3JY,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;4FAQf,UAAU,EAAA,UAAA,EAAA,CAAA;kBAbtB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EAAA,UAAA,EACX,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B,CAAC,gBAAgB,CAAC,EAAA,IAAA,EAGrB;AACJ,wBAAA,SAAS,EAAE,eAAe;AAC1B,wBAAA,eAAe,EAAE,cAAc;AAChC,qBAAA,EAAA,QAAA,EAAA,gqMAAA,EAAA,MAAA,EAAA,CAAA,o7OAAA,CAAA,EAAA;AAwEiD,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,wBAAwB,gGACzB,uBAAuB,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,CAAA;sBAevE,YAAY;uBAAC,gBAAgB,EAAE,CAAC,eAAe,CAAC;;;MErGtC,QAAQ,CAAA;AACnB;;;;;;;;;;;;AAYG;AACM,IAAA,QAAQ,GAAG,KAAK,CAAc,MAAM,+EAAC;AAE9C;;;;;;;;;;;AAWG;AACM,IAAA,IAAI,GAAG,KAAK,CAAW,IAAI,2EAAC;AAErC;;;;;;;;;AASG;AACM,IAAA,MAAM,GAAG,KAAK,CAAa,SAAS,6EAAC;AAE7B,IAAA,iBAAiB,GAAG,QAAQ,CAAc,MAAK;AAC9D,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;AAC7B,QAAA,MAAM,UAAU,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE;QAEhE,QAAQ,UAAU;AAChB,YAAA,KAAK,IAAI;AACT,YAAA,KAAK,IAAI;AACT,YAAA,KAAK,IAAI;AACT,YAAA,KAAK,IAAI;AACT,YAAA,KAAK,IAAI;AACT,YAAA,KAAK,IAAI;AACT,YAAA,KAAK,MAAM;AACX,YAAA,KAAK,OAAO;AACZ,YAAA,KAAK,SAAS;AACd,YAAA,KAAK,MAAM;AACX,YAAA,KAAK,UAAU;AACf,YAAA,KAAK,YAAY;AACf,gBAAA,OAAO,UAAU;AACnB,YAAA;AACE,gBAAA,OAAO,MAAM;;AAEnB,IAAA,CAAC,wFAAC;AAEe,IAAA,cAAc,GAAG,QAAQ,CAAW,MAAK;AACxD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE;AACzB,QAAA,MAAM,UAAU,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE;QAEhE,QAAQ,UAAU;AAChB,YAAA,KAAK,IAAI;AACT,YAAA,KAAK,IAAI;AACT,YAAA,KAAK,IAAI;AACT,YAAA,KAAK,IAAI;AACP,gBAAA,OAAO,UAAU;AACnB,YAAA;AACE,gBAAA,OAAO,IAAI;;AAEjB,IAAA,CAAC,qFAAC;AAEe,IAAA,gBAAgB,GAAG,QAAQ,CAAa,MAAK;AAC5D,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;AAC3B,QAAA,MAAM,UAAU,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE;QAEhE,QAAQ,UAAU;AAChB,YAAA,KAAK,SAAS;AACd,YAAA,KAAK,QAAQ;AACb,YAAA,KAAK,UAAU;AACf,YAAA,KAAK,MAAM;AACT,gBAAA,OAAO,UAAU;AACnB,YAAA;AACE,gBAAA,OAAO,SAAS;;AAEtB,IAAA,CAAC,uFAAC;AAEiB,IAAA,OAAO,GAAG,QAAQ,CAAC,MACpC,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CACpE;AAEgB,IAAA,YAAY,GAAG,QAAQ,CAAC,MAAa;AACpD,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE;AAClC,QAAA,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,CAAA,KAAA,EAAQ,CAAC,CAAA,CAAE;QAC1C,IAAI,CAAC,KAAK,MAAM;AAAE,YAAA,OAAO,WAAW;QACpC,IAAI,CAAC,KAAK,UAAU;AAAE,YAAA,OAAO,gBAAgB;QAC7C,IAAI,CAAC,KAAK,YAAY;AAAE,YAAA,OAAO,kBAAkB;QACjD,IAAI,CAAC,KAAK,MAAM;AAAE,YAAA,OAAO,aAAa,IAAI,CAAC,WAAW,EAAE,EAAE;QAC1D,IAAI,CAAC,KAAK,OAAO;AAAE,YAAA,OAAO,cAAc,IAAI,CAAC,YAAY,EAAE,EAAE;AAC7D,QAAA,OAAO,gBAAgB,IAAI,CAAC,cAAc,EAAE,EAAE;AAChD,IAAA,CAAC,mFAAC;AAEe,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAa;AACnD,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,gBAAgB,EAAE;AACjC,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE;AAClC,QAAA,IACE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAClB,YAAA,CAAC,KAAK,MAAM;AACZ,YAAA,CAAC,KAAK,SAAS;AACf,YAAA,CAAC,KAAK,UAAU;AAChB,YAAA,CAAC,KAAK,YAAY;AAElB,YAAA,OAAO,EAAE;QACX,IAAI,CAAC,KAAK,SAAS;AAAE,YAAA,OAAO,EAAE;QAC9B,IAAI,CAAC,KAAK,OAAO;AAAE,YAAA,OAAO,CAAC,KAAK,UAAU,GAAG,CAAA,EAAG,IAAI,CAAC,YAAY,EAAE,CAAA,UAAA,CAAY,GAAG,EAAE;QACpF,OAAO,CAAA,EAAG,IAAI,CAAC,YAAY,EAAE,CAAA,EAAA,EAAK,CAAC,EAAE;AACvC,IAAA,CAAC,kFAAC;AAEe,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAyB;AAC/D,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE;QAC/B,IAAI,CAAC,KAAK,IAAI;AAAE,YAAA,OAAO,IAAI;QAC3B,IAAI,CAAC,KAAK,IAAI;AAAE,YAAA,OAAO,IAAI;AAC3B,QAAA,OAAO,IAAI;AACb,IAAA,CAAC,kFAAC;AAEe,IAAA,YAAY,GAAG,QAAQ,CAAC,MAAgC;AACvE,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE;QAC/B,IAAI,CAAC,KAAK,IAAI;AAAE,YAAA,OAAO,IAAI;QAC3B,IAAI,CAAC,KAAK,IAAI;AAAE,YAAA,OAAO,IAAI;QAC3B,IAAI,CAAC,KAAK,IAAI;AAAE,YAAA,OAAO,IAAI;AAC3B,QAAA,OAAO,IAAI;AACb,IAAA,CAAC,mFAAC;AAEe,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAkB;AAC3D,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE;QAC/B,OAAO,CAAC,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI;AACjC,IAAA,CAAC,qFAAC;wGAhJS,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAR,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,QAAQ,mfAHT,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;4FAGf,QAAQ,EAAA,UAAA,EAAA,CAAA;kBALpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE;AACjC,iBAAA;;;ACvBD;;AAEG;;ACFH;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@doku-com/tala",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.7",
|
|
4
4
|
"description": "DOKU's UI component library — a shared foundation of accessible, consistently-styled components built to accelerate product development across all DOKU surfaces.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"doku",
|
package/styles/_typography.scss
CHANGED
|
@@ -62,11 +62,12 @@ h6,
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
// ── Body Scale ────────────────────────────────────────────────────────────────
|
|
65
|
-
// Inter · Body Large / Default / Small
|
|
65
|
+
// Inter · Body Large / (Medium) Default / Small
|
|
66
66
|
// Default weight is Regular (400). Apply modifier classes for heavier weights.
|
|
67
67
|
|
|
68
|
+
body,
|
|
68
69
|
p,
|
|
69
|
-
.tala-body-
|
|
70
|
+
.tala-body-md {
|
|
70
71
|
font-family: var(--tala-ref-type-family-inter);
|
|
71
72
|
font-size: 16px;
|
|
72
73
|
line-height: 20px;
|
|
@@ -74,7 +75,7 @@ p,
|
|
|
74
75
|
margin: 0;
|
|
75
76
|
}
|
|
76
77
|
|
|
77
|
-
.tala-body-
|
|
78
|
+
.tala-body-lg {
|
|
78
79
|
font-family: var(--tala-ref-type-family-inter);
|
|
79
80
|
font-size: 18px;
|
|
80
81
|
line-height: 24px;
|
|
@@ -82,7 +83,7 @@ p,
|
|
|
82
83
|
margin: 0;
|
|
83
84
|
}
|
|
84
85
|
|
|
85
|
-
.tala-body-
|
|
86
|
+
.tala-body-sm {
|
|
86
87
|
font-family: var(--tala-ref-type-family-inter);
|
|
87
88
|
font-size: 14px;
|
|
88
89
|
line-height: 20px;
|
|
@@ -91,35 +92,35 @@ p,
|
|
|
91
92
|
}
|
|
92
93
|
|
|
93
94
|
// Weight modifiers — apply alongside any body class
|
|
94
|
-
.tala-body-
|
|
95
|
-
.tala-body-
|
|
96
|
-
.tala-body-
|
|
95
|
+
.tala-body-lg--medium,
|
|
96
|
+
.tala-body-md--medium,
|
|
97
|
+
.tala-body-sm--medium {
|
|
97
98
|
font-weight: 500;
|
|
98
99
|
}
|
|
99
100
|
|
|
100
|
-
.tala-body-
|
|
101
|
-
.tala-body-
|
|
102
|
-
.tala-body-
|
|
101
|
+
.tala-body-lg--semibold,
|
|
102
|
+
.tala-body-md--semibold,
|
|
103
|
+
.tala-body-sm--semibold {
|
|
103
104
|
font-weight: 600;
|
|
104
105
|
}
|
|
105
106
|
|
|
106
|
-
.tala-body-
|
|
107
|
-
.tala-body-
|
|
108
|
-
.tala-body-
|
|
107
|
+
.tala-body-lg--bold,
|
|
108
|
+
.tala-body-md--bold,
|
|
109
|
+
.tala-body-sm--bold {
|
|
109
110
|
font-weight: 700;
|
|
110
111
|
}
|
|
111
112
|
|
|
112
113
|
// ── Caption Scale ─────────────────────────────────────────────────────────────
|
|
113
114
|
// Inter Regular · supplementary and fine-print text
|
|
114
115
|
|
|
115
|
-
.tala-caption-
|
|
116
|
+
.tala-caption-lg {
|
|
116
117
|
font-family: var(--tala-ref-type-family-inter);
|
|
117
118
|
font-size: 12px;
|
|
118
119
|
line-height: 16px;
|
|
119
120
|
font-weight: 400;
|
|
120
121
|
}
|
|
121
122
|
|
|
122
|
-
.tala-caption-
|
|
123
|
+
.tala-caption-sm {
|
|
123
124
|
font-family: var(--tala-ref-type-family-inter);
|
|
124
125
|
font-size: 11px;
|
|
125
126
|
line-height: 14px;
|
|
@@ -130,28 +131,28 @@ p,
|
|
|
130
131
|
// Inter Medium · interactive and UI labeling
|
|
131
132
|
// Base weight is Medium (500). Use --semibold modifier for extra emphasis.
|
|
132
133
|
|
|
133
|
-
.tala-label-
|
|
134
|
+
.tala-label-lg {
|
|
134
135
|
font-family: var(--tala-ref-type-family-inter);
|
|
135
136
|
font-size: 14px;
|
|
136
137
|
line-height: 20px;
|
|
137
138
|
font-weight: 500;
|
|
138
139
|
}
|
|
139
140
|
|
|
140
|
-
.tala-label-
|
|
141
|
+
.tala-label-md {
|
|
141
142
|
font-family: var(--tala-ref-type-family-inter);
|
|
142
143
|
font-size: 13px;
|
|
143
144
|
line-height: 18px;
|
|
144
145
|
font-weight: 500;
|
|
145
146
|
}
|
|
146
147
|
|
|
147
|
-
.tala-label-
|
|
148
|
+
.tala-label-sm {
|
|
148
149
|
font-family: var(--tala-ref-type-family-inter);
|
|
149
150
|
font-size: 12px;
|
|
150
151
|
line-height: 16px;
|
|
151
152
|
font-weight: 500;
|
|
152
153
|
}
|
|
153
154
|
|
|
154
|
-
.tala-label-
|
|
155
|
+
.tala-label-xs {
|
|
155
156
|
font-family: var(--tala-ref-type-family-inter);
|
|
156
157
|
font-size: 11px;
|
|
157
158
|
line-height: 14px;
|
|
@@ -159,10 +160,10 @@ p,
|
|
|
159
160
|
}
|
|
160
161
|
|
|
161
162
|
// Weight modifier — semibold variant (e.g. emphasis tags, status badges)
|
|
162
|
-
.tala-label-
|
|
163
|
-
.tala-label-
|
|
164
|
-
.tala-label-
|
|
165
|
-
.tala-label-
|
|
163
|
+
.tala-label-lg--semibold,
|
|
164
|
+
.tala-label-md--semibold,
|
|
165
|
+
.tala-label-sm--semibold,
|
|
166
|
+
.tala-label-xs--semibold {
|
|
166
167
|
font-weight: 600;
|
|
167
168
|
}
|
|
168
169
|
|
|
@@ -176,3 +177,21 @@ code,
|
|
|
176
177
|
line-height: 20px;
|
|
177
178
|
font-weight: 400;
|
|
178
179
|
}
|
|
180
|
+
|
|
181
|
+
// ── Doc ──────────────────────────────────────────────────────────────────────
|
|
182
|
+
// Inter Regular · documentation and reference text
|
|
183
|
+
.tala-doc-title {
|
|
184
|
+
font-family: var(--tala-ref-type-family-inter);
|
|
185
|
+
font-size: 28px;
|
|
186
|
+
line-height: 32px;
|
|
187
|
+
font-weight: 700;
|
|
188
|
+
margin: 0;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.tala-doc-section {
|
|
192
|
+
font-family: var(--tala-ref-type-family-inter);
|
|
193
|
+
font-size: 11px;
|
|
194
|
+
line-height: 14px;
|
|
195
|
+
font-weight: 600;
|
|
196
|
+
margin: 0;
|
|
197
|
+
}
|
package/styles/index.scss
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
@forward 'reset';
|
|
3
3
|
@forward 'typography';
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
// ═══════════════════════════════════════════════
|
|
6
|
+
// LOADING FONTS
|
|
7
|
+
// DIN Next LT Pro — headings (H1–H6)
|
|
8
|
+
// Inter — body, caption, label, doc
|
|
9
|
+
// JetBrains Mono — code
|
|
10
|
+
// ═══════════════════════════════════════════════
|
|
11
11
|
|
|
12
12
|
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap');
|
|
13
13
|
|