{"version":3,"file":"sixbell-telco-sdk-utils-formatting.mjs","sources":["../../../projects/sdk/utils/formatting/src/constants/constants.ts","../../../projects/sdk/utils/formatting/src/utils/date-format/date-format.ts","../../../projects/sdk/utils/formatting/src/utils/number-format/number-format.ts","../../../projects/sdk/utils/formatting/src/service/formatting.service.ts","../../../projects/sdk/utils/formatting/src/pipes/currency/st-currency.pipe.ts","../../../projects/sdk/utils/formatting/src/pipes/date/st-date.pipe.ts","../../../projects/sdk/utils/formatting/src/pipes/decimal/st-decimal.pipe.ts","../../../projects/sdk/utils/formatting/src/pipes/percent/st-percent.pipe.ts","../../../projects/sdk/utils/formatting/sixbell-telco-sdk-utils-formatting.ts"],"sourcesContent":["/**\n * Source for ISO 4217 currency codes: SIX Group list-one.xml (published 2026-01-01).\n * Codes are deduplicated and checked in to keep the SDK self-contained at runtime.\n */\nexport const CURRENCY_CODES = [\n\t'AED',\n\t'AFN',\n\t'ALL',\n\t'AMD',\n\t'AOA',\n\t'ARS',\n\t'AUD',\n\t'AWG',\n\t'AZN',\n\t'BAM',\n\t'BBD',\n\t'BDT',\n\t'BHD',\n\t'BIF',\n\t'BMD',\n\t'BND',\n\t'BOB',\n\t'BOV',\n\t'BRL',\n\t'BSD',\n\t'BTN',\n\t'BWP',\n\t'BYN',\n\t'BZD',\n\t'CAD',\n\t'CDF',\n\t'CHE',\n\t'CHF',\n\t'CHW',\n\t'CLF',\n\t'CLP',\n\t'CNY',\n\t'COP',\n\t'COU',\n\t'CRC',\n\t'CUP',\n\t'CVE',\n\t'CZK',\n\t'DJF',\n\t'DKK',\n\t'DOP',\n\t'DZD',\n\t'EGP',\n\t'ERN',\n\t'ETB',\n\t'EUR',\n\t'FJD',\n\t'FKP',\n\t'GBP',\n\t'GEL',\n\t'GHS',\n\t'GIP',\n\t'GMD',\n\t'GNF',\n\t'GTQ',\n\t'GYD',\n\t'HKD',\n\t'HNL',\n\t'HTG',\n\t'HUF',\n\t'IDR',\n\t'ILS',\n\t'INR',\n\t'IQD',\n\t'IRR',\n\t'ISK',\n\t'JMD',\n\t'JOD',\n\t'JPY',\n\t'KES',\n\t'KGS',\n\t'KHR',\n\t'KMF',\n\t'KPW',\n\t'KRW',\n\t'KWD',\n\t'KYD',\n\t'KZT',\n\t'LAK',\n\t'LBP',\n\t'LKR',\n\t'LRD',\n\t'LSL',\n\t'LYD',\n\t'MAD',\n\t'MDL',\n\t'MGA',\n\t'MKD',\n\t'MMK',\n\t'MNT',\n\t'MOP',\n\t'MRU',\n\t'MUR',\n\t'MVR',\n\t'MWK',\n\t'MXN',\n\t'MXV',\n\t'MYR',\n\t'MZN',\n\t'NAD',\n\t'NGN',\n\t'NIO',\n\t'NOK',\n\t'NPR',\n\t'NZD',\n\t'OMR',\n\t'PAB',\n\t'PEN',\n\t'PGK',\n\t'PHP',\n\t'PKR',\n\t'PLN',\n\t'PYG',\n\t'QAR',\n\t'RON',\n\t'RSD',\n\t'RUB',\n\t'RWF',\n\t'SAR',\n\t'SBD',\n\t'SCR',\n\t'SDG',\n\t'SEK',\n\t'SGD',\n\t'SHP',\n\t'SLE',\n\t'SOS',\n\t'SRD',\n\t'SSP',\n\t'STN',\n\t'SVC',\n\t'SYP',\n\t'SZL',\n\t'THB',\n\t'TJS',\n\t'TMT',\n\t'TND',\n\t'TOP',\n\t'TRY',\n\t'TTD',\n\t'TWD',\n\t'TZS',\n\t'UAH',\n\t'UGX',\n\t'USD',\n\t'USN',\n\t'UYI',\n\t'UYU',\n\t'UYW',\n\t'UZS',\n\t'VED',\n\t'VES',\n\t'VND',\n\t'VUV',\n\t'WST',\n\t'XAD',\n\t'XAF',\n\t'XAG',\n\t'XAU',\n\t'XBA',\n\t'XBB',\n\t'XBC',\n\t'XBD',\n\t'XCD',\n\t'XCG',\n\t'XDR',\n\t'XOF',\n\t'XPD',\n\t'XPF',\n\t'XPT',\n\t'XSU',\n\t'XTS',\n\t'XUA',\n\t'XXX',\n\t'YER',\n\t'ZAR',\n\t'ZMW',\n\t'ZWG',\n] as const;\n\nexport const CURRENCY_DISPLAYS = ['symbol', 'code', 'name', 'narrowSymbol'] as const;\n\nexport const DATE_LOCALE_PRESETS = ['locale-short', 'locale-medium', 'locale-long', 'locale-full'] as const;\n\nexport const DATE_COMMON_FORMATS = ['YYYY-MM-DD', 'DD/MM/YYYY', 'DD/MM/YYYY HH:mm:ss', 'MMMM D, YYYY', 'dddd, D [de] MMMM [de] YYYY'] as const;\n\nexport const DATE_FORMAT_OPTIONS = [...DATE_COMMON_FORMATS, ...DATE_LOCALE_PRESETS] as const;\n\nexport const CURRENCY_DIGITS_PRESETS = ['1.0-0', '1.2-2', '1.2-4'] as const;\n\nexport const DECIMAL_DIGITS_PRESETS = ['1.0-0', '1.2-2', '1.2-4'] as const;\n\nexport const PERCENT_DIGITS_PRESETS = ['1.0-0', '1.1-1', '1.2-2'] as const;\n\nexport const DIGITS_INFO_PRESETS = ['1.0-0', '1.0-2', '1.1-1', '1.2-2', '1.2-4'] as const;\n\nexport const DEFAULT_DATE_FORMAT = 'locale-medium' as const;\nexport const DEFAULT_DATE_FALLBACK = '' as const;\nexport const DEFAULT_CURRENCY_DIGITS = '1.2-2' as const;\nexport const DEFAULT_DECIMAL_DIGITS = '1.0-3' as const;\nexport const DEFAULT_PERCENT_DIGITS = '1.0-2' as const;\n","import dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport { DATE_LOCALE_PRESETS, DEFAULT_DATE_FALLBACK } from '../../constants/constants';\nimport { DateFormat, DatePreset, DateValue } from '../../models/formatting';\n\ndayjs.extend(customParseFormat);\n\nconst DATE_ONLY_PATTERN = /^(\\d{4})-(\\d{2})-(\\d{2})$/;\n\nfunction isDateInstance(value: unknown): value is Date {\n\treturn value instanceof Date && !Number.isNaN(value.getTime());\n}\n\nfunction parseDateOnly(value: string): Date | null {\n\tconst match = DATE_ONLY_PATTERN.exec(value);\n\tif (!match) {\n\t\treturn null;\n\t}\n\n\tconst [, year, month, day] = match;\n\treturn new Date(Number(year), Number(month) - 1, Number(day));\n}\n\nexport function isLocaleDatePreset(value: DateFormat): value is DatePreset {\n\treturn typeof value === 'string' && (DATE_LOCALE_PRESETS as readonly string[]).includes(value);\n}\n\nexport function isDatePreset(value: string): value is DatePreset {\n\treturn (DATE_LOCALE_PRESETS as readonly string[]).includes(value);\n}\n\nexport function normalizeDateForIntl(value: DateValue): Date | null {\n\tif (value === null || value === undefined || value === '') {\n\t\treturn null;\n\t}\n\n\tif (isDateInstance(value)) {\n\t\treturn value;\n\t}\n\n\tif (typeof value === 'number') {\n\t\tconst date = new Date(value);\n\t\treturn Number.isNaN(date.getTime()) ? null : date;\n\t}\n\n\tif (typeof value === 'string') {\n\t\tconst dateOnly = parseDateOnly(value);\n\t\tif (dateOnly) {\n\t\t\treturn dateOnly;\n\t\t}\n\n\t\tconst date = new Date(value);\n\t\treturn Number.isNaN(date.getTime()) ? null : date;\n\t}\n\n\treturn null;\n}\n\nexport function normalizeDateForPattern(value: DateValue) {\n\tif (value === null || value === undefined || value === '') {\n\t\treturn null;\n\t}\n\n\tif (typeof value === 'string') {\n\t\tconst dateOnly = parseDateOnly(value);\n\t\tif (dateOnly) {\n\t\t\treturn dayjs(dateOnly);\n\t\t}\n\t}\n\n\tconst parsed = dayjs(value);\n\treturn parsed.isValid() ? parsed : null;\n}\n\nexport function resolveIntlDateOptions(format: DatePreset): Intl.DateTimeFormatOptions {\n\tswitch (format) {\n\t\tcase 'locale-short':\n\t\t\treturn { dateStyle: 'short' };\n\t\tcase 'locale-long':\n\t\t\treturn { dateStyle: 'long' };\n\t\tcase 'locale-full':\n\t\t\treturn { dateStyle: 'full' };\n\t\tcase 'locale-medium':\n\t\tdefault:\n\t\t\treturn { dateStyle: 'medium' };\n\t}\n}\n\nexport function formatDateWithIntl(value: DateValue, format: DatePreset, locale: string, fallback: string = DEFAULT_DATE_FALLBACK): string {\n\tconst normalized = normalizeDateForIntl(value);\n\tif (!normalized) {\n\t\treturn fallback;\n\t}\n\n\treturn new Intl.DateTimeFormat(locale, resolveIntlDateOptions(format)).format(normalized);\n}\n\nexport function formatDateWithPattern(value: DateValue, format: string, locale: string, fallback: string = DEFAULT_DATE_FALLBACK): string {\n\tconst normalized = normalizeDateForPattern(value);\n\tif (!normalized) {\n\t\treturn fallback;\n\t}\n\n\tconst date = normalized.toDate();\n\tconst hour24 = date.getHours();\n\tconst hour12 = hour24 % 12 || 12;\n\tconst monthLong = new Intl.DateTimeFormat(locale, { month: 'long' }).format(date);\n\tconst monthShort = new Intl.DateTimeFormat(locale, { month: 'short' }).format(date);\n\tconst weekdayLong = new Intl.DateTimeFormat(locale, { weekday: 'long' }).format(date);\n\tconst weekdayShort = new Intl.DateTimeFormat(locale, { weekday: 'short' }).format(date);\n\n\tconst replacements: Array<[string, string]> = [\n\t\t['YYYY', String(date.getFullYear()).padStart(4, '0')],\n\t\t['YY', String(date.getFullYear()).slice(-2)],\n\t\t['MMMM', monthLong],\n\t\t['MMM', monthShort],\n\t\t['MM', String(date.getMonth() + 1).padStart(2, '0')],\n\t\t['M', String(date.getMonth() + 1)],\n\t\t['DD', String(date.getDate()).padStart(2, '0')],\n\t\t['D', String(date.getDate())],\n\t\t['dddd', weekdayLong],\n\t\t['ddd', weekdayShort],\n\t\t['HH', String(hour24).padStart(2, '0')],\n\t\t['H', String(hour24)],\n\t\t['hh', String(hour12).padStart(2, '0')],\n\t\t['h', String(hour12)],\n\t\t['mm', String(date.getMinutes()).padStart(2, '0')],\n\t\t['m', String(date.getMinutes())],\n\t\t['ss', String(date.getSeconds()).padStart(2, '0')],\n\t\t['s', String(date.getSeconds())],\n\t\t['A', hour24 >= 12 ? 'PM' : 'AM'],\n\t\t['a', hour24 >= 12 ? 'pm' : 'am'],\n\t];\n\n\tconst replacementMap = new Map(replacements);\n\tconst tokenPattern = /(YYYY|MMMM|dddd|MMM|ddd|YY|MM|DD|HH|hh|mm|ss|M|D|H|h|m|s|A|a)/g;\n\n\treturn format.replace(tokenPattern, (token) => replacementMap.get(token) ?? token);\n}\n","import { CURRENCY_CODES, CURRENCY_DISPLAYS } from '../../constants/constants';\nimport { CurrencyDisplay } from '../../models/formatting';\n\nexport interface ParsedDigitsInfo {\n\tminimumIntegerDigits?: number;\n\tminimumFractionDigits?: number;\n\tmaximumFractionDigits?: number;\n}\n\nexport const DIGITS_INFO_PATTERN = /^(\\d+)?\\.((\\d+)(-(\\d+))?)$/;\n\nconst currencyCodeSet = new Set<string>(CURRENCY_CODES);\nconst currencyDisplaySet = new Set<string>(CURRENCY_DISPLAYS);\n\nexport function isDigitsInfo(value: string): boolean {\n\treturn DIGITS_INFO_PATTERN.test(value.trim());\n}\n\nexport function isCurrencyDisplay(value: string): value is CurrencyDisplay {\n\treturn currencyDisplaySet.has(value);\n}\n\nexport function isIso4217CurrencyCode(value: string): boolean {\n\treturn currencyCodeSet.has(value.toUpperCase());\n}\n\nexport function parseDigitsInfo(digitsInfo?: string): ParsedDigitsInfo {\n\tif (!digitsInfo) {\n\t\treturn {};\n\t}\n\n\tconst match = DIGITS_INFO_PATTERN.exec(digitsInfo.trim());\n\tif (!match) {\n\t\treturn {};\n\t}\n\n\tconst minimumIntegerDigits = Number(match[1] ?? '1');\n\tconst minimumFractionDigits = Number(match[3] ?? '0');\n\tconst maximumFractionDigits = Number(match[5] ?? match[3] ?? '0');\n\n\treturn {\n\t\tminimumIntegerDigits,\n\t\tminimumFractionDigits,\n\t\tmaximumFractionDigits: Math.max(minimumFractionDigits, maximumFractionDigits),\n\t};\n}\n\nexport function toNumericValue(value: number | string | null | undefined): number | null {\n\tif (value === null || value === undefined || value === '') {\n\t\treturn null;\n\t}\n\n\tconst numericValue = typeof value === 'number' ? value : Number(value);\n\treturn Number.isFinite(numericValue) ? numericValue : null;\n}\n","import { computed, inject, Injectable } from '@angular/core';\nimport { TranslationService } from '@sixbell-telco/sdk/utils/translation';\nimport { DEFAULT_DATE_FALLBACK, DEFAULT_DATE_FORMAT, DEFAULT_DECIMAL_DIGITS, DEFAULT_PERCENT_DIGITS } from '../constants/constants';\nimport {\n\tCurrencyCode,\n\tCurrencyFormatOptions,\n\tDateFormat,\n\tDateFormatOptions,\n\tDateValue,\n\tDecimalFormatOptions,\n\tNumberValue,\n\tPercentFormatOptions,\n} from '../models/formatting';\nimport { formatDateWithIntl, formatDateWithPattern, isLocaleDatePreset } from '../utils/date-format/date-format';\nimport { parseDigitsInfo, toNumericValue } from '../utils/number-format/number-format';\n\n@Injectable({ providedIn: 'root' })\nexport class FormattingService {\n\tprivate readonly translationService = inject(TranslationService);\n\n\tpublic readonly currentLocale = computed(() => this.translationService.currentLocale());\n\n\tpublic getCurrentLocale(): string {\n\t\treturn this.currentLocale();\n\t}\n\n\tpublic formatDate(value: DateValue, format: DateFormat = DEFAULT_DATE_FORMAT, options?: DateFormatOptions): string {\n\t\tconst locale = options?.locale ?? this.getCurrentLocale();\n\t\tconst fallback = options?.fallback ?? DEFAULT_DATE_FALLBACK;\n\n\t\tif (isLocaleDatePreset(format)) {\n\t\t\treturn formatDateWithIntl(value, format, locale, fallback);\n\t\t}\n\n\t\treturn formatDateWithPattern(value, format, locale, fallback);\n\t}\n\n\tpublic formatCurrency(value: NumberValue, currencyCode: CurrencyCode, options?: CurrencyFormatOptions): string {\n\t\tconst numericValue = toNumericValue(value);\n\t\tif (numericValue === null) {\n\t\t\treturn options?.fallback ?? DEFAULT_DATE_FALLBACK;\n\t\t}\n\n\t\ttry {\n\t\t\treturn new Intl.NumberFormat(options?.locale ?? this.getCurrentLocale(), {\n\t\t\t\tstyle: 'currency',\n\t\t\t\tcurrency: currencyCode,\n\t\t\t\tcurrencyDisplay: options?.display ?? 'symbol',\n\t\t\t\t...parseDigitsInfo(options?.digitsInfo),\n\t\t\t}).format(numericValue);\n\t\t} catch {\n\t\t\tconst formattedNumber = new Intl.NumberFormat(options?.locale ?? this.getCurrentLocale(), {\n\t\t\t\tstyle: 'decimal',\n\t\t\t\t...parseDigitsInfo(options?.digitsInfo ?? DEFAULT_DECIMAL_DIGITS),\n\t\t\t}).format(numericValue);\n\n\t\t\treturn `${currencyCode} ${formattedNumber}`;\n\t\t}\n\t}\n\n\tpublic formatDecimal(value: NumberValue, options?: DecimalFormatOptions): string {\n\t\tconst numericValue = toNumericValue(value);\n\t\tif (numericValue === null) {\n\t\t\treturn options?.fallback ?? DEFAULT_DATE_FALLBACK;\n\t\t}\n\n\t\treturn new Intl.NumberFormat(options?.locale ?? this.getCurrentLocale(), {\n\t\t\tstyle: 'decimal',\n\t\t\t...parseDigitsInfo(options?.digitsInfo ?? DEFAULT_DECIMAL_DIGITS),\n\t\t}).format(numericValue);\n\t}\n\n\tpublic formatPercent(value: NumberValue, options?: PercentFormatOptions): string {\n\t\tconst numericValue = toNumericValue(value);\n\t\tif (numericValue === null) {\n\t\t\treturn options?.fallback ?? DEFAULT_DATE_FALLBACK;\n\t\t}\n\n\t\treturn new Intl.NumberFormat(options?.locale ?? this.getCurrentLocale(), {\n\t\t\tstyle: 'percent',\n\t\t\t...parseDigitsInfo(options?.digitsInfo ?? DEFAULT_PERCENT_DIGITS),\n\t\t}).format(numericValue);\n\t}\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { CurrencyCode, CurrencyDisplay, DigitsInfo, NumberValue } from '../../models/formatting';\nimport { FormattingService } from '../../service/formatting.service';\n\n@Pipe({\n\tname: 'stCurrency',\n\tstandalone: true,\n\tpure: false,\n})\nexport class StCurrencyPipe implements PipeTransform {\n\tprivate readonly formattingService = inject(FormattingService);\n\n\ttransform(value: NumberValue, currencyCode: CurrencyCode, display: CurrencyDisplay = 'symbol', digitsInfo?: DigitsInfo, fallback = ''): string {\n\t\treturn this.formattingService.formatCurrency(value, currencyCode, { display, digitsInfo, fallback });\n\t}\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { DEFAULT_DATE_FORMAT } from '../../constants/constants';\nimport { DateFormat, DateValue } from '../../models/formatting';\nimport { FormattingService } from '../../service/formatting.service';\n\n@Pipe({\n\tname: 'stDate',\n\tstandalone: true,\n\tpure: false,\n})\nexport class StDatePipe implements PipeTransform {\n\tprivate readonly formattingService = inject(FormattingService);\n\n\ttransform(value: DateValue, format: DateFormat = DEFAULT_DATE_FORMAT, fallback = ''): string {\n\t\treturn this.formattingService.formatDate(value, format, { fallback });\n\t}\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { DigitsInfo, NumberValue } from '../../models/formatting';\nimport { FormattingService } from '../../service/formatting.service';\n\n@Pipe({\n\tname: 'stDecimal',\n\tstandalone: true,\n\tpure: false,\n})\nexport class StDecimalPipe implements PipeTransform {\n\tprivate readonly formattingService = inject(FormattingService);\n\n\ttransform(value: NumberValue, digitsInfo?: DigitsInfo, fallback = ''): string {\n\t\treturn this.formattingService.formatDecimal(value, { digitsInfo, fallback });\n\t}\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { DigitsInfo, NumberValue } from '../../models/formatting';\nimport { FormattingService } from '../../service/formatting.service';\n\n@Pipe({\n\tname: 'stPercent',\n\tstandalone: true,\n\tpure: false,\n})\nexport class StPercentPipe implements PipeTransform {\n\tprivate readonly formattingService = inject(FormattingService);\n\n\ttransform(value: NumberValue, digitsInfo?: DigitsInfo, fallback = ''): string {\n\t\treturn this.formattingService.formatPercent(value, { digitsInfo, fallback });\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;AAAA;;;AAGG;AACI,MAAM,cAAc,GAAG;IAC7B,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;I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"}