{"version":3,"file":"seniorsistemas-angular-components-locale.mjs","sources":["../../projects/angular-components/locale/src/lib/locale/options/calendar.ts","../../projects/angular-components/locale/src/lib/locale/options/number.ts","../../projects/angular-components/locale/src/lib/locale/options/index.ts","../../projects/angular-components/locale/src/lib/locale/options/locale-presets.ts","../../projects/angular-components/locale/src/lib/locale/locale.service.ts","../../projects/angular-components/locale/src/lib/locale/apply-localized-mask.ts","../../projects/angular-components/locale/src/lib/locale/pipes/localized-bignumber.pipe.ts","../../projects/angular-components/locale/src/lib/locale/pipes/localized-bignumber-impure.pipe.ts","../../projects/angular-components/locale/src/lib/locale/pipes/localized-currency.pipe.ts","../../projects/angular-components/locale/src/lib/locale/pipes/localized-currency-impure.pipe.ts","../../projects/angular-components/locale/src/lib/locale/pipes/localized-date.pipe.ts","../../projects/angular-components/locale/src/lib/locale/pipes/localized-date-impure.pipe.ts","../../projects/angular-components/locale/src/lib/locale/pipes/localized-number.pipe.ts","../../projects/angular-components/locale/src/lib/locale/pipes/localized-time.pipe.ts","../../projects/angular-components/locale/src/lib/locale/pipes/localized-time-impure.pipe.ts","../../projects/angular-components/locale/src/lib/locale/locale.module.ts","../../projects/angular-components/locale/src/lib/locale/provide-locale.ts","../../projects/angular-components/locale/src/seniorsistemas-angular-components-locale.ts"],"sourcesContent":["export interface ICalendarLocaleOptions {\n    hourFormat?: string;\n    dateFormat?: string;\n    firstDayOfWeek?: number;\n    today?: string;\n    clear?: string;\n    dayNames?: string[];\n    dayNamesShort?: string[];\n    dayNamesMin?: string[];\n    monthNamesShort?: string[];\n    monthNames?: string[];\n}\n\nexport class CalendarLocaleOptions implements ICalendarLocaleOptions {\n    public hourFormat? = '24';\n    public dateFormat? = 'dd/mm/yy';\n    public firstDayOfWeek? = 0;\n    public today? = 'Hoje';\n    public clear? = 'Limpar';\n    public dayNames?: string[] = ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'];\n    public dayNamesShort?: string[] = ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'];\n    public dayNamesMin?: string[] = ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'];\n    public monthNamesShort?: string[] = ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'];\n    public monthNames?: string[] = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'];\n\n    constructor(config: ICalendarLocaleOptions = {}) {\n        this.clear = config?.clear ?? this.clear;\n        this.dateFormat = config?.dateFormat ?? this.dateFormat;\n        this.dayNames = config?.dayNames ?? this.dayNames;\n        this.dayNamesMin = config?.dayNamesMin ?? this.dayNamesMin;\n        this.firstDayOfWeek = config?.firstDayOfWeek ?? this.firstDayOfWeek;\n        this.hourFormat = config?.hourFormat ?? this.hourFormat;\n        this.monthNames = config?.monthNames ?? this.monthNames;\n        this.monthNamesShort = config?.monthNamesShort ?? this.monthNamesShort;\n        this.today = config?.today ?? this.today;\n    }\n}\n","export interface INumberLocaleOptions {\n    thousandsSeparator?: string;\n    decimalSeparator?: string;\n    currencySymbol?: string;\n}\n\nexport class NumberLocaleOptions implements INumberLocaleOptions {\n    public thousandsSeparator? = \".\";\n    public decimalSeparator? = \",\";\n    public currencySymbol? = \"R$\";\n\n    constructor(config: INumberLocaleOptions = {}) {\n        Object.assign(this, config);\n    }\n}\n","import { CalendarLocaleOptions } from './calendar';\nimport { NumberLocaleOptions } from './number';\n\nexport interface ILocaleOptions {\n    locale?: string;\n    calendar?: CalendarLocaleOptions;\n    number?: NumberLocaleOptions;\n}\n\nexport class LocaleOptions implements ILocaleOptions {\n    locale? = 'pt-BR';\n    calendar = new CalendarLocaleOptions({});\n    number = new NumberLocaleOptions();\n\n    constructor(config: ILocaleOptions = {}) {\n        this.calendar = config.calendar ?? this.calendar;\n        this.number = config.number ?? this.number;\n        this.locale = config.locale ?? this.locale;\n        // Object.keys(config).forEach(key => (this[key] = config[key] || this[key]));\n    }\n}\n\nexport * from './calendar';\nexport * from './number';\n\n","import { NumberLocaleOptions } from './number';\nimport { ILocaleOptions, LocaleOptions } from './index';\n\nconst PT_BR_PRESET: ILocaleOptions = {\n    calendar: {\n        hourFormat: '24',\n        dateFormat: 'dd/mm/yy',\n        firstDayOfWeek: 0,\n        dayNames: ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'],\n        dayNamesShort: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'],\n        dayNamesMin: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'],\n        monthNames: [\n            'Janeiro',\n            'Fevereiro',\n            'Março',\n            'Abril',\n            'Maio',\n            'Junho',\n            'Julho',\n            'Agosto',\n            'Setembro',\n            'Outubro',\n            'Novembro',\n            'Dezembro',\n        ],\n        monthNamesShort: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],\n        today: 'Hoje',\n        clear: 'Limpar',\n    },\n    number: {\n        currencySymbol: 'R$',\n        thousandsSeparator: '.',\n        decimalSeparator: ',',\n    },\n};\n\nconst ES_PRESET: ILocaleOptions = {\n    calendar: {\n        hourFormat: '24',\n        dateFormat: 'dd/mm/yy',\n        firstDayOfWeek: 0,\n        dayNames: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],\n        dayNamesShort: ['Dom', 'Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sáb'],\n        dayNamesMin: ['D', 'L', 'M', 'M', 'J', 'V', 'S'],\n        monthNames: [\n            'Enero',\n            'Febrero',\n            'Marzo',\n            'Abril',\n            'Mayo',\n            'Junio',\n            'Julio',\n            'Agosto',\n            'Septiembre',\n            'Octubre',\n            'Noviembre',\n            'Diciembre',\n        ],\n        monthNamesShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],\n        today: 'Hoy',\n        clear: 'Limpiar',\n    },\n    number: {\n        currencySymbol: '€',\n        thousandsSeparator: '.',\n        decimalSeparator: ',',\n    },\n};\n\nconst EN_US_PRESET: ILocaleOptions = {\n    calendar: {\n        hourFormat: '12',\n        dateFormat: 'mm/dd/yy',\n        firstDayOfWeek: 0,\n        dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n        dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n        dayNamesMin: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n        monthNames: [\n            'January',\n            'February',\n            'March',\n            'April',\n            'May',\n            'June',\n            'July',\n            'August',\n            'September',\n            'October',\n            'November',\n            'December',\n        ],\n        monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n        today: 'Today',\n        clear: 'Clear',\n    },\n    number: {\n        currencySymbol: '$',\n        thousandsSeparator: ',',\n        decimalSeparator: '.',\n    },\n};\n\n/**\n * @description Configurações de locale embarcadas na biblioteca. Mesmo conteúdo publicado\n * anteriormente em `cdn.senior.com.br/primeng/locales/3.0.0`.\n */\nexport const LOCALE_PRESETS: Readonly<Record<string, ILocaleOptions>> = {\n    'pt-BR': PT_BR_PRESET,\n    'es-ES': ES_PRESET,\n    'es-419': ES_PRESET,\n    'en-US': EN_US_PRESET,\n};\n\n/** Preset usado para locales sem preset exato, a partir do idioma base. */\nconst BASE_LANGUAGE_PRESETS: Readonly<Record<string, ILocaleOptions>> = {\n    pt: PT_BR_PRESET,\n    es: ES_PRESET,\n    en: EN_US_PRESET,\n};\n\n/**\n * @description Separador decimal do locale, obtido via `Intl.NumberFormat`.\n */\nexport function getLocaleDecimalSeparator(locale?: string): string | undefined {\n    const numberFormat = new Intl.NumberFormat(locale, {\n        style: 'decimal',\n        minimumFractionDigits: 5,\n        maximumFractionDigits: 5,\n    });\n\n    return numberFormat.formatToParts(1.2).find((part) => part.type === 'decimal')?.value;\n}\n\n/**\n * @description Separador de milhar do locale, obtido via `Intl.NumberFormat`.\n */\nexport function getLocaleGroupingSeparator(locale?: string): string | undefined {\n    // The default groupingSeparator for 'fr' is the character code 8239. We need it to be the regular space.\n    if (locale?.includes('fr')) return ' ';\n\n    const numberFormat = new Intl.NumberFormat(locale, {\n        style: 'decimal',\n        useGrouping: true,\n        minimumFractionDigits: 5,\n        maximumFractionDigits: 5,\n    });\n\n    return numberFormat.formatToParts(1000).find((part) => part.type === 'group')?.value;\n}\n\n/**\n * @description Formato de data do locale na convenção usada pelos presets (`dd/mm/yy`, onde `yy` é o ano com 4 dígitos).\n */\nfunction getLocaleDateFormat(locale: string): string {\n    const tokens: Partial<Record<Intl.DateTimeFormatPartTypes, string>> = { day: 'dd', month: 'mm', year: 'yy' };\n\n    return new Intl.DateTimeFormat(locale, { day: '2-digit', month: '2-digit', year: 'numeric' })\n        .formatToParts(new Date(2000, 0, 1))\n        .map((part) => tokens[part.type] ?? part.value)\n        .join('');\n}\n\nfunction getLocaleHourFormat(locale: string): string {\n    const { hourCycle, hour12 } = new Intl.DateTimeFormat(locale, { hour: 'numeric' }).resolvedOptions();\n    const is12h = hourCycle ? hourCycle === 'h11' || hourCycle === 'h12' : !!hour12;\n\n    return is12h ? '12' : '24';\n}\n\nfunction findPreset(locale: string, presets: Readonly<Record<string, ILocaleOptions>>): ILocaleOptions | undefined {\n    const key = Object.keys(presets).find((presetKey) => presetKey.toLowerCase() === locale.toLowerCase());\n    return key ? presets[key] : undefined;\n}\n\nfunction clonePreset(preset: ILocaleOptions, locale: string): LocaleOptions {\n    return new LocaleOptions({\n        locale,\n        calendar: structuredClone(preset.calendar),\n        number: structuredClone(preset.number),\n    });\n}\n\n/**\n * @description Monta as opções de locale sem acesso à rede.\n * Locales com preset exato (`pt-BR`, `es-ES`, `es-419`, `en-US`) retornam o preset.\n * Os demais usam os textos do preset do idioma base (ou pt-BR), com separadores e formatos\n * de data/hora derivados via `Intl`. O símbolo de moeda segue o padrão `R$`, pois não é\n * possível inferir a moeda a partir do idioma.\n */\nexport function buildLocaleOptions(locale: string): LocaleOptions {\n    const exactPreset = findPreset(locale, LOCALE_PRESETS);\n    if (exactPreset) {\n        return clonePreset(exactPreset, locale);\n    }\n\n    const basePreset = findPreset(locale.split('-')[0], BASE_LANGUAGE_PRESETS) ?? PT_BR_PRESET;\n\n    try {\n        return new LocaleOptions({\n            locale,\n            calendar: {\n                ...structuredClone(basePreset.calendar),\n                dateFormat: getLocaleDateFormat(locale),\n                hourFormat: getLocaleHourFormat(locale),\n            },\n            number: new NumberLocaleOptions({\n                decimalSeparator: getLocaleDecimalSeparator(locale) ?? ',',\n                thousandsSeparator: getLocaleGroupingSeparator(locale) ?? '',\n            }),\n        });\n    } catch {\n        // Locale inválido para o Intl (ex.: 'pt_BR').\n        return clonePreset(PT_BR_PRESET, locale);\n    }\n}\n","import { Injectable, inject } from '@angular/core';\n\nimport { user } from '@seniorsistemas/senior-platform-data';\nimport moment from 'moment';\nimport { from, Observable, of } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\nimport { CookieService } from 'ngx-cookie-service';\n\nimport { LocaleOptions } from './options/index';\nimport { buildLocaleOptions, getLocaleDecimalSeparator, getLocaleGroupingSeparator } from './options/locale-presets';\n\nimport 'moment/locale/es';\nimport 'moment/locale/pt-br';\n\n/**\n * @description Serviço de localização que obtém e armazena o locale do usuário\n * a partir da plataforma Senior. Fornece separadores decimais e de milhar,\n * configurações de calendário e opções de formato PrimeNG com base no locale ativo.\n *\n * @category Locale\n */\n@Injectable({ providedIn: 'root' })\nexport class LocaleService {\n    private readonly cookieService = inject(CookieService);\n\n    private locale?: string;\n    private localeOptions?: LocaleOptions;\n    private readonly VALID_MOMENT_LANGUAGES = {\n        spanish: ['es-do', 'es-mx', 'es-us', 'es'],\n        english: ['en', 'en-au', 'en-ca', 'en-gb', 'en-ie', 'en-il', 'en-in', 'en-nz', 'en-sg'],\n    };\n\n    get(): Observable<LocaleOptions> {\n        return this.localeOptions\n            ? of(this.localeOptions)\n            : this.getLocaleConfig().pipe(\n                  tap(\n                      (localeOptions: LocaleOptions) =>\n                          (this.localeOptions = { ...localeOptions, locale: this.locale }),\n                  ),\n              );\n    }\n\n    getLocale(): Observable<string> {\n        return this.locale\n            ? of(this.locale)\n            : from(this.getUserData()).pipe(\n                  map((userData: any) => {\n                      const locale = <string>userData.locale || <string>userData.tenantLocale || 'pt-BR';\n                      this.locale = locale;\n                      return this.locale;\n                  }),\n              );\n    }\n\n    /**\n     * Returns an object with the locale options based on the user's locale(platform locale).\n     * @return The locale options object.\n     */\n    getLocaleOptions(): LocaleOptions | undefined {\n        return this.localeOptions;\n    }\n\n    private getUserData() {\n        try {\n            return of(JSON.parse(this.cookieService.get('com.senior.token')));\n        } catch (ex) {\n            console.warn('Unable to obtain user locale from cookie, calling getUser');\n            return user.getUserData();\n        }\n    }\n\n    /**\n     * Set valid locale for moment js locale based on user current locale.\n     * Sometimes the locale from user not exists in locale of moment, for example, is valid user with language 'es-CO' but for the momentjs the locale 'es-CO' not exist, so with this function will be applied the 'es' locale.\n     * @param userLocale\n     * @returns valid locale based in user locale.\n     */\n    private parseUserLocaleToMoment(userLocale: string): string {\n        userLocale = userLocale.toLowerCase();\n        if (userLocale.startsWith('es') && !this.VALID_MOMENT_LANGUAGES.spanish.includes(userLocale)) {\n            userLocale = 'es';\n        }\n        if (userLocale.startsWith('en') && !this.VALID_MOMENT_LANGUAGES.english.includes(userLocale)) {\n            userLocale = 'en';\n        }\n        return userLocale;\n    }\n\n    private getLocaleConfig(): Observable<LocaleOptions> {\n        return this.getLocale().pipe(\n            map((locale: string) => {\n                moment.locale(this.parseUserLocaleToMoment(locale));\n                return buildLocaleOptions(locale);\n            }),\n        );\n    }\n\n    getGroupingSeparator(): string | undefined {\n        return getLocaleGroupingSeparator(this.locale);\n    }\n\n    getDecimalSeparator(): string | undefined {\n        return getLocaleDecimalSeparator(this.locale);\n    }\n}\n\n","import BigNumber from 'bignumber.js';\n\nexport interface LocalizedBignumberOptions {\n    decimalSeparator?: string;\n    thousandsSeparator?: string;\n    scale?: number;\n    prefix?: string;\n    suffix?: string;\n    allowNegative?: boolean;\n}\n\nexport function applyLocalizedMask(\n    rawValue: any,\n    options: Required<LocalizedBignumberOptions>,\n    isNumber: boolean,\n): string {\n    const { allowNegative, decimalSeparator, scale, prefix, suffix, thousandsSeparator } = options;\n    const value = isNumber ? new BigNumber(rawValue).toFixed(scale).toString() : String(rawValue);\n    const onlyNumbers = value.replace(/\\D/g, '');\n    if (!onlyNumbers) {\n        return '';\n    }\n    const integerPart =\n        onlyNumbers\n            .slice(0, onlyNumbers.length - scale)\n            .replace(/^0*/g, '')\n            .replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandsSeparator) || '0';\n    const decimalPart = onlyNumbers.slice(onlyNumbers.length - scale);\n    const newValue = scale ? integerPart + decimalSeparator + decimalPart : integerPart;\n    const isZero = !integerPart && !decimalPart;\n    const operator = String(value).includes('-') && allowNegative && !isZero ? '-' : '';\n    return `${operator}${prefix}${newValue}${suffix}`;\n}\n","import { Pipe, PipeTransform, inject } from '@angular/core';\nimport { LocaleService } from '../locale.service';\nimport { map } from 'rxjs/operators';\nimport { of } from 'rxjs';\nimport BigNumber from 'bignumber.js';\nimport { applyLocalizedMask, LocalizedBignumberOptions } from '../apply-localized-mask';\n\nexport type { LocalizedBignumberOptions };\n\n/**\n * Opções do pipe `localizedBignumber`: as da máscara mais as de compatibilidade com os pipes depreciados\n * `localizedNumber` e `localizedCurrency`, que formatavam valores vazios como `0`.\n */\nexport interface LocalizedBignumberPipeOptions extends LocalizedBignumberOptions {\n    /**\n     * Quando `true`, uma string vazia (ou só com espaços) é formatada como `0`, em vez de ficar vazia.\n     * É o comportamento dos pipes depreciados `localizedNumber` e `localizedCurrency` (`Number('')` é `0`).\n     * @default false\n     */\n    emptyAsZero?: boolean;\n    /**\n     * Quando `true`, `null` é formatado como `0`, em vez de ser devolvido como está.\n     * É o comportamento do pipe depreciado `localizedNumber` (`Number(null)` é `0`). `undefined` nunca é convertido.\n     * @default false\n     */\n    nullAsZero?: boolean;\n}\n\n@Pipe({\n    name: 'localizedBignumber',\n    standalone: true,\n})\nexport class LocalizedBignumberPipe implements PipeTransform {\n    private localeService = inject(LocaleService);\n\n    public transform(value?: any, options?: LocalizedBignumberPipeOptions): any {\n        const input = this.coerceEmpty(value, options);\n        return input !== undefined && input !== null ? this.applyMask(input, options) : of(input);\n    }\n\n    private coerceEmpty(value: any, options?: LocalizedBignumberPipeOptions): any {\n        if (options?.nullAsZero && value === null) return 0;\n        if (options?.emptyAsZero && typeof value === 'string' && value.trim() === '') return 0;\n        return value;\n    }\n\n    private applyMask(value?: any, options?: LocalizedBignumberPipeOptions) {\n        return this.localeService.get().pipe(\n            map((localeConfig) => {\n                const configs: Required<LocalizedBignumberOptions> = {\n                    prefix: options?.prefix ?? localeConfig?.number?.currencySymbol ?? 'R$',\n                    thousandsSeparator: options?.thousandsSeparator ?? localeConfig?.number?.thousandsSeparator ?? '.',\n                    decimalSeparator: options?.decimalSeparator ?? localeConfig?.number?.decimalSeparator ?? ',',\n                    scale: options?.scale ?? 2,\n                    suffix: options?.suffix ?? '',\n                    allowNegative: options?.allowNegative ?? true,\n                };\n                const isNumber = !new BigNumber(value).isNaN();\n                return applyLocalizedMask(value, configs, isNumber);\n            }),\n        );\n    }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { LocalizedBignumberPipe, LocalizedBignumberPipeOptions } from './localized-bignumber.pipe';\n\n@Pipe({\n    name: 'localizedBignumberImpure',\n    pure: false,\n    standalone: true,\n})\nexport class LocalizedBignumberImpurePipe extends LocalizedBignumberPipe implements PipeTransform {\n    public override transform(value?: any, options?: LocalizedBignumberPipeOptions): any {\n        return super.transform(value, options);\n    }\n}\n","import { Pipe, PipeTransform, inject } from '@angular/core';\r\nimport { LocaleService } from '../locale.service';\r\nimport { map } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\nimport { INumberLocaleOptions, NumberLocaleOptions } from '../options';\r\n\r\nexport interface ILocalizedCurrencyPipeOptions extends INumberLocaleOptions {\r\n    scale?: number;\r\n}\r\n\r\nexport class LocalizedCurrencyPipeOptions extends NumberLocaleOptions implements ILocalizedCurrencyPipeOptions {\r\n    public scale = 2;\r\n\r\n    constructor(config: ILocalizedCurrencyPipeOptions = {}) {\r\n        super(config);\r\n    }\r\n}\r\n\r\n/**\r\n * @deprecated Should use localizedBignumberPipe instead\r\n */\r\n@Pipe({\r\n    name: 'localizedCurrency',\r\n    standalone: true,\r\n})\r\nexport class LocalizedCurrencyPipe implements PipeTransform {\r\n    private localeService = inject(LocaleService);\r\n\r\n    public transform(value?: any, options?: LocalizedCurrencyPipeOptions): any {\r\n        if (!options) {\r\n            options = new LocalizedCurrencyPipeOptions();\r\n        }\r\n        return value !== undefined && value !== null ? this.applyMask(value, options) : of(value);\r\n    }\r\n\r\n    private applyMask(value: any, options: LocalizedCurrencyPipeOptions) {\r\n        return this.localeService.get().pipe(\r\n            map((localeConfig) => {\r\n                const config = { ...localeConfig.number, ...options };\r\n                const { scale, currencySymbol, thousandsSeparator, decimalSeparator } = config;\r\n\r\n                const rawValue = Number(value).toFixed(scale);\r\n                const onlyNumbers = rawValue.replace(/[^0-9]/g, ``);\r\n                const integerPart =\r\n                    onlyNumbers\r\n                        .slice(0, onlyNumbers.length - scale)\r\n                        .replace(/^0*/g, ``)\r\n                        .replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandsSeparator!) || `0`;\r\n                const decimalPart = onlyNumbers.slice(onlyNumbers.length - scale);\r\n                const newValue = scale ? integerPart + decimalSeparator + decimalPart : integerPart;\r\n                const isZero = !Number(onlyNumbers);\r\n                const operator = rawValue.includes('-') && !isZero ? '-' : '';\r\n                return `${operator}${currencySymbol}${newValue}`;\r\n            }),\r\n        );\r\n    }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\nimport { LocalizedCurrencyPipe, LocalizedCurrencyPipeOptions } from './localized-currency.pipe';\r\n\r\n/**\r\n * @deprecated Should use localizedBignumberPipe instead\r\n */\r\n@Pipe({\r\n    name: 'localizedCurrencyImpure',\r\n    pure: false,\r\n    standalone: true,\r\n})\r\nexport class LocalizedCurrencyImpurePipe extends LocalizedCurrencyPipe implements PipeTransform {\r\n    public override transform(\r\n        value?: any,\r\n        options: LocalizedCurrencyPipeOptions = new LocalizedCurrencyPipeOptions(),\r\n    ): any {\r\n        return super.transform(value, options);\r\n    }\r\n}\r\n","import { Pipe, PipeTransform, inject } from '@angular/core';\r\n\r\nimport moment from 'moment';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { LocaleService } from '../locale.service';\r\n\r\n@Pipe({\r\n    name: 'localizedDate',\r\n    standalone: true,\r\n})\r\nexport class LocalizedDatePipe implements PipeTransform {\r\n    private localeService = inject(LocaleService);\r\n\r\n    public transform(value: any, format: string = 'L LTS'): any {\r\n        return this.localeService.get().pipe(map(() => (value ? moment(value).format(format) : value)));\r\n    }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { LocalizedDatePipe } from './localized-date.pipe';\r\n\r\n@Pipe({\r\n    name: 'localizedDateImpure',\r\n    pure: false,\r\n    standalone: true,\r\n})\r\nexport class LocalizedDateImpurePipe extends LocalizedDatePipe implements PipeTransform {}\r\n","import { Pipe, PipeTransform, inject } from '@angular/core';\r\nimport { from } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { LocaleService } from '../locale.service';\r\n\r\n/**\r\n * @deprecated Should use localizedBignumberPipe instead\r\n */\r\n@Pipe({\r\n    name: 'localizedNumber',\r\n    standalone: true,\r\n})\r\nexport class LocalizedNumberPipe implements PipeTransform {\r\n    private localeService = inject(LocaleService);\r\n\r\n    transform(value: number | string, minimumFractionDigits?: number) {\r\n        return from(this.localeService.getLocale()).pipe(\r\n            map((locale: string) => {\r\n                const numericValue = Number(value);\r\n\r\n                if (!value && isNaN(numericValue)) return;\r\n\r\n                return new Intl.NumberFormat(locale, {\r\n                    minimumFractionDigits: minimumFractionDigits || 0,\r\n                }).format(Number(value));\r\n            }),\r\n        );\r\n    }\r\n}\r\n\r\nexport interface Locale {\r\n    localidade?: string;\r\n    tenantLocale?: string;\r\n}\r\n","import { Pipe, PipeTransform, inject } from '@angular/core';\r\nimport moment from 'moment';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { LocaleService } from '../locale.service';\r\n\r\n@Pipe({\r\n    name: 'localizedTime',\r\n    standalone: true,\r\n})\r\nexport class LocalizedTimePipe implements PipeTransform {\r\n    private localeService = inject(LocaleService);\r\n\r\n    public transform(value: any, format: string = 'LTS'): any {\r\n        return this.localeService.get().pipe(map(() => (value ? moment(value, 'HH:mm:ss').format(format) : value)));\r\n    }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { LocalizedTimePipe } from './localized-time.pipe';\r\n\r\n@Pipe({\r\n    name: 'localizedTimeImpure',\r\n    pure: false,\r\n    standalone: true,\r\n})\r\nexport class LocalizedTimeImpurePipe extends LocalizedTimePipe implements PipeTransform {}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\n\r\nimport { LocaleService } from './locale.service';\r\nimport { LocalizedBignumberImpurePipe } from './pipes/localized-bignumber-impure.pipe';\r\nimport { LocalizedBignumberPipe } from './pipes/localized-bignumber.pipe';\r\nimport { LocalizedCurrencyImpurePipe } from './pipes/localized-currency-impure.pipe';\r\nimport { LocalizedCurrencyPipe } from './pipes/localized-currency.pipe';\r\nimport { LocalizedDateImpurePipe } from './pipes/localized-date-impure.pipe';\r\nimport { LocalizedDatePipe } from './pipes/localized-date.pipe';\r\nimport { LocalizedNumberPipe } from './pipes/localized-number.pipe';\r\nimport { LocalizedTimeImpurePipe } from './pipes/localized-time-impure.pipe';\r\nimport { LocalizedTimePipe } from './pipes/localized-time.pipe';\r\n\r\n/**\r\n * @deprecated Será removido na v20. Importe diretamente os standalones `LocalizedCurrencyPipe`,\r\n * `LocalizedDatePipe`, `LocalizedTimePipe`, `LocalizedNumberPipe`, `LocalizedCurrencyImpurePipe`,\r\n * `LocalizedDateImpurePipe`, `LocalizedTimeImpurePipe`, `LocalizedBignumberPipe` e\r\n * `LocalizedBignumberImpurePipe` (de `@seniorsistemas/angular-components/locale`) no lugar deste módulo.\r\n *\r\n * Substitua `LocaleModule.forRoot()` por `provideLocale()` (de `@seniorsistemas/angular-components/locale`).\r\n *\r\n * `LocaleModule.forChild()` não tem equivalente e pode ser removido.\r\n *\r\n * Migração automática (também executada pelo `ng update` na v20):\r\n * `ng generate @seniorsistemas/angular-components:migrate-modules-to-standalone`\r\n */\r\n@NgModule({\r\n    imports: [\r\n        LocalizedCurrencyPipe,\r\n        LocalizedDatePipe,\r\n        LocalizedTimePipe,\r\n        LocalizedNumberPipe,\r\n        LocalizedCurrencyImpurePipe,\r\n        LocalizedDateImpurePipe,\r\n        LocalizedTimeImpurePipe,\r\n        LocalizedBignumberPipe,\r\n        LocalizedBignumberImpurePipe,\r\n    ],\r\n    exports: [\r\n        LocalizedCurrencyPipe,\r\n        LocalizedDatePipe,\r\n        LocalizedTimePipe,\r\n        LocalizedNumberPipe,\r\n        LocalizedCurrencyImpurePipe,\r\n        LocalizedDateImpurePipe,\r\n        LocalizedTimeImpurePipe,\r\n        LocalizedBignumberPipe,\r\n        LocalizedBignumberImpurePipe,\r\n    ],\r\n})\r\nexport class LocaleModule {\r\n    public static forRoot(): ModuleWithProviders<LocaleModule> {\r\n        return {\r\n            ngModule: LocaleModule,\r\n            providers: [\r\n                LocaleService,\r\n                LocalizedCurrencyPipe,\r\n                LocalizedDatePipe,\r\n                LocalizedTimePipe,\r\n                LocalizedNumberPipe,\r\n                LocalizedCurrencyImpurePipe,\r\n                LocalizedDateImpurePipe,\r\n                LocalizedTimeImpurePipe,\r\n                LocalizedBignumberPipe,\r\n                LocalizedBignumberImpurePipe,\r\n            ],\r\n        };\r\n    }\r\n\r\n    public static forChild(): ModuleWithProviders<LocaleModule> {\r\n        return {\r\n            ngModule: LocaleModule,\r\n        };\r\n    }\r\n}\r\n","import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\n\nimport { LocaleService } from './locale.service';\nimport { LocalizedBignumberImpurePipe } from './pipes/localized-bignumber-impure.pipe';\nimport { LocalizedBignumberPipe } from './pipes/localized-bignumber.pipe';\nimport { LocalizedCurrencyImpurePipe } from './pipes/localized-currency-impure.pipe';\nimport { LocalizedCurrencyPipe } from './pipes/localized-currency.pipe';\nimport { LocalizedDateImpurePipe } from './pipes/localized-date-impure.pipe';\nimport { LocalizedDatePipe } from './pipes/localized-date.pipe';\nimport { LocalizedNumberPipe } from './pipes/localized-number.pipe';\nimport { LocalizedTimeImpurePipe } from './pipes/localized-time-impure.pipe';\nimport { LocalizedTimePipe } from './pipes/localized-time.pipe';\n\n/**\n * Registra o `LocaleService` e os pipes de localização como providers, para que possam ser injetados\n * em classes (`inject(LocalizedDatePipe)`).\n *\n * Substitui `LocaleModule.forRoot()` e funciona em aplicações standalone (`app.config.ts`) e também\n * em `NgModule.providers`. Para usar os pipes nos templates, importe os pipes standalone diretamente.\n *\n * @example\n * ```typescript\n * export const appConfig: ApplicationConfig = {\n *     providers: [provideLocale()],\n * };\n * ```\n *\n * @returns Providers de ambiente para o injetor raiz.\n */\nexport function provideLocale(): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        LocaleService,\n        LocalizedCurrencyPipe,\n        LocalizedDatePipe,\n        LocalizedTimePipe,\n        LocalizedNumberPipe,\n        LocalizedCurrencyImpurePipe,\n        LocalizedDateImpurePipe,\n        LocalizedTimeImpurePipe,\n        LocalizedBignumberPipe,\n        LocalizedBignumberImpurePipe,\n    ]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}