@lesterarte/sefin-ui 0.0.3-dev.0 → 0.0.3-dev.10

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":"lesterarte-sefin-ui.mjs","sources":["../../../src/tokens/colors.ts","../../../src/tokens/spacing.ts","../../../src/tokens/typography.ts","../../../src/tokens/border-radius.ts","../../../src/tokens/shadow.ts","../../../src/tokens/index.ts","../../../src/themes/light-theme.ts","../../../src/themes/dark-theme.ts","../../../src/themes/brand-theme.ts","../../../src/themes/index.ts","../../../src/utils/theme-loader.ts","../../../src/utils/index.ts","../../../src/shared/types.ts","../../../src/shared/index.ts","../../../src/atoms/button/button.component.ts","../../../src/atoms/button/button.component.html","../../../src/atoms/icon/icon.component.ts","../../../src/atoms/icon/icon.component.html","../../../src/atoms/input/input.component.ts","../../../src/atoms/input/input.component.html","../../../src/atoms/index.ts","../../../src/molecules/form-field/form-field.component.ts","../../../src/molecules/form-field/form-field.component.html","../../../src/molecules/dropdown/dropdown.component.ts","../../../src/molecules/dropdown/dropdown.component.html","../../../src/molecules/card/card.component.ts","../../../src/molecules/card/card.component.html","../../../src/molecules/index.ts","../../../src/organisms/header/header.component.ts","../../../src/organisms/header/header.component.html","../../../src/organisms/login-form/login-form.component.ts","../../../src/organisms/login-form/login-form.component.html","../../../src/organisms/toolbar/toolbar.component.ts","../../../src/organisms/toolbar/toolbar.component.html","../../../src/organisms/index.ts","../../../src/public-api.ts","../../../src/lesterarte-sefin-ui.ts"],"sourcesContent":["/**\n * Color design tokens as TypeScript constants\n * Based on Secretaría de Finanzas brand guidelines\n * These values are the source of truth for all color tokens\n */\n\nexport const COLOR_TOKENS = {\n // Primary colors - Secretaría de Finanzas brand colors\n primary: {\n // Light Blue (Azul Claro) - Primary brand color\n 50: '#e6f7fb',\n 100: '#b3e5f0',\n 200: '#80d3e5',\n 300: '#4dc1da',\n 400: '#2ab0cf',\n 500: '#55C3D8', // Primary Light Blue from brand guidelines\n 600: '#4aafc4',\n 700: '#3f9bb0',\n 800: '#34879c',\n 900: '#297388',\n },\n // Secondary colors - Grays from brand guidelines\n secondary: {\n // Based on Dark Gray and Light Gray from brand\n 50: '#f5f5f5',\n 100: '#e8e8e8',\n 200: '#cecece', // Light Gray from brand guidelines\n 300: '#b5b5b5',\n 400: '#9b9b9b',\n 500: '#828282',\n 600: '#686868',\n 700: '#4f4f4f',\n 800: '#383838', // Dark Gray from brand guidelines\n 900: '#2a2a2a',\n },\n // Neutral colors - Based on brand grays\n neutral: {\n 50: '#ffffff', // White from brand guidelines\n 100: '#f5f5f5',\n 200: '#cecece', // Light Gray\n 300: '#b5b5b5',\n 400: '#9b9b9b',\n 500: '#828282',\n 600: '#686868',\n 700: '#4f4f4f',\n 800: '#383838', // Dark Gray\n 900: '#2a2a2a',\n },\n // Semantic colors - Keeping standard semantic colors\n success: {\n 50: '#e8f5e9',\n 100: '#c8e6c9',\n 200: '#a5d6a7',\n 300: '#81c784',\n 400: '#66bb6a',\n 500: '#4caf50',\n 600: '#43a047',\n 700: '#388e3c',\n 800: '#2e7d32',\n 900: '#1b5e20',\n },\n warning: {\n 50: '#fff3e0',\n 100: '#ffe0b2',\n 200: '#ffcc80',\n 300: '#ffb74d',\n 400: '#ffa726',\n 500: '#ff9800',\n 600: '#fb8c00',\n 700: '#f57c00',\n 800: '#ef6c00',\n 900: '#e65100',\n },\n error: {\n 50: '#ffebee',\n 100: '#ffcdd2',\n 200: '#ef9a9a',\n 300: '#e57373',\n 400: '#ef5350',\n 500: '#f44336',\n 600: '#e53935',\n 700: '#d32f2f',\n 800: '#c62828',\n 900: '#b71c1c',\n },\n info: {\n 50: '#e0f2f1',\n 100: '#b2dfdb',\n 200: '#80cbc4',\n 300: '#4db6ac',\n 400: '#26a69a',\n 500: '#009688',\n 600: '#00897b',\n 700: '#00796b',\n 800: '#00695c',\n 900: '#004d40',\n },\n // Brand-specific colors\n brand: {\n darkGray: '#383838', // Dark Gray from brand guidelines\n lightGray: '#cecece', // Light Gray from brand guidelines\n lightBlue: '#55C3D8', // Light Blue from brand guidelines\n white: '#ffffff', // White from brand guidelines\n },\n} as const;\n\n/**\n * Color token names for CSS variable generation\n */\nexport type ColorTokenName =\n | 'primary'\n | 'secondary'\n | 'neutral'\n | 'success'\n | 'warning'\n | 'error'\n | 'info'\n | 'brand';\n\nexport type ColorShade = 50 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;\n","/**\n * Spacing design tokens\n * Based on 8px grid system\n */\n\nexport const SPACING_TOKENS = {\n xs: '4px',\n sm: '8px',\n md: '16px',\n lg: '24px',\n xl: '32px',\n '2xl': '48px',\n '3xl': '64px',\n '4xl': '96px',\n '5xl': '128px',\n} as const;\n\nexport type SpacingToken = keyof typeof SPACING_TOKENS;\n\n","/**\n * Typography design tokens\n * Based on Secretaría de Finanzas brand guidelines - Pluto typeface\n */\n\nexport const TYPOGRAPHY_TOKENS = {\n fontFamily: {\n base: \"'Pluto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif\",\n mono: \"'Fira Code', 'Courier New', monospace\",\n },\n fontSize: {\n xs: '0.75rem', // 12px\n sm: '0.875rem', // 14px\n base: '1rem', // 16px\n lg: '1.125rem', // 18px\n xl: '1.25rem', // 20px\n '2xl': '1.5rem', // 24px\n '3xl': '1.875rem', // 30px\n '4xl': '2.25rem', // 36px\n '5xl': '3rem', // 48px\n },\n fontWeight: {\n light: 300, // Pluto-Light\n normal: 400, // Pluto-Regular\n medium: 500,\n semibold: 600,\n bold: 700, // Pluto-Bold\n },\n lineHeight: {\n tight: 1.25,\n normal: 1.5,\n relaxed: 1.75,\n },\n} as const;\n\nexport type TypographyToken = keyof typeof TYPOGRAPHY_TOKENS;\n","/**\n * Border radius design tokens\n */\n\nexport const BORDER_RADIUS_TOKENS = {\n none: '0',\n sm: '4px',\n md: '8px',\n lg: '12px',\n xl: '16px',\n '2xl': '24px',\n full: '9999px',\n} as const;\n\nexport type BorderRadiusToken = keyof typeof BORDER_RADIUS_TOKENS;\n\n","/**\n * Shadow design tokens\n */\n\nexport const SHADOW_TOKENS = {\n none: 'none',\n sm: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',\n md: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)',\n lg: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',\n xl: '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)',\n '2xl': '0 25px 50px -12px rgba(0, 0, 0, 0.25)',\n} as const;\n\nexport type ShadowToken = keyof typeof SHADOW_TOKENS;\n\n","/**\n * Design tokens index\n * Central export for all design tokens\n */\n\nexport * from './colors';\nexport * from './spacing';\nexport * from './typography';\nexport * from './border-radius';\nexport * from './shadow';\n\n/**\n * All design tokens combined\n */\nexport const DESIGN_TOKENS = {\n colors: () => import('./colors').then(m => m.COLOR_TOKENS),\n spacing: () => import('./spacing').then(m => m.SPACING_TOKENS),\n typography: () => import('./typography').then(m => m.TYPOGRAPHY_TOKENS),\n borderRadius: () => import('./border-radius').then(m => m.BORDER_RADIUS_TOKENS),\n shadow: () => import('./shadow').then(m => m.SHADOW_TOKENS),\n};\n\n","import { COLOR_TOKENS } from '../tokens/colors';\n\n/**\n * Light theme configuration\n * Based on Secretaría de Finanzas brand colors\n */\nexport const LIGHT_THEME = {\n name: 'light',\n colors: {\n // Primary color is Light Blue from brand\n primary: COLOR_TOKENS.brand.lightBlue,\n 'primary-dark': COLOR_TOKENS.primary[700],\n 'primary-light': COLOR_TOKENS.primary[300],\n // Secondary uses Dark Gray\n secondary: COLOR_TOKENS.brand.darkGray,\n 'secondary-dark': COLOR_TOKENS.secondary[900],\n 'secondary-light': COLOR_TOKENS.secondary[600],\n // Background uses White and Light Gray\n background: COLOR_TOKENS.brand.white,\n 'background-elevated': COLOR_TOKENS.brand.white,\n surface: COLOR_TOKENS.brand.white,\n 'surface-hover': COLOR_TOKENS.brand.lightGray,\n // Text uses Dark Gray\n text: COLOR_TOKENS.brand.darkGray,\n 'text-secondary': COLOR_TOKENS.secondary[600],\n 'text-disabled': COLOR_TOKENS.secondary[400],\n // Borders use Light Gray\n border: COLOR_TOKENS.brand.lightGray,\n 'border-focus': COLOR_TOKENS.brand.lightBlue,\n // Semantic colors\n success: COLOR_TOKENS.success[500],\n warning: COLOR_TOKENS.warning[500],\n error: COLOR_TOKENS.error[500],\n info: COLOR_TOKENS.info[500],\n },\n} as const;\n","import { COLOR_TOKENS } from '../tokens/colors';\n\n/**\n * Dark theme configuration\n * Based on Secretaría de Finanzas brand colors (inverted)\n */\nexport const DARK_THEME = {\n name: 'dark',\n colors: {\n // Primary color remains Light Blue\n primary: COLOR_TOKENS.brand.lightBlue,\n 'primary-dark': COLOR_TOKENS.primary[300],\n 'primary-light': COLOR_TOKENS.primary[700],\n // Secondary uses Light Gray for contrast\n secondary: COLOR_TOKENS.brand.lightGray,\n 'secondary-dark': COLOR_TOKENS.secondary[400],\n 'secondary-light': COLOR_TOKENS.secondary[200],\n // Background uses Dark Gray\n background: COLOR_TOKENS.brand.darkGray,\n 'background-elevated': COLOR_TOKENS.secondary[700],\n surface: COLOR_TOKENS.secondary[700],\n 'surface-hover': COLOR_TOKENS.secondary[600],\n // Text uses White and Light Gray\n text: COLOR_TOKENS.brand.white,\n 'text-secondary': COLOR_TOKENS.brand.lightGray,\n 'text-disabled': COLOR_TOKENS.secondary[500],\n // Borders use medium gray\n border: COLOR_TOKENS.secondary[600],\n 'border-focus': COLOR_TOKENS.brand.lightBlue,\n // Semantic colors\n success: COLOR_TOKENS.success[400],\n warning: COLOR_TOKENS.warning[400],\n error: COLOR_TOKENS.error[400],\n info: COLOR_TOKENS.info[400],\n },\n} as const;\n","import { COLOR_TOKENS } from '../tokens/colors';\n\n/**\n * Brand theme configuration\n * Exact colors from Secretaría de Finanzas brand guidelines\n */\nexport const BRAND_THEME = {\n name: 'brand',\n colors: {\n // Primary: Light Blue from brand guidelines\n primary: COLOR_TOKENS.brand.lightBlue, // #55C3D8\n 'primary-dark': COLOR_TOKENS.primary[700],\n 'primary-light': COLOR_TOKENS.primary[300],\n // Secondary: Dark Gray from brand guidelines\n secondary: COLOR_TOKENS.brand.darkGray, // #383838\n 'secondary-dark': COLOR_TOKENS.secondary[900],\n 'secondary-light': COLOR_TOKENS.secondary[600],\n // Background: White from brand guidelines\n background: COLOR_TOKENS.brand.white, // #ffffff\n 'background-elevated': COLOR_TOKENS.brand.white,\n surface: COLOR_TOKENS.brand.white,\n 'surface-hover': COLOR_TOKENS.brand.lightGray, // #cecece\n // Text: Dark Gray from brand guidelines\n text: COLOR_TOKENS.brand.darkGray, // #383838\n 'text-secondary': COLOR_TOKENS.secondary[600],\n 'text-disabled': COLOR_TOKENS.secondary[400],\n // Border: Light Gray from brand guidelines\n border: COLOR_TOKENS.brand.lightGray, // #cecece\n 'border-focus': COLOR_TOKENS.brand.lightBlue, // #55C3D8\n // Semantic colors\n success: COLOR_TOKENS.success[500],\n warning: COLOR_TOKENS.warning[500],\n error: COLOR_TOKENS.error[500],\n info: COLOR_TOKENS.info[500],\n },\n} as const;\n","/**\n * Themes index\n */\nexport * from './light-theme';\nexport * from './dark-theme';\nexport * from './brand-theme';\n\nexport type Theme = 'light' | 'dark' | 'brand';\n\n","import { LIGHT_THEME } from '../themes/light-theme';\nimport { DARK_THEME } from '../themes/dark-theme';\nimport { BRAND_THEME } from '../themes/brand-theme';\nimport { SPACING_TOKENS } from '../tokens/spacing';\nimport { TYPOGRAPHY_TOKENS } from '../tokens/typography';\nimport { BORDER_RADIUS_TOKENS } from '../tokens/border-radius';\nimport { SHADOW_TOKENS } from '../tokens/shadow';\nimport type { Theme } from '../themes';\n\n/**\n * Theme loader utility\n * Generates CSS variables from design tokens\n */\nexport class ThemeLoader {\n /**\n * Load a theme and apply it to the document root\n */\n static loadTheme(themeName: Theme = 'light'): void {\n const theme = this.getTheme(themeName);\n const root = document.documentElement;\n\n // Apply color tokens\n Object.entries(theme.colors).forEach(([key, value]) => {\n root.style.setProperty(`--sefin-color-${key}`, value);\n });\n\n // Apply spacing tokens\n Object.entries(SPACING_TOKENS).forEach(([key, value]) => {\n root.style.setProperty(`--sefin-spacing-${key}`, value);\n });\n\n // Apply typography tokens\n Object.entries(TYPOGRAPHY_TOKENS.fontFamily).forEach(([key, value]) => {\n root.style.setProperty(`--sefin-font-family-${key}`, value);\n });\n Object.entries(TYPOGRAPHY_TOKENS.fontSize).forEach(([key, value]) => {\n root.style.setProperty(`--sefin-font-size-${key}`, value);\n });\n Object.entries(TYPOGRAPHY_TOKENS.fontWeight).forEach(([key, value]) => {\n root.style.setProperty(`--sefin-font-weight-${key}`, String(value));\n });\n Object.entries(TYPOGRAPHY_TOKENS.lineHeight).forEach(([key, value]) => {\n root.style.setProperty(`--sefin-line-height-${key}`, String(value));\n });\n\n // Apply border radius tokens\n Object.entries(BORDER_RADIUS_TOKENS).forEach(([key, value]) => {\n root.style.setProperty(`--sefin-radius-${key}`, value);\n });\n\n // Apply shadow tokens\n Object.entries(SHADOW_TOKENS).forEach(([key, value]) => {\n root.style.setProperty(`--sefin-shadow-${key}`, value);\n });\n\n // Set theme attribute for CSS selectors\n root.setAttribute('data-theme', themeName);\n }\n\n /**\n * Get theme configuration by name\n */\n private static getTheme(themeName: Theme) {\n switch (themeName) {\n case 'dark':\n return DARK_THEME;\n case 'brand':\n return BRAND_THEME;\n case 'light':\n default:\n return LIGHT_THEME;\n }\n }\n\n /**\n * Get all CSS variables as a string (useful for SSR or static generation)\n */\n static getThemeCSS(themeName: Theme = 'light'): string {\n const theme = this.getTheme(themeName);\n let css = ':root {\\n';\n\n // Color tokens\n Object.entries(theme.colors).forEach(([key, value]) => {\n css += ` --sefin-color-${key}: ${value};\\n`;\n });\n\n // Spacing tokens\n Object.entries(SPACING_TOKENS).forEach(([key, value]) => {\n css += ` --sefin-spacing-${key}: ${value};\\n`;\n });\n\n // Typography tokens\n Object.entries(TYPOGRAPHY_TOKENS.fontFamily).forEach(([key, value]) => {\n css += ` --sefin-font-family-${key}: ${value};\\n`;\n });\n Object.entries(TYPOGRAPHY_TOKENS.fontSize).forEach(([key, value]) => {\n css += ` --sefin-font-size-${key}: ${value};\\n`;\n });\n Object.entries(TYPOGRAPHY_TOKENS.fontWeight).forEach(([key, value]) => {\n css += ` --sefin-font-weight-${key}: ${value};\\n`;\n });\n Object.entries(TYPOGRAPHY_TOKENS.lineHeight).forEach(([key, value]) => {\n css += ` --sefin-line-height-${key}: ${value};\\n`;\n });\n\n // Border radius tokens\n Object.entries(BORDER_RADIUS_TOKENS).forEach(([key, value]) => {\n css += ` --sefin-radius-${key}: ${value};\\n`;\n });\n\n // Shadow tokens\n Object.entries(SHADOW_TOKENS).forEach(([key, value]) => {\n css += ` --sefin-shadow-${key}: ${value};\\n`;\n });\n\n css += '}\\n';\n return css;\n }\n}\n\n","/**\n * Utilities index\n */\nexport * from './theme-loader';\n\n","/**\n * Shared types and interfaces\n */\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger';\nexport type ButtonSize = 'sm' | 'md' | 'lg';\nexport type InputSize = 'sm' | 'md' | 'lg';\nexport type CardVariant = 'default' | 'elevated' | 'outlined';\n\nexport interface BaseComponent {\n disabled?: boolean;\n class?: string;\n}\n\n","/**\n * Shared index\n */\nexport * from './types';\n\n","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonVariant, ButtonSize } from '../../shared/types';\n\n@Component({\n selector: 'sefin-button',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ButtonComponent {\n @Input() variant: ButtonVariant = 'primary';\n @Input() size: ButtonSize = 'md';\n @Input() disabled = false;\n @Input() type: 'button' | 'submit' | 'reset' = 'button';\n @Input() class = '';\n\n @Output() clicked = new EventEmitter<MouseEvent>();\n\n onClick(event: MouseEvent): void {\n if (!this.disabled) {\n this.clicked.emit(event);\n }\n }\n\n get buttonClasses(): string {\n return [\n 'sefin-button',\n `sefin-button--${this.variant}`,\n `sefin-button--${this.size}`,\n this.disabled ? 'sefin-button--disabled' : '',\n this.class,\n ]\n .filter(Boolean)\n .join(' ');\n }\n}\n\n","<button [type]=\"type\" [disabled]=\"disabled\" [class]=\"buttonClasses\" (click)=\"onClick($event)\">\n <ng-content></ng-content>\n</button>\n","import { Component, Input, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'sefin-icon',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IconComponent {\n @Input() name = '';\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\n @Input() class = '';\n\n get iconClasses(): string {\n return [\n 'sefin-icon',\n `sefin-icon--${this.size}`,\n this.class,\n ]\n .filter(Boolean)\n .join(' ');\n }\n}\n\n","<span [class]=\"iconClasses\" [attr.aria-label]=\"name\">\n <ng-content></ng-content>\n</span>\n\n","import { Component, Input, Output, EventEmitter, forwardRef, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';\nimport { InputSize } from '../../shared/types';\n\n@Component({\n selector: 'sefin-input',\n standalone: true,\n imports: [CommonModule, FormsModule],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputComponent),\n multi: true,\n },\n ],\n templateUrl: './input.component.html',\n styleUrls: ['./input.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class InputComponent implements ControlValueAccessor {\n @Input() type: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' = 'text';\n @Input() placeholder = '';\n @Input() size: InputSize = 'md';\n @Input() disabled = false;\n @Input() required = false;\n @Input() readonly = false;\n @Input() class = '';\n @Input() id = '';\n\n @Output() blur = new EventEmitter<FocusEvent>();\n @Output() focus = new EventEmitter<FocusEvent>();\n\n value = '';\n private onChange = (value: string) => {};\n private onTouched = () => {};\n\n onInput(event: Event): void {\n const target = event.target as HTMLInputElement;\n this.value = target.value;\n this.onChange(this.value);\n }\n\n onBlur(event: FocusEvent): void {\n this.onTouched();\n this.blur.emit(event);\n }\n\n onFocus(event: FocusEvent): void {\n this.focus.emit(event);\n }\n\n writeValue(value: string): void {\n this.value = value || '';\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n get inputClasses(): string {\n return [\n 'sefin-input',\n `sefin-input--${this.size}`,\n this.disabled ? 'sefin-input--disabled' : '',\n this.class,\n ]\n .filter(Boolean)\n .join(' ');\n }\n}\n\n","<input\n [type]=\"type\"\n [id]=\"id\"\n [class]=\"inputClasses\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n/>\n\n","/**\n * Atoms index\n */\nexport * from './button/button.component';\nexport * from './icon/icon.component';\nexport * from './input/input.component';\n\n","import { Component, Input, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InputComponent } from '../../atoms/input/input.component';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'sefin-form-field',\n standalone: true,\n imports: [CommonModule, InputComponent, FormsModule],\n templateUrl: './form-field.component.html',\n styleUrls: ['./form-field.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormFieldComponent {\n @Input() label = '';\n @Input() hint = '';\n @Input() error = '';\n @Input() required = false;\n @Input() disabled = false;\n @Input() inputId = '';\n @Input() inputType: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' = 'text';\n @Input() placeholder = '';\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\n}\n\n","<div class=\"sefin-form-field\">\n <label *ngIf=\"label\" [for]=\"inputId\" class=\"sefin-form-field__label\">\n {{ label }}\n <span *ngIf=\"required\" class=\"sefin-form-field__required\">*</span>\n </label>\n <sefin-input\n [id]=\"inputId\"\n [type]=\"inputType\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [size]=\"size\"\n [class.sefin-form-field__input--error]=\"!!error\"\n ></sefin-input>\n <div *ngIf=\"hint && !error\" class=\"sefin-form-field__hint\">{{ hint }}</div>\n <div *ngIf=\"error\" class=\"sefin-form-field__error\">{{ error }}</div>\n</div>\n\n","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonComponent } from '../../atoms/button/button.component';\n\nexport interface DropdownOption {\n label: string;\n value: any;\n disabled?: boolean;\n}\n\n@Component({\n selector: 'sefin-dropdown',\n standalone: true,\n imports: [CommonModule, ButtonComponent],\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DropdownComponent {\n @Input() options: DropdownOption[] = [];\n @Input() placeholder = 'Select an option';\n @Input() disabled = false;\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\n\n @Output() selectionChange = new EventEmitter<any>();\n\n isOpen = false;\n selectedOption: DropdownOption | null = null;\n\n toggle(): void {\n if (!this.disabled) {\n this.isOpen = !this.isOpen;\n }\n }\n\n selectOption(option: DropdownOption): void {\n if (!option.disabled) {\n this.selectedOption = option;\n this.isOpen = false;\n this.selectionChange.emit(option.value);\n }\n }\n\n get displayText(): string {\n return this.selectedOption?.label || this.placeholder;\n }\n}\n\n","<div class=\"sefin-dropdown\" [class.sefin-dropdown--open]=\"isOpen\">\n <sefin-button\n [variant]=\"'outline'\"\n [size]=\"size\"\n [disabled]=\"disabled\"\n (clicked)=\"toggle()\"\n class=\"sefin-dropdown__trigger\"\n >\n {{ displayText }}\n <span class=\"sefin-dropdown__arrow\">▼</span>\n </sefin-button>\n <div *ngIf=\"isOpen\" class=\"sefin-dropdown__menu\">\n <button\n *ngFor=\"let option of options\"\n [class.sefin-dropdown__option--disabled]=\"option.disabled\"\n [class.sefin-dropdown__option--selected]=\"selectedOption?.value === option.value\"\n class=\"sefin-dropdown__option\"\n (click)=\"selectOption(option)\"\n [disabled]=\"option.disabled\"\n >\n {{ option.label }}\n </button>\n </div>\n</div>\n\n","import { Component, Input, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CardVariant } from '../../shared/types';\n\n@Component({\n selector: 'sefin-card',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CardComponent {\n @Input() variant: CardVariant = 'default';\n @Input() class = '';\n\n get cardClasses(): string {\n return [\n 'sefin-card',\n `sefin-card--${this.variant}`,\n this.class,\n ]\n .filter(Boolean)\n .join(' ');\n }\n}\n\n","<div [class]=\"cardClasses\">\n <ng-content></ng-content>\n</div>\n\n","/**\n * Molecules index\n */\nexport * from './form-field/form-field.component';\nexport * from './dropdown/dropdown.component';\nexport * from './card/card.component';\n\n","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonComponent } from '../../atoms/button/button.component';\nimport { IconComponent } from '../../atoms/icon/icon.component';\n\n@Component({\n selector: 'sefin-header',\n standalone: true,\n imports: [CommonModule, ButtonComponent, IconComponent],\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HeaderComponent {\n @Input() title = '';\n @Input() logo = '';\n @Input() showUserMenu = true;\n @Input() userName = '';\n\n @Output() logoClick = new EventEmitter<void>();\n @Output() menuClick = new EventEmitter<void>();\n @Output() userMenuClick = new EventEmitter<void>();\n}\n\n","<header class=\"sefin-header\">\n <div class=\"sefin-header__left\">\n <div *ngIf=\"logo\" class=\"sefin-header__logo\" (click)=\"logoClick.emit()\">\n <img [src]=\"logo\" [alt]=\"title\" />\n </div>\n <h1 *ngIf=\"title\" class=\"sefin-header__title\">{{ title }}</h1>\n </div>\n <div class=\"sefin-header__right\">\n <sefin-button\n *ngIf=\"showUserMenu\"\n variant=\"ghost\"\n size=\"md\"\n (clicked)=\"userMenuClick.emit()\"\n class=\"sefin-header__user-menu\"\n >\n <sefin-icon name=\"user\" size=\"md\"></sefin-icon>\n <span *ngIf=\"userName\">{{ userName }}</span>\n </sefin-button>\n <sefin-button\n variant=\"ghost\"\n size=\"md\"\n (clicked)=\"menuClick.emit()\"\n class=\"sefin-header__menu-button\"\n >\n <sefin-icon name=\"menu\" size=\"md\">☰</sefin-icon>\n </sefin-button>\n </div>\n</header>\n\n","import { Component, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { FormFieldComponent } from '../../molecules/form-field/form-field.component';\nimport { ButtonComponent } from '../../atoms/button/button.component';\nimport { CardComponent } from '../../molecules/card/card.component';\n\nexport interface LoginCredentials {\n email: string;\n password: string;\n}\n\n@Component({\n selector: 'sefin-login-form',\n standalone: true,\n imports: [CommonModule, FormsModule, FormFieldComponent, ButtonComponent, CardComponent],\n templateUrl: './login-form.component.html',\n styleUrls: ['./login-form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LoginFormComponent {\n email = '';\n password = '';\n error = '';\n\n @Output() submit = new EventEmitter<LoginCredentials>();\n\n onSubmit(): void {\n if (this.email && this.password) {\n this.error = '';\n this.submit.emit({\n email: this.email,\n password: this.password,\n });\n } else {\n this.error = 'Please fill in all fields';\n }\n }\n}\n\n","<sefin-card variant=\"elevated\" class=\"sefin-login-form\">\n <h2 class=\"sefin-login-form__title\">Sign In</h2>\n <form (ngSubmit)=\"onSubmit()\" class=\"sefin-login-form__form\">\n <sefin-form-field\n label=\"Email\"\n inputId=\"email\"\n inputType=\"email\"\n placeholder=\"Enter your email\"\n [required]=\"true\"\n [(ngModel)]=\"email\"\n name=\"email\"\n ></sefin-form-field>\n <sefin-form-field\n label=\"Password\"\n inputId=\"password\"\n inputType=\"password\"\n placeholder=\"Enter your password\"\n [required]=\"true\"\n [(ngModel)]=\"password\"\n name=\"password\"\n ></sefin-form-field>\n <div *ngIf=\"error\" class=\"sefin-login-form__error\">{{ error }}</div>\n <sefin-button\n type=\"submit\"\n variant=\"primary\"\n size=\"lg\"\n class=\"sefin-login-form__submit\"\n >\n Sign In\n </sefin-button>\n </form>\n</sefin-card>\n\n","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonComponent } from '../../atoms/button/button.component';\nimport { IconComponent } from '../../atoms/icon/icon.component';\n\nexport interface ToolbarAction {\n label: string;\n icon?: string;\n variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger';\n action: () => void;\n}\n\n@Component({\n selector: 'sefin-toolbar',\n standalone: true,\n imports: [CommonModule, ButtonComponent, IconComponent],\n templateUrl: './toolbar.component.html',\n styleUrls: ['./toolbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ToolbarComponent {\n @Input() title = '';\n @Input() actions: ToolbarAction[] = [];\n\n @Output() actionClick = new EventEmitter<ToolbarAction>();\n\n onActionClick(action: ToolbarAction): void {\n action.action();\n this.actionClick.emit(action);\n }\n}\n\n","<div class=\"sefin-toolbar\">\n <h2 *ngIf=\"title\" class=\"sefin-toolbar__title\">{{ title }}</h2>\n <div class=\"sefin-toolbar__actions\">\n <sefin-button\n *ngFor=\"let action of actions\"\n [variant]=\"action.variant || 'primary'\"\n size=\"md\"\n (clicked)=\"onActionClick(action)\"\n >\n <sefin-icon *ngIf=\"action.icon\" [name]=\"action.icon\" size=\"sm\"></sefin-icon>\n {{ action.label }}\n </sefin-button>\n </div>\n</div>\n\n","/**\n * Organisms index\n */\nexport * from './header/header.component';\nexport * from './login-form/login-form.component';\nexport * from './toolbar/toolbar.component';\n\n","/*\n * Public API Surface of @sefin/sefin-ui\n */\n\n// Design Tokens\nexport * from './tokens';\n\n// Themes\nexport * from './themes';\n\n// Utilities\nexport * from './utils';\n\n// Shared\nexport * from './shared';\n\n// Atoms\nexport * from './atoms';\n\n// Molecules\nexport * from './molecules';\n\n// Organisms\nexport * from './organisms';\n\n// Styles (for importing in consuming apps)\nexport const STYLES_PATH = './styles/index.scss';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lesterarte-sefin-ui.mjs","sources":["../../../src/tokens/colors.ts","../../../src/tokens/spacing.ts","../../../src/tokens/typography.ts","../../../src/tokens/border-radius.ts","../../../src/tokens/shadow.ts","../../../src/tokens/index.ts","../../../src/themes/light-theme.ts","../../../src/themes/dark-theme.ts","../../../src/themes/brand-theme.ts","../../../src/themes/index.ts","../../../src/utils/theme-loader.ts","../../../src/utils/index.ts","../../../src/shared/types.ts","../../../src/shared/index.ts","../../../src/atoms/button/button.component.ts","../../../src/atoms/button/button.component.html","../../../src/atoms/autocomplete/autocomplete.component.ts","../../../src/atoms/autocomplete/autocomplete.component.html","../../../src/atoms/index.ts","../../../src/public-api.ts","../../../src/lesterarte-sefin-ui.ts"],"sourcesContent":["/**\n * Color design tokens as TypeScript constants\n * Based on Secretaría de Finanzas brand guidelines\n * These values are the source of truth for all color tokens\n */\n\nexport const COLOR_TOKENS = {\n // Primary colors - Secretaría de Finanzas brand colors\n primary: {\n // Light Blue (Azul Claro) - Primary brand color\n 50: '#e6f7fb',\n 100: '#b3e5f0',\n 200: '#80d3e5',\n 300: '#4dc1da',\n 400: '#2ab0cf',\n 500: '#55C3D8', // Primary Light Blue from brand guidelines\n 600: '#4aafc4',\n 700: '#3f9bb0',\n 800: '#34879c',\n 900: '#297388',\n },\n // Secondary colors - Grays from brand guidelines\n secondary: {\n // Based on Dark Gray and Light Gray from brand\n 50: '#f5f5f5',\n 100: '#e8e8e8',\n 200: '#cecece', // Light Gray from brand guidelines\n 300: '#b5b5b5',\n 400: '#9b9b9b',\n 500: '#828282',\n 600: '#686868',\n 700: '#4f4f4f',\n 800: '#383838', // Dark Gray from brand guidelines\n 900: '#2a2a2a',\n },\n // Neutral colors - Based on brand grays\n neutral: {\n 50: '#ffffff', // White from brand guidelines\n 100: '#f5f5f5',\n 200: '#cecece', // Light Gray\n 300: '#b5b5b5',\n 400: '#9b9b9b',\n 500: '#828282',\n 600: '#686868',\n 700: '#4f4f4f',\n 800: '#383838', // Dark Gray\n 900: '#2a2a2a',\n },\n // Semantic colors - Keeping standard semantic colors\n success: {\n 50: '#e8f5e9',\n 100: '#c8e6c9',\n 200: '#a5d6a7',\n 300: '#81c784',\n 400: '#66bb6a',\n 500: '#4caf50',\n 600: '#43a047',\n 700: '#388e3c',\n 800: '#2e7d32',\n 900: '#1b5e20',\n },\n warning: {\n 50: '#fff3e0',\n 100: '#ffe0b2',\n 200: '#ffcc80',\n 300: '#ffb74d',\n 400: '#ffa726',\n 500: '#ff9800',\n 600: '#fb8c00',\n 700: '#f57c00',\n 800: '#ef6c00',\n 900: '#e65100',\n },\n error: {\n 50: '#ffebee',\n 100: '#ffcdd2',\n 200: '#ef9a9a',\n 300: '#e57373',\n 400: '#ef5350',\n 500: '#f44336',\n 600: '#e53935',\n 700: '#d32f2f',\n 800: '#c62828',\n 900: '#b71c1c',\n },\n info: {\n 50: '#e0f2f1',\n 100: '#b2dfdb',\n 200: '#80cbc4',\n 300: '#4db6ac',\n 400: '#26a69a',\n 500: '#009688',\n 600: '#00897b',\n 700: '#00796b',\n 800: '#00695c',\n 900: '#004d40',\n },\n // Brand-specific colors\n brand: {\n darkGray: '#383838', // Dark Gray from brand guidelines\n lightGray: '#cecece', // Light Gray from brand guidelines\n lightBlue: '#55C3D8', // Light Blue from brand guidelines\n white: '#ffffff', // White from brand guidelines\n },\n} as const;\n\n/**\n * Color token names for CSS variable generation\n */\nexport type ColorTokenName =\n | 'primary'\n | 'secondary'\n | 'neutral'\n | 'success'\n | 'warning'\n | 'error'\n | 'info'\n | 'brand';\n\nexport type ColorShade = 50 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;\n","/**\n * Spacing design tokens\n * Based on 8px grid system\n */\n\nexport const SPACING_TOKENS = {\n xs: '4px',\n sm: '8px',\n md: '16px',\n lg: '24px',\n xl: '32px',\n '2xl': '48px',\n '3xl': '64px',\n '4xl': '96px',\n '5xl': '128px',\n} as const;\n\nexport type SpacingToken = keyof typeof SPACING_TOKENS;\n\n","/**\n * Typography design tokens\n * Based on Secretaría de Finanzas brand guidelines - Pluto typeface\n */\n\nexport const TYPOGRAPHY_TOKENS = {\n fontFamily: {\n base: \"'Pluto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif\",\n mono: \"'Fira Code', 'Courier New', monospace\",\n },\n fontSize: {\n xs: '0.75rem', // 12px\n sm: '0.875rem', // 14px\n base: '1rem', // 16px\n lg: '1.125rem', // 18px\n xl: '1.25rem', // 20px\n '2xl': '1.5rem', // 24px\n '3xl': '1.875rem', // 30px\n '4xl': '2.25rem', // 36px\n '5xl': '3rem', // 48px\n },\n fontWeight: {\n light: 300, // Pluto-Light\n normal: 400, // Pluto-Regular\n medium: 500,\n semibold: 600,\n bold: 700, // Pluto-Bold\n },\n lineHeight: {\n tight: 1.25,\n normal: 1.5,\n relaxed: 1.75,\n },\n} as const;\n\nexport type TypographyToken = keyof typeof TYPOGRAPHY_TOKENS;\n","/**\n * Border radius design tokens\n */\n\nexport const BORDER_RADIUS_TOKENS = {\n none: '0',\n sm: '4px',\n md: '8px',\n lg: '12px',\n xl: '16px',\n '2xl': '24px',\n full: '9999px',\n} as const;\n\nexport type BorderRadiusToken = keyof typeof BORDER_RADIUS_TOKENS;\n\n","/**\n * Shadow design tokens\n */\n\nexport const SHADOW_TOKENS = {\n none: 'none',\n sm: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',\n md: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)',\n lg: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',\n xl: '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)',\n '2xl': '0 25px 50px -12px rgba(0, 0, 0, 0.25)',\n} as const;\n\nexport type ShadowToken = keyof typeof SHADOW_TOKENS;\n\n","/**\n * Design tokens index\n * Central export for all design tokens\n */\n\nexport * from './colors';\nexport * from './spacing';\nexport * from './typography';\nexport * from './border-radius';\nexport * from './shadow';\n\n/**\n * All design tokens combined\n */\nexport const DESIGN_TOKENS = {\n colors: () => import('./colors').then(m => m.COLOR_TOKENS),\n spacing: () => import('./spacing').then(m => m.SPACING_TOKENS),\n typography: () => import('./typography').then(m => m.TYPOGRAPHY_TOKENS),\n borderRadius: () => import('./border-radius').then(m => m.BORDER_RADIUS_TOKENS),\n shadow: () => import('./shadow').then(m => m.SHADOW_TOKENS),\n};\n\n","import { COLOR_TOKENS } from '../tokens/colors';\n\n/**\n * Light theme configuration\n * Based on Secretaría de Finanzas brand colors\n */\nexport const LIGHT_THEME = {\n name: 'light',\n colors: {\n // Primary color is Light Blue from brand\n primary: COLOR_TOKENS.brand.lightBlue,\n 'primary-dark': COLOR_TOKENS.primary[700],\n 'primary-light': COLOR_TOKENS.primary[300],\n // Secondary uses Dark Gray\n secondary: COLOR_TOKENS.brand.darkGray,\n 'secondary-dark': COLOR_TOKENS.secondary[900],\n 'secondary-light': COLOR_TOKENS.secondary[600],\n // Background uses White and Light Gray\n background: COLOR_TOKENS.brand.white,\n 'background-elevated': COLOR_TOKENS.brand.white,\n surface: COLOR_TOKENS.brand.white,\n 'surface-hover': COLOR_TOKENS.brand.lightGray,\n // Text uses Dark Gray\n text: COLOR_TOKENS.brand.darkGray,\n 'text-secondary': COLOR_TOKENS.secondary[600],\n 'text-disabled': COLOR_TOKENS.secondary[400],\n // Borders use Light Gray\n border: COLOR_TOKENS.brand.lightGray,\n 'border-focus': COLOR_TOKENS.brand.lightBlue,\n // Semantic colors\n success: COLOR_TOKENS.success[500],\n warning: COLOR_TOKENS.warning[500],\n error: COLOR_TOKENS.error[500],\n info: COLOR_TOKENS.info[500],\n },\n} as const;\n","import { COLOR_TOKENS } from '../tokens/colors';\n\n/**\n * Dark theme configuration\n * Based on Secretaría de Finanzas brand colors (inverted)\n */\nexport const DARK_THEME = {\n name: 'dark',\n colors: {\n // Primary color remains Light Blue\n primary: COLOR_TOKENS.brand.lightBlue,\n 'primary-dark': COLOR_TOKENS.primary[300],\n 'primary-light': COLOR_TOKENS.primary[700],\n // Secondary uses Light Gray for contrast\n secondary: COLOR_TOKENS.brand.lightGray,\n 'secondary-dark': COLOR_TOKENS.secondary[400],\n 'secondary-light': COLOR_TOKENS.secondary[200],\n // Background uses Dark Gray\n background: COLOR_TOKENS.brand.darkGray,\n 'background-elevated': COLOR_TOKENS.secondary[700],\n surface: COLOR_TOKENS.secondary[700],\n 'surface-hover': COLOR_TOKENS.secondary[600],\n // Text uses White and Light Gray\n text: COLOR_TOKENS.brand.white,\n 'text-secondary': COLOR_TOKENS.brand.lightGray,\n 'text-disabled': COLOR_TOKENS.secondary[500],\n // Borders use medium gray\n border: COLOR_TOKENS.secondary[600],\n 'border-focus': COLOR_TOKENS.brand.lightBlue,\n // Semantic colors\n success: COLOR_TOKENS.success[400],\n warning: COLOR_TOKENS.warning[400],\n error: COLOR_TOKENS.error[400],\n info: COLOR_TOKENS.info[400],\n },\n} as const;\n","import { COLOR_TOKENS } from '../tokens/colors';\n\n/**\n * Brand theme configuration\n * Exact colors from Secretaría de Finanzas brand guidelines\n */\nexport const BRAND_THEME = {\n name: 'brand',\n colors: {\n // Primary: Light Blue from brand guidelines\n primary: COLOR_TOKENS.brand.lightBlue, // #55C3D8\n 'primary-dark': COLOR_TOKENS.primary[700],\n 'primary-light': COLOR_TOKENS.primary[300],\n // Secondary: Dark Gray from brand guidelines\n secondary: COLOR_TOKENS.brand.darkGray, // #383838\n 'secondary-dark': COLOR_TOKENS.secondary[900],\n 'secondary-light': COLOR_TOKENS.secondary[600],\n // Background: White from brand guidelines\n background: COLOR_TOKENS.brand.white, // #ffffff\n 'background-elevated': COLOR_TOKENS.brand.white,\n surface: COLOR_TOKENS.brand.white,\n 'surface-hover': COLOR_TOKENS.brand.lightGray, // #cecece\n // Text: Dark Gray from brand guidelines\n text: COLOR_TOKENS.brand.darkGray, // #383838\n 'text-secondary': COLOR_TOKENS.secondary[600],\n 'text-disabled': COLOR_TOKENS.secondary[400],\n // Border: Light Gray from brand guidelines\n border: COLOR_TOKENS.brand.lightGray, // #cecece\n 'border-focus': COLOR_TOKENS.brand.lightBlue, // #55C3D8\n // Semantic colors\n success: COLOR_TOKENS.success[500],\n warning: COLOR_TOKENS.warning[500],\n error: COLOR_TOKENS.error[500],\n info: COLOR_TOKENS.info[500],\n },\n} as const;\n","/**\n * Themes index\n */\nexport * from './light-theme';\nexport * from './dark-theme';\nexport * from './brand-theme';\n\nexport type Theme = 'light' | 'dark' | 'brand';\n\n","import { LIGHT_THEME } from '../themes/light-theme';\nimport { DARK_THEME } from '../themes/dark-theme';\nimport { BRAND_THEME } from '../themes/brand-theme';\nimport { SPACING_TOKENS } from '../tokens/spacing';\nimport { TYPOGRAPHY_TOKENS } from '../tokens/typography';\nimport { BORDER_RADIUS_TOKENS } from '../tokens/border-radius';\nimport { SHADOW_TOKENS } from '../tokens/shadow';\nimport type { Theme } from '../themes';\nimport type { CustomTheme } from '../shared/types';\n\n/**\n * Theme loader utility\n * Generates CSS variables from design tokens\n */\nexport class ThemeLoader {\n /**\n * Load a theme and apply it to the document root\n * @param themeName - Predefined theme name ('light', 'dark', 'brand') or a CustomTheme object\n * @param variant - Optional variant ('light' or 'dark') for CustomTheme with variants support\n */\n static loadTheme(\n themeName: Theme | CustomTheme = 'light',\n variant?: 'light' | 'dark'\n ): void {\n let theme: CustomTheme | typeof LIGHT_THEME;\n let colors: Record<string, string | undefined>;\n\n if (typeof themeName === 'string') {\n theme = this.getTheme(themeName);\n colors = theme.colors as Record<string, string | undefined>;\n } else {\n theme = themeName;\n // If variant is specified and theme has variants, use variant colors\n if (variant && theme.variants) {\n const variantColors = theme.variants[variant];\n if (variantColors) {\n colors = variantColors;\n } else {\n // Fallback to base colors if variant doesn't exist\n colors = theme.colors;\n }\n } else {\n // Use base colors if no variant specified or no variants defined\n colors = theme.colors;\n }\n }\n\n const root = document.documentElement;\n\n // Apply color tokens\n Object.entries(colors).forEach(([key, value]) => {\n if (value) {\n root.style.setProperty(`--sefin-color-${key}`, value);\n }\n });\n\n // Apply spacing tokens (use custom if provided, otherwise use defaults)\n const spacingTokens = typeof themeName === 'object' && themeName.spacing \n ? { ...SPACING_TOKENS, ...themeName.spacing }\n : SPACING_TOKENS;\n Object.entries(spacingTokens).forEach(([key, value]) => {\n root.style.setProperty(`--sefin-spacing-${key}`, value);\n });\n\n // Apply typography tokens (use custom if provided, otherwise use defaults)\n const typographyTokens = typeof themeName === 'object' && themeName.typography\n ? {\n fontFamily: { ...TYPOGRAPHY_TOKENS.fontFamily, ...themeName.typography.fontFamily },\n fontSize: { ...TYPOGRAPHY_TOKENS.fontSize, ...themeName.typography.fontSize },\n fontWeight: { ...TYPOGRAPHY_TOKENS.fontWeight, ...themeName.typography.fontWeight },\n lineHeight: { ...TYPOGRAPHY_TOKENS.lineHeight, ...themeName.typography.lineHeight },\n }\n : TYPOGRAPHY_TOKENS;\n\n Object.entries(typographyTokens.fontFamily).forEach(([key, value]) => {\n root.style.setProperty(`--sefin-font-family-${key}`, value);\n });\n Object.entries(typographyTokens.fontSize).forEach(([key, value]) => {\n root.style.setProperty(`--sefin-font-size-${key}`, value);\n });\n Object.entries(typographyTokens.fontWeight).forEach(([key, value]) => {\n root.style.setProperty(`--sefin-font-weight-${key}`, String(value));\n });\n Object.entries(typographyTokens.lineHeight).forEach(([key, value]) => {\n root.style.setProperty(`--sefin-line-height-${key}`, String(value));\n });\n\n // Apply border radius tokens (use custom if provided, otherwise use defaults)\n const borderRadiusTokens = typeof themeName === 'object' && themeName.borderRadius\n ? { ...BORDER_RADIUS_TOKENS, ...themeName.borderRadius }\n : BORDER_RADIUS_TOKENS;\n Object.entries(borderRadiusTokens).forEach(([key, value]) => {\n root.style.setProperty(`--sefin-radius-${key}`, value);\n });\n\n // Apply shadow tokens (use custom if provided, otherwise use defaults)\n const shadowTokens = typeof themeName === 'object' && themeName.shadow\n ? { ...SHADOW_TOKENS, ...themeName.shadow }\n : SHADOW_TOKENS;\n Object.entries(shadowTokens).forEach(([key, value]) => {\n root.style.setProperty(`--sefin-shadow-${key}`, value);\n });\n\n // Set theme attribute for CSS selectors\n let themeAttribute: string;\n if (typeof themeName === 'string') {\n themeAttribute = themeName;\n } else {\n themeAttribute = variant\n ? `${themeName.name}-${variant}`\n : themeName.name;\n }\n root.setAttribute('data-theme', themeAttribute);\n }\n\n /**\n * Load a custom theme variant (light or dark)\n * @param customTheme - CustomTheme object with variants support\n * @param variant - Variant to load ('light' or 'dark')\n */\n static loadThemeVariant(\n customTheme: CustomTheme,\n variant: 'light' | 'dark'\n ): void {\n if (!customTheme.variants) {\n console.warn(\n `Theme \"${customTheme.name}\" does not have variants. Loading base theme.`\n );\n this.loadTheme(customTheme);\n return;\n }\n\n this.loadTheme(customTheme, variant);\n }\n\n /**\n * Get theme configuration by name\n */\n private static getTheme(themeName: Theme) {\n switch (themeName) {\n case 'dark':\n return DARK_THEME;\n case 'brand':\n return BRAND_THEME;\n case 'light':\n default:\n return LIGHT_THEME;\n }\n }\n\n /**\n * Get all CSS variables as a string (useful for SSR or static generation)\n * @param themeName - Predefined theme name ('light', 'dark', 'brand') or a CustomTheme object\n * @param variant - Optional variant ('light' or 'dark') for CustomTheme with variants support\n */\n static getThemeCSS(\n themeName: Theme | CustomTheme = 'light',\n variant?: 'light' | 'dark'\n ): string {\n let theme: CustomTheme | typeof LIGHT_THEME;\n let colors: Record<string, string | undefined>;\n\n if (typeof themeName === 'string') {\n theme = this.getTheme(themeName);\n colors = theme.colors as Record<string, string | undefined>;\n } else {\n theme = themeName;\n // If variant is specified and theme has variants, use variant colors\n if (variant && theme.variants) {\n const variantColors = theme.variants[variant];\n if (variantColors) {\n colors = variantColors;\n } else {\n colors = theme.colors;\n }\n } else {\n colors = theme.colors;\n }\n }\n\n let css = ':root {\\n';\n\n // Color tokens\n Object.entries(colors).forEach(([key, value]) => {\n if (value) {\n css += ` --sefin-color-${key}: ${value};\\n`;\n }\n });\n\n // Spacing tokens\n const spacingTokens = typeof themeName === 'object' && themeName.spacing \n ? { ...SPACING_TOKENS, ...themeName.spacing }\n : SPACING_TOKENS;\n Object.entries(spacingTokens).forEach(([key, value]) => {\n css += ` --sefin-spacing-${key}: ${value};\\n`;\n });\n\n // Typography tokens\n const typographyTokens = typeof themeName === 'object' && themeName.typography\n ? {\n fontFamily: { ...TYPOGRAPHY_TOKENS.fontFamily, ...themeName.typography.fontFamily },\n fontSize: { ...TYPOGRAPHY_TOKENS.fontSize, ...themeName.typography.fontSize },\n fontWeight: { ...TYPOGRAPHY_TOKENS.fontWeight, ...themeName.typography.fontWeight },\n lineHeight: { ...TYPOGRAPHY_TOKENS.lineHeight, ...themeName.typography.lineHeight },\n }\n : TYPOGRAPHY_TOKENS;\n\n Object.entries(typographyTokens.fontFamily).forEach(([key, value]) => {\n css += ` --sefin-font-family-${key}: ${value};\\n`;\n });\n Object.entries(typographyTokens.fontSize).forEach(([key, value]) => {\n css += ` --sefin-font-size-${key}: ${value};\\n`;\n });\n Object.entries(typographyTokens.fontWeight).forEach(([key, value]) => {\n css += ` --sefin-font-weight-${key}: ${value};\\n`;\n });\n Object.entries(typographyTokens.lineHeight).forEach(([key, value]) => {\n css += ` --sefin-line-height-${key}: ${value};\\n`;\n });\n\n // Border radius tokens\n const borderRadiusTokens = typeof themeName === 'object' && themeName.borderRadius\n ? { ...BORDER_RADIUS_TOKENS, ...themeName.borderRadius }\n : BORDER_RADIUS_TOKENS;\n Object.entries(borderRadiusTokens).forEach(([key, value]) => {\n css += ` --sefin-radius-${key}: ${value};\\n`;\n });\n\n // Shadow tokens\n const shadowTokens = typeof themeName === 'object' && themeName.shadow\n ? { ...SHADOW_TOKENS, ...themeName.shadow }\n : SHADOW_TOKENS;\n Object.entries(shadowTokens).forEach(([key, value]) => {\n css += ` --sefin-shadow-${key}: ${value};\\n`;\n });\n\n css += '}\\n';\n return css;\n }\n}\n\n","/**\n * Utilities index\n */\nexport * from './theme-loader';\n\n","/**\n * Shared types and interfaces\n */\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger';\nexport type ButtonSize = 'sm' | 'md' | 'lg';\nexport type InputSize = 'sm' | 'md' | 'lg';\nexport type CardVariant = 'default' | 'elevated' | 'outlined';\n\nexport interface BaseComponent {\n disabled?: boolean;\n class?: string;\n}\n\n/**\n * Theme color configuration\n */\nexport interface ThemeColors {\n primary: string;\n 'primary-dark'?: string;\n 'primary-light'?: string;\n secondary: string;\n 'secondary-dark'?: string;\n 'secondary-light'?: string;\n background: string;\n 'background-elevated'?: string;\n surface: string;\n 'surface-hover'?: string;\n text: string;\n 'text-secondary'?: string;\n 'text-disabled'?: string;\n border: string;\n 'border-focus'?: string;\n success?: string;\n warning?: string;\n error?: string;\n info?: string;\n [key: string]: string | undefined;\n}\n\n/**\n * Custom theme configuration interface\n * Allows users to create their own themes with custom colors, typography, spacing, etc.\n * Supports both single theme and light/dark variants.\n */\nexport interface CustomTheme {\n name: string;\n colors: ThemeColors;\n /**\n * Optional light and dark variants for the theme\n * If provided, allows switching between light and dark modes\n */\n variants?: {\n light?: ThemeColors;\n dark?: ThemeColors;\n };\n typography?: {\n fontFamily?: {\n base?: string;\n mono?: string;\n [key: string]: string | undefined;\n };\n fontSize?: {\n xs?: string;\n sm?: string;\n base?: string;\n lg?: string;\n xl?: string;\n '2xl'?: string;\n '3xl'?: string;\n '4xl'?: string;\n '5xl'?: string;\n [key: string]: string | undefined;\n };\n fontWeight?: {\n light?: number;\n normal?: number;\n medium?: number;\n semibold?: number;\n bold?: number;\n [key: string]: number | undefined;\n };\n lineHeight?: {\n tight?: number;\n normal?: number;\n relaxed?: number;\n [key: string]: number | undefined;\n };\n };\n spacing?: {\n xs?: string;\n sm?: string;\n md?: string;\n lg?: string;\n xl?: string;\n '2xl'?: string;\n '3xl'?: string;\n '4xl'?: string;\n '5xl'?: string;\n [key: string]: string | undefined;\n };\n borderRadius?: {\n none?: string;\n sm?: string;\n md?: string;\n lg?: string;\n xl?: string;\n '2xl'?: string;\n full?: string;\n [key: string]: string | undefined;\n };\n shadow?: {\n none?: string;\n sm?: string;\n md?: string;\n lg?: string;\n xl?: string;\n '2xl'?: string;\n [key: string]: string | undefined;\n };\n}\n\n","/**\n * Shared index\n */\nexport * from './types';\n\n","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonVariant, ButtonSize } from '../../shared/types';\n\n@Component({\n selector: 'sefin-button',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ButtonComponent {\n @Input() variant: ButtonVariant = 'primary';\n @Input() size: ButtonSize = 'md';\n @Input() disabled = false;\n @Input() type: 'button' | 'submit' | 'reset' = 'button';\n @Input() class = '';\n\n @Output() clicked = new EventEmitter<MouseEvent>();\n\n onClick(event: MouseEvent): void {\n if (!this.disabled) {\n this.clicked.emit(event);\n }\n }\n\n get buttonClasses(): string {\n return [\n 'sefin-button',\n `sefin-button--${this.variant}`,\n `sefin-button--${this.size}`,\n this.disabled ? 'sefin-button--disabled' : '',\n this.class,\n ]\n .filter(Boolean)\n .join(' ');\n }\n}\n\n","<button [type]=\"type\" [disabled]=\"disabled\" [class]=\"buttonClasses\" (click)=\"onClick($event)\">\n <ng-content></ng-content>\n</button>\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n ViewChild,\n ElementRef,\n OnInit,\n OnDestroy,\n OnChanges,\n SimpleChanges,\n HostListener,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { InputSize } from '../../shared/types';\n\nexport interface AutocompleteOption {\n value: string | number;\n label: string;\n disabled?: boolean;\n}\n\n@Component({\n selector: 'sefin-autocomplete',\n standalone: true,\n imports: [CommonModule, FormsModule],\n templateUrl: './autocomplete.component.html',\n styleUrls: ['./autocomplete.component.scss'],\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class AutocompleteComponent implements OnInit, OnDestroy, OnChanges {\n @ViewChild('inputRef', { static: false })\n inputRef?: ElementRef<HTMLInputElement>;\n @ViewChild('dropdownRef', { static: false })\n dropdownRef?: ElementRef<HTMLDivElement>;\n @ViewChild('containerRef', { static: false })\n containerRef?: ElementRef<HTMLDivElement>;\n\n @Input() options: AutocompleteOption[] = [];\n @Input() placeholder = '';\n @Input() disabled = false;\n @Input() size: InputSize = 'md';\n @Input() class = '';\n @Input() value: string | number | null = null;\n @Input() minChars = 0;\n @Input() maxResults = 10;\n\n @Output() valueChange = new EventEmitter<string | number | null>();\n @Output() optionSelected = new EventEmitter<AutocompleteOption>();\n @Output() inputChange = new EventEmitter<string>();\n\n searchText = '';\n filteredOptions: AutocompleteOption[] = [];\n isOpen = false;\n selectedIndex = -1;\n\n ngOnInit(): void {\n if (this.value !== null) {\n const selectedOption = this.options.find(\n (opt) => opt.value === this.value\n );\n this.searchText = selectedOption?.label || String(this.value);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['options']) {\n const options = changes['options'].currentValue || [];\n\n if (this.value !== null) {\n const selectedOption = options.find(\n (opt: AutocompleteOption) => opt.value === this.value\n );\n if (selectedOption) {\n this.searchText = selectedOption.label;\n } else {\n this.searchText = '';\n }\n }\n }\n\n if (changes['value']) {\n if (this.value !== null) {\n const selectedOption = this.options.find(\n (opt) => opt.value === this.value\n );\n this.searchText = selectedOption?.label || String(this.value);\n } else {\n this.searchText = '';\n }\n this.filteredOptions = [];\n this.isOpen = false;\n }\n }\n\n ngOnDestroy(): void {\n }\n\n @HostListener('document:click', ['$event'])\n onClickOutside(event: MouseEvent): void {\n if (this.containerRef?.nativeElement && this.isOpen) {\n const clickedInside = this.containerRef.nativeElement.contains(\n event.target as Node\n );\n if (!clickedInside) {\n this.isOpen = false;\n this.selectedIndex = -1;\n }\n }\n }\n\n onInputChange(value: string): void {\n this.searchText = value;\n this.inputChange.emit(value);\n\n if (this.options && this.options.length > 0) {\n this.filterOptions();\n this.isOpen = value.length >= this.minChars;\n } else {\n this.isOpen = false;\n this.filteredOptions = [];\n }\n }\n\n filterOptions(): void {\n if (!this.options || this.options.length === 0) {\n this.filteredOptions = [];\n return;\n }\n\n if (\n this.minChars > 0 &&\n (!this.searchText || this.searchText.length < this.minChars)\n ) {\n this.filteredOptions = [];\n return;\n }\n\n const searchText = this.searchText || '';\n\n if (searchText.length === 0) {\n this.filteredOptions = this.options\n .filter((option) => !option.disabled)\n .slice(0, this.maxResults);\n return;\n }\n\n const searchLower = searchText.toLowerCase();\n this.filteredOptions = this.options\n .filter((option) => {\n if (option.disabled) return false;\n return option.label.toLowerCase().includes(searchLower);\n })\n .slice(0, this.maxResults);\n }\n\n selectOption(option: AutocompleteOption): void {\n if (option.disabled) return;\n\n this.searchText = option.label;\n this.value = option.value;\n this.valueChange.emit(option.value);\n this.optionSelected.emit(option);\n this.isOpen = false;\n this.selectedIndex = -1;\n }\n\n onInputFocus(): void {\n if (this.disabled) return;\n\n if (\n this.options &&\n Array.isArray(this.options) &&\n this.options.length > 0\n ) {\n this.filterOptions();\n this.isOpen = this.filteredOptions.length > 0;\n } else {\n this.isOpen = false;\n this.filteredOptions = [];\n }\n }\n\n onInputBlur(): void {\n if (this.disabled || !this.searchText) {\n return;\n }\n\n const exactMatch = this.options.find(\n (option) =>\n !option.disabled &&\n option.label.toLowerCase().trim() === this.searchText.toLowerCase().trim()\n );\n\n if (!exactMatch) {\n this.searchText = '';\n this.value = null;\n this.valueChange.emit(null);\n this.isOpen = false;\n this.filteredOptions = [];\n this.selectedIndex = -1;\n }\n }\n\n onKeyDown(event: KeyboardEvent): void {\n if (\n !this.isOpen ||\n !this.filteredOptions ||\n this.filteredOptions.length === 0\n ) {\n return;\n }\n\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n this.selectedIndex = Math.min(\n this.selectedIndex + 1,\n this.filteredOptions.length - 1\n );\n setTimeout(() => this.scrollToSelected(), 0);\n break;\n case 'ArrowUp':\n event.preventDefault();\n this.selectedIndex = Math.max(this.selectedIndex - 1, -1);\n setTimeout(() => this.scrollToSelected(), 0);\n break;\n case 'Enter':\n event.preventDefault();\n if (\n this.selectedIndex >= 0 &&\n this.selectedIndex < this.filteredOptions.length\n ) {\n this.selectOption(this.filteredOptions[this.selectedIndex]);\n }\n break;\n case 'Escape':\n event.preventDefault();\n this.isOpen = false;\n this.selectedIndex = -1;\n break;\n }\n }\n\n private scrollToSelected(): void {\n try {\n if (this.dropdownRef?.nativeElement && this.selectedIndex >= 0) {\n const selectedElement = this.dropdownRef.nativeElement.querySelector(\n `[data-index=\"${this.selectedIndex}\"]`\n ) as HTMLElement | null;\n if (selectedElement && selectedElement instanceof HTMLElement) {\n selectedElement.scrollIntoView({\n block: 'nearest',\n behavior: 'smooth',\n });\n }\n }\n } catch (error) {\n console.warn('Could not scroll to selected option:', error);\n }\n }\n\n clearValue(): void {\n this.searchText = '';\n this.value = null;\n this.valueChange.emit(null);\n this.isOpen = false;\n this.filteredOptions = [];\n if (this.inputRef?.nativeElement) {\n this.inputRef.nativeElement.focus();\n }\n }\n\n get inputClasses(): string {\n return [\n 'sefin-autocomplete__input',\n `sefin-autocomplete__input--${this.size}`,\n this.disabled ? 'sefin-autocomplete__input--disabled' : '',\n this.class,\n ]\n .filter(Boolean)\n .join(' ');\n }\n\n get containerClasses(): string {\n return [\n 'sefin-autocomplete',\n this.isOpen && this.filteredOptions.length > 0\n ? 'sefin-autocomplete--open'\n : '',\n ]\n .filter(Boolean)\n .join(' ');\n }\n}\n","<div [class]=\"containerClasses\" #containerRef>\n <div class=\"sefin-autocomplete__wrapper\">\n <input\n #inputRef\n type=\"text\"\n [class]=\"inputClasses\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [ngModel]=\"searchText\"\n (ngModelChange)=\"onInputChange($event)\"\n (focus)=\"onInputFocus()\"\n (click)=\"onInputFocus()\"\n (blur)=\"onInputBlur()\"\n (keydown)=\"onKeyDown($event)\"\n autocomplete=\"off\"\n />\n <div class=\"sefin-autocomplete__actions\">\n <button\n *ngIf=\"searchText && !disabled\"\n type=\"button\"\n class=\"sefin-autocomplete__clear\"\n (click)=\"clearValue()\"\n aria-label=\"Clear\"\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 4L4 12M4 4L12 12\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n <div class=\"sefin-autocomplete__arrow\" [class.sefin-autocomplete__arrow--open]=\"isOpen\">\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4 6L8 10L12 6\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"isOpen && filteredOptions && filteredOptions.length > 0\"\n #dropdownRef\n class=\"sefin-autocomplete__dropdown\"\n >\n <ul class=\"sefin-autocomplete__list\">\n <li\n *ngFor=\"let option of filteredOptions; let i = index\"\n [attr.data-index]=\"i\"\n [class.sefin-autocomplete__option]=\"true\"\n [class.sefin-autocomplete__option--selected]=\"i === selectedIndex\"\n [class.sefin-autocomplete__option--disabled]=\"option.disabled\"\n (click)=\"selectOption(option)\"\n [attr.aria-selected]=\"i === selectedIndex\"\n role=\"option\"\n >\n {{ option.label }}\n </li>\n </ul>\n </div>\n <div\n *ngIf=\"\n isOpen &&\n filteredOptions &&\n filteredOptions.length === 0 &&\n searchText &&\n searchText.length >= minChars\n \"\n class=\"sefin-autocomplete__dropdown sefin-autocomplete__dropdown--empty\"\n >\n <div class=\"sefin-autocomplete__no-results\">\n No se encontraron resultados\n </div>\n </div>\n</div>\n","/**\n * Atoms index\n */\nexport * from './button/button.component';\nexport * from './autocomplete/autocomplete.component';\n\n","/*\n * Public API Surface of @lesterarte/sefin-ui\n */\n\n// Design Tokens\nexport * from './tokens';\n\n// Themes\nexport * from './themes';\n\n// Utilities\nexport * from './utils';\n\n// Shared\nexport * from './shared';\n\n// Atoms\nexport * from './atoms';\n\n// Styles (for importing in consuming apps)\nexport const STYLES_PATH = './styles/index.scss';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lesterarte/sefin-ui",
3
- "version": "0.0.3-dev.0",
3
+ "version": "0.0.3-dev.10",
4
4
  "description": "Sefin Design System - A comprehensive Angular UI library based on Atomic Design and design tokens",
5
5
  "keywords": [
6
6
  "angular",
@@ -19,10 +19,7 @@
19
19
  "peerDependencies": {
20
20
  "@angular/common": "^21.0.0",
21
21
  "@angular/core": "^21.0.0",
22
- "@angular/forms": "^21.0.0",
23
- "@angular/material": "^21.0.0",
24
- "@angular/cdk": "^21.0.0",
25
- "@angular/animations": "^21.0.0"
22
+ "@angular/forms": "^21.0.0"
26
23
  },
27
24
  "dependencies": {
28
25
  "tslib": "^2.3.0"