{"version":3,"file":"seniorsistemas-angular-components-inline-edit.mjs","sources":["../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-calendar-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-lookup-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-number-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-text-area-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-text-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/fields/inline-edit-content-generator-field.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/inline-edit.component.ts","../../projects/angular-components/inline-edit/src/lib/inline-edit/inline-edit.component.html","../../projects/angular-components/inline-edit/src/lib/inline-edit/inline-edit.module.ts","../../projects/angular-components/inline-edit/src/seniorsistemas-angular-components-inline-edit.ts"],"sourcesContent":["type errorMessageFn = () => {};\nexport interface InlineEditFieldOptions {\n    label: string;\n    name: string;\n    tooltip?: string;\n    errorMessages?: errorMessageFn | {};\n}\n\nexport abstract class InlineEditField {\n    public label: string;\n    public name: string;\n    public tooltip?: string;\n    public errorMessages?: errorMessageFn | {};\n\n    constructor(options: InlineEditFieldOptions) {\n        this.label = options.label;\n        this.name = options.name;\n        this.tooltip = options.tooltip;\n        this.errorMessages = options.errorMessages;\n    }\n}\n","import { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\nexport interface InlineEditCalendarFieldOptions extends InlineEditFieldOptions {\n    view?: 'date' | 'month' | 'year';\n    minDate?: Date;\n    maxDate?: Date;\n    defaultDate?: Date;\n    appendTo?: string;\n    showOnFocus?: boolean;\n    onBlur?: (event: Event) => void;\n    onFocus?: (event: Event) => void;\n    onSelect?: (event: any) => void;\n    onInput?: (event: any) => void;\n    onClose?: (event: any) => void;\n    onTodayClick?: (event: any) => void;\n    onClearClick?: (event: any) => void;\n    onMonthChange?: (event: any) => void;\n    onYearChange?: (event: any) => void;\n    selectionMode?: 'single' | 'multiple';\n    rangeSeparator?: string;\n    showSeconds?: boolean;\n    placeholder?: string;\n}\n\nexport class InlineEditCalendarField extends InlineEditField implements InlineEditCalendarFieldOptions {\n    public view?: 'date' | 'month' | 'year';\n    public appendTo?: string;\n    public minDate?: Date;\n    public maxDate?: Date;\n    public defaultDate?: Date;\n    public showOnFocus?: boolean;\n    public onBlur?: (event: Event) => void;\n    public onFocus?: (event: Event) => void;\n    public onSelect?: (event: any) => void;\n    public onInput?: (event: any) => void;\n    public onClose?: (event: any) => void;\n    public onTodayClick?: (event: any) => void;\n    public onClearClick?: (event: any) => void;\n    public onMonthChange?: (event: any) => void;\n    public onYearChange?: (event: any) => void;\n    public selectionMode?: 'single' | 'multiple';\n    public rangeSeparator?: string;\n    public showSeconds?: boolean;\n    public placeholder?: string;\n\n    constructor(options: InlineEditCalendarFieldOptions) {\n        super(options);\n\n        this.view = options.view || \"date\";\n        this.minDate = options.minDate;\n        this.maxDate = options.maxDate;\n        this.defaultDate = options.defaultDate;\n        this.appendTo = options.appendTo;\n        this.showOnFocus = typeof options.showOnFocus === \"boolean\" ? options.showOnFocus : true;\n        this.onBlur = options.onBlur;\n        this.onFocus = options.onFocus;\n        this.onSelect = options.onSelect;\n        this.onInput = options.onInput;\n        this.onClose = options.onClose;\n        this.onTodayClick = options.onTodayClick;\n        this.onClearClick = options.onClearClick;\n        this.onMonthChange = options.onMonthChange;\n        this.onYearChange = options.onYearChange;\n        this.selectionMode = options.selectionMode || \"single\";\n        this.rangeSeparator = options.rangeSeparator || \"-\";\n        this.showSeconds = options.showSeconds;\n        this.placeholder = options.placeholder;\n    }\n}\n","import { Observable } from 'rxjs';\nimport { delay } from 'rxjs/operators';\n\nimport { InlineEditField, InlineEditFieldOptions } from './inline-edit-field';\nimport { DefaultFilter } from '@seniorsistemas/angular-components/dynamic-form';\n\nexport interface InlineEditLookupFieldOptions extends InlineEditFieldOptions {\n    multiple?: boolean;\n    showSearch?: boolean;\n    searchFields: any[];\n    searchGridFields: any[];\n    lookupSuggestions?: any[];\n    suggestionsObservable?: Observable<any[]>;\n    searchObservable: Observable<{ gridData: any[]; totalRecords: number; searchTotalRecordsLabel?: string }>;\n    dataKey: string;\n    lookupDisplayField: string;\n    searchTitle?: string;\n    searchEmptyTitle?: string;\n    filterTitle?: string;\n    emptyMessage?: string;\n    appendTo?: string;\n    autocompleteForceSelection?: boolean;\n    maxlength?: number | null;\n    showAddOption?: boolean;\n    showEditOption?: boolean;\n    showRemoveOption?: boolean;\n    placeholder?: string;\n    onLookupRequest: (query: string) => void;\n    onSearchRequest: (event: any) => void;\n    onSelect?: (event: any) => void;\n    onUnselect?: (event: any) => void;\n    onClear?: (event: any) => void;\n    onBlur?: (event: FocusEvent) => void;\n    onAdd?: () => void;\n    onEdit?: (selectedItem: unknown) => void;\n    onRemove?: (selectedItems: unknown[]) => void;\n}\n\nexport class InlineEditLookupField extends InlineEditField {\n    public multiple = false;\n    public showSearch = true;\n    public searchFields: any[] = [];\n    public searchGridFields: any[] = [];\n    public lookupSuggestions: any[] = [];\n    public suggestionsObservable?: Observable<any[]> | null = null;\n    public searchObservable: Observable<{\n        gridData: any[];\n        totalRecords: number;\n        searchTotalRecordsLabel?: string;\n    }> | null = null;\n    public dataKey = '';\n    public lookupDisplayField = '';\n    public searchTitle = '';\n    public searchEmptyTitle = '';\n    public filterTitle = '';\n    public emptyMessage = '';\n    public appendTo?: string;\n    public autocompleteForceSelection = true;\n    public maxlength: number | null = null;\n    public showAddOption = false;\n    public showEditOption = false;\n    public showRemoveOption = false;\n    public defaultFilter: DefaultFilter[] = [];\n    public onLookupRequest?: (query: string) => void;\n    public onSearchRequest?: (event: any) => void;\n    public onClear?: (event: any) => void;\n    public onBlur?: (event: FocusEvent) => void;\n    public onAdd?: () => void;\n    public onEdit?: (selectedItem: unknown) => void;\n    public onRemove?: (selectedItems: unknown[]) => void;\n\n    public placeholder?: string;\n\n    private _gridData: any[] = [];\n    private _searchTotalRecords = 0;\n    private _searchTotalRecordsLabel = '';\n\n    public onSelect = (event: any) => {};\n    public onUnselect = (event: any) => {};\n\n    public get gridData() {\n        return this._gridData;\n    }\n\n    public get searchTotalRecords() {\n        return this._searchTotalRecords;\n    }\n\n    public get searchTotalRecordsLabel() {\n        return this._searchTotalRecordsLabel;\n    }\n\n    constructor(options: InlineEditLookupFieldOptions) {\n        super(options);\n        Object.assign(this, options);\n\n        if (this.suggestionsObservable) {\n            this.suggestionsObservable.subscribe((suggestions) => (this.lookupSuggestions = suggestions));\n        }\n        if (this.searchObservable) {\n            this.searchObservable.pipe(delay(0)).subscribe(({ totalRecords, gridData, searchTotalRecordsLabel }) => {\n                this._gridData = gridData;\n                this._searchTotalRecords = totalRecords;\n                this._searchTotalRecordsLabel = searchTotalRecordsLabel as string;\n            });\n        }\n    }\n}\n\n","import { NumberLocaleOptions } from \"@seniorsistemas/angular-components/locale\";\n\nimport { AddonConfig } from \"../types/addon-config\";\nimport { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\ntype strinFn = () => string\n\nexport interface InlineEditNumberFieldOptions extends InlineEditFieldOptions {\n    allowNegative?: boolean;\n    numberLocaleOptions?: NumberLocaleOptions;\n    browserAutocomplete?: boolean;\n    precision?: Function | number;\n    scale?: Function | number;\n    mask?: strinFn | string;\n    leftAddon?: AddonConfig;\n    rightAddon?: AddonConfig;\n    placeholder?: string;\n    autoClear?: boolean;\n    onBlur?: (event: Event) => void;\n    onFocus?: (event: Event) => void;\n    onComplete?: (event: any) => void;\n    onInput?: (event: Event) => void;\n}\n\nexport class InlineEditNumberField extends InlineEditField {\n    public allowNegative?: boolean;\n    public numberLocaleOptions?: NumberLocaleOptions;\n    public browserAutocomplete?: boolean;\n    public precision?: Function | number;\n    public scale?: Function | number;\n    public alignTo: 'left' | 'right';\n    public mask?: strinFn | string;\n    public leftAddon?: AddonConfig;\n    public rightAddon?: AddonConfig;\n    public placeholder?: string;\n    public autoClear?: boolean;\n    public onBlur?: (event: Event) => void;\n    public onFocus?: (event: Event) => void;\n    public onComplete?: (event: any) => void;\n    public onInput?: (event: Event) => void;\n\n    constructor(options: InlineEditNumberFieldOptions) {\n        super(options);\n\n        this.allowNegative = options.allowNegative ?? true;\n        this.numberLocaleOptions = options.numberLocaleOptions;\n        this.browserAutocomplete = options.browserAutocomplete;\n        this.precision = options.precision;\n        this.scale = options.scale ?? 2;\n        this.alignTo = this.scale ? 'right' : 'left';\n        this.mask = options.mask;\n        this.leftAddon = options.leftAddon;\n        this.rightAddon = options.rightAddon;\n        this.onBlur = options.onBlur;\n        this.onFocus = options.onFocus;\n        this.onComplete = options.onComplete;\n        this.onInput = options.onInput;\n        this.autoClear = options.autoClear ?? true;\n        this.placeholder = options.placeholder ?? \"\";\n    }\n}\n","import { InlineEditFieldOptions, InlineEditField } from \"./inline-edit-field\";\n\nexport interface InlineEditTextAreaFieldOptions extends InlineEditFieldOptions {\n    cols?: number;\n    rows?: number;\n    keyFilter?: any;\n    readonly?: () => boolean;\n}\n\nexport class InlineEditTextAreaField extends InlineEditField {\n    public cols?: number;\n    public rows?: number;\n    public keyFilter?: any;\n    public readonly?: () => boolean;\n\n    constructor(options: InlineEditTextAreaFieldOptions) {\n        super(options);\n\n        this.cols = options.cols;\n        this.rows = options.rows;\n        this.keyFilter = options.keyFilter;\n        this.readonly = options.readonly;\n    }\n}\n","import { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\nexport interface InlineEditTextFieldOptions extends InlineEditFieldOptions {}\n\nexport class InlineEditTextField extends InlineEditField {\n    constructor(options: InlineEditTextFieldOptions) {\n        super(options);\n    }\n}\n","import { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\nexport interface InlineEditContentGeneratorFieldOptions extends InlineEditFieldOptions {}\n\nexport class InlineEditContentGeneratorField extends InlineEditField {\n    constructor(options: InlineEditContentGeneratorFieldOptions) {\n        super(options);\n    }\n}\n","import { Component, ComponentRef, DestroyRef, Input, OnInit, ViewChild, ViewContainerRef, inject } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { first } from 'rxjs/operators';\r\n\r\nimport { InlineEditCalendarField, InlineEditLookupField } from '../../fields/index';\r\nimport { InlineEditField } from '../../fields/inline-edit-field';\r\nimport { InlineEditCalendarComponent } from '../fields/inline-edit-calendar/inline-edit-calendar.component';\r\nimport { LocaleOptions, LocaleService } from '@seniorsistemas/angular-components/locale';\r\nimport { InfoSignDirective } from '@seniorsistemas/angular-components/info-sign';\r\n\r\nimport { ButtonComponent } from '@seniorsistemas/angular-components/button';\r\nimport { ControlErrorsComponent } from '@seniorsistemas/angular-components/control-errors';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\n\r\n@Component({\r\n    selector: 's-inline-edit-item',\r\n    templateUrl: './inline-edit-item.component.html',\r\n    styleUrls: ['./inline-edit-item.component.scss'],\r\n    standalone: true,\r\n    imports: [InfoSignDirective, ButtonComponent, ControlErrorsComponent, TranslatePipe],\r\n})\r\nexport class InlineEditItemComponent implements OnInit {\r\n    private readonly localeService = inject(LocaleService);\r\n    private readonly _destroyRef = inject(DestroyRef);\r\n\r\n    @ViewChild('formContainer', { read: ViewContainerRef, static: true })\r\n    public viewContainerRef: ViewContainerRef | null = null;\r\n\r\n    @Input({ required: true })\r\n    public label!: string;\r\n\r\n    @Input({ required: true })\r\n    public formGroup!: FormGroup;\r\n\r\n    @Input({ required: true })\r\n    public field!: InlineEditField;\r\n\r\n    @Input()\r\n    public errorMessages?: any;\r\n\r\n    public isEditing = false;\r\n    private _locale: string | undefined;\r\n    private dynamicComponentRef: ComponentRef<any> | null = null;\r\n\r\n    public ngOnInit(): void {\r\n        this._getCalendarLocaleOptions();\r\n    }\r\n\r\n    public get showEmptyValueButton() {\r\n        return !this.isEditing && !this.formGroup.get(this.field.name)?.value;\r\n    }\r\n\r\n    public get showEditButton() {\r\n        return !this.isEditing && this.formGroup.get(this.field.name)?.value;\r\n    }\r\n\r\n    public get showValue() {\r\n        return !this.isEditing && this.formGroup.get(this.field.name)?.value;\r\n    }\r\n\r\n    public onEdit(): void {\r\n        this.isEditing = !this.isEditing;\r\n    }\r\n\r\n    public onCancel(): void {\r\n        this.isEditing = !this.isEditing;\r\n    }\r\n\r\n    public onSave(): void {\r\n        if (this.dynamicComponentRef && this.dynamicComponentRef.instance.saveValue) {\r\n            const control = this.formGroup.get(this.field.name);\r\n            if (control) {\r\n                control.markAsDirty({ onlySelf: true });\r\n            }\r\n\r\n            this.dynamicComponentRef.instance.saveValue();\r\n        }\r\n        if (this.formGroup.get(this.field.name)?.valid) {\r\n            this.isEditing = !this.isEditing;\r\n        }\r\n    }\r\n\r\n    public setDynamicComponentRef(ref: ComponentRef<any>): void {\r\n        this.dynamicComponentRef = ref;\r\n    }\r\n\r\n    public getErrorMessages(errorMessages: any) {\r\n        if (errorMessages)\r\n            return errorMessages instanceof Function\r\n                ? { ...this.errorMessages, ...errorMessages() }\r\n                : { ...this.errorMessages, ...errorMessages };\r\n        return this.errorMessages;\r\n    }\r\n\r\n    public getFormattedValue(value: any): string {\r\n        if (this.field instanceof InlineEditCalendarField) {\r\n            return (this.dynamicComponentRef?.instance as InlineEditCalendarComponent).getValueAsText();\r\n        }\r\n        if (this.field instanceof InlineEditLookupField) {\r\n            const lookupField = this.field as InlineEditLookupField;\r\n            return this.field.multiple\r\n                ? value.map((val: any) => val[lookupField.lookupDisplayField]).join(' - ')\r\n                : value[lookupField.lookupDisplayField];\r\n        }\r\n\r\n        return value;\r\n    }\r\n\r\n    private _getCalendarLocaleOptions(): void {\r\n        this.localeService\r\n            .get()\r\n            .pipe(first(), takeUntilDestroyed(this._destroyRef))\r\n            .subscribe((localeOptions: LocaleOptions) => {\r\n                this._locale = localeOptions.locale;\r\n            });\r\n    }\r\n}\r\n","<div class=\"inline-edit-item\">\r\n    <label\r\n        class=\"label\"\r\n        *sInfoSign=\"field.tooltip ? field.tooltip : ''\"\r\n    >\r\n        {{ label }}:\r\n    </label>\r\n\r\n    <div class=\"content\">\r\n        @if (showValue) {\r\n            <span class=\"value\">\r\n                {{ getFormattedValue(formGroup.get(field.name)?.value) }}\r\n            </span>\r\n        }\r\n\r\n        @if (showEmptyValueButton) {\r\n            <s-button\r\n                style=\"margin-left: -8px\"\r\n                priority=\"link\"\r\n                [label]=\"'platform.angular_components.add_information' | translate\"\r\n                (clicked)=\"onEdit()\"\r\n            >\r\n            </s-button>\r\n        }\r\n\r\n        <div\r\n            [hidden]=\"!isEditing\"\r\n            class=\"form-container\"\r\n        >\r\n            <ng-container #formContainer></ng-container>\r\n        </div>\r\n\r\n        <div class=\"options\">\r\n            @if (showEditButton) {\r\n                <s-button\r\n                    [tooltip]=\"'platform.angular_components.edit' | translate\"\r\n                    (clicked)=\"onEdit()\"\r\n                    priority=\"link\"\r\n                    [auxiliary]=\"true\"\r\n                    iconClass=\"fas fa-edit\"\r\n                >\r\n                </s-button>\r\n            }\r\n            @if (isEditing) {\r\n                <s-button\r\n                    [tooltip]=\"'platform.angular_components.save' | translate\"\r\n                    (clicked)=\"onSave()\"\r\n                    priority=\"default\"\r\n                    [auxiliary]=\"true\"\r\n                    iconClass=\"fas fa-check\"\r\n                    styleClass=\"save-option\"\r\n                    iconColor=\"#428bca\"\r\n                >\r\n                </s-button>\r\n            }\r\n            @if (isEditing) {\r\n                <s-button\r\n                    [tooltip]=\"'platform.angular_components.cancel' | translate\"\r\n                    (clicked)=\"onCancel()\"\r\n                    priority=\"default\"\r\n                    [auxiliary]=\"true\"\r\n                    iconClass=\"fas fa-times\"\r\n                    iconColor=\"#c13018\"\r\n                >\r\n                </s-button>\r\n            }\r\n        </div>\r\n    </div>\r\n    <s-control-errors\r\n        [form]=\"formGroup\"\r\n        [control]=\"formGroup.controls[field.name]\"\r\n        [errorMessages]=\"getErrorMessages(field.errorMessages)\"\r\n    >\r\n    </s-control-errors>\r\n</div>\r\n","import { Component, DestroyRef, ElementRef, Input, OnInit, ViewChild, inject } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport {\r\n    DatepickerComponent,\r\n    DatePickerMode,\r\n    DatepickerComponent as DatepickerComponent_1,\r\n} from '@seniorsistemas/angular-components/datepicker';\r\n\r\nimport { InlineEditCalendarField } from '../../../fields/inline-edit-calendar-field';\r\nimport { first } from 'rxjs/operators';\r\nimport { CalendarLocaleOptions, LocaleOptions, LocaleService } from '@seniorsistemas/angular-components/locale';\r\n\r\n@Component({\r\n    templateUrl: './inline-edit-calendar.component.html',\r\n    styleUrls: ['./inline-edit-calendar.component.scss'],\r\n    standalone: true,\r\n    imports: [DatepickerComponent_1, FormsModule],\r\n})\r\nexport class InlineEditCalendarComponent implements OnInit {\r\n    private readonly localeService = inject(LocaleService);\r\n    private readonly _destroyRef = inject(DestroyRef);\r\n\r\n    @Input({ required: true })\r\n    public field!: InlineEditCalendarField;\r\n\r\n    @Input()\r\n    public formGroup: FormGroup = new FormGroup({});\r\n\r\n    @ViewChild(DatepickerComponent, { read: ElementRef })\r\n    datepickerEl: ElementRef | null = null;\r\n\r\n    public tempValue: Date | null = null;\r\n    public calendarLocaleOptions: CalendarLocaleOptions | null = null;\r\n\r\n    public get resolvedHourFormat(): '12' | '24' {\r\n        return this.calendarLocaleOptions?.hourFormat === '12' ? '12' : '24';\r\n    }\r\n\r\n    public get resolvedMode(): DatePickerMode {\r\n        if (this.field.view === 'month') return 'month';\r\n        if (this.field.view === 'year') return 'year';\r\n        return 'date';\r\n    }\r\n\r\n    public ngOnInit(): void {\r\n        this._getLocaleOptions();\r\n\r\n        if (this.formGroup && this.field) {\r\n            this.tempValue = this.formGroup.get(this.field.name)?.value || null;\r\n        }\r\n    }\r\n\r\n    public saveValue(): void {\r\n        if (this.formGroup && this.field) {\r\n            this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n        }\r\n    }\r\n\r\n    public getValueAsText(): string {\r\n        return this.datepickerEl?.nativeElement?.querySelector('input')?.value ?? '';\r\n    }\r\n\r\n    private _getLocaleOptions(): void {\r\n        this.localeService\r\n            .get()\r\n            .pipe(first(), takeUntilDestroyed(this._destroyRef))\r\n            .subscribe((locale: LocaleOptions) => {\r\n                this.calendarLocaleOptions = locale.calendar;\r\n            });\r\n    }\r\n}\r\n","<s-datepicker\n    #datepicker\n    [inputId]=\"field.name\"\n    [name]=\"field.name\"\n    [showIcon]=\"true\"\n    [mode]=\"resolvedMode\"\n    [rangeSeparator]=\"field.rangeSeparator ?? ' — '\"\n    [showSeconds]=\"field.showSeconds ?? false\"\n    icon=\"fas fa-calendar\"\n    [min]=\"field.minDate ?? null\"\n    [max]=\"field.maxDate ?? null\"\n    [dateFormat]=\"calendarLocaleOptions?.dateFormat ?? 'dd/MM/yyyy'\"\n    [hourFormat]=\"resolvedHourFormat\"\n    [defaultDate]=\"field.defaultDate ?? null\"\n    [placeholder]=\"field.placeholder\"\n    (blurred)=\"field.onBlur ? field.onBlur($event) : null\"\n    (focused)=\"field.onFocus ? field.onFocus($event) : null\"\n    (selected)=\"field.onSelect ? field.onSelect($event) : null\"\n    (closed)=\"field.onClose ? field.onClose($event) : null\"\n    (todayClick)=\"field.onTodayClick ? field.onTodayClick($event) : null\"\n    (clearClick)=\"field.onClearClick ? field.onClearClick($event) : null\"\n    (monthChange)=\"field.onMonthChange ? field.onMonthChange($event) : null\"\n    (yearChange)=\"field.onYearChange ? field.onYearChange($event) : null\"\n    [(ngModel)]=\"tempValue\">\n</s-datepicker>\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport { InlineEditLookupField } from '../../../fields/inline-edit-lookup-field';\r\n\r\n@Component({\r\n    templateUrl: './inline-edit-lookup.component.html',\r\n    styleUrls: ['./inline-edit-lookup.component.scss'],\r\n    standalone: true,\r\n})\r\nexport class InlineEditLookupComponent implements OnInit {\r\n    @Input({ required: true })\r\n    public field!: InlineEditLookupField;\r\n\r\n    @Input()\r\n    public formGroup: FormGroup = new FormGroup({});\r\n\r\n    public tempValue: string = '';\r\n\r\n    public ngOnInit(): void {\r\n        if (this.formGroup && this.field) {\r\n            this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n        }\r\n    }\r\n\r\n    public saveValue(): void {\r\n        if (this.formGroup && this.field) {\r\n            this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n        }\r\n    }\r\n}\r\n","<!--\nTODO: ativar campo novamente\n<s-lookup\n    [id]=\"field.name\"\n    [multiple]=\"field.multiple\"\n    [lookupSuggestions]=\"field.lookupSuggestions\"\n    [dataKey]=\"field.dataKey\"\n    [placeholder]=\"field.placeholder\"\n    [showSearch]=\"field.showSearch\"\n    [searchFields]=\"field.searchFields\"\n    [searchGridFields]=\"field.searchGridFields\"\n    [searchGridData]=\"field.gridData\"\n    (onLookupRequest)=\"field.onLookupRequest ? field.onLookupRequest($event) : null\"\n    (onSearchRequest)=\"field.onSearchRequest ? field.onSearchRequest($event) : null\"\n    [lookupDisplayField]=\"field.lookupDisplayField\"\n    [searchTotalRecords]=\"field.searchTotalRecords\"\n    [labelOptions]=\"{\n            filterTitle: field.filterTitle,[\n            searchTotalRecordsLabel: field.searchTotalRecordsLabel,\n            searchEmptyTitle: field.searchEmptyTitle,\n            searchTitle: field.searchTitle,\n\n    }\"\n    (onSelect)=\"field.onSelect($event)\"\n    (onUnselect)=\"field.onUnselect($event)\"\n    (onClear)=\"field.onClear ? field.onClear($event) : null\"\n    (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n    [lookupAppendTo]=\"field.appendTo\"\n    [lookupEmptyMessage]=\"field.emptyMessage\"\n    [defaultFilter]=\"field.defaultFilter\"\n    [autocompleteForceSelection]=\"field.autocompleteForceSelection\"\n    [maxlength]=\"field.maxlength\"\n    [showAddOption]=\"field.showAddOption\"\n    [showEditOption]=\"field.showEditOption\"\n    [showRemoveOption]=\"field.showRemoveOption\"\n    (onAdd)=\"field.onAdd ? field.onAdd() : null\"\n    (onEdit)=\"field.onEdit ? field.onEdit($event) : null\"\n    (onRemove)=\"field.onRemove ? field.onRemove($event) : null\"\n    [(ngModel)]=\"tempValue\">\n</s-lookup> -->\n\n","import { Component, DestroyRef, Input, OnInit, inject } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport { first } from 'rxjs/operators';\r\n\r\nimport { InlineEditNumberField } from '../../../fields/inline-edit-number-field';\r\nimport { LocaleService } from '@seniorsistemas/angular-components/locale';\r\nimport { NgClass } from '@angular/common';\r\nimport { InputMaskDirective } from '@seniorsistemas/angular-components/input-mask';\r\nimport { InputTextDirective } from '@seniorsistemas/angular-components/input-text';\r\nimport { TooltipDirective } from '@seniorsistemas/angular-components/tooltip';\r\nimport { ButtonComponent } from '@seniorsistemas/angular-components/button';\r\nimport { BignumberInputDirective } from '@seniorsistemas/angular-components/bignumber-input';\r\n\r\n@Component({\r\n    templateUrl: './inline-edit-number.component.html',\r\n    styleUrls: ['./inline-edit-number.component.scss'],\r\n    standalone: true,\r\n    imports: [\r\n        InputMaskDirective,\r\n        FormsModule,\r\n        InputTextDirective,\r\n        TooltipDirective,\r\n        ButtonComponent,\r\n        NgClass,\r\n        BignumberInputDirective,\r\n    ],\r\n})\r\nexport class InlineEditNumberComponent implements OnInit {\r\n    private readonly localeService = inject(LocaleService);\r\n    private readonly _destroyRef = inject(DestroyRef);\r\n\r\n    @Input({ required: true })\r\n    public field!: InlineEditNumberField;\r\n\r\n    @Input()\r\n    public formGroup: FormGroup = new FormGroup({});\r\n\r\n    public tempValue: string = '';\r\n\r\n    public ngOnInit(): void {\r\n        this._onLocaleService();\r\n\r\n        if (this.formGroup && this.field) {\r\n            this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n        }\r\n    }\r\n\r\n    public saveValue(): void {\r\n        if (this.formGroup && this.field) {\r\n            this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n        }\r\n    }\r\n\r\n    public get mask(): string {\r\n        return typeof this.field.mask === 'function' ? this.field.mask() : (this.field.mask as string);\r\n    }\r\n\r\n    public get leftAddonDisabled(): boolean {\r\n        return typeof this.field!.leftAddon?.disabled === 'function'\r\n            ? this.field.leftAddon.disabled()\r\n            : (this.field.leftAddon?.disabled as boolean);\r\n    }\r\n\r\n    public get rightAddonDisabled(): boolean {\r\n        return typeof this.field.rightAddon?.disabled === 'function'\r\n            ? this.field.rightAddon.disabled()\r\n            : (this.field.rightAddon?.disabled as boolean);\r\n    }\r\n\r\n    public get precision(): number {\r\n        return typeof this.field.precision === 'function' ? this.field.precision() : (this.field.precision as number);\r\n    }\r\n\r\n    public get scale(): number {\r\n        return typeof this.field.scale === 'function' ? this.field.scale() : (this.field.scale as number);\r\n    }\r\n\r\n    private _onLocaleService(): void {\r\n        this.localeService\r\n            .getLocale()\r\n            .pipe(first(), takeUntilDestroyed(this._destroyRef))\r\n            .subscribe({\r\n                next: () => {\r\n                    if (!this.field.numberLocaleOptions?.decimalSeparator) {\r\n                        this.field.numberLocaleOptions = {\r\n                            ...this.field.numberLocaleOptions,\r\n                            decimalSeparator: this.localeService.getDecimalSeparator(),\r\n                        };\r\n                    }\r\n\r\n                    if (!this.field.numberLocaleOptions?.thousandsSeparator) {\r\n                        this.field.numberLocaleOptions = {\r\n                            ...this.field.numberLocaleOptions,\r\n                            thousandsSeparator: this.localeService.getGroupingSeparator(),\r\n                        };\r\n                    }\r\n                },\r\n                error: () =>\r\n                    (this.field.numberLocaleOptions = {\r\n                        thousandsSeparator: '.',\r\n                        decimalSeparator: ',',\r\n                        currencySymbol: '',\r\n                    }),\r\n            });\r\n    }\r\n}\r\n","@if (field.mask) {\r\n    <input\r\n        sInputText\r\n        class=\"mousetrap\"\r\n        type=\"text\"\r\n        [id]=\"field.name\"\r\n        [name]=\"field.name\"\r\n        [sInputMask]=\"mask\"\r\n        [placeholder]=\"field.placeholder\"\r\n        slotChar=\"_\"\r\n        [sTooltip]=\"field.tooltip\"\r\n        tooltipPosition=\"top\"\r\n        [showDelay]=\"500\"\r\n        [autoClear]=\"field.autoClear ?? false\"\r\n        (blur)=\"field.onBlur ? field.onBlur($event) : null\"\r\n        (focus)=\"field.onFocus ? field.onFocus($event) : null\"\r\n        (maskComplete)=\"field.onComplete ? field.onComplete($event) : null\"\r\n        (input)=\"field.onInput ? field.onInput($event) : null\"\r\n        [(ngModel)]=\"tempValue\"\r\n    />\r\n} @else {\r\n    <ng-container>\r\n        <div>\r\n            @if (field.leftAddon) {\r\n                @if (field.leftAddon.callback) {\r\n                    <span class=\"addon-button addon-button--left\">\r\n                        <s-button\r\n                            [label]=\"field.leftAddon.label\"\r\n                            [iconClass]=\"field.leftAddon.icon\"\r\n                            [priority]=\"field.leftAddon.priority\"\r\n                            [disabled]=\"leftAddonDisabled\"\r\n                            (clicked)=\"field.leftAddon.callback()\"\r\n                        >\r\n                        </s-button>\r\n                    </span>\r\n                }\r\n                @if (!field.leftAddon.callback) {\r\n                    <span>\r\n                        @if (field.leftAddon.label) {\r\n                            <span>{{ field.leftAddon.label }}</span>\r\n                        }\r\n                        @if (!field.leftAddon.label) {\r\n                            <span [ngClass]=\"field.leftAddon.icon\"></span>\r\n                        }\r\n                    </span>\r\n                }\r\n            }\r\n            <input\r\n                [id]=\"field.name\"\r\n                type=\"text\"\r\n                [name]=\"field.name\"\r\n                sBignumberInput\r\n                [allowNegative]=\"field.allowNegative ?? false\"\r\n                [precision]=\"precision\"\r\n                [scale]=\"scale\"\r\n                [alignTo]=\"field.alignTo\"\r\n                [sTooltip]=\"field.tooltip\"\r\n                tooltipPosition=\"top\"\r\n                [placeholder]=\"field.placeholder\"\r\n                [showDelay]=\"500\"\r\n                sInputText\r\n                [autocomplete]=\"field.browserAutocomplete ? 'on' : 'off'\"\r\n                [ngClass]=\"'mousetrap'\"\r\n                (blur)=\"field.onBlur ? field.onBlur($event) : null\"\r\n                (focus)=\"field.onFocus ? field.onFocus($event) : null\"\r\n                [(ngModel)]=\"tempValue\"\r\n            />\r\n            @if (field.rightAddon) {\r\n                @if (field.rightAddon.callback) {\r\n                    <span class=\"addon-button addon-button--right\">\r\n                        <s-button\r\n                            [label]=\"field.rightAddon.label\"\r\n                            [iconClass]=\"field.rightAddon.icon\"\r\n                            [priority]=\"field.rightAddon.priority\"\r\n                            [disabled]=\"rightAddonDisabled\"\r\n                            (clicked)=\"field.rightAddon.callback()\"\r\n                        >\r\n                        </s-button>\r\n                    </span>\r\n                }\r\n                @if (!field.rightAddon.callback) {\r\n                    <span>\r\n                        @if (field.rightAddon.label) {\r\n                            <span>{{ field.rightAddon.label }}</span>\r\n                        }\r\n                        @if (!field.rightAddon.label) {\r\n                            <span [ngClass]=\"field.rightAddon.icon\"></span>\r\n                        }\r\n                    </span>\r\n                }\r\n            }\r\n        </div>\r\n    </ng-container>\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport { InlineEditTextAreaField } from '../../../fields/inline-edit-text-area-field';\r\nimport { Textarea } from 'primeng/textarea';\r\nimport { KeyFilter } from 'primeng/keyfilter';\r\n\r\n@Component({\r\n    templateUrl: './inline-edit-text-area.component.html',\r\n    styleUrls: ['./inline-edit-text-area.component.scss'],\r\n    standalone: true,\r\n    imports: [FormsModule, Textarea, KeyFilter],\r\n})\r\nexport class InlineEditTextAreaComponent implements OnInit {\r\n    @Input({ required: true })\r\n    public field!: InlineEditTextAreaField;\r\n\r\n    @Input()\r\n    public formGroup: FormGroup = new FormGroup({});\r\n\r\n    public tempValue: string = '';\r\n\r\n    public ngOnInit(): void {\r\n        if (this.formGroup && this.field) {\r\n            this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n        }\r\n    }\r\n\r\n    public saveValue(): void {\r\n        if (this.formGroup && this.field) {\r\n            this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n        }\r\n    }\r\n}\r\n","@if(field.keyFilter) {\n    <textarea\n        [id]=\"field.name\"\n        pTextarea\n        class=\"textarea-input\"\n        [rows]=\"field.rows\"\n        [cols]=\"field.cols\"\n        [readonly]=\"field.readonly ? field.readonly() : false\"\n        [(ngModel)]=\"tempValue\"\n        [pKeyFilter]=\"field.keyFilter\">\n    </textarea>\n}@else {\n    <textarea\n        [id]=\"field.name\"\n        pTextarea\n        class=\"textarea-input\"\n        [rows]=\"field.rows\"\n        [cols]=\"field.cols\"\n        [readonly]=\"field.readonly ? field.readonly() : false\"\n        [(ngModel)]=\"tempValue\">\n    </textarea>\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport { InlineEditTextField } from '../../../fields/inline-edit-text-field';\r\n\r\n@Component({\r\n    templateUrl: './inline-edit-text.component.html',\r\n    styleUrls: ['./inline-edit-text.component.scss'],\r\n    standalone: true,\r\n    imports: [FormsModule],\r\n})\r\nexport class InlineEditTextComponent implements OnInit {\r\n    @Input({ required: true })\r\n    public field!: InlineEditTextField;\r\n\r\n    @Input()\r\n    public formGroup: FormGroup = new FormGroup({});\r\n\r\n    public tempValue!: string;\r\n\r\n    public ngOnInit(): void {\r\n        if (this.formGroup && this.field) {\r\n            this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n        }\r\n    }\r\n\r\n    public saveValue(): void {\r\n        if (this.formGroup && this.field) {\r\n            this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n        }\r\n    }\r\n}\r\n","<input\n    type=\"text\"\n    sInputText\n    [(ngModel)]=\"tempValue\" />","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup, FormsModule } from '@angular/forms';\r\n\r\nimport { InlineEditContentGeneratorField } from '../../../fields/inline-edit-content-generator-field';\r\nimport { DeprecatedSelectorDirective } from '@seniorsistemas/angular-components/common/deprecated-selector';\r\nimport { ContentGeneratorComponent } from '@seniorsistemas/angular-components/content-generator';\r\n\r\n@Component({\r\n    templateUrl: './inline-edit-content-generator.component.html',\r\n    styleUrls: ['./inline-edit-content-generator.component.scss'],\r\n    standalone: true,\r\n    imports: [DeprecatedSelectorDirective, ContentGeneratorComponent, FormsModule],\r\n})\r\nexport class InlineEditContentGeneratorComponent implements OnInit {\r\n    @Input({ required: true })\r\n    public field!: InlineEditContentGeneratorField;\r\n\r\n    @Input()\r\n    public formGroup: FormGroup = new FormGroup({});\r\n\r\n    public tempValue: string = '';\r\n\r\n    public ngOnInit(): void {\r\n        if (this.formGroup && this.field) {\r\n            this.tempValue = this.formGroup.get(this.field.name)?.value || '';\r\n        }\r\n    }\r\n\r\n    public saveValue(): void {\r\n        if (this.formGroup && this.field) {\r\n            this.formGroup.get(this.field.name)?.setValue(this.tempValue);\r\n        }\r\n    }\r\n}\r\n","<s-content-generator [(ngModel)]=\"tempValue\"></s-content-generator>","import { Component, ComponentRef, Input, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nimport {\r\n    InlineEditCalendarComponent,\r\n    InlineEditItemComponent,\r\n    InlineEditLookupComponent,\r\n    InlineEditNumberComponent,\r\n    InlineEditTextAreaComponent,\r\n    InlineEditContentGeneratorComponent,\r\n    InlineEditTextComponent,\r\n} from './components/index';\r\nimport {\r\n    InlineEditCalendarField,\r\n    InlineEditField,\r\n    InlineEditLookupField,\r\n    InlineEditNumberField,\r\n    InlineEditTextAreaField,\r\n    InlineEditContentGeneratorField,\r\n    InlineEditTextField,\r\n} from './fields/index';\r\n\r\n/**\r\n * @description Componente de edição inline que renderiza dinamicamente campos editáveis\r\n * (texto, número, data, textarea, lookup e gerador de conteúdo) a partir de uma lista\r\n * de configurações `InlineEditField[]`. Integrado a um `FormGroup` Angular fornecido externamente.\r\n *\r\n * @example\r\n * ```html\r\n * <s-inline-edit [formGroup]=\"form\" [fields]=\"camposEditaveis\" />\r\n * ```\r\n *\r\n * @category Inputs\r\n */\r\n@Component({\r\n    selector: 's-inline-edit',\r\n    templateUrl: './inline-edit.component.html',\r\n    styleUrls: ['./inline-edit.component.scss'],\r\n    standalone: true,\r\n})\r\nexport class InlineEditComponent implements OnInit {\r\n    /** @description `FormGroup` Angular ao qual os campos inline serão vinculados. @default new FormGroup({}) */\r\n    @Input()\r\n    public formGroup: FormGroup = new FormGroup({});\r\n\r\n    /** @description Lista de configurações dos campos inline a serem renderizados. @default [] */\r\n    @Input()\r\n    public fields: InlineEditField[] = [];\r\n\r\n    /** @description Mapa de mensagens de erro customizadas por nome de validador. */\r\n    @Input()\r\n    public errorMessages?: any;\r\n\r\n    @ViewChild('formContainer', { read: ViewContainerRef, static: true })\r\n    public container: ViewContainerRef | null = null;\r\n\r\n    public ngOnInit(): void {\r\n        this._createFields();\r\n    }\r\n\r\n    private _componentMap = {\r\n        [InlineEditCalendarField.name]: InlineEditCalendarComponent,\r\n        [InlineEditLookupField.name]: InlineEditLookupComponent,\r\n        [InlineEditTextField.name]: InlineEditTextComponent,\r\n        [InlineEditNumberField.name]: InlineEditNumberComponent,\r\n        [InlineEditTextAreaField.name]: InlineEditTextAreaComponent,\r\n        [InlineEditContentGeneratorField.name]: InlineEditContentGeneratorComponent,\r\n    };\r\n\r\n    private _createFields(): void {\r\n        if (!this.container) {\r\n            return;\r\n        }\r\n        this.container.clear();\r\n\r\n        const createComponent = (componentClass: any, field: InlineEditField): ComponentRef<any> => {\r\n            const componentRef = this.container!.createComponent(componentClass);\r\n            (componentRef.instance as any).field = field;\r\n            (componentRef.instance as any).formGroup = this.formGroup;\r\n            return componentRef;\r\n        };\r\n\r\n        for (let field of this.fields) {\r\n            let componentClass = this._componentMap[field.constructor.name];\r\n\r\n            if (componentClass) {\r\n                const inlineEditItemRef = this.container.createComponent(InlineEditItemComponent);\r\n                inlineEditItemRef.instance.label = field.label;\r\n                inlineEditItemRef.instance.formGroup = this.formGroup;\r\n                inlineEditItemRef.instance.field = field;\r\n                inlineEditItemRef.instance.errorMessages = this.errorMessages;\r\n                const dynamicComponentRef = createComponent(componentClass, field);\r\n\r\n                const inlineEditItemInstance = inlineEditItemRef.instance as InlineEditItemComponent;\r\n                if (inlineEditItemInstance.viewContainerRef) {\r\n                    inlineEditItemInstance.viewContainerRef.insert(dynamicComponentRef.hostView);\r\n                    inlineEditItemInstance.setDynamicComponentRef(dynamicComponentRef);\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\n","<div class=\"inline-edit\">\n    <ng-template #formContainer></ng-template>\n</div>\n","import { NgModule } from '@angular/core';\r\n\r\nimport { InlineEditComponent } from './inline-edit.component';\r\n\r\n@NgModule({\r\n    imports: [InlineEditComponent],\r\n    exports: [InlineEditComponent],\r\n})\r\nexport class InlineEditModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["DatepickerComponent_1"],"mappings":"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"}