ng-magary 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-magary.mjs","sources":["../../../projects/ng-magary/src/lib/Button/button/button.ts","../../../projects/ng-magary/src/lib/Button/button/button.html","../../../projects/ng-magary/src/lib/Button/button/button.module.ts","../../../projects/ng-magary/src/lib/Button/speed-dial/speed-dial.ts","../../../projects/ng-magary/src/lib/Button/speed-dial/speed-dial.html","../../../projects/ng-magary/src/lib/Button/speed-dial/speed-dial.module.ts","../../../projects/ng-magary/src/lib/Form/cascade-select/cascade-select.ts","../../../projects/ng-magary/src/lib/Form/cascade-select/cascade-select.html","../../../projects/ng-magary/src/lib/Form/cascade-select/cascade-select.module.ts","../../../projects/ng-magary/src/lib/Form/input/input.ts","../../../projects/ng-magary/src/lib/Form/input/input.html","../../../projects/ng-magary/src/lib/Form/input/input.module.ts","../../../projects/ng-magary/src/lib/Menu/panelmenu/panelmenu.ts","../../../projects/ng-magary/src/lib/Menu/panelmenu/panelmenu.html","../../../projects/ng-magary/src/lib/Menu/panelmenu/panelmenu.module.ts","../../../projects/ng-magary/src/lib/Misc/avatar/avatar.ts","../../../projects/ng-magary/src/lib/Misc/avatar/avatar.html","../../../projects/ng-magary/src/lib/Menu/sidebar/sidebar.ts","../../../projects/ng-magary/src/lib/Menu/sidebar/sidebar.html","../../../projects/ng-magary/src/lib/Menu/sidebar/sidebar.module.ts","../../../projects/ng-magary/src/lib/Misc/avatar/avatar.module.ts","../../../projects/ng-magary/src/lib/Panel/card/card.ts","../../../projects/ng-magary/src/lib/Panel/card/card.html","../../../projects/ng-magary/src/lib/Panel/card/card.module.ts","../../../projects/ng-magary/src/lib/Panel/tabs/tab/tab.ts","../../../projects/ng-magary/src/lib/Panel/tabs/tabs.ts","../../../projects/ng-magary/src/lib/Panel/tabs/tabs.html","../../../projects/ng-magary/src/lib/Panel/tabs/tabs.module.ts","../../../projects/ng-magary/src/lib/ng-magary.ts","../../../projects/ng-magary/src/public-api.ts","../../../projects/ng-magary/src/ng-magary.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n Component,\n computed,\n EventEmitter,\n input,\n output,\n} from '@angular/core';\ntype ButtonSeverity =\n | 'primary'\n | 'secondary'\n | 'success'\n | 'info'\n | 'warning'\n | 'danger'\n | 'help';\ntype ButtonVariant = 'solid' | 'text' | 'outlined';\ntype ButtonSize = 'small' | 'normal' | 'large';\ntype IconPosition = 'left' | 'right';\ntype ShadowLevel = 0 | 1 | 2 | 3 | 4 | 5;\n@Component({\n selector: 'magary-button',\n imports: [CommonModule],\n templateUrl: './button.html',\n styleUrl: './button.scss',\n})\nexport class MagaryButton {\n readonly label = input<string>();\n readonly icon = input<string>();\n readonly shadow = input<ShadowLevel>(0);\n readonly rounded = input<boolean>(false);\n readonly customBackgroundColor = input<string>();\n readonly iconPos = input<IconPosition>('left');\n readonly severity = input<ButtonSeverity>();\n readonly loading = input<boolean>(false);\n readonly disabled = input<boolean>(false);\n readonly variant = input<ButtonVariant>('solid');\n readonly size = input<ButtonSize>('normal');\n readonly ariaLabel = input<string>(); \n readonly buttonClick = output<Event>();\n readonly isDisabled = computed(() => this.disabled() || this.loading());\n readonly buttonClasses = computed(() =>\n [\n 'p-button',\n `shadow-${this.shadow()}`,\n `p-button-${this.size()}`,\n this.severity() ? `p-button-${this.severity()}` : '',\n this.variant() === 'text' ? 'p-button-text' : '',\n this.variant() === 'outlined' ? 'p-button-outlined' : '',\n this.icon() && !this.label() ? 'p-button-icon-only' : '',\n this.icon() && this.label() && this.iconPos() === 'left'\n ? 'p-button-icon-left'\n : '',\n this.icon() && this.label() && this.iconPos() === 'right'\n ? 'p-button-icon-right'\n : '',\n this.loading() ? 'p-button-loading' : '',\n ].filter(Boolean),\n );\n readonly buttonStyles = computed(() => ({\n 'border-radius': this.rounded() ? '22px' : '8px',\n background: this.customBackgroundColor() || undefined,\n }));\n readonly effectiveAriaLabel = computed(\n () => this.ariaLabel() || this.label() || 'Button',\n );\n onButtonClick(event: Event): void {\n if (!this.isDisabled()) {\n this.buttonClick.emit(event);\n }\n }\n}\n","<button\n type=\"button\"\n [disabled]=\"isDisabled()\"\n [ngStyle]=\"buttonStyles()\"\n [ngClass]=\"buttonClasses()\"\n [attr.aria-label]=\"effectiveAriaLabel()\"\n [attr.aria-busy]=\"loading() ? 'true' : null\"\n [attr.aria-disabled]=\"isDisabled() ? 'true' : null\"\n (click)=\"onButtonClick($event)\"\n>\n @if (loading()) {\n <span\n class=\"p-button-loading-icon fas fa-spinner fa-spin\"\n aria-hidden=\"true\"\n >\n </span>\n }\n @if (icon() && !loading() && iconPos() === \"left\") {\n <span class=\"p-button-icon\" [ngClass]=\"icon()\" aria-hidden=\"true\"> </span>\n }\n @if (label()) {\n <span class=\"p-button-label\">{{ label() }}</span>\n } @else if (!icon()) {\n <span class=\"p-button-label\">&nbsp;</span>\n }\n @if (icon() && !loading() && iconPos() === \"right\") {\n <span class=\"p-button-icon\" [ngClass]=\"icon()\" aria-hidden=\"true\"> </span>\n }\n</button>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MagaryButton } from './button';\n@NgModule({\n declarations: [],\n imports: [CommonModule, MagaryButton],\n exports: [MagaryButton],\n})\nexport class ButtonModule {}\n","import { CommonModule } from '@angular/common';\nimport {\n Component,\n computed,\n input,\n output,\n signal,\n ElementRef,\n HostListener,\n inject,\n} from '@angular/core';\nimport { SpeedDialItem } from './speed-dial-item.interface';\ntype SpeedDialType = 'linear' | 'circle' | 'semicircle' | 'quartercircle';\ntype SpeedDialDirection =\n | 'up'\n | 'down'\n | 'left'\n | 'right'\n | 'up-left'\n | 'up-right'\n | 'down-left'\n | 'down-right';\n@Component({\n selector: 'magary-speed-dial',\n imports: [CommonModule],\n templateUrl: './speed-dial.html',\n styleUrl: './speed-dial.scss',\n})\nexport class MagarySpeedDial {\n private readonly elementRef = inject(ElementRef);\n readonly items = input.required<SpeedDialItem[]>();\n readonly icon = input<string>('fas fa-plus');\n readonly activeIcon = input<string>('fas fa-times');\n readonly type = input<SpeedDialType>('linear');\n readonly direction = input<SpeedDialDirection>();\n readonly radius = input<number>(80);\n readonly showMask = input<boolean>(false);\n readonly background = input<string>('#007bff');\n readonly ariaLabel = input<string>('Speed dial menu'); \n readonly isOpen = signal(false);\n readonly speedDialToggle = output<boolean>();\n readonly itemSelect = output<{ item: SpeedDialItem; event: Event }>();\n readonly itemCount = computed(() => this.items().length);\n readonly containerClasses = computed(() =>\n [\n 'speed-dial-container',\n this.isOpen() ? 'is-open' : '',\n `type-${this.type()}`,\n this.direction() ? `direction-${this.direction()}` : '',\n ].filter(Boolean),\n );\n readonly triggerStyles = computed(() => ({\n '--trigger-bg': this.background(),\n }));\n readonly itemsStyles = computed(() => ({\n '--item-count': this.itemCount().toString(),\n '--radius': `${this.radius()}px`,\n }));\n readonly currentIcon = computed(() =>\n this.isOpen() ? this.activeIcon() : this.icon(),\n );\n toggleSpeedDial(event: Event): void {\n event.stopPropagation();\n const newState = !this.isOpen();\n this.isOpen.set(newState);\n this.speedDialToggle.emit(newState);\n }\n onItemClick(event: Event, item: SpeedDialItem): void {\n event.stopPropagation();\n if (item.disabled) {\n return;\n }\n this.itemSelect.emit({ item, event });\n if (item.command) {\n item.command(event);\n }\n this.isOpen.set(false);\n this.speedDialToggle.emit(false);\n }\n closeMask(): void {\n this.isOpen.set(false);\n this.speedDialToggle.emit(false);\n }\n trackByItem(index: number, item: SpeedDialItem): string {\n return item.id || `${item.icon}-${index}`;\n }\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: Event): void {\n if (!this.isOpen()) {\n return;\n }\n const target = event.target as HTMLElement;\n const componentElement = this.elementRef.nativeElement;\n if (!componentElement.contains(target)) {\n this.isOpen.set(false);\n this.speedDialToggle.emit(false);\n }\n }\n @HostListener('document:keydown.escape')\n onEscapeKeydown(): void {\n if (this.isOpen()) {\n this.isOpen.set(false);\n this.speedDialToggle.emit(false);\n }\n }\n}\n","<div [ngClass]=\"containerClasses()\" [ngStyle]=\"triggerStyles()\">\n @if (showMask() && isOpen()) {\n <div class=\"speed-dial-mask\" (click)=\"closeMask()\" aria-hidden=\"true\"></div>\n }\n <ul\n class=\"speed-dial-items\"\n [attr.data-direction]=\"direction()\"\n [ngStyle]=\"itemsStyles()\"\n role=\"menu\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-label]=\"ariaLabel()\"\n >\n @for (item of items(); track trackByItem($index, item)) {\n <li\n [style.--i]=\"$index\"\n [style.--radius.px]=\"radius()\"\n [style.transition-delay]=\"isOpen() ? $index * 50 + 'ms' : '0ms'\"\n [class]=\"'item-' + type()\"\n role=\"presentation\"\n >\n @if (item.tooltip) {\n <div\n class=\"action-tooltip\"\n role=\"tooltip\"\n [attr.id]=\"'tooltip-' + $index\"\n >\n {{ item.tooltip }}\n </div>\n }\n <button\n type=\"button\"\n class=\"action-button\"\n role=\"menuitem\"\n [disabled]=\"item.disabled\"\n [attr.aria-label]=\"\n item.ariaLabel || item.tooltip || 'Speed dial action'\n \"\n [attr.aria-describedby]=\"item.tooltip ? 'tooltip-' + $index : null\"\n [style.background-color]=\"item.backgroundColor\"\n (click)=\"onItemClick($event, item)\"\n >\n <i [ngClass]=\"item.icon\" aria-hidden=\"true\"> </i>\n </button>\n </li>\n }\n </ul>\n <button\n type=\"button\"\n class=\"trigger-button\"\n [attr.aria-label]=\"ariaLabel() + (isOpen() ? ' - Cerrar' : ' - Abrir')\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-haspopup]=\"'menu'\"\n (click)=\"toggleSpeedDial($event)\"\n >\n <i [ngClass]=\"currentIcon()\" aria-hidden=\"true\"> </i>\n </button>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MagarySpeedDial } from './speed-dial';\n@NgModule({\n imports: [CommonModule, MagarySpeedDial],\n exports: [MagarySpeedDial],\n})\nexport class SpeedDialModule {}\n","import { Component } from '@angular/core';\n@Component({\n selector: 'lib-cascade-select',\n imports: [],\n templateUrl: './cascade-select.html',\n styleUrl: './cascade-select.scss'\n})\nexport class CascadeSelect {\n}\n","<p>cascade-select works!</p>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CascadeSelect } from './cascade-select';\n@NgModule({\n imports: [CommonModule, CascadeSelect],\n exports: [CascadeSelect],\n})\nexport class CascadeSelectModule { }\n","import { Component, computed, input, output, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nexport type InputType =\n | 'text'\n | 'email'\n | 'password'\n | 'number'\n | 'tel'\n | 'url'\n | 'search';\n\nexport type InputSize = 'small' | 'normal' | 'large';\n\nexport type InputVariant = 'filled' | 'outlined' | 'underlined';\n\n@Component({\n selector: 'magary-input',\n imports: [CommonModule, FormsModule],\n templateUrl: './input.html',\n styleUrl: './input.scss',\n})\nexport class MagaryInput {\n value = input<string>('');\n placeholder = input<string>('');\n type = input<InputType>('text');\n size = input<InputSize>('normal');\n variant = input<InputVariant>('outlined');\n\n disabled = input<boolean>(false);\n readonly = input<boolean>(false);\n required = input<boolean>(false);\n loading = input<boolean>(false);\n\n error = input<string>('');\n success = input<boolean>(false);\n\n label = input<string>('');\n helpText = input<string>('');\n\n prefixIcon = input<string>('');\n suffixIcon = input<string>('');\n\n width = input<string>('100%');\n maxLength = input<number | undefined>(undefined);\n\n valueChange = output<string>();\n inputFocus = output<Event>();\n inputBlur = output<Event>();\n iconClick = output<'prefix' | 'suffix'>();\n\n private focused = signal(false);\n private showPassword = signal(false);\n private readonly uniqueId = `magary-input-${Math.random().toString(36).substr(2, 9)}`;\n\n inputClasses = computed(() => {\n const classes = ['magary-input-field'];\n classes.push(`input-${this.variant()}`);\n classes.push(`input-${this.size()}`);\n\n if (this.disabled()) classes.push('input-disabled');\n if (this.readonly()) classes.push('input-readonly');\n if (this.error()) classes.push('input-error');\n if (this.success()) classes.push('input-success');\n if (this.focused()) classes.push('input-focused');\n if (this.loading()) classes.push('input-loading');\n\n return classes.join(' ');\n });\n\n containerClasses = computed(() => {\n const classes = ['magary-input-container'];\n if (this.label()) classes.push('has-label');\n if (this.prefixIcon()) classes.push('has-prefix');\n if (this.suffixIcon() || this.type() === 'password')\n classes.push('has-suffix');\n return classes.join(' ');\n });\n\n inputStyles = computed(() => ({\n width: this.width(),\n }));\n\n actualType = computed(() => {\n if (this.type() === 'password') {\n return this.showPassword() ? 'text' : 'password';\n }\n return this.type();\n });\n\n passwordIcon = computed(() => {\n return this.showPassword() ? 'fas fa-eye-slash' : 'fas fa-eye';\n });\n\n onInput(event: Event): void {\n const target = event.target as HTMLInputElement;\n this.valueChange.emit(target.value);\n }\n\n onFocus(event: Event): void {\n this.focused.set(true);\n this.inputFocus.emit(event);\n }\n\n onBlur(event: Event): void {\n this.focused.set(false);\n this.inputBlur.emit(event);\n }\n\n onPrefixIconClick(): void {\n if (!this.disabled()) {\n this.iconClick.emit('prefix');\n }\n }\n\n onSuffixIconClick(): void {\n if (!this.disabled()) {\n this.iconClick.emit('suffix');\n }\n }\n\n togglePasswordVisibility(): void {\n if (this.type() === 'password') {\n this.showPassword.set(!this.showPassword());\n }\n }\n\n getId(): string {\n return this.uniqueId;\n }\n}\n","<div [ngClass]=\"containerClasses()\" [ngStyle]=\"inputStyles()\">\n @if (label()) {\n <label [for]=\"getId()\" class=\"input-label\">\n {{ label() }}\n @if (required()) {\n <span class=\"required-asterisk\">*</span>\n }\n </label>\n }\n\n <div class=\"input-wrapper\">\n @if (prefixIcon()) {\n <i\n [class]=\"prefixIcon()\"\n class=\"prefix-icon\"\n (click)=\"onPrefixIconClick()\"\n [class.clickable]=\"!disabled()\"\n ></i>\n }\n\n <input\n [id]=\"getId()\"\n [ngClass]=\"inputClasses()\"\n [type]=\"actualType()\"\n [value]=\"value()\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n [required]=\"required()\"\n attr.maxlength=\"{{ maxLength() }}\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n />\n\n @if (loading()) {\n <i class=\"fas fa-spinner fa-spin suffix-icon loading-icon\"></i>\n } @else if (type() === \"password\") {\n <i\n [class]=\"passwordIcon()\"\n class=\"suffix-icon password-toggle\"\n (click)=\"togglePasswordVisibility()\"\n ></i>\n } @else if (suffixIcon()) {\n <i\n [class]=\"suffixIcon()\"\n class=\"suffix-icon\"\n (click)=\"onSuffixIconClick()\"\n [class.clickable]=\"!disabled()\"\n ></i>\n }\n </div>\n\n @if (error() || helpText()) {\n <div class=\"input-message\">\n @if (error()) {\n <span class=\"error-message\">\n <i class=\"fas fa-exclamation-circle\"></i>\n {{ error() }}\n </span>\n } @else if (helpText()) {\n <span class=\"help-message\">{{ helpText() }}</span>\n }\n </div>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MagaryInput } from './input';\n\n@NgModule({\n imports: [CommonModule, MagaryInput],\n exports: [MagaryInput],\n})\nexport class InputModule {}\n","import { CommonModule } from '@angular/common';\nimport { Component, input, output, signal, computed } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nexport interface MenuItem {\n label: string;\n route?: string;\n icon?: string;\n children?: MenuItem[];\n disabled?: boolean;\n metadata?: any; \n}\nexport interface MenuItemClickEvent {\n item: MenuItem;\n level: number;\n path: string[];\n}\nexport interface MenuToggleEvent {\n isOpen: boolean;\n menuTitle: string;\n}\n@Component({\n selector: 'magary-panelmenu',\n imports: [CommonModule, RouterModule],\n templateUrl: './panelmenu.html',\n styleUrl: './panelmenu.scss',\n})\nexport class MagaryPanelmenu {\n public title = input<string>('Panel Menu');\n public items = input<MenuItem[]>([]);\n public backgroundColor = input<string>('#f9fafb');\n public textColor = input<string>('#1f2937');\n public borderRadius = input<string>('8px');\n public shadow = input<number>(0);\n public width = input<string>('100%');\n public hoverColor = input<string>('#007bff');\n public allowMultipleExpanded = input<boolean>(false);\n public defaultOpen = input<boolean>(false);\n public menuToggle = output<MenuToggleEvent>();\n public itemClick = output<MenuItemClickEvent>();\n public itemExpand = output<{ item: MenuItem; expanded: boolean }>();\n public isOpen = signal(this.defaultOpen());\n public hoveredItem = signal<string | null>(null);\n public hoveredHeader = signal<boolean>(false);\n public expandedItems = signal<Set<string>>(new Set());\n public panelStyles = computed(() => ({\n '--panel-bg': this.backgroundColor(),\n '--panel-text': this.textColor(),\n '--panel-hover': this.hoverColor(),\n '--panel-radius': this.borderRadius(),\n width: this.width(),\n }));\n constructor() {\n if (this.defaultOpen()) {\n this.isOpen.set(true);\n }\n }\n toggle(): void {\n const newOpenState = !this.isOpen();\n this.isOpen.set(newOpenState);\n this.menuToggle.emit({\n isOpen: newOpenState,\n menuTitle: this.title(),\n });\n }\n toggleSubItem(itemKey: string, item?: MenuItem): void {\n this.expandedItems.update((expanded) => {\n const newSet = new Set(expanded);\n if (!this.allowMultipleExpanded() && !newSet.has(itemKey)) {\n const currentLevel = itemKey.split('/').length;\n for (const key of newSet) {\n if (key.split('/').length === currentLevel) {\n newSet.delete(key);\n }\n }\n }\n const wasExpanded = newSet.has(itemKey);\n if (wasExpanded) {\n newSet.delete(itemKey);\n for (const key of newSet) {\n if (key.startsWith(itemKey + '/')) {\n newSet.delete(key);\n }\n }\n } else {\n newSet.add(itemKey);\n }\n if (item) {\n this.itemExpand.emit({\n item,\n expanded: !wasExpanded,\n });\n }\n return newSet;\n });\n }\n onItemClick(item: MenuItem, level: number = 0, path: string[] = []): void {\n if (item.disabled) return;\n this.itemClick.emit({\n item,\n level,\n path: [...path, item.label],\n });\n }\n isSubItemExpanded(itemKey: string): boolean {\n return this.expandedItems().has(itemKey);\n }\n hasChildren(item: MenuItem): boolean {\n return !!(item.children && item.children.length > 0);\n }\n onItemHover(itemId: string): void {\n this.hoveredItem.set(itemId);\n }\n onItemLeave(): void {\n this.hoveredItem.set(null);\n }\n onHeaderHover(isHovering: boolean): void {\n this.hoveredHeader.set(isHovering);\n }\n getItemId(item: MenuItem, index: number, parentPath: string = ''): string {\n const path = parentPath\n ? `${parentPath}-${item.label}-${index}`\n : `${item.label}-${index}`;\n return path;\n }\n getUniqueItemKey(item: MenuItem, parentPath: string = ''): string {\n return parentPath ? `${parentPath}/${item.label}` : item.label;\n }\n isItemHovered(itemId: string): boolean {\n return this.hoveredItem() === itemId;\n }\n isItemDisabled(item: MenuItem): boolean {\n return item.disabled === true;\n }\n}\n","<div\n class=\"panel-menu\"\n [ngClass]=\"['shadow-' + shadow()]\"\n [class.open]=\"isOpen()\"\n [ngStyle]=\"panelStyles()\"\n>\n <div\n class=\"panel-header\"\n [class.header-hovered]=\"hoveredHeader()\"\n (click)=\"toggle()\"\n (mouseenter)=\"onHeaderHover(true)\"\n (mouseleave)=\"onHeaderHover(false)\"\n >\n {{ title() }}\n <span class=\"arrow\" [class.open]=\"isOpen()\">\n <i class=\"fas fa-chevron-down\"></i>\n </span>\n </div>\n <ul class=\"panel-items\" [class.expanded]=\"isOpen()\">\n @for (item of items(); track getItemId(item, $index)) {\n <li class=\"menu-item\">\n @if (hasChildren(item)) {\n <div\n class=\"category-item\"\n [class.item-hovered]=\"isItemHovered(getItemId(item, $index))\"\n [class.disabled]=\"isItemDisabled(item)\"\n (click)=\"\n !isItemDisabled(item) &&\n toggleSubItem(getUniqueItemKey(item), item)\n \"\n (mouseenter)=\"onItemHover(getItemId(item, $index))\"\n (mouseleave)=\"onItemLeave()\"\n >\n @if (item.icon) {\n <i [class]=\"item.icon\" class=\"item-icon\"></i>\n }\n <span class=\"item-label\">{{ item.label }}</span>\n <span\n class=\"sub-arrow\"\n [class.expanded]=\"isSubItemExpanded(getUniqueItemKey(item))\"\n >\n <i\n class=\"fas\"\n [ngClass]=\"\n isSubItemExpanded(getUniqueItemKey(item))\n ? 'fa-minus'\n : 'fa-plus'\n \"\n ></i>\n </span>\n </div>\n <ul\n class=\"sub-items\"\n [class.expanded]=\"isSubItemExpanded(getUniqueItemKey(item))\"\n >\n @for (\n subItem of item.children;\n track subItem.label + \"-\" + $index\n ) {\n <li>\n @if (hasChildren(subItem)) {\n <div\n class=\"sub-category-item\"\n [class.item-hovered]=\"\n isItemHovered(subItem.label + '-sub-' + $index)\n \"\n [class.disabled]=\"isItemDisabled(subItem)\"\n (click)=\"\n !isItemDisabled(subItem) &&\n toggleSubItem(\n getUniqueItemKey(subItem, getUniqueItemKey(item)),\n subItem\n )\n \"\n (mouseenter)=\"onItemHover(subItem.label + '-sub-' + $index)\"\n (mouseleave)=\"onItemLeave()\"\n >\n @if (subItem.icon) {\n <i [class]=\"subItem.icon\" class=\"item-icon\"></i>\n }\n <span class=\"item-label\">{{ subItem.label }}</span>\n <span\n class=\"sub-arrow\"\n [class.expanded]=\"\n isSubItemExpanded(\n getUniqueItemKey(subItem, getUniqueItemKey(item))\n )\n \"\n >\n <i\n class=\"fas\"\n [ngClass]=\"\n isSubItemExpanded(\n getUniqueItemKey(subItem, getUniqueItemKey(item))\n )\n ? 'fa-minus'\n : 'fa-plus'\n \"\n ></i>\n </span>\n </div>\n <ul\n class=\"sub-sub-items\"\n [class.expanded]=\"\n isSubItemExpanded(\n getUniqueItemKey(subItem, getUniqueItemKey(item))\n )\n \"\n >\n @for (\n subSubItem of subItem.children;\n track subSubItem.label + \"-\" + $index\n ) {\n <li>\n @if (subSubItem.route) {\n <a\n [routerLink]=\"subSubItem.route\"\n [class.item-hovered]=\"\n isItemHovered(\n subSubItem.label + '-subsub-' + $index\n )\n \"\n [class.disabled]=\"isItemDisabled(subSubItem)\"\n (click)=\"\n onItemClick(subSubItem, 2, [\n item.label,\n subItem.label,\n ])\n \"\n (mouseenter)=\"\n onItemHover(\n subSubItem.label + '-subsub-' + $index\n )\n \"\n (mouseleave)=\"onItemLeave()\"\n >\n @if (subSubItem.icon) {\n <i\n [class]=\"subSubItem.icon\"\n class=\"item-icon\"\n ></i>\n }\n {{ subSubItem.label }}\n </a>\n } @else {\n <div\n class=\"menu-item-base\"\n [class.item-hovered]=\"\n isItemHovered(\n subSubItem.label + '-subsub-' + $index\n )\n \"\n [class.disabled]=\"isItemDisabled(subSubItem)\"\n (click)=\"\n !isItemDisabled(subSubItem) &&\n onItemClick(subSubItem, 2, [\n item.label,\n subItem.label,\n ])\n \"\n (mouseenter)=\"\n onItemHover(\n subSubItem.label + '-subsub-' + $index\n )\n \"\n (mouseleave)=\"onItemLeave()\"\n >\n @if (subSubItem.icon) {\n <i\n [class]=\"subSubItem.icon\"\n class=\"item-icon\"\n ></i>\n }\n {{ subSubItem.label }}\n </div>\n }\n </li>\n }\n </ul>\n } @else {\n @if (subItem.route) {\n <a\n [routerLink]=\"subItem.route\"\n [class.item-hovered]=\"\n isItemHovered(subItem.label + '-sub-' + $index)\n \"\n [class.disabled]=\"isItemDisabled(subItem)\"\n (click)=\"onItemClick(subItem, 1, [item.label])\"\n (mouseenter)=\"\n onItemHover(subItem.label + '-sub-' + $index)\n \"\n (mouseleave)=\"onItemLeave()\"\n >\n @if (subItem.icon) {\n <i [class]=\"subItem.icon\" class=\"item-icon\"></i>\n }\n {{ subItem.label }}\n </a>\n } @else {\n <div\n class=\"menu-item-base\"\n [class.item-hovered]=\"\n isItemHovered(subItem.label + '-sub-' + $index)\n \"\n [class.disabled]=\"isItemDisabled(subItem)\"\n (click)=\"\n !isItemDisabled(subItem) &&\n onItemClick(subItem, 1, [item.label])\n \"\n (mouseenter)=\"\n onItemHover(subItem.label + '-sub-' + $index)\n \"\n (mouseleave)=\"onItemLeave()\"\n >\n @if (subItem.icon) {\n <i [class]=\"subItem.icon\" class=\"item-icon\"></i>\n }\n {{ subItem.label }}\n </div>\n }\n }\n </li>\n }\n </ul>\n } @else {\n @if (item.route) {\n <a\n [routerLink]=\"item.route\"\n [class.item-hovered]=\"isItemHovered(getItemId(item, $index))\"\n [class.disabled]=\"isItemDisabled(item)\"\n (click)=\"onItemClick(item, 0)\"\n (mouseenter)=\"onItemHover(getItemId(item, $index))\"\n (mouseleave)=\"onItemLeave()\"\n >\n @if (item.icon) {\n <i [class]=\"item.icon\" class=\"item-icon\"></i>\n }\n {{ item.label }}\n </a>\n } @else {\n <div\n class=\"menu-item-base\"\n [class.item-hovered]=\"isItemHovered(getItemId(item, $index))\"\n [class.disabled]=\"isItemDisabled(item)\"\n (click)=\"!isItemDisabled(item) && onItemClick(item, 0)\"\n (mouseenter)=\"onItemHover(getItemId(item, $index))\"\n (mouseleave)=\"onItemLeave()\"\n >\n @if (item.icon) {\n <i [class]=\"item.icon\" class=\"item-icon\"></i>\n }\n {{ item.label }}\n </div>\n }\n }\n </li>\n }\n </ul>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MagaryPanelmenu } from './panelmenu';\nimport { RouterModule } from '@angular/router';\n@NgModule({\n imports: [CommonModule, MagaryPanelmenu, RouterModule],\n exports: [MagaryPanelmenu],\n})\nexport class PanelmenuModule {}\n","import { CommonModule } from '@angular/common';\nimport { Component, input, output, signal, computed } from '@angular/core';\nexport type AvatarShape = 'circle' | 'square';\nexport type AvatarSize = 'xsmall' | 'small' | 'normal' | 'large' | 'xlarge';\nexport type BadgeSeverity = 'info' | 'success' | 'warning' | 'danger';\nexport interface AvatarClickEvent {\n type: 'avatar' | 'badge';\n data?: any;\n}\n@Component({\n selector: 'magary-avatar',\n imports: [CommonModule],\n templateUrl: './avatar.html',\n styleUrl: './avatar.scss',\n})\nexport class MagaryAvatar {\n public label = input<string>();\n public image = input<string>();\n public icon = input<string>();\n public shape = input<AvatarShape>('square');\n public size = input<AvatarSize>('normal');\n public badgeValue = input<string | number>();\n public badgeSeverity = input<BadgeSeverity>('danger');\n public customStyle = input<Record<string, any>>();\n public alt = input<string>('Avatar');\n public clickable = input<boolean>(false);\n public loading = input<boolean>(false);\n public disabled = input<boolean>(false);\n public avatarClick = output<AvatarClickEvent>();\n public imageError = signal<boolean>(false);\n public displayLabel = computed(() => {\n const label = this.label();\n if (!label) return '';\n if (label.includes(' ')) {\n return label\n .split(' ')\n .map((word) => word.charAt(0))\n .join('')\n .toUpperCase()\n .slice(0, 2);\n }\n return label.toUpperCase().slice(0, 2);\n });\n public avatarClasses = computed(() => ({\n [this.size()]: true,\n [this.shape()]: true,\n clickable: this.clickable(),\n loading: this.loading(),\n disabled: this.disabled(),\n 'has-image': !!this.image() && !this.imageError(),\n 'has-icon': !this.image() && !!this.icon(),\n 'has-label': !this.image() && !this.icon() && !!this.label(),\n }));\n public shouldShowImage = computed(() => {\n return this.image() && !this.imageError();\n });\n public shouldShowIcon = computed(() => {\n return !this.shouldShowImage() && !!this.icon();\n });\n public shouldShowLabel = computed(() => {\n return (\n !this.shouldShowImage() && !this.shouldShowIcon() && !!this.displayLabel()\n );\n });\n onImageError(): void {\n this.imageError.set(true);\n }\n onImageLoad(): void {\n this.imageError.set(false);\n }\n onAvatarClick(): void {\n if (this.disabled() || this.loading()) return;\n this.avatarClick.emit({\n type: 'avatar',\n data: {\n label: this.label(),\n image: this.image(),\n icon: this.icon(),\n },\n });\n }\n onBadgeClick(event: Event): void {\n if (this.disabled() || this.loading()) return;\n event.stopPropagation();\n this.avatarClick.emit({\n type: 'badge',\n data: {\n value: this.badgeValue(),\n severity: this.badgeSeverity(),\n },\n });\n }\n}\n","<div\n class=\"avatar-wrapper\"\n [ngClass]=\"avatarClasses()\"\n [ngStyle]=\"customStyle()\"\n [attr.aria-label]=\"alt()\"\n [attr.role]=\"clickable() ? 'button' : null\"\n [attr.tabindex]=\"clickable() && !disabled() ? '0' : null\"\n (click)=\"clickable() && onAvatarClick()\"\n (keydown.enter)=\"clickable() && onAvatarClick()\"\n (keydown.space)=\"clickable() && onAvatarClick()\"\n>\n @if (loading()) {\n <div class=\"avatar-loading\">\n <i class=\"fas fa-spinner fa-spin\"></i>\n </div>\n } @else {\n @if (shouldShowImage()) {\n <img\n [src]=\"image()\"\n [alt]=\"alt()\"\n class=\"avatar-img\"\n [ngClass]=\"shape()\"\n (error)=\"onImageError()\"\n (load)=\"onImageLoad()\"\n />\n }\n @if (shouldShowIcon()) {\n <i [class]=\"'fas fa-' + icon()\" class=\"avatar-icon\"></i>\n }\n @if (shouldShowLabel()) {\n <span class=\"avatar-label\">{{ displayLabel() }}</span>\n }\n }\n @if (badgeValue()) {\n <div\n class=\"badge\"\n [ngClass]=\"badgeSeverity()\"\n [attr.aria-label]=\"'Badge: ' + badgeValue()\"\n (click)=\"onBadgeClick($event)\"\n >\n {{ badgeValue() }}\n </div>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { Component, input, output, signal } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { MagaryPanelmenu } from '../panelmenu/panelmenu';\nimport { MenuItem } from '../panelmenu/panelmenu.interface';\nimport {\n MagaryAvatar,\n BadgeSeverity,\n AvatarSize,\n AvatarShape,\n} from '../../Misc/avatar/avatar';\ninterface SidebarSection {\n title: string;\n items: MenuItem[];\n backgroundColor?: string;\n textColor?: string;\n hoverColor?: string;\n}\ntype AvatarType = 'image' | 'label' | 'icon';\ninterface AvatarConfig {\n type: AvatarType;\n size?: AvatarSize;\n shape?: AvatarShape;\n image?: string;\n label?: string;\n icon?: string;\n badgeValue?: string;\n badgeSeverity?: BadgeSeverity | undefined;\n}\n@Component({\n selector: 'magary-sidebar',\n imports: [CommonModule, RouterModule, MagaryPanelmenu, MagaryAvatar],\n templateUrl: './sidebar.html',\n styleUrl: './sidebar.scss',\n})\nexport class Sidebar {\n public sections = input<SidebarSection[]>([]);\n public menu = input<MenuItem[]>([]);\n public menuTitle = input<string>('Menu');\n public showUserSection = input<boolean>(false);\n public userName = input<string>('John Doe');\n public userEmail = input<string>('user@example.com');\n public avatarConfig = input<AvatarConfig>({\n type: 'label',\n label: 'U',\n size: 'normal',\n shape: 'circle',\n badgeSeverity: 'danger',\n });\n public logoSrc = input<string>('assets/logo.svg');\n public appTitle = input<string>('PRIMENG');\n public isMobileOpen = signal(false);\n Logout = output<void>();\n closeSidebar = output<void>();\n toggleMobileSidebar() {\n this.isMobileOpen.update((open) => !open);\n }\n closeMobileSidebar() {\n this.isMobileOpen.set(false);\n }\n logout() {\n this.Logout.emit();\n }\n}\n","<button class=\"hamburger-button\" (click)=\"toggleMobileSidebar()\">\n <i class=\"fas fa-bars\"></i>\n</button>\n<div class=\"sidebar\" [class.open]=\"isMobileOpen()\">\n <div class=\"sidebar-header\">\n <img [src]=\"logoSrc()\" alt=\"Logo\" class=\"logo\" />\n <span class=\"title\">{{ appTitle() }}</span>\n </div>\n <div class=\"sidebar-content\">\n <div class=\"menu-container\">\n @if (sections().length > 0) {\n @for (section of sections(); track $index) {\n <magary-panelmenu\n [title]=\"section.title\"\n [items]=\"section.items\"\n [backgroundColor]=\"section.backgroundColor || '#ffffff'\"\n [textColor]=\"section.textColor || '#374151'\"\n [hoverColor]=\"section.hoverColor || '#3b82f6'\"\n [borderRadius]=\"'12px'\"\n [shadow]=\"2\"\n [width]=\"'100%'\"\n />\n }\n }\n @if (menu().length > 0 && sections().length === 0) {\n <magary-panelmenu\n [title]=\"menuTitle()\"\n [items]=\"menu()\"\n [backgroundColor]=\"'#ffffff'\"\n [textColor]=\"'#374151'\"\n [hoverColor]=\"'#3b82f6'\"\n [borderRadius]=\"'12px'\"\n [shadow]=\"2\"\n [width]=\"'100%'\"\n />\n }\n </div>\n @if (showUserSection()) {\n <div class=\"user-section\">\n <div class=\"user-info\">\n @switch (avatarConfig().type) {\n @case (\"image\") {\n <magary-avatar\n [image]=\"avatarConfig().image || ''\"\n [size]=\"avatarConfig().size || 'normal'\"\n [shape]=\"avatarConfig().shape || 'circle'\"\n [badgeValue]=\"avatarConfig().badgeValue\"\n [badgeSeverity]=\"avatarConfig().badgeSeverity || 'danger'\"\n class=\"user-avatar\"\n />\n }\n @case (\"label\") {\n <magary-avatar\n [label]=\"avatarConfig().label || userName().charAt(0)\"\n [size]=\"avatarConfig().size || 'normal'\"\n [shape]=\"avatarConfig().shape || 'circle'\"\n [badgeValue]=\"avatarConfig().badgeValue\"\n [badgeSeverity]=\"avatarConfig().badgeSeverity || 'danger'\"\n class=\"user-avatar\"\n />\n }\n @case (\"icon\") {\n <magary-avatar\n [icon]=\"avatarConfig().icon || 'user'\"\n [size]=\"avatarConfig().size || 'normal'\"\n [shape]=\"avatarConfig().shape || 'circle'\"\n [badgeValue]=\"avatarConfig().badgeValue\"\n [badgeSeverity]=\"avatarConfig().badgeSeverity || 'danger'\"\n class=\"user-avatar\"\n />\n }\n }\n <div class=\"user-details\">\n <div class=\"username\">{{ userName() }}</div>\n <div class=\"email\">{{ userEmail() }}</div>\n </div>\n </div>\n <button class=\"logout-button\" (click)=\"logout()\">\n <i class=\"fas fa-sign-out-alt\"></i>\n Cerrar sesión\n </button>\n </div>\n }\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Sidebar } from './sidebar';\nimport { RouterModule } from '@angular/router';\n@NgModule({\n imports: [CommonModule, Sidebar, RouterModule],\n exports: [Sidebar],\n})\nexport class SidebarModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MagaryAvatar } from './avatar';\nexport * from './avatar';\n@NgModule({\n imports: [CommonModule, MagaryAvatar],\n exports: [MagaryAvatar],\n})\nexport class AvatarModule {}\n","import { CommonModule } from '@angular/common';\nimport { Component, computed, input } from '@angular/core';\ntype ImagePosition = 'left' | 'right' | 'top' | 'bottom';\ntype ShadowLevel = 0 | 1 | 2 | 3 | 4 | 5;\ntype CardVariant = 'elevated' | 'outlined' | 'filled';\n@Component({\n selector: 'magary-card',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './card.html',\n styleUrl: './card.scss',\n})\nexport class MagaryCard {\n readonly img = input<string>();\n readonly positionImage = input<ImagePosition>('top');\n readonly shadow = input<ShadowLevel>(1);\n readonly width = input<string>('250px');\n readonly height = input<string>('auto');\n readonly padding = input<string>('1rem');\n readonly gap = input<string>('1rem');\n readonly borderRadius = input<string>('0.75rem');\n readonly imageSize = input<string>('500px');\n readonly backgroundColor = input<string>('#fff');\n readonly responsive = input<boolean>(true);\n readonly altText = input<string>('Card image'); \n readonly imageFit = input<\n 'cover' | 'contain' | 'fill' | 'scale-down' | 'none'\n >('cover'); \n readonly clickable = input<boolean>(false);\n readonly loading = input<boolean>(false);\n readonly disabled = input<boolean>(false);\n readonly variant = input<CardVariant>('elevated');\n readonly loadingText = input<string>('Cargando...');\n readonly cardClasses = computed(() =>\n [\n 'card',\n `shadow-${this.shadow()}`,\n `layout-${this.positionImage()}`,\n `variant-${this.variant()}`,\n this.responsive() ? 'responsive' : '',\n this.clickable() ? 'clickable' : '',\n this.loading() ? 'loading' : '',\n this.disabled() ? 'disabled' : '',\n ].filter(Boolean),\n );\n readonly cardStyles = computed(() => ({\n width: this.width(),\n height: this.height(),\n 'border-radius': this.borderRadius(),\n 'background-color': this.backgroundColor(),\n '--border-radius': this.borderRadius(),\n '--gap': this.gap(),\n '--padding': this.padding(), \n cursor: this.clickable() && !this.disabled() ? 'pointer' : 'default',\n opacity: this.disabled() ? '0.6' : '1',\n 'pointer-events': this.disabled() ? 'none' : 'auto',\n }));\n readonly imageWidth = computed((): string => {\n if (this.positionImage() === 'left' || this.positionImage() === 'right') {\n return `calc(${this.width()} / 2)`;\n }\n return '100%';\n });\n readonly imageHeight = computed((): string => {\n if (this.positionImage() === 'top' || this.positionImage() === 'bottom') {\n return `calc(${this.imageSize()} / 2)`;\n }\n return '100%';\n });\n readonly imageClasses = computed(() => [\n 'card-img',\n `img-${this.positionImage()}`,\n ]);\n readonly imageBorderRadius = computed((): Record<string, string> => {\n const radius = this.borderRadius();\n const pos = this.positionImage();\n const radiusMap: Record<ImagePosition, Record<string, string>> = {\n top: {\n 'border-top-left-radius': radius,\n 'border-top-right-radius': radius,\n },\n bottom: {\n 'border-bottom-left-radius': radius,\n 'border-bottom-right-radius': radius,\n },\n left: {\n 'border-top-left-radius': radius,\n 'border-bottom-left-radius': radius,\n },\n right: {\n 'border-top-right-radius': radius,\n 'border-bottom-right-radius': radius,\n },\n };\n return radiusMap[pos] || {};\n });\n readonly imageStyles = computed(() => ({\n width: this.imageWidth(),\n height: this.imageHeight(),\n 'object-fit': this.imageFit(),\n ...this.imageBorderRadius(),\n }));\n readonly hasImage = computed(() => Boolean(this.img()));\n readonly isHorizontalLayout = computed(\n () => this.positionImage() === 'left' || this.positionImage() === 'right',\n );\n readonly isInteractive = computed(\n () => this.clickable() && !this.disabled() && !this.loading(),\n );\n readonly showLoadingOverlay = computed(() => this.loading());\n onCardClick(event: Event) {\n if (this.isInteractive()) {\n const cardClickEvent = new CustomEvent('cardClick', {\n detail: { event },\n bubbles: true,\n });\n (event.target as HTMLElement).dispatchEvent(cardClickEvent);\n }\n }\n onCardKeydown(event: KeyboardEvent) {\n if (this.isInteractive() && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault();\n this.onCardClick(event);\n }\n }\n}\n","<article\n [ngClass]=\"cardClasses()\"\n [ngStyle]=\"cardStyles()\"\n [attr.role]=\"clickable() ? 'button' : 'region'\"\n [attr.tabindex]=\"isInteractive() ? '0' : null\"\n [attr.aria-label]=\"\n 'Card with ' +\n (hasImage() ? 'image and ' : '') +\n 'content' +\n (clickable() ? '. Clickable' : '') +\n (loading() ? '. Loading' : '') +\n (disabled() ? '. Disabled' : '')\n \"\n [attr.aria-disabled]=\"disabled() ? 'true' : null\"\n [attr.aria-busy]=\"loading() ? 'true' : null\"\n (click)=\"onCardClick($event)\"\n (keydown)=\"onCardKeydown($event)\"\n>\n @if (hasImage()) {\n <div class=\"card-image-container\">\n <img\n [src]=\"img()\"\n [ngClass]=\"imageClasses()\"\n [ngStyle]=\"imageStyles()\"\n [alt]=\"altText()\"\n loading=\"lazy\"\n decoding=\"async\"\n />\n </div>\n }\n <div class=\"card-content\" [attr.aria-label]=\"'Card content'\">\n <div class=\"card-body\">\n @if (true) {\n <header class=\"card-header\" role=\"banner\">\n <ng-content select=\"[slot='header']\"></ng-content>\n </header>\n }\n <main class=\"card-main\" role=\"main\">\n <ng-content></ng-content>\n </main>\n @if (true) {\n <footer class=\"card-footer\" role=\"contentinfo\">\n <ng-content select=\"[slot='footer']\"></ng-content>\n </footer>\n }\n </div>\n </div>\n @if (showLoadingOverlay()) {\n <div\n class=\"card-loading-overlay\"\n role=\"status\"\n [attr.aria-label]=\"loadingText()\"\n >\n <div class=\"loading-spinner\" aria-hidden=\"true\"></div>\n <span class=\"loading-text\">{{ loadingText() }}</span>\n </div>\n }\n</article>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MagaryCard } from './card';\n@NgModule({\n declarations: [],\n imports: [CommonModule, MagaryCard],\n exports: [MagaryCard],\n})\nexport class CardModule {}\n","import { Component, input, signal } from '@angular/core';\n@Component({\n selector: 'magary-tab',\n standalone: true,\n template: `@if (active()) {\n <ng-content style=\"width: 100%;\" />\n }`,\n})\nexport class MagaryTab {\n public label = input<string>('');\n public active = signal(false);\n}\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n ElementRef,\n input,\n OnInit,\n QueryList,\n signal,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { MagaryTab } from './tab/tab';\n@Component({\n selector: 'magary-tabs',\n imports: [],\n templateUrl: './tabs.html',\n styleUrl: './tabs.scss',\n})\nexport class MagaryTabs implements OnInit, AfterContentInit {\n @ContentChildren(MagaryTab) tabs!: QueryList<MagaryTab>;\n @ViewChild('tabHeaders') headersRef!: ElementRef<HTMLElement>;\n @ViewChildren('tabButton') buttonsRef!: QueryList<ElementRef<HTMLElement>>;\n public activeIndex = signal(0);\n public backgroundLine = input<string>('#000');\n public positionContent = input<string>('center');\n public background = input<string>('#fff');\n public padding = input<string>('0');\n public heightLine = input<string>('5px');\n ngOnInit(): void {\n this.activeIndex.set(0);\n this.updateUnderlinePosition(0);\n }\n ngAfterContentInit() {\n const tabsArray = this.tabs.toArray();\n if (tabsArray.length > 0) {\n tabsArray[0].active.set(true);\n }\n }\n public selectTab(index: number) {\n this.tabs.forEach((tab, i) => tab.active.set(i === index));\n this.activeIndex.set(index);\n this.updateUnderlinePosition(index);\n }\n private updateUnderlinePosition(index: number) {\n setTimeout(() => {\n const activeBtn = this.buttonsRef.toArray()[index]?.nativeElement;\n const headersEl = this.headersRef.nativeElement;\n if (activeBtn && headersEl) {\n const left = activeBtn.offsetLeft;\n const width = activeBtn.offsetWidth;\n headersEl.style.setProperty('--underline-left', `${left}px`);\n headersEl.style.setProperty('--underline-width', `${width}px`);\n }\n }, 0);\n }\n}\n","<div class=\"tabs\">\n <div\n class=\"tab-headers\"\n #tabHeaders\n [style.--background-color-line]=\"backgroundLine()\"\n [style.--height-line]=\"heightLine()\"\n >\n @for (tab of tabs.toArray(); track $index) {\n <button\n #tabButton\n (click)=\"selectTab($index)\"\n [class.active]=\"activeIndex() === $index\"\n >\n {{ tab.label() }}\n </button>\n }\n </div>\n <div\n class=\"tab-content\"\n [style.--position-content]=\"positionContent()\"\n [style.--background]=\"background()\"\n [style.--padding]=\"padding()\"\n >\n <ng-content></ng-content>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MagaryTabs } from './tabs';\nimport { MagaryTab } from './tab/tab';\n@NgModule({\n declarations: [],\n imports: [CommonModule, MagaryTabs, MagaryTab],\n exports: [MagaryTabs, MagaryTab],\n})\nexport class TabsModule {}\n","// 🔘 Button //\nexport * from './Button/button/button';\nexport * from './Button/button/button.module';\nexport * from './Button/speed-dial/speed-dial';\nexport * from './Button/speed-dial/speed-dial.module';\n\n// 🗄️ Data //\n// (por ahora vacío)\n\n// 📂 File //\n// (por ahora vacío)\n\n// 📝 Form //\nexport * from './Form/cascade-select/cascade-select';\nexport * from './Form/cascade-select/cascade-select.module';\nexport * from './Form/input/input';\nexport * from './Form/input/input.module';\n\n// 🖼️ Media //\n// (por ahora vacío)\n\n// 📋 Menu //\nexport * from './Menu/panelmenu/panelmenu';\nexport * from './Menu/panelmenu/panelmenu.module';\nexport * from './Menu/sidebar/sidebar';\nexport * from './Menu/sidebar/sidebar.module';\n\n// 💬 Messages //\n// (por ahora vacío)\n\n// 👤 Misc //\nexport * from './Misc/avatar/avatar';\nexport * from './Misc/avatar/avatar.module';\n\n// 🗂️ Overlay //\n// (por ahora vacío)\n\n// 📦 Panel //\nexport * from './Panel/card/card';\nexport * from './Panel/card/card.module';\nexport * from './Panel/tabs/tabs';\nexport * from './Panel/tabs/tabs.module';\nexport * from './Panel/tabs/tab/tab';\n","/*\n * Public API Surface of ng-magary\n */\n\nexport * from './lib/ng-magary';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}