{"version":3,"file":"koobiq-angular-luxon-adapter-adapter.mjs","sources":["../../../packages/angular-luxon-adapter/adapter/date-adapter.ts","../../../packages/angular-luxon-adapter/adapter/date-formats.ts","../../../packages/angular-luxon-adapter/adapter/index.ts","../../../packages/angular-luxon-adapter/adapter/koobiq-angular-luxon-adapter-adapter.ts"],"sourcesContent":["import { getLocaleFirstDayOfWeek } from '@angular/common';\nimport { Injectable, InjectionToken, inject } from '@angular/core';\nimport { KBQ_DATE_LOCALE, KBQ_DEFAULT_LOCALE_ID, KBQ_LOCALE_SERVICE, KbqLocaleService } from '@koobiq/components/core';\nimport { LuxonDateAdapter as BaseLuxonDateAdapter, LuxonDateAdapterOptions } from '@koobiq/luxon-date-adapter';\nimport { Info } from 'luxon';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n/** Configurable options for {@see LuxonDateAdapter}. */\nexport type KbqLuxonDateAdapterOptions = LuxonDateAdapterOptions;\n\n/** InjectionToken for moment date adapter to configure options. */\nexport const KBQ_LUXON_DATE_ADAPTER_OPTIONS = new InjectionToken<KbqLuxonDateAdapterOptions>(\n    'KBQ_MOMENT_DATE_ADAPTER_OPTIONS',\n    {\n        providedIn: 'root',\n        factory: KBQ_LUXON_DATE_ADAPTER_OPTIONS_FACTORY\n    }\n);\n\n/** @docs-private */\nexport function KBQ_LUXON_DATE_ADAPTER_OPTIONS_FACTORY(): KbqLuxonDateAdapterOptions {\n    return { useUtc: false };\n}\n\n@Injectable()\nexport class LuxonDateAdapter extends BaseLuxonDateAdapter {\n    protected readonly options?: LuxonDateAdapterOptions;\n    private localeService = inject<KbqLocaleService>(KBQ_LOCALE_SERVICE, { optional: true });\n    /** A stream that emits when the locale changes. */\n    get localeChanges(): Observable<any> {\n        return this._localeChanges;\n    }\n\n    private _localeChanges = new BehaviorSubject<string>(KBQ_DEFAULT_LOCALE_ID);\n\n    constructor() {\n        const dateLocale = inject(KBQ_DATE_LOCALE);\n        const options =\n            inject<LuxonDateAdapterOptions>(KBQ_LUXON_DATE_ADAPTER_OPTIONS, { optional: true }) ?? undefined;\n\n        super(dateLocale, options);\n        this.options = options;\n\n        this.setLocale(this.localeService?.id || dateLocale);\n\n        this.localeService?.changes.subscribe(this.setLocale);\n    }\n\n    setLocale = (locale: string): void => {\n        super.setLocale(locale);\n\n        // try to find locale using angular core utilities\n        if (Object.keys(this.localeData).length <= 1) {\n            const options = { locale };\n            const localeData = {\n                ...this.localeData,\n                firstDayOfWeek: getLocaleFirstDayOfWeek(locale),\n                longMonths: Info.monthsFormat('long', options),\n                shortMonths: Info.monthsFormat('short', options),\n                narrowDaysOfWeek: Info.weekdaysFormat('narrow', options),\n                shortDaysOfWeek: Info.weekdaysFormat('short', options),\n                longDaysOfWeek: Info.weekdaysFormat('long', options)\n            };\n\n            this.updateLocaleData(localeData);\n        }\n\n        this._localeChanges.next(locale);\n    };\n}\n","import { LUXON_DATE_FORMATS } from '@koobiq/luxon-date-adapter';\n\nexport const KBQ_LUXON_DATE_FORMATS = LUXON_DATE_FORMATS;\n","import { NgModule } from '@angular/core';\nimport { DateAdapter, KBQ_DATE_FORMATS, KbqLocaleServiceModule } from '@koobiq/components/core';\nimport { LuxonDateAdapter } from './date-adapter';\n\nexport * from './date-adapter';\nexport * from './date-formats';\n\n@NgModule({\n    providers: [\n        {\n            provide: DateAdapter,\n            useClass: LuxonDateAdapter\n        }\n    ]\n})\nexport class LuxonDateModule {}\n\n@NgModule({\n    imports: [LuxonDateModule, KbqLocaleServiceModule],\n    providers: [\n        {\n            // todo после добавления KbqLocaleServiceModule возможно уже неактуально\n            provide: KBQ_DATE_FORMATS,\n            useValue: null\n        }\n    ]\n})\nexport class KbqLuxonDateModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["BaseLuxonDateAdapter"],"mappings":"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"}