@uni-design-system/uni-angular 3.0.1 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"uni-design-system-uni-angular.mjs","sources":["../../src/lib/cdk/datasource/base-datasource.ts","../../src/lib/cdk/datasource/record-datasource.ts","../../src/lib/cdk/datasource/server-side-datasource.ts","../../src/lib/cdk/helpers/memoize.helper.ts","../../src/lib/cdk/local-storage/local-storage.service.ts","../../src/lib/cdk/notification/notification.service.ts","../../src/lib/cdk/timer/timer.ts","../../src/lib/theming/theme.token.ts","../../src/lib/cdk/helpers/number.helper.ts","../../src/lib/theming/theme.service.ts","../../src/lib/components/base/base.component.ts","../../src/lib/components/badge/badge.component.ts","../../src/lib/components/icon/icon.component.ts","../../src/lib/components/layout/box/box.component.ts","../../src/lib/components/layout/center/center.component.ts","../../src/lib/components/layout/grid/grid-area/grid-area.component.ts","../../src/lib/components/layout/grid/grid.component.ts","../../src/lib/components/layout/row/row.component.ts","../../src/lib/components/layout/stack/stack.component.ts","../../src/lib/components/layout/wrap/wrap.component.ts","../../src/lib/components/symbol/symbol.component.ts","../../src/lib/directives/ripple/ripple.directive.ts","../../src/lib/components/button/button.component.ts","../../src/lib/components/card/card-content/card-content.component.ts","../../src/lib/components/card/card-content/card-content.component.html","../../src/lib/components/text/text.component.ts","../../src/lib/components/card/card.component.ts","../../src/lib/components/card/card.component.html","../../src/lib/components/card/card-header/card-header.component.ts","../../src/lib/components/card/card-header/card-header.component.html","../../src/lib/components/icon-button/icon-button.component.ts","../../src/lib/components/dialog/dialog.component.ts","../../src/lib/components/dialog/dialog-buttons/dialog-buttons.component.ts","../../src/lib/components/dialog/dialog-buttons/dialog-buttons.component.html","../../src/lib/components/dialog/dialog-header/dialog-header.component.ts","../../src/lib/components/dialog/dialog-header/dialog-header.component.html","../../src/lib/components/divider/divider.component.ts","../../src/lib/components/dropdown/dropdown.component.ts","../../src/lib/components/menu/menu-item/menu-item.component.ts","../../src/lib/components/menu/menu-item/menu-item.component.html","../../src/lib/components/menu/menu.component.ts","../../src/lib/components/notifications/alert/alert.component.ts","../../src/lib/components/notifications/alert/alert.component.html","../../src/lib/components/notifications/confirmation-dialog/confirmation-dialog.component.ts","../../src/lib/components/notifications/confirmation-dialog/confirmation-dialog.component.html","../../src/lib/components/notifications/snackbar/snackbar.component.ts","../../src/lib/components/notifications/snackbar/snackbar.component.html","../../src/lib/components/notifications/notifications/notifications.component.ts","../../src/lib/components/notifications/notifications/notifications.component.html","../../src/lib/components/tooltip/tooltip.component.ts","../../src/lib/components/index.ts","../../src/uni-design-system-uni-angular.ts"],"sourcesContent":["import { computed, signal, Signal, WritableSignal } from '@angular/core';\n\nexport type SortDirection = 'asc' | 'desc' | 'indet';\n\nexport interface Sort<T> {\n column?: keyof T;\n direction: SortDirection;\n}\n\nexport abstract class UniBaseDatasource<T> {\n abstract records: Signal<T[]>;\n abstract recordCount: Signal<number>;\n\n selections = signal<T[]>([]);\n\n sort: WritableSignal<Sort<T>> = signal({\n column: undefined,\n direction: 'indet',\n });\n\n sortColumn = computed(() => this.sort().column);\n sortDirection = computed(() => this.sort().direction);\n\n abstract pageIndex: Signal<number>;\n abstract pageSize: Signal<number>;\n abstract pageCount: Signal<number>;\n\n pages = computed(() => Array.from({ length: this.pageCount() }, (_, index) => index + 1));\n\n startIndex = computed(() => {\n const pageSize = this.pageSize();\n const pageIndex = this.pageIndex();\n return pageSize > 0 ? pageIndex * pageSize : 0;\n });\n\n endIndex = computed(() => {\n const pageSize = this.pageSize();\n const total = this.recordCount();\n\n // If unpaginated (pageSize = 0), return total count\n if (pageSize === 0) {\n return total;\n }\n\n const start = this.startIndex();\n return Math.min(start + pageSize, total);\n });\n\n disablePrevious = computed(() => {\n const pageSize = this.pageSize();\n return pageSize === 0 ? true : this.pageIndex() === 0;\n });\n\n disableNext = computed(() => {\n const pageSize = this.pageSize();\n return pageSize === 0 ? true : this.pageIndex() + 1 >= this.pageCount();\n });\n\n truncatedPages = computed(() => {\n const currentPage = this.pageIndex() + 1;\n const displayRange = 3;\n const totalPages = this.pageCount();\n\n const pages: (number | string)[] = [];\n const startPage = Math.max(1, currentPage - displayRange);\n const endPage = Math.min(totalPages, currentPage + displayRange);\n\n if (startPage > 1) {\n pages.push(1);\n if (startPage > 2) {\n pages.push('...');\n }\n }\n\n for (let i = startPage; i <= endPage; i++) {\n pages.push(i);\n }\n\n if (endPage < totalPages) {\n if (endPage < totalPages - 1) {\n pages.push('...');\n }\n pages.push(totalPages);\n }\n return pages;\n });\n\n isSelected(row: T): boolean {\n return this.selections().some((selection) => selection === row);\n }\n\n toggleSelection(row: T) {\n this.selections.update((selections) => {\n return selections.includes(row) ? selections.filter((i) => i !== row) : [...selections, row];\n });\n }\n\n clearSelections() {\n this.selections.set([]);\n }\n\n selectAll() {\n this.selections.set([...this.records()]);\n }\n\n abstract sortRecords(sort: Sort<T>): void;\n abstract firstPage(): void;\n abstract nextPage(): void;\n abstract previousPage(): void;\n abstract lastPage(): void;\n abstract jumpToPage(page: number): void;\n abstract setPageSize(size: number): void;\n}\n","import { computed, signal } from '@angular/core';\nimport { UniBaseDatasource, Sort } from './base-datasource';\n\nexport class UniRecordDatasource<T> extends UniBaseDatasource<T> {\n private _pageNumber = signal(1);\n private _pageSize = signal<number>(0); // 0 = unpaginated (show all)\n\n initialRecords = signal<T[]>([]);\n override recordCount = computed((): number => this.initialRecords().filter(this.filter()).length);\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n filter = signal<(value: T) => boolean>((value) => true);\n\n override pageIndex = signal<number>(0);\n override pageSize = computed(() => this._pageSize());\n\n override pageCount = computed(() => {\n const pageSize = this.pageSize();\n return pageSize > 0 ? Math.ceil(this.recordCount() / pageSize) : 1;\n });\n\n override records = computed(() => {\n const { column, direction } = this.sort();\n const filter = this.filter();\n const pageSize = this.pageSize();\n\n let filteredRecords = this.initialRecords().filter(filter);\n\n // Apply sorting if specified\n if (column && direction !== 'indet') {\n filteredRecords = [...filteredRecords].sort((a, b) => {\n const valueA = a[column];\n const valueB = b[column];\n\n const isString = typeof valueA === 'string';\n const isAsc = direction === 'asc';\n\n return isString\n ? stringCompare(valueA as string, valueB as string, isAsc)\n : numberCompare(valueA as number, valueB as number, isAsc);\n });\n }\n\n // Apply pagination only if pageSize > 0\n if (pageSize > 0) {\n return filteredRecords.slice(this.startIndex(), this.endIndex());\n }\n\n // Return all records (unpaginated)\n return filteredRecords;\n });\n\n constructor(data: T[]) {\n super();\n this.initialRecords.set(data);\n }\n\n override sortRecords(sort: Sort<T>) {\n this.sort.set(sort);\n }\n\n override firstPage() {\n this.pageIndex.set(0);\n }\n\n override nextPage() {\n if (this.pageIndex() < this.pageCount() - 1) {\n this.pageIndex.update((i) => i + 1);\n }\n }\n\n override previousPage() {\n this.pageIndex.update((i) => (i > 1 ? i - 1 : 0));\n }\n\n override lastPage() {\n this.pageIndex.set(this.pageCount() - 1);\n }\n\n override jumpToPage(page: number) {\n const i = page - 1;\n if (i >= 0 && i < this.pageCount()) {\n this.pageIndex.set(i);\n }\n }\n\n override setPageSize(size: number) {\n this._pageSize.set(size);\n if (size > 0) {\n this._pageNumber.set(1);\n this.pageIndex.set(0);\n }\n }\n\n setFilter(filter: (value: T) => boolean) {\n this.filter.set(filter);\n }\n\n clearFilter() {\n this.filter.set(() => true);\n }\n}\n\nfunction stringCompare(a = 'zzz', b = 'zzz', isAsc: boolean): number {\n a = a.toString();\n b = b.toString();\n\n return isAsc\n ? a.localeCompare(b, undefined, { sensitivity: 'base' })\n : b.localeCompare(a, undefined, { sensitivity: 'base' });\n}\n\nfunction numberCompare(a = 0, b = 0, isAsc: boolean): number {\n return isAsc ? a - b : b - a;\n}\n","import {\n computed,\n linkedSignal,\n resource,\n ResourceLoaderParams,\n ResourceRef,\n type ResourceStatus,\n signal,\n} from '@angular/core';\nimport { UniBaseDatasource, Sort, SortDirection } from './base-datasource';\n\nexport interface PageRequest {\n pageNumber: number;\n pageSize: number;\n sortColumn?: string;\n sortDirection?: SortDirection;\n filter?: Record<string, any>;\n}\n\nexport interface PageResponse<T> {\n data: T[];\n totalRecords: number;\n pageNumber: number;\n pageSize: number;\n}\n\nexport type DataLoader<T> = (request: PageRequest) => Promise<PageResponse<T>>;\n\nexport class UniServerSideDatasource<T> extends UniBaseDatasource<T> {\n private _pageNumber = signal(1);\n private _pageSize = signal(10);\n private _sortColumn = signal<keyof T | undefined>(undefined);\n private _sortDirection = signal<SortDirection>('indet');\n private filter = signal<Record<string, any>>({});\n\n override sortColumn = computed(() => this._sortColumn());\n override sortDirection = computed(() => this._sortDirection());\n\n private totalRecords = signal(0);\n\n private dataResource: ResourceRef<PageResponse<T> | undefined>;\n\n override pageIndex = computed(() => this._pageNumber() - 1);\n override pageSize = computed(() => this._pageSize());\n\n override pageCount = computed(() => {\n const total = this.totalRecords();\n const size = this.pageSize();\n return total > 0 ? Math.ceil(total / size) : 0;\n });\n\n private readonly _records = linkedSignal<\n {\n val: PageResponse<T> | undefined;\n status: ResourceStatus;\n },\n T[]\n >({\n source: () => ({\n val: this.dataResource.value(),\n status: this.dataResource.status(),\n }),\n computation: (source, previous) => {\n if (source.status === 'loading' && previous) {\n return previous.value;\n }\n return source.val?.data ?? [];\n },\n });\n\n override records = this._records.asReadonly();\n\n override recordCount = computed(() => this.totalRecords());\n\n isLoading = computed(() => this.dataResource.isLoading());\n\n error = computed(() => this.dataResource.error());\n\n hasError = computed(() => this.dataResource.hasValue() === false && this.error() !== undefined);\n\n constructor(\n private dataLoader: DataLoader<T>,\n initialPageSize = 10\n ) {\n super();\n this._pageSize.set(initialPageSize);\n\n this.dataResource = resource({\n params: () => ({\n pageNumber: this._pageNumber(),\n pageSize: this._pageSize(),\n sortColumn: this._sortColumn() as string | undefined,\n sortDirection: this._sortDirection(),\n filter: this.filter(),\n }),\n loader: async (params: ResourceLoaderParams<PageRequest>) => {\n const request = params.params;\n const response = await this.dataLoader(request);\n\n if (request.pageNumber === 1 || this.totalRecords() === 0) {\n this.totalRecords.set(response.totalRecords);\n }\n\n return response;\n },\n });\n }\n\n override sortRecords(sort: Sort<T>) {\n this.sort.set(sort);\n this._sortColumn.set(sort.column);\n this._sortDirection.set(sort.direction);\n this._pageNumber.set(1);\n }\n\n override firstPage() {\n this._pageNumber.set(1);\n }\n\n override nextPage() {\n if (this._pageNumber() < this.pageCount()) {\n this._pageNumber.update((n) => n + 1);\n }\n }\n\n override previousPage() {\n if (this._pageNumber() > 1) {\n this._pageNumber.update((n) => n - 1);\n }\n }\n\n override lastPage() {\n this._pageNumber.set(this.pageCount());\n }\n\n override jumpToPage(page: number) {\n if (page >= 1 && page <= this.pageCount()) {\n this._pageNumber.set(page);\n }\n }\n\n override setPageSize(size: number) {\n if (size > 0) {\n this._pageSize.set(size);\n this._pageNumber.set(1);\n }\n }\n\n setFilter(filterValues: Record<string, any>) {\n this.filter.set(filterValues);\n this._pageNumber.set(1);\n }\n\n clearFilter() {\n this.filter.set({});\n this._pageNumber.set(1);\n }\n\n refresh() {\n this.dataResource.reload();\n }\n\n getPageRequest(): PageRequest {\n return {\n pageNumber: this._pageNumber(),\n pageSize: this._pageSize(),\n sortColumn: this._sortColumn() as string | undefined,\n sortDirection: this._sortDirection(),\n filter: this.filter(),\n };\n }\n}\n","export function memoize<T extends (...args: any[]) => any>(fn: T): T {\n const cache = new Map<string, ReturnType<T>>();\n\n return ((...args: Parameters<T>): ReturnType<T> => {\n const key = JSON.stringify(args);\n\n if (cache.has(key)) {\n return cache.get(key)!;\n }\n\n const result = fn(...args);\n cache.set(key, result);\n return result;\n }) as T;\n}\n","import { Injectable } from '@angular/core';\nimport { memoize } from '../helpers/memoize.helper';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LocalStorageService {\n private isLocalStorageAvailable = memoize((): boolean => {\n try {\n const test = '__localStorage_test__';\n localStorage.setItem(test, test);\n localStorage.removeItem(test);\n return true;\n } catch {\n return false;\n }\n });\n\n setItem<T>(key: string, value: T): boolean {\n if (!this.isLocalStorageAvailable()) {\n console.warn('LocalStorage is not available');\n return false;\n }\n\n try {\n const stringValue = typeof value === 'string' ? value : JSON.stringify(value);\n localStorage.setItem(key, stringValue);\n return true;\n } catch (error) {\n console.error('Error saving to localStorage:', error);\n return false;\n }\n }\n\n getItem<T>(key: string): T | null {\n if (!this.isLocalStorageAvailable()) {\n return null;\n }\n\n try {\n const item = localStorage.getItem(key);\n if (item === null) {\n return null;\n }\n\n try {\n return JSON.parse(item) as T;\n } catch {\n return item as T;\n }\n } catch (error) {\n console.error('Error reading from localStorage:', error);\n return null;\n }\n }\n\n removeItem(key: string): boolean {\n if (!this.isLocalStorageAvailable()) {\n return false;\n }\n\n try {\n localStorage.removeItem(key);\n return true;\n } catch (error) {\n console.error('Error removing from localStorage:', error);\n return false;\n }\n }\n\n clear(): boolean {\n if (!this.isLocalStorageAvailable()) {\n return false;\n }\n\n try {\n localStorage.clear();\n return true;\n } catch (error) {\n console.error('Error clearing localStorage:', error);\n return false;\n }\n }\n\n hasKey(key: string): boolean {\n if (!this.isLocalStorageAvailable()) {\n return false;\n }\n\n return localStorage.getItem(key) !== null;\n }\n\n getAllKeys(): string[] {\n if (!this.isLocalStorageAvailable()) {\n return [];\n }\n\n try {\n return Object.keys(localStorage);\n } catch (error) {\n console.error('Error getting localStorage keys:', error);\n return [];\n }\n }\n\n getSize(): number {\n if (!this.isLocalStorageAvailable()) {\n return 0;\n }\n\n try {\n let total = 0;\n for (const key in localStorage) {\n if (Object.prototype.hasOwnProperty.call(localStorage, key)) {\n total += localStorage[key].length + key.length;\n }\n }\n return total;\n } catch (error) {\n console.error('Error calculating localStorage size:', error);\n return 0;\n }\n }\n}\n","import { Injectable, signal } from '@angular/core';\nimport { Alert, Confirmation, Snackbar } from './notification.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NotificationService {\n /* Alert */\n alert = signal<Alert | undefined>(undefined);\n showAlert = (alert: Alert) => this.alert.set(alert);\n hideAlert = () => this.alert.set(undefined);\n\n /* Snackbar */\n snackbar = signal<Snackbar | undefined>(undefined);\n showSnackbar = (snackbar: Snackbar) => this.snackbar.set(snackbar);\n hideSnackbar = () => this.snackbar.set(undefined);\n\n /* Confirmation */\n confirmation = signal<Confirmation | undefined>(undefined);\n showConfirmation = (confirmation: Confirmation) => this.confirmation.set(confirmation);\n hideConfirmation = () => this.confirmation.set(undefined);\n}\n","import { computed, DestroyRef, inject, signal } from '@angular/core';\n\nexport function useTimer() {\n const destroyRef = inject(DestroyRef);\n\n const msRemaining = signal<number>(0);\n const isPaused = signal<boolean>(false);\n const isActive = computed(() => msRemaining() > 0);\n\n let intervalId: any = null;\n let endTime = 0;\n let onCompleteCallback: (() => void) | undefined;\n\n const stop = () => {\n if (intervalId) clearInterval(intervalId);\n intervalId = null;\n };\n\n const tick = () => {\n const remaining = Math.max(0, endTime - Date.now());\n msRemaining.set(remaining);\n\n if (remaining <= 0) {\n stop();\n if (onCompleteCallback) onCompleteCallback();\n }\n };\n\n const start = (durationMs: number, onComplete?: () => void) => {\n stop();\n onCompleteCallback = onComplete;\n isPaused.set(false);\n msRemaining.set(durationMs);\n endTime = Date.now() + durationMs;\n intervalId = setInterval(tick, 100);\n };\n\n const pause = () => {\n if (!isActive() || isPaused()) return;\n stop();\n isPaused.set(true);\n };\n\n const resume = () => {\n if (!isActive() || !isPaused()) return;\n isPaused.set(false);\n endTime = Date.now() + msRemaining();\n intervalId = setInterval(tick, 100);\n };\n\n destroyRef.onDestroy(() => stop());\n\n return {\n start,\n pause,\n resume,\n stop: () => {\n stop();\n msRemaining.set(0);\n },\n msRemaining,\n isPaused,\n isActive,\n secondsRemaining: computed(() => Math.ceil(msRemaining() / 1000)),\n };\n}\n","import { InjectionToken } from '@angular/core';\nimport { type UniTheme, UniThemes } from '@uni-design-system/uni-core';\n\nexport const UNI_THEMES = new InjectionToken<Record<string, UniTheme>>('', {\n providedIn: 'root',\n factory: () => UniThemes,\n});\n","export const safeParseInt = (n: string | number) => (typeof n === 'number' ? n : parseInt(n));\n","// noinspection JSUnusedGlobalSymbols\n\nimport { computed, inject, Injectable, linkedSignal, Signal, signal } from '@angular/core';\nimport { css } from '@emotion/css';\nimport { LocalStorageService, Options } from '../cdk';\nimport {\n LightTheme,\n type NullableSize,\n type ThemeName,\n type Typeface,\n type UniTheme,\n Z_INDEX,\n type ZIndexableElements,\n ColorToken,\n ComponentName,\n ComponentTheme,\n ContainerColorToken,\n ContentColorToken,\n NullableStyleExpression,\n OptionalSize,\n Size,\n TextRole,\n Thickness,\n Variant,\n type ColorKey,\n type Radius,\n type Border,\n type Shadow,\n} from '@uni-design-system/uni-core';\n\nimport { UNI_THEMES } from './theme.token';\nimport { safeParseInt } from '../cdk/helpers/number.helper';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ThemeService {\n private themes = inject(UNI_THEMES);\n private localStorage = inject(LocalStorageService);\n\n theme = signal<UniTheme>(LightTheme);\n themeOptions = signal<Options<ThemeName>>([]);\n\n components = computed(() => this.theme().components);\n component = <T>(componentName: ComponentName): Signal<ComponentTheme<T>> =>\n computed(() => (this.components()[componentName] as ComponentTheme<T>) || {});\n colors = computed(() => this.theme().colors);\n typeFaces = computed(() => this.theme().typefaces);\n spacing = computed(() => this.theme().spacing);\n thicknesses = computed(() => this.theme().thicknesses);\n radii = computed(() => this.theme().radii);\n borders = computed(() => this.theme().borders);\n shadows = computed(() => this.theme().shadows);\n icons = computed(() => this.theme().icons);\n\n constructor() {\n this.themeOptions.set(\n Object.keys(this.themes).map((key) => {\n return { label: this.themes[key].name, value: key };\n })\n );\n\n this.selectTheme(this.localStorage.getItem('theme') || Object.keys(this.themes)[0] || 'base');\n }\n\n public selectTheme(themeName: ThemeName): void {\n this.selectedThemeKey.set(themeName);\n if (this.themes[themeName]) this.theme.set(this.themes[themeName]);\n this.localStorage.setItem('theme', themeName);\n }\n\n public selectedThemeName = computed(() => this.theme().name);\n public selectedThemeKey = signal<string>('');\n\n textClass = (textRole: TextRole, textColor?: ContentColorToken) => {\n return css([\n {\n ...this.typeFaces()[textRole],\n },\n textColor && {\n color: this.colors()[textColor],\n },\n ]);\n };\n\n componentStyle = (componentName: ComponentName, variant: Variant, size: Size) =>\n computed(() => {\n const component = this.component(componentName)();\n const { fixed, colors, sizes } = component;\n const colorStyle = colors && colors[variant];\n const sizeStyle = sizes && sizes[size];\n return { ...fixed, ...colorStyle, ...sizeStyle };\n });\n\n getSpacing = (size: NullableSize) => {\n return size === 'none' ? 'none' : this.spacing()[size];\n };\n\n getThickness = (thickness: Thickness) => this.theme().thicknesses[thickness];\n\n getContentColor = (token: ContainerColorToken, useVariant?: boolean) =>\n useVariant\n ? this.colors()[`on-${token}-variant` as ColorToken]\n : this.colors()[`on-${token}` as ColorToken];\n\n colorPair = (token?: ContainerColorToken, colorVariant?: boolean): NullableStyleExpression => {\n if (!token) return;\n const backgroundColor = this.colors()[token];\n const color = this.getContentColor(token, colorVariant);\n return { color, backgroundColor };\n };\n\n backgroundColor = (token?: ColorKey): NullableStyleExpression => {\n return !token ? undefined : { backgroundColor: this.colors()[token] };\n };\n\n backgroundImage = (url?: string): NullableStyleExpression => {\n return !url ? undefined : { backgroundImage: `url(${url})` };\n };\n\n getContainerColors = (color: Variant, useVariant?: boolean) => {\n const token = (color + '-container') as ContainerColorToken;\n return this.colorPair(token, useVariant);\n };\n\n typeface = (typeface?: Typeface) => {\n const typefaces = this.typeFaces();\n console.log('typefaces:', typefaces);\n return typeface && typefaces[typeface];\n };\n\n colorPalette = () => this.colors();\n\n color(color?: ColorKey): NullableStyleExpression {\n return !color ? undefined : { color: this.colors()[color] };\n }\n\n getDashedBorder(\n color: ColorKey | undefined,\n radius: Radius | undefined\n ): NullableStyleExpression {\n if (!color) return;\n\n const r = radius && this.radii()[radius];\n const borderRadius = r ? safeParseInt(r) : 0;\n const colors = this.colors()[color];\n const strokeColor = colors?.replace('#', '%23');\n\n return {\n backgroundImage: `url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='${borderRadius}' ry='${borderRadius}' stroke='${strokeColor}' stroke-width='4' stroke-dasharray='6%2c 14' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e\")`,\n borderRadius,\n };\n }\n\n radius(size: Radius | undefined): NullableStyleExpression {\n return !size ? undefined : { borderRadius: this.radii()[size] };\n }\n\n getRadiusLeft(size: Radius | undefined): NullableStyleExpression {\n if (!size) return;\n return {\n borderBottomLeftRadius: this.radii()[size],\n borderTopLeftRadius: this.radii()[size],\n };\n }\n\n getRadiusRight(size: Radius | undefined): NullableStyleExpression {\n if (!size) return;\n return {\n borderBottomRightRadius: this.radii()[size],\n borderTopRightRadius: this.radii()[size],\n };\n }\n\n getRadiusTop(size: Radius | undefined): NullableStyleExpression {\n if (!size) return;\n return {\n borderTopLeftRadius: this.radii()[size],\n borderTopRightRadius: this.radii()[size],\n };\n }\n\n getRadiusBottom(size: Radius | undefined): NullableStyleExpression {\n if (!size) return;\n return {\n borderBottomLeftRadius: this.radii()[size],\n borderBottomRightRadius: this.radii()[size],\n };\n }\n\n padding(size: OptionalSize): NullableStyleExpression {\n return !size ? undefined : { padding: this.spacing()[size] };\n }\n\n horizontalPadding(size: OptionalSize): NullableStyleExpression {\n return !size ? undefined : { paddingInline: this.spacing()[size] };\n }\n\n verticalPadding(size: OptionalSize): NullableStyleExpression {\n return !size ? undefined : { paddingBlock: this.spacing()[size] };\n }\n\n paddingLeft(size: OptionalSize): NullableStyleExpression {\n return !size ? undefined : { paddingLeft: this.spacing()[size] };\n }\n\n paddingRight(size: OptionalSize): NullableStyleExpression {\n return !size ? undefined : { paddingRight: this.spacing()[size] };\n }\n\n paddingTop(size: OptionalSize): NullableStyleExpression {\n return !size ? undefined : { paddingTop: this.spacing()[size] };\n }\n\n paddingBottom(size: OptionalSize): NullableStyleExpression {\n return !size ? undefined : { paddingBottom: this.spacing()[size] };\n }\n\n border(border: Border | undefined): NullableStyleExpression {\n return !border ? undefined : { border: this.borders()[border] };\n }\n\n borderTop(border: Border | undefined): NullableStyleExpression {\n return !border ? undefined : { borderTop: this.borders()[border] };\n }\n\n borderBottom(border: Border | undefined): NullableStyleExpression {\n return !border ? undefined : { borderBottom: this.borders()[border] };\n }\n\n borderLeft(border: Border | undefined): NullableStyleExpression {\n return !border ? undefined : { borderLeft: this.borders()[border] };\n }\n\n borderRight(border: Border | undefined): NullableStyleExpression {\n return !border ? undefined : { borderRight: this.borders()[border] };\n }\n\n boxShadow(shadow: Shadow | undefined) {\n return !shadow ? undefined : { boxShadow: this.shadows()[shadow] };\n }\n\n gap(gap: OptionalSize): NullableStyleExpression {\n return !gap || gap === 'none' ? undefined : { gap: this.spacing()[gap] };\n }\n\n zIndex(element: ZIndexableElements | undefined): NullableStyleExpression {\n return !element ? undefined : { zIndex: Z_INDEX[element] };\n }\n\n borderColor(borderColor: ColorToken): NullableStyleExpression {\n return { borderColor: this.colors()[borderColor] };\n }\n\n getComponentTheme<T>(componentName: ComponentName) {\n return this.component<T>(componentName);\n }\n\n // Used to get an \"always-defined\" options object from a component theme.\n getComponentOptions = <T>(componentName: ComponentName) =>\n linkedSignal({\n source: this.getComponentTheme<T>(componentName),\n computation: () => {\n return this.getComponentTheme<T>(componentName)().options || ({} as T);\n },\n });\n\n componentOptions = (componentName: ComponentName) =>\n computed(() => this.component(componentName)().options || {});\n\n style(prop: string, value: string | number | undefined): NullableStyleExpression {\n return !value ? undefined : { [prop]: value };\n }\n}\n","import { Component, computed, inject, InjectionToken, input } from '@angular/core';\nimport type { ComponentName, Size, Variant } from '@uni-design-system/uni-core';\nimport { ThemeService } from '../../theming/theme.service';\n\nexport const COMPONENT_NAME = new InjectionToken<ComponentName>('');\n\n@Component({\n standalone: true,\n imports: [],\n template: ``,\n})\nexport class BaseComponent<T = unknown> {\n protected componentName = inject(COMPONENT_NAME);\n theme = inject(ThemeService);\n\n variant = input<Variant>('primary'); // TODO: Make Variant support undefined\n size = input<Size>('lg');\n\n componentTheme = computed(() => this.theme.getComponentTheme<T>(this.componentName)());\n\n componentOptions = computed(() => this.theme.getComponentOptions<T>(this.componentName)());\n\n style = computed(() =>\n this.theme.componentStyle(this.componentName, this.variant(), this.size())()\n );\n}\n","import { Component, HostBinding, input, Input } from '@angular/core';\nimport { css } from '@emotion/css';\n\nimport { BaseComponent } from '../base';\nimport { COMPONENT_NAME } from '../base/base.component';\nimport type { UniBadgeOptions } from './badge.model';\nimport type { Variant } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'div[uni-badge], Badge',\n standalone: true,\n imports: [],\n template: `<ng-content></ng-content>`,\n providers: [{ provide: COMPONENT_NAME, useValue: 'badge' }],\n})\nexport class UniBadgeComponent extends BaseComponent<UniBadgeOptions> {\n color = input<Variant | undefined>(undefined);\n useVariant = input<boolean>(false);\n\n @Input() width?: number;\n\n @HostBinding('class') get className() {\n const color = this.color();\n\n return css([\n {\n ...this.theme.getContainerColors(color || 'primary', this.useVariant()),\n ...this.theme.typeface('badge'),\n display: 'inline-block',\n padding: '0 16px',\n ...this.theme.radius(this.componentOptions().borderRadius),\n textAlign: 'center',\n letterSpacing: 1,\n },\n this.width && {\n minWidth: this.width - 32,\n },\n ]);\n }\n}\n","import { Component, HostBinding, inject, input, Input } from '@angular/core';\nimport { css } from '@emotion/css';\n\nimport { ThemeService } from '../../theming/theme.service';\nimport type { ColorToken, Icons } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'uni-icon, Icon',\n standalone: true,\n imports: [],\n template: '',\n styleUrls: ['./icon.component.scss'],\n})\nexport class UniIconComponent {\n private themeService = inject(ThemeService);\n\n color = input<ColorToken>();\n\n @HostBinding('style.-webkit-mask-image')\n protected _path!: string;\n\n @HostBinding('class') get className() {\n return css([{ ...this.themeService.color(this.color()) }]);\n }\n\n @Input()\n public set name(iconName: keyof Icons) {\n const theme = this.themeService.theme();\n this._path = `url(\"${theme.icons[iconName]}\")`;\n }\n}\n","import { Component, HostBinding, inject, input } from '@angular/core';\nimport { css } from '@emotion/css';\n\nimport type {\n ContainerColorToken,\n OptionalAlignContent,\n OptionalAlignItems,\n OptionalAlignSelf,\n OptionalBorder,\n OptionalColor,\n OptionalDisplay,\n OptionalFlexDirection,\n OptionalJustifyContent,\n OptionalOverflow,\n OptionalPosition,\n OptionalRadius,\n OptionalSize,\n OptionalTextAlign,\n OptionalWrap,\n Shadow,\n Variant,\n ZIndexableElements,\n} from '@uni-design-system/uni-core';\n\nimport { ThemeService } from '../../../theming/theme.service';\n\n@Component({\n selector: 'div[uni-box-layout], Box, div[box-layout]',\n standalone: true,\n imports: [],\n template: `<ng-content></ng-content>`,\n})\nexport class UniBoxComponent {\n theme = inject(ThemeService);\n\n color = input<ContainerColorToken>();\n backgroundColor = input<OptionalColor>();\n borderRadius = input<OptionalRadius>();\n borderRadiusLeft = input<OptionalRadius>();\n borderRadiusRight = input<OptionalRadius>();\n borderRadiusTop = input<OptionalRadius>();\n borderRadiusBottom = input<OptionalRadius>();\n padding = input<OptionalSize>();\n paddingHorizontal = input<OptionalSize>();\n paddingVertical = input<OptionalSize>();\n paddingLeft = input<OptionalSize>();\n paddingRight = input<OptionalSize>();\n paddingTop = input<OptionalSize>();\n paddingBottom = input<OptionalSize>();\n border = input<OptionalBorder>();\n borderTop = input<OptionalBorder>();\n borderBottom = input<OptionalBorder>();\n borderLeft = input<OptionalBorder>();\n borderRight = input<OptionalBorder>();\n dashBorder = input<boolean>(false);\n alignSelf = input<OptionalAlignSelf>();\n alignItems = input<OptionalAlignItems>();\n alignContent = input<OptionalAlignContent>();\n justifyContent = input<OptionalJustifyContent>();\n grow = input<number>();\n display = input<OptionalDisplay>();\n position = input<OptionalPosition>();\n inset = input<number | string>();\n height = input<number | string>();\n minHeight = input<number | string>();\n maxHeight = input<number | string>();\n width = input<number | string>();\n minWidth = input<number | string>();\n maxWidth = input<number | string>();\n ignoreDir = input(true);\n gridArea = input<string>();\n gridColumn = input<string>();\n gridRow = input<string>();\n overflow = input<OptionalOverflow>();\n elevation = input<Shadow>(); // Deprecated, use shadow instead\n shadow = input<Shadow>();\n gap = input<OptionalSize>();\n fullWidth = input<boolean>();\n fullHeight = input<boolean>();\n flexDirection = input<OptionalFlexDirection>();\n textAlign = input<OptionalTextAlign>();\n wrapItems = input<OptionalWrap>(undefined);\n zIndex = input<ZIndexableElements>();\n\n @HostBinding('class') get boxClassName() {\n return css([\n {\n ...this.theme.colorPair(this.color()),\n ...this.theme.backgroundColor(this.backgroundColor()),\n display: this.alignSelf() ? 'flex' : 'block',\n position: this.position(),\n inset: this.inset(),\n boxSizing: 'border-box',\n height: this.height(),\n minHeight: this.minHeight(),\n maxHeight: this.maxHeight(),\n width: this.width(),\n minWidth: this.minWidth(),\n maxWidth: this.maxWidth(),\n flexWrap: this.wrapItems(),\n overflow: this.overflow(),\n ...this.theme.padding(this.padding()),\n ...this.theme.horizontalPadding(this.paddingHorizontal()),\n ...this.theme.verticalPadding(this.paddingVertical()),\n ...this.theme.paddingLeft(this.paddingLeft()),\n ...this.theme.paddingRight(this.paddingRight()),\n ...this.theme.paddingTop(this.paddingTop()),\n ...this.theme.paddingBottom(this.paddingBottom()),\n ...this.theme.boxShadow(this.elevation()),\n ...this.theme.boxShadow(this.shadow()),\n ...this.theme.radius(this.borderRadius()),\n ...this.theme.getRadiusLeft(this.borderRadiusLeft()),\n ...this.theme.getRadiusRight(this.borderRadiusRight()),\n ...this.theme.getRadiusTop(this.borderRadiusTop()),\n ...this.theme.getRadiusBottom(this.borderRadiusBottom()),\n ...this.theme.borderTop(this.borderTop()),\n ...this.theme.borderBottom(this.borderBottom()),\n ...this.theme.borderLeft(this.borderLeft()),\n ...this.theme.borderRight(this.borderRight()),\n ...this.theme.gap(this.gap()),\n ...this.theme.style('display', this.display()),\n ...this.theme.style('alignSelf', this.alignSelf()),\n ...this.theme.style('alignItems', this.alignItems()),\n ...this.theme.style('justifyContent', this.justifyContent()),\n ...this.theme.style('alignContent', this.alignContent()),\n ...this.theme.style('flexGrow', this.grow()),\n ...this.theme.style('flexDirection', this.flexDirection()),\n ...this.theme.style('gridArea', this.gridArea()),\n ...this.theme.style('gridColumn', this.gridColumn()),\n ...this.theme.style('gridRow', this.gridRow()),\n ...this.theme.style('textAlign', this.textAlign()),\n ...this.theme.zIndex(this.zIndex()),\n },\n this.border() &&\n !this.dashBorder() && {\n ...this.theme.border(this.border()),\n },\n this.border() &&\n this.dashBorder() && {\n ...this.theme.getDashedBorder(this.border() as Variant, this.borderRadius()),\n },\n\n this.fullWidth() && {\n width: '100%',\n },\n this.fullHeight() && {\n height: '100%',\n },\n\n this.ignoreDir() &&\n (this.flexDirection() ?? 'row') === 'row' && {\n '&:dir(rtl)': {\n flexDirection: 'row-reverse',\n },\n },\n this.ignoreDir() &&\n (this.flexDirection() ?? 'row') === 'row-reverse' && {\n '&:dir(rtl)': {\n flexDirection: 'row',\n },\n },\n ]);\n }\n}\n","import { Component, input } from '@angular/core';\nimport { UniBoxComponent } from '../box/box.component';\nimport type {\n OptionalAlignItems,\n OptionalDisplay,\n OptionalJustifyContent,\n} from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'div[uni-center-layout], div[center-layout]',\n standalone: true,\n imports: [],\n template: `<ng-content></ng-content>`,\n})\nexport class UniCenterComponent extends UniBoxComponent {\n override display = input<OptionalDisplay>('flex');\n override justifyContent = input<OptionalJustifyContent>('center');\n override alignItems = input<OptionalAlignItems>('center');\n\n constructor() {\n super();\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { css } from '@emotion/css';\n\n@Component({\n selector: 'GridArea',\n standalone: true,\n imports: [],\n template: `<ng-content></ng-content>`,\n})\nexport class UniGridAreaComponent {\n @Input() area!: string;\n\n @HostBinding('class') get className() {\n return css([{ gridArea: this.area }]);\n }\n}\n","import { Component, HostBinding, input, Input } from '@angular/core';\nimport { css } from '@emotion/css';\n\nimport { UniBoxComponent } from '../box/box.component';\nimport type { OptionalDisplay, Thickness, Variant } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'div[uni-grid-layout], Grid, div[grid-layout]',\n standalone: true,\n imports: [],\n template: `<ng-content></ng-content>`,\n})\nexport class UniGridComponent extends UniBoxComponent {\n override display = input<OptionalDisplay>('grid');\n\n constructor() {\n super();\n }\n\n @Input() templateAreas?: string;\n @Input() templateColumns?: string;\n @Input() templateRows?: string;\n @Input() outline?: Thickness;\n @Input() outlineColor?: Variant;\n\n @HostBinding('class')\n get className() {\n return css([\n this.templateAreas && {\n gridTemplateAreas: this.templateAreas,\n },\n this.templateColumns && {\n gridTemplateColumns: this.templateColumns,\n },\n this.templateRows && {\n gridTemplateRows: this.templateRows,\n },\n this.outline && {\n gap: this.theme.getThickness(this.outline),\n },\n this.outlineColor && {\n backgroundColor: this.theme.colorPalette()[this.outlineColor],\n },\n ]);\n }\n}\n","import { Component, input } from '@angular/core';\nimport { UniBoxComponent } from '../box/box.component';\nimport type { OptionalDisplay, OptionalFlexDirection } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'div[uni-row-layout], Row, div[row-layout]',\n standalone: true,\n template: `<ng-content></ng-content>`,\n})\nexport class UniRowComponent extends UniBoxComponent {\n override display = input<OptionalDisplay>('flex');\n override flexDirection = input<OptionalFlexDirection>('row');\n override minWidth = input<number | string | undefined>('fit-content');\n\n constructor() {\n super();\n }\n}\n","import { Component, input } from '@angular/core';\nimport { UniBoxComponent } from '../box/box.component';\nimport type { OptionalDisplay, OptionalFlexDirection } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'div[uni-stack-layout], Stack, div[stack-layout]',\n standalone: true,\n template: `<ng-content></ng-content>`,\n})\nexport class UniStackComponent extends UniBoxComponent {\n override display = input<OptionalDisplay>('flex');\n override flexDirection = input<OptionalFlexDirection>('column');\n override minHeight = input<number | string | undefined>('fit-content');\n\n constructor() {\n super();\n }\n}\n","import { Component, input } from '@angular/core';\n\nimport { UniBoxComponent } from '../box/box.component';\nimport type { OptionalDisplay, OptionalWrap } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'div[uni-wrap-layout], Wrap, div[wrap-layout]',\n imports: [],\n template: `<ng-content></ng-content>`,\n})\nexport class UniWrapComponent extends UniBoxComponent {\n override display = input<OptionalDisplay>('flex');\n override wrapItems = input<OptionalWrap>('wrap');\n\n constructor() {\n super();\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { css } from '@emotion/css';\n\n@Component({\n selector: 'uni-symbol, Symbol',\n standalone: true,\n imports: [],\n template: `{{ name }}`,\n})\nexport class UniSymbolComponent {\n @Input() name!: string;\n\n @Input() fill: 1 | 0 = 0;\n @Input() weight: 100 | 200 | 300 | 400 | 500 | 600 | 700 = 400;\n @Input() grade: -25 | 0 | 200 = 0;\n @Input() opticalSize = 24;\n\n @HostBinding('class') get className() {\n const settings = `'FILL' ${this.fill}, 'wght' ${this.weight}, 'GRAD' ${this.grade}, 'opsz' ${this.opticalSize}`;\n\n return (\n 'material-symbols-rounded ' +\n css({\n fontVariationSettings: settings,\n fontSize: `${this.opticalSize}px`,\n })\n );\n }\n}\n","// https://css-tricks.com/how-to-recreate-the-ripple-effect-of-material-design-buttons/\nimport { Directive, ElementRef, HostListener, inject, Renderer2 } from '@angular/core';\nimport { css } from '@emotion/css';\n\n@Directive({\n selector: '[uniRipple]',\n standalone: true,\n})\nexport class RippleDirective {\n private renderer = inject(Renderer2);\n el = inject(ElementRef);\n\n hostEl;\n\n constructor() {\n this.hostEl = this.el.nativeElement;\n }\n\n @HostListener('click', ['$event']) onClick(e: MouseEvent) {\n if (!e) return;\n let ripple, d;\n if (this.hostEl.querySelector(`.${this.rippleClass}`) === null) {\n ripple = this.renderer.createElement('span');\n this.renderer.addClass(ripple, this.rippleClass);\n this.renderer.appendChild(this.hostEl, ripple);\n }\n\n ripple = this.hostEl.querySelector(`.${this.rippleClass}`);\n this.renderer.appendChild(this.hostEl, ripple);\n this.renderer.removeClass(ripple, this.animateClass);\n\n if (!ripple.offsetHeight && !ripple.offsetWidth) {\n d = Math.max(this.hostEl.offsetWidth, this.hostEl.offsetHeight);\n this.renderer.setStyle(ripple, 'width', d + 'px');\n this.renderer.setStyle(ripple, 'height', d + 'px');\n }\n\n const x = e.pageX - this.hostEl.offsetLeft - ripple.offsetWidth / 2;\n const y = e.pageY - this.hostEl.offsetTop - ripple.offsetHeight / 2;\n\n this.renderer.setStyle(ripple, 'top', y + 'px');\n this.renderer.setStyle(ripple, 'left', x + 'px');\n this.renderer.addClass(ripple, this.animateClass);\n }\n\n rippleClass = css({\n display: 'block',\n position: 'absolute',\n background: 'rgba(255, 255, 255, 0.3)',\n borderRadius: '100%',\n transform: 'scale(0)',\n });\n\n animateClass = css({\n animation: 'ripple 0.65s linear',\n\n '@keyframes ripple': {\n '100%': {\n opacity: 0,\n transform: 'scale(2.5)',\n },\n },\n });\n}\n","import { Component, computed, HostBinding, input, Input } from '@angular/core';\nimport { css } from '@emotion/css';\n\nimport { BaseComponent, COMPONENT_NAME } from '../base/base.component';\nimport { UniIconComponent } from '../icon';\nimport { UniBoxComponent } from '../layout';\nimport { UniSymbolComponent } from '../symbol';\nimport { RippleDirective } from '../../directives/ripple';\n\n@Component({\n selector: 'button[uni-text-button], Button, button[text-button]',\n template: `@if (loading()) {\n <Box [class]=\"spinnerBox\"><uni-icon name=\"spinner\" /></Box>\n }\n @if (symbolLeft) {\n <Symbol [name]=\"symbolLeft\" class=\"symbolLeft\" />\n }\n <span><ng-content></ng-content></span>\n @if (symbolRight) {\n <Symbol [name]=\"symbolRight\" class=\"symbolRight\" />\n } `,\n providers: [{ provide: COMPONENT_NAME, useValue: 'button' }],\n imports: [\n RippleDirective, // Keep this import\n UniIconComponent,\n UniBoxComponent,\n UniSymbolComponent,\n ],\n host: {\n '[attr.disabled]': 'disable() || loading() || null',\n },\n hostDirectives: [{ directive: RippleDirective }],\n})\nexport class UniButtonComponent extends BaseComponent {\n readonly disable = input<boolean | undefined>(false);\n readonly loading = input<boolean | undefined>(false);\n readonly fullWidth = input<boolean>(false);\n\n @Input() symbolLeft?: string;\n @Input() symbolRight?: string;\n\n spinnerBox = css({\n position: 'absolute',\n left: 0,\n width: '100%',\n height: '100%',\n paddingTop: '6%',\n paddingBottom: '6%',\n });\n\n @HostBinding('class') get className() {\n return css([\n this.style() && {\n ...this.style(), // TODO: Set priority on theme-defined styles\n },\n {\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n overflow: 'hidden',\n outline: 0,\n border: 0,\n cursor: 'pointer',\n transition: 'all 0.28s ease',\n\n '&:disabled': {\n cursor: 'not-allowed !important',\n },\n '& .symbolLeft': {\n marginLeft: -6,\n marginRight: 4,\n fontSize: this.symbolSize(),\n },\n '& span': {\n alignContent: 'center',\n flexGrow: 1,\n whiteSpace: 'nowrap',\n },\n '& .symbolRight': {\n marginRight: -6,\n marginLeft: 4,\n fontSize: this.symbolSize(),\n },\n },\n this.variant() !== 'ghost' && {\n '&:hover, &:focus': {\n ...this.theme.boxShadow('raised'),\n },\n '&:focus-visible': {\n outline: `2px solid ${this.theme.colors()[this.variant()]}`,\n outlineOffset: '2px',\n },\n },\n this.variant() === 'ghost' && {\n '&:hover, &:focus': {\n backgroundColor: 'rgba(0,0,0,0.1) !important',\n },\n '&:focus-visible': {\n outline: `2px solid ${this.theme.colors()[this.variant()]}`,\n outlineOffset: '2px',\n },\n },\n this.fullWidth() && {\n width: '100%',\n },\n !this.loading() && {\n '&:disabled': {\n ...this.componentTheme().colors?.disabled,\n },\n },\n this.loading() && {\n '&:disabled symbol': {\n opacity: 0,\n },\n '&:disabled span': {\n opacity: 0,\n },\n },\n ]);\n }\n\n symbolSize = computed(() => {\n const style = this.style();\n const fontString = style['fontSize'] as string;\n const fontSize = parseFloat(fontString);\n return fontSize + 4;\n });\n}\n","import { Component } from '@angular/core';\nimport { BaseComponent, COMPONENT_NAME } from '../../base/base.component';\n\n@Component({\n selector: 'uni-card-content, CardContent',\n standalone: true,\n imports: [],\n templateUrl: './card-content.component.html',\n providers: [{ provide: COMPONENT_NAME, useValue: 'cardContent' }],\n styleUrls: ['./card-content.component.scss'],\n})\nexport class UniCardContentComponent extends BaseComponent {}\n","<div [style]=\"style()\">\n <ng-content></ng-content>\n</div>\n","import { Component, HostBinding, inject, input } from '@angular/core';\nimport { css } from '@emotion/css';\n\nimport type {\n ColorKey,\n OptionalDisplay,\n OptionalTextAlign,\n Typeface,\n} from '@uni-design-system/uni-core';\nimport { ThemeService } from '../../theming';\n\n@Component({\n selector: 'uni-text, Text',\n standalone: true,\n imports: [],\n template: '<ng-content></ng-content>',\n})\nexport class UniTextComponent {\n theme = inject(ThemeService);\n\n typeface = input<Typeface>('title-small');\n color = input<ColorKey>();\n display = input<OptionalDisplay>();\n align = input<OptionalTextAlign>();\n nowrap = input<boolean>();\n maxWidth = input<number>();\n ellipsis = input<boolean>(false);\n\n @HostBinding('class') get className() {\n return css([\n {\n ...this.theme.typeface(this.typeface()),\n ...this.theme.color(this.color()),\n display: this.display(),\n },\n this.align() && {\n textAlign: this.align(),\n },\n this.nowrap() && {\n whiteSpace: 'nowrap',\n },\n this.maxWidth() && {\n maxWidth: this.maxWidth(),\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n display: 'inline-block',\n },\n this.ellipsis() && {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n minWidth: 0,\n },\n ]);\n }\n}\n","import { Component } from '@angular/core';\nimport { BaseComponent, COMPONENT_NAME } from '../base/base.component';\nimport type { UniCardOptions } from './card.model';\n\n@Component({\n selector: 'uni-card, Card',\n standalone: true,\n imports: [],\n templateUrl: './card.component.html',\n providers: [{ provide: COMPONENT_NAME, useValue: 'card' }],\n})\nexport class UniCardComponent extends BaseComponent<UniCardOptions> {}\n","<div [style]=\"style()\">\n <ng-content></ng-content>\n</div>\n","import { NgClass } from '@angular/common';\nimport { Component, inject, input } from '@angular/core';\nimport { css } from '@emotion/css';\nimport { BaseComponent, COMPONENT_NAME } from '../../base/base.component';\nimport { UniTextComponent } from '../../text';\nimport { UniCardComponent } from '../card.component';\nimport type { Typeface } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'uni-card-header, CardHeader',\n standalone: true,\n imports: [UniTextComponent, NgClass],\n templateUrl: './card-header.component.html',\n providers: [{ provide: COMPONENT_NAME, useValue: 'cardHeader' }],\n styleUrls: ['./card-header.component.scss'],\n})\nexport class UniCardHeaderComponent extends BaseComponent {\n private card = inject(UniCardComponent, {\n optional: true,\n host: true,\n skipSelf: true,\n });\n\n title = input<string>('');\n titleTextRole = input<Typeface>('title-large');\n\n constructor() {\n super();\n\n // this.variant = this.card?.variant;\n }\n\n className = css({\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n });\n}\n","<div [style]=\"style()\" [ngClass]=\"className\">\n <Text [typeface]=\"titleTextRole()\">{{ title() }}</Text>\n <ng-content></ng-content>\n</div>\n","import { Component, HostBinding, inject, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { css } from '@emotion/css';\n\nimport { type IconName } from '../icon/icon.record';\nimport { RippleDirective } from '../../directives';\nimport { UniSymbolComponent } from '../symbol';\nimport { UniIconComponent } from '../icon';\nimport { ThemeService } from '../../theming/theme.service';\nimport type { Size, Variant } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'button[uni-icon-button], button[icon-button]',\n standalone: true,\n imports: [\n RippleDirective,\n UniSymbolComponent,\n UniIconComponent,\n // Keep this import\n ],\n template: `\n @if (symbolName && !loading) {\n <Symbol [name]=\"symbolName\" [opticalSize]=\"opticalSize\" />\n } @else if (iconName && !loading) {\n <Icon [name]=\"iconName\" />\n }\n `,\n host: {\n '[attr.disabled]': 'disable || loading || null',\n },\n hostDirectives: [{ directive: RippleDirective }],\n})\nexport class UniIconButtonComponent implements OnChanges {\n private theme = inject(ThemeService);\n config = this.theme.component('iconButton');\n\n @Input() iconName?: IconName;\n @Input() symbolName?: string;\n @Input() variant: Variant = 'ghost';\n @Input() size: Size = 'lg';\n @Input() disable?: boolean;\n @Input() loading?: boolean;\n @Input() opticalSize = 24;\n\n @HostBinding('class') get className() {\n const { sizes, colors } = this.config();\n const sizeConfig = sizes && sizes[this.size];\n const colorConfig = colors && colors[this.variant];\n\n return css([\n {\n position: 'relative',\n overflow: 'hidden',\n outline: 0,\n border: 0,\n cursor: 'pointer',\n transition: 'all 0.28s ease',\n borderRadius: 999,\n display: 'block',\n\n '&:disabled': {\n cursor: 'not-allowed !important',\n },\n\n '& symbol': {\n fontSize: 'inherit',\n lineHeight: 'inherit',\n },\n },\n sizeConfig && {\n ...sizeConfig,\n },\n colorConfig && {\n ...colorConfig,\n },\n this.symbolName &&\n !this.loading && {\n padding: 0,\n },\n this.variant !== 'ghost' && {\n '&:hover': {\n ...this.theme.boxShadow('raised'),\n },\n },\n this.variant === 'ghost' && {\n '&:hover': {\n backgroundColor: 'rgba(0,0,0,0.1)',\n },\n },\n !this.loading && {\n '&:disabled': {\n ...this.config().colors?.disabled,\n },\n },\n ]);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const { sizes, colors } = this.config();\n const sizeConfig = sizes && sizes[this.size];\n\n if (this.loading) this.iconName = 'spinner';\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n Component,\n effect,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n inject,\n input,\n Input,\n linkedSignal,\n Output,\n} from '@angular/core';\nimport { css, keyframes } from '@emotion/css';\nimport { BaseComponent } from '../base';\nimport { COMPONENT_NAME } from '../base/base.component';\nimport { UniIconButtonComponent } from '../icon-button';\nimport type { UniDialogOptions } from './dialog.model';\nimport { fadeIn, fadeOut } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'dialog[uni-dialog], Dialog',\n standalone: true,\n imports: [UniIconButtonComponent, CommonModule],\n template: `\n @if (defaultCloseButton) {\n <button\n icon-button\n iconName=\"close\"\n variant=\"ghost\"\n (click)=\"close()\"\n [class]=\"closeButton\"\n size=\"md\"\n >\n Close\n </button>\n }\n <ng-content></ng-content>\n `,\n providers: [{ provide: COMPONENT_NAME, useValue: 'dialog' }],\n})\nexport class UniDialogComponent extends BaseComponent<UniDialogOptions> {\n private elem = inject(ElementRef);\n\n show = input<boolean>(false);\n private readonly _show = linkedSignal(() => this.show());\n\n @Input() defaultCloseButton?: boolean;\n @Output() showing = new EventEmitter();\n\n constructor() {\n super();\n effect(() => (this._show() ? this.open() : this.close()));\n }\n\n private get _dialog(): HTMLDialogElement {\n return this.elem.nativeElement;\n }\n\n @HostBinding('class') get className() {\n return css([\n {\n ...this.theme.radius(this.componentOptions().borderRadius),\n ...this.theme.colorPair(this.componentOptions().color),\n ...this.theme.border(this.componentOptions().border),\n ...this.theme.boxShadow(this.componentOptions().elevation),\n ...this.theme.padding(this.componentOptions().padding || 'none'),\n\n '&::backdrop': {\n ...this.componentOptions().backdrop,\n },\n\n '&[open], &::backdrop': {\n animation: `${this.dialogFadeIn} ease-in 350ms`,\n },\n\n '&[closing], &[closing]::backdrop': {\n animation: `${this.dialogFadeOut} ease-in 350ms`,\n },\n },\n ]);\n }\n\n @HostListener('click', ['$event']) BackdropClick(event: Event) {\n if ((event.target as any).nodeName === 'DIALOG') {\n this.close();\n }\n }\n\n @HostListener('animationend', ['$event']) ClosingAnimation(e: AnimationEvent) {\n // Close the dialog if the animation is finished\n if (e.animationName.includes(this.dialogFadeOut)) {\n this._dialog.close();\n this._dialog.removeAttribute('closing');\n this.showing.emit(false);\n }\n }\n\n closeButton = css({\n position: 'absolute',\n right: 12,\n top: 12,\n });\n\n private dialogFadeIn = keyframes({ ...fadeIn });\n private dialogFadeOut = keyframes({ ...fadeOut });\n\n open() {\n this._dialog.removeAttribute('closing');\n this._dialog.showModal();\n this._show.set(true);\n this.showing.emit(true);\n }\n\n close() {\n this._dialog.setAttribute('closing', 'true');\n this._show.set(false);\n }\n}\n","import { Component, EventEmitter, inject, Input, Output } from '@angular/core';\nimport { UniButtonComponent } from '../../button';\nimport { UniRowComponent } from '../../layout';\nimport { UniDialogComponent } from '../dialog.component';\nimport type { JustifyContent, NullableSize, Variant } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'uni-dialog-buttons, DialogButtons, div[dialog-buttons]',\n standalone: true,\n imports: [UniRowComponent, UniButtonComponent],\n templateUrl: './dialog-buttons.component.html',\n})\nexport class UniDialogButtonsComponent {\n private dialog = inject(UniDialogComponent, {\n optional: true,\n host: true,\n skipSelf: true,\n });\n\n @Input() confirmButtonText?: string;\n @Input() confirmButtonVariant: Variant = 'primary';\n @Input() cancelButtonText?: string;\n @Input() disableConfirm?: boolean;\n @Input() padding?: NullableSize = 'md';\n @Input() paddingBottom?: NullableSize = 'lg';\n @Input() justifyContent?: JustifyContent = 'center';\n\n @Output() confirmed = new EventEmitter();\n\n closeDialog() {\n this.dialog?.close();\n }\n}\n","<div\n row-layout\n gap=\"md\"\n [padding]=\"padding\"\n [paddingBottom]=\"paddingBottom\"\n [justifyContent]=\"justifyContent\"\n>\n <button\n text-button\n [variant]=\"confirmButtonVariant\"\n (click)=\"confirmed.emit(); closeDialog()\"\n [disable]=\"disableConfirm\"\n >\n {{ confirmButtonText || 'Confirm' }}\n </button>\n <button text-button variant=\"warn\" (click)=\"closeDialog()\">\n {{ cancelButtonText || 'Cancel' }}\n </button>\n</div>\n","import { Component, inject } from '@angular/core';\nimport { BaseComponent } from '../../base';\nimport { COMPONENT_NAME } from '../../base/base.component';\nimport { UniIconButtonComponent } from '../../icon-button';\nimport { UniBoxComponent, UniRowComponent } from '../../layout';\nimport { UniTextComponent } from '../../text';\nimport { UniDialogComponent } from '../dialog.component';\nimport type { UniDialogHeaderOptions } from './dialog-header.model';\n\n@Component({\n selector: 'div[uni-dialog-header], DialogHeader',\n standalone: true,\n imports: [UniBoxComponent, UniIconButtonComponent, UniTextComponent, UniRowComponent],\n templateUrl: './dialog-header.component.html',\n providers: [{ provide: COMPONENT_NAME, useValue: 'dialogHeader' }],\n})\nexport class UniDialogHeaderComponent extends BaseComponent<UniDialogHeaderOptions> {\n private dialog = inject(UniDialogComponent, {\n optional: true,\n host: true,\n skipSelf: true,\n });\n\n closeDialog() {\n this.dialog?.close();\n }\n}\n","<div\n row-layout\n [color]=\"componentOptions().color\"\n [borderRadius]=\"componentOptions().borderRadius\"\n [height]=\"componentOptions().height\"\n alignItems=\"center\"\n paddingHorizontal=\"sm\"\n>\n <Box [width]=\"26\"></Box>\n <Box [grow]=\"1\">\n <Text\n [typeface]=\"componentOptions().textRole\"\n [color]=\"componentOptions().textColor\"\n display=\"block\"\n [align]=\"componentOptions().textAlign || 'center'\"\n ><ng-content></ng-content\n ></Text>\n </Box>\n <button\n icon-button\n [iconName]=\"componentOptions().closeButtonIcon\"\n [symbolName]=\"componentOptions().closeButtonSymbol\"\n variant=\"ghost\"\n (click)=\"closeDialog()\"\n [size]=\"componentOptions().closeButtonSize || 'md'\"\n >\n Close\n </button>\n</div>\n","import { Component, HostBinding, inject, input } from '@angular/core';\nimport { css } from '@emotion/css';\nimport { ThemeService } from '../../theming/theme.service';\nimport type { Border, Orientation } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'uni-divider, Divider',\n standalone: true,\n imports: [],\n template: ``,\n})\nexport class UniDividerComponent {\n themeService = inject(ThemeService);\n\n orientation = input<Orientation>('horizontal');\n border = input<Border>('primary');\n\n @HostBinding('class') get className() {\n return css([\n {\n display: 'block',\n },\n this.orientation() === 'horizontal' && {\n ...this.themeService.borderBottom(this.border()),\n width: '100%',\n },\n this.orientation() === 'vertical' && {\n ...this.themeService.borderLeft(this.border()),\n height: '100%',\n },\n ]);\n }\n}\n","import {\n Component,\n computed,\n ElementRef,\n inject,\n input,\n OnDestroy,\n OnInit,\n output,\n Renderer2,\n signal,\n ViewChild,\n} from '@angular/core';\nimport { css } from '@emotion/css';\nimport {\n autoUpdate,\n computePosition,\n offset,\n OffsetOptions,\n Placement,\n shift,\n} from '@floating-ui/dom';\n\nimport { BaseComponent } from '../base';\nimport { COMPONENT_NAME } from '../base/base.component';\nimport { UniBoxComponent } from '../layout';\nimport type { UniDropdownOptions } from './dropdown.model';\nimport type { NullableSize } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'uni-dropdown, Dropdown',\n standalone: true,\n imports: [UniBoxComponent],\n template: `\n <!-- 1. The native 'popover' attribute brings it to the top layer with native light-dismiss -->\n <div #dropdown popover=\"auto\" [class]=\"dropdownClass()\">\n <div\n box-layout\n [border]=\"componentOptions().border\"\n [borderRadius]=\"componentOptions().borderRadius\"\n [paddingVertical]=\"paddingVertical()\"\n [paddingHorizontal]=\"paddingHorizontal()\"\n [color]=\"componentOptions().color\"\n [shadow]=\"componentOptions().shadow\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n `,\n providers: [{ provide: COMPONENT_NAME, useValue: 'dropdown' }],\n})\nexport class UniDropdownComponent\n extends BaseComponent<UniDropdownOptions>\n implements OnInit, OnDestroy\n{\n private renderer = inject(Renderer2);\n private cleanupAutoUpdate?: () => void;\n private delay = 100;\n\n // Reactively track visibility status using Signals\n showing = signal<boolean>(false);\n\n trigger = input.required<HTMLElement>();\n placement = input<Placement>('bottom-start');\n offset = input<OffsetOptions>({ mainAxis: 4, alignmentAxis: 12 });\n\n paddingVertical = input<NullableSize>();\n paddingHorizontal = input<NullableSize>();\n\n dropdownShowing = output<boolean>();\n dropdownHiding = output<boolean>();\n\n @ViewChild('dropdown', { static: true })\n dropdownRef!: ElementRef<HTMLDivElement>;\n\n private get _trigger(): HTMLElement {\n return this.trigger();\n }\n private get _dropdown(): HTMLDivElement {\n return this.dropdownRef.nativeElement;\n }\n\n private transformOriginMap: Record<Placement, string> = {\n top: 'bottom center',\n right: 'center left',\n bottom: 'top center',\n left: 'center right',\n 'top-start': 'bottom left',\n 'top-end': 'bottom right',\n 'right-start': 'top left',\n 'right-end': 'bottom left',\n 'bottom-start': 'top left',\n 'bottom-end': 'top right',\n 'left-start': 'top right',\n 'left-end': 'bottom right',\n };\n\n dropdownClass = computed(() => {\n const currentPlacement = this.placement();\n\n return css([\n {\n // Reset browser agent default popover styles\n border: 'none',\n background: 'transparent',\n margin: 0,\n padding: 0,\n overflow: 'visible',\n width: 'max-content',\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n\n // 2. Animate discrete properties across top layer layout contexts\n transitionProperty: 'transform, opacity, display, overlay',\n transitionDuration: `${this.delay}ms`,\n transitionTimingFunction: 'linear',\n transitionBehavior: 'allow-discrete',\n\n // Hidden State (Closed)\n opacity: 0,\n transform: 'scale(0.8)',\n transformOrigin: this.transformOriginMap[currentPlacement],\n\n // 3. Active state styling controlled via the native browser pseudo-class\n ['&:popover-open']: {\n opacity: 1,\n transform: 'scale(1)',\n },\n\n // 4. Starting-style rules what properties animate *from* when transitioning in\n ['@starting-style']: {\n ['&:popover-open']: {\n opacity: 0,\n transform: 'scale(0.8)',\n },\n },\n },\n ]);\n });\n\n ngOnInit(): void {\n // Single native click binding to manage open/close commands\n this.renderer.listen(this._trigger, 'click', (e: Event) => {\n e.stopPropagation();\n this.toggleDropdown();\n });\n\n // Sync state if user invokes light-dismiss via outside click or Escape key\n this.renderer.listen(this._dropdown, 'toggle', (event: any) => {\n const isOpened = event.newState === 'open';\n this.showing.set(isOpened);\n\n if (isOpened) {\n this.dropdownShowing.emit(true);\n this.cleanupAutoUpdate = autoUpdate(this._trigger, this._dropdown, () =>\n this.updatePosition()\n );\n } else {\n this.dropdownHiding.emit(true);\n if (this.cleanupAutoUpdate) {\n this.cleanupAutoUpdate();\n this.cleanupAutoUpdate = undefined;\n }\n }\n });\n }\n\n toggleDropdown() {\n if (this.showing()) {\n this._dropdown.hidePopover();\n } else {\n this._dropdown.showPopover();\n }\n }\n\n hideDropdown() {\n this._dropdown.hidePopover();\n }\n\n private async updatePosition() {\n const { x, y } = await computePosition(this._trigger, this._dropdown, {\n placement: this.placement(),\n middleware: [offset(this.offset()), shift({ padding: 5 })],\n });\n\n this.renderer.setStyle(this._dropdown, 'left', `${x}px`);\n this.renderer.setStyle(this._dropdown, 'top', `${y}px`);\n }\n\n ngOnDestroy() {\n if (this.cleanupAutoUpdate) this.cleanupAutoUpdate();\n try {\n this._dropdown.hidePopover();\n } catch {}\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { Component, ElementRef, HostBinding, inject, input, TemplateRef } from '@angular/core';\nimport { css } from '@emotion/css';\n\nimport { UniBoxComponent } from '../../layout';\nimport { UniTextComponent } from '../../text';\nimport { UniSymbolComponent } from '../../symbol';\nimport type {\n ContainerColorToken,\n OptionalAlignItems,\n OptionalDisplay,\n OptionalFlexDirection,\n OptionalSize,\n} from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'div[uni-menu-item], div[menu-item]',\n standalone: true,\n imports: [UniTextComponent, UniSymbolComponent, UniBoxComponent, NgTemplateOutlet],\n templateUrl: './menu-item.component.html',\n styles: [\n `\n :host:focus {\n background: #ccc;\n color: #fff;\n }\n\n :host.disabled {\n color: #ddd;\n pointer-events: none;\n }\n `,\n ],\n})\nexport class UniMenuItemComponent<T = any> extends UniBoxComponent {\n private _elementRef = inject(ElementRef);\n\n override display = input<OptionalDisplay>('flex');\n override flexDirection = input<OptionalFlexDirection>('row');\n override alignItems = input<OptionalAlignItems>('center');\n override paddingHorizontal = input<OptionalSize>('md');\n override gap = input<OptionalSize>('md');\n\n label = input<string>();\n template = input<TemplateRef<T>>();\n context = input<T>();\n symbolName = input<string>();\n active = input<boolean>();\n hoverColor = input<ContainerColorToken>('primary-container');\n disabled = input<boolean>(false);\n\n @HostBinding('class') get className() {\n return css([\n {\n cursor: 'pointer',\n transition: 'all 0.35s ease',\n height: 38,\n\n '&:hover': {\n ...this.theme.colorPair(this.hoverColor()),\n },\n },\n ]);\n }\n\n focus() {\n this._elementRef.nativeElement.focus();\n }\n}\n","@let tpl = template();\n@let symbol = symbolName();\n@if (symbol) {\n <Symbol [name]=\"symbol\"></Symbol>\n}\n<div box-layout [grow]=\"1\">\n @if (tpl) {\n <ng-container [ngTemplateOutlet]=\"tpl\" [ngTemplateOutletContext]=\"context()\"></ng-container>\n } @else {\n <Text role=\"label\" display=\"block\" [nowrap]=\"true\">\n {{ label() }}\n </Text>\n }\n</div>\n@if (active()) {\n <Symbol name=\"check\"></Symbol>\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n inject,\n input,\n output,\n} from '@angular/core';\nimport { css } from '@emotion/css';\nimport { Placement } from '@floating-ui/dom';\n\nimport { UniMenuItemComponent } from './menu-item/menu-item.component';\nimport { MenuItem } from './menu-item/menu-item.model';\nimport { UniDropdownComponent } from '../dropdown';\n\n@Component({\n selector: 'Menu, uni-menu',\n standalone: true,\n imports: [UniMenuItemComponent, UniDropdownComponent],\n changeDetection: ChangeDetectionStrategy.OnPush, // Crucial for zoneless\n template: `\n <div #trigger [class]=\"TriggerClassName\">\n <ng-content></ng-content>\n </div>\n\n @if (menuItems()) {\n <Dropdown [trigger]=\"trigger\" [placement]=\"placement()\" paddingVertical=\"xs\" #dropdown>\n @for (item of menuItems(); track item) {\n <div\n menu-item\n [label]=\"item.label\"\n [symbolName]=\"item.symbolName\"\n [active]=\"activeItem() === item\"\n [template]=\"item.template\"\n [context]=\"item.context\"\n (click)=\"handleMenuItemClick(item, dropdown)\"\n ></div>\n }\n </Dropdown>\n }\n `,\n})\nexport class UniMenuComponent {\n private cdr = inject(ChangeDetectorRef);\n\n // Modern Signal Inputs for perfect Zoneless tracking\n menuItems = input.required<MenuItem[]>();\n activeItem = input<MenuItem>();\n placement = input<Placement>('bottom-start');\n\n // Modern Signal Output\n menuItemClicked = output<MenuItem>();\n\n TriggerClassName = css({ display: 'inline-block' });\n\n @HostBinding('class') get className() {\n return css({\n margin: 'unset',\n padding: 'unset',\n });\n }\n\n handleMenuItemClick(item: MenuItem, dropdown: UniDropdownComponent) {\n if (item.action) {\n item.action();\n }\n\n this.menuItemClicked.emit(item);\n dropdown.hideDropdown();\n\n // Explicitly request a render tick if item.action() updated any internal state\n this.cdr.markForCheck();\n }\n}\n","import {\n AfterViewInit,\n Component,\n computed,\n effect,\n ElementRef,\n EventEmitter,\n input,\n model,\n Output,\n signal,\n ViewChild,\n} from '@angular/core';\nimport { css, keyframes } from '@emotion/css';\n\nimport { fadeOut, type Variant } from '@uni-design-system/uni-core';\n\nimport { BaseComponent } from '../../base';\nimport { COMPONENT_NAME } from '../../base/base.component';\nimport { UniIconButtonComponent } from '../../icon-button';\nimport { UniIconComponent } from '../../icon';\nimport { IconName } from '../../icon/icon.record';\nimport { UniBoxComponent, UniRowComponent } from '../../layout';\nimport { UniSymbolComponent } from '../../symbol';\nimport { UniTextComponent } from '../../text';\nimport type { UniAlertOptions } from './alert.model';\n\n@Component({\n selector: 'uni-alert, Alert',\n standalone: true,\n imports: [\n UniRowComponent,\n UniIconButtonComponent,\n UniTextComponent,\n UniBoxComponent,\n UniIconComponent,\n UniSymbolComponent,\n ],\n templateUrl: './alert.component.html',\n providers: [{ provide: COMPONENT_NAME, useValue: 'alert' }],\n})\nexport class UniAlertComponent extends BaseComponent<UniAlertOptions> implements AfterViewInit {\n show = model<boolean>();\n iconName = input<IconName | undefined>(undefined);\n symbolName = input<string | undefined>(undefined);\n useVariant = input<boolean>(false);\n\n @Output() showing = new EventEmitter<boolean>();\n\n @ViewChild('alert') alertRef?: ElementRef<HTMLDialogElement>;\n\n private readonly alertState = signal<'open' | 'closing' | 'closed'>('closed');\n\n private readonly effectiveVariant = computed<Variant>(\n () => this.variant() || this.componentOptions().defaultVariant\n );\n\n protected readonly alertClass = computed(() =>\n css({\n ...this.theme.getContainerColors(this.effectiveVariant(), this.useVariant()),\n ...this.theme.radius(this.componentOptions().borderRadius),\n ...this.theme.border(this.effectiveVariant()),\n ...this.theme.boxShadow(this.componentOptions().elevation),\n\n transition: `all ${this.componentOptions().transitionSpeed}s ease-in-out`,\n transitionBehavior: 'allow-discrete',\n opacity: 1,\n top: this.componentOptions().topPosition,\n\n '&[open]': {\n '@starting-style': {\n top: 0,\n opacity: 0,\n },\n },\n\n '&[closing]': {\n animation: `${this.fadeOut} 0.3s forwards`,\n },\n })\n );\n\n private readonly fadeOut = keyframes({ ...fadeOut });\n\n constructor() {\n super();\n effect(() => {\n if (this.show() === true) {\n this.open();\n } else if (this.show() === false) {\n this.close();\n }\n });\n }\n\n ngAfterViewInit() {\n this.alertRef?.nativeElement.addEventListener('animationend', (e) => {\n if (e.animationName === this.fadeOut.toString()) {\n this.alertRef?.nativeElement.close();\n this.showing.emit(false);\n this.alertState.set('closed');\n }\n });\n }\n\n open() {\n if (!this.alertRef?.nativeElement) return;\n\n this.alertRef.nativeElement.removeAttribute('closing');\n this.alertRef.nativeElement.show();\n this.alertState.set('open');\n this.showing.emit(true);\n }\n\n close() {\n if (!this.alertRef?.nativeElement) return;\n\n this.alertRef.nativeElement.setAttribute('closing', 'true');\n this.alertState.set('closing');\n this.show.set(false);\n }\n\n protected readonly effectiveIconName = computed<IconName | undefined>(() => this.iconName());\n}\n","<dialog #alert [class]=\"alertClass()\">\n <div row-layout gap=\"md\">\n @if (iconName() || symbolName()) {\n <div box-layout [height]=\"26\" [width]=\"26\">\n @if (effectiveIconName()) {\n <Icon [name]=\"effectiveIconName()!\" />\n } @else {\n <Symbol [name]=\"symbolName()!\" [opticalSize]=\"26\" />\n }\n </div>\n }\n <Text>\n <ng-content></ng-content>\n </Text>\n <button icon-button (click)=\"close()\" iconName=\"close\" size=\"md\">close</button>\n </div>\n</dialog>\n","import { Component, EventEmitter, input, Input, Output } from '@angular/core';\n\nimport {\n UniDialogButtonsComponent,\n UniDialogComponent,\n UniDialogHeaderComponent,\n} from '../../dialog';\nimport { UniBoxComponent } from '../../layout';\nimport { UniTextComponent } from '../../text';\nimport type { Confirmation } from '../../../cdk/notification';\n\n@Component({\n selector: 'uni-confirmation-dialog, Confirmation',\n standalone: true,\n imports: [\n UniDialogComponent,\n UniDialogHeaderComponent,\n UniBoxComponent,\n UniTextComponent,\n UniDialogButtonsComponent,\n ],\n templateUrl: './confirmation-dialog.component.html',\n})\nexport class ConfirmationDialogComponent {\n show = input(false);\n @Input() confirmation?: Confirmation;\n @Output() showing = new EventEmitter();\n}\n","<dialog uni-dialog [show]=\"show()\" (showing)=\"showing.emit($event)\">\n <div uni-dialog-header>\n {{ confirmation?.title }}\n </div>\n <div box-layout padding=\"md\">\n <Text>\n {{ confirmation?.message }}\n </Text>\n </div>\n <div\n dialog-buttons\n [confirmButtonText]=\"confirmation?.actionLabel\"\n (confirmed)=\"confirmation?.action()\"\n [cancelButtonText]=\"confirmation?.dismissLabel\"\n ></div>\n</dialog>\n","import {\n AfterViewInit,\n Component,\n effect,\n ElementRef,\n EventEmitter,\n input,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { css, keyframes } from '@emotion/css';\nimport { useTimer } from '../../../cdk';\nimport { Z_INDEX } from '@uni-design-system/uni-core';\nimport { BaseComponent } from '../../base';\nimport { COMPONENT_NAME } from '../../base/base.component';\nimport { UniButtonComponent } from '../../button';\nimport { UniIconButtonComponent } from '../../icon-button';\nimport { UniIconComponent } from '../../icon';\nimport { IconName } from '../../icon/icon.record';\nimport { UniBoxComponent, UniRowComponent } from '../../layout';\nimport { UniSymbolComponent } from '../../symbol';\nimport { UniTextComponent } from '../../text';\nimport type { UniSnackbarOptions } from './snackbar.model';\n\n@Component({\n selector: 'uni-snackbar, Snackbar',\n standalone: true,\n imports: [\n UniRowComponent,\n UniBoxComponent,\n UniTextComponent,\n UniIconButtonComponent,\n UniSymbolComponent,\n UniIconComponent,\n UniButtonComponent,\n ],\n templateUrl: './snackbar.component.html',\n providers: [{ provide: COMPONENT_NAME, useValue: 'snackbar' }],\n})\nexport class UniSnackbarComponent\n extends BaseComponent<UniSnackbarOptions>\n implements AfterViewInit, OnChanges\n{\n timer = useTimer();\n\n snackbarClass?: string;\n\n @Input() show?: boolean;\n iconName = input<IconName>();\n symbolName = input<string>();\n timeout = input<number | string | 'disabled'>();\n actionLabel = input<string>();\n\n useVariant = input<boolean>(false);\n\n @Output() action = new EventEmitter();\n @Output() showing = new EventEmitter();\n\n @ViewChild('snackbar') snackbarRef?: ElementRef;\n\n private get _snackbar(): HTMLDialogElement | undefined {\n return this.snackbarRef?.nativeElement;\n }\n\n constructor() {\n super();\n\n effect(() => {\n this.snackbarClass = css({\n ...this.theme.getContainerColors(this.variant() || 'primary', this.useVariant()),\n ...this.theme.radius('sm'),\n ...this.theme.border(this.variant() || 'primary'),\n ...this.theme.boxShadow('dialog'),\n padding: 0,\n transition: `all ${this.componentOptions().transitionDelay} ease-in-out`,\n transitionBehavior: 'allow-discrete',\n opacity: 1,\n bottom: this.componentOptions().bottomPosition,\n zIndex: Z_INDEX.dialog,\n position: 'fixed',\n\n '&[open]': {\n '@starting-style': {\n bottom: 0,\n opacity: 0,\n },\n },\n\n '&[closing]': {\n animation: `${this.fadeOut} 0.3s forwards`,\n },\n });\n });\n }\n\n fadeOut = keyframes({\n '0% ': {\n opacity: 1,\n },\n '100%': {\n opacity: 0,\n },\n });\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['show'] && changes['show'].currentValue) {\n this.open();\n } else {\n this.close();\n }\n }\n\n ngAfterViewInit() {\n this._snackbar?.addEventListener('animationend', (e) => {\n if (e.animationName == this.fadeOut) {\n this._snackbar?.close();\n this.showing.emit(false);\n }\n });\n }\n\n private get _timeout(): number | undefined {\n const timeout = this.timeout();\n if (timeout === 'disabled') return undefined;\n\n return typeof timeout === 'string'\n ? parseFloat(timeout)\n : timeout || this.componentOptions().autoCloseDelay;\n }\n\n open() {\n this._snackbar?.removeAttribute('closing');\n this._snackbar?.show();\n this.show = true;\n this.showing.emit(true);\n\n if (this._timeout) this.timer.start(this._timeout, () => this.close());\n }\n\n close() {\n this._snackbar?.setAttribute('closing', 'true');\n this.show = false;\n }\n\n protected pauseTimer() {\n this.timer.pause();\n }\n\n protected resumeTimer() {\n this.timer.resume();\n }\n}\n","@let icon = iconName();\n@let symbol = symbolName();\n<dialog\n #snackbar\n [class]=\"snackbarClass\"\n (mouseenter)=\"pauseTimer()\"\n (mouseleave)=\"resumeTimer()\"\n (focusin)=\"pauseTimer()\"\n (focusout)=\"resumeTimer()\"\n>\n <Row alignItems=\"center\">\n @if (icon || symbol) {\n <Box [height]=\"26\" [width]=\"26\" paddingLeft=\"sm\">\n @if (icon) {\n <Icon [name]=\"icon\"></Icon>\n } @else if (symbol) {\n <Symbol [name]=\"symbol\" [opticalSize]=\"26\"></Symbol>\n }\n </Box>\n }\n <Box padding=\"sm\">\n <Text>\n <ng-content></ng-content>\n </Text>\n </Box>\n <Box paddingRight=\"sm\">\n @if (!actionLabel()) {\n <button icon-button (click)=\"close()\" iconName=\"close\" size=\"md\">Close</button>\n } @else {\n <button text-button variant=\"ghost\" (click)=\"this.action.emit(); close()\">\n {{ actionLabel() }}\n </button>\n }\n </Box>\n </Row>\n</dialog>\n","import { Component, computed, effect, inject, signal } from '@angular/core';\nimport { Alert, Confirmation, NotificationService, Snackbar } from '../../../cdk';\nimport { UniAlertComponent } from '../alert/alert.component';\nimport { ConfirmationDialogComponent } from '../confirmation-dialog/confirmation-dialog.component';\nimport { UniSnackbarComponent } from '../snackbar/snackbar.component';\n\n@Component({\n selector: 'uni-notifications, Notifications',\n standalone: true,\n imports: [UniAlertComponent, UniSnackbarComponent, ConfirmationDialogComponent],\n templateUrl: './notifications.component.html',\n})\nexport class NotificationsComponent {\n notifications = inject(NotificationService);\n\n private readonly alertState = signal<Alert | undefined>(undefined);\n private readonly snackbarState = signal<Snackbar | undefined>(undefined);\n private readonly confirmationState = signal<Confirmation | undefined>(undefined);\n\n // Computed values for the show states\n protected readonly showAlert = computed(() => !!this.alertState());\n protected readonly showSnackbar = computed(() => !!this.snackbarState());\n protected readonly showConfirmation = computed(() => !!this.confirmationState());\n\n // Expose the alert state\n protected readonly alert = computed(() => this.alertState());\n protected readonly snackbar = computed(() => this.snackbarState());\n protected readonly confirmation = computed(() => this.confirmationState());\n\n constructor() {\n effect(() => {\n this.alertState.set(this.notifications.alert());\n });\n effect(() => {\n this.snackbarState.set(this.notifications.snackbar());\n });\n effect(() => {\n this.confirmationState.set(this.notifications.confirmation());\n });\n }\n\n handleConfirmationShowingEvent(showing: boolean) {\n if (!showing) this.notifications.hideConfirmation();\n }\n\n handleSnackbarShowingEvent(showing: boolean) {\n if (!showing) this.notifications.hideSnackbar();\n }\n\n handleAlertShowingEvent(showing: boolean) {\n if (!showing) this.notifications.hideAlert();\n }\n}\n","<Alert\n [show]=\"showAlert()\"\n (showing)=\"handleAlertShowingEvent($event)\"\n [variant]=\"alert()?.variant || 'primary'\"\n [iconName]=\"alert()?.iconName\"\n [symbolName]=\"alert()?.symbolName\"\n >{{ alert()?.message }}</Alert\n>\n\n<Snackbar\n [show]=\"showSnackbar()\"\n (showing)=\"handleSnackbarShowingEvent($event)\"\n [variant]=\"snackbar()?.variant || 'primary'\"\n [actionLabel]=\"snackbar()?.actionLabel\"\n (action)=\"snackbar()?.action?.()\"\n [timeout]=\"snackbar()?.timeout\"\n [iconName]=\"snackbar()?.iconName\"\n [symbolName]=\"snackbar()?.symbolName\"\n >{{ snackbar()?.message }}</Snackbar\n>\n\n<Confirmation\n [show]=\"showConfirmation()\"\n (showing)=\"handleConfirmationShowingEvent($event)\"\n [confirmation]=\"confirmation()\"\n></Confirmation>\n","import {\n Component,\n effect,\n ElementRef,\n HostBinding,\n inject,\n input,\n Input,\n OnDestroy,\n Renderer2,\n signal,\n} from '@angular/core';\nimport { css, keyframes } from '@emotion/css';\nimport { arrow, computePosition, flip, offset, shift } from '@floating-ui/dom';\n\nimport { BaseComponent } from '../base';\nimport { COMPONENT_NAME } from '../base/base.component';\nimport type { UniTooltipOptions } from './tooltip.model';\nimport { Placement } from './tooltip.types';\nimport { fadeIn, fadeOut, Z_INDEX } from '@uni-design-system/uni-core';\nimport { useTimer } from '../../cdk';\n\n@Component({\n selector: 'uni-tooltip, Tooltip',\n standalone: true,\n imports: [],\n template: `<ng-content></ng-content>`,\n providers: [{ provide: COMPONENT_NAME, useValue: 'tooltip' }],\n host: {\n '(click)': 'toggleTooltip()',\n '(mouseenter)': 'mouseenter()',\n '(mouseleave)': 'mouseleave()',\n },\n})\nexport class UniTooltipComponent extends BaseComponent<UniTooltipOptions> implements OnDestroy {\n private elRef = inject(ElementRef);\n private renderer = inject(Renderer2);\n\n private timer = useTimer();\n hoverDelayMs = signal(500);\n isMouseInside = signal(false);\n\n private tooltip!: HTMLElement | null;\n private arrow!: HTMLElement | null;\n\n hoverDelay = input<number>(500);\n label = input.required<string>();\n placement = input<Placement>('top');\n inlineText = input<boolean>(false);\n\n @Input() appendToBody?: boolean;\n\n constructor() {\n super();\n\n effect(() => {\n const timerActive = this.timer.isActive();\n const mouseInside = this.isMouseInside();\n\n // If the timer finished and the mouse is still inside, show tooltip\n if (!timerActive && mouseInside) {\n this.showTooltip();\n }\n // If the mouse left and the timer is not running, hide tooltip\n else if (!mouseInside) {\n this.hideTooltip();\n }\n });\n }\n\n toggleTooltip() {\n if (this.tooltip) {\n this.hideTooltip();\n } else {\n this.showTooltip();\n }\n }\n\n mouseenter() {\n this.isMouseInside.set(true);\n this.timer.start(this.hoverDelayMs());\n }\n\n mouseleave() {\n this.isMouseInside.set(false);\n this.timer.stop();\n }\n\n showTooltip() {\n if (this.tooltip) return;\n this.initializeTooltip();\n this.renderer.setAttribute(this.tooltip, 'fade', 'in');\n }\n\n hideTooltip() {\n if (!this.tooltip) return;\n this.renderer.setAttribute(this.tooltip, 'fade', 'out');\n }\n\n @HostBinding('class') get className() {\n return css(\n {\n display: 'inline-flex',\n },\n this.inlineText() && {\n cursor: 'help',\n textDecoration: 'underline',\n textDecorationStyle: 'dotted',\n }\n );\n }\n\n private tooltipFadeIn = keyframes({ ...fadeIn });\n private tooltipFadeOut = keyframes({ ...fadeOut });\n\n private tooltipClassName = css([\n {\n ...this.theme.colorPair(this.componentOptions().color),\n ...this.theme.radius(this.componentOptions().borderRadius),\n ...this.theme.boxShadow(this.componentOptions().shadow),\n ...this.theme.typeface(this.componentOptions().typeface),\n padding: 5,\n width: 'max-content',\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: Z_INDEX.tooltip,\n\n '&[fade=\"in\"]': {\n animation: `${this.tooltipFadeIn} ease-in 350ms`,\n },\n\n '&[fade=\"out\"]': {\n animation: `${this.tooltipFadeOut} ease-in 350ms`,\n },\n },\n ]);\n\n private arrowClassName = css({\n position: 'absolute',\n ...this.theme.colorPair(this.componentOptions().color),\n width: 8,\n height: 8,\n transform: 'rotate(45deg)',\n });\n\n private createTooltip() {\n this.tooltip = this.renderer.createElement('span');\n\n this.renderer.appendChild(\n this.tooltip,\n this.renderer.createText(this.label()) // textNode\n );\n\n this.renderer.appendChild(\n this.appendToBody ? document.body : this.elRef.nativeElement,\n this.tooltip\n );\n this.renderer.addClass(this.tooltip, this.tooltipClassName);\n this.renderer.listen(this.tooltip, 'animationend', (event) => {\n if (event.animationName.includes(this.tooltipFadeOut)) this.destroyTooltip();\n });\n }\n\n private createArrow() {\n this.arrow = this.renderer.createElement('div');\n this.renderer.appendChild(this.tooltip, this.arrow);\n this.renderer.addClass(this.arrow, this.arrowClassName);\n }\n\n private setPosition() {\n if (!this.tooltip || !this.arrow) return;\n computePosition(this.elRef.nativeElement, this.tooltip, {\n placement: this.placement(),\n middleware: [offset(6), flip(), shift({ padding: 5 }), arrow({ element: this.arrow })],\n }).then(({ x, y, placement, middlewareData }) => {\n this.renderer.setStyle(this.tooltip, 'top', `${y}px`);\n this.renderer.setStyle(this.tooltip, 'left', `${x}px`);\n\n // Accessing the data\n const arrowX = middlewareData.arrow?.x;\n const arrowY = middlewareData.arrow?.y;\n\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[placement.split('-')[0]];\n\n this.renderer.setStyle(this.arrow, 'top', `${arrowY}px`);\n this.renderer.setStyle(this.arrow, 'left', `${arrowX}px`);\n this.renderer.setStyle(this.arrow, 'right', ``);\n this.renderer.setStyle(this.arrow, 'bottom', ``);\n\n if (staticSide) {\n this.renderer.setStyle(this.arrow, staticSide, `-4px`);\n }\n });\n }\n\n private initializeTooltip() {\n this.createTooltip();\n this.createArrow();\n this.setPosition();\n }\n\n private destroyTooltip() {\n this.renderer.removeChild(\n this.appendToBody ? document.body : this.elRef.nativeElement,\n this.tooltip\n );\n this.renderer.removeChild(\n this.appendToBody ? document.body : this.elRef.nativeElement,\n this.arrow\n );\n this.tooltip = null;\n this.arrow = null;\n }\n\n ngOnDestroy() {\n this.hideTooltip();\n }\n}\n","//export * from './background';\nexport * from './badge';\n//export * from './barcode';\nexport * from './button';\n//export * from './button-group';\nexport * from './card';\n//export * from './checkbox';\n//export * from './data-search';\n//export * from './data-table';\nexport * from './dialog';\nexport * from './divider';\nexport * from './dropdown';\n//export * from './expand';\n//export * from './expand-area';\n//export * from './expand-toggle';\n//export * from './file-drop-zone';\nexport * from './icon';\nexport * from './icon-button';\n//export * from './input';\n//export * from './json-view';\nexport * from './layout';\nexport * from './menu';\n//export * from './multi-select';\n//export * from './multi-select-dropdown';\n//export * from './notification-badge';\nexport * from './notifications';\n//export * from './pages';\n//export * from './paginator';\n//export * from './popover';\n//export * from './print-preview';\n//export * from './progress-bar';\n//export * from './progress-gauge';\n//export * from './qrcode';\n//export * from './radio';\n//export * from './scroll-area';\n//export * from './search-input';\n//export * from './select-input';\n//export * from './sort-header';\nexport * from './symbol';\n//export * from './tag';\nexport * from './text';\n//export * from './toggle';\nexport * from './tooltip';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.RippleDirective"],"mappings":"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"}
1
+ {"version":3,"file":"uni-design-system-uni-angular.mjs","sources":["../../src/lib/cdk/datasource/base-datasource.ts","../../src/lib/cdk/datasource/record-datasource.ts","../../src/lib/cdk/datasource/server-side-datasource.ts","../../src/lib/cdk/helpers/memoize.helper.ts","../../src/lib/cdk/local-storage/local-storage.service.ts","../../src/lib/cdk/notification/notification.service.ts","../../src/lib/cdk/timer/timer.ts","../../src/lib/cdk/file/file.helper.ts","../../src/lib/theming/theme.token.ts","../../src/lib/cdk/helpers/number.helper.ts","../../src/lib/theming/theme.service.ts","../../src/lib/components/background/background.component.ts","../../src/lib/components/background/index.ts","../../src/lib/components/base/base.component.ts","../../src/lib/components/badge/badge.component.ts","../../src/lib/components/icon/icon.component.ts","../../src/lib/components/layout/box/box.component.ts","../../src/lib/components/layout/center/center.component.ts","../../src/lib/components/layout/grid/grid-area/grid-area.component.ts","../../src/lib/components/layout/grid/grid.component.ts","../../src/lib/components/layout/row/row.component.ts","../../src/lib/components/layout/stack/stack.component.ts","../../src/lib/components/layout/wrap/wrap.component.ts","../../src/lib/components/symbol/symbol.component.ts","../../src/lib/directives/ripple/ripple.directive.ts","../../src/lib/components/button/button.component.ts","../../src/lib/components/button-group/button-group.component.ts","../../src/lib/components/button-group/index.ts","../../src/lib/components/card/card-content/card-content.component.ts","../../src/lib/components/card/card-content/card-content.component.html","../../src/lib/components/text/text.component.ts","../../src/lib/components/card/card.component.ts","../../src/lib/components/card/card.component.html","../../src/lib/components/card/card-header/card-header.component.ts","../../src/lib/components/card/card-header/card-header.component.html","../../src/lib/components/checkbox/checkbox.component.ts","../../src/lib/components/checkbox/checkbox.component.html","../../src/lib/directives/body-render/body-render.directive.ts","../../src/lib/directives/drag-and-drop/drag-and-drop.directive.ts","../../src/lib/components/icon-button/icon-button.component.ts","../../src/lib/components/data-search/data-search.component.ts","../../src/lib/components/data-search/data-search.component.html","../../src/lib/components/data-search/index.ts","../../src/lib/components/scroll-area/scroll-area.component.ts","../../src/lib/components/sort-header/sort-header.component.ts","../../src/lib/components/sort-header/sort-header.component.html","../../src/lib/components/data-table/data-table.component.ts","../../src/lib/components/data-table/data-table.component.html","../../src/lib/components/data-table/index.ts","../../src/lib/components/dialog/dialog.component.ts","../../src/lib/components/dialog/dialog-buttons/dialog-buttons.component.ts","../../src/lib/components/dialog/dialog-buttons/dialog-buttons.component.html","../../src/lib/components/dialog/dialog-header/dialog-header.component.ts","../../src/lib/components/dialog/dialog-header/dialog-header.component.html","../../src/lib/components/divider/divider.component.ts","../../src/lib/components/dropdown/dropdown.component.ts","../../src/lib/components/expand/expand.component.ts","../../src/lib/components/expand/index.ts","../../src/lib/components/tooltip/tooltip.component.ts","../../src/lib/components/expand-toggle/expand-toggle.component.ts","../../src/lib/components/expand-area/expand-area.component.ts","../../src/lib/components/expand-area/index.ts","../../src/lib/components/expand-toggle/index.ts","../../src/lib/components/file-drop-zone/file-drop-zone.component.ts","../../src/lib/components/file-drop-zone/file-drop-zone.component.html","../../src/lib/components/file-drop-zone/index.ts","../../src/lib/components/forms/debounce-input/debounce-input.component.ts","../../src/lib/components/forms/debounce-input/debounce-input.component.html","../../src/lib/components/input-box/input-box.component.ts","../../src/lib/components/input-box/input-box.component.html","../../src/lib/components/input/input.component.ts","../../src/lib/components/input/input.component.html","../../src/lib/components/json-view/json-view.component.ts","../../src/lib/components/json-view/json-view.component.html","../../src/lib/components/json-view/index.ts","../../src/lib/components/menu/menu-item/menu-item.component.ts","../../src/lib/components/menu/menu-item/menu-item.component.html","../../src/lib/components/menu/menu.component.ts","../../src/lib/components/multi-select/multi-select.component.ts","../../src/lib/components/multi-select/multi-select.component.html","../../src/lib/components/multi-select-dropdown/multi-select-dropdown.component.ts","../../src/lib/components/multi-select-dropdown/multi-select-dropdown.component.html","../../src/lib/components/notification-badge/notification-badge.ts","../../src/lib/components/notification-badge/notification-badge.html","../../src/lib/components/notifications/alert/alert.component.ts","../../src/lib/components/notifications/alert/alert.component.html","../../src/lib/components/notifications/confirmation-dialog/confirmation-dialog.component.ts","../../src/lib/components/notifications/confirmation-dialog/confirmation-dialog.component.html","../../src/lib/components/notifications/snackbar/snackbar.component.ts","../../src/lib/components/notifications/snackbar/snackbar.component.html","../../src/lib/components/notifications/notifications/notifications.component.ts","../../src/lib/components/notifications/notifications/notifications.component.html","../../src/lib/components/paginator/paginator.component.ts","../../src/lib/components/paginator/paginator.component.html","../../src/lib/components/paginator/index.ts","../../src/lib/components/popover/popover.component.ts","../../src/lib/components/popover/popover.component.html","../../src/lib/components/popover/index.ts","../../src/lib/components/progress-bar/progress-bar.component.ts","../../src/lib/components/progress-bar/progress-bar.component.html","../../src/lib/components/progress-bar/index.ts","../../src/lib/components/progress-gauge/progress-gauge.component.ts","../../src/lib/components/progress-gauge/progress-gauge.component.html","../../src/lib/components/progress-gauge/index.ts","../../src/lib/components/radio/radio.component.ts","../../src/lib/components/radio/radio.component.html","../../src/lib/components/scroll-area/index.ts","../../src/lib/components/search-input/search-input.component.ts","../../src/lib/components/search-input/search-input.component.html","../../src/lib/components/search-input/index.ts","../../src/lib/components/select-input/select-input.component.ts","../../src/lib/components/select-input/select-input.component.html","../../src/lib/components/sort-header/index.ts","../../src/lib/components/tag/tag.component.ts","../../src/lib/components/tag/tag.component.html","../../src/lib/components/tag/index.ts","../../src/lib/components/toggle/toggle.component.ts","../../src/lib/components/toggle/toggle.component.html","../../src/uni-design-system-uni-angular.ts"],"sourcesContent":["import { computed, signal, Signal, WritableSignal } from '@angular/core';\n\nexport type SortDirection = 'asc' | 'desc' | 'indet';\n\nexport interface Sort<T> {\n column?: keyof T;\n direction: SortDirection;\n}\n\nexport abstract class UniBaseDatasource<T> {\n abstract records: Signal<T[]>;\n abstract recordCount: Signal<number>;\n\n selections = signal<T[]>([]);\n\n sort: WritableSignal<Sort<T>> = signal({\n column: undefined,\n direction: 'indet',\n });\n\n sortColumn = computed(() => this.sort().column);\n sortDirection = computed(() => this.sort().direction);\n\n abstract pageIndex: Signal<number>;\n abstract pageSize: Signal<number>;\n abstract pageCount: Signal<number>;\n\n pages = computed(() => Array.from({ length: this.pageCount() }, (_, index) => index + 1));\n\n startIndex = computed(() => {\n const pageSize = this.pageSize();\n const pageIndex = this.pageIndex();\n return pageSize > 0 ? pageIndex * pageSize : 0;\n });\n\n endIndex = computed(() => {\n const pageSize = this.pageSize();\n const total = this.recordCount();\n\n // If unpaginated (pageSize = 0), return total count\n if (pageSize === 0) {\n return total;\n }\n\n const start = this.startIndex();\n return Math.min(start + pageSize, total);\n });\n\n disablePrevious = computed(() => {\n const pageSize = this.pageSize();\n return pageSize === 0 ? true : this.pageIndex() === 0;\n });\n\n disableNext = computed(() => {\n const pageSize = this.pageSize();\n return pageSize === 0 ? true : this.pageIndex() + 1 >= this.pageCount();\n });\n\n truncatedPages = computed(() => {\n const currentPage = this.pageIndex() + 1;\n const displayRange = 3;\n const totalPages = this.pageCount();\n\n const pages: (number | string)[] = [];\n const startPage = Math.max(1, currentPage - displayRange);\n const endPage = Math.min(totalPages, currentPage + displayRange);\n\n if (startPage > 1) {\n pages.push(1);\n if (startPage > 2) {\n pages.push('...');\n }\n }\n\n for (let i = startPage; i <= endPage; i++) {\n pages.push(i);\n }\n\n if (endPage < totalPages) {\n if (endPage < totalPages - 1) {\n pages.push('...');\n }\n pages.push(totalPages);\n }\n return pages;\n });\n\n isSelected(row: T): boolean {\n return this.selections().some((selection) => selection === row);\n }\n\n toggleSelection(row: T) {\n this.selections.update((selections) => {\n return selections.includes(row) ? selections.filter((i) => i !== row) : [...selections, row];\n });\n }\n\n clearSelections() {\n this.selections.set([]);\n }\n\n selectAll() {\n this.selections.set([...this.records()]);\n }\n\n abstract sortRecords(sort: Sort<T>): void;\n abstract firstPage(): void;\n abstract nextPage(): void;\n abstract previousPage(): void;\n abstract lastPage(): void;\n abstract jumpToPage(page: number): void;\n abstract setPageSize(size: number): void;\n}\n","import { computed, signal } from '@angular/core';\nimport { UniBaseDatasource, Sort } from './base-datasource';\n\nexport class UniRecordDatasource<T> extends UniBaseDatasource<T> {\n private _pageNumber = signal(1);\n private _pageSize = signal<number>(0); // 0 = unpaginated (show all)\n\n initialRecords = signal<T[]>([]);\n override recordCount = computed((): number => this.initialRecords().filter(this.filter()).length);\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n filter = signal<(value: T) => boolean>((value) => true);\n\n override pageIndex = signal<number>(0);\n override pageSize = computed(() => this._pageSize());\n\n override pageCount = computed(() => {\n const pageSize = this.pageSize();\n return pageSize > 0 ? Math.ceil(this.recordCount() / pageSize) : 1;\n });\n\n override records = computed(() => {\n const { column, direction } = this.sort();\n const filter = this.filter();\n const pageSize = this.pageSize();\n\n let filteredRecords = this.initialRecords().filter(filter);\n\n // Apply sorting if specified\n if (column && direction !== 'indet') {\n filteredRecords = [...filteredRecords].sort((a, b) => {\n const valueA = a[column];\n const valueB = b[column];\n\n const isString = typeof valueA === 'string';\n const isAsc = direction === 'asc';\n\n return isString\n ? stringCompare(valueA as string, valueB as string, isAsc)\n : numberCompare(valueA as number, valueB as number, isAsc);\n });\n }\n\n // Apply pagination only if pageSize > 0\n if (pageSize > 0) {\n return filteredRecords.slice(this.startIndex(), this.endIndex());\n }\n\n // Return all records (unpaginated)\n return filteredRecords;\n });\n\n constructor(data: T[]) {\n super();\n this.initialRecords.set(data);\n }\n\n override sortRecords(sort: Sort<T>) {\n this.sort.set(sort);\n }\n\n override firstPage() {\n this.pageIndex.set(0);\n }\n\n override nextPage() {\n if (this.pageIndex() < this.pageCount() - 1) {\n this.pageIndex.update((i) => i + 1);\n }\n }\n\n override previousPage() {\n this.pageIndex.update((i) => (i > 1 ? i - 1 : 0));\n }\n\n override lastPage() {\n this.pageIndex.set(this.pageCount() - 1);\n }\n\n override jumpToPage(page: number) {\n const i = page - 1;\n if (i >= 0 && i < this.pageCount()) {\n this.pageIndex.set(i);\n }\n }\n\n override setPageSize(size: number) {\n this._pageSize.set(size);\n if (size > 0) {\n this._pageNumber.set(1);\n this.pageIndex.set(0);\n }\n }\n\n setFilter(filter: (value: T) => boolean) {\n this.filter.set(filter);\n }\n\n clearFilter() {\n this.filter.set(() => true);\n }\n}\n\nfunction stringCompare(a = 'zzz', b = 'zzz', isAsc: boolean): number {\n a = a.toString();\n b = b.toString();\n\n return isAsc\n ? a.localeCompare(b, undefined, { sensitivity: 'base' })\n : b.localeCompare(a, undefined, { sensitivity: 'base' });\n}\n\nfunction numberCompare(a = 0, b = 0, isAsc: boolean): number {\n return isAsc ? a - b : b - a;\n}\n","import {\n computed,\n linkedSignal,\n resource,\n ResourceLoaderParams,\n ResourceRef,\n type ResourceStatus,\n signal,\n} from '@angular/core';\nimport { UniBaseDatasource, Sort, SortDirection } from './base-datasource';\n\nexport interface PageRequest {\n pageNumber: number;\n pageSize: number;\n sortColumn?: string;\n sortDirection?: SortDirection;\n filter?: Record<string, any>;\n}\n\nexport interface PageResponse<T> {\n data: T[];\n totalRecords: number;\n pageNumber: number;\n pageSize: number;\n}\n\nexport type DataLoader<T> = (request: PageRequest) => Promise<PageResponse<T>>;\n\nexport class UniServerSideDatasource<T> extends UniBaseDatasource<T> {\n private _pageNumber = signal(1);\n private _pageSize = signal(10);\n private _sortColumn = signal<keyof T | undefined>(undefined);\n private _sortDirection = signal<SortDirection>('indet');\n private filter = signal<Record<string, any>>({});\n\n override sortColumn = computed(() => this._sortColumn());\n override sortDirection = computed(() => this._sortDirection());\n\n private totalRecords = signal(0);\n\n private dataResource: ResourceRef<PageResponse<T> | undefined>;\n\n override pageIndex = computed(() => this._pageNumber() - 1);\n override pageSize = computed(() => this._pageSize());\n\n override pageCount = computed(() => {\n const total = this.totalRecords();\n const size = this.pageSize();\n return total > 0 ? Math.ceil(total / size) : 0;\n });\n\n private readonly _records = linkedSignal<\n {\n val: PageResponse<T> | undefined;\n status: ResourceStatus;\n },\n T[]\n >({\n source: () => ({\n val: this.dataResource.value(),\n status: this.dataResource.status(),\n }),\n computation: (source, previous) => {\n if (source.status === 'loading' && previous) {\n return previous.value;\n }\n return source.val?.data ?? [];\n },\n });\n\n override records = this._records.asReadonly();\n\n override recordCount = computed(() => this.totalRecords());\n\n isLoading = computed(() => this.dataResource.isLoading());\n\n error = computed(() => this.dataResource.error());\n\n hasError = computed(() => this.dataResource.hasValue() === false && this.error() !== undefined);\n\n constructor(\n private dataLoader: DataLoader<T>,\n initialPageSize = 10\n ) {\n super();\n this._pageSize.set(initialPageSize);\n\n this.dataResource = resource({\n params: () => ({\n pageNumber: this._pageNumber(),\n pageSize: this._pageSize(),\n sortColumn: this._sortColumn() as string | undefined,\n sortDirection: this._sortDirection(),\n filter: this.filter(),\n }),\n loader: async (params: ResourceLoaderParams<PageRequest>) => {\n const request = params.params;\n const response = await this.dataLoader(request);\n\n if (request.pageNumber === 1 || this.totalRecords() === 0) {\n this.totalRecords.set(response.totalRecords);\n }\n\n return response;\n },\n });\n }\n\n override sortRecords(sort: Sort<T>) {\n this.sort.set(sort);\n this._sortColumn.set(sort.column);\n this._sortDirection.set(sort.direction);\n this._pageNumber.set(1);\n }\n\n override firstPage() {\n this._pageNumber.set(1);\n }\n\n override nextPage() {\n if (this._pageNumber() < this.pageCount()) {\n this._pageNumber.update((n) => n + 1);\n }\n }\n\n override previousPage() {\n if (this._pageNumber() > 1) {\n this._pageNumber.update((n) => n - 1);\n }\n }\n\n override lastPage() {\n this._pageNumber.set(this.pageCount());\n }\n\n override jumpToPage(page: number) {\n if (page >= 1 && page <= this.pageCount()) {\n this._pageNumber.set(page);\n }\n }\n\n override setPageSize(size: number) {\n if (size > 0) {\n this._pageSize.set(size);\n this._pageNumber.set(1);\n }\n }\n\n setFilter(filterValues: Record<string, any>) {\n this.filter.set(filterValues);\n this._pageNumber.set(1);\n }\n\n clearFilter() {\n this.filter.set({});\n this._pageNumber.set(1);\n }\n\n refresh() {\n this.dataResource.reload();\n }\n\n getPageRequest(): PageRequest {\n return {\n pageNumber: this._pageNumber(),\n pageSize: this._pageSize(),\n sortColumn: this._sortColumn() as string | undefined,\n sortDirection: this._sortDirection(),\n filter: this.filter(),\n };\n }\n}\n","export function memoize<T extends (...args: any[]) => any>(fn: T): T {\n const cache = new Map<string, ReturnType<T>>();\n\n return ((...args: Parameters<T>): ReturnType<T> => {\n const key = JSON.stringify(args);\n\n if (cache.has(key)) {\n return cache.get(key)!;\n }\n\n const result = fn(...args);\n cache.set(key, result);\n return result;\n }) as T;\n}\n","import { Injectable } from '@angular/core';\nimport { memoize } from '../helpers/memoize.helper';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LocalStorageService {\n private isLocalStorageAvailable = memoize((): boolean => {\n try {\n const test = '__localStorage_test__';\n localStorage.setItem(test, test);\n localStorage.removeItem(test);\n return true;\n } catch {\n return false;\n }\n });\n\n setItem<T>(key: string, value: T): boolean {\n if (!this.isLocalStorageAvailable()) {\n console.warn('LocalStorage is not available');\n return false;\n }\n\n try {\n const stringValue = typeof value === 'string' ? value : JSON.stringify(value);\n localStorage.setItem(key, stringValue);\n return true;\n } catch (error) {\n console.error('Error saving to localStorage:', error);\n return false;\n }\n }\n\n getItem<T>(key: string): T | null {\n if (!this.isLocalStorageAvailable()) {\n return null;\n }\n\n try {\n const item = localStorage.getItem(key);\n if (item === null) {\n return null;\n }\n\n try {\n return JSON.parse(item) as T;\n } catch {\n return item as T;\n }\n } catch (error) {\n console.error('Error reading from localStorage:', error);\n return null;\n }\n }\n\n removeItem(key: string): boolean {\n if (!this.isLocalStorageAvailable()) {\n return false;\n }\n\n try {\n localStorage.removeItem(key);\n return true;\n } catch (error) {\n console.error('Error removing from localStorage:', error);\n return false;\n }\n }\n\n clear(): boolean {\n if (!this.isLocalStorageAvailable()) {\n return false;\n }\n\n try {\n localStorage.clear();\n return true;\n } catch (error) {\n console.error('Error clearing localStorage:', error);\n return false;\n }\n }\n\n hasKey(key: string): boolean {\n if (!this.isLocalStorageAvailable()) {\n return false;\n }\n\n return localStorage.getItem(key) !== null;\n }\n\n getAllKeys(): string[] {\n if (!this.isLocalStorageAvailable()) {\n return [];\n }\n\n try {\n return Object.keys(localStorage);\n } catch (error) {\n console.error('Error getting localStorage keys:', error);\n return [];\n }\n }\n\n getSize(): number {\n if (!this.isLocalStorageAvailable()) {\n return 0;\n }\n\n try {\n let total = 0;\n for (const key in localStorage) {\n if (Object.prototype.hasOwnProperty.call(localStorage, key)) {\n total += localStorage[key].length + key.length;\n }\n }\n return total;\n } catch (error) {\n console.error('Error calculating localStorage size:', error);\n return 0;\n }\n }\n}\n","import { Injectable, signal } from '@angular/core';\nimport { Alert, Confirmation, Snackbar } from './notification.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NotificationService {\n /* Alert */\n alert = signal<Alert | undefined>(undefined);\n showAlert = (alert: Alert) => this.alert.set(alert);\n hideAlert = () => this.alert.set(undefined);\n\n /* Snackbar */\n snackbar = signal<Snackbar | undefined>(undefined);\n showSnackbar = (snackbar: Snackbar) => this.snackbar.set(snackbar);\n hideSnackbar = () => this.snackbar.set(undefined);\n\n /* Confirmation */\n confirmation = signal<Confirmation | undefined>(undefined);\n showConfirmation = (confirmation: Confirmation) => this.confirmation.set(confirmation);\n hideConfirmation = () => this.confirmation.set(undefined);\n}\n","import { computed, DestroyRef, inject, signal } from '@angular/core';\n\nexport function useTimer() {\n const destroyRef = inject(DestroyRef);\n\n const msRemaining = signal<number>(0);\n const isPaused = signal<boolean>(false);\n const isActive = computed(() => msRemaining() > 0);\n\n let intervalId: any = null;\n let endTime = 0;\n let onCompleteCallback: (() => void) | undefined;\n\n const stop = () => {\n if (intervalId) clearInterval(intervalId);\n intervalId = null;\n };\n\n const tick = () => {\n const remaining = Math.max(0, endTime - Date.now());\n msRemaining.set(remaining);\n\n if (remaining <= 0) {\n stop();\n if (onCompleteCallback) onCompleteCallback();\n }\n };\n\n const start = (durationMs: number, onComplete?: () => void) => {\n stop();\n onCompleteCallback = onComplete;\n isPaused.set(false);\n msRemaining.set(durationMs);\n endTime = Date.now() + durationMs;\n intervalId = setInterval(tick, 100);\n };\n\n const pause = () => {\n if (!isActive() || isPaused()) return;\n stop();\n isPaused.set(true);\n };\n\n const resume = () => {\n if (!isActive() || !isPaused()) return;\n isPaused.set(false);\n endTime = Date.now() + msRemaining();\n intervalId = setInterval(tick, 100);\n };\n\n destroyRef.onDestroy(() => stop());\n\n return {\n start,\n pause,\n resume,\n stop: () => {\n stop();\n msRemaining.set(0);\n },\n msRemaining,\n isPaused,\n isActive,\n secondsRemaining: computed(() => Math.ceil(msRemaining() / 1000)),\n };\n}\n","export const acceptableFile = (\n file: File,\n acceptedFileExtensions: string[] | undefined\n): boolean => {\n if (!acceptedFileExtensions || acceptedFileExtensions.length < 1) return true;\n return acceptedFileExtensions.includes(getFileExtension(file));\n};\n\nexport const getFileExtension = (file: File): string => '.' + file.name.split('.').pop();\n","import { InjectionToken } from '@angular/core';\nimport { type UniTheme, UniThemes } from '@uni-design-system/uni-core';\n\nexport const UNI_THEMES = new InjectionToken<Record<string, UniTheme>>('', {\n providedIn: 'root',\n factory: () => UniThemes,\n});\n","export const safeParseInt = (n: string | number) => (typeof n === 'number' ? n : parseInt(n));\n","// noinspection JSUnusedGlobalSymbols\n\nimport { computed, inject, Injectable, linkedSignal, Signal, signal } from '@angular/core';\nimport { css } from '@emotion/css';\nimport { LocalStorageService, Options } from '../cdk';\nimport {\n LightTheme,\n type NullableSize,\n type ThemeName,\n type Typeface,\n type UniTheme,\n Z_INDEX,\n type ZIndexableElements,\n ColorToken,\n ComponentName,\n ComponentTheme,\n ContainerColorToken,\n ContentColorToken,\n NullableStyleExpression,\n OptionalSize,\n Size,\n TextRole,\n Thickness,\n Variant,\n type ColorKey,\n type Radius,\n type Border,\n type Shadow,\n} from '@uni-design-system/uni-core';\n\nimport { UNI_THEMES } from './theme.token';\nimport { safeParseInt } from '../cdk/helpers/number.helper';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ThemeService {\n private themes = inject(UNI_THEMES);\n private localStorage = inject(LocalStorageService);\n\n theme = signal<UniTheme>(LightTheme);\n themeOptions = signal<Options<ThemeName>>([]);\n\n components = computed(() => this.theme().components);\n component = <T>(componentName: ComponentName): Signal<ComponentTheme<T>> =>\n computed(() => (this.components()[componentName] as ComponentTheme<T>) || {});\n colors = computed(() => this.theme().colors);\n typeFaces = computed(() => this.theme().typefaces);\n spacing = computed(() => this.theme().spacing);\n thicknesses = computed(() => this.theme().thicknesses);\n radii = computed(() => this.theme().radii);\n borders = computed(() => this.theme().borders);\n shadows = computed(() => this.theme().shadows);\n icons = computed(() => this.theme().icons);\n\n constructor() {\n this.themeOptions.set(\n Object.keys(this.themes).map((key) => {\n return { label: this.themes[key].name, value: key };\n })\n );\n\n this.selectTheme(this.localStorage.getItem('theme') || Object.keys(this.themes)[0] || 'base');\n }\n\n public selectTheme(themeName: ThemeName): void {\n this.selectedThemeKey.set(themeName);\n if (this.themes[themeName]) this.theme.set(this.themes[themeName]);\n this.localStorage.setItem('theme', themeName);\n }\n\n public selectedThemeName = computed(() => this.theme().name);\n public selectedThemeKey = signal<string>('');\n\n textClass = (textRole: TextRole, textColor?: ContentColorToken) => {\n return css([\n {\n ...this.typeFaces()[textRole],\n },\n textColor && {\n color: this.colors()[textColor],\n },\n ]);\n };\n\n componentStyle = (componentName: ComponentName, variant: Variant, size: Size) =>\n computed(() => {\n const component = this.component(componentName)();\n const { fixed, colors, sizes } = component;\n const colorStyle = colors && colors[variant];\n const sizeStyle = sizes && sizes[size];\n return { ...fixed, ...colorStyle, ...sizeStyle };\n });\n\n getSpacing = (size: NullableSize) => {\n return size === 'none' ? 'none' : this.spacing()[size];\n };\n\n getThickness = (thickness: Thickness) => this.theme().thicknesses[thickness];\n\n getContentColor = (token: ContainerColorToken, useVariant?: boolean) =>\n useVariant\n ? this.colors()[`on-${token}-variant` as ColorToken]\n : this.colors()[`on-${token}` as ColorToken];\n\n colorPair = (token?: ContainerColorToken, colorVariant?: boolean): NullableStyleExpression => {\n if (!token) return;\n const backgroundColor = this.colors()[token];\n const color = this.getContentColor(token, colorVariant);\n return { color, backgroundColor };\n };\n\n backgroundColor = (token?: ColorKey): NullableStyleExpression => {\n return !token ? undefined : { backgroundColor: this.colors()[token] };\n };\n\n backgroundImage = (url?: string): NullableStyleExpression => {\n return !url ? undefined : { backgroundImage: `url(${url})` };\n };\n\n getContainerColors = (color: Variant, useVariant?: boolean) => {\n const token = (color + '-container') as ContainerColorToken;\n return this.colorPair(token, useVariant);\n };\n\n typeface = (typeface?: Typeface) => {\n const typefaces = this.typeFaces();\n return typeface && typefaces[typeface];\n };\n\n colorPalette = () => this.colors();\n\n color(color?: ColorKey): NullableStyleExpression {\n return !color ? undefined : { color: this.colors()[color] };\n }\n\n getDashedBorder(\n color: ColorKey | undefined,\n radius: Radius | undefined\n ): NullableStyleExpression {\n if (!color) return;\n\n const r = radius && this.radii()[radius];\n const borderRadius = r ? safeParseInt(r) : 0;\n const colors = this.colors()[color];\n const strokeColor = colors?.replace('#', '%23');\n\n return {\n backgroundImage: `url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='${borderRadius}' ry='${borderRadius}' stroke='${strokeColor}' stroke-width='4' stroke-dasharray='6%2c 14' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e\")`,\n borderRadius,\n };\n }\n\n radius(size: Radius | undefined): NullableStyleExpression {\n return !size ? undefined : { borderRadius: this.radii()[size] };\n }\n\n getRadiusLeft(size: Radius | undefined): NullableStyleExpression {\n if (!size) return;\n return {\n borderBottomLeftRadius: this.radii()[size],\n borderTopLeftRadius: this.radii()[size],\n };\n }\n\n getRadiusRight(size: Radius | undefined): NullableStyleExpression {\n if (!size) return;\n return {\n borderBottomRightRadius: this.radii()[size],\n borderTopRightRadius: this.radii()[size],\n };\n }\n\n getRadiusTop(size: Radius | undefined): NullableStyleExpression {\n if (!size) return;\n return {\n borderTopLeftRadius: this.radii()[size],\n borderTopRightRadius: this.radii()[size],\n };\n }\n\n getRadiusBottom(size: Radius | undefined): NullableStyleExpression {\n if (!size) return;\n return {\n borderBottomLeftRadius: this.radii()[size],\n borderBottomRightRadius: this.radii()[size],\n };\n }\n\n padding(size: OptionalSize): NullableStyleExpression {\n return !size ? undefined : { padding: this.spacing()[size] };\n }\n\n horizontalPadding(size: OptionalSize): NullableStyleExpression {\n return !size ? undefined : { paddingInline: this.spacing()[size] };\n }\n\n verticalPadding(size: OptionalSize): NullableStyleExpression {\n return !size ? undefined : { paddingBlock: this.spacing()[size] };\n }\n\n paddingLeft(size: OptionalSize): NullableStyleExpression {\n return !size ? undefined : { paddingLeft: this.spacing()[size] };\n }\n\n paddingRight(size: OptionalSize): NullableStyleExpression {\n return !size ? undefined : { paddingRight: this.spacing()[size] };\n }\n\n paddingTop(size: OptionalSize): NullableStyleExpression {\n return !size ? undefined : { paddingTop: this.spacing()[size] };\n }\n\n paddingBottom(size: OptionalSize): NullableStyleExpression {\n return !size ? undefined : { paddingBottom: this.spacing()[size] };\n }\n\n border(border: Border | undefined): NullableStyleExpression {\n return !border ? undefined : { border: this.borders()[border] };\n }\n\n borderTop(border: Border | undefined): NullableStyleExpression {\n return !border ? undefined : { borderTop: this.borders()[border] };\n }\n\n borderBottom(border: Border | undefined): NullableStyleExpression {\n return !border ? undefined : { borderBottom: this.borders()[border] };\n }\n\n borderLeft(border: Border | undefined): NullableStyleExpression {\n return !border ? undefined : { borderLeft: this.borders()[border] };\n }\n\n borderRight(border: Border | undefined): NullableStyleExpression {\n return !border ? undefined : { borderRight: this.borders()[border] };\n }\n\n boxShadow(shadow: Shadow | undefined) {\n return !shadow ? undefined : { boxShadow: this.shadows()[shadow] };\n }\n\n gap(gap: OptionalSize): NullableStyleExpression {\n return !gap || gap === 'none' ? undefined : { gap: this.spacing()[gap] };\n }\n\n zIndex(element: ZIndexableElements | undefined): NullableStyleExpression {\n return !element ? undefined : { zIndex: Z_INDEX[element] };\n }\n\n borderColor(borderColor: ColorToken): NullableStyleExpression {\n return { borderColor: this.colors()[borderColor] };\n }\n\n getComponentTheme<T>(componentName: ComponentName) {\n return this.component<T>(componentName);\n }\n\n // Used to get an \"always-defined\" options object from a component theme.\n getComponentOptions = <T>(componentName: ComponentName) =>\n linkedSignal({\n source: this.getComponentTheme<T>(componentName),\n computation: () => {\n return this.getComponentTheme<T>(componentName)().options || ({} as T);\n },\n });\n\n componentOptions = (componentName: ComponentName) =>\n computed(() => this.component(componentName)().options || {});\n\n style(prop: string, value: string | number | undefined): NullableStyleExpression {\n return !value ? undefined : { [prop]: value };\n }\n}\n","import { Component, HostBinding, inject, input } from '@angular/core';\nimport { css } from '@emotion/css';\nimport { ThemeService } from '../../theming';\n\nexport type ImagePosition = 'top' | 'bottom' | 'left' | 'right' | 'center' | string;\n\n@Component({\n selector: 'uni-background, Background',\n standalone: true,\n imports: [],\n template: `<ng-content></ng-content>`,\n})\nexport class UniBackgroundComponent {\n theme = inject(ThemeService);\n\n image = input<string>();\n imagePosition = input<ImagePosition>();\n imageSize = input<'cover' | 'contain' | number | string>();\n height = input<number | string>('100%');\n width = input<number | string>();\n\n @HostBinding('class') get className() {\n return css([\n {\n backgroundRepeat: 'no-repeat',\n display: 'block',\n ...this.theme.backgroundImage(this.image()),\n },\n this.theme.style('backgroundPosition', this.imagePosition()),\n this.theme.style('backgroundSize', this.imageSize()),\n this.theme.style('height', this.height()),\n this.theme.style('width', this.width()),\n ]);\n }\n}\n","/**\n * Background Component Barrel File\n *\n * This file exports all public-facing elements of the background component.\n */\n\nexport { UniBackgroundComponent } from './background.component';\nexport type { ImagePosition } from './background.component';\n","import { Component, computed, inject, InjectionToken, input } from '@angular/core';\nimport type { ComponentName, Size, Variant } from '@uni-design-system/uni-core';\nimport { ThemeService } from '../../theming';\n\nexport const COMPONENT_NAME = new InjectionToken<ComponentName>('');\n\n@Component({\n standalone: true,\n imports: [],\n template: ``,\n})\nexport class BaseComponent<T = unknown> {\n protected componentName = inject(COMPONENT_NAME);\n theme = inject(ThemeService);\n\n variant = input<Variant>('primary'); // TODO: Make Variant support undefined\n size = input<Size>('lg');\n\n componentTheme = computed(() => this.theme.getComponentTheme<T>(this.componentName)());\n\n componentOptions = computed(() => this.theme.getComponentOptions<T>(this.componentName)());\n\n style = computed(() =>\n this.theme.componentStyle(this.componentName, this.variant(), this.size())()\n );\n}\n","import { Component, HostBinding, input, Input } from '@angular/core';\nimport { css } from '@emotion/css';\n\nimport { BaseComponent } from '../base';\nimport { COMPONENT_NAME } from '../base/base.component';\nimport type { UniBadgeOptions } from './badge.model';\nimport type { Variant } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'div[uni-badge], Badge',\n standalone: true,\n imports: [],\n template: `<ng-content></ng-content>`,\n providers: [{ provide: COMPONENT_NAME, useValue: 'badge' }],\n})\nexport class UniBadgeComponent extends BaseComponent<UniBadgeOptions> {\n color = input<Variant | undefined>(undefined);\n useVariant = input<boolean>(false);\n\n @Input() width?: number;\n\n @HostBinding('class') get className() {\n const color = this.color();\n\n return css([\n {\n ...this.theme.getContainerColors(color || 'primary', this.useVariant()),\n ...this.theme.typeface('badge'),\n display: 'inline-block',\n padding: '0 16px',\n ...this.theme.radius(this.componentOptions().borderRadius),\n textAlign: 'center',\n letterSpacing: 1,\n },\n this.width && {\n minWidth: this.width - 32,\n },\n ]);\n }\n}\n","import { Component, HostBinding, inject, input, Input } from '@angular/core';\nimport { css } from '@emotion/css';\n\nimport { ThemeService } from '../../theming/theme.service';\nimport type { ColorToken, Icons } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'uni-icon, Icon',\n standalone: true,\n imports: [],\n template: '',\n styleUrls: ['./icon.component.scss'],\n})\nexport class UniIconComponent {\n private themeService = inject(ThemeService);\n\n color = input<ColorToken>();\n\n @HostBinding('style.-webkit-mask-image')\n protected _path!: string;\n\n @HostBinding('class') get className() {\n return css([{ ...this.themeService.color(this.color()) }]);\n }\n\n @Input()\n public set name(iconName: keyof Icons) {\n const theme = this.themeService.theme();\n this._path = `url(\"${theme.icons[iconName]}\")`;\n }\n}\n","import { Component, HostBinding, inject, input } from '@angular/core';\nimport { css } from '@emotion/css';\n\nimport type {\n ContainerColorToken,\n OptionalAlignContent,\n OptionalAlignItems,\n OptionalAlignSelf,\n OptionalBorder,\n OptionalColor,\n OptionalDisplay,\n OptionalFlexDirection,\n OptionalJustifyContent,\n OptionalOverflow,\n OptionalPosition,\n OptionalRadius,\n OptionalSize,\n OptionalTextAlign,\n OptionalWrap,\n Shadow,\n Variant,\n ZIndexableElements,\n} from '@uni-design-system/uni-core';\n\nimport { ThemeService } from '../../../theming';\n\n@Component({\n selector: 'div[uni-box-layout], Box, div[box-layout]',\n standalone: true,\n imports: [],\n template: `<ng-content></ng-content>`,\n})\nexport class UniBoxComponent {\n theme = inject(ThemeService);\n\n color = input<ContainerColorToken>();\n backgroundColor = input<OptionalColor>();\n borderRadius = input<OptionalRadius>();\n borderRadiusLeft = input<OptionalRadius>();\n borderRadiusRight = input<OptionalRadius>();\n borderRadiusTop = input<OptionalRadius>();\n borderRadiusBottom = input<OptionalRadius>();\n padding = input<OptionalSize>();\n paddingHorizontal = input<OptionalSize>();\n paddingVertical = input<OptionalSize>();\n paddingLeft = input<OptionalSize>();\n paddingRight = input<OptionalSize>();\n paddingTop = input<OptionalSize>();\n paddingBottom = input<OptionalSize>();\n border = input<OptionalBorder>();\n borderTop = input<OptionalBorder>();\n borderBottom = input<OptionalBorder>();\n borderLeft = input<OptionalBorder>();\n borderRight = input<OptionalBorder>();\n dashBorder = input<boolean>(false);\n alignSelf = input<OptionalAlignSelf>();\n alignItems = input<OptionalAlignItems>();\n alignContent = input<OptionalAlignContent>();\n justifyContent = input<OptionalJustifyContent>();\n grow = input<number>();\n display = input<OptionalDisplay>();\n position = input<OptionalPosition>();\n inset = input<number | string>();\n height = input<number | string>();\n minHeight = input<number | string>();\n maxHeight = input<number | string>();\n width = input<number | string>();\n minWidth = input<number | string>();\n maxWidth = input<number | string>();\n ignoreDir = input(true);\n gridArea = input<string>();\n gridColumn = input<string>();\n gridRow = input<string>();\n overflow = input<OptionalOverflow>();\n elevation = input<Shadow>(); // Deprecated, use shadow instead\n shadow = input<Shadow>();\n gap = input<OptionalSize>();\n fullWidth = input<boolean>();\n fullHeight = input<boolean>();\n flexDirection = input<OptionalFlexDirection>();\n textAlign = input<OptionalTextAlign>();\n wrapItems = input<OptionalWrap>(undefined);\n zIndex = input<ZIndexableElements>();\n\n @HostBinding('class') get boxClassName() {\n return css([\n {\n ...this.theme.colorPair(this.color()),\n ...this.theme.backgroundColor(this.backgroundColor()),\n display: this.alignSelf() ? 'flex' : 'block',\n position: this.position(),\n inset: this.inset(),\n boxSizing: 'border-box',\n height: this.height(),\n minHeight: this.minHeight(),\n maxHeight: this.maxHeight(),\n width: this.width(),\n minWidth: this.minWidth(),\n maxWidth: this.maxWidth(),\n flexWrap: this.wrapItems(),\n overflow: this.overflow(),\n ...this.theme.padding(this.padding()),\n ...this.theme.horizontalPadding(this.paddingHorizontal()),\n ...this.theme.verticalPadding(this.paddingVertical()),\n ...this.theme.paddingLeft(this.paddingLeft()),\n ...this.theme.paddingRight(this.paddingRight()),\n ...this.theme.paddingTop(this.paddingTop()),\n ...this.theme.paddingBottom(this.paddingBottom()),\n ...this.theme.boxShadow(this.elevation()),\n ...this.theme.boxShadow(this.shadow()),\n ...this.theme.radius(this.borderRadius()),\n ...this.theme.getRadiusLeft(this.borderRadiusLeft()),\n ...this.theme.getRadiusRight(this.borderRadiusRight()),\n ...this.theme.getRadiusTop(this.borderRadiusTop()),\n ...this.theme.getRadiusBottom(this.borderRadiusBottom()),\n ...this.theme.borderTop(this.borderTop()),\n ...this.theme.borderBottom(this.borderBottom()),\n ...this.theme.borderLeft(this.borderLeft()),\n ...this.theme.borderRight(this.borderRight()),\n ...this.theme.gap(this.gap()),\n ...this.theme.style('display', this.display()),\n ...this.theme.style('alignSelf', this.alignSelf()),\n ...this.theme.style('alignItems', this.alignItems()),\n ...this.theme.style('justifyContent', this.justifyContent()),\n ...this.theme.style('alignContent', this.alignContent()),\n ...this.theme.style('flexGrow', this.grow()),\n ...this.theme.style('flexDirection', this.flexDirection()),\n ...this.theme.style('gridArea', this.gridArea()),\n ...this.theme.style('gridColumn', this.gridColumn()),\n ...this.theme.style('gridRow', this.gridRow()),\n ...this.theme.style('textAlign', this.textAlign()),\n ...this.theme.zIndex(this.zIndex()),\n },\n this.border() &&\n !this.dashBorder() && {\n ...this.theme.border(this.border()),\n },\n this.border() &&\n this.dashBorder() && {\n ...this.theme.getDashedBorder(this.border() as Variant, this.borderRadius()),\n },\n\n this.fullWidth() && {\n width: '100%',\n },\n this.fullHeight() && {\n height: '100%',\n },\n\n this.ignoreDir() &&\n (this.flexDirection() ?? 'row') === 'row' && {\n '&:dir(rtl)': {\n flexDirection: 'row-reverse',\n },\n },\n this.ignoreDir() &&\n (this.flexDirection() ?? 'row') === 'row-reverse' && {\n '&:dir(rtl)': {\n flexDirection: 'row',\n },\n },\n ]);\n }\n}\n","import { Component, input } from '@angular/core';\nimport { UniBoxComponent } from '../box/box.component';\nimport type {\n OptionalAlignItems,\n OptionalDisplay,\n OptionalJustifyContent,\n} from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'div[uni-center-layout], div[center-layout]',\n standalone: true,\n imports: [],\n template: `<ng-content></ng-content>`,\n})\nexport class UniCenterComponent extends UniBoxComponent {\n override display = input<OptionalDisplay>('flex');\n override justifyContent = input<OptionalJustifyContent>('center');\n override alignItems = input<OptionalAlignItems>('center');\n\n constructor() {\n super();\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { css } from '@emotion/css';\n\n@Component({\n selector: 'GridArea',\n standalone: true,\n imports: [],\n template: `<ng-content></ng-content>`,\n})\nexport class UniGridAreaComponent {\n @Input() area!: string;\n\n @HostBinding('class') get className() {\n return css([{ gridArea: this.area }]);\n }\n}\n","import { Component, HostBinding, input, Input } from '@angular/core';\nimport { css } from '@emotion/css';\n\nimport { UniBoxComponent } from '../box/box.component';\nimport type { OptionalDisplay, Thickness, Variant } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'div[uni-grid-layout], Grid, div[grid-layout]',\n standalone: true,\n imports: [],\n template: `<ng-content></ng-content>`,\n})\nexport class UniGridComponent extends UniBoxComponent {\n override display = input<OptionalDisplay>('grid');\n\n constructor() {\n super();\n }\n\n @Input() templateAreas?: string;\n @Input() templateColumns?: string;\n @Input() templateRows?: string;\n @Input() outline?: Thickness;\n @Input() outlineColor?: Variant;\n\n @HostBinding('class')\n get className() {\n return css([\n this.templateAreas && {\n gridTemplateAreas: this.templateAreas,\n },\n this.templateColumns && {\n gridTemplateColumns: this.templateColumns,\n },\n this.templateRows && {\n gridTemplateRows: this.templateRows,\n },\n this.outline && {\n gap: this.theme.getThickness(this.outline),\n },\n this.outlineColor && {\n backgroundColor: this.theme.colorPalette()[this.outlineColor],\n },\n ]);\n }\n}\n","import { Component, input } from '@angular/core';\nimport { UniBoxComponent } from '../box/box.component';\nimport type { OptionalDisplay, OptionalFlexDirection } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'div[uni-row-layout], Row, div[row-layout]',\n standalone: true,\n template: `<ng-content></ng-content>`,\n})\nexport class UniRowComponent extends UniBoxComponent {\n override display = input<OptionalDisplay>('flex');\n override flexDirection = input<OptionalFlexDirection>('row');\n override minWidth = input<number | string | undefined>('fit-content');\n\n constructor() {\n super();\n }\n}\n","import { Component, input } from '@angular/core';\nimport { UniBoxComponent } from '../box/box.component';\nimport type { OptionalDisplay, OptionalFlexDirection } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'div[uni-stack-layout], Stack, div[stack-layout]',\n standalone: true,\n template: `<ng-content></ng-content>`,\n})\nexport class UniStackComponent extends UniBoxComponent {\n override display = input<OptionalDisplay>('flex');\n override flexDirection = input<OptionalFlexDirection>('column');\n override minHeight = input<number | string | undefined>('fit-content');\n\n constructor() {\n super();\n }\n}\n","import { Component, input } from '@angular/core';\n\nimport { UniBoxComponent } from '../box/box.component';\nimport type { OptionalDisplay, OptionalWrap } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'div[uni-wrap-layout], Wrap, div[wrap-layout]',\n imports: [],\n template: `<ng-content></ng-content>`,\n})\nexport class UniWrapComponent extends UniBoxComponent {\n override display = input<OptionalDisplay>('flex');\n override wrapItems = input<OptionalWrap>('wrap');\n\n constructor() {\n super();\n }\n}\n","import { Component, HostBinding, input, Input } from '@angular/core';\nimport { css } from '@emotion/css';\nimport { BaseComponent } from '../base';\nimport type { SymbolFill, SymbolGrade, SymbolOptions, SymbolWeight } from './symbol.model';\nimport { COMPONENT_NAME } from '../base/base.component';\n\n@Component({\n selector: 'uni-symbol, Symbol',\n standalone: true,\n imports: [],\n template: `{{ name() }}`,\n providers: [{ provide: COMPONENT_NAME, useValue: 'symbol' }],\n})\nexport class UniSymbolComponent extends BaseComponent<SymbolOptions> {\n name = input.required<string>();\n\n fill = input<SymbolFill>();\n weight = input<SymbolWeight>();\n grade = input<SymbolGrade>();\n opticalSize = input<number>();\n\n @HostBinding('class') get className() {\n const settings =\n `'FILL' ${this.fill() || this.componentOptions().fill || 0}, ` +\n `'wght' ${this.weight() || this.componentOptions().weight || 400}, ` +\n `'GRAD' ${this.grade() || this.componentOptions().grade || 0}, ` +\n `'opsz' ${this.opticalSize() || this.componentOptions().opticalSize || 24}`;\n\n return (\n 'material-symbols-rounded ' +\n css({\n fontVariationSettings: settings,\n fontSize: `${this.opticalSize() || this.componentOptions().opticalSize || 24}px`,\n })\n );\n }\n}\n","// https://css-tricks.com/how-to-recreate-the-ripple-effect-of-material-design-buttons/\nimport { Directive, ElementRef, HostListener, inject, Renderer2 } from '@angular/core';\nimport { css } from '@emotion/css';\n\n@Directive({\n selector: '[uniRipple]',\n standalone: true,\n})\nexport class RippleDirective {\n private renderer = inject(Renderer2);\n el = inject(ElementRef);\n\n hostEl;\n\n constructor() {\n this.hostEl = this.el.nativeElement;\n }\n\n @HostListener('click', ['$event']) onClick(e: MouseEvent) {\n if (!e) return;\n let ripple, d;\n if (this.hostEl.querySelector(`.${this.rippleClass}`) === null) {\n ripple = this.renderer.createElement('span');\n this.renderer.addClass(ripple, this.rippleClass);\n this.renderer.appendChild(this.hostEl, ripple);\n }\n\n ripple = this.hostEl.querySelector(`.${this.rippleClass}`);\n this.renderer.appendChild(this.hostEl, ripple);\n this.renderer.removeClass(ripple, this.animateClass);\n\n if (!ripple.offsetHeight && !ripple.offsetWidth) {\n d = Math.max(this.hostEl.offsetWidth, this.hostEl.offsetHeight);\n this.renderer.setStyle(ripple, 'width', d + 'px');\n this.renderer.setStyle(ripple, 'height', d + 'px');\n }\n\n const x = e.pageX - this.hostEl.offsetLeft - ripple.offsetWidth / 2;\n const y = e.pageY - this.hostEl.offsetTop - ripple.offsetHeight / 2;\n\n this.renderer.setStyle(ripple, 'top', y + 'px');\n this.renderer.setStyle(ripple, 'left', x + 'px');\n this.renderer.addClass(ripple, this.animateClass);\n }\n\n rippleClass = css({\n display: 'block',\n position: 'absolute',\n background: 'rgba(255, 255, 255, 0.3)',\n borderRadius: '100%',\n transform: 'scale(0)',\n });\n\n animateClass = css({\n animation: 'ripple 0.65s linear',\n\n '@keyframes ripple': {\n '100%': {\n opacity: 0,\n transform: 'scale(2.5)',\n },\n },\n });\n}\n","import { Component, computed, HostBinding, input, Input } from '@angular/core';\nimport { css } from '@emotion/css';\n\nimport { BaseComponent, COMPONENT_NAME } from '../base/base.component';\nimport { UniIconComponent } from '../icon';\nimport { UniBoxComponent } from '../layout';\nimport { UniSymbolComponent } from '../symbol';\nimport { RippleDirective } from '../../directives/ripple';\n\n@Component({\n selector: 'button[uni-text-button], Button, button[text-button]',\n template: `@if (loading()) {\n <Box [class]=\"spinnerBox\"><uni-icon name=\"spinner\" /></Box>\n }\n @if (symbolLeft) {\n <Symbol [name]=\"symbolLeft\" class=\"symbolLeft\" />\n }\n <span><ng-content></ng-content></span>\n @if (symbolRight) {\n <Symbol [name]=\"symbolRight\" class=\"symbolRight\" />\n } `,\n providers: [{ provide: COMPONENT_NAME, useValue: 'button' }],\n imports: [\n RippleDirective, // Keep this import\n UniIconComponent,\n UniBoxComponent,\n UniSymbolComponent,\n ],\n host: {\n '[attr.disabled]': 'disable() || loading() || null',\n },\n hostDirectives: [{ directive: RippleDirective }],\n})\nexport class UniButtonComponent extends BaseComponent {\n readonly disable = input<boolean | undefined>(false);\n readonly loading = input<boolean | undefined>(false);\n readonly fullWidth = input<boolean>(false);\n\n @Input() symbolLeft?: string;\n @Input() symbolRight?: string;\n\n spinnerBox = css({\n position: 'absolute',\n left: 0,\n width: '100%',\n height: '100%',\n paddingTop: '6%',\n paddingBottom: '6%',\n });\n\n @HostBinding('class') get className() {\n return css([\n this.style() && {\n ...this.style(), // TODO: Set priority on theme-defined styles\n },\n {\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n overflow: 'hidden',\n outline: 0,\n border: 0,\n cursor: 'pointer',\n transition: 'all 0.28s ease',\n\n '&:disabled': {\n cursor: 'not-allowed !important',\n },\n '& .symbolLeft': {\n marginLeft: -6,\n marginRight: 4,\n fontSize: this.symbolSize(),\n },\n '& span': {\n alignContent: 'center',\n flexGrow: 1,\n whiteSpace: 'nowrap',\n },\n '& .symbolRight': {\n marginRight: -6,\n marginLeft: 4,\n fontSize: this.symbolSize(),\n },\n },\n this.variant() !== 'ghost' && {\n '&:hover, &:focus': {\n ...this.theme.boxShadow('raised'),\n },\n '&:focus-visible': {\n outline: `2px solid ${this.theme.colors()[this.variant()]}`,\n outlineOffset: '2px',\n },\n },\n this.variant() === 'ghost' && {\n '&:hover, &:focus': {\n backgroundColor: 'rgba(0,0,0,0.1) !important',\n },\n '&:focus-visible': {\n outline: `2px solid ${this.theme.colors()[this.variant()]}`,\n outlineOffset: '2px',\n },\n },\n this.fullWidth() && {\n width: '100%',\n },\n !this.loading() && {\n '&:disabled': {\n ...this.componentTheme().colors?.disabled,\n },\n },\n this.loading() && {\n '&:disabled symbol': {\n opacity: 0,\n },\n '&:disabled span': {\n opacity: 0,\n },\n },\n ]);\n }\n\n symbolSize = computed(() => {\n const style = this.style();\n const fontString = style['fontSize'] as string;\n const fontSize = parseFloat(fontString);\n return fontSize + 4;\n });\n}\n","import { Component, HostBinding, inject } from '@angular/core';\nimport { css } from '@emotion/css';\nimport { ThemeService } from '../../theming';\n\n@Component({\n selector: 'uni-button-group, ButtonGroup',\n standalone: true,\n imports: [],\n template: ` <ng-content></ng-content>`,\n})\nexport class UniButtonGroupComponent {\n private themeService = inject(ThemeService);\n\n @HostBinding('class') get className() {\n return css({\n display: 'inline-flex',\n\n '& button': {\n ...this.themeService.border('quaternary'),\n marginRight: -1,\n },\n\n '& button:first-child': {\n borderTopLeftRadius: 4,\n borderBottomLeftRadius: 4,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n },\n\n '& button:not(:first-child):not(:last-child)': {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n },\n\n '& button:last-child': {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 4,\n borderBottomRightRadius: 4,\n marginRight: 0,\n },\n });\n }\n}\n","/**\n * UniButtonGroupComponent Barrel File\n *\n * This file exports all public-facing elements of the button-group component.\n */\n\nexport { UniButtonGroupComponent } from './button-group.component';\nexport type { ButtonGroupConfig, ButtonGroupItem } from './button-group.model';\n","import { Component } from '@angular/core';\nimport { BaseComponent, COMPONENT_NAME } from '../../base/base.component';\n\n@Component({\n selector: 'uni-card-content, CardContent',\n standalone: true,\n imports: [],\n templateUrl: './card-content.component.html',\n providers: [{ provide: COMPONENT_NAME, useValue: 'cardContent' }],\n styleUrls: ['./card-content.component.scss'],\n})\nexport class UniCardContentComponent extends BaseComponent {}\n","<div [style]=\"style()\">\n <ng-content></ng-content>\n</div>\n","import { Component, HostBinding, inject, input } from '@angular/core';\nimport { css } from '@emotion/css';\n\nimport type {\n ColorKey,\n OptionalDisplay,\n OptionalTextAlign,\n Typeface,\n} from '@uni-design-system/uni-core';\nimport { ThemeService } from '../../theming';\n\n@Component({\n selector: 'uni-text, Text',\n standalone: true,\n imports: [],\n template: '<ng-content></ng-content>',\n})\nexport class UniTextComponent {\n theme = inject(ThemeService);\n\n typeface = input<Typeface>('title-small');\n color = input<ColorKey>();\n display = input<OptionalDisplay>();\n align = input<OptionalTextAlign>();\n nowrap = input<boolean>();\n maxWidth = input<number>();\n ellipsis = input<boolean>(false);\n\n @HostBinding('class') get className() {\n return css([\n {\n ...this.theme.typeface(this.typeface()),\n ...this.theme.color(this.color()),\n display: this.display(),\n },\n this.align() && {\n textAlign: this.align(),\n },\n this.nowrap() && {\n whiteSpace: 'nowrap',\n },\n this.maxWidth() && {\n maxWidth: this.maxWidth(),\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n display: 'inline-block',\n },\n this.ellipsis() && {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n minWidth: 0,\n },\n ]);\n }\n}\n","import { Component } from '@angular/core';\nimport { BaseComponent, COMPONENT_NAME } from '../base/base.component';\nimport type { UniCardOptions } from './card.model';\n\n@Component({\n selector: 'uni-card, Card',\n standalone: true,\n imports: [],\n templateUrl: './card.component.html',\n providers: [{ provide: COMPONENT_NAME, useValue: 'card' }],\n})\nexport class UniCardComponent extends BaseComponent<UniCardOptions> {}\n","<div [style]=\"style()\">\n <ng-content></ng-content>\n</div>\n","import { NgClass } from '@angular/common';\nimport { Component, inject, input } from '@angular/core';\nimport { css } from '@emotion/css';\nimport { BaseComponent, COMPONENT_NAME } from '../../base/base.component';\nimport { UniTextComponent } from '../../text';\nimport { UniCardComponent } from '../card.component';\nimport type { Typeface } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'uni-card-header, CardHeader',\n standalone: true,\n imports: [UniTextComponent, NgClass],\n templateUrl: './card-header.component.html',\n providers: [{ provide: COMPONENT_NAME, useValue: 'cardHeader' }],\n styleUrls: ['./card-header.component.scss'],\n})\nexport class UniCardHeaderComponent extends BaseComponent {\n private card = inject(UniCardComponent, {\n optional: true,\n host: true,\n skipSelf: true,\n });\n\n title = input<string>('');\n titleTextRole = input<Typeface>('title-large');\n\n constructor() {\n super();\n\n // this.variant = this.card?.variant;\n }\n\n className = css({\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n });\n}\n","<div [style]=\"style()\" [ngClass]=\"className\">\n <Text [typeface]=\"titleTextRole()\">{{ title() }}</Text>\n <ng-content></ng-content>\n</div>\n","import { Component, computed, effect, input, model } from '@angular/core';\nimport { FormCheckboxControl } from '@angular/forms/signals';\nimport { css } from '@emotion/css';\nimport type { ColorToken } from '@uni-design-system/uni-core';\nimport { BaseComponent } from '../base';\nimport { COMPONENT_NAME } from '../base/base.component';\nimport { UniTextComponent } from '../text/text.component';\nimport type { UniCheckboxOptions } from './checkbox.model';\n\n@Component({\n selector: 'uni-checkbox, Checkbox',\n standalone: true,\n imports: [UniTextComponent],\n templateUrl: './checkbox.component.html',\n providers: [{ provide: COMPONENT_NAME, useValue: 'checkbox' }],\n})\nexport class UniCheckboxComponent\n extends BaseComponent<UniCheckboxOptions>\n implements FormCheckboxControl\n{\n checkboxLabel!: string;\n checkboxInput!: string;\n\n // --- REQUIRED SIGNALS (populated by FormCheckboxControl) ---\n readonly checked = model<boolean>(false);\n readonly disabled = input(false);\n readonly touched = model(false);\n readonly invalid = input(false);\n readonly dirty = input(false);\n\n // --- CONFIGURATION ---\n readonly label = input<string>();\n\n // Only show errors if the user has actually interacted with the field\n protected readonly showError = computed(\n () => this.invalid() && (this.touched() || this.dirty())\n );\n\n markAsTouched() {\n this.touched.set(true);\n }\n\n constructor() {\n super();\n\n effect(() => {\n this.checkboxLabel = css({\n userSelect: 'none',\n cursor: this.disabled() ? 'not-allowed' : 'pointer',\n marginBottom: 0,\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n opacity: this.disabled() ? 0.6 : 1,\n\n '&:hover .checkbox svg path': this.disabled()\n ? {}\n : {\n strokeDashoffset: 0,\n },\n\n '& .checkbox': {\n height: this.componentOptions().size,\n width: this.componentOptions().size,\n },\n\n '& .checkbox svg': {\n display: 'block',\n },\n\n '& .checkbox svg .checkbox-box': {\n fill: '#FFF',\n stroke: this.getThemeColor(this.variant()),\n strokeWidth: 2,\n rx: this.componentOptions().borderRadius || 2,\n ry: this.componentOptions().borderRadius || 2,\n transition: 'all 0.2s ease',\n },\n\n '& .checkbox svg .checkbox-check': {\n fill: 'none',\n stroke: '#FFF',\n strokeWidth: 2,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n strokeDasharray: 18,\n strokeDashoffset: 18,\n transition: 'all 0.5s ease',\n },\n });\n\n this.checkboxInput = css({\n position: 'absolute',\n zIndex: -1,\n width: 0,\n height: 0,\n opacity: 0,\n\n '&:checked + .checkbox': {\n borderColor: this.getThemeColor(this.variant()),\n },\n\n '&:checked + .checkbox svg .checkbox-box': {\n fill: this.getThemeColor(this.variant()),\n },\n\n '&:checked + .checkbox svg .checkbox-check': {\n strokeDashoffset: 0,\n },\n\n '&:disabled + .checkbox': {\n cursor: 'not-allowed',\n },\n\n '&:focus + .checkbox': {\n position: 'relative',\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n top: '-4px',\n left: '-4px',\n right: '-4px',\n bottom: '-4px',\n border: `2px solid ${this.getThemeColor(this.variant())}`,\n borderRadius: `${(Number(this.componentOptions().borderRadius) || 2) + 4}px`,\n pointerEvents: 'none',\n },\n },\n });\n });\n }\n\n getThemeColor(token: ColorToken) {\n const colors = this.theme.colors();\n return colors[token] ? colors[token] : colors['primary'];\n }\n}\n","<label [class]=\"checkboxLabel\">\n <input\n type=\"checkbox\"\n [class]=\"checkboxInput\"\n [checked]=\"checked()\"\n (change)=\"checked.set($any($event.target).checked); markAsTouched()\"\n [disabled]=\"disabled()\"\n />\n <div class=\"checkbox\">\n <svg viewBox=\"0 0 20 20\">\n <rect class=\"checkbox-box\" x=\"1\" y=\"1\" width=\"18\" height=\"18\"></rect>\n <polyline class=\"checkbox-check\" points=\"4 11 8 15 16 6\"></polyline>\n </svg>\n </div>\n @if (label()) {\n <Text typeface=\"label\">{{ label() }}</Text>\n }\n</label>\n","import { Directive, ElementRef, inject, OnInit, Renderer2 } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[uniBodyRender]',\n})\nexport class BodyRenderDirective implements OnInit {\n private el = inject(ElementRef);\n private renderer = inject(Renderer2);\n\n ngOnInit() {\n const element = this.el.nativeElement;\n this.renderer.appendChild(document.body, element);\n }\n}\n","import { Directive, output, signal } from '@angular/core';\n\n@Directive({\n selector: '[uni-drag-n-drop], [dragAndDrop]',\n standalone: true,\n host: {\n '[style.opacity]': 'workspaceOpacity()',\n '(dragover)': 'onDragOver($event)',\n '(dragleave)': 'onDragLeave($event)',\n '(drop)': 'onDrop($event)',\n },\n})\nexport class DragAndDropDirective {\n onFileDropped = output<FileList>();\n\n protected workspaceOpacity = signal('1');\n\n // Dragover listener, when files are dragged over our host element\n onDragOver(event: DragEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.workspaceOpacity.set('0.5');\n }\n\n // Dragleave listener, when files are dragged away from our host element\n onDragLeave(event: DragEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.workspaceOpacity.set('1');\n }\n\n // Drop listener, when files are dropped on our host element\n onDrop(event: DragEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.workspaceOpacity.set('1');\n const files = event.dataTransfer?.files;\n if (files && files.length > 0) {\n this.onFileDropped.emit(files);\n }\n }\n}\n","import { Component, HostBinding, inject, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { css } from '@emotion/css';\n\nimport { type IconName } from '../icon/icon.record';\nimport { RippleDirective } from '../../directives';\nimport { UniSymbolComponent } from '../symbol';\nimport { UniIconComponent } from '../icon';\nimport { ThemeService } from '../../theming/theme.service';\nimport type { Size, Variant } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'button[uni-icon-button], button[icon-button]',\n standalone: true,\n imports: [\n RippleDirective,\n UniSymbolComponent,\n UniIconComponent,\n // Keep this import\n ],\n template: `\n @if (symbolName && !loading) {\n <Symbol [name]=\"symbolName\" [opticalSize]=\"opticalSize\" />\n } @else if (iconName && !loading) {\n <Icon [name]=\"iconName\" />\n }\n `,\n host: {\n '[attr.disabled]': 'disable || loading || null',\n },\n hostDirectives: [{ directive: RippleDirective }],\n})\nexport class UniIconButtonComponent implements OnChanges {\n private theme = inject(ThemeService);\n config = this.theme.component('iconButton');\n\n @Input() iconName?: IconName;\n @Input() symbolName?: string;\n @Input() variant: Variant = 'ghost';\n @Input() size: Size = 'lg';\n @Input() disable?: boolean;\n @Input() loading?: boolean;\n @Input() opticalSize = 24;\n\n @HostBinding('class') get className() {\n const { sizes, colors } = this.config();\n const sizeConfig = sizes && sizes[this.size];\n const colorConfig = colors && colors[this.variant];\n\n return css([\n {\n position: 'relative',\n overflow: 'hidden',\n outline: 0,\n border: 0,\n cursor: 'pointer',\n transition: 'all 0.28s ease',\n borderRadius: 999,\n display: 'block',\n\n '&:disabled': {\n cursor: 'not-allowed !important',\n },\n\n '& symbol': {\n fontSize: 'inherit',\n lineHeight: 'inherit',\n },\n },\n sizeConfig && {\n ...sizeConfig,\n },\n colorConfig && {\n ...colorConfig,\n },\n this.symbolName &&\n !this.loading && {\n padding: 0,\n },\n this.variant !== 'ghost' && {\n '&:hover': {\n ...this.theme.boxShadow('raised'),\n },\n },\n this.variant === 'ghost' && {\n '&:hover': {\n backgroundColor: 'rgba(0,0,0,0.1)',\n },\n },\n !this.loading && {\n '&:disabled': {\n ...this.config().colors?.disabled,\n },\n },\n ]);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const { sizes, colors } = this.config();\n const sizeConfig = sizes && sizes[this.size];\n\n if (this.loading) this.iconName = 'spinner';\n }\n}\n","import { Component, effect, input, signal } from '@angular/core';\nimport { css } from '@emotion/css';\nimport { UniDatasource, UniRecordDatasource, UniServerSideDatasource } from '../../cdk';\nimport { BaseComponent } from '../base';\nimport { COMPONENT_NAME } from '../base/base.component';\nimport { UniIconComponent } from '../icon';\nimport { UniIconButtonComponent } from '../icon-button/icon-button.component';\nimport { UniCenterComponent, UniRowComponent } from '../layout';\nimport type { UniDataSearchOptions } from './data-search.model';\n\n@Component({\n selector: 'uni-data-search',\n imports: [UniRowComponent, UniIconButtonComponent, UniIconComponent, UniCenterComponent],\n templateUrl: './data-search.component.html',\n providers: [{ provide: COMPONENT_NAME, useValue: 'dataSearch' }],\n})\nexport class UniDataSearchComponent<T> extends BaseComponent<UniDataSearchOptions> {\n datasource = input<UniDatasource<T>>();\n placeholder = input<string>('Search');\n fields = input<string[]>();\n\n searchValue = signal('');\n\n inputClassName!: string;\n\n constructor() {\n super();\n\n effect(() => {\n this.inputClassName = css({\n border: 'none',\n padding: 0,\n fontSize: 16,\n flexGrow: 1,\n height: 18,\n\n '&:focus-visible': {\n outline: 'none',\n },\n\n '&::placeholder': {\n ...this.theme.color(this.componentOptions().placeholderColor),\n },\n });\n });\n }\n\n onInput(event: Event) {\n const value = (event.target as HTMLInputElement).value;\n this.searchValue.set(value);\n this.filterData(value);\n }\n\n filterData(value: string) {\n const datasource = this.datasource();\n if (!datasource) return;\n\n const fields = this.fields();\n\n if (datasource instanceof UniRecordDatasource) {\n // Client-side filtering with predicate function\n datasource.setFilter((object) => {\n let searchObject = object;\n if (fields && fields.length > 0) {\n searchObject = pick(object as Record<string, unknown>, fields) as T;\n }\n\n return Object.values(searchObject as object)\n .join(' ')\n .toLowerCase()\n .includes(value.toLowerCase());\n });\n } else if (datasource instanceof UniServerSideDatasource) {\n // Server-side filtering with filter object\n const filterObject: Record<string, unknown> = {};\n\n if (fields && fields.length > 0) {\n // Apply search to specific fields\n fields.forEach((field) => {\n filterObject[field] = value;\n });\n } else {\n // Generic search filter\n filterObject['search'] = value;\n }\n\n datasource.setFilter(filterObject);\n }\n }\n\n clearFilter() {\n const datasource = this.datasource();\n if (!datasource) return;\n\n if (datasource instanceof UniRecordDatasource) {\n datasource.setFilter(() => true);\n } else if (datasource instanceof UniServerSideDatasource) {\n datasource.clearFilter();\n }\n\n this.searchValue.set('');\n }\n}\n\nfunction pick(obj: Record<string, unknown>, keys: string[]) {\n return keys.reduce<Record<string, unknown>>((acc, key) => {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n acc[key] = obj[key];\n }\n return acc;\n }, {});\n}\n","<div\n row-layout\n alignItems=\"center\"\n [border]=\"componentOptions().border\"\n [height]=\"26\"\n [borderRadius]=\"componentOptions().borderRadius\"\n paddingLeft=\"xs\"\n>\n <div center-layout [height]=\"18\" [width]=\"18\" paddingRight=\"xs\">\n <uni-icon name=\"search\" />\n </div>\n <input\n type=\"text\"\n (input)=\"onInput($event)\"\n [class]=\"inputClassName\"\n [placeholder]=\"placeholder()\"\n [value]=\"searchValue()\"\n />\n <div row-layout alignItems=\"center\" [width]=\"22\">\n @if (!!searchValue()) {\n <button icon-button (click)=\"clearFilter()\" symbolName=\"close\" size=\"sm\">\n Clear Search\n </button>\n }\n </div>\n</div>\n","/**\n * UniDataSearchComponent Barrel File\n *\n * This file exports all public-facing elements of the data-search component.\n */\n\nexport { UniDataSearchComponent } from './data-search.component';\nexport type { UniDataSearchOptions } from './data-search.model';\n","import {\n afterNextRender,\n Component,\n computed,\n DestroyRef,\n ElementRef,\n HostBinding,\n inject,\n input,\n output,\n signal,\n viewChild,\n} from '@angular/core';\nimport { css } from '@emotion/css';\nimport type {\n ContainerColorToken,\n OptionalSize,\n Radius,\n Variant,\n} from '@uni-design-system/uni-core';\nimport { ThemeService } from '../../theming';\nimport type { ScrollbarAppearance } from './scroll-area.types';\n\ntype OptionalValue = string | number | undefined;\n\n/**\n * Native scroll area with theme-driven scrollbar styling.\n *\n * Scrollbars are styled entirely through Emotion-generated CSS:\n * `::-webkit-scrollbar` rules cover Chromium/Safari, with a\n * `scrollbar-width`/`scrollbar-color` fallback for Firefox.\n */\n@Component({\n selector: 'div[uni-scroll-area], ScrollArea, div[scroll-area]',\n standalone: true,\n imports: [],\n template: `<div #viewport [class]=\"viewportClassName()\">\n <div\n #content\n [class]=\"contentClassName()\"\n [class.isVerticallyScrollable]=\"isVerticallyScrollable()\"\n >\n <ng-content></ng-content>\n </div>\n </div>`,\n})\nexport class UniScrollAreaComponent {\n theme = inject(ThemeService);\n\n isVerticallyScrollable = signal<boolean>(false);\n\n viewport = viewChild.required<ElementRef<HTMLDivElement>>('viewport');\n content = viewChild.required<ElementRef<HTMLDivElement>>('content');\n\n color = input<ContainerColorToken>();\n borderRadius = input<Radius>('sm');\n padding = input<OptionalSize>();\n paddingHorizontal = input<OptionalSize>();\n paddingVertical = input<OptionalSize>();\n paddingLeft = input<OptionalSize>();\n paddingRight = input<OptionalSize>();\n paddingTop = input<OptionalSize>();\n paddingBottom = input<OptionalSize>();\n border = input<Variant>();\n height = input<OptionalValue>();\n width = input<OptionalValue>();\n appearance = input<ScrollbarAppearance>('compact');\n autoHeightDisabled = input<boolean>(false);\n verticalScrollPadding = input<number>(29);\n\n scrollable = output<boolean>();\n\n public scrollToBottom() {\n const viewport = this.viewport().nativeElement;\n viewport.scrollTo({ top: viewport.scrollHeight, behavior: 'smooth' });\n }\n\n public scrollToTop() {\n this.viewport().nativeElement.scrollTo({ top: 0, behavior: 'smooth' });\n }\n\n @HostBinding('class') get className() {\n return css({\n display: 'block',\n overflow: 'hidden',\n height: this.height(),\n width: this.width(),\n\n ...this.theme.colorPair(this.color()),\n ...this.theme.radius(this.borderRadius()),\n ...this.theme.border(this.border()),\n });\n }\n\n protected viewportClassName = computed(() => {\n const palette = this.theme.colors();\n const thumbColor = palette['on-primary-surface'];\n const trackColor = palette['primary-surface'];\n const thickness = this.appearance() === 'standard' ? 13 : 8;\n\n return css([\n {\n height: '100%',\n width: '100%',\n overflow: 'auto',\n\n '&::-webkit-scrollbar': {\n width: thickness,\n height: thickness,\n },\n\n '&::-webkit-scrollbar-thumb': {\n backgroundColor: thumbColor,\n borderRadius: 7,\n border: `3px solid ${trackColor}`,\n boxSizing: 'border-box',\n },\n\n '&::-webkit-scrollbar-track': {\n backgroundColor: trackColor,\n borderRadius: 12,\n },\n\n // Firefox has no ::-webkit-scrollbar support; fall back to the\n // standard scrollbar properties there.\n '@supports not selector(::-webkit-scrollbar)': {\n scrollbarWidth: this.appearance() === 'standard' ? 'auto' : 'thin',\n scrollbarColor: `${thumbColor} ${trackColor}`,\n },\n },\n this.appearance() === 'standard' && {\n '&::-webkit-scrollbar-track': {\n backgroundColor: trackColor,\n borderRadius: 12,\n ...this.theme.border('quaternary'),\n },\n },\n ]);\n });\n\n protected contentClassName = computed(() =>\n css({\n ...this.theme.padding(this.padding()),\n ...this.theme.horizontalPadding(this.paddingHorizontal()),\n ...this.theme.verticalPadding(this.paddingVertical()),\n ...this.theme.paddingLeft(this.paddingLeft()),\n ...this.theme.paddingRight(this.paddingRight()),\n ...this.theme.paddingTop(this.paddingTop()),\n ...this.theme.paddingBottom(this.paddingBottom()),\n\n '&.isVerticallyScrollable': {\n paddingRight: this.verticalScrollPadding(),\n },\n })\n );\n\n constructor() {\n const destroyRef = inject(DestroyRef);\n\n afterNextRender(() => {\n const viewport = this.viewport().nativeElement;\n const content = this.content().nativeElement;\n\n const updateScrollable = () => {\n const scrollable = viewport.scrollHeight > viewport.clientHeight;\n if (scrollable !== this.isVerticallyScrollable()) {\n this.isVerticallyScrollable.set(scrollable);\n this.scrollable.emit(scrollable);\n }\n };\n\n const observer = new ResizeObserver(updateScrollable);\n observer.observe(viewport);\n observer.observe(content);\n destroyRef.onDestroy(() => observer.disconnect());\n\n updateScrollable();\n });\n }\n}\n","import { Component, computed, HostBinding, input } from '@angular/core';\nimport { css } from '@emotion/css';\nimport { type UniDatasource, SortDirection } from '../../cdk';\nimport { UniSymbolComponent } from '../symbol/symbol.component';\n\n@Component({\n selector: 'uni-sort-header',\n imports: [UniSymbolComponent],\n templateUrl: './sort-header.component.html',\n standalone: true,\n host: {\n '(click)': 'cycleSort()',\n },\n})\nexport class UniSortHeaderComponent<T> {\n column = input<keyof T>();\n datasource = input<UniDatasource<T>>();\n\n direction = computed(() => {\n const ds = this.datasource();\n if (!ds) return 'indet';\n\n return ds.sortColumn() === this.column() ? ds.sortDirection() : 'indet';\n });\n\n @HostBinding('class')\n get className() {\n return css({\n cursor: 'pointer',\n position: 'relative',\n height: 24,\n\n '& .sort-icon': {\n position: 'absolute',\n right: -24,\n top: -4,\n height: 24,\n width: 24,\n\n transition: 'all 350ms ease-in-out',\n transform: 'rotate(0)',\n },\n\n '& .sort-icon.asc': {\n transform: 'rotate(-180deg)',\n },\n\n '& .sort-icon.indet': {\n opacity: 0,\n transform: 'rotate(0)',\n },\n });\n }\n\n cycleSort() {\n const cycle: SortDirection[] = ['asc', 'desc', 'indet'];\n this.sortDatasource(cycle[cycle.indexOf(this.direction()) + 1] || cycle[0]);\n }\n\n sortDatasource(direction: SortDirection) {\n this.datasource()?.sortRecords({\n column: this.column(),\n direction,\n });\n }\n}\n","<ng-content></ng-content>\n<div class=\"sort-icon\" [class]=\"direction()\">\n <uni-symbol name=\"arrow_upward\" />\n</div>\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n effect,\n input,\n linkedSignal,\n output,\n signal,\n type TemplateRef,\n} from '@angular/core';\nimport { css } from '@emotion/css';\nimport { UniDatasource, UniServerSideDatasource } from '../../cdk';\nimport { fadeIn, Z_INDEX } from '@uni-design-system/uni-core';\nimport { BaseComponent } from '../base';\nimport { COMPONENT_NAME } from '../base/base.component';\nimport { UniIconComponent } from '../icon';\nimport { UniBoxComponent, UniCenterComponent } from '../layout';\nimport { UniScrollAreaComponent } from '../scroll-area/scroll-area.component';\nimport { UniSortHeaderComponent } from '../sort-header/sort-header.component';\nimport { UniTextComponent } from '../text/text.component';\nimport { ColumnDefinition, type UniDataTableOptions } from './data-table.models';\n\n@Component({\n selector: 'uni-data-table, DataTable',\n imports: [\n NgTemplateOutlet,\n UniBoxComponent,\n UniScrollAreaComponent,\n UniTextComponent,\n UniSortHeaderComponent,\n UniIconComponent,\n UniCenterComponent,\n ],\n templateUrl: './data-table.component.html',\n providers: [{ provide: COMPONENT_NAME, useValue: 'dataTable' }],\n})\nexport class UniDataTableComponent<T> extends BaseComponent<UniDataTableOptions> {\n datasource = input.required<UniDatasource<T>>();\n columns = input.required<ColumnDefinition<T>[]>();\n\n detailRowTemplate = input<TemplateRef<{ $implicit: T; index: number }>>();\n expandedIndex = signal<number | null>(null);\n\n useMultiSelect = input<boolean>(false);\n useRowClick = input<boolean>(true);\n highlight? = input<(row: T) => boolean>();\n\n height = input<string>();\n scrollable = signal(false);\n\n tableClass!: string;\n headerClass!: string;\n footerClass!: string;\n thClass!: string;\n tdClass!: string;\n trClass!: string;\n detailRowClass!: string;\n\n loadingOverlayClass = css({\n animation: 'fadeIn 350ms ease-in-out',\n '@keyframes fadeIn': { ...fadeIn },\n });\n\n rowSelect = output<T>();\n rowClick = output<T>();\n\n displayedColumns = signal<string[]>([]);\n\n constructor() {\n super();\n\n effect(() => {\n this.displayedColumns.set(this.columns().map((c) => c.columnDef as string));\n\n this.tableClass = css({\n ...this.theme.colorPair(this.componentOptions().color),\n width: '100%',\n borderSpacing: 0,\n });\n\n this.headerClass = css({\n borderBottom: this.getBorder(this.componentOptions().thHorizontalBorder),\n\n '&:empty': {\n display: 'none',\n },\n });\n\n this.footerClass = css({\n borderTop: this.getBorder(this.componentOptions().thHorizontalBorder),\n\n '&:empty': {\n display: 'none',\n },\n });\n\n this.thClass = css({\n ...this.theme.colorPair(this.componentOptions().thColor),\n\n position: 'sticky',\n top: 0,\n textAlign: 'center',\n padding: 0, // Reset renderers default padding\n\n ...this.theme.padding(this.componentOptions().thPadding),\n\n borderBottom: this.getBorder(this.componentOptions().thHorizontalBorder),\n '&:not(:last-child)': {\n borderRight: this.getBorder(this.componentOptions().thVerticalBorder),\n },\n '&:last-child.scrollable': {\n paddingRight: 29,\n },\n '&.sticky': {\n position: 'sticky',\n left: 0,\n zIndex: Z_INDEX.sticky,\n },\n });\n\n this.tdClass = css([\n {\n textAlign: 'center',\n padding: 0, // Reset renderers default padding\n '&:not(:last-child)': {\n borderRight: this.getBorder(this.componentOptions().tdVerticalBorder),\n },\n '&:last-child.scrollable': {\n // The last scrollable column allows space for the scrollbar.\n paddingRight: 29,\n },\n '&.sticky': {\n position: 'sticky',\n left: 0,\n zIndex: Z_INDEX.sticky,\n ...this.theme.colorPair(this.componentOptions().tdStickyColor),\n },\n '&:not(.template)': {\n // Allow templates to define their own styles\n ...this.theme.padding(this.componentOptions().tdPadding),\n },\n },\n ]);\n\n this.trClass = css(\n {\n '& td': {\n ...this.theme.backgroundColor('transparent'),\n transition: 'all 0.28s ease',\n },\n ':not(:last-child) td': {\n borderBottom: this.getBorder(this.componentOptions().tdHorizontalBorder),\n },\n },\n this.useRowClick() && {\n '&:hover td': {\n ...this.theme.backgroundColor(this.componentOptions().rowHoverColor),\n cursor: 'pointer',\n },\n }\n );\n\n this.detailRowClass = css({\n display: 'table-row',\n visibility: 'hidden',\n '&.expanded': {\n visibility: 'visible',\n },\n '& td': {\n padding: 0,\n borderBottom: this.getBorder(this.componentOptions().tdHorizontalBorder),\n },\n '& td .detail-content-wrapper': {\n display: 'grid',\n gridTemplateRows: '0fr',\n transition: 'grid-template-rows 0.3s ease',\n overflow: 'hidden',\n\n '& .detail-inner': {\n minHeight: 0,\n },\n },\n '&.expanded td .detail-content-wrapper': {\n gridTemplateRows: '1fr',\n },\n });\n });\n }\n\n // Loading state detection\n isLoading = linkedSignal(() => {\n const datasource = this.datasource();\n if (datasource && datasource instanceof UniServerSideDatasource) {\n // For server-side datasource, use the built-in loading state\n return datasource.isLoading();\n } else {\n // For client-side datasource, no loading state needed\n return false;\n }\n });\n\n toggleRow(index: number) {\n this.expandedIndex.update((current) => (current === index ? null : index));\n }\n\n handleRowClick(row: T, index: number) {\n this.rowClick.emit(row);\n\n this.toggleRow(index);\n }\n\n isHighlighted(row: T) {\n const callback = this.highlight && this.highlight();\n if (!callback) return false;\n return callback(row);\n }\n\n protected readonly String = String;\n\n handleScrollable(scrollable: boolean) {\n this.scrollable.set(scrollable);\n }\n\n getBorder(name: string | undefined) {\n return name ? this.theme.theme().borders[name] : undefined;\n }\n}\n","@let ds = datasource();\n@if (ds) {\n <div\n box-layout\n [color]=\"componentOptions().color\"\n [border]=\"componentOptions().border\"\n [borderRadius]=\"componentOptions().borderRadius\"\n [elevation]=\"componentOptions().elevation\"\n overflow=\"hidden\"\n >\n <div\n box-layout\n [padding]=\"componentOptions().headerPadding\"\n [color]=\"componentOptions().headerColor\"\n [class]=\"headerClass\"\n >\n <ng-content select=\"data-table-header\"></ng-content>\n </div>\n\n <div box-layout [height]=\"height()\" position=\"relative\">\n <ScrollArea\n [verticalScrollPadding]=\"0\"\n (scrollable)=\"handleScrollable($event)\"\n >\n <table [class]=\"tableClass\">\n <thead>\n <tr>\n @for (column of columns(); track column) {\n <th\n [class]=\"thClass\"\n [class.scrollable]=\"scrollable()\"\n [class.sticky]=\"column.isSticky\"\n [style.text-align]=\"column.textAlign\"\n >\n <uni-sort-header\n [datasource]=\"datasource()\"\n [column]=\"column.columnDef\"\n >\n <Text [typeface]=\"componentOptions().thTextRole\">{{\n column.header\n }}</Text>\n </uni-sort-header>\n </th>\n }\n </tr>\n </thead>\n <tbody>\n @for (record of ds.records(); track record; let i = $index) {\n <tr [class]=\"trClass\" (click)=\"handleRowClick(record, $index)\">\n @for (column of columns(); track column) {\n <td\n [class]=\"tdClass\"\n [class.scrollable]=\"scrollable()\"\n [class.sticky]=\"column.isSticky\"\n [class.template]=\"!!column.template\"\n [style.text-align]=\"column.textAlign\"\n >\n @if (column.template) {\n <ng-container\n [ngTemplateOutlet]=\"column.template\"\n [ngTemplateOutletContext]=\"record\"\n ></ng-container>\n } @else {\n <Text [typeface]=\"componentOptions().tdTextRole\">\n @if (!column.cell) {\n {{ record[column.columnDef] }}\n } @else {\n {{ column.cell(record) }}\n }\n </Text>\n }\n </td>\n }\n </tr>\n @if (detailRowTemplate()) {\n <tr\n [class]=\"detailRowClass\"\n [class.expanded]=\"expandedIndex() === $index\"\n >\n <td [attr.colspan]=\"columns().length\">\n <div class=\"detail-content-wrapper\">\n <div class=\"detail-inner\">\n <ng-container\n [ngTemplateOutlet]=\"detailRowTemplate()\"\n [ngTemplateOutletContext]=\"{\n $implicit: record,\n index: i,\n }\"\n ></ng-container>\n </div>\n </div>\n </td>\n </tr>\n }\n }\n </tbody>\n </table>\n </ScrollArea>\n\n <!-- Loading Overlay -->\n @if (isLoading()) {\n <div\n uni-center-layout\n position=\"absolute\"\n [inset]=\"0\"\n [backgroundColor]=\"componentOptions().loadingOverlayColor\"\n [class]=\"loadingOverlayClass\"\n zIndex=\"overlay\"\n >\n <!-- Loading Spinner -->\n <div\n uni-box-layout\n [height]=\"componentOptions().loadingSpinnerSize\"\n [width]=\"componentOptions().loadingSpinnerSize\"\n >\n <uni-icon\n name=\"spinner\"\n [color]=\"componentOptions().loadingSpinnerColor\"\n />\n </div>\n </div>\n }\n </div>\n\n <div\n box-layout\n [padding]=\"componentOptions().footerPadding\"\n [color]=\"componentOptions().footerColor\"\n [class]=\"footerClass\"\n >\n <ng-content select=\"data-table-footer\"></ng-content>\n </div>\n </div>\n}\n","/**\n * UniDataTableComponent Barrel File\n *\n * This file exports all public-facing elements of the data-table component.\n */\n\nexport { UniDataTableComponent } from './data-table.component';\nexport type { ColumnDefinition, UniDataTableOptions } from './data-table.models';\n","import { CommonModule } from '@angular/common';\nimport {\n Component,\n effect,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n inject,\n input,\n Input,\n linkedSignal,\n Output,\n} from '@angular/core';\nimport { css, keyframes } from '@emotion/css';\nimport { BaseComponent } from '../base';\nimport { COMPONENT_NAME } from '../base/base.component';\nimport { UniIconButtonComponent } from '../icon-button';\nimport type { UniDialogOptions } from './dialog.model';\nimport { fadeIn, fadeOut } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'dialog[uni-dialog], Dialog',\n standalone: true,\n imports: [UniIconButtonComponent, CommonModule],\n template: `\n @if (defaultCloseButton) {\n <button\n icon-button\n iconName=\"close\"\n variant=\"ghost\"\n (click)=\"close()\"\n [class]=\"closeButton\"\n size=\"md\"\n >\n Close\n </button>\n }\n <ng-content></ng-content>\n `,\n providers: [{ provide: COMPONENT_NAME, useValue: 'dialog' }],\n})\nexport class UniDialogComponent extends BaseComponent<UniDialogOptions> {\n private elem = inject(ElementRef);\n\n show = input<boolean>(false);\n private readonly _show = linkedSignal(() => this.show());\n\n @Input() defaultCloseButton?: boolean;\n @Output() showing = new EventEmitter();\n\n constructor() {\n super();\n effect(() => (this._show() ? this.open() : this.close()));\n }\n\n private get _dialog(): HTMLDialogElement {\n return this.elem.nativeElement;\n }\n\n @HostBinding('class') get className() {\n return css([\n {\n ...this.theme.radius(this.componentOptions().borderRadius),\n ...this.theme.colorPair(this.componentOptions().color),\n ...this.theme.border(this.componentOptions().border),\n ...this.theme.boxShadow(this.componentOptions().elevation),\n ...this.theme.padding(this.componentOptions().padding || 'none'),\n\n '&::backdrop': {\n ...this.componentOptions().backdrop,\n },\n\n '&[open], &::backdrop': {\n animation: `${this.dialogFadeIn} ease-in 350ms`,\n },\n\n '&[closing], &[closing]::backdrop': {\n animation: `${this.dialogFadeOut} ease-in 350ms`,\n },\n },\n ]);\n }\n\n @HostListener('click', ['$event']) BackdropClick(event: Event) {\n if ((event.target as any).nodeName === 'DIALOG') {\n this.close();\n }\n }\n\n @HostListener('animationend', ['$event']) ClosingAnimation(e: AnimationEvent) {\n // Close the dialog if the animation is finished\n if (e.animationName.includes(this.dialogFadeOut)) {\n this._dialog.close();\n this._dialog.removeAttribute('closing');\n this.showing.emit(false);\n }\n }\n\n closeButton = css({\n position: 'absolute',\n right: 12,\n top: 12,\n });\n\n private dialogFadeIn = keyframes({ ...fadeIn });\n private dialogFadeOut = keyframes({ ...fadeOut });\n\n open() {\n this._dialog.removeAttribute('closing');\n this._dialog.showModal();\n this._show.set(true);\n this.showing.emit(true);\n }\n\n close() {\n this._dialog.setAttribute('closing', 'true');\n this._show.set(false);\n }\n}\n","import { Component, EventEmitter, inject, Input, Output } from '@angular/core';\nimport { UniButtonComponent } from '../../button';\nimport { UniRowComponent } from '../../layout';\nimport { UniDialogComponent } from '../dialog.component';\nimport type { JustifyContent, NullableSize, Variant } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'uni-dialog-buttons, DialogButtons, div[dialog-buttons]',\n standalone: true,\n imports: [UniRowComponent, UniButtonComponent],\n templateUrl: './dialog-buttons.component.html',\n})\nexport class UniDialogButtonsComponent {\n private dialog = inject(UniDialogComponent, {\n optional: true,\n host: true,\n skipSelf: true,\n });\n\n @Input() confirmButtonText?: string;\n @Input() confirmButtonVariant: Variant = 'primary';\n @Input() cancelButtonText?: string;\n @Input() disableConfirm?: boolean;\n @Input() padding?: NullableSize = 'md';\n @Input() paddingBottom?: NullableSize = 'lg';\n @Input() justifyContent?: JustifyContent = 'center';\n\n @Output() confirmed = new EventEmitter();\n\n closeDialog() {\n this.dialog?.close();\n }\n}\n","<div\n row-layout\n gap=\"md\"\n [padding]=\"padding\"\n [paddingBottom]=\"paddingBottom\"\n [justifyContent]=\"justifyContent\"\n>\n <button\n text-button\n [variant]=\"confirmButtonVariant\"\n (click)=\"confirmed.emit(); closeDialog()\"\n [disable]=\"disableConfirm\"\n >\n {{ confirmButtonText || 'Confirm' }}\n </button>\n <button text-button variant=\"warn\" (click)=\"closeDialog()\">\n {{ cancelButtonText || 'Cancel' }}\n </button>\n</div>\n","import { Component, inject } from '@angular/core';\nimport { BaseComponent } from '../../base';\nimport { COMPONENT_NAME } from '../../base/base.component';\nimport { UniIconButtonComponent } from '../../icon-button';\nimport { UniBoxComponent, UniRowComponent } from '../../layout';\nimport { UniTextComponent } from '../../text';\nimport { UniDialogComponent } from '../dialog.component';\nimport type { UniDialogHeaderOptions } from './dialog-header.model';\n\n@Component({\n selector: 'div[uni-dialog-header], DialogHeader',\n standalone: true,\n imports: [UniBoxComponent, UniIconButtonComponent, UniTextComponent, UniRowComponent],\n templateUrl: './dialog-header.component.html',\n providers: [{ provide: COMPONENT_NAME, useValue: 'dialogHeader' }],\n})\nexport class UniDialogHeaderComponent extends BaseComponent<UniDialogHeaderOptions> {\n private dialog = inject(UniDialogComponent, {\n optional: true,\n host: true,\n skipSelf: true,\n });\n\n closeDialog() {\n this.dialog?.close();\n }\n}\n","<div\n row-layout\n [color]=\"componentOptions().color\"\n [borderRadius]=\"componentOptions().borderRadius\"\n [height]=\"componentOptions().height\"\n alignItems=\"center\"\n paddingHorizontal=\"sm\"\n>\n <Box [width]=\"26\"></Box>\n <Box [grow]=\"1\">\n <Text\n [typeface]=\"componentOptions().textRole\"\n [color]=\"componentOptions().textColor\"\n display=\"block\"\n [align]=\"componentOptions().textAlign || 'center'\"\n ><ng-content></ng-content\n ></Text>\n </Box>\n <button\n icon-button\n [iconName]=\"componentOptions().closeButtonIcon\"\n [symbolName]=\"componentOptions().closeButtonSymbol\"\n variant=\"ghost\"\n (click)=\"closeDialog()\"\n [size]=\"componentOptions().closeButtonSize || 'md'\"\n >\n Close\n </button>\n</div>\n","import { Component, HostBinding, inject, input } from '@angular/core';\nimport { css } from '@emotion/css';\nimport { ThemeService } from '../../theming';\nimport type { Border, Orientation } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'uni-divider, Divider',\n standalone: true,\n imports: [],\n template: ``,\n})\nexport class UniDividerComponent {\n themeService = inject(ThemeService);\n\n orientation = input<Orientation>('horizontal');\n border = input<Border>('primary');\n\n @HostBinding('class') get className() {\n return css([\n {\n display: 'block',\n },\n this.orientation() === 'horizontal' && {\n ...this.themeService.borderBottom(this.border()),\n width: '100%',\n },\n this.orientation() === 'vertical' && {\n ...this.themeService.borderLeft(this.border()),\n height: '100%',\n },\n ]);\n }\n}\n","import {\n Component,\n computed,\n ElementRef,\n inject,\n input,\n OnDestroy,\n OnInit,\n output,\n Renderer2,\n signal,\n ViewChild,\n} from '@angular/core';\nimport { css } from '@emotion/css';\nimport {\n autoUpdate,\n computePosition,\n offset,\n OffsetOptions,\n Placement,\n shift,\n} from '@floating-ui/dom';\n\nimport { BaseComponent } from '../base';\nimport { COMPONENT_NAME } from '../base/base.component';\nimport { UniBoxComponent } from '../layout';\nimport type { UniDropdownOptions } from './dropdown.model';\nimport type { NullableSize } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'uni-dropdown, Dropdown',\n standalone: true,\n imports: [UniBoxComponent],\n template: `\n <!-- 1. The native 'popover' attribute brings it to the top layer with native light-dismiss -->\n <div #dropdown popover=\"auto\" [class]=\"dropdownClass()\">\n <div\n box-layout\n [border]=\"componentOptions().border\"\n [borderRadius]=\"componentOptions().borderRadius\"\n [paddingVertical]=\"paddingVertical()\"\n [paddingHorizontal]=\"paddingHorizontal()\"\n [color]=\"componentOptions().color\"\n [shadow]=\"componentOptions().shadow\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n `,\n providers: [{ provide: COMPONENT_NAME, useValue: 'dropdown' }],\n})\nexport class UniDropdownComponent\n extends BaseComponent<UniDropdownOptions>\n implements OnInit, OnDestroy\n{\n private renderer = inject(Renderer2);\n private cleanupAutoUpdate?: () => void;\n private delay = 100;\n\n // Reactively track visibility status using Signals\n showing = signal<boolean>(false);\n\n trigger = input.required<HTMLElement>();\n placement = input<Placement>('bottom-start');\n offset = input<OffsetOptions>({ mainAxis: 4, alignmentAxis: 12 });\n\n paddingVertical = input<NullableSize>();\n paddingHorizontal = input<NullableSize>();\n\n dropdownShowing = output<boolean>();\n dropdownHiding = output<boolean>();\n\n @ViewChild('dropdown', { static: true })\n dropdownRef!: ElementRef<HTMLDivElement>;\n\n private get _trigger(): HTMLElement {\n return this.trigger();\n }\n private get _dropdown(): HTMLDivElement {\n return this.dropdownRef.nativeElement;\n }\n\n private transformOriginMap: Record<Placement, string> = {\n top: 'bottom center',\n right: 'center left',\n bottom: 'top center',\n left: 'center right',\n 'top-start': 'bottom left',\n 'top-end': 'bottom right',\n 'right-start': 'top left',\n 'right-end': 'bottom left',\n 'bottom-start': 'top left',\n 'bottom-end': 'top right',\n 'left-start': 'top right',\n 'left-end': 'bottom right',\n };\n\n dropdownClass = computed(() => {\n const currentPlacement = this.placement();\n\n return css([\n {\n // Reset browser agent default popover styles\n border: 'none',\n background: 'transparent',\n margin: 0,\n padding: 0,\n overflow: 'visible',\n width: 'max-content',\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n\n // 2. Animate discrete properties across top layer layout contexts\n transitionProperty: 'transform, opacity, display, overlay',\n transitionDuration: `${this.delay}ms`,\n transitionTimingFunction: 'linear',\n transitionBehavior: 'allow-discrete',\n\n // Hidden State (Closed)\n opacity: 0,\n transform: 'scale(0.8)',\n transformOrigin: this.transformOriginMap[currentPlacement],\n\n // 3. Active state styling controlled via the native browser pseudo-class\n ['&:popover-open']: {\n opacity: 1,\n transform: 'scale(1)',\n },\n\n // 4. Starting-style rules what properties animate *from* when transitioning in\n ['@starting-style']: {\n ['&:popover-open']: {\n opacity: 0,\n transform: 'scale(0.8)',\n },\n },\n },\n ]);\n });\n\n ngOnInit(): void {\n // Single native click binding to manage open/close commands\n this.renderer.listen(this._trigger, 'click', (e: Event) => {\n e.stopPropagation();\n this.toggleDropdown();\n });\n\n // Sync state if user invokes light-dismiss via outside click or Escape key\n this.renderer.listen(this._dropdown, 'toggle', (event: any) => {\n const isOpened = event.newState === 'open';\n this.showing.set(isOpened);\n\n if (isOpened) {\n this.dropdownShowing.emit(true);\n this.cleanupAutoUpdate = autoUpdate(this._trigger, this._dropdown, () =>\n this.updatePosition()\n );\n } else {\n this.dropdownHiding.emit(true);\n if (this.cleanupAutoUpdate) {\n this.cleanupAutoUpdate();\n this.cleanupAutoUpdate = undefined;\n }\n }\n });\n }\n\n toggleDropdown() {\n if (this.showing()) {\n this._dropdown.hidePopover();\n } else {\n this._dropdown.showPopover();\n }\n }\n\n hideDropdown() {\n this._dropdown.hidePopover();\n }\n\n private async updatePosition() {\n const { x, y } = await computePosition(this._trigger, this._dropdown, {\n placement: this.placement(),\n middleware: [offset(this.offset()), shift({ padding: 5 })],\n });\n\n this.renderer.setStyle(this._dropdown, 'left', `${x}px`);\n this.renderer.setStyle(this._dropdown, 'top', `${y}px`);\n }\n\n ngOnDestroy() {\n if (this.cleanupAutoUpdate) this.cleanupAutoUpdate();\n try {\n this._dropdown.hidePopover();\n } catch {}\n }\n}\n","import { Component, model } from '@angular/core';\nimport { css, keyframes } from '@emotion/css';\nimport { collapseFadeOut, expandFadeIn } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'uni-expand, Expand',\n standalone: true,\n imports: [],\n template: `@if (!collapsed()) {\n <div\n [animate.enter]=\"expandAnimation\"\n [animate.leave]=\"collapseAnimation\"\n [class]=\"expandClassName\"\n >\n <div [class]=\"contentClassName\">\n <ng-content></ng-content>\n </div>\n </div>\n }`,\n})\nexport class UniExpandComponent {\n collapsed = model(true);\n\n toggle() {\n this.collapsed.update((collapsed) => !collapsed);\n }\n\n expandClassName = css({\n display: 'grid',\n });\n\n contentClassName = css({\n minHeight: 0,\n });\n\n private expand = keyframes({ ...expandFadeIn });\n private collapse = keyframes({ ...collapseFadeOut });\n\n expandAnimation = css({\n overflow: 'hidden',\n animation: `${this.expand} ease-in 350ms`,\n });\n\n collapseAnimation = css({\n overflow: 'hidden',\n animation: `${this.collapse} ease-in 350ms`,\n });\n}\n","/**\n * UniExpandComponent Barrel File\n *\n * This file exports all public-facing elements of the expand component.\n */\n\nexport { UniExpandComponent } from './expand.component';\n","import {\n Component,\n effect,\n ElementRef,\n HostBinding,\n inject,\n input,\n Input,\n OnDestroy,\n Renderer2,\n signal,\n} from '@angular/core';\nimport { css, keyframes } from '@emotion/css';\nimport { arrow, computePosition, flip, offset, shift } from '@floating-ui/dom';\n\nimport { BaseComponent } from '../base';\nimport { COMPONENT_NAME } from '../base/base.component';\nimport type { UniTooltipOptions } from './tooltip.model';\nimport { Placement } from './tooltip.types';\nimport { fadeIn, fadeOut, Z_INDEX } from '@uni-design-system/uni-core';\nimport { useTimer } from '../../cdk';\n\n@Component({\n selector: 'uni-tooltip, Tooltip',\n standalone: true,\n imports: [],\n template: `<ng-content></ng-content>`,\n providers: [{ provide: COMPONENT_NAME, useValue: 'tooltip' }],\n host: {\n '(click)': 'toggleTooltip()',\n '(mouseenter)': 'mouseenter()',\n '(mouseleave)': 'mouseleave()',\n },\n})\nexport class UniTooltipComponent extends BaseComponent<UniTooltipOptions> implements OnDestroy {\n private elRef = inject(ElementRef);\n private renderer = inject(Renderer2);\n\n private timer = useTimer();\n hoverDelayMs = signal(500);\n isMouseInside = signal(false);\n\n private tooltip!: HTMLElement | null;\n private arrow!: HTMLElement | null;\n\n hoverDelay = input<number>(500);\n label = input.required<string>();\n placement = input<Placement>('top');\n inlineText = input<boolean>(false);\n\n @Input() appendToBody?: boolean;\n\n constructor() {\n super();\n\n effect(() => {\n const timerActive = this.timer.isActive();\n const mouseInside = this.isMouseInside();\n\n // If the timer finished and the mouse is still inside, show tooltip\n if (!timerActive && mouseInside) {\n this.showTooltip();\n }\n // If the mouse left and the timer is not running, hide tooltip\n else if (!mouseInside) {\n this.hideTooltip();\n }\n });\n }\n\n toggleTooltip() {\n if (this.tooltip) {\n this.hideTooltip();\n } else {\n this.showTooltip();\n }\n }\n\n mouseenter() {\n this.isMouseInside.set(true);\n this.timer.start(this.hoverDelayMs());\n }\n\n mouseleave() {\n this.isMouseInside.set(false);\n this.timer.stop();\n }\n\n showTooltip() {\n if (this.tooltip) return;\n this.initializeTooltip();\n this.renderer.setAttribute(this.tooltip, 'fade', 'in');\n }\n\n hideTooltip() {\n if (!this.tooltip) return;\n this.renderer.setAttribute(this.tooltip, 'fade', 'out');\n }\n\n @HostBinding('class') get className() {\n return css(\n {\n display: 'inline-flex',\n },\n this.inlineText() && {\n cursor: 'help',\n textDecoration: 'underline',\n textDecorationStyle: 'dotted',\n }\n );\n }\n\n private tooltipFadeIn = keyframes({ ...fadeIn });\n private tooltipFadeOut = keyframes({ ...fadeOut });\n\n private tooltipClassName = css([\n {\n ...this.theme.colorPair(this.componentOptions().color),\n ...this.theme.radius(this.componentOptions().borderRadius),\n ...this.theme.boxShadow(this.componentOptions().shadow),\n ...this.theme.typeface(this.componentOptions().typeface),\n padding: 5,\n width: 'max-content',\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: Z_INDEX.tooltip,\n\n '&[fade=\"in\"]': {\n animation: `${this.tooltipFadeIn} ease-in 350ms`,\n },\n\n '&[fade=\"out\"]': {\n animation: `${this.tooltipFadeOut} ease-in 350ms`,\n },\n },\n ]);\n\n private arrowClassName = css({\n position: 'absolute',\n ...this.theme.colorPair(this.componentOptions().color),\n width: 8,\n height: 8,\n transform: 'rotate(45deg)',\n });\n\n private createTooltip() {\n this.tooltip = this.renderer.createElement('span');\n\n this.renderer.appendChild(\n this.tooltip,\n this.renderer.createText(this.label()) // textNode\n );\n\n this.renderer.appendChild(\n this.appendToBody ? document.body : this.elRef.nativeElement,\n this.tooltip\n );\n this.renderer.addClass(this.tooltip, this.tooltipClassName);\n this.renderer.listen(this.tooltip, 'animationend', (event) => {\n if (event.animationName.includes(this.tooltipFadeOut)) this.destroyTooltip();\n });\n }\n\n private createArrow() {\n this.arrow = this.renderer.createElement('div');\n this.renderer.appendChild(this.tooltip, this.arrow);\n this.renderer.addClass(this.arrow, this.arrowClassName);\n }\n\n private setPosition() {\n if (!this.tooltip || !this.arrow) return;\n computePosition(this.elRef.nativeElement, this.tooltip, {\n placement: this.placement(),\n middleware: [offset(6), flip(), shift({ padding: 5 }), arrow({ element: this.arrow })],\n }).then(({ x, y, placement, middlewareData }) => {\n this.renderer.setStyle(this.tooltip, 'top', `${y}px`);\n this.renderer.setStyle(this.tooltip, 'left', `${x}px`);\n\n // Accessing the data\n const arrowX = middlewareData.arrow?.x;\n const arrowY = middlewareData.arrow?.y;\n\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[placement.split('-')[0]];\n\n this.renderer.setStyle(this.arrow, 'top', `${arrowY}px`);\n this.renderer.setStyle(this.arrow, 'left', `${arrowX}px`);\n this.renderer.setStyle(this.arrow, 'right', ``);\n this.renderer.setStyle(this.arrow, 'bottom', ``);\n\n if (staticSide) {\n this.renderer.setStyle(this.arrow, staticSide, `-4px`);\n }\n });\n }\n\n private initializeTooltip() {\n this.createTooltip();\n this.createArrow();\n this.setPosition();\n }\n\n private destroyTooltip() {\n this.renderer.removeChild(\n this.appendToBody ? document.body : this.elRef.nativeElement,\n this.tooltip\n );\n this.renderer.removeChild(\n this.appendToBody ? document.body : this.elRef.nativeElement,\n this.arrow\n );\n this.tooltip = null;\n this.arrow = null;\n }\n\n ngOnDestroy() {\n this.hideTooltip();\n }\n}\n","import { Component, HostBinding, model } from '@angular/core';\nimport { css } from '@emotion/css';\nimport { UniIconButtonComponent } from '../icon-button/icon-button.component';\nimport { UniTooltipComponent } from '../tooltip/tooltip.component';\n\n@Component({\n selector: 'uni-expand-toggle, ExpandToggle',\n standalone: true,\n imports: [UniIconButtonComponent, UniTooltipComponent],\n template: `<Tooltip\n [label]=\"collapsed() ? 'Expand' : 'Collapse'\"\n placement=\"right\"\n [appendToBody]=\"true\"\n >\n <button icon-button iconName=\"chevronUp\" (click)=\"toggle()\">\n {{ collapsed() ? 'Expand' : 'Collapse' }}\n </button>\n </Tooltip>`,\n host: {\n '[attr.toggled]': 'collapsed() || null',\n },\n})\nexport class UniExpandToggleComponent {\n collapsed = model(true);\n\n @HostBinding('class') get className() {\n return css({\n display: 'inline-flex',\n cursor: 'pointer',\n\n transition: 'transform 350ms ease-in-out',\n transform: 'rotate(0)',\n\n '&[toggled]': {\n transform: 'rotate(-180deg)',\n },\n });\n }\n\n toggle() {\n this.collapsed.update((collapsed) => !collapsed);\n }\n}\n","import { Component, input, output, viewChild } from '@angular/core';\nimport type { NullableSize } from '@uni-design-system/uni-core';\nimport { UniExpandToggleComponent } from '../expand-toggle/expand-toggle.component';\nimport { UniExpandComponent } from '../expand/expand.component';\nimport { UniBoxComponent } from '../layout';\nimport { UniTextComponent } from '../text/text.component';\n\n@Component({\n selector: 'uni-expand-area, ExpandArea',\n standalone: true,\n imports: [UniBoxComponent, UniTextComponent, UniExpandToggleComponent, UniExpandComponent],\n template: `\n <Box\n color=\"tertiary-surface\"\n borderRadius=\"sm\"\n border=\"quaternary\"\n overflow=\"hidden\"\n >\n <Box\n border=\"quaternary\"\n borderRadius=\"sm\"\n color=\"primary-surface\"\n style=\"margin-top: -1px; margin-left: -1px; margin-right: -1px\"\n [style.margin-bottom]=\"toggle.collapsed() ? '-1px' : 0\"\n justifyContent=\"space-between\"\n display=\"flex\"\n alignItems=\"center\"\n >\n <Box [width]=\"36\"></Box>\n <Box paddingHorizontal=\"md\">\n <Text typeface=\"title-small\" display=\"block\">\n {{ title() }}\n </Text>\n </Box>\n\n <ExpandToggle\n #toggle\n style=\"display: inline-flex; margin: -2px\"\n [collapsed]=\"initCollapsed()\"\n />\n </Box>\n\n <Expand [collapsed]=\"toggle.collapsed()\">\n <Box [padding]=\"padding()\">\n <ng-content></ng-content>\n </Box>\n </Expand>\n </Box>\n `,\n})\nexport class UniExpandAreaComponent {\n title = input.required<string>();\n initCollapsed = input(false);\n padding = input<NullableSize>('md');\n\n collapsed = output<boolean>();\n\n toggleRef = viewChild.required<UniExpandToggleComponent>('toggle');\n\n public toggleExpand() {\n this.toggleRef().toggle();\n }\n}\n","/**\n * UniExpandAreaComponent Barrel File\n *\n * This file exports all public-facing elements of the expand-area component.\n */\n\nexport { UniExpandAreaComponent } from './expand-area.component';\n","/**\n * UniExpandToggleComponent Barrel File\n *\n * This file exports all public-facing elements of the expand-toggle component.\n */\n\nexport { UniExpandToggleComponent } from './expand-toggle.component';\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n computed,\n effect,\n ElementRef,\n input,\n output,\n signal,\n TemplateRef,\n viewChild,\n} from '@angular/core';\nimport { acceptableFile } from '../../cdk';\nimport { DragAndDropDirective } from '../../directives/drag-and-drop/drag-and-drop.directive';\nimport type { NullableSize, Radius, Variant } from '@uni-design-system/uni-core';\nimport { UniButtonComponent } from '../button/button.component';\nimport { UniBoxComponent, UniStackComponent } from '../layout';\nimport { UniTextComponent } from '../text/text.component';\n\n@Component({\n selector: 'uni-file-drop-zone',\n imports: [\n DragAndDropDirective,\n UniBoxComponent,\n UniButtonComponent,\n UniStackComponent,\n UniTextComponent,\n NgTemplateOutlet,\n ],\n templateUrl: './file-drop-zone.component.html',\n standalone: true,\n})\nexport class UniFileDropZoneComponent {\n selectedFile = signal<File | undefined>(undefined);\n selectedFileName = computed(() => this.selectedFile()?.name);\n attachmentState = signal<'upload' | undefined>(undefined);\n\n fileSelectorRef = viewChild.required<ElementRef<HTMLInputElement>>('fileSelector');\n\n get fileSelectorElement() {\n return this.fileSelectorRef().nativeElement;\n }\n\n height = input<number | string>();\n borderRadius = input<Radius>('md');\n border = input<Variant>('light');\n padding = input<NullableSize>('lg');\n useBrowseButton = input<boolean>(false);\n browseButtonText = input<string>('Browse for file');\n allowedFileExtensions = input<string[]>([]);\n label = input<string>();\n\n helpTemplate = input<TemplateRef<unknown> | null>(null);\n helpTemplateContext = input<unknown | null>(null);\n\n fileAttached = output<File | undefined>();\n fileRemoved = output();\n\n sanitizedFileExtensions = computed(() =>\n this.allowedFileExtensions().map((ext) => (ext.includes('.') ? ext : '.' + ext))\n );\n\n helpText = computed(() => {\n const extensions = this.sanitizedFileExtensions();\n let text = '';\n\n if (extensions.length === 1) {\n text = `${extensions[0]} format allowed`;\n }\n\n if (extensions.length > 1) {\n text = extensions.join(', ') + ' formats allowed';\n }\n\n return text;\n });\n\n constructor() {\n effect(() => {\n const files = this.selectedFile();\n\n if (files) {\n this.attachmentState.set('upload');\n } else {\n this.attachmentState.set(undefined);\n }\n });\n }\n\n openFileSelector() {\n this.fileSelectorElement.click();\n }\n\n selectFiles(fileList: FileList | null): void {\n if (!fileList) return;\n if (!acceptableFile(fileList[0], this.sanitizedFileExtensions())) return;\n this.selectedFile.set(fileList[0]);\n this.fileAttached.emit(fileList[0]);\n }\n\n onFileInputChange() {\n this.selectFiles(this.fileSelectorElement.files);\n this.fileSelectorElement.value = '';\n }\n\n cancelUpload() {\n this.selectedFile.set(undefined);\n this.fileAttached.emit(undefined);\n this.fileRemoved.emit();\n }\n\n removeAttachment() {\n this.selectedFile.set(undefined);\n }\n}\n","<div\n box-layout\n [border]=\"border()\"\n [borderRadius]=\"borderRadius()\"\n [dashBorder]=\"[undefined, 'replace'].includes(attachmentState())\"\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n [padding]=\"padding()\"\n dragAndDrop\n (onFileDropped)=\"selectFiles($event)\"\n [height]=\"height()\"\n>\n <div stack-layout gap=\"md\" alignItems=\"center\">\n @switch (attachmentState()) {\n @case ('upload') {\n <div stack-layout alignItems=\"center\">\n <Text typeface=\"headline-small\">{{ label() }}</Text>\n <Text typeface=\"title-small\">{{ selectedFileName() }}</Text>\n </div>\n <button text-button (click)=\"removeAttachment()\" variant=\"warn\">\n Cancel\n </button>\n }\n\n @default {\n @if (useBrowseButton()) {\n <button text-button (click)=\"openFileSelector()\">\n {{ browseButtonText() }}\n </button>\n <Text>OR</Text>\n }\n\n @if (!helpTemplate()) {\n <div stack-layout alignItems=\"center\">\n <Text typeface=\"headline-small\">Drag and drop the file here</Text>\n @if (helpText()) {\n <Text typeface=\"title-small\">{{ helpText() }}</Text>\n }\n </div>\n } @else {\n <ng-container\n [ngTemplateOutlet]=\"helpTemplate()\"\n [ngTemplateOutletContext]=\"helpTemplateContext()\"\n ></ng-container>\n }\n }\n }\n </div>\n\n <input\n #fileSelector\n type=\"file\"\n style=\"display: none\"\n (change)=\"onFileInputChange()\"\n [accept]=\"sanitizedFileExtensions().join(',')\"\n [multiple]=\"false\"\n />\n</div>\n","/**\n * UniFileDropZoneComponent Barrel File\n *\n * This file exports all public-facing elements of the file-drop-zone component.\n */\n\nexport { UniFileDropZoneComponent } from './file-drop-zone.component';\n","import { Component, DestroyRef, inject, input, output, signal } from '@angular/core';\nimport { css } from '@emotion/css';\n\n@Component({\n selector: 'DebounceInput, uni-debounce-input',\n standalone: true,\n imports: [],\n templateUrl: './debounce-input.component.html',\n})\nexport class UniDebounceInputComponent {\n inputName = input<string>();\n inputId = input<string>();\n debounceTime = input<number>(400);\n\n change = output<string>();\n\n value = signal<string | undefined>(undefined);\n\n private timeoutId: ReturnType<typeof setTimeout> | null = null;\n private lastEmitted: string | undefined;\n\n constructor() {\n inject(DestroyRef).onDestroy(() => {\n if (this.timeoutId) clearTimeout(this.timeoutId);\n });\n }\n\n handleInput(value: string) {\n this.value.set(value);\n\n // Debounce, emitting only when the value actually changed.\n if (this.timeoutId) clearTimeout(this.timeoutId);\n this.timeoutId = setTimeout(() => {\n if (value !== this.lastEmitted) {\n this.lastEmitted = value;\n this.change.emit(value);\n }\n }, this.debounceTime());\n }\n\n inputClass = css({\n border: 'none',\n fontSize: 18,\n width: '100%',\n\n '&:focus-visible': {\n outline: 'none',\n },\n });\n}\n","<input\n [class]=\"inputClass\"\n type=\"text\"\n [name]=\"inputName()\"\n [id]=\"inputId()\"\n [value]=\"value() ?? ''\"\n (input)=\"handleInput($any($event.target).value)\"\n/>\n","import { Component, computed, HostBinding, input } from '@angular/core';\nimport { css } from '@emotion/css';\nimport { removeInputPlatformStyling } from '@uni-design-system/uni-core';\nimport { BaseComponent } from '../base';\nimport { COMPONENT_NAME } from '../base/base.component';\nimport { UniRowComponent } from '../layout';\nimport type { UniInputBoxOptions } from './input-box.model';\n\n@Component({\n selector: 'uni-input-box',\n imports: [UniRowComponent],\n templateUrl: './input-box.component.html',\n providers: [{ provide: COMPONENT_NAME, useValue: 'input' }],\n})\nexport class UniInputBoxComponent extends BaseComponent<UniInputBoxOptions> {\n @HostBinding('class') className = css({ display: 'contents' });\n\n disabled = input<boolean>(false);\n error = input<boolean>(false);\n minWidth = input<string>('0');\n\n protected readonly color = computed(() =>\n this.error() ? this.componentOptions().errorColor : this.componentOptions().color\n );\n\n protected readonly border = computed(() =>\n this.error() ? this.componentOptions().errorBorder : this.componentOptions().border\n );\n\n protected readonly shadow = computed(() =>\n this.error() ? this.componentOptions().errorShadow : this.componentOptions().shadow\n );\n\n protected readonly inputBoxClass = computed(() =>\n css([\n this.disabled() && {\n ...this.theme.color(this.componentOptions().disabledTextColor),\n ...this.theme.backgroundColor(this.componentOptions().disabledColor),\n cursor: 'not-allowed !important',\n },\n {\n '& input, select': {\n ...removeInputPlatformStyling,\n height: '100%',\n ...this.theme.paddingLeft(this.componentOptions().paddingLeft),\n ...this.theme.color(this.componentOptions().textColor),\n ...this.theme.typeface(this.componentOptions().typeFace),\n },\n\n '&:has(input:disabled, select:disabled)': {\n ...this.theme.color(this.componentOptions().disabledTextColor),\n ...this.theme.backgroundColor(this.componentOptions().disabledColor),\n },\n\n '& input:disabled, select:disabled': {\n cursor: 'not-allowed !important',\n },\n\n '&:has(input:focus, select:focus)': {\n outline: this.componentOptions().focusOutline,\n outlineOffset: this.componentOptions().focusOutlineOffset,\n },\n },\n ])\n );\n}\n","<div\n row-layout\n alignItems=\"center\"\n [height]=\"componentOptions().height\"\n [color]=\"color()\"\n [border]=\"border()\"\n [borderRadius]=\"componentOptions().borderRadius\"\n [shadow]=\"shadow()\"\n [minWidth]=\"minWidth()\"\n [class]=\"inputBoxClass()\"\n position=\"relative\"\n>\n <ng-content></ng-content>\n</div>\n","import { Component, computed, input, model } from '@angular/core';\nimport { FormValueControl } from '@angular/forms/signals';\nimport { css } from '@emotion/css';\nimport { UniInputBoxComponent } from '../input-box/input-box.component';\n\n@Component({\n selector: 'uni-input',\n imports: [UniInputBoxComponent],\n templateUrl: './input.component.html',\n})\nexport class UniInputComponent implements FormValueControl<string> {\n // --- REQUIRED SIGNALS (populated by FormValueControl) ---\n readonly value = model<string>('');\n readonly disabled = input(false);\n readonly touched = model(false);\n readonly invalid = input(false);\n readonly dirty = input(false);\n\n // --- CONFIGURATION ---\n label = input.required<string>();\n placeholder = input('');\n\n // Only show errors if the user has actually interacted with the field\n protected readonly showError = computed(\n () => this.invalid() && (this.touched() || this.dirty())\n );\n\n markAsTouched() {\n this.touched.set(true);\n }\n\n inputClass = css({});\n}\n","<uni-input-box [error]=\"showError()\">\n <ng-content select=\"pre-input\" />\n <input\n [value]=\"value()\"\n (input)=\"value.set($any($event.target).value)\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled()\"\n (blur)=\"markAsTouched()\"\n [class]=\"inputClass\"\n />\n <ng-content select=\"post-input\" />\n</uni-input-box>\n","import { Component, computed, input } from '@angular/core';\nimport { css } from '@emotion/css';\nimport type { AbsoluteSize } from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'uni-json-view',\n imports: [],\n templateUrl: './json-view.component.html',\n})\nexport class UniJsonViewComponent {\n json = input<unknown>();\n rows = input<number>(6);\n fontSize = input<AbsoluteSize | string>('medium');\n width = input<string | number>('100%');\n selectOnClick = input<boolean>(true);\n\n jsonString = computed(() => JSON.stringify(this.json(), null, 2));\n\n className = computed(() =>\n css({\n fontSize: this.fontSize(),\n width: this.width(),\n })\n );\n\n selectContents(jsonArea: HTMLTextAreaElement) {\n if (!this.selectOnClick()) return;\n jsonArea.select();\n }\n}\n","<textarea\n #jsonArea\n (click)=\"selectContents(jsonArea)\"\n [class]=\"className()\"\n [rows]=\"rows()\"\n >{{ jsonString() }}</textarea\n>\n","/**\n * UniJsonViewComponent Barrel File\n *\n * This file exports all public-facing elements of the json-view component.\n */\n\nexport { UniJsonViewComponent } from './json-view.component';\n","import { NgTemplateOutlet } from '@angular/common';\nimport { Component, ElementRef, HostBinding, inject, input, TemplateRef } from '@angular/core';\nimport { css } from '@emotion/css';\n\nimport { UniBoxComponent } from '../../layout';\nimport { UniTextComponent } from '../../text';\nimport { UniSymbolComponent } from '../../symbol';\nimport type {\n ContainerColorToken,\n OptionalAlignItems,\n OptionalDisplay,\n OptionalFlexDirection,\n OptionalSize,\n} from '@uni-design-system/uni-core';\n\n@Component({\n selector: 'div[uni-menu-item], div[menu-item]',\n standalone: true,\n imports: [UniTextComponent, UniSymbolComponent, UniBoxComponent, NgTemplateOutlet],\n templateUrl: './menu-item.component.html',\n styles: [\n `\n :host:focus {\n background: #ccc;\n color: #fff;\n }\n\n :host.disabled {\n color: #ddd;\n pointer-events: none;\n }\n `,\n ],\n})\nexport class UniMenuItemComponent<T = any> extends UniBoxComponent {\n private _elementRef = inject(ElementRef);\n\n override display = input<OptionalDisplay>('flex');\n override flexDirection = input<OptionalFlexDirection>('row');\n override alignItems = input<OptionalAlignItems>('center');\n override paddingHorizontal = input<OptionalSize>('md');\n override gap = input<OptionalSize>('md');\n\n label = input<string>();\n template = input<TemplateRef<T>>();\n context = input<T>();\n symbolName = input<string>();\n active = input<boolean>();\n hoverColor = input<ContainerColorToken>('primary-container');\n disabled = input<boolean>(false);\n\n @HostBinding('class') get className() {\n return css([\n {\n cursor: 'pointer',\n transition: 'all 0.35s ease',\n height: 38,\n\n '&:hover': {\n ...this.theme.colorPair(this.hoverColor()),\n },\n },\n ]);\n }\n\n focus() {\n this._elementRef.nativeElement.focus();\n }\n}\n","@let tpl = template();\n@let symbol = symbolName();\n@if (symbol) {\n <Symbol [name]=\"symbol\"></Symbol>\n}\n<div box-layout [grow]=\"1\">\n @if (tpl) {\n <ng-container [ngTemplateOutlet]=\"tpl\" [ngTemplateOutletContext]=\"context()\"></ng-container>\n } @else {\n <Text role=\"label\" display=\"block\" [nowrap]=\"true\">\n {{ label() }}\n </Text>\n }\n</div>\n@if (active()) {\n <Symbol name=\"check\"></Symbol>\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n inject,\n input,\n output,\n} from '@angular/core';\nimport { css } from '@emotion/css';\nimport { Placement } from '@floating-ui/dom';\n\nimport { UniMenuItemComponent } from './menu-item/menu-item.component';\nimport { MenuItem } from './menu-item/menu-item.model';\nimport { UniDropdownComponent } from '../dropdown';\n\n@Component({\n selector: 'Menu, uni-menu',\n standalone: true,\n imports: [UniMenuItemComponent, UniDropdownComponent],\n changeDetection: ChangeDetectionStrategy.OnPush, // Crucial for zoneless\n template: `\n <div #trigger [class]=\"TriggerClassName\">\n <ng-content></ng-content>\n </div>\n\n @if (menuItems()) {\n <Dropdown [trigger]=\"trigger\" [placement]=\"placement()\" paddingVertical=\"xs\" #dropdown>\n @for (item of menuItems(); track item) {\n <div\n menu-item\n [label]=\"item.label\"\n [symbolName]=\"item.symbolName\"\n [active]=\"activeItem() === item\"\n [template]=\"item.template\"\n [context]=\"item.context\"\n (click)=\"handleMenuItemClick(item, dropdown)\"\n ></div>\n }\n </Dropdown>\n }\n `,\n})\nexport class UniMenuComponent {\n private cdr = inject(ChangeDetectorRef);\n\n // Modern Signal Inputs for perfect Zoneless tracking\n menuItems = input.required<MenuItem[]>();\n activeItem = input<MenuItem>();\n placement = input<Placement>('bottom-start');\n\n // Modern Signal Output\n menuItemClicked = output<MenuItem>();\n\n TriggerClassName = css({ display: 'inline-block' });\n\n @HostBinding('class') get className() {\n return css({\n margin: 'unset',\n padding: 'unset',\n });\n }\n\n handleMenuItemClick(item: MenuItem, dropdown: UniDropdownComponent) {\n if (item.action) {\n item.action();\n }\n\n this.menuItemClicked.emit(item);\n dropdown.hideDropdown();\n\n // Explicitly request a render tick if item.action() updated any internal state\n this.cdr.markForCheck();\n }\n}\n","import { Component, effect, HostBinding, input, output } from '@angular/core';\nimport { css } from '@emotion/css';\n\nimport { Option } from '../../cdk';\nimport type { NullableSize } from '@uni-design-system/uni-core';\nimport { UniBoxComponent } from '../layout';\nimport { UniCheckboxComponent } from '../checkbox/checkbox.component';\n\n@Component({\n selector: 'uni-multi-select, MultiSelect',\n imports: [UniCheckboxComponent, UniBoxComponent],\n templateUrl: './multi-select.component.html',\n})\nexport class UniMultiSelectComponent<T = unknown> {\n // Data Inputs\n options = input<Option<T>[]>([]);\n selections = input<T[] | null | undefined>(undefined);\n updates = output<T[] | undefined>();\n\n // Styling Inputs\n flexDirection = input<'row' | 'row-reverse' | 'column' | 'column-reverse'>('column');\n checkboxGap = input<NullableSize | undefined>('sm');\n\n optionsWithSelections: Option<T>[] = [];\n values: unknown[] = [];\n\n @HostBinding('class') className = css({ display: 'contents' });\n\n constructor() {\n effect(() => {\n this.values = this.selections() || [];\n this.optionsWithSelections = this.options().map((option) => ({\n ...option,\n selected: this.values.includes(option.value),\n }));\n });\n }\n\n handleCheck(checked: boolean, value: T) {\n const selections = this.selections();\n\n if (!selections && !checked) return;\n\n if (selections && !checked) {\n const filteredSelections = selections.filter((item) => item != value);\n const isEmpty = filteredSelections.length === 0;\n this.updates.emit(isEmpty ? undefined : filteredSelections);\n return;\n }\n\n if (checked) {\n this.updates.emit([...(selections || []), value]);\n return;\n }\n }\n\n selectAll() {\n const allValues = this.options().map((option) => option.value);\n this.updates.emit(allValues);\n }\n\n deselectAll() {\n this.updates.emit(undefined);\n }\n\n optionWrapper = css({\n display: 'flex',\n alignItems: 'center',\n width: '100%',\n });\n}\n","<div\n box-layout\n display=\"flex\"\n [flexDirection]=\"flexDirection()\"\n [gap]=\"checkboxGap()\"\n>\n @for (option of options(); track option) {\n <div [class]=\"optionWrapper\">\n <uni-checkbox\n [label]=\"option.label\"\n [checked]=\"values.indexOf(option.value) > -1\"\n (checkedChange)=\"handleCheck($event, option.value)\"\n variant=\"primary\"\n >\n </uni-checkbox>\n </div>\n }\n</div>\n","import {\n Component,\n computed,\n effect,\n HostBinding,\n input,\n model,\n signal,\n} from '@angular/core';\nimport { FormValueControl } from '@angular/forms/signals';\nimport { css } from '@emotion/css';\nimport { Option, type Options } from '../../cdk';\nimport { removeInputPlatformStyling } from '@uni-design-system/uni-core';\nimport { UniBoxComponent, UniRowComponent, UniStackComponent } from '../layout';\nimport { UniButtonComponent } from '../button/button.component';\nimport { UniDividerComponent } from '../divider';\nimport { UniDropdownComponent } from '../dropdown/dropdown.component';\nimport { UniSymbolComponent } from '../symbol';\nimport { UniTextComponent } from '../text/text.component';\nimport { BaseComponent, COMPONENT_NAME } from '../base/base.component';\nimport { UniCheckboxComponent } from '../checkbox/checkbox.component';\nimport { UniInputBoxComponent } from '../input-box/input-box.component';\nimport { UniMultiSelectDropdownOptions } from './multi-select-dropdown.model';\n\n@Component({\n selector: 'uni-multi-select-dropdown, MultiSelectDropdown',\n imports: [\n UniCheckboxComponent,\n UniBoxComponent,\n UniDropdownComponent,\n UniStackComponent,\n UniDividerComponent,\n UniButtonComponent,\n UniTextComponent,\n UniSymbolComponent,\n UniRowComponent,\n UniInputBoxComponent,\n ],\n templateUrl: './multi-select-dropdown.component.html',\n providers: [{ provide: COMPONENT_NAME, useValue: 'multiSelectDropdown' }],\n})\nexport class UniMultiSelectDropdownComponent<T = unknown>\n extends BaseComponent<UniMultiSelectDropdownOptions>\n implements FormValueControl<T[]>\n{\n @HostBinding('class') className = css({ display: 'contents' });\n\n // --- REQUIRED SIGNALS (populated by FormValueControl) ---\n readonly value = model<T[]>([]);\n readonly disabled = input(false);\n readonly touched = model(false);\n readonly invalid = input(false);\n readonly dirty = input(false);\n\n // --- CONFIGURATION ---\n readonly options = input.required<Options<T>>();\n readonly placeholder = input<string>('');\n\n protected readonly query = signal('');\n\n protected readonly filteredOptions = computed<Options<T>>(() => {\n const filterText = this.query().toLowerCase();\n return this.options().filter((opt) => opt.label.toLowerCase().includes(filterText));\n });\n\n // Derived display string\n readonly selectedLabelsText = computed(() => {\n const selections = this.value();\n const allOptions = this.options();\n\n // Find labels for each selected ID\n const labels = selections\n .map((value) => allOptions.find((opt) => opt.value === value)?.label)\n .filter((label) => !!label); // Remove undefined if an ID isn't found\n\n return labels.length > 0 ? labels.join(', ') : this.placeholder();\n });\n\n protected readonly showError = computed(\n () => this.invalid() && (this.touched() || this.dirty())\n );\n\n protected readonly textColor = computed(() => {\n return this.selectedLabelsText() === this.placeholder()\n ? this.componentOptions().placeholderTextColor\n : this.componentOptions().textColor;\n });\n\n triggerClass = css({\n all: 'unset',\n display: 'block',\n cursor: 'pointer',\n width: '100%',\n\n '&:focus > :first-child > :first-child': {\n outline: this.componentOptions().focusOutline,\n outlineOffset: this.componentOptions().focusOutlineOffset,\n },\n });\n\n searchInputClass!: string;\n\n constructor() {\n super();\n\n effect(() => {\n this.searchInputClass = css({\n ...removeInputPlatformStyling,\n ...this.theme.border(this.componentOptions().searchInputBorder),\n ...this.theme.radius(this.componentOptions().searchInputBorderRadius),\n paddingBlock: 4,\n paddingInline: 8,\n width: 'auto',\n\n '&:focus': {\n outline: this.componentOptions().focusOutline,\n outlineOffset: this.componentOptions().focusOutlineOffset,\n },\n });\n });\n }\n\n selectAll() {\n if (this.disabled()) return;\n\n this.touched.set(true);\n const allValues = this.options().map((option) => option.value);\n this.value.set(allValues);\n }\n\n deselectAll() {\n if (this.disabled()) return;\n\n this.touched.set(true);\n this.value.set([]);\n }\n\n protected isOptionSelected(option: Option<T>) {\n return computed(() => this.value().includes(option.value));\n }\n\n toggleOption(option: Option<T>, checked: boolean) {\n if (this.disabled()) return;\n\n this.touched.set(true);\n const { value } = option;\n this.value.update((current) => {\n if (checked) {\n // Add selection if not already present\n return current.includes(value) ? current : [...current, value];\n } else {\n // Remove selection\n return current.filter((item) => item !== value);\n }\n });\n }\n}\n","<button\n [class]=\"triggerClass\"\n #trigger\n [style.cursor]=\"disabled() ? 'default' : 'pointer'\"\n (click)=\"!disabled() && touched.set(true)\"\n>\n <uni-input-box [error]=\"showError()\" [disabled]=\"disabled()\">\n <div\n row-layout\n alignItems=\"center\"\n justifyContent=\"space-between\"\n [fullWidth]=\"true\"\n [minWidth]=\"0\"\n paddingLeft=\"sm\"\n >\n <Text\n display=\"block\"\n [typeface]=\"componentOptions().textRole\"\n [color]=\"textColor()\"\n [ellipsis]=\"true\"\n [style.flex-grow]=\"1\"\n >{{ selectedLabelsText() }}</Text\n >\n <Symbol name=\"keyboard_arrow_down\" [style.flex-shrink]=\"0\"></Symbol>\n </div>\n </uni-input-box>\n</button>\n<uni-dropdown\n #dropdown\n [trigger]=\"trigger\"\n (dropdownShowing)=\"$event && searchInput.focus()\"\n (dropdownHiding)=\"$event && trigger.focus()\"\n>\n <div box-layout gap=\"xs\" padding=\"xs\">\n <input\n #searchInput\n type=\"text\"\n [class]=\"searchInputClass\"\n [value]=\"query()\"\n (input)=\"query.set($any($event.target).value)\"\n placeholder=\"Search...\"\n (click)=\"$event.stopPropagation()\"\n [disabled]=\"disabled()\"\n />\n </div>\n\n <uni-divider [border]=\"componentOptions().dividerBorder\" />\n\n <div stack-layout gap=\"xs\" padding=\"xs\">\n @for (option of filteredOptions(); track option.value) {\n <uni-checkbox\n [label]=\"option.label\"\n [checked]=\"isOptionSelected(option)()\"\n (checkedChange)=\"toggleOption(option, $event)\"\n variant=\"primary\"\n [disabled]=\"disabled()\"\n >\n </uni-checkbox>\n }\n </div>\n\n <uni-divider [border]=\"componentOptions().dividerBorder\" />\n\n <div row-layout gap=\"xs\" justifyContent=\"space-around\" padding=\"xs\">\n <button\n text-button\n (click)=\"dropdown.hideDropdown()\"\n size=\"sm\"\n variant=\"ghost\"\n >\n Done\n </button>\n </div>\n</uni-dropdown>\n","import { Component, computed, HostBinding, input } from '@angular/core';\nimport { css } from '@emotion/css';\nimport type { Variant } from '@uni-design-system/uni-core';\nimport { BaseComponent } from '../base';\nimport { COMPONENT_NAME } from '../base/base.component';\nimport { UniTextComponent } from '../text';\nimport type { UniNotificationBadgeOptions } from './notification-badge.model';\n\n@Component({\n selector: 'uni-notification-badge',\n imports: [UniTextComponent],\n templateUrl: './notification-badge.html',\n providers: [{ provide: COMPONENT_NAME, useValue: 'notificationBadge' }],\n})\nexport class UniNotificationBadgeComponent extends BaseComponent<UniNotificationBadgeOptions> {\n count = input<number | undefined>(undefined);\n maxCount = input<number>(99);\n badgeVariant = input<'dot' | 'count' | 'pill'>('count');\n color = input<Variant | undefined>(undefined);\n position = input<'top-right' | 'top-left' | 'bottom-right' | 'bottom-left'>('top-right');\n show = input<boolean>(true);\n\n displayValue = computed(() => {\n const count = this.count();\n const maxCount = this.maxCount();\n const variant = this.badgeVariant();\n\n if (variant === 'dot') {\n return '';\n }\n\n if (count === undefined || count <= 0) {\n return '';\n }\n\n if (count > maxCount) {\n return `${maxCount}+`;\n }\n\n return count.toString();\n });\n\n shouldShow = computed(() => {\n const show = this.show();\n const count = this.count();\n const variant = this.badgeVariant();\n\n if (!show) return false;\n\n if (variant === 'dot') return true;\n\n return count !== undefined && count > 0;\n });\n\n @HostBinding('class') get className() {\n const variant = this.badgeVariant();\n const color = this.color();\n const position = this.position();\n const offset = this.componentOptions().offset + 'px';\n\n const positionStyles = {\n 'top-right': { top: offset, right: offset },\n 'top-left': { top: offset, left: offset },\n 'bottom-right': { bottom: offset, right: offset },\n 'bottom-left': { bottom: offset, left: offset },\n }[position];\n\n const variantStyles = {\n dot: {\n width: '8px',\n height: '8px',\n borderRadius: '50%',\n minWidth: 'unset',\n },\n count: {\n width: 20,\n height: 20,\n borderRadius: 10,\n },\n pill: {\n minWidth: '24px',\n height: '20px',\n borderRadius: '10px',\n padding: '0 8px',\n },\n }[variant];\n\n return css({\n position: 'relative',\n display: 'inline-block',\n\n '& .notification-badge-indicator': {\n position: 'absolute',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n ...this.theme.getContainerColors(color || 'warn'),\n zIndex: 1,\n\n ...positionStyles,\n ...variantStyles,\n },\n });\n }\n}\n","<ng-content></ng-content>\n@if (shouldShow()) {\n<div class=\"notification-badge-indicator\">\n <uni-text\n typeface=\"overline\"\n align=\"center\"\n [style.max-width]=\"badgeVariant() !== 'pill' ? (displayValue().length * 5 + 'px') : ''\"\n >{{ displayValue() }}</uni-text\n >\n</div>\n}\n","import {\n AfterViewInit,\n Component,\n computed,\n effect,\n ElementRef,\n EventEmitter,\n input,\n model,\n Output,\n signal,\n ViewChild,\n} from '@angular/core';\nimport { css, keyframes } from '@emotion/css';\n\nimport { fadeOut, type Variant } from '@uni-design-system/uni-core';\n\nimport { BaseComponent } from '../../base';\nimport { COMPONENT_NAME } from '../../base/base.component';\nimport { UniIconButtonComponent } from '../../icon-button';\nimport { UniIconComponent } from '../../icon';\nimport { IconName } from '../../icon/icon.record';\nimport { UniBoxComponent, UniRowComponent } from '../../layout';\nimport { UniSymbolComponent } from '../../symbol';\nimport { UniTextComponent } from '../../text';\nimport type { UniAlertOptions } from './alert.model';\n\n@Component({\n selector: 'uni-alert, Alert',\n standalone: true,\n imports: [\n UniRowComponent,\n UniIconButtonComponent,\n UniTextComponent,\n UniBoxComponent,\n UniIconComponent,\n UniSymbolComponent,\n ],\n templateUrl: './alert.component.html',\n providers: [{ provide: COMPONENT_NAME, useValue: 'alert' }],\n})\nexport class UniAlertComponent extends BaseComponent<UniAlertOptions> implements AfterViewInit {\n show = model<boolean>();\n iconName = input<IconName | undefined>(undefined);\n symbolName = input<string | undefined>(undefined);\n useVariant = input<boolean>(false);\n\n @Output() showing = new EventEmitter<boolean>();\n\n @ViewChild('alert') alertRef?: ElementRef<HTMLDialogElement>;\n\n private readonly alertState = signal<'open' | 'closing' | 'closed'>('closed');\n\n private readonly effectiveVariant = computed<Variant>(\n () => this.variant() || this.componentOptions().defaultVariant\n );\n\n protected readonly alertClass = computed(() =>\n css({\n ...this.theme.getContainerColors(this.effectiveVariant(), this.useVariant()),\n ...this.theme.radius(this.componentOptions().borderRadius),\n ...this.theme.border(this.effectiveVariant()),\n ...this.theme.boxShadow(this.componentOptions().elevation),\n\n transition: `all ${this.componentOptions().transitionSpeed}s ease-in-out`,\n transitionBehavior: 'allow-discrete',\n opacity: 1,\n top: this.componentOptions().topPosition,\n\n '&[open]': {\n '@starting-style': {\n top: 0,\n opacity: 0,\n },\n },\n\n '&[closing]': {\n animation: `${this.fadeOut} 0.3s forwards`,\n },\n })\n );\n\n private readonly fadeOut = keyframes({ ...fadeOut });\n\n constructor() {\n super();\n effect(() => {\n if (this.show() === true) {\n this.open();\n } else if (this.show() === false) {\n this.close();\n }\n });\n }\n\n ngAfterViewInit() {\n this.alertRef?.nativeElement.addEventListener('animationend', (e) => {\n if (e.animationName === this.fadeOut.toString()) {\n this.alertRef?.nativeElement.close();\n this.showing.emit(false);\n this.alertState.set('closed');\n }\n });\n }\n\n open() {\n if (!this.alertRef?.nativeElement) return;\n\n this.alertRef.nativeElement.removeAttribute('closing');\n this.alertRef.nativeElement.show();\n this.alertState.set('open');\n this.showing.emit(true);\n }\n\n close() {\n if (!this.alertRef?.nativeElement) return;\n\n this.alertRef.nativeElement.setAttribute('closing', 'true');\n this.alertState.set('closing');\n this.show.set(false);\n }\n\n protected readonly effectiveIconName = computed<IconName | undefined>(() => this.iconName());\n}\n","<dialog #alert [class]=\"alertClass()\">\n <div row-layout gap=\"md\">\n @if (iconName() || symbolName()) {\n <div box-layout [height]=\"26\" [width]=\"26\">\n @if (effectiveIconName()) {\n <Icon [name]=\"effectiveIconName()!\" />\n } @else {\n <Symbol [name]=\"symbolName()!\" [opticalSize]=\"26\" />\n }\n </div>\n }\n <Text>\n <ng-content></ng-content>\n </Text>\n <button icon-button (click)=\"close()\" iconName=\"close\" size=\"md\">close</button>\n </div>\n</dialog>\n","import { Component, EventEmitter, input, Input, Output } from '@angular/core';\n\nimport {\n UniDialogButtonsComponent,\n UniDialogComponent,\n UniDialogHeaderComponent,\n} from '../../dialog';\nimport { UniBoxComponent } from '../../layout';\nimport { UniTextComponent } from '../../text';\nimport type { Confirmation } from '../../../cdk/notification';\n\n@Component({\n selector: 'uni-confirmation-dialog, Confirmation',\n standalone: true,\n imports: [\n UniDialogComponent,\n UniDialogHeaderComponent,\n UniBoxComponent,\n UniTextComponent,\n UniDialogButtonsComponent,\n ],\n templateUrl: './confirmation-dialog.component.html',\n})\nexport class ConfirmationDialogComponent {\n show = input(false);\n @Input() confirmation?: Confirmation;\n @Output() showing = new EventEmitter();\n}\n","<dialog uni-dialog [show]=\"show()\" (showing)=\"showing.emit($event)\">\n <div uni-dialog-header>\n {{ confirmation?.title }}\n </div>\n <div box-layout padding=\"md\">\n <Text>\n {{ confirmation?.message }}\n </Text>\n </div>\n <div\n dialog-buttons\n [confirmButtonText]=\"confirmation?.actionLabel\"\n (confirmed)=\"confirmation?.action()\"\n [cancelButtonText]=\"confirmation?.dismissLabel\"\n ></div>\n</dialog>\n","import {\n AfterViewInit,\n Component,\n effect,\n ElementRef,\n EventEmitter,\n input,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { css, keyframes } from '@emotion/css';\nimport { useTimer } from '../../../cdk';\nimport { Z_INDEX } from '@uni-design-system/uni-core';\nimport { BaseComponent } from '../../base';\nimport { COMPONENT_NAME } from '../../base/base.component';\nimport { UniButtonComponent } from '../../button';\nimport { UniIconButtonComponent } from '../../icon-button';\nimport { UniIconComponent } from '../../icon';\nimport { IconName } from '../../icon/icon.record';\nimport { UniBoxComponent, UniRowComponent } from '../../layout';\nimport { UniSymbolComponent } from '../../symbol';\nimport { UniTextComponent } from '../../text';\nimport type { UniSnackbarOptions } from './snackbar.model';\n\n@Component({\n selector: 'uni-snackbar, Snackbar',\n standalone: true,\n imports: [\n UniRowComponent,\n UniBoxComponent,\n UniTextComponent,\n UniIconButtonComponent,\n UniSymbolComponent,\n UniIconComponent,\n UniButtonComponent,\n ],\n templateUrl: './snackbar.component.html',\n providers: [{ provide: COMPONENT_NAME, useValue: 'snackbar' }],\n})\nexport class UniSnackbarComponent\n extends BaseComponent<UniSnackbarOptions>\n implements AfterViewInit, OnChanges\n{\n timer = useTimer();\n\n snackbarClass?: string;\n\n @Input() show?: boolean;\n iconName = input<IconName>();\n symbolName = input<string>();\n timeout = input<number | string | 'disabled'>();\n actionLabel = input<string>();\n\n useVariant = input<boolean>(false);\n\n @Output() action = new EventEmitter();\n @Output() showing = new EventEmitter();\n\n @ViewChild('snackbar') snackbarRef?: ElementRef;\n\n private get _snackbar(): HTMLDialogElement | undefined {\n return this.snackbarRef?.nativeElement;\n }\n\n constructor() {\n super();\n\n effect(() => {\n this.snackbarClass = css({\n ...this.theme.getContainerColors(this.variant() || 'primary', this.useVariant()),\n ...this.theme.radius('sm'),\n ...this.theme.border(this.variant() || 'primary'),\n ...this.theme.boxShadow('dialog'),\n padding: 0,\n transition: `all ${this.componentOptions().transitionDelay} ease-in-out`,\n transitionBehavior: 'allow-discrete',\n opacity: 1,\n bottom: this.componentOptions().bottomPosition,\n zIndex: Z_INDEX.dialog,\n position: 'fixed',\n\n '&[open]': {\n '@starting-style': {\n bottom: 0,\n opacity: 0,\n },\n },\n\n '&[closing]': {\n animation: `${this.fadeOut} 0.3s forwards`,\n },\n });\n });\n }\n\n fadeOut = keyframes({\n '0% ': {\n opacity: 1,\n },\n '100%': {\n opacity: 0,\n },\n });\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['show'] && changes['show'].currentValue) {\n this.open();\n } else {\n this.close();\n }\n }\n\n ngAfterViewInit() {\n this._snackbar?.addEventListener('animationend', (e) => {\n if (e.animationName == this.fadeOut) {\n this._snackbar?.close();\n this.showing.emit(false);\n }\n });\n }\n\n private get _timeout(): number | undefined {\n const timeout = this.timeout();\n if (timeout === 'disabled') return undefined;\n\n return typeof timeout === 'string'\n ? parseFloat(timeout)\n : timeout || this.componentOptions().autoCloseDelay;\n }\n\n open() {\n this._snackbar?.removeAttribute('closing');\n this._snackbar?.show();\n this.show = true;\n this.showing.emit(true);\n\n if (this._timeout) this.timer.start(this._timeout, () => this.close());\n }\n\n close() {\n this._snackbar?.setAttribute('closing', 'true');\n this.show = false;\n }\n\n protected pauseTimer() {\n this.timer.pause();\n }\n\n protected resumeTimer() {\n this.timer.resume();\n }\n}\n","@let icon = iconName();\n@let symbol = symbolName();\n<dialog\n #snackbar\n [class]=\"snackbarClass\"\n (mouseenter)=\"pauseTimer()\"\n (mouseleave)=\"resumeTimer()\"\n (focusin)=\"pauseTimer()\"\n (focusout)=\"resumeTimer()\"\n>\n <Row alignItems=\"center\">\n @if (icon || symbol) {\n <Box [height]=\"26\" [width]=\"26\" paddingLeft=\"sm\">\n @if (icon) {\n <Icon [name]=\"icon\"></Icon>\n } @else if (symbol) {\n <Symbol [name]=\"symbol\" [opticalSize]=\"26\"></Symbol>\n }\n </Box>\n }\n <Box padding=\"sm\">\n <Text>\n <ng-content></ng-content>\n </Text>\n </Box>\n <Box paddingRight=\"sm\">\n @if (!actionLabel()) {\n <button icon-button (click)=\"close()\" iconName=\"close\" size=\"md\">Close</button>\n } @else {\n <button text-button variant=\"ghost\" (click)=\"this.action.emit(); close()\">\n {{ actionLabel() }}\n </button>\n }\n </Box>\n </Row>\n</dialog>\n","import { Component, computed, effect, inject, signal } from '@angular/core';\nimport { Alert, Confirmation, NotificationService, Snackbar } from '../../../cdk';\nimport { UniAlertComponent } from '../alert/alert.component';\nimport { ConfirmationDialogComponent } from '../confirmation-dialog/confirmation-dialog.component';\nimport { UniSnackbarComponent } from '../snackbar/snackbar.component';\n\n@Component({\n selector: 'uni-notifications, Notifications',\n standalone: true,\n imports: [UniAlertComponent, UniSnackbarComponent, ConfirmationDialogComponent],\n templateUrl: './notifications.component.html',\n})\nexport class NotificationsComponent {\n notifications = inject(NotificationService);\n\n private readonly alertState = signal<Alert | undefined>(undefined);\n private readonly snackbarState = signal<Snackbar | undefined>(undefined);\n private readonly confirmationState = signal<Confirmation | undefined>(undefined);\n\n // Computed values for the show states\n protected readonly showAlert = computed(() => !!this.alertState());\n protected readonly showSnackbar = computed(() => !!this.snackbarState());\n protected readonly showConfirmation = computed(() => !!this.confirmationState());\n\n // Expose the alert state\n protected readonly alert = computed(() => this.alertState());\n protected readonly snackbar = computed(() => this.snackbarState());\n protected readonly confirmation = computed(() => this.confirmationState());\n\n constructor() {\n effect(() => {\n this.alertState.set(this.notifications.alert());\n });\n effect(() => {\n this.snackbarState.set(this.notifications.snackbar());\n });\n effect(() => {\n this.confirmationState.set(this.notifications.confirmation());\n });\n }\n\n handleConfirmationShowingEvent(showing: boolean) {\n if (!showing) this.notifications.hideConfirmation();\n }\n\n handleSnackbarShowingEvent(showing: boolean) {\n if (!showing) this.notifications.hideSnackbar();\n }\n\n handleAlertShowingEvent(showing: boolean) {\n if (!showing) this.notifications.hideAlert();\n }\n}\n","<Alert\n [show]=\"showAlert()\"\n (showing)=\"handleAlertShowingEvent($event)\"\n [variant]=\"alert()?.variant || 'primary'\"\n [iconName]=\"alert()?.iconName\"\n [symbolName]=\"alert()?.symbolName\"\n >{{ alert()?.message }}</Alert\n>\n\n<Snackbar\n [show]=\"showSnackbar()\"\n (showing)=\"handleSnackbarShowingEvent($event)\"\n [variant]=\"snackbar()?.variant || 'primary'\"\n [actionLabel]=\"snackbar()?.actionLabel\"\n (action)=\"snackbar()?.action?.()\"\n [timeout]=\"snackbar()?.timeout\"\n [iconName]=\"snackbar()?.iconName\"\n [symbolName]=\"snackbar()?.symbolName\"\n >{{ snackbar()?.message }}</Snackbar\n>\n\n<Confirmation\n [show]=\"showConfirmation()\"\n (showing)=\"handleConfirmationShowingEvent($event)\"\n [confirmation]=\"confirmation()\"\n></Confirmation>\n","import { Component, effect, input } from '@angular/core';\nimport { css } from '@emotion/css';\nimport { type UniDatasource } from '../../cdk';\nimport { BaseComponent } from '../base';\nimport { COMPONENT_NAME } from '../base/base.component';\nimport { UniIconButtonComponent } from '../icon-button/icon-button.component';\nimport { UniRowComponent } from '../layout';\nimport { UniTextComponent } from '../text/text.component';\nimport type { UniPaginatorOptions } from './paginator.model';\n\n@Component({\n selector: 'uni-paginator, Paginator',\n imports: [UniRowComponent, UniIconButtonComponent, UniTextComponent],\n templateUrl: './paginator.component.html',\n providers: [{ provide: COMPONENT_NAME, useValue: 'paginator' }],\n standalone: true,\n})\nexport class UniPaginatorComponent<T> extends BaseComponent<UniPaginatorOptions> {\n datasource = input<UniDatasource<T>>();\n initPageSize = input<number>();\n\n showPageSize = input<boolean>(true);\n showPageJumper = input<boolean>(true);\n showPageNumbers = input<boolean>(true);\n\n inputClass!: string;\n pageClass!: string;\n\n constructor() {\n super();\n effect(() => {\n const pageSize = this.initPageSize();\n if (!pageSize) return;\n const ds = this.datasource();\n if (ds) ds.setPageSize(pageSize);\n });\n\n effect(() => {\n this.inputClass = css({\n textAlign: 'center',\n ...this.theme.border(this.componentOptions().inputBorder),\n ...this.theme.radius(this.componentOptions().inputBorderRadius),\n height: 22,\n fontSize: 16,\n padding: '2px 0 0 2px',\n\n '&:focus': {\n outline: 'none',\n },\n });\n\n this.pageClass = css({\n ...this.theme.radius(this.componentOptions().pageBorderRadius),\n padding: 2,\n width: 20,\n display: 'flex',\n justifyContent: 'center',\n cursor: 'pointer',\n border: 'solid 1px transparent',\n\n '&.current': {\n ...this.theme.border(this.componentOptions().currentPageBorder),\n ...this.theme.radius(this.componentOptions().currentPageBorderRadius),\n cursor: 'unset',\n },\n\n '&:hover:not(.current)': {\n backgroundColor: 'rgba(0,0,0,0.1)',\n },\n });\n });\n }\n\n updatePageSize(event: Event) {\n const ds = this.datasource();\n const pageSize = (event.target as HTMLInputElement).value;\n if (ds) ds.setPageSize(parseInt(pageSize));\n }\n\n jumpToPage(event: Event) {\n const ds = this.datasource();\n const page = (event.target as HTMLInputElement).value;\n if (ds) ds.jumpToPage(parseInt(page));\n }\n\n isNumber(page: unknown) {\n return typeof page === 'number';\n }\n}\n","@let ds = datasource();\n@if (ds) {\n <div row-layout alignItems=\"center\" [gap]=\"componentOptions().gap\">\n @if (showPageSize()) {\n <div row-layout alignItems=\"center\" gap=\"sm\" paddingRight=\"sm\">\n <Text [typeface]=\"componentOptions().textRole\">Show</Text>\n <input\n type=\"number\"\n [class]=\"inputClass\"\n (change)=\"updatePageSize($event)\"\n min=\"1\"\n [max]=\"ds.recordCount()\"\n [value]=\"ds.pageSize()\"\n />\n </div>\n }\n\n @if (showPageNumbers()) {\n <button\n icon-button\n variant=\"ghost\"\n size=\"md\"\n symbolName=\"keyboard_double_arrow_left\"\n (click)=\"ds.firstPage()\"\n [disable]=\"ds.disablePrevious()\"\n >\n First Page\n </button>\n\n <button\n icon-button\n variant=\"ghost\"\n size=\"md\"\n symbolName=\"chevron_left\"\n (click)=\"ds.previousPage()\"\n [disable]=\"ds.disablePrevious()\"\n >\n Previous Page\n </button>\n\n @for (page of ds.truncatedPages(); track page) {\n @if (isNumber(page)) {\n <div\n [class]=\"pageClass\"\n [class.current]=\"page === ds.pageIndex() + 1\"\n (click)=\"ds.jumpToPage(page)\"\n >\n <Text [typeface]=\"componentOptions().textRole\" display=\"block\">\n {{ page }}\n </Text>\n </div>\n } @else {\n <div>\n <Text [typeface]=\"componentOptions().textRole\" display=\"block\">\n {{ page }}\n </Text>\n </div>\n }\n }\n\n <button\n icon-button\n variant=\"ghost\"\n size=\"md\"\n symbolName=\"chevron_right\"\n (click)=\"ds.nextPage()\"\n [disable]=\"ds.disableNext()\"\n >\n Next Page\n </button>\n\n <button\n icon-button\n variant=\"ghost\"\n size=\"md\"\n symbolName=\"keyboard_double_arrow_right\"\n (click)=\"ds.lastPage()\"\n [disable]=\"ds.disableNext()\"\n >\n Last Page\n </button>\n }\n\n @if (showPageJumper()) {\n <div row-layout alignItems=\"center\" gap=\"sm\" paddingLeft=\"sm\">\n <Text [typeface]=\"componentOptions().textRole\">Jump to</Text>\n <input\n type=\"number\"\n [class]=\"inputClass\"\n (change)=\"jumpToPage($event)\"\n min=\"1\"\n [max]=\"ds.pageCount()\"\n [value]=\"ds.pageIndex() + 1\"\n />\n </div>\n }\n </div>\n}\n","/**\n * UniPaginatorComponent Barrel File\n *\n * This file exports all public-facing elements of the paginator component.\n */\n\nexport { UniPaginatorComponent } from './paginator.component';\nexport type { UniPaginatorOptions } from './paginator.model';\n","import {\n Component,\n ElementRef,\n inject,\n input,\n OnDestroy,\n OnInit,\n Renderer2,\n viewChild,\n} from '@angular/core';\nimport { css } from '@emotion/css';\nimport { arrow, computePosition, flip, offset, shift } from '@floating-ui/dom';\nimport { Z_INDEX } from '@uni-design-system/uni-core';\nimport { BodyRenderDirective } from '../../directives/body-render/body-render.directive';\nimport { ThemeService } from '../../theming';\nimport { Placement } from '../tooltip/tooltip.types';\n\n@Component({\n selector: 'uni-popover, Popover',\n standalone: true,\n imports: [BodyRenderDirective],\n templateUrl: './popover.component.html',\n})\nexport class UniPopoverComponent implements OnInit, OnDestroy {\n private renderer = inject(Renderer2);\n private theme = inject(ThemeService);\n\n private delay = 500;\n private showing = false;\n private clickListener?: () => void;\n\n placement = input<Placement>();\n autoClose = input(true);\n\n triggerRef = viewChild.required<ElementRef>('trigger');\n popoverRef = viewChild.required<ElementRef>('popover');\n arrowRef = viewChild.required<ElementRef>('arrow');\n\n private get _trigger(): HTMLSpanElement {\n return this.triggerRef().nativeElement.firstChild;\n }\n\n private get _popover(): HTMLDivElement {\n return this.popoverRef().nativeElement;\n }\n\n private get _arrow(): HTMLDivElement {\n return this.arrowRef().nativeElement;\n }\n\n ngOnInit() {\n if (this.autoClose()) {\n this.clickListener = this.renderer.listen('window', 'click', (e: Event) => {\n if (!e.composedPath().includes(this._popover) && this.showing) this.hidePopover();\n });\n }\n }\n\n showPopover() {\n this.setPosition();\n this.renderer.addClass(this._popover, this.showClassName);\n this.showing = true;\n }\n\n hidePopover() {\n this.renderer.removeClass(this._popover, this.showClassName);\n this.showing = false;\n\n setTimeout(() => {\n this.renderer.setStyle(this._popover, 'left', `-1000px`);\n }, this.delay);\n }\n\n togglePopover(event: MouseEvent) {\n if (this.showing) {\n this.hidePopover();\n } else {\n this.showPopover();\n }\n event.stopPropagation();\n }\n\n popoverClassName = css([\n {\n ...this.theme.colorPair('primary-surface'),\n ...this.theme.radius('xs'),\n ...this.theme.boxShadow('raised'),\n ...this.theme.typeface('label'),\n ...this.theme.border('quaternary'),\n padding: '6px 12px',\n width: 'max-content',\n position: 'absolute',\n top: 0,\n left: 0,\n transition: `opacity ${this.delay}ms`,\n opacity: 0,\n zIndex: Z_INDEX.popover,\n },\n ]);\n\n arrowClassName = css({\n position: 'absolute',\n ...this.theme.colorPair('primary-surface'),\n width: 8,\n height: 8,\n transform: 'rotate(45deg)',\n });\n\n private showClassName = css({\n opacity: '1 !important',\n });\n\n private arrowClasses: Record<string, string> = {\n top: css({\n top: '-5px',\n ...this.theme.borderLeft('quaternary'),\n ...this.theme.borderTop('quaternary'),\n }),\n bottom: css({\n bottom: '-5px',\n ...this.theme.borderRight('quaternary'),\n ...this.theme.borderBottom('quaternary'),\n }),\n left: css({\n left: '-5px',\n ...this.theme.borderLeft('quaternary'),\n ...this.theme.borderBottom('quaternary'),\n }),\n right: css({\n right: '-5px',\n ...this.theme.borderRight('quaternary'),\n ...this.theme.borderTop('quaternary'),\n }),\n };\n\n private setPosition() {\n computePosition(this._trigger, this._popover, {\n placement: this.placement(),\n middleware: [offset(7), flip(), shift({ padding: 5 }), arrow({ element: this._arrow })],\n }).then(({ x, y, placement, middlewareData }) => {\n this.renderer.setStyle(this._popover, 'top', `${y}px`);\n this.renderer.setStyle(this._popover, 'left', `${x}px`);\n\n const arrowX = middlewareData.arrow?.x;\n const arrowY = middlewareData.arrow?.y;\n\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[placement.split('-')[0]];\n\n this.renderer.setStyle(this._arrow, 'top', `${arrowY}px`);\n this.renderer.setStyle(this._arrow, 'left', `${arrowX}px`);\n this.renderer.setStyle(this._arrow, 'right', ``);\n this.renderer.setStyle(this._arrow, 'bottom', ``);\n\n if (staticSide) {\n this.renderer.addClass(this._arrow, this.arrowClasses[staticSide]);\n }\n });\n }\n\n ngOnDestroy() {\n if (this.clickListener) {\n this.clickListener();\n }\n }\n}\n","<span #trigger (click)=\"togglePopover($event)\">\n <ng-content select=\"[trigger]\"></ng-content>\n</span>\n<div uniBodyRender #popover [class]=\"popoverClassName\">\n <ng-content></ng-content>\n <div #arrow [class]=\"arrowClassName\"></div>\n</div>\n","/**\n * UniPopoverComponent Barrel File\n *\n * This file exports all public-facing elements of the popover component.\n */\n\nexport { UniPopoverComponent } from './popover.component';\n","import { Component, HostBinding, inject, input } from '@angular/core';\nimport { css } from '@emotion/css';\nimport { ThemeService } from '../../theming';\n\n@Component({\n selector: 'uni-progress-bar, ProgressBar',\n standalone: true,\n imports: [],\n templateUrl: './progress-bar.component.html',\n})\nexport class UniProgressBarComponent {\n theme = inject(ThemeService);\n\n palette = this.theme.colors;\n\n width = input<number>(560);\n height = input<number>(24);\n percent = input<number>(0);\n stroke = 1;\n\n @HostBinding('class') get className() {\n return css([{ display: 'block' }]);\n }\n\n protected readonly Math = Math;\n}\n","<svg [attr.width]=\"width()\" [attr.height]=\"height()\">\n <rect\n [attr.x]=\"stroke\"\n [attr.y]=\"stroke\"\n [attr.width]=\"width() - stroke * 2\"\n [attr.height]=\"height() - stroke * 2\"\n [attr.fill]=\"palette()['primary-surface']\"\n [attr.stroke]=\"palette()['on-background-variant']\"\n [attr.stroke-width]=\"stroke\"\n [attr.ry]=\"height() / 2 - stroke\"\n [attr.rx]=\"height() / 2 - stroke\"\n />\n\n <rect\n [attr.x]=\"stroke\"\n [attr.y]=\"stroke\"\n [attr.width]=\"\n Math.max(height() - stroke * 2, (percent() / 100) * width() - stroke * 2)\n \"\n [attr.height]=\"height() - stroke * 2\"\n [attr.fill]=\"\n percent() === 100 ? palette()['secondary'] : palette()['secondary-surface']\n \"\n [attr.stroke]=\"palette()['on-background-variant']\"\n [attr.stroke-width]=\"stroke\"\n [attr.ry]=\"height() / 2 - stroke\"\n [attr.rx]=\"height() / 2 - stroke\"\n />\n</svg>\n","/**\n * UniProgressBarComponent Barrel File\n *\n * This file exports all public-facing elements of the progress-bar component.\n */\n\nexport { UniProgressBarComponent } from './progress-bar.component';\n","import { Component, computed, HostBinding, input } from '@angular/core';\nimport { css, keyframes } from '@emotion/css';\nimport { BaseComponent, COMPONENT_NAME } from '../base/base.component';\n\n@Component({\n selector: 'uni-progress-gauge, ProgressGauge',\n standalone: true,\n imports: [],\n templateUrl: './progress-gauge.component.html',\n providers: [{ provide: COMPONENT_NAME, useValue: 'progressGauge' }],\n})\nexport class UniProgressGaugeComponent extends BaseComponent {\n percent = input<number>(0);\n\n textStyle = computed(() => {\n const theme = this.componentTheme();\n return theme.fixed && theme.fixed['textFill'];\n });\n\n private progress = keyframes({\n '0%': { strokeDasharray: '0 100' },\n });\n\n @HostBinding('class') get className() {\n return css({\n display: 'block',\n\n '& .circular-chart': {\n display: 'block',\n },\n\n '& .circle-bg': {\n fill: 'none',\n strokeWidth: 3.8,\n },\n\n '& .circle': {\n fill: 'none',\n strokeWidth: 3.8,\n animation: `${this.progress} 1s ease-out forwards`,\n },\n\n '& .percentage': {\n fontFamily: 'sans-serif',\n fontSize: '0.5em',\n textAnchor: 'middle',\n },\n });\n }\n}\n","<svg\n viewBox=\"0 0 36 36\"\n class=\"circular-chart\"\n [style.height]=\"style()['height']\"\n>\n <path\n class=\"circle-bg\"\n [attr.stroke]=\"style()['backgroundColor']\"\n d=\"M18 2.0845\n a 15.9155 15.9155 0 0 1 0 31.831\n a 15.9155 15.9155 0 0 1 0 -31.831\"\n />\n <path\n class=\"circle\"\n [attr.stroke]=\"style()['color']\"\n [attr.stroke-dasharray]=\"percent() + ', 100'\"\n d=\"M18 2.0845\n a 15.9155 15.9155 0 0 1 0 31.831\n a 15.9155 15.9155 0 0 1 0 -31.831\"\n />\n <text x=\"18.5\" y=\"20.82\" class=\"percentage\" [style.fill]=\"textStyle()\">\n {{ percent() }}%\n </text>\n</svg>\n","/**\n * UniProgressGaugeComponent Barrel File\n *\n * This file exports all public-facing elements of the progress-gauge component.\n */\n\nexport { UniProgressGaugeComponent } from './progress-gauge.component';\n","import { Component, computed, effect, input, model } from '@angular/core';\nimport { FormValueControl } from '@angular/forms/signals';\nimport { css } from '@emotion/css';\nimport type { ColorToken } from '@uni-design-system/uni-core';\nimport { BaseComponent } from '../base';\nimport { COMPONENT_NAME } from '../base/base.component';\nimport { UniTextComponent } from '../text/text.component';\nimport type { UniRadioOption, UniRadioOptions } from './radio.model';\n\n@Component({\n selector: 'uni-radio, Radio',\n standalone: true,\n imports: [UniTextComponent],\n templateUrl: './radio.component.html',\n providers: [{ provide: COMPONENT_NAME, useValue: 'radio' }],\n})\nexport class UniRadioComponent\n extends BaseComponent<UniRadioOptions>\n implements FormValueControl<string>\n{\n radioGroupClass!: string;\n radioOptionClass!: string;\n radioInputClass!: string;\n\n // --- REQUIRED SIGNALS (populated by FormValueControl) ---\n readonly value = model<string>('');\n readonly disabled = input(false);\n readonly touched = model(false);\n readonly invalid = input(false);\n readonly dirty = input(false);\n\n // --- CONFIGURATION ---\n readonly options = input<UniRadioOption[]>([]);\n readonly label = input<string>();\n readonly name = input<string>('radio-group');\n\n // Only show errors if the user has actually interacted with the field\n protected readonly showError = computed(\n () => this.invalid() && (this.touched() || this.dirty())\n );\n\n markAsTouched() {\n this.touched.set(true);\n }\n\n constructor() {\n super();\n\n effect(() => {\n const radioSize = this.componentOptions().size || 20;\n const outerCircleSize = radioSize;\n const innerCircleSize = radioSize * 0.6;\n const innerCircleOffset = (radioSize - innerCircleSize) / 2;\n\n this.radioGroupClass = css({\n display: 'flex',\n flexDirection: 'column',\n gap: 12,\n });\n\n this.radioOptionClass = css({\n userSelect: 'none',\n cursor: this.disabled() ? 'not-allowed' : 'pointer',\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n opacity: this.disabled() ? 0.6 : 1,\n\n '& .radio-button': {\n width: outerCircleSize,\n height: outerCircleSize,\n borderRadius: '50%',\n border: `2px solid ${this.disabled() ? '#ccc' : '#d0d0d0'}`,\n position: 'relative',\n transition: 'all 0.3s ease',\n backgroundColor: '#fff',\n flexShrink: 0,\n },\n\n '& .radio-inner': {\n width: innerCircleSize,\n height: innerCircleSize,\n borderRadius: '50%',\n backgroundColor: this.getThemeColor(this.variant()),\n position: 'absolute',\n top: innerCircleOffset,\n left: innerCircleOffset,\n transform: 'scale(0)',\n transition: 'all 0.3s ease',\n },\n\n '&:hover .radio-button': this.disabled()\n ? {}\n : {\n borderColor: this.getThemeColor(this.variant()),\n },\n\n '&.disabled': {\n cursor: 'not-allowed',\n opacity: 0.6,\n\n '& .radio-button': {\n borderColor: '#ccc',\n },\n },\n });\n\n this.radioInputClass = css({\n position: 'absolute',\n zIndex: -1,\n width: 0,\n height: 0,\n opacity: 0,\n\n '&:checked + .radio-button': {\n borderColor: this.getThemeColor(this.variant()),\n },\n\n '&:checked + .radio-button .radio-inner': {\n transform: 'scale(1)',\n },\n\n '&:focus + .radio-button': {\n outline: `2px solid ${this.getThemeColor(this.variant())}`,\n outlineOffset: '2px',\n },\n });\n });\n }\n\n handleRadioChange(optionValue: string) {\n this.value.set(optionValue);\n this.markAsTouched();\n }\n\n getThemeColor(token: ColorToken) {\n const colors = this.theme.colors();\n return colors[token] ? colors[token] : colors['primary'];\n }\n}\n","<div [class]=\"radioGroupClass\">\n @if (label()) {\n <Text typeface=\"label\">{{ label() }}</Text>\n }\n\n @for (option of options(); track option.value) {\n <label\n [class]=\"radioOptionClass\"\n [class.disabled]=\"disabled() || option.disabled\"\n (click)=\"\n !disabled() && !option.disabled && handleRadioChange(option.value)\n \"\n >\n <input\n type=\"radio\"\n [class]=\"radioInputClass\"\n [value]=\"option.value\"\n [name]=\"name()\"\n [checked]=\"value() === option.value\"\n [disabled]=\"disabled() || option.disabled\"\n (change)=\"handleRadioChange(option.value)\"\n />\n <div class=\"radio-button\">\n <div class=\"radio-inner\"></div>\n </div>\n <Text typeface=\"label\">{{ option.label }}</Text>\n </label>\n }\n</div>\n","/**\n * UniScrollAreaComponent Barrel File\n *\n * This file exports all public-facing elements of the scroll-area component.\n */\n\nexport { UniScrollAreaComponent } from './scroll-area.component';\nexport type { ScrollbarAppearance } from './scroll-area.types';\n","import { Component, HostBinding, input, output } from '@angular/core';\nimport { css } from '@emotion/css';\nimport { UniDebounceInputComponent } from '../forms/debounce-input/debounce-input.component';\nimport { UniIconButtonComponent } from '../icon-button/icon-button.component';\nimport { UniBoxComponent } from '../layout';\nimport { UniTextComponent } from '../text/text.component';\n\n@Component({\n selector: 'SearchInput, uni-search-input',\n standalone: true,\n imports: [UniDebounceInputComponent, UniTextComponent, UniBoxComponent, UniIconButtonComponent],\n templateUrl: './search-input.component.html',\n})\nexport class UniSearchInputComponent {\n label = input.required<string>();\n width = input<string | number>('100%');\n\n change = output<string>();\n search = output<string>();\n\n @HostBinding('class') get className() {\n return css([\n {\n display: 'flex',\n alignItems: 'center',\n },\n ]);\n }\n\n handleSearchInput(searchInput: string) {\n this.change.emit(searchInput);\n }\n\n handleSearch(searchInput: string | undefined) {\n this.search.emit(searchInput ?? '');\n }\n}\n","<Box\n color=\"primary\"\n borderRadius=\"max\"\n paddingHorizontal=\"sm\"\n display=\"flex\"\n border=\"quaternary\"\n alignItems=\"center\"\n [width]=\"width()\"\n>\n <Box alignSelf=\"center\" paddingHorizontal=\"md\">\n <Text display=\"block\" typeface=\"title-large\">{{ label() }}</Text>\n </Box>\n <Box\n borderRadius=\"max\"\n display=\"block\"\n paddingHorizontal=\"md\"\n paddingVertical=\"sm\"\n color=\"primary-surface\"\n [grow]=\"1\"\n >\n <DebounceInput (change)=\"handleSearchInput($event)\" #searchInput />\n </Box>\n <button\n icon-button\n iconName=\"search\"\n variant=\"ghost\"\n (click)=\"handleSearch(searchInput.value())\"\n ></button>\n</Box>\n","/**\n * UniSearchInputComponent Barrel File\n *\n * This file exports all public-facing elements of the search-input component.\n */\n\nexport { UniSearchInputComponent } from './search-input.component';\n","import { Component, computed, input, model } from '@angular/core';\nimport { FormValueControl } from '@angular/forms/signals';\nimport { css } from '@emotion/css';\nimport type { Options } from '../../cdk';\nimport { UniInputBoxComponent } from '../input-box/input-box.component';\nimport { UniSymbolComponent } from '../symbol';\n\n@Component({\n selector: 'uni-select, SelectInput',\n imports: [UniInputBoxComponent, UniSymbolComponent],\n templateUrl: './select-input.component.html',\n})\nexport class UniSelectComponent<T> implements FormValueControl<T | null> {\n // --- REQUIRED SIGNALS (populated by FormValueControl) ---\n readonly value = model<T | null>(null);\n readonly disabled = input(false);\n readonly touched = model(false);\n readonly invalid = input(false);\n readonly dirty = input(false);\n\n // --- CONFIGURATION ---\n readonly options = input<Options<T>>([]);\n readonly placeholder = input<string>();\n\n protected readonly UNSELECTED = -1;\n\n /**\n * We use the index as the HTML value to avoid issues with\n * stringifying complex objects or duplicate labels.\n */\n protected readonly currentSelectedIndex = computed(() => {\n const currentVal = this.value();\n if (currentVal === null || currentVal === undefined) return this.UNSELECTED;\n\n // Find the index of the option that contains our current value\n const index = this.options().findIndex((opt) => opt.value === currentVal);\n return index.toString();\n });\n\n protected readonly showError = computed(\n () => this.invalid() && (this.touched() || this.dirty())\n );\n\n protected handleSelectChange(event: Event): void {\n const select = event.target as HTMLSelectElement;\n const index = parseInt(select.value, 10);\n\n if (index === this.UNSELECTED) {\n this.value.set(null);\n } else {\n const selectedOption = this.options()[index];\n // Update the model with the 'value' property of the Option interface\n this.value.set(selectedOption.value);\n }\n }\n\n selectClass = css({\n '& select': {\n paddingRight: 24, // Prevent arrow from overlapping\n cursor: 'pointer',\n '&::-ms-expand': { display: 'none' },\n },\n\n [`& select:has(option[value=\"${this.UNSELECTED}\"]:checked)`]: {\n color: 'color-mix(in srgb, currentColor 50%, transparent)',\n },\n });\n\n arrowClass = css({\n position: 'absolute',\n right: 0,\n pointerEvents: 'none' /* Crucial for clicking through */,\n });\n}\n","<uni-input-box [error]=\"showError()\" [class]=\"selectClass\">\n <select\n [disabled]=\"disabled()\"\n [value]=\"currentSelectedIndex()\"\n (change)=\"handleSelectChange($event)\"\n (blur)=\"touched.set(true)\"\n >\n @if (placeholder()) {\n <option [value]=\"UNSELECTED\" disabled selected>\n {{ placeholder() }}\n </option>\n }\n\n @for (opt of options(); track opt.label; let i = $index) {\n <option [value]=\"i\">\n {{ opt.label }}\n </option>\n }\n </select>\n <uni-symbol name=\"keyboard_arrow_down\" [class]=\"arrowClass\" />\n</uni-input-box>\n","/**\n * UniSortHeaderComponent Barrel File\n *\n * This file exports all public-facing elements of the sort-header component.\n */\n\nexport { UniSortHeaderComponent } from './sort-header.component';\n","import { Component, input, output } from '@angular/core';\nimport { UniIconButtonComponent } from '../icon-button/icon-button.component';\nimport { UniBoxComponent, UniRowComponent } from '../layout';\nimport { UniTextComponent } from '../text/text.component';\n\n@Component({\n selector: 'Tag, uni-tag',\n imports: [UniBoxComponent, UniIconButtonComponent, UniTextComponent, UniRowComponent],\n templateUrl: './tag.component.html',\n})\nexport class UniTagComponent {\n label = input<string>();\n value = input<string | number>();\n\n close = output<string | number>();\n\n handleClose() {\n const v = this.value();\n if (v) this.close.emit(v);\n }\n}\n","<div box-layout color=\"primary\" borderRadius=\"max\" display=\"inline-block\">\n <div row-layout paddingLeft=\"sm\" gap=\"xs\">\n <Text display=\"block\" typeface=\"tag\">{{ label() }}</Text>\n <button icon-button symbolName=\"close\" size=\"sm\" (click)=\"handleClose()\">\n close\n </button>\n </div>\n</div>\n","/**\n * UniTagComponent Barrel File\n *\n * This file exports all public-facing elements of the tag component.\n */\n\nexport { UniTagComponent } from './tag.component';\n","import { Component, computed, effect, input, model } from '@angular/core';\nimport { FormCheckboxControl } from '@angular/forms/signals';\nimport { css } from '@emotion/css';\nimport type { ColorToken } from '@uni-design-system/uni-core';\nimport { BaseComponent } from '../base';\nimport { COMPONENT_NAME } from '../base/base.component';\nimport { UniTextComponent } from '../text/text.component';\nimport type { UniToggleOptions } from './toggle.model';\n\n@Component({\n selector: 'uni-toggle, Toggle',\n standalone: true,\n imports: [UniTextComponent],\n templateUrl: './toggle.component.html',\n providers: [{ provide: COMPONENT_NAME, useValue: 'toggle' }],\n})\nexport class UniToggleComponent\n extends BaseComponent<UniToggleOptions>\n implements FormCheckboxControl\n{\n toggleLabel!: string;\n toggleInput!: string;\n\n // --- REQUIRED SIGNALS (populated by FormCheckboxControl) ---\n readonly checked = model<boolean>(false);\n readonly disabled = input(false);\n readonly touched = model(false);\n readonly invalid = input(false);\n readonly dirty = input(false);\n\n // --- CONFIGURATION ---\n readonly label = input<string>();\n\n // Only show errors if the user has actually interacted with the field\n protected readonly showError = computed(\n () => this.invalid() && (this.touched() || this.dirty())\n );\n\n markAsTouched() {\n this.touched.set(true);\n }\n\n constructor() {\n super();\n\n effect(() => {\n const toggleSize = this.componentOptions().size || 20;\n const toggleWidth = toggleSize * 2;\n const sliderSize = toggleSize * 0.8;\n const sliderOffset = (toggleSize - sliderSize) / 2;\n\n this.toggleLabel = css({\n userSelect: 'none',\n cursor: this.disabled() ? 'not-allowed' : 'pointer',\n marginBottom: 0,\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n opacity: this.disabled() ? 0.6 : 1,\n\n '& .toggle-switch': {\n width: toggleWidth,\n height: toggleSize,\n backgroundColor: this.disabled() ? '#ccc' : '#e0e0e0',\n borderRadius: toggleSize / 2,\n position: 'relative',\n transition: 'all 0.3s ease',\n },\n\n '& .toggle-slider': {\n width: sliderSize,\n height: sliderSize,\n backgroundColor: '#fff',\n borderRadius: '50%',\n position: 'absolute',\n top: sliderOffset,\n left: sliderOffset,\n transition: 'all 0.3s ease',\n boxShadow: '0 2px 4px rgba(0, 0, 0, 0.2)',\n },\n\n '&:hover .toggle-switch': this.disabled()\n ? {}\n : {\n backgroundColor: '#d0d0d0',\n },\n });\n\n this.toggleInput = css({\n position: 'absolute',\n zIndex: -1,\n width: 0,\n height: 0,\n opacity: 0,\n\n '&:checked + .toggle-switch': {\n backgroundColor: this.getThemeColor(this.variant()),\n borderColor: this.getThemeColor(this.variant()),\n },\n\n '&:checked + .toggle-switch .toggle-slider': {\n transform: `translateX(${toggleSize}px)`,\n },\n\n '&:disabled + .toggle-switch': {\n cursor: 'not-allowed',\n },\n\n '&:focus + .toggle-switch': {\n outline: `2px solid ${this.getThemeColor(this.variant())}`,\n outlineOffset: '2px',\n },\n });\n });\n }\n\n getThemeColor(token: ColorToken) {\n const colors = this.theme.colors();\n return colors[token] ? colors[token] : colors['primary'];\n }\n}\n","<label [class]=\"toggleLabel\">\n <input\n type=\"checkbox\"\n [class]=\"toggleInput\"\n [checked]=\"checked()\"\n (change)=\"checked.set($any($event.target).checked); markAsTouched()\"\n [disabled]=\"disabled()\"\n />\n <div class=\"toggle-switch\">\n <div class=\"toggle-slider\"></div>\n </div>\n @if (label()) {\n <Text typeface=\"label\">{{ label() }}</Text>\n }\n</label>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.RippleDirective"],"mappings":"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"}