springest 0.0.0-stage → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"springest.mjs","sources":["../../../projects/ui/src/lib/avatar/avatar.component.ts","../../../projects/ui/src/lib/avatar/avatar.component.html","../../../projects/ui/src/lib/button/button.component.ts","../../../projects/ui/src/lib/button/button.component.html","../../../projects/ui/src/lib/controls/form-field/form-field.component.ts","../../../projects/ui/src/lib/controls/form-field/form-field.component.html","../../../projects/ui/src/lib/calendar/calendar.component.ts","../../../projects/ui/src/lib/calendar/calendar.component.html","../../../projects/ui/src/lib/charts/charts.component.ts","../../../projects/ui/src/lib/charts/charts.component.html","../../../projects/ui/src/lib/controls/basic-input/basic-input.component.ts","../../../projects/ui/src/lib/controls/basic-input/basic-input.component.html","../../../projects/ui/src/lib/table/table.component.ts","../../../projects/ui/src/lib/table/table.component.html","../../../projects/ui/src/lib/controls/basic-select/basic-select.component.ts","../../../projects/ui/src/lib/controls/basic-select/basic-select.component.html","../../../projects/ui/src/lib/controls/checkbox/checkbox.component.ts","../../../projects/ui/src/lib/controls/checkbox/checkbox.component.html","../../../projects/ui/src/lib/controls/password-input/password-input.component.ts","../../../projects/ui/src/lib/controls/password-input/password-input.component.html","../../../projects/ui/src/lib/controls/multi-select/multi-select.component.ts","../../../projects/ui/src/lib/controls/multi-select/multi-select.component.html","../../../projects/ui/src/lib/controls/textarea/textarea.component.ts","../../../projects/ui/src/lib/controls/file-picker/file-picker.component.ts","../../../projects/ui/src/lib/controls/toggle/toggle.component.ts","../../../projects/ui/src/lib/controls/segmented-control/segmented-control.component.ts","../../../projects/ui/src/lib/dialog/dialog.component.ts","../../../projects/ui/src/lib/pagination/pagination.component.ts","../../../projects/ui/src/lib/controls/stepper/stepper-step.directive.ts","../../../projects/ui/src/lib/controls/stepper/stepper.component.ts","../../../projects/ui/src/lib/controls/stepper/stepper.component.html","../../../projects/ui/src/lib/toast/toast.service.ts","../../../projects/ui/src/lib/toast/toast.component.ts","../../../projects/ui/src/springest.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, input} from '@angular/core';\nimport {Avatar} from \"primeng/avatar\";\nimport {OverlayBadge} from \"primeng/overlaybadge\";\n\n@Component({\n selector: 'app-avatar',\n standalone: true,\n imports: [\n Avatar,\n OverlayBadge\n ],\n templateUrl: './avatar.component.html',\n styleUrl: './avatar.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AvatarComponent {\n icon = input<string>(\"pi pi-user\");\n className = input<string>();\n size = input<\"normal\" | \"large\" | \"xlarge\">(\"normal\");\n style = input<any>();\n label = input<string>();\n shape = input<\"square\" | \"circle\">(\"circle\");\n iconType = input<string>(\"icon\");\n imageUrl = input<string>();\n overlayBadge = input<boolean>(false);\n}\n","@if (iconType() === 'icon') {\n <p-avatar\n [icon]=\"icon()\"\n [class]=\"className()\"\n [size]=\"size()\"\n [shape]=\"shape()\"\n [label]=\"label()\"\n />\n}\n\n@if (iconType() === 'image' && !overlayBadge()) {\n <p-avatar\n [image]=\"imageUrl()\"\n [class]=\"className()\"\n [size]=\"size()\"\n [shape]=\"shape()\"\n [label]=\"label()\"\n />\n}\n\n@if (iconType() === 'image' && overlayBadge()) {\n <p-overlay-badge value=\"5\" severity=\"danger\" class=\"inline-flex\">\n <p-avatar\n [image]=\"imageUrl()\"\n [class]=\"className()\"\n [size]=\"size()\"\n [shape]=\"shape()\"\n [label]=\"label()\"\n />\n </p-overlay-badge>\n}\n","import {ChangeDetectionStrategy, Component, computed, input} from '@angular/core';\nimport {ButtonModule} from \"primeng/button\";\n\nexport type ButtonType = 'button' | 'submit';\nexport type ButtonSizeType = \"small\" | \"large\";\nexport type ButtonIconPosition = 'left' | 'right' | 'top' | 'bottom';\nexport type badgeSeverityType = 'info' | 'success' | 'warn' | 'danger' | 'secondary' | 'contrast' | 'help' | 'primary';\n\n@Component({\n selector: 'app-button',\n imports: [ButtonModule],\n templateUrl: './button.component.html',\n styleUrl: './button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ButtonComponent {\n readonly type = input<ButtonType>('button');\n readonly className = input<string>();\n readonly style = input<Record<string, string | number>>();\n readonly label = input<string>();\n readonly iconPos = input<ButtonIconPosition>('left');\n readonly styleClass = input<string>();\n readonly icon = input<string>();\n readonly disabled = input<boolean>(false);\n readonly rounded = input<boolean>(false);\n readonly badgeSeverity = input<badgeSeverityType>('warn');\n readonly size = input<ButtonSizeType>('small');\n readonly loading = input<boolean>(false);\n readonly aria = input<Record<string, string | number | boolean>>({});\n readonly passThrough = computed(() => ({root: {...this.aria(), 'aria-busy': this.loading() ? 'true' : undefined}}));\n}\n","<div class=\"default-button\" [class.default-button_vertical]=\"iconPos() === 'top' || iconPos() === 'bottom'\">\n <p-button\n [class]=\"className()\"\n [type]=\"type()\"\n [label]=\"label()\"\n [style]=\"style()\"\n [disabled]=\"disabled() || loading()\"\n [loading]=\"loading()\"\n [rounded]=\"rounded()\"\n [pt]=\"passThrough()\"\n [icon]=\"icon()\"\n [size]=\"size()\"\n [iconPos]=\"iconPos()\"\n [styleClass]=\"styleClass()\"\n [badgeSeverity]=\"badgeSeverity()\"\n >\n <span class=\"default-button__content\" [style.order]=\"iconPos() === 'left' || iconPos() === 'top' ? 1 : -1\"><ng-content></ng-content></span>\n </p-button>\n</div>\n","import {ChangeDetectionStrategy, Component, computed, effect, inject, input, signal} from '@angular/core';\nimport {AbstractControl} from '@angular/forms';\nimport {TranslateService} from '@ngx-translate/core';\n\nexport type FieldErrorMessages = Record<string, string | ((error: Record<string, unknown>) => string)>;\ntype FieldError = Record<string, unknown> & {kind?: string; message?: string};\ntype SignalFieldState = {invalid: () => boolean; touched: () => boolean; errors: () => readonly FieldError[]};\nlet nextFieldId = 0;\n\n@Component({\n selector: 'app-form-field',\n templateUrl: './form-field.component.html',\n styleUrl: './form-field.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormFieldComponent {\n private readonly controlRevision = signal(0);\n private readonly translate = inject(TranslateService, {optional: true});\n readonly label = input<string>();\n readonly required = input(false);\n readonly isInline = input(true);\n readonly showLabel = input(false);\n readonly field = input.required<unknown>();\n readonly patternError = input<string>();\n readonly submitted = input(false);\n readonly errorMessages = input<FieldErrorMessages>({});\n readonly controlId = input(`springest-field-${++nextFieldId}`);\n readonly labelId = computed(() => `${this.controlId()}-label`);\n readonly errorId = computed(() => `${this.controlId()}-error`);\n\n constructor() {\n effect(onCleanup => {\n const control = this.field();\n if (control instanceof AbstractControl) {\n const subscription = control.events.subscribe(() => this.controlRevision.update(revision => revision + 1));\n onCleanup(() => subscription.unsubscribe());\n }\n });\n }\n\n hasError(): boolean {\n this.controlRevision();\n const control = this.field();\n if (control instanceof AbstractControl) return control.invalid && (control.touched || this.submitted());\n const state = this.getSignalFieldState(control);\n return !!state && state.invalid() && (state.touched() || this.submitted());\n }\n\n get errorKey(): string | null {\n this.controlRevision();\n const control = this.field();\n if (control instanceof AbstractControl) return Object.keys(control.errors ?? {})[0] ?? null;\n const kind = this.getSignalFieldState(control)?.errors()[0]?.kind;\n return kind === 'minLength' ? 'minlength' : kind === 'maxLength' ? 'maxlength' : kind ?? null;\n }\n\n get errorValue(): unknown {\n this.controlRevision();\n const control = this.field();\n return control instanceof AbstractControl\n ? control.errors?.[this.errorKey ?? '']\n : this.getSignalFieldState(control)?.errors()[0];\n }\n\n get errorMessage(): string {\n const key = this.errorKey;\n if (!key) return '';\n const data = this.errorValue;\n const error: FieldError = data && typeof data === 'object' ? data as FieldError : {};\n const override = this.errorMessages()[error.kind ?? key] ?? this.errorMessages()[key];\n if (override !== undefined) return typeof override === 'function' ? override(error) : override;\n if (error.message) return error.message;\n switch (key) {\n case 'required': {\n const translated = this.translate?.instant('ERRORS.FIELD_REQUIRED');\n return translated && translated !== 'ERRORS.FIELD_REQUIRED' ? translated : 'Required field';\n }\n case 'email': return 'Invalid email';\n case 'minlength': return `At least ${error.minLength ?? error.requiredLength} characters`;\n case 'maxlength': return `No more than ${error.maxLength ?? error.requiredLength} characters`;\n case 'min': return `Minimum ${error.min}`;\n case 'max': return `Maximum ${error.max}`;\n case 'pattern': return this.patternError() ?? 'Pattern does not match';\n case 'parse': return 'Invalid value';\n default: return typeof data === 'string' ? data : 'Invalid value';\n }\n }\n\n describedBy(existing?: string): string | undefined {\n return [...new Set([...(existing?.split(/\\s+/).filter(Boolean) ?? []), ...(this.hasError() ? [this.errorId()] : [])])].join(' ') || undefined;\n }\n\n labelledBy(existing?: string): string | undefined {\n return [...new Set([...(existing?.split(/\\s+/).filter(Boolean) ?? []), ...(this.showLabel() && this.label() ? [this.labelId()] : [])])].join(' ') || undefined;\n }\n\n private getSignalFieldState(value: unknown): SignalFieldState | null {\n const candidate = typeof value === 'function' ? value() : value;\n if (!candidate || typeof candidate !== 'object') return null;\n const state = candidate as Partial<SignalFieldState>;\n return typeof state.invalid === 'function' && typeof state.touched === 'function' && typeof state.errors === 'function'\n ? state as SignalFieldState : null;\n }\n}\r\n","<div class=\"form-field\" [class.form-field_error]=\"hasError()\" [class.form-field_inline]=\"isInline()\">\n @if (showLabel()) {\n <label class=\"form-field__label\" [id]=\"labelId()\" [for]=\"controlId()\">\n <span class=\"form-field__label-text\">{{ label() }}</span>\n @if (required()) { <span class=\"form-field__req\" aria-hidden=\"true\">*</span> }\n </label>\n }\n <div class=\"form-field__control\">\n <ng-content></ng-content>\n @if (hasError()) {\n <div class=\"form-field__error\" [id]=\"errorId()\" aria-live=\"polite\">{{ errorMessage }}</div>\n }\n </div>\n</div>\r\n","import {ChangeDetectionStrategy, Component, computed, inject, input, model, output} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {FormValueControl} from '@angular/forms/signals';\nimport {DatePickerModule} from 'primeng/datepicker';\nimport {FloatLabelModule} from 'primeng/floatlabel';\n\nimport {FormFieldComponent} from '../controls/form-field/form-field.component';\n\nlet nextId = 0;\n\n@Component({\n selector: 'global-calendar',\n templateUrl: './calendar.component.html',\n styleUrls: ['./calendar.component.scss'],\n imports: [DatePickerModule, FloatLabelModule, FormsModule],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CalendarComponent implements FormValueControl<Date | null> {\n\n protected readonly formField = inject(FormFieldComponent, {optional: true});\n public readonly readonly = input<boolean>(false);\n public readonly inputId = input<string>(`app-calendar-${++nextId}`);\n public readonly ariaLabel = input<string>();\n public readonly ariaLabelledBy = input<string>();\n public readonly ariaDescribedBy = input<string>();\n public readonly ariaInvalid = input<boolean>(false);\n protected readonly effectiveId = computed(() => this.formField?.controlId() ?? this.inputId());\n protected readonly labelledBy = computed(() => this.formField?.labelledBy(this.ariaLabelledBy()) ?? this.ariaLabelledBy());\n protected readonly inputAria = computed(() => ({\n 'aria-describedby': this.formField?.describedBy(this.ariaDescribedBy()) ?? this.ariaDescribedBy(),\n 'aria-invalid': this.formField ? this.formField.hasError() : this.ariaInvalid()\n }));\n protected readonly passThrough = computed(() => ({pcInputText: {root: this.inputAria()}}));\n\n\n public placeholder = input<string>();\n public maxDate = input<Date>();\n public minDate = input<Date>();\n public disabled = input<boolean>(false);\n public touched = model<boolean>(false);\n public value = model<Date | null>(null);\n public changed = output<Date | null>();\n public closed = output<void>();\n\n onChanged(event: Date | null): void {\n this.value.set(event);\n this.changed.emit(event);\n }\n\n onClosed(): void {\n this.touched.set(true);\n this.closed.emit();\n }\n}","<div class=\"app-calendar input-group input-group-sm\">\n <p-floatlabel variant=\"on\">\n <p-datepicker\n [ngModel]=\"value()\"\n (ngModelChange)=\"onChanged($event)\"\n [inputId]=\"effectiveId()\"\n [readonlyInput]=\"readonly()\"\n [showOnFocus]=\"!readonly()\"\n [ariaLabel]=\"ariaLabel()\"\n [ariaLabelledBy]=\"labelledBy()\"\n [pt]=\"passThrough()\"\n showIcon\n iconDisplay=\"input\"\n [minDate]=\"minDate()\"\n [maxDate]=\"maxDate()\"\n [disabled]=\"disabled() || readonly()\"\n (onBlur)=\"onClosed()\"\n ></p-datepicker>\n <label [for]=\"effectiveId()\">{{ placeholder() || 'On Label' }}</label>\n </p-floatlabel>\n</div>\n","import {ChangeDetectionStrategy, Component, input} from '@angular/core';\nimport {UIChart} from \"primeng/chart\";\nimport {ChartData} from '../types';\nimport {ChartOptionsInput} from './interface/chart-options.interface';\n\n@Component({\n selector: 'app-charts',\n imports: [\n UIChart\n ],\n templateUrl: './charts.component.html',\n styleUrl: './charts.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ChartsComponent {\n readonly data = input<ChartData | null>(null);\n readonly options = input<ChartOptionsInput | null>(null);\n}\n","<div class=\"card flex justify-center\">\n <p-chart type=\"pie\"\n [data]=\"data()\"\n [options]=\"options()\"\n class=\"w-full md:w-[30rem]\"\n />\n</div>\n","import {ChangeDetectionStrategy, Component, computed, inject, input, model, output} from '@angular/core';\nimport {InputTextModule} from 'primeng/inputtext';\nimport {FloatLabel} from \"primeng/floatlabel\";\nimport {FormValueControl} from \"@angular/forms/signals\";\nimport {FormFieldComponent} from '../form-field/form-field.component';\n\nlet nextInputId = 0;\n\n@Component({\n selector: 'app-basic-input',\n standalone: true,\n imports: [InputTextModule, FloatLabel],\n templateUrl: './basic-input.component.html',\n styleUrl: './basic-input.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BasicInputComponent<T extends string | number | null = string> implements FormValueControl<T> {\n readonly formField = inject(FormFieldComponent, {optional: true});\n readonly placeholder = input<string>(\"Input some text...\");\n readonly labelType = input<string>(\"in_label\");\n readonly isDisabled = input<boolean>(false);\n readonly type = input<'text' | 'email' | 'search' | 'number'>('text');\n readonly min = input<number>();\n readonly max = input<number>();\n readonly step = input<number | 'any'>();\n readonly readonly = input(false);\n readonly disabled = input(false);\n readonly autocomplete = input<string>();\n readonly lang = input<string>();\n readonly spellcheck = input<boolean>();\n readonly inputId = input(`springest-input-${++nextInputId}`);\n readonly label = input<string>();\n readonly ariaLabel = input<string>();\n readonly ariaLabelledBy = input<string>();\n readonly ariaDescribedBy = input<string>();\n readonly ariaInvalid = input<boolean | string>();\n readonly effectiveId = computed(() => this.formField?.controlId() ?? this.inputId());\n readonly value = model<T>('' as T);\n readonly touched = model<boolean>(false);\n readonly changed = output<T>();\n\n onInput(event: Event): void {\n const field = event.target as HTMLInputElement;\n const value = (this.type() === 'number' ? (Number.isFinite(field.valueAsNumber) ? field.valueAsNumber : null) : field.value) as T;\n this.value.set(value);\n this.changed.emit(value);\n }\n\n onKeyup(event: Event): void { this.onInput(event); }\n\n onBlur(): void {\n this.touched.set(true);\n }\n}\n","<div class=\"basic-input\">\n <p-floatlabel>\n <input\n [type]=\"type()\"\n pInputText\n class=\"app-input\"\n [id]=\"effectiveId()\"\n [disabled]=\"isDisabled() || disabled()\"\n [readOnly]=\"readonly()\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [attr.step]=\"step()\"\n [attr.autocomplete]=\"autocomplete()\"\n [attr.lang]=\"lang()\"\n [attr.spellcheck]=\"spellcheck()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"formField ? formField.labelledBy(ariaLabelledBy()) : ariaLabelledBy()\"\n [attr.aria-describedby]=\"formField ? formField.describedBy(ariaDescribedBy()) : ariaDescribedBy()\"\n [attr.aria-invalid]=\"formField ? formField.hasError() : ariaInvalid()\"\n (input)=\"onInput($event)\"\n (blur)=\"onBlur()\"\n [value]=\"value()\"\n />\n <label [for]=\"effectiveId()\">{{label() ?? placeholder()}}</label>\n </p-floatlabel>\n</div>\n\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n ContentChild, effect,\n input,\n output,\n signal,\n TemplateRef,\n ViewChild\n} from '@angular/core';\nimport {Table, TableModule} from \"primeng/table\";\nimport {TranslateModule} from \"@ngx-translate/core\";\nimport {DatePipe, NgTemplateOutlet} from \"@angular/common\";\nimport {ButtonComponent} from '../button/button.component';\nimport {SortEvent} from \"primeng/api\";\nimport {FormFieldComponent} from '../controls/form-field/form-field.component';\nimport {BasicInputComponent} from '../controls/basic-input/basic-input.component';\nimport {FormField, form, required} from \"@angular/forms/signals\";\n\ntype ColumnType =\n | 'datetime' | 'date' | 'date-mes' | 'date-reverse'\n | 'icon' | 'decimal' | 'clickable' | 'number' | 'text' | 'especial';\n\nexport interface TableColumn {\n field: string;\n header: string;\n width?: string;\n minWidth?: string;\n textAlign?: 'left' | 'center' | 'right';\n type: ColumnType;\n visible?: boolean;\n modificable?: boolean;\n}\n\ninterface IOutputRow {\n row: any[],\n rowIndex: number\n}\n\nexport interface TableRowUpdateEvent {\n data: TableRow;\n field: string;\n newValue: any;\n}\n\nexport interface TableRowSelectEvent {\n data?: TableRow | TableRow[];\n index?: number;\n}\n\nexport interface TableRow {\n [key: string]: any;\n _editing?: boolean;\n _originalData?: any;\n}\n\n@Component({\n selector: 'app-table',\n standalone: true,\n imports: [\n TableModule,\n TranslateModule,\n NgTemplateOutlet,\n DatePipe,\n ButtonComponent,\n FormFieldComponent,\n BasicInputComponent,\n FormField\n ],\n templateUrl: './table.component.html',\n styleUrl: './table.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TableComponent {\n\n rows = 10;\n private currentlyEditingRow: TableRow | null = null;\n private readonly originalByRow = new WeakMap<TableRow, Partial<TableRow>>();\n\n // Local signal to track the index of the currently editing row\n private editingRowIndex = signal<number | null>(null);\n\n dataSource = input<TableRow[]>([]);\n\n // Computed signal that enriches data with _editing flag without mutating input\n enrichedDataSource = computed(() => {\n const data = this.dataSource();\n const editIndex = this.editingRowIndex();\n\n if (editIndex === null) {\n return data;\n }\n\n return data.map((row, index) => ({\n ...row,\n _editing: index === editIndex\n }));\n });\n dataSourceColumns = input<TableColumn[]>([]);\n iconColor = input<string>('');\n iconClass = input<string>('');\n msgTooltip = input<string>('');\n paginator = input<boolean>(false);\n selectionMode = input<\"single\" | \"multiple\" | undefined | null>(null);\n scrollable = input<boolean>(true);\n metaKeySelection = input<boolean>();\n resizableColumns = input<boolean>(false);\n selectedRowValue = input<null | any[]>();\n showIconSort = input<boolean>(true);\n showRowActions = input<boolean>(true);\n showIconCondition = input<boolean>(false);\n showFilterCondition = input<string>();\n editableFieldName = input<string>(); // Optional: explicitly specify which field is editable\n customSortFun = false;\n editModel = signal({inputValue: ''});\n initialForm = form(this.editModel, (p) => {\n required(p.inputValue);\n });\n\n //outputs\n selectRow = output<{ row: TableRow, rowIndex: number }>();\n unselectRow = output<null>();\n cellEdit = output<any>();\n rowUpdate = output<TableRowUpdateEvent>();\n\n @ViewChild('table') table!: Table;\n @ContentChild('customCellTemplate') customCellTemplate: TemplateRef<any> | undefined;\n\n constructor(private readonly cd: ChangeDetectorRef) {\n effect(() => {\n const ds = this.enrichedDataSource();\n if (ds?.length && this.table) {\n this.table.first = 0;\n }\n });\n }\n\n public onSelectedRow(event: TableRowSelectEvent): void {\n if (!event.data || Array.isArray(event.data) || event.index === undefined) return;\n this.selectRow.emit({row: event.data, rowIndex: event.index});\n }\n\n onRowUnselect(): void {\n this.unselectRow.emit(null);\n }\n\n onCustomSort(event: SortEvent): void {\n const { data, field, order } = event;\n if (!field) return;\n\n const col = this.dataSourceColumns().find(c => c.field === field);\n if (!col) return;\n\n if (!data) return;\n\n data.sort((a: TableRow, b: TableRow) => {\n const av = a[field];\n const bv = b[field];\n\n if (this.isDateType(col.type)) {\n const ad = new Date(av);\n const bd = new Date(bv);\n return (ad.getTime() - bd.getTime()) * (order ?? 1);\n }\n if (typeof av === 'number' && typeof bv === 'number') {\n return (av - bv) * (order ?? 1);\n }\n return String(av).localeCompare(String(bv)) * (order ?? 1);\n });\n }\n\n private takeSnapshot(row: TableRow): void {\n const snap: Partial<TableRow> = {};\n (this.dataSourceColumns() || [])\n .filter(c => c && c.modificable)\n .forEach(c => snap[c.field] = row[c.field]);\n this.originalByRow.set(row, snap);\n }\n\n private revertFromSnapshot(row: TableRow): void {\n const snap = this.originalByRow.get(row);\n if (snap) {\n Object.keys(snap).forEach(k => row[k] = snap[k]);\n this.originalByRow.delete(row);\n }\n }\n\n /**\n * Determines the field name to edit.\n * Priority: 1) explicit editableFieldName input, 2) first modificable column\n */\n private getEditableField(): string | null {\n // First, check if editableFieldName is explicitly provided\n const explicitField = this.editableFieldName();\n if (explicitField) {\n return explicitField;\n }\n\n // Otherwise, find the first modificable column\n const modificableCol = this.dataSourceColumns().find(col => col.modificable);\n return modificableCol?.field ?? null;\n }\n\n /**\n * Determines if a column type is a date type\n */\n private isDateType(type: ColumnType): boolean {\n return type === 'date' || type === 'datetime' || type === 'date-mes' || type === 'date-reverse';\n }\n\n /**\n * Determines if a column should use custom cell template\n */\n shouldUseCustomCell(col: TableColumn): boolean {\n return this.isDateType(col.type)\n || col.type === 'icon'\n || col.type === 'decimal'\n || col.type === 'clickable';\n }\n\n public startEdit(row: TableRow, rowIndex: number): void {\n // Dynamically get the editable field instead of hardcoding 'Valor'\n const editableField = this.getEditableField();\n if (!editableField) {\n console.warn('No editable field found. Make sure at least one column has modificable: true or provide editableFieldName input.');\n return;\n }\n\n this.editModel.set({inputValue: String(row[editableField] ?? '')});\n\n // If another row was being edited, revert its changes\n if (this.currentlyEditingRow && this.currentlyEditingRow !== row) {\n this.revertFromSnapshot(this.currentlyEditingRow);\n }\n\n // Update the editing index signal (no mutation of input data)\n this.editingRowIndex.set(rowIndex);\n this.takeSnapshot(row);\n this.currentlyEditingRow = row;\n\n this.cd.markForCheck();\n }\n\n public confirmEdit(row: TableRow): void {\n const editableField = this.getEditableField();\n if (!editableField) {\n console.warn('No editable field found.');\n return;\n }\n\n // Clear the editing state\n this.editingRowIndex.set(null);\n this.originalByRow.delete(row);\n this.currentlyEditingRow = null;\n\n this.rowUpdate.emit({\n data: row,\n field: editableField,\n newValue: this.editModel().inputValue,\n });\n }\n\n public cancelEdit(row: TableRow): void {\n const snap = this.originalByRow.get(row);\n if (snap) {\n Object.keys(snap).forEach(k => row[k] = snap[k]);\n this.originalByRow.delete(row);\n }\n\n // Clear the editing state\n this.editingRowIndex.set(null);\n this.currentlyEditingRow = null;\n this.cd.markForCheck();\n }\n\n}\n","<p-table #table class=\"custom-table\"\n [columns]=\"dataSourceColumns()\"\n [value]=\"enrichedDataSource()\"\n [paginator]=\"paginator()\"\n [scrollable]=\"scrollable()\"\n [resizableColumns]=\"resizableColumns()\"\n [selection]=\"selectedRowValue()\"\n [selectionMode]=\"selectionMode()\"\n [customSort]=\"customSortFun\"\n [rowsPerPageOptions]=\"[10, 25, 100]\"\n (onRowSelect)=\"onSelectedRow($event)\"\n (onRowUnselect)=\"onRowUnselect()\"\n (onSort)=\"onCustomSort($event)\"\n [rows]=\"rows\">\n <ng-template #header let-columns pTemplate=\"header\">\n <tr >\n @for (col of columns; track $index) {\n <th pResizableColumn\n [pSortableColumn]=\"col.field\"\n [hidden]=\"!col.visible\"\n [style]=\"{'min-width': col.minWidth || '100px', 'width': col.width, 'text-align': col.textAlign}\"\n scope=\"col\"\n >\n {{ col.header | translate }}\n @if (showIconSort() && col.field !== showFilterCondition) {\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\n }\n </th>\n }\n\n @if (showRowActions()) {\n <th\n scope=\"col\"\n [attr.id]=\"'actions-col'\"\n [style]=\"{ width: '7%' }\"\n >\n <span class=\"sr-only\">\n {{ 'Action' | translate }}\n </span>\n </th>\n }\n </tr>\n </ng-template>\n <ng-template #body let-rowData let-rowIndex=\"rowIndex\" let-columns=\"columns\" pTemplate=\"body\">\n <tr [pSelectableRow]=\"rowData\"\n [pSelectableRowIndex]=\"rowIndex\"\n >\n @for (col of columns; track $index) {\n <td [style]=\"{'min-width': col.minWidth || '100px', 'width': col.width, 'text-align': col.textAlign}\"\n [hidden]=\"!col.visible\"\n >\n @if (customCellTemplate && col.type === 'especial') {\n <ng-container\n *ngTemplateOutlet=\"customCellTemplate; context: { $implicit: rowData, col: col }\"></ng-container>\n } @else {\n @if (rowData._editing && col.modificable) {\n\n <form (keydown.enter)=\"confirmEdit(rowData)\">\n <app-form-field\n [required]=\"true\"\n [field]=\"initialForm.inputValue\">\n <app-basic-input\n [placeholder]=\"''\"\n [formField]=\"initialForm.inputValue\"\n ></app-basic-input>\n </app-form-field>\n </form>\n\n } @else {\n <ng-container *ngTemplateOutlet=\"\n shouldUseCustomCell(col)\n ? customCell\n : defaultCell;\n context: { $implicit: rowData, col: col }\n \"></ng-container>\n }\n }\n </td>\n }\n\n @if (showRowActions()) {\n <td class=\"action-cell\"\n [attr.headers]=\"'actions-col'\"\n >\n <div class=\"button-cell\">\n @if (!rowData._editing) {\n <app-button (click)=\"startEdit(rowData, rowIndex)\"\n [iconPos]=\"'left'\"\n [icon]=\"'pi pi-pencil'\"\n [disabled]=\"rowData._editing\"\n ></app-button>\n }\n\n @if (rowData._editing) {\n <app-button (click)=\"confirmEdit(rowData)\"\n [iconPos]=\"'left'\"\n [icon]=\"'pi pi-check'\"\n ></app-button>\n <app-button\n (click)=\"cancelEdit(rowData)\"\n [iconPos]=\"'left'\"\n [icon]=\"'pi pi-times'\"\n ></app-button>\n }\n </div>\n </td>\n }\n </tr>\n </ng-template>\n\n <ng-template #customCell let-rowData=\"$implicit\" let-col=\"col\">\n @switch (col.type) {\n @case ('datetime') {\n <span>{{ rowData[col.field] | date:'dd-MM-yyyy HH:mm' }}</span>\n }\n @case ('date-mes') {\n <span>{{ rowData[col.field] | date:'MM-yyyy' }}</span>\n }\n @case ('date') {\n <span>{{ rowData[col.field] }}</span>\n }\n @case ('date-reverse') {\n <span>{{ rowData[col.field] | date:'YYYY-MM-DD' }}</span>\n }\n @case ('decimal') {\n <span>{{ rowData[col.field] }}</span>\n }\n @case ('icon') {\n @if (rowData[col.field] === showIconCondition()) {\n <div>\n <div class=\"tooltip-wrapper\">\n <em [class]=\"iconClass()\"\n [style]=\"{ color: iconColor() }\"></em>\n <span class=\"tooltip-text\">{{ rowData.ToolTipMsg || msgTooltip | translate }}</span>\n </div>\n </div>\n }\n }\n @case ('clickable') {\n <span class=\"clickable\" (click)=\"startEdit(rowData, col.rowIndex)\">{{ rowData[col.field] }}</span>\n }\n }\n </ng-template>\n\n <ng-template #defaultCell let-rowData=\"$implicit\" let-col=\"col\">\n @if (rowData !== null) {\n <span>{{ rowData[col.field] }}</span>\n }\n </ng-template>\n</p-table>\n","import {ChangeDetectionStrategy, Component, computed, inject, input, linkedSignal, model, output} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {FormValueControl} from '@angular/forms/signals';\nimport {FloatLabel} from 'primeng/floatlabel';\nimport {Select, SelectChangeEvent} from 'primeng/select';\n\nimport {FormFieldComponent} from '../form-field/form-field.component';\n\nlet nextId = 0;\n\n@Component({\n selector: 'app-basic-select',\n imports: [\n Select,\n FormsModule,\n FloatLabel\n ],\n templateUrl: './basic-select.component.html',\n styleUrl: './basic-select.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BasicSelectComponent implements FormValueControl<unknown | null> {\n\n protected readonly formField = inject(FormFieldComponent, {optional: true});\n public readonly readonly = input<boolean>(false);\n public readonly inputId = input<string>(`app-select-${++nextId}`);\n public readonly ariaLabel = input<string>();\n public readonly ariaLabelledBy = input<string>();\n public readonly ariaDescribedBy = input<string>();\n public readonly ariaInvalid = input<boolean>(false);\n protected readonly effectiveId = computed(() => this.formField?.controlId() ?? this.inputId());\n protected readonly labelledBy = computed(() => this.formField?.labelledBy(this.ariaLabelledBy()) ?? this.ariaLabelledBy());\n protected readonly inputAria = computed(() => ({\n 'aria-describedby': this.formField?.describedBy(this.ariaDescribedBy()) ?? this.ariaDescribedBy(),\n 'aria-invalid': this.formField ? this.formField.hasError() : this.ariaInvalid()\n }));\n protected readonly passThrough = computed(() => ({label: this.inputAria()}));\n\n public readonly items = input<unknown[]>();\n public readonly class = input<string>();\n public readonly disabledValue = input<unknown[]>([]);\n public readonly placeholder = input<string>('Select sum items...');\n public readonly lengthTextSelected = input<number>(20);\n public readonly filter = input<boolean>(false);\n public readonly emptyOption = input<boolean>(false);\n public readonly showClear = input<boolean>();\n public readonly withIcons = input<boolean>(false);\n public readonly resetFilterOnHide = input<boolean>(true);\n public readonly nullOrZero = input<number | null>(null);\n public readonly labelType = input<string>('in_label');\n public readonly showIcon = input<boolean>(false);\n public readonly optionLabel = input<string>('name');\n public readonly optionValue = input<string>();\n public readonly changed = output<unknown | null>();\n public readonly showClearState = linkedSignal(() => this.showClear());\n public readonly isDisabled = input<boolean>(false);\n public readonly disabled = input<boolean>(false);\n public readonly value = model<unknown | null>(null);\n public readonly touched = model<boolean>(false);\n public readonly closed = output<void>();\n\n onChanged({value}: SelectChangeEvent): void {\n if (this.isDisabled() || this.disabled() || this.readonly()) return;\n this.value.set(value);\n this.changed.emit(value);\n }\n\n onClosed(): void {\n this.touched.set(true);\n this.closed.emit();\n }\n}\n","<div class=\"select_wrapper\" [class.select_disabled]=\"isDisabled() || disabled() || readonly()\">\n <p-floatlabel>\n <p-select\n class=\"select\"\n [options]=\"items()\"\n [disabled]=\"isDisabled() || disabled() || readonly()\"\n [readonly]=\"readonly()\"\n [inputId]=\"effectiveId()\"\n [ariaLabel]=\"ariaLabel()\"\n [ariaLabelledBy]=\"labelledBy()\"\n [pt]=\"passThrough()\"\n [placeholder]=\"placeholder()\"\n [resetFilterOnHide]=\"resetFilterOnHide()\"\n [filter]=\"filter()\"\n [showClear]=\"showClearState()\"\n [optionLabel]=\"optionLabel()\"\n [optionValue]=\"optionValue()\"\n [ngModel]=\"value()\"\n (onChange)=\"onChanged($event)\"\n (onBlur)=\"touched.set(true)\"\n (onHide)=\"onClosed()\">\n @if (showIcon()) {\n <ng-template #selectedItem let-selectedOption>\n <div class=\"flex items-center gap-2\">\n <img src=\"https://primefaces.org/cdn/primeng/images/demo/flag/flag_placeholder.png\"\n [class]=\"'flag flag-' + value()\" style=\"width: 18px\" alt=\"\"/>\n <div>{{ selectedOption.name }}</div>\n </div>\n </ng-template>\n <ng-template let-country #item>\n <div class=\"flex items-center gap-2\">\n <img src=\"https://primefaces.org/cdn/primeng/images/demo/flag/flag_placeholder.png\"\n [class]=\"'flag flag-' + country.code.toLowerCase()\" style=\"width: 18px\" alt=\"\"/>\n <div>{{ country.name }}</div>\n </div>\n </ng-template>\n }\n </p-select>\n <label [for]=\"effectiveId()\">{{placeholder()}}</label>\n </p-floatlabel>\n</div>\n","import {ChangeDetectionStrategy, Component, computed, inject, input, model, output} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {FormValueControl} from '@angular/forms/signals';\nimport {CheckboxModule} from 'primeng/checkbox';\n\nimport {FormFieldComponent} from '../form-field/form-field.component';\n\nlet nextId = 0;\n\n@Component({\n selector: 'app-checkbox',\n standalone: true,\n imports: [CheckboxModule, FormsModule],\n templateUrl: './checkbox.component.html',\n styleUrl: './checkbox.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CheckboxComponent implements FormValueControl<boolean> {\n\n protected readonly formField = inject(FormFieldComponent, {optional: true});\n public readonly inputId = input<string>(`app-checkbox-${++nextId}`);\n public readonly ariaLabel = input<string>();\n public readonly ariaLabelledBy = input<string>();\n public readonly ariaDescribedBy = input<string>();\n public readonly ariaInvalid = input<boolean>(false);\n protected readonly effectiveId = computed(() => this.formField?.controlId() ?? this.inputId());\n protected readonly labelledBy = computed(() => this.formField?.labelledBy(this.ariaLabelledBy()) ?? this.ariaLabelledBy());\n protected readonly inputAria = computed(() => ({\n 'aria-describedby': this.formField?.describedBy(this.ariaDescribedBy()) ?? this.ariaDescribedBy(),\n 'aria-invalid': this.formField ? this.formField.hasError() : this.ariaInvalid()\n }));\n protected readonly passThrough = computed(() => ({input: this.inputAria()}));\n\n public label = input<string>('');\n public binary = input<boolean>(true);\n public disabled = input<boolean>(false);\n public readonly = input<boolean>(false);\n public value = model<boolean>(false);\n public touched = model<boolean>(false);\n public changed = output<boolean>();\n\n onValueChange(checked: boolean): void {\n this.value.set(checked);\n this.changed.emit(checked);\n }\n\n onBlur(): void {\n this.touched.set(true);\n }\n}","<div class=\"checkbox-wrapper\">\n <p-checkbox\n [ngModel]=\"value()\"\n [binary]=\"binary()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n [inputId]=\"effectiveId()\"\n [ariaLabel]=\"ariaLabel()\"\n [ariaLabelledBy]=\"labelledBy()\"\n [pt]=\"passThrough()\"\n (ngModelChange)=\"onValueChange($event)\"\n (onBlur)=\"onBlur()\"\n />\n @if (label()) {\n <label class=\"checkbox-label\" [for]=\"effectiveId()\">{{ label() }}</label>\n }\n</div>\n","import {ChangeDetectionStrategy, Component, computed, inject, input, model, output} from '@angular/core';\nimport {FloatLabel} from \"primeng/floatlabel\";\nimport {FormsModule} from \"@angular/forms\";\nimport {Password} from \"primeng/password\";\nimport {FormValueControl} from \"@angular/forms/signals\";\n\nimport {FormFieldComponent} from '../form-field/form-field.component';\n\nlet nextId = 0;\n\n@Component({\n selector: 'app-password-input',\n standalone: true,\n imports: [\n FloatLabel,\n Password,\n FormsModule\n ],\n templateUrl: './password-input.component.html',\n styleUrl: './password-input.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PasswordInputComponent implements FormValueControl<string> {\n\n protected readonly formField = inject(FormFieldComponent, {optional: true});\n public readonly readonly = input<boolean>(false);\n public readonly inputId = input<string>(`app-password-${++nextId}`);\n public readonly ariaLabel = input<string>();\n public readonly ariaLabelledBy = input<string>();\n public readonly ariaDescribedBy = input<string>();\n public readonly ariaInvalid = input<boolean>(false);\n protected readonly effectiveId = computed(() => this.formField?.controlId() ?? this.inputId());\n protected readonly labelledBy = computed(() => this.formField?.labelledBy(this.ariaLabelledBy()) ?? this.ariaLabelledBy());\n protected readonly inputAria = computed(() => ({\n 'aria-describedby': this.formField?.describedBy(this.ariaDescribedBy()) ?? this.ariaDescribedBy(),\n 'aria-invalid': this.formField ? this.formField.hasError() : this.ariaInvalid()\n }));\n protected readonly passThrough = computed(() => ({pcInputText: {root: {...this.inputAria(), readonly: this.readonly() ? '' : undefined}}}));\n\n public placeholder = input<string>(\"Input your password...\");\n public labelType = input<string>(\"in_label\");\n public toggleMask = input<boolean>(true);\n public feedback = input<boolean>(false);\n public isDisabled = input<boolean>(false);\n public readonly disabled = input<boolean>(false);\n public value = model<string>('');\n public touched = model<boolean>(false);\n public changed = output<string>();\n\n onInput(event: Event): void {\n const value = (event.target as HTMLInputElement).value;\n this.value.set(value);\n this.changed.emit(value);\n }\n\n onBlur(): void {\n this.touched.set(true);\n }\n}\n","<div class=\"password-wrapper\">\n <p-floatlabel>\n <p-password\n type=\"text\"\n class=\"password-input\"\n [disabled]=\"isDisabled() || disabled()\"\n [pt]=\"passThrough()\"\n (input)=\"onInput($event)\"\n (onBlur)=\"onBlur()\"\n [inputId]=\"effectiveId()\"\n [ariaLabel]=\"ariaLabel()\"\n [ariaLabelledBy]=\"labelledBy()\"\n [ngModel]=\"value()\"\n [feedback]=\"feedback()\"\n [toggleMask]=\"toggleMask()\"\n />\n <label [for]=\"effectiveId()\">{{ placeholder() }}</label>\n </p-floatlabel>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n inject,\n input,\n model,\n output\n} from '@angular/core';\nimport {MultiSelect, MultiSelectPassThrough} from \"primeng/multiselect\";\nimport {PassThroughOption} from 'primeng/api';\nimport {FormControl, ReactiveFormsModule} from \"@angular/forms\";\nimport {FormValueControl} from \"@angular/forms/signals\";\nimport {ControlItemInterface, Value} from '../../types';\n\nimport {FormFieldComponent} from '../form-field/form-field.component';\n\nlet nextId = 0;\n\n@Component({\n selector: 'app-multi-select',\n standalone: true,\n imports: [MultiSelect, ReactiveFormsModule],\n templateUrl: './multi-select.component.html',\n styleUrl: './multi-select.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MultiSelectComponent implements FormValueControl<Value[]> {\n\n protected readonly formField = inject(FormFieldComponent, {optional: true});\n public readonly readonly = input<boolean>(false);\n public readonly inputId = input<string>(`app-multiselect-${++nextId}`);\n public readonly ariaLabel = input<string>();\n public readonly ariaLabelledBy = input<string>();\n public readonly ariaDescribedBy = input<string>();\n public readonly ariaInvalid = input<boolean>(false);\n protected readonly effectiveId = computed(() => this.formField?.controlId() ?? this.inputId());\n protected readonly labelledBy = computed(() => this.formField?.labelledBy(this.ariaLabelledBy()) ?? this.ariaLabelledBy());\n protected readonly inputAria = computed(() => ({\n 'aria-describedby': this.formField?.describedBy(this.ariaDescribedBy()) ?? this.ariaDescribedBy(),\n 'aria-invalid': this.formField ? this.formField.hasError() : this.ariaInvalid()\n }));\n // shortcut: PrimeNG 21 omits its runtime hiddenInput PT key from types; remove the extension when declared upstream.\n protected readonly passThrough = computed<MultiSelectPassThrough & {hiddenInput: PassThroughOption<HTMLInputElement>}>(() => ({hiddenInput: this.inputAria()}));\n\n\n public items = input<ControlItemInterface[]>([]);\n public disabledValue = input<any[]>([]);\n public placeholder = input<string>(\"Select sum items...\");\n public selectedItemsLabel = input<string>();\n public lengthTextSelected = input<number>(20);\n public filter = input<boolean>(false);\n public displaySelectedLabel = input<boolean>(false);\n public emptyOption = input<boolean>(false);\n public showClear = input<boolean>();\n public withIcons = input<boolean>(false);\n public resetFilterOnHide = input<boolean>(true);\n public nullOrZero = input<number | null>(null);\n public labelType = input<string>(\"in_label\");\n public showIcon = input<boolean>(false);\n public virtualScroll = input<boolean>(false);\n public maxSelectedLabels = input<number>(2);\n public style = input<Record<string, string> | undefined>();\n public disabled = input<boolean>(false);\n public changed = output<Value[]>();\n public value = model<Value[]>([]);\n public touched = model<boolean>(false);\n protected readonly multiSelectControl = new FormControl<Value[]>([], {nonNullable: true});\n protected readonly selectedItems = computed(() => {\n const suffix = this.selectedItemsLabel()?.trim();\n return suffix ? `Selecionado {0} ${suffix}` : undefined;\n });\n\n constructor() {\n effect(() => {\n const currentValue = this.value();\n if (this.multiSelectControl.value !== currentValue) {\n this.multiSelectControl.setValue(currentValue, {emitEvent: false});\n }\n });\n\n effect(() => {\n if (this.disabled() || this.readonly()) {\n this.multiSelectControl.disable({emitEvent: false});\n return;\n }\n\n this.multiSelectControl.enable({emitEvent: false});\n });\n }\n\n onBlur(): void {\n this.touched.set(true);\n }\n\n onChanged(event: { value: Value[] }): void {\n if (this.disabled() || this.readonly()) return;\n const nextValue = event.value ?? [];\n this.multiSelectControl.setValue(nextValue, {emitEvent: false});\n this.value.set(nextValue);\n this.changed.emit(nextValue);\n }\n}\n","<div class=\"multiselect\">\n <p-multiSelect\n [inputId]=\"effectiveId()\"\n [readonly]=\"readonly()\"\n [ariaLabel]=\"ariaLabel() || placeholder()\"\n [ariaLabelledBy]=\"labelledBy()\"\n [pt]=\"passThrough()\"\n [options]=\"items()\"\n [optionLabel]=\"'label'\"\n [optionValue]=\"'value'\"\n [panelStyle]=\"{minWidth:'12em'}\"\n [filter]=\"filter()\"\n [selectedItemsLabel]=\"selectedItems()\"\n [displaySelectedLabel]=\"displaySelectedLabel()\"\n [maxSelectedLabels]=\"maxSelectedLabels()\"\n [style]=\"style()\"\n [showClear]=\"showClear()\"\n [placeholder]=\"placeholder()\"\n [resetFilterOnHide]=\"resetFilterOnHide()\"\n [virtualScroll]=\"virtualScroll()\"\n [formControl]=\"multiSelectControl\"\n (onBlur)=\"onBlur()\"\n (onChange)=\"onChanged($event)\">\n <ng-template let-option #item>\n <div class=\"multiselect-option\">\n @if (showIcon() && option.icon?.src) {\n <img\n class=\"multiselect-option__icon\"\n [class]=\"option.icon?.cssClass\"\n [src]=\"option.icon?.src\"\n [alt]=\"option.label\"\n />\n }\n <span class=\"multiselect-option__label\">{{ option.label }}</span>\n </div>\n </ng-template>\n </p-multiSelect>\n</div>\n","import {ChangeDetectionStrategy, Component, computed, ElementRef, inject, input, model, output, viewChild} from '@angular/core';\nimport {FormValueControl} from '@angular/forms/signals';\nimport {TextareaModule} from 'primeng/textarea';\nimport {FormFieldComponent} from '../form-field/form-field.component';\n\nlet nextId = 0;\n\n@Component({\n selector: 'app-textarea',\n standalone: true,\n imports: [TextareaModule],\n template: `@if (label()) { <label [for]=\"id()\">{{ label() }}</label> }\n <textarea #control pTextarea [id]=\"id()\" [value]=\"value()\" [rows]=\"rows()\" [placeholder]=\"placeholder()\"\n [attr.maxlength]=\"maxLength()\" [disabled]=\"disabled()\" [readOnly]=\"readonly()\"\n [attr.aria-label]=\"ariaLabel()\" [attr.aria-labelledby]=\"labelledBy()\"\n [attr.aria-describedby]=\"describedBy()\" [attr.aria-invalid]=\"effectiveInvalid()\"\n (input)=\"onValueChange($any($event.target).value)\" (blur)=\"touched.set(true)\"></textarea>`,\n styles: [`:host { display: block; } textarea { width: 100%; box-sizing: border-box; }`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TextareaComponent implements FormValueControl<string> {\n private readonly control = viewChild<ElementRef<HTMLTextAreaElement>>('control');\n protected readonly field = inject(FormFieldComponent, {optional: true});\n readonly inputId = input(`app-textarea-${nextId++}`);\n readonly label = input('');\n readonly ariaLabel = input<string>();\n readonly ariaLabelledBy = input<string>();\n readonly ariaDescribedBy = input<string>();\n readonly ariaInvalid = input<boolean>(false);\n readonly disabled = input(false);\n readonly readonly = input(false);\n readonly value = model<string>('');\n readonly touched = model(false);\n readonly changed = output<string>();\n readonly rows = input(3);\n readonly placeholder = input('');\n readonly maxLength = input<number>();\n protected readonly id = computed(() => this.field?.controlId() ?? this.inputId());\n protected readonly labelledBy = computed(() => this.field?.labelledBy(this.ariaLabelledBy()) ?? this.ariaLabelledBy());\n protected readonly describedBy = computed(() => this.field?.describedBy(this.ariaDescribedBy()) ?? this.ariaDescribedBy());\n protected readonly effectiveInvalid = computed(() => this.field ? this.field.hasError() : this.ariaInvalid());\n\n onValueChange(value: string): void {\n if (this.disabled() || this.readonly()) return;\n this.value.set(value);\n this.changed.emit(value);\n }\n\n focus(options?: FocusOptions): void {\n this.control()?.nativeElement.focus(options);\n }\n}\n\n","import {ChangeDetectionStrategy, Component, computed, effect, ElementRef, inject, input, model, output, viewChild} from '@angular/core';\nimport {FormValueControl} from '@angular/forms/signals';\nimport {ButtonComponent} from '../../button/button.component';\nimport {FormFieldComponent} from '../form-field/form-field.component';\n\nlet nextId = 0;\n\n@Component({\n selector: 'app-file-picker',\n standalone: true,\n imports: [ButtonComponent],\n template: `\n @if (label()) { <label [for]=\"id()\">{{ label() }}</label> }\n <input #picker type=\"file\" [id]=\"id()\" [accept]=\"accept()\" [multiple]=\"multiple()\"\n [disabled]=\"disabled() || readonly()\" [attr.aria-readonly]=\"readonly()\"\n [attr.aria-label]=\"ariaLabel()\" [attr.aria-labelledby]=\"labelledBy()\"\n [attr.aria-describedby]=\"describedBy()\" [attr.aria-invalid]=\"effectiveInvalid()\"\n (change)=\"onFileChange($event)\" (blur)=\"touched.set(true)\" />\n @if (value().length) {\n <ul>@for (file of value(); track $index) { <li>{{ file.name }}</li> }</ul>\n <app-button label=\"Clear files\" [disabled]=\"disabled() || readonly()\" (click)=\"clear()\" />\n }\n `,\n styles: [`:host { display: block; } label { display: block; }`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FilePickerComponent implements FormValueControl<File[]> {\n protected readonly field = inject(FormFieldComponent, {optional: true});\n protected readonly picker = viewChild<ElementRef<HTMLInputElement>>('picker');\n readonly inputId = input(`app-file-picker-${nextId++}`);\n readonly label = input('');\n readonly ariaLabel = input<string>();\n readonly ariaLabelledBy = input<string>();\n readonly ariaDescribedBy = input<string>();\n readonly ariaInvalid = input(false);\n readonly accept = input('');\n readonly multiple = input(false);\n readonly disabled = input(false);\n readonly readonly = input(false);\n readonly value = model<File[]>([]);\n readonly touched = model(false);\n readonly changed = output<File[]>();\n protected readonly id = computed(() => this.field?.controlId() ?? this.inputId());\n protected readonly labelledBy = computed(() => this.field?.labelledBy(this.ariaLabelledBy()) ?? this.ariaLabelledBy());\n protected readonly describedBy = computed(() => this.field?.describedBy(this.ariaDescribedBy()) ?? this.ariaDescribedBy());\n protected readonly effectiveInvalid = computed(() => this.field ? this.field.hasError() : this.ariaInvalid());\n\n constructor() {\n effect(() => {\n const picker = this.picker();\n if (!this.value().length && picker) picker.nativeElement.value = '';\n });\n }\n\n onFileChange(event: Event): void {\n if (this.disabled() || this.readonly()) return;\n const files = (event.target as HTMLInputElement).files;\n if (!files?.length) return;\n this.setFiles(Array.from(files));\n }\n\n clear(): void {\n if (this.disabled() || this.readonly()) return;\n const picker = this.picker();\n if (picker) picker.nativeElement.value = '';\n this.setFiles([]);\n this.touched.set(true);\n }\n\n focus(options?: FocusOptions): void {\n this.picker()?.nativeElement.focus(options);\n }\n\n private setFiles(files: File[]): void {\n this.value.set(files);\n this.changed.emit(files);\n }\n}\n","import {ChangeDetectionStrategy, Component, computed, inject, input, model, output, viewChild} from '@angular/core';\nimport {FormValueControl} from '@angular/forms/signals';\nimport {FormsModule} from '@angular/forms';\nimport {ToggleSwitch, ToggleSwitchModule} from 'primeng/toggleswitch';\nimport {FormFieldComponent} from '../form-field/form-field.component';\n\nlet nextId = 0;\n\n@Component({\n selector: 'app-toggle',\n standalone: true,\n imports: [FormsModule, ToggleSwitchModule],\n template: `<p-toggleswitch [inputId]=\"id()\" [ngModel]=\"value()\" [disabled]=\"disabled() || readonly()\" [readonly]=\"readonly()\"\n [ariaLabel]=\"ariaLabel()\" [ariaLabelledBy]=\"labelledBy()\"\n [pt]=\"{ input: { 'aria-describedby': describedBy(), 'aria-invalid': effectiveInvalid(), 'aria-readonly': readonly() } }\"\n (ngModelChange)=\"onValueChange($event)\" (focusout)=\"touched.set(true)\" />\n @if (label()) { <label [for]=\"id()\">{{ label() }}</label> }`,\n styles: [`:host { display: inline-flex; align-items: center; gap: .5rem; }`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ToggleComponent implements FormValueControl<boolean> {\n private readonly control = viewChild(ToggleSwitch);\n protected readonly field = inject(FormFieldComponent, {optional: true});\n readonly inputId = input(`app-toggle-${nextId++}`);\n readonly label = input('');\n readonly ariaLabel = input<string>();\n readonly ariaLabelledBy = input<string>();\n readonly ariaDescribedBy = input<string>();\n readonly ariaInvalid = input<boolean>(false);\n readonly disabled = input(false);\n readonly readonly = input(false);\n readonly value = model<boolean>(false);\n readonly touched = model(false);\n readonly changed = output<boolean>();\n\n protected readonly id = computed(() => this.field?.controlId() ?? this.inputId());\n protected readonly labelledBy = computed(() => this.field?.labelledBy(this.ariaLabelledBy()) ?? this.ariaLabelledBy());\n protected readonly describedBy = computed(() => this.field?.describedBy(this.ariaDescribedBy()) ?? this.ariaDescribedBy());\n protected readonly effectiveInvalid = computed(() => this.field ? this.field.hasError() : this.ariaInvalid());\n\n onValueChange(value: boolean): void {\n if (this.disabled() || this.readonly()) return;\n this.value.set(value);\n this.changed.emit(value);\n }\n\n focus(options?: FocusOptions): void {\n this.control()?.input.nativeElement.focus(options);\n }\n}\n\n","import {NgTemplateOutlet} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, computed, contentChild, ElementRef, inject, input, model, output, TemplateRef, viewChild} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {FormValueControl} from '@angular/forms/signals';\nimport {SelectButtonModule} from 'primeng/selectbutton';\nimport {ControlItemInterface, Value} from '../../types';\nimport {FormFieldComponent} from '../form-field/form-field.component';\n\nexport interface SegmentedControlItemContext {\n $implicit: ControlItemInterface;\n selected: boolean;\n}\n\nlet nextId = 0;\n\n@Component({\n selector: 'app-segmented-control',\n standalone: true,\n imports: [FormsModule, SelectButtonModule, NgTemplateOutlet],\n template: `\n @if (label()) { <span [id]=\"id() + '-group-label'\">{{ label() }}</span> }\n <p-selectbutton #control [options]=\"items()\" optionLabel=\"label\" optionValue=\"value\" [ngModel]=\"value()\"\n [multiple]=\"false\" [allowEmpty]=\"allowEmpty()\" [disabled]=\"disabled() || readonly()\"\n [ariaLabelledBy]=\"labelledBy()\" [pt]=\"{ root: { id: id(), 'aria-label': ariaLabel(),\n 'aria-describedby': describedBy(), 'aria-invalid': effectiveInvalid(), 'aria-readonly': readonly() },\n pcToggleButton: { root: { 'aria-describedby': describedBy(), 'aria-invalid': effectiveInvalid(),\n 'aria-disabled': disabled() || readonly() } } }\"\n [class.cards]=\"variant() === 'cards'\" (ngModelChange)=\"onValueChange($event)\"\n (focusout)=\"onFocusOut($event)\">\n <ng-template #item let-item>\n @if (itemTemplate(); as template) {\n <ng-container [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{ $implicit: item, selected: value() === item.value }\" />\n } @else { {{ item.label }} }\n </ng-template>\n </p-selectbutton>\n `,\n styles: [`:host { display: block; } :host ::ng-deep .cards { display: flex; gap: .75rem; flex-wrap: wrap; }\n :host ::ng-deep .cards .p-togglebutton { border-radius: var(--p-togglebutton-border-radius, .5rem); padding: 1rem; }`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SegmentedControlComponent implements FormValueControl<Value | null> {\n private readonly control = viewChild<unknown, ElementRef<HTMLElement>>('control', {read: ElementRef});\n protected readonly field = inject(FormFieldComponent, {optional: true});\n protected readonly itemTemplate = contentChild<TemplateRef<SegmentedControlItemContext>>('item');\n readonly inputId = input(`app-segmented-control-${nextId++}`);\n readonly label = input('');\n readonly ariaLabel = input<string>();\n readonly ariaLabelledBy = input<string>();\n readonly ariaDescribedBy = input<string>();\n readonly ariaInvalid = input(false);\n readonly items = input<ControlItemInterface[]>([]);\n readonly allowEmpty = input(false);\n readonly variant = input<'segments' | 'cards'>('segments');\n readonly disabled = input(false);\n readonly readonly = input(false);\n readonly value = model<Value | null>(null);\n readonly touched = model(false);\n readonly changed = output<Value | null>();\n protected readonly id = computed(() => this.field?.controlId() ?? this.inputId());\n protected readonly labelledBy = computed(() => this.field?.labelledBy(this.ariaLabelledBy())\n ?? this.ariaLabelledBy() ?? (this.label() ? this.id() + '-group-label' : undefined));\n protected readonly describedBy = computed(() => this.field?.describedBy(this.ariaDescribedBy()) ?? this.ariaDescribedBy());\n protected readonly effectiveInvalid = computed(() => this.field ? this.field.hasError() : this.ariaInvalid());\n\n onValueChange(value: Value | null): void {\n if (this.disabled() || this.readonly()) return;\n this.value.set(value);\n this.changed.emit(value);\n }\n\n onFocusOut(event: FocusEvent): void {\n const group = event.currentTarget as HTMLElement;\n if (!group.contains(event.relatedTarget as Node | null)) this.touched.set(true);\n }\n\n focus(options?: FocusOptions): void {\n const group = this.control()?.nativeElement;\n const selected = group?.querySelector<HTMLElement>('[role=\"button\"][aria-pressed=\"true\"]:not([aria-disabled=\"true\"])');\n (selected ?? group?.querySelector<HTMLElement>('[role=\"button\"]:not([aria-disabled=\"true\"])'))?.focus(options);\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, effect, inject, input, model} from '@angular/core';\nimport {DialogModule} from 'primeng/dialog';\n\n@Component({\n selector: 'app-dialog',\n standalone: true,\n imports: [DialogModule],\n template: `\n <p-dialog [visible]=\"visible()\" (visibleChange)=\"visible.set($event)\" [header]=\"header()\"\n [modal]=\"true\" [closeOnEscape]=\"true\" [closable]=\"true\" [dismissableMask]=\"false\"\n [draggable]=\"false\" [resizable]=\"false\" [focusTrap]=\"true\" (onHide)=\"restoreFocus()\">\n <ng-content />\n <ng-template #footer><ng-content select=\"[dialogActions]\" /></ng-template>\n </p-dialog>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DialogComponent {\n private readonly document = inject(DOCUMENT);\n private opener: HTMLElement | null = null;\n readonly visible = model(false);\n readonly header = input('');\n\n constructor() {\n effect(() => {\n if (this.visible()) this.opener = this.document.activeElement as HTMLElement | null;\n });\n }\n\n restoreFocus(): void {\n if (this.opener?.isConnected) this.opener.focus();\n this.opener = null;\n }\n}\n","import {ChangeDetectionStrategy, Component, input, model, output} from '@angular/core';\nimport {PaginatorModule, PaginatorState} from 'primeng/paginator';\n\nexport type {PaginatorState} from 'primeng/paginator';\n\n@Component({\n selector: 'app-pagination',\n standalone: true,\n imports: [PaginatorModule],\n template: `<p-paginator [first]=\"first()\" [rows]=\"rows()\" [totalRecords]=\"totalRecords()\"\n [rowsPerPageOptions]=\"rowsPerPageOptions()\" (onPageChange)=\"onPageChange($event)\" />`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PaginationComponent {\n readonly first = model(0);\n readonly rows = model(10);\n readonly totalRecords = input(0);\n readonly rowsPerPageOptions = input<number[]>();\n readonly pageChange = output<PaginatorState>();\n\n onPageChange(event: PaginatorState): void {\n if (event.first !== undefined) this.first.set(event.first);\n if (event.rows !== undefined) this.rows.set(event.rows);\n this.pageChange.emit(event);\n }\n}\n","import {Directive, Input, TemplateRef, inject} from '@angular/core';\n\n/**\n * Context interface for step template\n */\nexport interface StepperStepContext {\n /** Function to activate/navigate to a specific step */\n activateCallback: (stepValue: number) => void;\n /** The current step value */\n step: number;\n /** Whether this step is active */\n isActive: boolean;\n /** Index of this step in the steps array */\n index: number;\n}\n\n/**\n * Directive to define content for a specific step in the stepper.\n * Used with ng-template to provide step content.\n *\n * @example\n * ```html\n * <ng-template appStepperStep [step]=\"0\" let-activateCallback=\"activateCallback\">\n * <div>Step content here</div>\n * <button (click)=\"activateCallback(1)\">Next</button>\n * </ng-template>\n * ```\n */\n@Directive({\n selector: '[appStepperStep]',\n standalone: true\n})\nexport class StepperStepDirective {\n /**\n * The step value this template corresponds to\n */\n @Input({required: true}) step!: number;\n\n /**\n * Reference to the template\n */\n public readonly templateRef = inject(TemplateRef<StepperStepContext>);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n forwardRef,\n input,\n output,\n QueryList,\n signal,\n TemplateRef,\n AfterContentInit\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport {StepperModule} from 'primeng/stepper';\nimport {ButtonModule} from 'primeng/button';\nimport {StepperStepDirective} from './stepper-step.directive';\n\n/**\n * Interface representing a step configuration\n */\nexport interface StepConfig {\n /** Unique identifier for the step */\n value: number;\n /** Label displayed in the step header */\n label: string;\n /** Optional icon class for the step */\n icon?: string;\n /** Whether the step is disabled */\n disabled?: boolean;\n /** Custom data associated with the step */\n data?: unknown;\n}\n\n/**\n * Event emitted when the active step changes\n */\nexport interface StepChangeEvent {\n /** Previous step index */\n previousStep: number;\n /** Current step index */\n currentStep: number;\n /** Step configuration */\n step: StepConfig;\n}\n\n/**\n * A reusable stepper component based on PrimeNG's Stepper.\n * Implements ControlValueAccessor for reactive forms integration.\n *\n * @example\n * ```html\n * <app-stepper-control\n * [steps]=\"stepConfigs\"\n * [linear]=\"true\"\n * [orientation]=\"'horizontal'\"\n * (stepChange)=\"onStepChange($event)\">\n *\n * <ng-template appStepperStep [step]=\"0\" let-activateCallback=\"activateCallback\">\n * <div>Step 1 content</div>\n * <button (click)=\"activateCallback(1)\">Next</button>\n * </ng-template>\n *\n * <ng-template appStepperStep [step]=\"1\" let-activateCallback=\"activateCallback\">\n * <div>Step 2 content</div>\n * <button (click)=\"activateCallback(0)\">Back</button>\n * <button (click)=\"activateCallback(2)\">Next</button>\n * </ng-template>\n * </app-stepper-control>\n * ```\n */\n@Component({\n selector: 'app-stepper-control',\n standalone: true,\n imports: [\n CommonModule,\n StepperModule,\n ButtonModule\n ],\n templateUrl: './stepper.component.html',\n styleUrl: './stepper.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => StepperControlComponent),\n multi: true\n }\n ]\n})\nexport class StepperControlComponent implements ControlValueAccessor, AfterContentInit {\n /**\n * Array of step configurations\n */\n public steps = input.required<StepConfig[]>();\n\n /**\n * Whether steps must be completed in sequence\n */\n public linear = input<boolean>(false);\n\n /**\n * Orientation of the stepper: 'horizontal' or 'vertical'\n */\n public orientation = input<'horizontal' | 'vertical'>('horizontal');\n\n /**\n * Custom CSS class for the stepper container\n */\n public styleClass = input<string>('');\n\n /**\n * Whether to show navigation buttons\n */\n public showNavigation = input<boolean>(true);\n\n /**\n * Label for the \"Back\" button\n */\n public backLabel = input<string>('Back');\n\n /**\n * Label for the \"Next\" button\n */\n public nextLabel = input<string>('Next');\n\n /**\n * Label for the \"Finish\" button on the last step\n */\n public finishLabel = input<string>('Finish');\n\n /**\n * Emitted when the active step changes\n */\n public stepChange = output<StepChangeEvent>();\n\n /**\n * Emitted when the stepper is completed (last step finished)\n */\n public complete = output<void>();\n\n /**\n * Query list of step content templates\n */\n @ContentChildren(StepperStepDirective)\n stepTemplates!: QueryList<StepperStepDirective>;\n\n /**\n * Current active step value (signal-based state)\n */\n public activeStep = signal<number>(0);\n\n /**\n * Whether the component is disabled\n */\n public isDisabled = signal<boolean>(false);\n\n /**\n * Map of step templates by step value\n */\n public stepTemplateMap = signal<Map<number, TemplateRef<unknown>>>(new Map());\n\n private propagateChange: (value: number) => void = () => {};\n private propagateTouched: () => void = () => {};\n\n ngAfterContentInit(): void {\n this.buildTemplateMap();\n this.stepTemplates.changes.subscribe(() => {\n this.buildTemplateMap();\n });\n }\n\n /**\n * Build a map of step templates for quick lookup\n */\n private buildTemplateMap(): void {\n const map = new Map<number, TemplateRef<unknown>>();\n this.stepTemplates.forEach((directive) => {\n map.set(directive.step, directive.templateRef);\n });\n this.stepTemplateMap.set(map);\n }\n\n /**\n * Get the template for a specific step\n */\n getStepTemplate(stepValue: number): TemplateRef<unknown> | null {\n return this.stepTemplateMap().get(stepValue) ?? null;\n }\n\n /**\n * Navigate to a specific step\n */\n goToStep(stepValue: number): void {\n if (this.isDisabled()) {\n return;\n }\n\n const stepsArray = this.steps();\n const targetStep = stepsArray.find(s => s.value === stepValue);\n\n if (!targetStep || targetStep.disabled) {\n return;\n }\n\n if (this.linear()) {\n const currentIndex = stepsArray.findIndex(s => s.value === this.activeStep());\n const targetIndex = stepsArray.findIndex(s => s.value === stepValue);\n // In linear mode, can only go forward one step or backward\n if (targetIndex > currentIndex + 1) {\n return;\n }\n }\n\n const previousStep = this.activeStep();\n this.activeStep.set(stepValue);\n this.propagateChange(stepValue);\n this.stepChange.emit({\n previousStep,\n currentStep: stepValue,\n step: targetStep\n });\n }\n\n /**\n * Navigate to the next step\n */\n nextStep(): void {\n const stepsArray = this.steps();\n const currentIndex = stepsArray.findIndex(s => s.value === this.activeStep());\n\n if (currentIndex < stepsArray.length - 1) {\n const nextStepValue = stepsArray[currentIndex + 1].value;\n this.goToStep(nextStepValue);\n }\n }\n\n /**\n * Navigate to the previous step\n */\n previousStep(): void {\n const stepsArray = this.steps();\n const currentIndex = stepsArray.findIndex(s => s.value === this.activeStep());\n\n if (currentIndex > 0) {\n const prevStepValue = stepsArray[currentIndex - 1].value;\n this.goToStep(prevStepValue);\n }\n }\n\n /**\n * Check if the current step is the first step\n */\n isFirstStep(): boolean {\n const stepsArray = this.steps();\n return stepsArray.length > 0 && this.activeStep() === stepsArray[0].value;\n }\n\n /**\n * Check if the current step is the last step\n */\n isLastStep(): boolean {\n const stepsArray = this.steps();\n return stepsArray.length > 0 && this.activeStep() === stepsArray[stepsArray.length - 1].value;\n }\n\n /**\n * Handle finish action on the last step\n */\n onFinish(): void {\n this.complete.emit();\n }\n\n /**\n * Handle step header click\n */\n onStepClick(step: StepConfig): void {\n if (!step.disabled) {\n this.goToStep(step.value);\n }\n }\n\n /**\n * Check if a step is active\n */\n isStepActive(stepValue: number): boolean {\n return this.activeStep() === stepValue;\n }\n\n /**\n * Check if a step is completed (all previous steps in linear mode)\n */\n isStepCompleted(stepValue: number): boolean {\n const stepsArray = this.steps();\n const currentIndex = stepsArray.findIndex(s => s.value === this.activeStep());\n const stepIndex = stepsArray.findIndex(s => s.value === stepValue);\n return stepIndex < currentIndex;\n }\n\n // ControlValueAccessor implementation\n\n writeValue(value: number): void {\n if (value !== undefined && value !== null) {\n this.activeStep.set(value);\n }\n }\n\n registerOnChange(fn: (value: number) => void): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.propagateTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.isDisabled.set(isDisabled);\n }\n\n onBlur(): void {\n this.propagateTouched();\n }\n}\n","<div\n class=\"stepper-control-wrapper\"\n [class.stepper-control--horizontal]=\"orientation() === 'horizontal'\"\n [class.stepper-control--vertical]=\"orientation() === 'vertical'\"\n [class.stepper-control--disabled]=\"isDisabled()\"\n [class]=\"styleClass()\">\n\n @if (orientation() === 'horizontal') {\n <p-stepper [value]=\"activeStep()\" [linear]=\"linear()\">\n <p-step-list>\n @for (step of steps(); track step.value) {\n <p-step\n [value]=\"step.value\"\n [disabled]=\"step.disabled || isDisabled()\"\n (click)=\"onStepClick(step)\">\n @if (step.icon) {\n <i [class]=\"step.icon\"></i>\n }\n <span class=\"step-label\">{{ step.label }}</span>\n </p-step>\n }\n </p-step-list>\n\n <p-step-panels>\n @for (step of steps(); track step.value) {\n <p-step-panel [value]=\"step.value\">\n <ng-template #content let-activateCallback=\"activateCallback\">\n <div class=\"step-content\">\n @if (getStepTemplate(step.value)) {\n <ng-container\n [ngTemplateOutlet]=\"getStepTemplate(step.value)\"\n [ngTemplateOutletContext]=\"{\n activateCallback: goToStep.bind(this),\n step: step.value,\n isActive: isStepActive(step.value),\n index: $index\n }\">\n </ng-container>\n }\n\n @if (showNavigation()) {\n <div class=\"step-navigation\">\n @if (!isFirstStep()) {\n <p-button\n [label]=\"backLabel()\"\n [outlined]=\"true\"\n [disabled]=\"isDisabled()\"\n (onClick)=\"previousStep()\"\n severity=\"secondary\">\n </p-button>\n }\n\n @if (!isLastStep()) {\n <p-button\n [label]=\"nextLabel()\"\n [disabled]=\"isDisabled()\"\n (onClick)=\"nextStep()\">\n </p-button>\n }\n\n @if (isLastStep()) {\n <p-button\n [label]=\"finishLabel()\"\n [disabled]=\"isDisabled()\"\n (onClick)=\"onFinish()\"\n severity=\"success\">\n </p-button>\n }\n </div>\n }\n </div>\n </ng-template>\n </p-step-panel>\n }\n </p-step-panels>\n </p-stepper>\n } @else {\n <p-stepper [value]=\"activeStep()\" [linear]=\"linear()\">\n @for (step of steps(); track step.value) {\n <p-step-item [value]=\"step.value\">\n <p-step\n [value]=\"step.value\"\n [disabled]=\"step.disabled || isDisabled()\"\n (click)=\"onStepClick(step)\">\n @if (step.icon) {\n <i [class]=\"step.icon\"></i>\n }\n <span class=\"step-label\">{{ step.label }}</span>\n </p-step>\n\n <p-step-panel [value]=\"step.value\">\n <ng-template #content let-activateCallback=\"activateCallback\">\n <div class=\"step-content step-content--vertical\">\n @if (getStepTemplate(step.value)) {\n <ng-container\n [ngTemplateOutlet]=\"getStepTemplate(step.value)\"\n [ngTemplateOutletContext]=\"{\n activateCallback: goToStep.bind(this),\n step: step.value,\n isActive: isStepActive(step.value),\n index: $index\n }\">\n </ng-container>\n }\n\n @if (showNavigation()) {\n <div class=\"step-navigation step-navigation--vertical\">\n @if (!isFirstStep()) {\n <p-button\n [label]=\"backLabel()\"\n [outlined]=\"true\"\n [disabled]=\"isDisabled()\"\n (onClick)=\"previousStep()\"\n severity=\"secondary\">\n </p-button>\n }\n\n @if (!isLastStep()) {\n <p-button\n [label]=\"nextLabel()\"\n [disabled]=\"isDisabled()\"\n (onClick)=\"nextStep()\">\n </p-button>\n }\n\n @if (isLastStep()) {\n <p-button\n [label]=\"finishLabel()\"\n [disabled]=\"isDisabled()\"\n (onClick)=\"onFinish()\"\n severity=\"success\">\n </p-button>\n }\n </div>\n }\n </div>\n </ng-template>\n </p-step-panel>\n </p-step-item>\n }\n </p-stepper>\n }\n</div>\n","import { Injectable, NgZone } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nexport type ToastVariant = 'correct' | 'warn' | 'error' | 'info';\n\nexport interface ToastPayload {\n message: string;\n description?: string | null;\n variant: ToastVariant;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ToastService {\n private readonly toastSubject = new BehaviorSubject<ToastPayload | null>(null);\n readonly toast$ = this.toastSubject.asObservable();\n private hideTimer: ReturnType<typeof setTimeout> | null = null;\n\n constructor(private readonly zone: NgZone) {}\n\n mostrarToast(message: string, description: string | null = null, variant: ToastVariant = 'correct'): void {\n if (this.hideTimer !== null) clearTimeout(this.hideTimer);\n this.toastSubject.next({ message, description, variant });\n this.zone.runOutsideAngular(() => {\n this.hideTimer = setTimeout(() => this.zone.run(() => this.clear()), 5000);\n });\n }\n\n clear(): void {\n if (this.hideTimer !== null) clearTimeout(this.hideTimer);\n this.hideTimer = null;\n this.toastSubject.next(null);\n }\n}\n","import { AfterViewInit, ChangeDetectionStrategy, Component, DestroyRef, inject, viewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MessageService } from 'primeng/api';\nimport { Toast, ToastCloseEvent } from 'primeng/toast';\nimport { ToastPayload, ToastService } from './toast.service';\n\n@Component({\n selector: 'app-toast',\n imports: [Toast],\n providers: [MessageService],\n template: '<p-toast position=\"top-right\" (onClose)=\"onClose($event)\" />',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ToastComponent implements AfterViewInit {\n private readonly toast = viewChild.required(Toast);\n private readonly messages = inject(MessageService);\n private readonly service = inject(ToastService);\n private readonly destroyRef = inject(DestroyRef);\n private current: ToastPayload | null = null;\n\n ngAfterViewInit(): void {\n this.service.toast$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(payload => {\n this.current = payload;\n // ponytail: reset PrimeNG 21's public list synchronously; animated clear() can close a replacement.\n this.toast().messages = [];\n if (payload) {\n this.messages.add({\n severity: payload.variant === 'correct' ? 'success' : payload.variant,\n summary: payload.message,\n detail: payload.description ?? undefined,\n sticky: true,\n data: payload,\n });\n }\n this.toast().cd.detectChanges();\n });\n }\n\n onClose(event: ToastCloseEvent): void {\n if (this.current && event.message?.data === this.current) this.service.clear();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["nextId","i1","i3","i2"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,35 @@
1
1
  {
2
2
  "name": "springest",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "0.2.0",
4
+ "description": "Reusable Springest Angular UI components",
5
+ "license": "MIT",
6
+ "peerDependencies": {
7
+ "@angular/common": "^21.2.0",
8
+ "@angular/core": "^21.2.0",
9
+ "@angular/forms": "^21.2.0",
10
+ "@ngx-translate/core": "^15.0.0",
11
+ "chart.js": "^4.5.0",
12
+ "primeng": "^21.1.0",
13
+ "rxjs": "^7.8.0"
14
+ },
15
+ "dependencies": {
16
+ "tslib": "^2.6.2"
17
+ },
18
+ "sideEffects": false,
19
+ "publishConfig": {
20
+ "access": "public",
21
+ "registry": "https://registry.npmjs.org/"
22
+ },
23
+ "module": "fesm2022/springest.mjs",
24
+ "typings": "types/springest.d.ts",
25
+ "exports": {
26
+ "./package.json": {
27
+ "default": "./package.json"
28
+ },
29
+ ".": {
30
+ "types": "./types/springest.d.ts",
31
+ "default": "./fesm2022/springest.mjs"
32
+ }
33
+ },
34
+ "type": "module"
6
35
  }