@bvs-tech/material 0.0.2 → 0.0.4

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":"bvs-tech-material.mjs","sources":["../../../../projects/bvs-lib/src/lib/services/theme.service.ts","../../../../projects/bvs-lib/src/lib/components/atoms/avatar/avatar.component.ts","../../../../projects/bvs-lib/src/lib/components/atoms/badge/badge.component.ts","../../../../projects/bvs-lib/src/lib/components/atoms/button/button.component.ts","../../../../projects/bvs-lib/src/lib/components/atoms/card/card.component.ts","../../../../projects/bvs-lib/src/lib/components/atoms/message/message.component.ts","../../../../projects/bvs-lib/src/lib/components/atoms/input/input.component.ts","../../../../projects/bvs-lib/src/lib/components/molecules/form-field/form-field.component.ts","../../../../projects/bvs-lib/src/lib/components/molecules/form-field/form-field.component.html","../../../../projects/bvs-lib/src/lib/components/organisms/navbar/navbar.component.ts","../../../../projects/bvs-lib/src/lib/components/organisms/navbar/navbar.component.html","../../../../projects/bvs-lib/src/public-api.ts","../../../../projects/bvs-lib/src/bvs-tech-material.ts"],"sourcesContent":["import { Injectable, signal } from '@angular/core';\n\nexport interface CustomThemeConfig {\n brand: string;\n brandHover: string;\n brandActive: string;\n surface: string;\n surfaceSubtle: string;\n surfaceMuted: string;\n textPrimary: string;\n textSecondary: string;\n textDisabled: string;\n border: string;\n borderStrong: string;\n}\n\nexport type PresetBrand = 'default' | 'emerald' | 'sunset' | 'amethyst' | 'ruby';\nexport type ColorScheme = 'light' | 'dark';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ThemeService {\n readonly currentBrand = signal<PresetBrand>('default');\n readonly currentTheme = signal<ColorScheme>('light');\n readonly isCustomTheme = signal<boolean>(false);\n\n constructor() {\n // Initialize default state on DOM if running in browser\n if (typeof document !== 'undefined') {\n this.updateDomAttributes();\n }\n }\n\n setPresetTheme(brand: PresetBrand): void {\n this.isCustomTheme.set(false);\n this.currentBrand.set(brand);\n this.clearCustomStyles();\n this.updateDomAttributes();\n }\n\n setColorScheme(scheme: ColorScheme): void {\n this.currentTheme.set(scheme);\n this.updateDomAttributes();\n }\n\n setCustomTheme(config: CustomThemeConfig): void {\n this.isCustomTheme.set(true);\n \n if (typeof document === 'undefined') return;\n const root = document.documentElement;\n \n // Remove data-brand attribute to let custom inline properties take precedence\n root.removeAttribute('data-brand');\n\n // Dynamically inject custom color properties\n root.style.setProperty('--bvs-color-brand', config.brand);\n root.style.setProperty('--bvs-color-brand-hover', config.brandHover);\n root.style.setProperty('--bvs-color-brand-active', config.brandActive);\n root.style.setProperty('--bvs-color-surface', config.surface);\n root.style.setProperty('--bvs-color-surface-subtle', config.surfaceSubtle);\n root.style.setProperty('--bvs-color-surface-muted', config.surfaceMuted);\n root.style.setProperty('--bvs-color-text-primary', config.textPrimary);\n root.style.setProperty('--bvs-color-text-secondary', config.textSecondary);\n root.style.setProperty('--bvs-color-text-disabled', config.textDisabled);\n root.style.setProperty('--bvs-color-border', config.border);\n root.style.setProperty('--bvs-color-border-strong', config.borderStrong);\n }\n\n private updateDomAttributes(): void {\n if (typeof document === 'undefined') return;\n const root = document.documentElement;\n root.setAttribute('data-theme', this.currentTheme());\n if (!this.isCustomTheme()) {\n root.setAttribute('data-brand', this.currentBrand());\n }\n }\n\n private clearCustomStyles(): void {\n if (typeof document === 'undefined') return;\n const root = document.documentElement;\n root.style.removeProperty('--bvs-color-brand');\n root.style.removeProperty('--bvs-color-brand-hover');\n root.style.removeProperty('--bvs-color-brand-active');\n root.style.removeProperty('--bvs-color-surface');\n root.style.removeProperty('--bvs-color-surface-subtle');\n root.style.removeProperty('--bvs-color-surface-muted');\n root.style.removeProperty('--bvs-color-text-primary');\n root.style.removeProperty('--bvs-color-text-secondary');\n root.style.removeProperty('--bvs-color-text-disabled');\n root.style.removeProperty('--bvs-color-border');\n root.style.removeProperty('--bvs-color-border-strong');\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n/**\n * Avatar atom component — shows user initials in a styled circle.\n */\n@Component({\n selector: 'bvs-avatar',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <div class=\"avatar\" [attr.aria-label]=\"initials\">\n {{ initials }}\n </div>\n `,\n styleUrl: './avatar.component.scss'\n})\nexport class AvatarComponent {\n /** Full name used to derive initials. */\n @Input({ required: true }) fullName!: string;\n\n /** Returns the first letter of the first and last word of fullName. */\n get initials(): string {\n const parts = this.fullName.trim().split(/\\s+/);\n const first = parts[0]?.[0] ?? '';\n const last = parts.length > 1 ? (parts[parts.length - 1]?.[0] ?? '') : '';\n return `${first}${last}`.toUpperCase();\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nexport type BadgeColor = 'info' | 'success' | 'warning' | 'danger' | 'neutral';\nexport type BadgeSize = 'sm' | 'md' | 'lg';\n\n/**\n * Badge atom — displays a label with semantic coloring and size.\n */\n@Component({\n selector: '[bvs-badge]',\n standalone: true,\n template: '<ng-content></ng-content>',\n styleUrl: './badge.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.badge]': 'true',\n '[class.badge-info]': \"color === 'info'\",\n '[class.badge-success]': \"color === 'success'\",\n '[class.badge-warning]': \"color === 'warning'\",\n '[class.badge-danger]': \"color === 'danger'\",\n '[class.badge-neutral]': \"color === 'neutral'\",\n '[class.badge-sm]': \"size === 'sm'\",\n '[class.badge-md]': \"size === 'md'\",\n '[class.badge-lg]': \"size === 'lg'\"\n }\n})\nexport class BadgeComponent {\n /** Semantic color variant. */\n @Input() color: BadgeColor = 'neutral';\n\n /** Size variant. */\n @Input() size: BadgeSize = 'md';\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'danger' | 'ghost';\nexport type ButtonSize = 'sm' | 'md' | 'lg';\n\n/**\n * Button atom — generic and reusable button component.\n */\n@Component({\n selector: '[bvs-button]',\n standalone: true,\n template: '<ng-content></ng-content>',\n styleUrl: './button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.btn]': 'true',\n '[class.btn-primary]': \"variant === 'primary'\",\n '[class.btn-secondary]': \"variant === 'secondary'\",\n '[class.btn-danger]': \"variant === 'danger'\",\n '[class.btn-ghost]': \"variant === 'ghost'\",\n '[class.btn-sm]': \"size === 'sm'\",\n '[class.btn-md]': \"size === 'md'\",\n '[class.btn-lg]': \"size === 'lg'\",\n '[class.btn-block]': 'block'\n }\n})\nexport class ButtonComponent {\n /** Semantic variant. */\n @Input() variant: ButtonVariant = 'primary';\n\n /** Size variant. */\n @Input() size: ButtonSize = 'md';\n\n /** Whether the button takes full width. */\n @Input() block = false;\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Card atom — provides a premium container for content.\n */\n@Component({\n selector: '[bvs-card]',\n standalone: true,\n template: '<ng-content></ng-content>',\n styleUrl: './card.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.bvs-card]': 'true'\n }\n})\nexport class CardComponent {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nexport type MessageColor = 'info' | 'success' | 'warning' | 'danger' | 'neutral';\n\n/**\n * Message atom — provides standard feedback messages.\n */\n@Component({\n selector: '[bvs-message]',\n standalone: true,\n template: '<ng-content></ng-content>',\n styleUrl: './message.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.bvs-message]': 'true',\n '[class.bvs-message-neutral]': \"color === 'neutral'\",\n '[class.bvs-message-danger]': \"color === 'danger'\",\n '[class.bvs-message-warning]': \"color === 'warning'\",\n '[class.bvs-message-info]': \"color === 'info'\",\n '[class.bvs-message-success]': \"color === 'success'\"\n }\n})\nexport class MessageComponent {\n /** Color variant matching the feedback status. */\n @Input() color: MessageColor = 'neutral';\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nexport type InputVariant = 'primary' | 'secondary' | 'danger';\nexport type InputSize = 'sm' | 'md' | 'lg';\n\n/**\n * Input atom — generic and reusable input component.\n */\n@Component({\n selector: 'input[bvs-input], textarea[bvs-input]',\n standalone: true,\n template: '',\n styleUrl: './input.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.bvs-input]': 'true',\n '[class.input-primary]': \"variant === 'primary'\",\n '[class.input-secondary]': \"variant === 'secondary'\",\n '[class.input-danger]': \"variant === 'danger'\",\n '[class.input-sm]': \"size === 'sm'\",\n '[class.input-md]': \"size === 'md'\",\n '[class.input-lg]': \"size === 'lg'\",\n '[class.input-block]': 'block'\n }\n})\nexport class InputComponent {\n /** Semantic variant. */\n @Input() variant: InputVariant = 'primary';\n\n /** Size variant. */\n @Input() size: InputSize = 'md';\n\n /** Whether the input takes full width. */\n @Input() block = false;\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n/**\n * FormField molecule — groups label, input and errors.\n * Implements a premium floating label behaviour for inputs.\n */\n@Component({\n selector: 'bvs-form-field',\n standalone: true,\n templateUrl: './form-field.component.html',\n styleUrl: './form-field.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormFieldComponent {\n /** Label text. */\n @Input({ required: true }) label!: string;\n\n /** ID of the associated input for accessibility. */\n @Input() forId?: string;\n}\n","<div class=\"bvs-form-field\">\n <div class=\"bvs-form-field-container\">\n <ng-content></ng-content>\n <label class=\"bvs-form-field-label\" [attr.for]=\"forId\">\n {{ label }}\n </label>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Navbar organism — generic and reusable header component.\n * Provides content slots for brand and actions.\n */\n@Component({\n selector: 'bvs-navbar',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './navbar.component.html',\n styleUrl: './navbar.component.scss'\n})\nexport class NavbarComponent {}\n","<header class=\"navbar\" role=\"banner\">\n <div class=\"navbar__brand\">\n <ng-content select=\"[navbar-brand]\"></ng-content>\n </div>\n\n <nav class=\"navbar__actions\">\n <ng-content select=\"[navbar-actions]\"></ng-content>\n </nav>\n</header>\n","/*\n * Public API Surface of @bvs-tech/material\n */\n\nexport * from './lib/services/theme.service';\nexport * from './lib/components/atoms';\nexport * from './lib/components/molecules';\nexport * from './lib/components/organisms';\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":"bvs-tech-material.mjs","sources":["../../../../projects/bvs-lib/src/lib/services/theme.service.ts","../../../../projects/bvs-lib/src/lib/components/atoms/avatar/avatar.component.ts","../../../../projects/bvs-lib/src/lib/components/atoms/badge/badge.component.ts","../../../../projects/bvs-lib/src/lib/components/atoms/button/button.component.ts","../../../../projects/bvs-lib/src/lib/components/atoms/card/card.component.ts","../../../../projects/bvs-lib/src/lib/components/atoms/message/message.component.ts","../../../../projects/bvs-lib/src/lib/components/atoms/input/input.component.ts","../../../../projects/bvs-lib/src/lib/components/molecules/form-field/form-field.component.ts","../../../../projects/bvs-lib/src/lib/components/molecules/form-field/form-field.component.html","../../../../projects/bvs-lib/src/lib/components/molecules/stepper/stepper.component.ts","../../../../projects/bvs-lib/src/lib/components/molecules/stepper/stepper.component.html","../../../../projects/bvs-lib/src/lib/components/organisms/navbar/navbar.component.ts","../../../../projects/bvs-lib/src/lib/components/organisms/navbar/navbar.component.html","../../../../projects/bvs-lib/src/public-api.ts","../../../../projects/bvs-lib/src/bvs-tech-material.ts"],"sourcesContent":["import { Injectable, signal } from '@angular/core';\n\nexport interface CustomThemeConfig {\n brand: string;\n brandHover: string;\n brandActive: string;\n surface: string;\n surfaceSubtle: string;\n surfaceMuted: string;\n textPrimary: string;\n textSecondary: string;\n textDisabled: string;\n border: string;\n borderStrong: string;\n}\n\nexport type PresetBrand = 'default' | 'emerald' | 'sunset' | 'amethyst' | 'ruby';\nexport type ColorScheme = 'light' | 'dark';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ThemeService {\n readonly currentBrand = signal<PresetBrand>('default');\n readonly currentTheme = signal<ColorScheme>('light');\n readonly isCustomTheme = signal<boolean>(false);\n\n constructor() {\n // Initialize default state on DOM if running in browser\n if (typeof document !== 'undefined') {\n this.updateDomAttributes();\n }\n }\n\n setPresetTheme(brand: PresetBrand): void {\n this.isCustomTheme.set(false);\n this.currentBrand.set(brand);\n this.clearCustomStyles();\n this.updateDomAttributes();\n }\n\n setColorScheme(scheme: ColorScheme): void {\n this.currentTheme.set(scheme);\n this.updateDomAttributes();\n }\n\n setCustomTheme(config: CustomThemeConfig): void {\n this.isCustomTheme.set(true);\n\n if (typeof document === 'undefined') return;\n const root = document.documentElement;\n\n // Remove data-brand attribute to let custom inline properties take precedence\n root.removeAttribute('data-brand');\n\n // Dynamically inject custom color properties\n root.style.setProperty('--bvs-color-brand', config.brand);\n root.style.setProperty('--bvs-color-brand-hover', config.brandHover);\n root.style.setProperty('--bvs-color-brand-active', config.brandActive);\n root.style.setProperty('--bvs-color-surface', config.surface);\n root.style.setProperty('--bvs-color-surface-subtle', config.surfaceSubtle);\n root.style.setProperty('--bvs-color-surface-muted', config.surfaceMuted);\n root.style.setProperty('--bvs-color-text-primary', config.textPrimary);\n root.style.setProperty('--bvs-color-text-secondary', config.textSecondary);\n root.style.setProperty('--bvs-color-text-disabled', config.textDisabled);\n root.style.setProperty('--bvs-color-border', config.border);\n root.style.setProperty('--bvs-color-border-strong', config.borderStrong);\n }\n\n private updateDomAttributes(): void {\n if (typeof document === 'undefined') return;\n const root = document.documentElement;\n root.setAttribute('data-theme', this.currentTheme());\n if (!this.isCustomTheme()) {\n root.setAttribute('data-brand', this.currentBrand());\n }\n }\n\n private clearCustomStyles(): void {\n if (typeof document === 'undefined') return;\n const root = document.documentElement;\n root.style.removeProperty('--bvs-color-brand');\n root.style.removeProperty('--bvs-color-brand-hover');\n root.style.removeProperty('--bvs-color-brand-active');\n root.style.removeProperty('--bvs-color-surface');\n root.style.removeProperty('--bvs-color-surface-subtle');\n root.style.removeProperty('--bvs-color-surface-muted');\n root.style.removeProperty('--bvs-color-text-primary');\n root.style.removeProperty('--bvs-color-text-secondary');\n root.style.removeProperty('--bvs-color-text-disabled');\n root.style.removeProperty('--bvs-color-border');\n root.style.removeProperty('--bvs-color-border-strong');\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n/**\n * Avatar atom component — shows user initials in a styled circle.\n */\n@Component({\n selector: 'bvs-avatar',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <div class=\"avatar\" [attr.aria-label]=\"initials\">\n {{ initials }}\n </div>\n `,\n styleUrl: './avatar.component.scss',\n})\nexport class AvatarComponent {\n /** Full name used to derive initials. */\n @Input({ required: true }) fullName!: string;\n\n /** Returns the first letter of the first and last word of fullName. */\n get initials(): string {\n const parts = this.fullName.trim().split(/\\s+/);\n const first = parts[0]?.[0] ?? '';\n const last = parts.length > 1 ? (parts[parts.length - 1]?.[0] ?? '') : '';\n return `${first}${last}`.toUpperCase();\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nexport type BadgeColor = 'info' | 'success' | 'warning' | 'danger' | 'neutral';\nexport type BadgeSize = 'sm' | 'md' | 'lg';\n\n/**\n * Badge atom — displays a label with semantic coloring and size.\n */\n@Component({\n selector: '[bvs-badge]',\n standalone: true,\n template: '<ng-content></ng-content>',\n styleUrl: './badge.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.badge]': 'true',\n '[class.badge-info]': \"color === 'info'\",\n '[class.badge-success]': \"color === 'success'\",\n '[class.badge-warning]': \"color === 'warning'\",\n '[class.badge-danger]': \"color === 'danger'\",\n '[class.badge-neutral]': \"color === 'neutral'\",\n '[class.badge-sm]': \"size === 'sm'\",\n '[class.badge-md]': \"size === 'md'\",\n '[class.badge-lg]': \"size === 'lg'\",\n },\n})\nexport class BadgeComponent {\n /** Semantic color variant. */\n @Input() color: BadgeColor = 'neutral';\n\n /** Size variant. */\n @Input() size: BadgeSize = 'md';\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'danger' | 'ghost';\nexport type ButtonSize = 'sm' | 'md' | 'lg';\n\n/**\n * Button atom — generic and reusable button component.\n */\n@Component({\n selector: '[bvs-button]',\n standalone: true,\n template: '<ng-content></ng-content>',\n styleUrl: './button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.btn]': 'true',\n '[class.btn-primary]': \"variant === 'primary'\",\n '[class.btn-secondary]': \"variant === 'secondary'\",\n '[class.btn-danger]': \"variant === 'danger'\",\n '[class.btn-ghost]': \"variant === 'ghost'\",\n '[class.btn-sm]': \"size === 'sm'\",\n '[class.btn-md]': \"size === 'md'\",\n '[class.btn-lg]': \"size === 'lg'\",\n '[class.btn-block]': 'block',\n },\n})\nexport class ButtonComponent {\n /** Semantic variant. */\n @Input() variant: ButtonVariant = 'primary';\n\n /** Size variant. */\n @Input() size: ButtonSize = 'md';\n\n /** Whether the button takes full width. */\n @Input() block = false;\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Card atom — provides a premium container for content.\n */\n@Component({\n selector: '[bvs-card]',\n standalone: true,\n template: '<ng-content></ng-content>',\n styleUrl: './card.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.bvs-card]': 'true',\n },\n})\nexport class CardComponent {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nexport type MessageColor = 'info' | 'success' | 'warning' | 'danger' | 'neutral';\n\n/**\n * Message atom — provides standard feedback messages.\n */\n@Component({\n selector: '[bvs-message]',\n standalone: true,\n template: '<ng-content></ng-content>',\n styleUrl: './message.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.bvs-message]': 'true',\n '[class.bvs-message-neutral]': \"color === 'neutral'\",\n '[class.bvs-message-danger]': \"color === 'danger'\",\n '[class.bvs-message-warning]': \"color === 'warning'\",\n '[class.bvs-message-info]': \"color === 'info'\",\n '[class.bvs-message-success]': \"color === 'success'\",\n },\n})\nexport class MessageComponent {\n /** Color variant matching the feedback status. */\n @Input() color: MessageColor = 'neutral';\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\nexport type InputVariant = 'primary' | 'secondary' | 'danger';\nexport type InputSize = 'sm' | 'md' | 'lg';\n\n/**\n * Input atom — generic and reusable input component.\n */\n@Component({\n selector: 'input[bvs-input], textarea[bvs-input], select[bvs-input]',\n template: '',\n styleUrl: './input.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.bvs-input]': 'true',\n '[class.input-primary]': \"variant() === 'primary'\",\n '[class.input-secondary]': \"variant() === 'secondary'\",\n '[class.input-danger]': \"variant() === 'danger'\",\n '[class.input-sm]': \"size() === 'sm'\",\n '[class.input-md]': \"size() === 'md'\",\n '[class.input-lg]': \"size() === 'lg'\",\n '[class.input-block]': 'block()',\n },\n})\nexport class InputComponent {\n /** Semantic variant. */\n variant = input<InputVariant>('primary');\n\n /** Size variant. */\n size = input<InputSize>('md');\n\n /** Whether the input takes full width. */\n block = input<boolean>(false);\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n/**\n * FormField molecule — groups label, input and errors.\n * Implements a premium floating label behaviour for inputs.\n */\n@Component({\n selector: 'bvs-form-field',\n standalone: true,\n templateUrl: './form-field.component.html',\n styleUrl: './form-field.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormFieldComponent {\n /** Label text. */\n @Input({ required: true }) label!: string;\n\n /** ID of the associated input for accessibility. */\n @Input() forId?: string;\n}\n","<div class=\"bvs-form-field\">\n <div class=\"bvs-form-field-container\">\n <ng-content></ng-content>\n <label class=\"bvs-form-field-label\" [attr.for]=\"forId\">\n {{ label }}\n </label>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component, EventEmitter, input, Output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nexport interface BvsStep {\n label: string;\n description?: string;\n}\n\n/**\n * Stepper molecule — displays progress through a sequence of steps.\n */\n@Component({\n selector: 'bvs-stepper',\n imports: [CommonModule],\n templateUrl: './stepper.component.html',\n styleUrl: './stepper.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class StepperComponent {\n /** The list of steps to display. */\n steps = input<BvsStep[]>([]);\n\n /** The 0-based index of the active step. */\n activeStepIndex = input<number>(0);\n\n /** Emits when a step is clicked. */\n @Output() stepChange = new EventEmitter<number>();\n\n /**\n * Handles clicking on a step.\n * Only allows navigating to already completed steps or the next immediately available step\n * to ensure structured progression, or any step if desired by parent. We emit the index.\n */\n onStepClick(index: number): void {\n this.stepChange.emit(index);\n }\n\n isCompleted(index: number): boolean {\n return index < this.activeStepIndex();\n }\n\n isActive(index: number): boolean {\n return index === this.activeStepIndex();\n }\n\n isPending(index: number): boolean {\n return index > this.activeStepIndex();\n }\n}\n","<div class=\"bvs-stepper\">\n @for (step of steps(); track step.label; let i = $index; let last = $last) {\n <div\n class=\"bvs-stepper-step\"\n [class.is-active]=\"isActive(i)\"\n [class.is-completed]=\"isCompleted(i)\"\n [class.is-pending]=\"isPending(i)\"\n >\n <button\n type=\"button\"\n class=\"bvs-stepper-trigger\"\n (click)=\"onStepClick(i)\"\n [attr.aria-current]=\"isActive(i) ? 'step' : null\"\n >\n <span class=\"bvs-stepper-indicator\">\n @if (!isCompleted(i)) {\n <span class=\"bvs-stepper-number\">{{ i + 1 }}</span>\n } @else {\n <svg\n class=\"bvs-stepper-check-icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <polyline points=\"20 6 9 17 4 12\"></polyline>\n </svg>\n }\n </span>\n <span class=\"bvs-stepper-content\">\n <span class=\"bvs-stepper-label\">{{ step.label }}</span>\n @if (step.description) {\n <span class=\"bvs-stepper-description\">{{ step.description }}</span>\n }\n </span>\n </button>\n @if (!last) {\n <div class=\"bvs-stepper-line\"></div>\n }\n </div>\n }\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Navbar organism — generic and reusable header component.\n * Provides content slots for brand and actions.\n */\n@Component({\n selector: 'bvs-navbar',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './navbar.component.html',\n styleUrl: './navbar.component.scss',\n})\nexport class NavbarComponent {}\n","<header class=\"navbar\" role=\"banner\">\n <div class=\"navbar__brand\">\n <ng-content select=\"[navbar-brand]\"></ng-content>\n </div>\n\n <nav class=\"navbar__actions\">\n <ng-content select=\"[navbar-actions]\"></ng-content>\n </nav>\n</header>\n","/*\n * Public API Surface of @bvs-tech/material\n */\n\nexport * from './lib/services/theme.service';\nexport * from './lib/components/atoms';\nexport * from './lib/components/molecules';\nexport * from './lib/components/organisms';\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": "@bvs-tech/material",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.2.0",
6
6
  "@angular/core": "^21.2.0"
@@ -8,27 +8,45 @@
8
8
  // --- RESPONSIVE MEDIA QUERIES ---
9
9
  @mixin respond-to($breakpoint) {
10
10
  @if $breakpoint == 'sm' {
11
- @media (min-width: 640px) { @content; }
11
+ @media (min-width: 640px) {
12
+ @content;
13
+ }
12
14
  } @else if $breakpoint == 'md' {
13
- @media (min-width: 768px) { @content; }
15
+ @media (min-width: 768px) {
16
+ @content;
17
+ }
14
18
  } @else if $breakpoint == 'lg' {
15
- @media (min-width: 1024px) { @content; }
19
+ @media (min-width: 1024px) {
20
+ @content;
21
+ }
16
22
  } @else if $breakpoint == 'xl' {
17
- @media (min-width: 1280px) { @content; }
23
+ @media (min-width: 1280px) {
24
+ @content;
25
+ }
18
26
  } @else if $breakpoint == '2xl' {
19
- @media (min-width: 1536px) { @content; }
27
+ @media (min-width: 1536px) {
28
+ @content;
29
+ }
20
30
  }
21
31
  }
22
32
 
23
33
  @mixin respond-below($breakpoint) {
24
34
  @if $breakpoint == 'sm' {
25
- @media (max-width: 639px) { @content; }
35
+ @media (max-width: 639px) {
36
+ @content;
37
+ }
26
38
  } @else if $breakpoint == 'md' {
27
- @media (max-width: 767px) { @content; }
39
+ @media (max-width: 767px) {
40
+ @content;
41
+ }
28
42
  } @else if $breakpoint == 'lg' {
29
- @media (max-width: 1023px) { @content; }
43
+ @media (max-width: 1023px) {
44
+ @content;
45
+ }
30
46
  } @else if $breakpoint == 'xl' {
31
- @media (max-width: 1279px) { @content; }
47
+ @media (max-width: 1279px) {
48
+ @content;
49
+ }
32
50
  }
33
51
  }
34
52
 
@@ -56,7 +74,11 @@
56
74
  }
57
75
 
58
76
  // --- TYPOGRAPHY UTILITIES ---
59
- @mixin text-style($size: $font-size-base, $weight: $font-weight-regular, $line-height: $line-height-normal) {
77
+ @mixin text-style(
78
+ $size: $font-size-base,
79
+ $weight: $font-weight-regular,
80
+ $line-height: $line-height-normal
81
+ ) {
60
82
  font-size: $size;
61
83
  font-weight: $weight;
62
84
  line-height: $line-height;
@@ -100,7 +122,11 @@
100
122
  }
101
123
 
102
124
  // --- CUSTOM SCROLLBARS ---
103
- @mixin custom-scrollbar($size: 6px, $thumb: var(--bvs-color-neutral-300), $track: var(--bvs-color-neutral-100)) {
125
+ @mixin custom-scrollbar(
126
+ $size: 6px,
127
+ $thumb: var(--bvs-color-neutral-300),
128
+ $track: var(--bvs-color-neutral-100)
129
+ ) {
104
130
  &::-webkit-scrollbar {
105
131
  width: $size;
106
132
  height: $size;
@@ -24,22 +24,22 @@
24
24
  @each $key, $value in $palette-neutral {
25
25
  --bvs-color-neutral-#{$key}: #{$value};
26
26
  }
27
-
28
- --bvs-color-success-light: #{map.get($palette-success, "light")};
29
- --bvs-color-success: #{map.get($palette-success, "base")};
30
- --bvs-color-success-dark: #{map.get($palette-success, "dark")};
31
27
 
32
- --bvs-color-warning-light: #{map.get($palette-warning, "light")};
33
- --bvs-color-warning: #{map.get($palette-warning, "base")};
34
- --bvs-color-warning-dark: #{map.get($palette-warning, "dark")};
28
+ --bvs-color-success-light: #{map.get($palette-success, 'light')};
29
+ --bvs-color-success: #{map.get($palette-success, 'base')};
30
+ --bvs-color-success-dark: #{map.get($palette-success, 'dark')};
35
31
 
36
- --bvs-color-error-light: #{map.get($palette-error, "light")};
37
- --bvs-color-error: #{map.get($palette-error, "base")};
38
- --bvs-color-error-dark: #{map.get($palette-error, "dark")};
32
+ --bvs-color-warning-light: #{map.get($palette-warning, 'light')};
33
+ --bvs-color-warning: #{map.get($palette-warning, 'base')};
34
+ --bvs-color-warning-dark: #{map.get($palette-warning, 'dark')};
39
35
 
40
- --bvs-color-info-light: #{map.get($palette-info, "light")};
41
- --bvs-color-info: #{map.get($palette-info, "base")};
42
- --bvs-color-info-dark: #{map.get($palette-info, "dark")};
36
+ --bvs-color-error-light: #{map.get($palette-error, 'light')};
37
+ --bvs-color-error: #{map.get($palette-error, 'base')};
38
+ --bvs-color-error-dark: #{map.get($palette-error, 'dark')};
39
+
40
+ --bvs-color-info-light: #{map.get($palette-info, 'light')};
41
+ --bvs-color-info: #{map.get($palette-info, 'base')};
42
+ --bvs-color-info-dark: #{map.get($palette-info, 'dark')};
43
43
 
44
44
  // Spacing (8pt Grid)
45
45
  @each $key, $value in $spacing {
@@ -97,13 +97,13 @@
97
97
  // ------------------------------------------------------------
98
98
 
99
99
  // 1. Default Brand Theme
100
- [data-brand="default"] {
101
- &[data-theme="light"] {
100
+ [data-brand='default'] {
101
+ &[data-theme='light'] {
102
102
  @each $key, $value in $theme-default-light {
103
103
  --bvs-color-#{$key}: #{$value};
104
104
  }
105
105
  }
106
- &[data-theme="dark"] {
106
+ &[data-theme='dark'] {
107
107
  @each $key, $value in $theme-default-dark {
108
108
  --bvs-color-#{$key}: #{$value};
109
109
  }
@@ -111,13 +111,13 @@
111
111
  }
112
112
 
113
113
  // 2. Emerald Brand Theme
114
- [data-brand="emerald"] {
115
- &[data-theme="light"] {
114
+ [data-brand='emerald'] {
115
+ &[data-theme='light'] {
116
116
  @each $key, $value in $theme-emerald-light {
117
117
  --bvs-color-#{$key}: #{$value};
118
118
  }
119
119
  }
120
- &[data-theme="dark"] {
120
+ &[data-theme='dark'] {
121
121
  @each $key, $value in $theme-emerald-dark {
122
122
  --bvs-color-#{$key}: #{$value};
123
123
  }
@@ -125,13 +125,13 @@
125
125
  }
126
126
 
127
127
  // 3. Sunset Brand Theme
128
- [data-brand="sunset"] {
129
- &[data-theme="light"] {
128
+ [data-brand='sunset'] {
129
+ &[data-theme='light'] {
130
130
  @each $key, $value in $theme-sunset-light {
131
131
  --bvs-color-#{$key}: #{$value};
132
132
  }
133
133
  }
134
- &[data-theme="dark"] {
134
+ &[data-theme='dark'] {
135
135
  @each $key, $value in $theme-sunset-dark {
136
136
  --bvs-color-#{$key}: #{$value};
137
137
  }
@@ -139,13 +139,13 @@
139
139
  }
140
140
 
141
141
  // 4. Amethyst Brand Theme
142
- [data-brand="amethyst"] {
143
- &[data-theme="light"] {
142
+ [data-brand='amethyst'] {
143
+ &[data-theme='light'] {
144
144
  @each $key, $value in $theme-amethyst-light {
145
145
  --bvs-color-#{$key}: #{$value};
146
146
  }
147
147
  }
148
- &[data-theme="dark"] {
148
+ &[data-theme='dark'] {
149
149
  @each $key, $value in $theme-amethyst-dark {
150
150
  --bvs-color-#{$key}: #{$value};
151
151
  }
@@ -153,13 +153,13 @@
153
153
  }
154
154
 
155
155
  // 5. Ruby Brand Theme
156
- [data-brand="ruby"] {
157
- &[data-theme="light"] {
156
+ [data-brand='ruby'] {
157
+ &[data-theme='light'] {
158
158
  @each $key, $value in $theme-ruby-light {
159
159
  --bvs-color-#{$key}: #{$value};
160
160
  }
161
161
  }
162
- &[data-theme="dark"] {
162
+ &[data-theme='dark'] {
163
163
  @each $key, $value in $theme-ruby-dark {
164
164
  --bvs-color-#{$key}: #{$value};
165
165
  }
@@ -1,3 +1,2 @@
1
1
  @use './tokens' as *;
2
2
  @use './mixins' as *;
3
-