{"version":3,"file":"hug-ngx-g11n-material.mjs","names":[],"sources":["../../../projects/lib/material/main.ts"],"sourcesContent":["\nimport { APP_INITIALIZER, LOCALE_ID, type Provider } from '@angular/core';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { DateFnsAdapter, MAT_DATE_FNS_FORMATS } from '@angular/material-date-fns-adapter';\nimport { type G11nFeature, type G11nLocale, LOCALES } from '@hug/ngx-g11n/internal';\nimport { type Locale, setDefaultOptions } from 'date-fns';\n\nconst matDateFnsAdapter = (): Provider[] => [\n    { provide: MAT_DATE_FORMATS, useValue: MAT_DATE_FNS_FORMATS },\n    { provide: DateAdapter, useClass: DateFnsAdapter, deps: [MAT_DATE_LOCALE] },\n    {\n        // eslint-disable-next-line @typescript-eslint/no-deprecated\n        provide: APP_INITIALIZER,\n        useFactory: (localeId: string, locales: Record<string, G11nLocale>, dateAdapter: DateAdapter<Date, Locale>) =>\n            async (): Promise<void> => {\n                if (localeId in locales && locales[localeId].datefns) {\n                    const locale = (await locales[localeId].datefns()).default as Locale;\n                    dateAdapter.setLocale(locale);\n                    setDefaultOptions({ locale });\n                }\n            },\n        deps: [LOCALE_ID, LOCALES, DateAdapter],\n        multi: true,\n    },\n];\n\nexport const withDateFnsMaterial = (): G11nFeature => ({\n    providers: [\n        matDateFnsAdapter(),\n    ],\n});\n"],"mappings":";;;;;AAOA,MAAM,0BAAsC;CACxC;EAAE,SAAS;EAAkB,UAAU;CAAoB;CAC3D;EAAE,SAAS;EAAa,UAAU;EAAgB,MAAM,CAAC,eAAe;CAAC;CACzE;EAEI,SAAS;EACT,aAAa,UAAkB,SAAqC,gBAChE,YAA0B;GACtB,IAAI,YAAY,WAAW,QAAQ,SAAS,CAAC,SAAS;IAClD,MAAM,UAAU,MAAM,QAAQ,SAAS,CAAC,QAAO,EAAA,CAAI;IACnD,YAAY,UAAU,MAAM;IAC5B,kBAAkB,EAAE,OAAM,CAAE;GAChC;EACJ;EACJ,MAAM;GAAC;GAAW;GAAS;EAAW;EACtC,OAAO;CACV;AACJ;AAED,MAAa,6BAA0C,EACnD,WAAW,CACP,kBAAiB,CACpB,EACJ"}