@lucca-front/ng 21.0.0-rc.4 → 21.0.0-rc.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app-layout/index.d.ts +1 -1
- package/box/index.d.ts +3 -3
- package/breadcrumbs/index.d.ts +3 -3
- package/button/index.d.ts +26 -21
- package/callout/index.d.ts +65 -57
- package/chip/index.d.ts +1 -1
- package/code/index.d.ts +1 -1
- package/comment/index.d.ts +11 -14
- package/core/index.d.ts +10 -7
- package/core-select/index.d.ts +6 -4
- package/core-select/user/index.d.ts +3 -2
- package/dialog/index.d.ts +21 -5
- package/empty-state/index.d.ts +23 -26
- package/fancy-box/index.d.ts +11 -10
- package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-button.mjs +59 -90
- package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-callout.mjs +96 -130
- package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-code.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-comment.mjs +14 -34
- package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-api.mjs +3 -3
- package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-user.mjs +14 -11
- package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs +14 -20
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core.mjs +6 -4
- package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dialog.mjs +22 -25
- package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-empty-state.mjs +27 -68
- package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-fancy-box.mjs +14 -28
- package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-file-upload.mjs +1 -1
- package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +15 -17
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +2 -2
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms.mjs +99 -187
- package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-icon.mjs +14 -19
- package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-inline-message.mjs +15 -22
- package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-link.mjs +20 -28
- package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-mobile-push.mjs +4 -8
- package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-modal.mjs +1 -1
- package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-multi-select.mjs +1 -1
- package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-new-badge.mjs +7 -11
- package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-numeric-badge.mjs +40 -39
- package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-plg-push.mjs +8 -17
- package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-scroll.mjs +19 -29
- package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select.mjs +1 -1
- package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-skeleton.mjs +24 -40
- package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tag.mjs +31 -42
- package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-time.mjs +8 -18
- package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-toast.mjs +55 -60
- package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tooltip.mjs +86 -107
- package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user.mjs +58 -96
- package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-vertical-navigation.mjs +6 -6
- package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -1
- package/forms/index.d.ts +54 -62
- package/forms/phone-number-input/index.d.ts +13 -13
- package/icon/index.d.ts +10 -10
- package/inline-message/index.d.ts +9 -11
- package/link/index.d.ts +11 -13
- package/mobile-push/index.d.ts +5 -6
- package/new-badge/index.d.ts +2 -3
- package/numeric-badge/index.d.ts +14 -11
- package/package.json +37 -37
- package/plg-push/index.d.ts +6 -8
- package/read-more/index.d.ts +1 -1
- package/scroll/index.d.ts +20 -22
- package/skeleton/index.d.ts +27 -32
- package/tag/index.d.ts +17 -15
- package/time/index.d.ts +5 -5
- package/toast/index.d.ts +23 -25
- package/tooltip/index.d.ts +35 -41
- package/user/index.d.ts +24 -32
- package/vertical-navigation/index.d.ts +16 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-core.mjs","sources":["../../../packages/ng/core/date/date-granularity.enum.ts","../../../packages/ng/core/date/date-adapter.class.ts","../../../packages/ng/core/date/native/native-date.option.ts","../../../packages/ng/core/date/native/native-date.adapter.ts","../../../packages/ng/core/date/string/string-date.adapter.ts","../../../packages/ng/core/event/on-close.subscriber.ts","../../../packages/ng/core/event/on-open.subscriber.ts","../../../packages/ng/core/event/on-scroll-bottom.subscriber.ts","../../../packages/ng/core/id/id.generator.ts","../../../packages/ng/core/misc.ts","../../../packages/ng/core/portal/portal-content.ts","../../../packages/ng/core/portal/portal.directive.ts","../../../packages/ng/core/signal.ts","../../../packages/ng/core/tools/class.ts","../../../packages/ng/core/translate/intl.model.ts","../../../packages/ng/core/translate/intl-params.pipe.ts","../../../packages/ng/core/lucca-front-ng-core.ts"],"sourcesContent":["import { EnumValue } from '../type';\n\nexport enum ELuDateGranularity {\n\tday = 'day',\n\tmonth = 'month',\n\tyear = 'year',\n\tdecade = 'decade',\n}\n\nexport type LuDateGranularity = EnumValue<ELuDateGranularity>;\n","import { ILuDateAdapter } from './date-adapter.interface';\nimport { ELuDateGranularity, LuDateGranularity } from './date-granularity.enum';\n\nexport abstract class ALuDateAdapter<D> implements ILuDateAdapter<D> {\n\tabstract forge(year: number, month: number, date: number): D;\n\tabstract forgeToday(): D;\n\tabstract forgeInvalid(): D;\n\tabstract isValid(d: D): boolean;\n\tcompare(a: D, b: D, granularity: LuDateGranularity): number {\n\t\tif (!a || !b || !this.isValid(a) || !this.isValid(b)) {\n\t\t\tthrow new Error('you must provide valid and not null dates to be compared');\n\t\t}\n\t\tconst aDecade = Math.floor(this.getYear(a) / 10);\n\t\tconst bDecade = Math.floor(this.getYear(b) / 10);\n\t\tif (aDecade < bDecade) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aDecade > bDecade) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.decade) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aYear = this.getYear(a);\n\t\tconst bYear = this.getYear(b);\n\t\tif (aYear < bYear) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aYear > bYear) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.year) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aMonth = this.getMonth(a);\n\t\tconst bMonth = this.getMonth(b);\n\t\tif (aMonth < bMonth) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aMonth > bMonth) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.month) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aDate = this.getDate(a);\n\t\tconst bDate = this.getDate(b);\n\t\tif (aDate < bDate) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aDate > bDate) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.day) {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn 0;\n\t}\n\tabstract isParsable(text: string, granularity?: LuDateGranularity): boolean;\n\tabstract parse(text: string, granularity?: LuDateGranularity): D;\n\tabstract format(d: D, format: string): string;\n\tabstract clone(d: D): D;\n\n\tabstract getYear(d: D): number;\n\tabstract getMonth(d: D): number;\n\tabstract getDate(d: D): number;\n\tabstract getDay(d: D): number;\n\n\tabstract add(d: D, count: number, granularity: LuDateGranularity): D;\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface ILuNativeDateAdapterOptions {\n\tuseUtc?: boolean;\n}\nexport const luDefaultNativeDateAdapterOptions: ILuNativeDateAdapterOptions = {\n\tuseUtc: false,\n};\nexport const LU_NATIVE_DATE_ADAPTER_OPTIONS = new InjectionToken<ILuNativeDateAdapterOptions>('Native date adapter options');\n","import { formatDate, FormatWidth, getLocaleDateFormat } from '@angular/common';\nimport { Inject, Injectable, LOCALE_ID, Optional } from '@angular/core';\nimport { ALuDateAdapter } from '../date-adapter.class';\nimport { ILuDateAdapter } from '../date-adapter.interface';\nimport { ELuDateGranularity, LuDateGranularity } from '../date-granularity.enum';\nimport { ILuNativeDateAdapterOptions, LU_NATIVE_DATE_ADAPTER_OPTIONS, luDefaultNativeDateAdapterOptions } from './native-date.option';\n\n@Injectable()\nexport class LuNativeDateAdapter extends ALuDateAdapter<Date> implements ILuDateAdapter<Date> {\n\tprivate _regex = /[/,.\\-\\s]/i;\n\tprivate _order = {\n\t\tdate: 0,\n\t\tmonth: 1,\n\t\tyear: 2,\n\t};\n\tconstructor(\n\t\t@Inject(LOCALE_ID) private _locale: string,\n\t\t@Inject(LU_NATIVE_DATE_ADAPTER_OPTIONS)\n\t\t@Optional()\n\t\tprivate _options: ILuNativeDateAdapterOptions,\n\t) {\n\t\tsuper();\n\t\tthis._options = this._options || luDefaultNativeDateAdapterOptions;\n\t\tthis.initOrder();\n\t}\n\tprivate initOrder() {\n\t\tconst format = getLocaleDateFormat(this._locale, FormatWidth.Short);\n\t\tconst groups = format.split(this._regex);\n\t\tgroups.forEach((g, i) => {\n\t\t\tif (g.indexOf('d') !== -1) {\n\t\t\t\tthis._order.date = i;\n\t\t\t}\n\t\t\tif (g.indexOf('M') !== -1) {\n\t\t\t\tthis._order.month = i;\n\t\t\t}\n\t\t\tif (g.indexOf('y') !== -1) {\n\t\t\t\tthis._order.year = i;\n\t\t\t}\n\t\t});\n\t}\n\tprivate extract(text: string, granularity: LuDateGranularity = ELuDateGranularity.day): { date: number; month: number; year: number } {\n\t\tconst groups = text.split(this._regex);\n\t\tlet date = 1,\n\t\t\tmonth = 1,\n\t\t\tyear = 1;\n\t\tswitch (granularity) {\n\t\t\tcase ELuDateGranularity.year:\n\t\t\t\tyear = parseInt(groups[Math.max(this._order.year - 2, 0)], 10);\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.month:\n\t\t\t\tmonth = parseInt(groups[Math.max(this._order.month - 1, 0)], 10);\n\t\t\t\tyear = parseInt(groups[Math.max(this._order.year - 1, 0)], 10) || new Date().getFullYear();\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.day:\n\t\t\tdefault:\n\t\t\t\tdate = parseInt(groups[this._order.date], 10);\n\t\t\t\tmonth = parseInt(groups[this._order.month], 10);\n\t\t\t\tyear = parseInt(groups[this._order.year], 10) || new Date().getFullYear();\n\t\t}\n\t\treturn { date, month, year };\n\t}\n\tisParsable(text: string, granularity: LuDateGranularity = ELuDateGranularity.day): boolean {\n\t\tif (!text) {\n\t\t\treturn false;\n\t\t}\n\t\tconst groups = text.split(this._regex);\n\t\tconst dayTextInvalid = granularity === ELuDateGranularity.day && groups.length !== 3;\n\t\tconst monthTextInvalid = granularity === ELuDateGranularity.month && groups.length !== 2;\n\t\tconst yearTextInvalid = granularity === ELuDateGranularity.year && groups.length !== 1;\n\t\tif (dayTextInvalid || monthTextInvalid || yearTextInvalid) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\tconst { date, month, year } = this.extract(text, granularity);\n\n\t\t\t// When year is equal or greater than 10_000 ISO string goes from 2000-01-01 to +010000-01-01 which is not supported by backends\n\t\t\tif (year >= 10_000) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tlet d: Date;\n\t\t\tif (this._options.useUtc) {\n\t\t\t\td = new Date(Date.UTC(year, month - 1, date));\n\t\t\t} else {\n\t\t\t\td = new Date(year, month - 1, date);\n\t\t\t}\n\t\t\t// checking if its a valid date\n\t\t\t// https://stackoverflow.com/questions/1353684/detecting-an-invalid-date-date-instance-in-javascript\n\t\t\tif (!(d instanceof Date)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (isNaN(d.getTime())) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// d is a valid date, but\n\t\t\t// as i can write new Date(1234, 56, 78) and mr javascript accepts it\n\t\t\t// i check now that the generated date has the same year/month/date as what i entered\n\t\t\tif (this._options.useUtc) {\n\t\t\t\tif (d.getUTCFullYear() !== year) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getUTCMonth() !== month - 1) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getUTCDate() !== date) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (d.getFullYear() !== year) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getMonth() !== month - 1) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getDate() !== date) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn true;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\tparse(text: string, granularity: LuDateGranularity = ELuDateGranularity.day): Date {\n\t\tif (!text) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (!this.isParsable(text, granularity)) {\n\t\t\treturn this.forgeInvalid();\n\t\t}\n\n\t\tconst { date, month, year } = this.extract(text, granularity);\n\n\t\treturn this.forge(year, month, date);\n\t}\n\tformat(d: Date, format: string): string {\n\t\tif (this._options.useUtc) {\n\t\t\treturn formatDate(d, format, this._locale, 'UTC');\n\t\t} else {\n\t\t\treturn formatDate(d, format, this._locale);\n\t\t}\n\t}\n\tforge(year: number, month: number, date: number): Date {\n\t\tif (this._options.useUtc) {\n\t\t\treturn new Date(Date.UTC(year, month - 1, date)); // month-1 cuz 0 -> january\n\t\t} else {\n\t\t\treturn new Date(year, month - 1, date); // month-1 cuz 0 -> january\n\t\t}\n\t}\n\tforgeToday(): Date {\n\t\tif (this._options.useUtc) {\n\t\t\tconst nonUTCToday = new Date();\n\t\t\treturn new Date(Date.UTC(nonUTCToday.getFullYear(), nonUTCToday.getMonth(), nonUTCToday.getDate()));\n\t\t} else {\n\t\t\tconst today = new Date();\n\t\t\treturn new Date(today.getFullYear(), today.getMonth(), today.getDate());\n\t\t}\n\t}\n\tforgeInvalid(): Date {\n\t\treturn new Date('Invalid Date');\n\t}\n\tisValid(d: Date): boolean {\n\t\tif (!(d instanceof Date)) {\n\t\t\treturn false;\n\t\t}\n\t\tif (isNaN(d.getTime())) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tclone(d: Date): Date {\n\t\treturn new Date(d);\n\t}\n\n\tgetYear(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCFullYear();\n\t\t} else {\n\t\t\treturn d.getFullYear();\n\t\t}\n\t}\n\tgetMonth(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCMonth() + 1;\n\t\t} else {\n\t\t\treturn d.getMonth() + 1;\n\t\t}\n\t}\n\tgetDate(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCDate();\n\t\t} else {\n\t\t\treturn d.getDate();\n\t\t}\n\t}\n\tgetDay(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCDay();\n\t\t} else {\n\t\t\treturn d.getDay();\n\t\t}\n\t}\n\n\tadd(d: Date, count: number, granularity: LuDateGranularity): Date {\n\t\tlet year = this.getYear(d);\n\t\tlet month = this.getMonth(d);\n\t\tlet date = this.getDate(d);\n\t\tswitch (granularity) {\n\t\t\tcase ELuDateGranularity.decade:\n\t\t\t\tyear += 10 * count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.year:\n\t\t\t\tyear += count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.month:\n\t\t\t\tmonth += count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.day:\n\t\t\t\tdate += count;\n\t\t\t\tbreak;\n\t\t}\n\t\treturn this.forge(year, month, date);\n\t}\n}\n","import { Inject, Injectable, LOCALE_ID } from '@angular/core';\nimport { ALuDateAdapter } from '../date-adapter.class';\nimport { ILuDateAdapter } from '../date-adapter.interface';\nimport { LuDateGranularity } from '../date-granularity.enum';\nimport { LuNativeDateAdapter } from '../native/index';\n\n/** bind to a string with iso 26001 format YYYY-MM-DD */\n@Injectable()\nexport class LuStringDateAdapter extends ALuDateAdapter<string> implements ILuDateAdapter<string> {\n\t// i'm going to implement this by doing some inheritance by composition\n\t// i'll just use the native date adapter and just parse/format to interface it with a string\n\n\tprivate _nativeAdapter: LuNativeDateAdapter;\n\n\tconstructor(@Inject(LOCALE_ID) private _locale: string) {\n\t\tsuper();\n\t\tthis._nativeAdapter = new LuNativeDateAdapter(this._locale, {\n\t\t\tuseUtc: true,\n\t\t});\n\t}\n\n\tforge(year: number, month: number, date: number): string {\n\t\treturn this.dateToString(this._nativeAdapter.forge(year, month, date));\n\t}\n\n\tforgeToday(): string {\n\t\treturn this.dateToString(this._nativeAdapter.forgeToday());\n\t}\n\n\tforgeInvalid(): string {\n\t\treturn 'Invalid Date';\n\t}\n\n\tisValid(d: string): boolean {\n\t\treturn this._nativeAdapter.isValid(this.stringToDate(d));\n\t}\n\n\toverride compare(a: string, b: string, granularity: LuDateGranularity): number {\n\t\tconst da = this.stringToDate(a);\n\t\tconst db = this.stringToDate(b);\n\n\t\treturn this._nativeAdapter.compare(da, db, granularity);\n\t}\n\n\tisParsable(text: string): boolean {\n\t\treturn this._nativeAdapter.isParsable(text);\n\t}\n\n\tparse(text: string, granularity: LuDateGranularity): string {\n\t\treturn this.dateToString(this._nativeAdapter.parse(text, granularity));\n\t}\n\n\tformat(d: string, format: string): string {\n\t\treturn this._nativeAdapter.format(this.stringToDate(d), format);\n\t}\n\n\tclone(d: string): string {\n\t\treturn `${d}`;\n\t}\n\n\tgetYear(d: string): number {\n\t\treturn this._nativeAdapter.getYear(this.stringToDate(d));\n\t}\n\n\tgetMonth(d: string): number {\n\t\treturn this._nativeAdapter.getMonth(this.stringToDate(d));\n\t}\n\n\tgetDate(d: string): number {\n\t\treturn this._nativeAdapter.getDate(this.stringToDate(d));\n\t}\n\n\tgetDay(d: string): number {\n\t\treturn this._nativeAdapter.getDay(this.stringToDate(d));\n\t}\n\n\tadd(d: string, count: number, granularity: LuDateGranularity): string {\n\t\treturn this.dateToString(this._nativeAdapter.add(this.stringToDate(d), count, granularity));\n\t}\n\n\tprotected stringToDate(s: string): Date {\n\t\treturn new Date(`${s}T00:00:00Z`);\n\t}\n\n\tprotected dateToString(d: Date): string {\n\t\tlet result: string;\n\n\t\tif (d === undefined) {\n\t\t\tresult = undefined;\n\t\t} else if (!this._nativeAdapter.isValid(d)) {\n\t\t\tresult = this.forgeInvalid();\n\t\t} else {\n\t\t\tresult = d.toISOString().substring(0, 10);\n\t\t}\n\n\t\treturn result;\n\t}\n}\n","export interface ILuOnCloseSubscriber {\n\tonClose(): void;\n}\nexport abstract class ALuOnCloseSubscriber implements ILuOnCloseSubscriber {\n\tabstract onClose(): void;\n}\n","export interface ILuOnOpenSubscriber {\n\tonOpen(): void;\n}\nexport abstract class ALuOnOpenSubscriber implements ILuOnOpenSubscriber {\n\tabstract onOpen(): void;\n}\n","export interface ILuOnScrollBottomSubscriber {\n\tonScrollBottom(): void;\n}\nexport abstract class ALuOnScrollBottomSubscriber implements ILuOnScrollBottomSubscriber {\n\tabstract onScrollBottom(): void;\n}\n","const ID_LENGTH = 8;\nconst ID_BASE = 16;\nexport function generateId(): string {\n\treturn Array(ID_LENGTH)\n\t\t.fill(0)\n\t\t.map(() => Math.floor(Math.random() * ID_BASE).toString(ID_BASE))\n\t\t.join('');\n}\n","export const isNil = <T>(value: T | null | undefined): value is null | undefined => typeof value === 'undefined' || value === null;\n\nexport const isNotNil = <T>(value: T): value is NonNullable<T> => !isNil(value);\n","import { InjectionToken, TemplateRef, Type } from '@angular/core';\n\nexport type PortalContent<T = unknown> = string | TemplateRef<T> | Type<unknown>;\n\nexport const PORTAL_CONTEXT = new InjectionToken<unknown>('PORTAL_CONTEXT');\n","import { ComponentRef, Directive, effect, EmbeddedViewRef, inject, Injector, input, OnDestroy, Renderer2, TemplateRef, untracked, ViewContainerRef } from '@angular/core';\nimport { PORTAL_CONTEXT, PortalContent } from './portal-content';\n\n@Directive({\n\tselector: '[luPortal]',\n})\nexport class PortalDirective<T = unknown> implements OnDestroy {\n\tprivate viewContainerRef = inject(ViewContainerRef);\n\tprivate renderer = inject(Renderer2);\n\tprivate templateRef = inject(TemplateRef);\n\tprivate injector = inject(Injector);\n\n\tluPortal = input.required<PortalContent<T>>();\n\n\tluPortalContext = input<T | null>(null);\n\n\tprivate createdTextElement: Text | null = null;\n\tprivate embeddedViewRef?: EmbeddedViewRef<T>;\n\tprivate componentRef?: ComponentRef<unknown>;\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconst portal = this.luPortal();\n\t\t\tuntracked(() => {\n\t\t\t\tif (portal) {\n\t\t\t\t\tthis.render(portal, this.luPortalContext());\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\teffect(() => {\n\t\t\tconst ctx = this.luPortalContext();\n\t\t\tuntracked(() => {\n\t\t\t\tif (this.embeddedViewRef && ctx) {\n\t\t\t\t\tthis.updateEmbeddedViewContext(ctx);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate render(luPortal: PortalContent<T>, ctx: T | null): void {\n\t\tthis.viewContainerRef.clear();\n\t\tthis.embeddedViewRef = undefined;\n\t\tthis.componentRef = undefined;\n\n\t\tif (typeof luPortal !== 'string') {\n\t\t\tthis.destroyRenderedText();\n\t\t}\n\n\t\tif (!luPortal) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (luPortal instanceof TemplateRef) {\n\t\t\tconst context = Object.assign({}, ctx);\n\t\t\tthis.embeddedViewRef = this.viewContainerRef.createEmbeddedView<T>(luPortal, context, { injector: this.injector });\n\t\t} else if (typeof luPortal === 'string') {\n\t\t\tthis.renderText(luPortal);\n\t\t} else {\n\t\t\tconst injector = Injector.create({\n\t\t\t\tparent: this.injector,\n\t\t\t\tproviders: [{ provide: PORTAL_CONTEXT, useValue: ctx }],\n\t\t\t});\n\t\t\ttry {\n\t\t\t\tthis.componentRef = this.viewContainerRef.createComponent(luPortal, { injector });\n\t\t\t\tthis.componentRef.changeDetectorRef.detectChanges();\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error(e);\n\t\t\t\tthrow new Error('[LuPortal] Angular failed to create component, make sure you are not giving LuPortal an Object that is not a Type<>');\n\t\t\t}\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.destroyRenderedText();\n\t\tthis.embeddedViewRef?.destroy();\n\t\tthis.componentRef?.destroy();\n\t}\n\n\tprivate renderText(text: string): void {\n\t\tif (this.createdTextElement) {\n\t\t\tthis.createdTextElement.textContent = text;\n\t\t} else {\n\t\t\tconst ref = this.viewContainerRef.createEmbeddedView(this.templateRef);\n\t\t\tconst container: HTMLElement = ref.rootNodes[0] as HTMLElement;\n\t\t\tconst parent = container.parentElement;\n\t\t\tthis.createdTextElement = document.createTextNode(text);\n\t\t\tthis.renderer.insertBefore(parent, this.createdTextElement, container);\n\t\t}\n\t}\n\n\tprivate destroyRenderedText(): void {\n\t\tif (this.createdTextElement) {\n\t\t\tthis.renderer.removeChild(this.createdTextElement.parentNode, this.createdTextElement);\n\t\t\tthis.createdTextElement = null;\n\t\t}\n\t}\n\n\t/**\n\t * Embeded view context should not be overwritten, but updated.\n\t * @see https://github.com/angular/angular/pull/51887\n\t */\n\tprivate updateEmbeddedViewContext(context: T): void {\n\t\tif (this.embeddedViewRef) {\n\t\t\tconst props = Object.keys(context);\n\n\t\t\tfor (const prop of props) {\n\t\t\t\tdelete this.embeddedViewRef.context[prop];\n\t\t\t}\n\n\t\t\tObject.assign(this.embeddedViewRef.context, context);\n\t\t\tthis.embeddedViewRef.detectChanges();\n\t\t}\n\t}\n\n\tpublic static ngTemplateContextGuard<T>(_dir: PortalDirective<T>, ctx: unknown): ctx is void {\n\t\treturn true;\n\t}\n}\n","import { CreateEffectOptions, effect, Signal, untracked } from '@angular/core';\n\ntype EffectWithDepsValues<T> = T extends readonly unknown[] ? TupleOfSignalValues<T> : [RecordOfSignalValues<T>];\n\ntype TupleOfSignalValues<T> = T extends readonly [Signal<infer U>, ...infer R] ? [U, ...TupleOfSignalValues<R>] : [];\ntype RecordOfSignalValues<T> = { [K in keyof T]: T[K] extends Signal<infer U> ? U : never };\n\ntype EffectWithDepsInput = ReadonlyArray<Signal<unknown>> | Record<string, Signal<unknown>>;\n\n/**\n * Effect peut être dangereux car l'action accomplie peut elle-même déclencher des écritures dans des signaux.\n * C'est une mauvaise pratique, interdite par défaut par Angular.\n * La plupars du temps, seule la lecture des signaux est intéressante à tracker, pas les actions qui en découlent.\n */\nexport function ɵeffectWithDeps<const T extends EffectWithDepsInput>(dependencies: T, action: (...values: EffectWithDepsValues<T>) => unknown, options?: CreateEffectOptions): void {\n\teffect(() => {\n\t\tconst deps = isReadonlyArray(dependencies) ? readTupleOfSignalValues(dependencies) : [readRecordOfSignalValues(dependencies)];\n\n\t\tuntracked(() => action(...(deps as EffectWithDepsValues<T>)));\n\t}, options);\n}\n\nfunction readTupleOfSignalValues<T extends readonly Signal<unknown>[]>(signals: T): TupleOfSignalValues<T> {\n\treturn signals.map((signal) => signal()) as TupleOfSignalValues<T>;\n}\n\nfunction readRecordOfSignalValues<T extends Record<string, Signal<unknown>>>(signals: T): RecordOfSignalValues<T> {\n\treturn Object.fromEntries(Object.entries(signals).map(([key, signal]) => [key, signal()])) as RecordOfSignalValues<T>;\n}\n\nfunction isReadonlyArray(input: EffectWithDepsInput): input is ReadonlyArray<Signal<unknown>> {\n\treturn Array.isArray(input);\n}\n","import { ElementRef, inject, Injectable, Renderer2 } from '@angular/core';\n\ntype LuClassSupportedTypes = string | string[] | Set<string> | { [klass: string]: boolean };\n\ninterface CssClassState {\n\tenabled: boolean;\n\tchanged: boolean;\n\ttouched: boolean;\n}\n\n@Injectable()\nexport class LuClass {\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\t#renderer = inject(Renderer2);\n\n\t#state: Record<string, boolean> = {};\n\t#stateMap = new Map<string, CssClassState>();\n\n\tpublic setState(value: LuClassSupportedTypes) {\n\t\tthis.#state = normalizeToRecord(value);\n\n\t\tfor (const [klass, enabled] of Object.entries(this.#state)) {\n\t\t\tthis.#updateState(klass, enabled);\n\t\t}\n\n\t\tthis.#applyStateDiff();\n\t}\n\n\t#updateState(klass: string, nextEnabled: boolean) {\n\t\tconst state = this.#stateMap.get(klass);\n\t\tif (state !== undefined) {\n\t\t\tif (state.enabled !== nextEnabled) {\n\t\t\t\tstate.changed = true;\n\t\t\t\tstate.enabled = nextEnabled;\n\t\t\t}\n\t\t\tstate.touched = true;\n\t\t} else {\n\t\t\tthis.#stateMap.set(klass, { enabled: nextEnabled, changed: true, touched: true });\n\t\t}\n\t}\n\n\t#applyStateDiff() {\n\t\tfor (const stateEntry of this.#stateMap) {\n\t\t\tconst klass = stateEntry[0];\n\t\t\tconst state = stateEntry[1];\n\n\t\t\tif (state.changed) {\n\t\t\t\tthis.#toggleClass(klass, state.enabled);\n\t\t\t\tstate.changed = false;\n\t\t\t} else if (!state.touched) {\n\t\t\t\t// A class that was previously active got removed from the new collection of classes -\n\t\t\t\t// remove from the DOM as well.\n\t\t\t\tif (state.enabled) {\n\t\t\t\t\tthis.#toggleClass(klass, false);\n\t\t\t\t}\n\t\t\t\tthis.#stateMap.delete(klass);\n\t\t\t}\n\n\t\t\tstate.touched = false;\n\t\t}\n\t}\n\n\t#toggleClass(klass: string, enabled: boolean): void {\n\t\tif (enabled) {\n\t\t\tthis.#renderer.addClass(this.#elementRef.nativeElement, klass);\n\t\t} else {\n\t\t\tthis.#renderer.removeClass(this.#elementRef.nativeElement, klass);\n\t\t}\n\t}\n}\n\nfunction normalizeToRecord(obj: LuClassSupportedTypes): Record<string, boolean> {\n\tif (Array.isArray(obj) || obj instanceof Set) {\n\t\tconst result: Record<string, boolean> = {};\n\n\t\tfor (const item of obj) {\n\t\t\tresult[item] = true;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tif (typeof obj === 'string') {\n\t\tobj = obj.trim();\n\t\treturn obj ? { [obj]: true } : {};\n\t}\n\n\treturn obj;\n}\n","import { inject, InjectionToken, LOCALE_ID } from '@angular/core';\nimport { ILuTranslation, LuTranslation } from './translation.model';\n\nexport function getIntl<T>(translationsToken: InjectionToken<LuTranslation<T>> | InjectionToken<ILuTranslation<T>>): T {\n\tconst locale = inject(LOCALE_ID);\n\tconst translations = inject(translationsToken);\n\n\tif (locale in translations) {\n\t\treturn translations[locale];\n\t}\n\n\tconst shortLocale = locale.substring(0, 2);\n\tif (shortLocale in translations) {\n\t\treturn translations[shortLocale];\n\t}\n\n\treturn translations['en'] ?? translations['en-GB'] ?? translations['en-US'];\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'intlParams',\n})\nexport class IntlParamsPipe implements PipeTransform {\n\t#matcher = /{{\\s?([^{}\\s]*)\\s?}}/g;\n\n\ttransform(value: string, args: Record<string, string | number>): string {\n\t\treturn value.replace(this.#matcher, (base, key: string) => {\n\t\t\treturn args[key]?.toString() ?? base;\n\t\t});\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-core.mjs","sources":["../../../packages/ng/core/date/date-granularity.enum.ts","../../../packages/ng/core/date/date-adapter.class.ts","../../../packages/ng/core/date/native/native-date.option.ts","../../../packages/ng/core/date/native/native-date.adapter.ts","../../../packages/ng/core/date/string/string-date.adapter.ts","../../../packages/ng/core/event/on-close.subscriber.ts","../../../packages/ng/core/event/on-open.subscriber.ts","../../../packages/ng/core/event/on-scroll-bottom.subscriber.ts","../../../packages/ng/core/id/id.generator.ts","../../../packages/ng/core/misc.ts","../../../packages/ng/core/portal/portal-content.ts","../../../packages/ng/core/portal/portal.directive.ts","../../../packages/ng/core/signal.ts","../../../packages/ng/core/tools/class.ts","../../../packages/ng/core/translate/intl.model.ts","../../../packages/ng/core/translate/intl-params.pipe.ts","../../../packages/ng/core/lucca-front-ng-core.ts"],"sourcesContent":["import { EnumValue } from '../type';\n\nexport enum ELuDateGranularity {\n\tday = 'day',\n\tmonth = 'month',\n\tyear = 'year',\n\tdecade = 'decade',\n}\n\nexport type LuDateGranularity = EnumValue<ELuDateGranularity>;\n","import { ILuDateAdapter } from './date-adapter.interface';\nimport { ELuDateGranularity, LuDateGranularity } from './date-granularity.enum';\n\nexport abstract class ALuDateAdapter<D> implements ILuDateAdapter<D> {\n\tabstract forge(year: number, month: number, date: number): D;\n\tabstract forgeToday(): D;\n\tabstract forgeInvalid(): D;\n\tabstract isValid(d: D): boolean;\n\tcompare(a: D, b: D, granularity: LuDateGranularity): number {\n\t\tif (!a || !b || !this.isValid(a) || !this.isValid(b)) {\n\t\t\tthrow new Error('you must provide valid and not null dates to be compared');\n\t\t}\n\t\tconst aDecade = Math.floor(this.getYear(a) / 10);\n\t\tconst bDecade = Math.floor(this.getYear(b) / 10);\n\t\tif (aDecade < bDecade) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aDecade > bDecade) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.decade) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aYear = this.getYear(a);\n\t\tconst bYear = this.getYear(b);\n\t\tif (aYear < bYear) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aYear > bYear) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.year) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aMonth = this.getMonth(a);\n\t\tconst bMonth = this.getMonth(b);\n\t\tif (aMonth < bMonth) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aMonth > bMonth) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.month) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aDate = this.getDate(a);\n\t\tconst bDate = this.getDate(b);\n\t\tif (aDate < bDate) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aDate > bDate) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.day) {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn 0;\n\t}\n\tabstract isParsable(text: string, granularity?: LuDateGranularity): boolean;\n\tabstract parse(text: string, granularity?: LuDateGranularity): D;\n\tabstract format(d: D, format: string): string;\n\tabstract clone(d: D): D;\n\n\tabstract getYear(d: D): number;\n\tabstract getMonth(d: D): number;\n\tabstract getDate(d: D): number;\n\tabstract getDay(d: D): number;\n\n\tabstract add(d: D, count: number, granularity: LuDateGranularity): D;\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface ILuNativeDateAdapterOptions {\n\tuseUtc?: boolean;\n}\nexport const luDefaultNativeDateAdapterOptions: ILuNativeDateAdapterOptions = {\n\tuseUtc: false,\n};\nexport const LU_NATIVE_DATE_ADAPTER_OPTIONS = new InjectionToken<ILuNativeDateAdapterOptions>('Native date adapter options');\n","import { formatDate, FormatWidth, getLocaleDateFormat } from '@angular/common';\nimport { Inject, Injectable, LOCALE_ID, Optional } from '@angular/core';\nimport { ALuDateAdapter } from '../date-adapter.class';\nimport { ILuDateAdapter } from '../date-adapter.interface';\nimport { ELuDateGranularity, LuDateGranularity } from '../date-granularity.enum';\nimport { ILuNativeDateAdapterOptions, LU_NATIVE_DATE_ADAPTER_OPTIONS, luDefaultNativeDateAdapterOptions } from './native-date.option';\n\n@Injectable()\nexport class LuNativeDateAdapter extends ALuDateAdapter<Date> implements ILuDateAdapter<Date> {\n\tprivate _regex = /[/,.\\-\\s]/i;\n\tprivate _order = {\n\t\tdate: 0,\n\t\tmonth: 1,\n\t\tyear: 2,\n\t};\n\tconstructor(\n\t\t@Inject(LOCALE_ID) private _locale: string,\n\t\t@Inject(LU_NATIVE_DATE_ADAPTER_OPTIONS)\n\t\t@Optional()\n\t\tprivate _options: ILuNativeDateAdapterOptions,\n\t) {\n\t\tsuper();\n\t\tthis._options = this._options || luDefaultNativeDateAdapterOptions;\n\t\tthis.initOrder();\n\t}\n\tprivate initOrder() {\n\t\tconst format = getLocaleDateFormat(this._locale, FormatWidth.Short);\n\t\tconst groups = format.split(this._regex);\n\t\tgroups.forEach((g, i) => {\n\t\t\tif (g.indexOf('d') !== -1) {\n\t\t\t\tthis._order.date = i;\n\t\t\t}\n\t\t\tif (g.indexOf('M') !== -1) {\n\t\t\t\tthis._order.month = i;\n\t\t\t}\n\t\t\tif (g.indexOf('y') !== -1) {\n\t\t\t\tthis._order.year = i;\n\t\t\t}\n\t\t});\n\t}\n\tprivate extract(text: string, granularity: LuDateGranularity = ELuDateGranularity.day): { date: number; month: number; year: number } {\n\t\tconst groups = text.split(this._regex);\n\t\tlet date = 1,\n\t\t\tmonth = 1,\n\t\t\tyear = 1;\n\t\tswitch (granularity) {\n\t\t\tcase ELuDateGranularity.year:\n\t\t\t\tyear = parseInt(groups[Math.max(this._order.year - 2, 0)], 10);\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.month:\n\t\t\t\tmonth = parseInt(groups[Math.max(this._order.month - 1, 0)], 10);\n\t\t\t\tyear = parseInt(groups[Math.max(this._order.year - 1, 0)], 10) || new Date().getFullYear();\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.day:\n\t\t\tdefault:\n\t\t\t\tdate = parseInt(groups[this._order.date], 10);\n\t\t\t\tmonth = parseInt(groups[this._order.month], 10);\n\t\t\t\tyear = parseInt(groups[this._order.year], 10) || new Date().getFullYear();\n\t\t}\n\t\treturn { date, month, year };\n\t}\n\tisParsable(text: string, granularity: LuDateGranularity = ELuDateGranularity.day): boolean {\n\t\tif (!text) {\n\t\t\treturn false;\n\t\t}\n\t\tconst groups = text.split(this._regex);\n\t\tconst dayTextInvalid = granularity === ELuDateGranularity.day && groups.length !== 3;\n\t\tconst monthTextInvalid = granularity === ELuDateGranularity.month && groups.length !== 2;\n\t\tconst yearTextInvalid = granularity === ELuDateGranularity.year && groups.length !== 1;\n\t\tif (dayTextInvalid || monthTextInvalid || yearTextInvalid) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\tconst { date, month, year } = this.extract(text, granularity);\n\n\t\t\t// When year is equal or greater than 10_000 ISO string goes from 2000-01-01 to +010000-01-01 which is not supported by backends\n\t\t\tif (year >= 10_000) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tlet d: Date;\n\t\t\tif (this._options.useUtc) {\n\t\t\t\td = new Date(Date.UTC(year, month - 1, date));\n\t\t\t} else {\n\t\t\t\td = new Date(year, month - 1, date);\n\t\t\t}\n\t\t\t// checking if its a valid date\n\t\t\t// https://stackoverflow.com/questions/1353684/detecting-an-invalid-date-date-instance-in-javascript\n\t\t\tif (!(d instanceof Date)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (isNaN(d.getTime())) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// d is a valid date, but\n\t\t\t// as i can write new Date(1234, 56, 78) and mr javascript accepts it\n\t\t\t// i check now that the generated date has the same year/month/date as what i entered\n\t\t\tif (this._options.useUtc) {\n\t\t\t\tif (d.getUTCFullYear() !== year) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getUTCMonth() !== month - 1) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getUTCDate() !== date) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (d.getFullYear() !== year) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getMonth() !== month - 1) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getDate() !== date) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn true;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\tparse(text: string, granularity: LuDateGranularity = ELuDateGranularity.day): Date {\n\t\tif (!text) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (!this.isParsable(text, granularity)) {\n\t\t\treturn this.forgeInvalid();\n\t\t}\n\n\t\tconst { date, month, year } = this.extract(text, granularity);\n\n\t\treturn this.forge(year, month, date);\n\t}\n\tformat(d: Date, format: string): string {\n\t\tif (this._options.useUtc) {\n\t\t\treturn formatDate(d, format, this._locale, 'UTC');\n\t\t} else {\n\t\t\treturn formatDate(d, format, this._locale);\n\t\t}\n\t}\n\tforge(year: number, month: number, date: number): Date {\n\t\tif (this._options.useUtc) {\n\t\t\treturn new Date(Date.UTC(year, month - 1, date)); // month-1 cuz 0 -> january\n\t\t} else {\n\t\t\treturn new Date(year, month - 1, date); // month-1 cuz 0 -> january\n\t\t}\n\t}\n\tforgeToday(): Date {\n\t\tif (this._options.useUtc) {\n\t\t\tconst nonUTCToday = new Date();\n\t\t\treturn new Date(Date.UTC(nonUTCToday.getFullYear(), nonUTCToday.getMonth(), nonUTCToday.getDate()));\n\t\t} else {\n\t\t\tconst today = new Date();\n\t\t\treturn new Date(today.getFullYear(), today.getMonth(), today.getDate());\n\t\t}\n\t}\n\tforgeInvalid(): Date {\n\t\treturn new Date('Invalid Date');\n\t}\n\tisValid(d: Date): boolean {\n\t\tif (!(d instanceof Date)) {\n\t\t\treturn false;\n\t\t}\n\t\tif (isNaN(d.getTime())) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tclone(d: Date): Date {\n\t\treturn new Date(d);\n\t}\n\n\tgetYear(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCFullYear();\n\t\t} else {\n\t\t\treturn d.getFullYear();\n\t\t}\n\t}\n\tgetMonth(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCMonth() + 1;\n\t\t} else {\n\t\t\treturn d.getMonth() + 1;\n\t\t}\n\t}\n\tgetDate(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCDate();\n\t\t} else {\n\t\t\treturn d.getDate();\n\t\t}\n\t}\n\tgetDay(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCDay();\n\t\t} else {\n\t\t\treturn d.getDay();\n\t\t}\n\t}\n\n\tadd(d: Date, count: number, granularity: LuDateGranularity): Date {\n\t\tlet year = this.getYear(d);\n\t\tlet month = this.getMonth(d);\n\t\tlet date = this.getDate(d);\n\t\tswitch (granularity) {\n\t\t\tcase ELuDateGranularity.decade:\n\t\t\t\tyear += 10 * count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.year:\n\t\t\t\tyear += count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.month:\n\t\t\t\tmonth += count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.day:\n\t\t\t\tdate += count;\n\t\t\t\tbreak;\n\t\t}\n\t\treturn this.forge(year, month, date);\n\t}\n}\n","import { Inject, Injectable, LOCALE_ID } from '@angular/core';\nimport { ALuDateAdapter } from '../date-adapter.class';\nimport { ILuDateAdapter } from '../date-adapter.interface';\nimport { LuDateGranularity } from '../date-granularity.enum';\nimport { LuNativeDateAdapter } from '../native/index';\n\n/** bind to a string with iso 26001 format YYYY-MM-DD */\n@Injectable()\nexport class LuStringDateAdapter extends ALuDateAdapter<string> implements ILuDateAdapter<string> {\n\t// i'm going to implement this by doing some inheritance by composition\n\t// i'll just use the native date adapter and just parse/format to interface it with a string\n\n\tprivate _nativeAdapter: LuNativeDateAdapter;\n\n\tconstructor(@Inject(LOCALE_ID) private _locale: string) {\n\t\tsuper();\n\t\tthis._nativeAdapter = new LuNativeDateAdapter(this._locale, {\n\t\t\tuseUtc: true,\n\t\t});\n\t}\n\n\tforge(year: number, month: number, date: number): string {\n\t\treturn this.dateToString(this._nativeAdapter.forge(year, month, date));\n\t}\n\n\tforgeToday(): string {\n\t\treturn this.dateToString(this._nativeAdapter.forgeToday());\n\t}\n\n\tforgeInvalid(): string {\n\t\treturn 'Invalid Date';\n\t}\n\n\tisValid(d: string): boolean {\n\t\treturn this._nativeAdapter.isValid(this.stringToDate(d));\n\t}\n\n\toverride compare(a: string, b: string, granularity: LuDateGranularity): number {\n\t\tconst da = this.stringToDate(a);\n\t\tconst db = this.stringToDate(b);\n\n\t\treturn this._nativeAdapter.compare(da, db, granularity);\n\t}\n\n\tisParsable(text: string): boolean {\n\t\treturn this._nativeAdapter.isParsable(text);\n\t}\n\n\tparse(text: string, granularity: LuDateGranularity): string {\n\t\treturn this.dateToString(this._nativeAdapter.parse(text, granularity));\n\t}\n\n\tformat(d: string, format: string): string {\n\t\treturn this._nativeAdapter.format(this.stringToDate(d), format);\n\t}\n\n\tclone(d: string): string {\n\t\treturn `${d}`;\n\t}\n\n\tgetYear(d: string): number {\n\t\treturn this._nativeAdapter.getYear(this.stringToDate(d));\n\t}\n\n\tgetMonth(d: string): number {\n\t\treturn this._nativeAdapter.getMonth(this.stringToDate(d));\n\t}\n\n\tgetDate(d: string): number {\n\t\treturn this._nativeAdapter.getDate(this.stringToDate(d));\n\t}\n\n\tgetDay(d: string): number {\n\t\treturn this._nativeAdapter.getDay(this.stringToDate(d));\n\t}\n\n\tadd(d: string, count: number, granularity: LuDateGranularity): string {\n\t\treturn this.dateToString(this._nativeAdapter.add(this.stringToDate(d), count, granularity));\n\t}\n\n\tprotected stringToDate(s: string): Date {\n\t\treturn new Date(`${s}T00:00:00Z`);\n\t}\n\n\tprotected dateToString(d: Date): string {\n\t\tlet result: string;\n\n\t\tif (d === undefined) {\n\t\t\tresult = undefined;\n\t\t} else if (!this._nativeAdapter.isValid(d)) {\n\t\t\tresult = this.forgeInvalid();\n\t\t} else {\n\t\t\tresult = d.toISOString().substring(0, 10);\n\t\t}\n\n\t\treturn result;\n\t}\n}\n","export interface ILuOnCloseSubscriber {\n\tonClose(): void;\n}\nexport abstract class ALuOnCloseSubscriber implements ILuOnCloseSubscriber {\n\tabstract onClose(): void;\n}\n","export interface ILuOnOpenSubscriber {\n\tonOpen(): void;\n}\nexport abstract class ALuOnOpenSubscriber implements ILuOnOpenSubscriber {\n\tabstract onOpen(): void;\n}\n","export interface ILuOnScrollBottomSubscriber {\n\tonScrollBottom(): void;\n}\nexport abstract class ALuOnScrollBottomSubscriber implements ILuOnScrollBottomSubscriber {\n\tabstract onScrollBottom(): void;\n}\n","const ID_LENGTH = 8;\nconst ID_BASE = 16;\nexport function generateId(): string {\n\treturn Array(ID_LENGTH)\n\t\t.fill(0)\n\t\t.map(() => Math.floor(Math.random() * ID_BASE).toString(ID_BASE))\n\t\t.join('');\n}\n","type Nil = null | undefined;\n\nexport const isNil = <T>(value: T | Nil): value is Nil => typeof value === 'undefined' || value === null;\n\nexport const isNotNil = <T>(value: T): value is NonNullable<T> => !isNil(value);\n\nexport const isNilOrEmptyString = (str: string | Nil): str is Nil | '' => isNil(str) || str === '';\n\nexport const isNotNilOrEmptyString = (str: string | Nil): str is string => !isNilOrEmptyString(str);\n","import { InjectionToken, TemplateRef, Type } from '@angular/core';\n\nexport type PortalContent<T = unknown> = string | TemplateRef<T> | Type<unknown>;\n\nexport const PORTAL_CONTEXT = new InjectionToken<unknown>('PORTAL_CONTEXT');\n","import { ComponentRef, Directive, effect, EmbeddedViewRef, inject, Injector, input, OnDestroy, Renderer2, TemplateRef, untracked, ViewContainerRef } from '@angular/core';\nimport { PORTAL_CONTEXT, PortalContent } from './portal-content';\n\n@Directive({\n\tselector: '[luPortal]',\n})\nexport class PortalDirective<T = unknown> implements OnDestroy {\n\tprivate viewContainerRef = inject(ViewContainerRef);\n\tprivate renderer = inject(Renderer2);\n\tprivate templateRef = inject(TemplateRef);\n\tprivate injector = inject(Injector);\n\n\tluPortal = input.required<PortalContent<T>>();\n\n\tluPortalContext = input<T | null>(null);\n\n\tprivate createdTextElement: Text | null = null;\n\tprivate embeddedViewRef?: EmbeddedViewRef<T>;\n\tprivate componentRef?: ComponentRef<unknown>;\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconst portal = this.luPortal();\n\t\t\tuntracked(() => {\n\t\t\t\tif (portal) {\n\t\t\t\t\tthis.render(portal, this.luPortalContext());\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\teffect(() => {\n\t\t\tconst ctx = this.luPortalContext();\n\t\t\tuntracked(() => {\n\t\t\t\tif (this.embeddedViewRef && ctx) {\n\t\t\t\t\tthis.updateEmbeddedViewContext(ctx);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate render(luPortal: PortalContent<T>, ctx: T | null): void {\n\t\tthis.viewContainerRef.clear();\n\t\tthis.embeddedViewRef = undefined;\n\t\tthis.componentRef = undefined;\n\n\t\tif (typeof luPortal !== 'string') {\n\t\t\tthis.destroyRenderedText();\n\t\t}\n\n\t\tif (!luPortal) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (luPortal instanceof TemplateRef) {\n\t\t\tconst context = Object.assign({}, ctx);\n\t\t\tthis.embeddedViewRef = this.viewContainerRef.createEmbeddedView<T>(luPortal, context, { injector: this.injector });\n\t\t} else if (typeof luPortal === 'string') {\n\t\t\tthis.renderText(luPortal);\n\t\t} else {\n\t\t\tconst injector = Injector.create({\n\t\t\t\tparent: this.injector,\n\t\t\t\tproviders: [{ provide: PORTAL_CONTEXT, useValue: ctx }],\n\t\t\t});\n\t\t\ttry {\n\t\t\t\tthis.componentRef = this.viewContainerRef.createComponent(luPortal, { injector });\n\t\t\t\tthis.componentRef.changeDetectorRef.detectChanges();\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error(e);\n\t\t\t\tthrow new Error('[LuPortal] Angular failed to create component, make sure you are not giving LuPortal an Object that is not a Type<>');\n\t\t\t}\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.destroyRenderedText();\n\t\tthis.embeddedViewRef?.destroy();\n\t\tthis.componentRef?.destroy();\n\t}\n\n\tprivate renderText(text: string): void {\n\t\tif (this.createdTextElement) {\n\t\t\tthis.createdTextElement.textContent = text;\n\t\t} else {\n\t\t\tconst ref = this.viewContainerRef.createEmbeddedView(this.templateRef);\n\t\t\tconst container: HTMLElement = ref.rootNodes[0] as HTMLElement;\n\t\t\tconst parent = container.parentElement;\n\t\t\tthis.createdTextElement = document.createTextNode(text);\n\t\t\tthis.renderer.insertBefore(parent, this.createdTextElement, container);\n\t\t}\n\t}\n\n\tprivate destroyRenderedText(): void {\n\t\tif (this.createdTextElement) {\n\t\t\tthis.renderer.removeChild(this.createdTextElement.parentNode, this.createdTextElement);\n\t\t\tthis.createdTextElement = null;\n\t\t}\n\t}\n\n\t/**\n\t * Embeded view context should not be overwritten, but updated.\n\t * @see https://github.com/angular/angular/pull/51887\n\t */\n\tprivate updateEmbeddedViewContext(context: T): void {\n\t\tif (this.embeddedViewRef) {\n\t\t\tconst props = Object.keys(context);\n\n\t\t\tfor (const prop of props) {\n\t\t\t\tdelete this.embeddedViewRef.context[prop];\n\t\t\t}\n\n\t\t\tObject.assign(this.embeddedViewRef.context, context);\n\t\t\tthis.embeddedViewRef.detectChanges();\n\t\t}\n\t}\n\n\tpublic static ngTemplateContextGuard<T>(_dir: PortalDirective<T>, ctx: unknown): ctx is void {\n\t\treturn true;\n\t}\n}\n","import { CreateEffectOptions, effect, EffectCleanupRegisterFn, EffectRef, Signal, untracked } from '@angular/core';\n\ntype SignalsValue<T> = T extends readonly unknown[] ? TupleOfSignalValues<T> : [RecordOfSignalValues<T>];\n\ntype TupleOfSignalValues<T> = T extends readonly [Signal<infer U>, ...infer R] ? [U, ...TupleOfSignalValues<R>] : [];\ntype RecordOfSignalValues<T> = { [K in keyof T]: T[K] extends Signal<infer U> ? U : never };\n\nexport type EffectWithDepsInput = ReadonlyArray<Signal<unknown>> | Record<string, Signal<unknown>>;\n\n/**\n * Effect peut être dangereux car l'action accomplie peut elle-même déclencher des écritures dans des signaux.\n * C'est une mauvaise pratique, interdite par défaut par Angular.\n * La plupart du temps, seule la lecture des signaux est intéressante à tracker, pas les actions qui en découlent.\n */\nexport function ɵeffectWithDeps<const T extends EffectWithDepsInput>(\n\tdependencies: T,\n\taction: (...values: [...SignalsValue<T>, EffectCleanupRegisterFn]) => unknown,\n\toptions?: CreateEffectOptions,\n): EffectRef {\n\treturn effect((onCleanup) => {\n\t\tconst deps = isReadonlyArray(dependencies) ? readTupleOfSignalValues(dependencies) : [readRecordOfSignalValues(dependencies)];\n\n\t\tuntracked(() => action(...(deps as SignalsValue<T>), onCleanup));\n\t}, options);\n}\n\nfunction readTupleOfSignalValues<T extends readonly Signal<unknown>[]>(signals: T): TupleOfSignalValues<T> {\n\treturn signals.map((signal) => signal()) as TupleOfSignalValues<T>;\n}\n\nfunction readRecordOfSignalValues<T extends Record<string, Signal<unknown>>>(signals: T): RecordOfSignalValues<T> {\n\treturn Object.fromEntries(Object.entries(signals).map(([key, signal]) => [key, signal()])) as RecordOfSignalValues<T>;\n}\n\nfunction isReadonlyArray(input: EffectWithDepsInput): input is ReadonlyArray<Signal<unknown>> {\n\treturn Array.isArray(input);\n}\n","import { ElementRef, inject, Injectable, Renderer2 } from '@angular/core';\n\ntype LuClassSupportedTypes = string | string[] | Set<string> | { [klass: string]: boolean };\n\ninterface CssClassState {\n\tenabled: boolean;\n\tchanged: boolean;\n\ttouched: boolean;\n}\n\n@Injectable()\nexport class LuClass {\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\t#renderer = inject(Renderer2);\n\n\t#state: Record<string, boolean> = {};\n\t#stateMap = new Map<string, CssClassState>();\n\n\tpublic setState(value: LuClassSupportedTypes) {\n\t\tthis.#state = normalizeToRecord(value);\n\n\t\tfor (const [klass, enabled] of Object.entries(this.#state)) {\n\t\t\tthis.#updateState(klass, enabled);\n\t\t}\n\n\t\tthis.#applyStateDiff();\n\t}\n\n\t#updateState(klass: string, nextEnabled: boolean) {\n\t\tconst state = this.#stateMap.get(klass);\n\t\tif (state !== undefined) {\n\t\t\tif (state.enabled !== nextEnabled) {\n\t\t\t\tstate.changed = true;\n\t\t\t\tstate.enabled = nextEnabled;\n\t\t\t}\n\t\t\tstate.touched = true;\n\t\t} else {\n\t\t\tthis.#stateMap.set(klass, { enabled: nextEnabled, changed: true, touched: true });\n\t\t}\n\t}\n\n\t#applyStateDiff() {\n\t\tfor (const stateEntry of this.#stateMap) {\n\t\t\tconst klass = stateEntry[0];\n\t\t\tconst state = stateEntry[1];\n\n\t\t\tif (state.changed) {\n\t\t\t\tthis.#toggleClass(klass, state.enabled);\n\t\t\t\tstate.changed = false;\n\t\t\t} else if (!state.touched) {\n\t\t\t\t// A class that was previously active got removed from the new collection of classes -\n\t\t\t\t// remove from the DOM as well.\n\t\t\t\tif (state.enabled) {\n\t\t\t\t\tthis.#toggleClass(klass, false);\n\t\t\t\t}\n\t\t\t\tthis.#stateMap.delete(klass);\n\t\t\t}\n\n\t\t\tstate.touched = false;\n\t\t}\n\t}\n\n\t#toggleClass(klass: string, enabled: boolean): void {\n\t\tif (enabled) {\n\t\t\tthis.#renderer.addClass(this.#elementRef.nativeElement, klass);\n\t\t} else {\n\t\t\tthis.#renderer.removeClass(this.#elementRef.nativeElement, klass);\n\t\t}\n\t}\n}\n\nfunction normalizeToRecord(obj: LuClassSupportedTypes): Record<string, boolean> {\n\tif (Array.isArray(obj) || obj instanceof Set) {\n\t\tconst result: Record<string, boolean> = {};\n\n\t\tfor (const item of obj) {\n\t\t\tresult[item] = true;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tif (typeof obj === 'string') {\n\t\tobj = obj.trim();\n\t\treturn obj ? { [obj]: true } : {};\n\t}\n\n\treturn obj;\n}\n","import { inject, InjectionToken, LOCALE_ID } from '@angular/core';\nimport { ILuTranslation, LuTranslation } from './translation.model';\n\nexport function getIntl<T>(translationsToken: InjectionToken<LuTranslation<T>> | InjectionToken<ILuTranslation<T>>): T {\n\tconst locale = inject(LOCALE_ID);\n\tconst translations = inject(translationsToken);\n\n\tif (locale in translations) {\n\t\treturn translations[locale];\n\t}\n\n\tconst shortLocale = locale.substring(0, 2);\n\tif (shortLocale in translations) {\n\t\treturn translations[shortLocale];\n\t}\n\n\treturn translations['en'] ?? translations['en-GB'] ?? translations['en-US'];\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'intlParams',\n})\nexport class IntlParamsPipe implements PipeTransform {\n\t#matcher = /{{\\s?([^{}\\s]*)\\s?}}/g;\n\n\ttransform(value: string, args: Record<string, string | number>): string {\n\t\treturn value.replace(this.#matcher, (base, key: string) => {\n\t\t\treturn args[key]?.toString() ?? base;\n\t\t});\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { ViewEncapsulation, ChangeDetectionStrategy, Component, inject, InjectionToken, Directive, ElementRef, Renderer2, contentChild, Injector, Injectable, makeEnvironmentProviders, importProvidersFrom,
|
|
2
|
+
import { ViewEncapsulation, ChangeDetectionStrategy, Component, inject, InjectionToken, Directive, ElementRef, Renderer2, contentChild, Injector, Injectable, makeEnvironmentProviders, importProvidersFrom, input, assertInInjectionContext, DestroyRef, signal, viewChild, TemplateRef, runInInjectionContext } from '@angular/core';
|
|
3
3
|
import { ButtonComponent } from '@lucca-front/ng/button';
|
|
4
4
|
import { getIntl } from '@lucca-front/ng/core';
|
|
5
5
|
import { IconComponent } from '@lucca-front/ng/icon';
|
|
@@ -306,11 +306,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
|
|
|
306
306
|
type: Directive,
|
|
307
307
|
args: [{
|
|
308
308
|
selector: '[luDialogClose]',
|
|
309
|
+
host: {
|
|
310
|
+
'(click)': 'close()',
|
|
311
|
+
},
|
|
309
312
|
}]
|
|
310
|
-
}]
|
|
311
|
-
type: HostListener,
|
|
312
|
-
args: ['click']
|
|
313
|
-
}] } });
|
|
313
|
+
}] });
|
|
314
314
|
|
|
315
315
|
class DialogDismissDirective {
|
|
316
316
|
#ref = inject(LuDialogRef);
|
|
@@ -324,41 +324,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
|
|
|
324
324
|
type: Directive,
|
|
325
325
|
args: [{
|
|
326
326
|
selector: '[luDialogDismiss]',
|
|
327
|
+
host: {
|
|
328
|
+
'(click)': 'close()',
|
|
329
|
+
},
|
|
327
330
|
}]
|
|
328
|
-
}]
|
|
329
|
-
type: HostListener,
|
|
330
|
-
args: ['click']
|
|
331
|
-
}] } });
|
|
331
|
+
}] });
|
|
332
332
|
|
|
333
333
|
class DialogOpenDirective {
|
|
334
|
-
|
|
334
|
+
constructor() {
|
|
335
|
+
this.#dialogService = inject(LuDialogService);
|
|
336
|
+
this.dialog = input.required({ alias: 'luDialogOpen' });
|
|
337
|
+
this.luDialogConfig = input();
|
|
338
|
+
}
|
|
339
|
+
#dialogService;
|
|
335
340
|
click() {
|
|
336
341
|
this.#dialogService.open({
|
|
337
|
-
...this.luDialogConfig,
|
|
338
|
-
content: this.dialog,
|
|
342
|
+
...this.luDialogConfig(),
|
|
343
|
+
content: this.dialog(),
|
|
339
344
|
});
|
|
340
345
|
}
|
|
341
346
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: DialogOpenDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
342
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
347
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.2", type: DialogOpenDirective, isStandalone: true, selector: "[luDialogOpen]", inputs: { dialog: { classPropertyName: "dialog", publicName: "luDialogOpen", isSignal: true, isRequired: true, transformFunction: null }, luDialogConfig: { classPropertyName: "luDialogConfig", publicName: "luDialogConfig", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "click()" } }, providers: [provideLuDialog()], ngImport: i0 }); }
|
|
343
348
|
}
|
|
344
349
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: DialogOpenDirective, decorators: [{
|
|
345
350
|
type: Directive,
|
|
346
351
|
args: [{
|
|
347
352
|
selector: '[luDialogOpen]',
|
|
348
353
|
providers: [provideLuDialog()],
|
|
354
|
+
host: {
|
|
355
|
+
'(click)': 'click()',
|
|
356
|
+
},
|
|
349
357
|
}]
|
|
350
|
-
}]
|
|
351
|
-
type: Input,
|
|
352
|
-
args: [{
|
|
353
|
-
required: true,
|
|
354
|
-
alias: 'luDialogOpen',
|
|
355
|
-
}]
|
|
356
|
-
}], luDialogConfig: [{
|
|
357
|
-
type: Input
|
|
358
|
-
}], click: [{
|
|
359
|
-
type: HostListener,
|
|
360
|
-
args: ['click']
|
|
361
|
-
}] } });
|
|
358
|
+
}] });
|
|
362
359
|
|
|
363
360
|
const DIALOG_ROUTE_CLOSE_TRIGGER = new InjectionToken('DIALOG_ROUTE_CLOSE_TRIGGER');
|
|
364
361
|
const DIALOG_ROUTE_DISMISS_TRIGGER = new InjectionToken('DIALOG_ROUTE_DISMISS_TRIGGER');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-dialog.mjs","sources":["../../../packages/ng/dialog/dialog-content/dialog-content.component.ts","../../../packages/ng/dialog/dialog-footer/dialog-footer.component.ts","../../../packages/ng/dialog/model/dialog-config.ts","../../../packages/ng/dialog/model/dialog-ref.ts","../../../packages/ng/dialog/model/injectors.ts","../../../packages/ng/dialog/dialog-header/translations.ts","../../../packages/ng/dialog/dialog-header/dialog-header.translate.ts","../../../packages/ng/dialog/dialog-header/dialog-header.component.ts","../../../packages/ng/dialog/dialog-header/dialog-header.component.html","../../../packages/ng/dialog/dialog.service.ts","../../../packages/ng/dialog/dialog.providers.ts","../../../packages/ng/dialog/dialog/dialog.component.ts","../../../packages/ng/dialog/directives/dialog-close.directive.ts","../../../packages/ng/dialog/directives/dialog-dismiss.directive.ts","../../../packages/ng/dialog/directives/dialog-open.directive.ts","../../../packages/ng/dialog/dialog-routing/dialog-routing.models.ts","../../../packages/ng/dialog/dialog-routing/dialog-routing.utils.ts","../../../packages/ng/dialog/dialog-routing/dialog-routing.component.ts","../../../packages/ng/dialog/lucca-front-ng-dialog.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-dialog-content',\n\ttemplate: '<ng-content />',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside-content',\n\t},\n})\nexport class DialogContentComponent {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-dialog-footer',\n\ttemplate: `<ng-content />`,\n\tstyleUrl: './dialog-footer.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside-footer footer',\n\t},\n})\nexport class DialogFooterComponent {}\n","import { AutoFocusTarget, DialogConfig } from '@angular/cdk/dialog';\nimport { ComponentType } from '@angular/cdk/overlay';\nimport { TemplateRef } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nconst ɵdialogData = Symbol.for('luDialogData');\nconst ɵdialogResult = Symbol.for('luDialogResult');\n\nexport type ɵDialogDataFlag = { [ɵdialogData]: unknown };\nexport type ɵDialogResultFlag<R> = { [ɵdialogResult]: R };\n\nexport type LuDialogData<T> = {\n\t[K in keyof T]: T[K] extends ɵDialogDataFlag ? Omit<T[K], typeof ɵdialogData> : never;\n}[keyof T];\n\ntype DialogRefProps<C> = { [K in keyof C]: C[K] extends ɵDialogResultFlag<unknown> ? K : never }[keyof C] & keyof C;\nexport type LuDialogResult<C> = DialogRefProps<C> extends never ? void : C[DialogRefProps<C>] extends ɵDialogResultFlag<infer T> ? T : void;\n\ninterface BaseLuDialogConfig<C, TData = LuDialogData<C>> {\n\t/**\n\t * The component or template to put inside the dialog container\n\t */\n\tcontent: ComponentType<C> | TemplateRef<C>;\n\n\t/**\n\t * Data to pass to the component, will be required if the component used `injectDialogData` in a field, specifying the data that's needed.\n\t */\n\tdata: TData;\n\n\t/**\n\t * Should we put a backdrop? Defaults to true\n\t */\n\tmodal?: boolean;\n\n\t/**\n\t * Is this dialog a blocking popup that cannot be dismissed ?\n\t *\n\t * Defaults to false, setting this to true will also remove the close button in the header\n\t * if you're using `lu-dialog-header`.\n\t */\n\talert?: boolean;\n\n\t/**\n\t * Can be used if you don't have a header or aren't using the default one, to set an aria-label\n\t * instead of aria-labelledby on the dialog container\n\t */\n\tariaLabel?: string;\n\n\t/**\n\t * Autofocus target\n\t *\n\t * Defaults to the close button from the header, first-input is added by us to focus the first available input\n\t * or the first input that is contained inside a node that has the `.luDialog-autofocus` class\n\t */\n\tautoFocus?: AutoFocusTarget | 'first-input' | string;\n\n\t/**\n\t * This provides a way to override any of the configuration parameters expected by cdk's `Dialog.open` method.\n\t *\n\t * WARNING: this will take full authority and override with your values no matter what's computed by LuDialogService,\n\t * use with caution.\n\t */\n\tcdkConfigOverride?: DialogConfig<C>;\n\n\t/**\n\t * A hook function to determine if the current dialog can be closed or not, if provided.\n\t *\n\t * @param comp the instance of the component that's inside the dialog box.\n\t */\n\tcanClose?: (comp: C) => boolean | Observable<boolean>;\n\n\t/**\n\t * Determine if the current dialog can be close by a click on backdrop or escape key\n\t */\n\tcanCloseWithBackdrop?: boolean;\n\n\t/**\n\t * The size of the panel used for the dialog\n\t */\n\tsize?: 'XS' | 'S' | 'M' | 'L' | 'XL' | 'XXL' | 'fitContent' | `maxContent` | 'fullScreen';\n\n\t/**\n\t * Should it be a modal (default), a drawer? a drawer from bottom?\n\t */\n\tmode?: 'default' | 'drawer' | 'drawer-from-bottom';\n\n\t/**\n\t * Classes to add to the panel\n\t */\n\tpanelClasses?: string[];\n}\n\nexport type LuDialogConfig<T, TData = LuDialogData<T>> = [TData] extends [never] ? Omit<BaseLuDialogConfig<T, TData>, 'data'> : BaseLuDialogConfig<T, TData>;\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { isObservable, Observable, of, Subscription, take } from 'rxjs';\nimport { filter, map, takeUntil } from 'rxjs/operators';\nimport { LuDialogConfig, LuDialogData, LuDialogResult } from './dialog-config';\n\nexport const DISMISSED_VALUE = {} as const;\n\nfunction isDismissed(v: unknown): v is typeof DISMISSED_VALUE {\n\treturn v === DISMISSED_VALUE;\n}\n\nexport class LuDialogRef<C = unknown, TData = LuDialogData<C>> {\n\t/**\n\t * Instance of the component that's inside the dialog\n\t */\n\tget instance(): C {\n\t\treturn this.cdkRef.componentInstance;\n\t}\n\n\t/**\n\t * Subscription to the detachments of the dialog\n\t * This is used to close the dialog when it is detached\n\t */\n\tdetachSubscription: Subscription | null = null;\n\n\t/**\n\t * Emits when the dialog is closed\n\t *\n\t * Emits either the output of result$ or undefined depending on how it has been closed\n\t */\n\tclosed$: Observable<LuDialogResult<C> | undefined> = this.cdkRef.closed.pipe(map((res): LuDialogResult<C> | undefined => (isDismissed(res) ? undefined : res)));\n\n\t/**\n\t * Emits void when the dialog is dismissed\n\t */\n\tdismissed$: Observable<void> = this.cdkRef.closed.pipe(\n\t\tfilter((res) => res === DISMISSED_VALUE),\n\t\tmap((): void => undefined),\n\t);\n\n\t/**\n\t * Emits the result if it has a value that's not DISMISSED_VALUE\n\t */\n\tresult$: Observable<LuDialogResult<C>> = this.cdkRef.closed.pipe(filter((res): res is LuDialogResult<C> => !isDismissed(res)));\n\n\tconstructor(\n\t\tpublic readonly cdkRef: DialogRef<LuDialogResult<C> | typeof DISMISSED_VALUE, C>,\n\t\tpublic readonly config: LuDialogConfig<C, TData>,\n\t) {\n\t\tthis.detachSubscription = cdkRef.overlayRef\n\t\t\t.detachments()\n\t\t\t.pipe(takeUntil(this.closed$))\n\t\t\t.subscribe(() => {\n\t\t\t\tcdkRef.close(DISMISSED_VALUE);\n\t\t\t});\n\t}\n\n\tdismiss(): void {\n\t\t// If we can't dismiss this dialog box, just ignore the dismiss call.\n\t\tif (this.config.alert) {\n\t\t\treturn;\n\t\t}\n\t\tconst canClose = this.config.canClose?.(this.instance) ?? true;\n\t\tconst canClose$ = isObservable(canClose) ? canClose : of(canClose);\n\t\tcanClose$.pipe(take(1)).subscribe((close) => {\n\t\t\tif (close) {\n\t\t\t\tthis.detachSubscription?.unsubscribe();\n\t\t\t\tthis.cdkRef.close(DISMISSED_VALUE);\n\t\t\t}\n\t\t});\n\t}\n\n\tclose(res: LuDialogResult<C>): void {\n\t\tthis.detachSubscription?.unsubscribe();\n\t\tthis.cdkRef.close(res);\n\t}\n}\n\nexport type LuDialogSelfRef<R> = { dismiss(): void; close(res: R): void };\n","import { DIALOG_DATA } from '@angular/cdk/dialog';\nimport { inject } from '@angular/core';\nimport { ɵDialogDataFlag, ɵDialogResultFlag } from './dialog-config';\nimport { LuDialogRef, LuDialogSelfRef } from './dialog-ref';\n\nexport function injectDialogData<TData>(): TData & ɵDialogDataFlag {\n\treturn inject<TData & ɵDialogDataFlag>(DIALOG_DATA);\n}\n\nexport function injectDialogRef<R = void>(): LuDialogSelfRef<R> & ɵDialogResultFlag<R> {\n\treturn inject<LuDialogSelfRef<R>>(LuDialogRef) as LuDialogSelfRef<R> & ɵDialogResultFlag<R>;\n}\n","export const Translations = {\n\t'nl-BE': {\n\t\tclose: 'Sluiten',\n\t},\n\tnl: {\n\t\tclose: 'Sluiten',\n\t},\n\tit: {\n\t\tclose: 'Chiudere',\n\t},\n\tfr: {\n\t\tclose: 'Fermer',\n\t},\n\tpt: {\n\t\tclose: 'Fechar',\n\t},\n\tes: {\n\t\tclose: 'Cerrar',\n\t},\n\tde: {\n\t\tclose: 'Schließen',\n\t},\n\ten: {\n\t\tclose: 'Close',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_DIALOG_HEADER_TRANSLATIONS = new InjectionToken('LuDialogHeaderTranslations', {\n\tfactory: () => luDialogHeaderTranslations,\n});\n\nexport interface LuDialogHeaderTranslations {\n\tclose: string;\n}\n\nexport const luDialogHeaderTranslations: LuTranslation<LuDialogHeaderTranslations> = Translations;\n","import { CdkDialogContainer } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, contentChild, Directive, ElementRef, inject, OnInit, Renderer2, ViewEncapsulation } from '@angular/core';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LuDialogRef } from '../model';\nimport { LU_DIALOG_HEADER_TRANSLATIONS } from './dialog-header.translate';\n\nlet nextId = 0;\n\n@Directive({\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: '[dialogHeaderAction]',\n})\nexport class DialogHeaderAction {}\n\n@Component({\n\tselector: 'lu-dialog-header',\n\tstandalone: true,\n\timports: [IconComponent, ButtonComponent],\n\ttemplateUrl: './dialog-header.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside-header',\n\t},\n})\nexport class DialogHeaderComponent implements OnInit {\n\t#ref = inject(LuDialogRef);\n\n\tintl = getIntl(LU_DIALOG_HEADER_TRANSLATIONS);\n\n\tdismissible = !this.#ref.config.alert;\n\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t#renderer = inject(Renderer2);\n\n\tclose(): void {\n\t\tthis.#ref.dismiss();\n\t}\n\n\toptionalAction = contentChild(DialogHeaderAction);\n\n\tngOnInit(): void {\n\t\t// Using setTimeout here to make sure this will be handled in the next Cd cycle, not the current one.\n\t\tsetTimeout(() => {\n\t\t\tconst header = this.#elementRef.nativeElement.querySelector('h1');\n\t\t\tconst id = header?.id || `lu-dialog-header-${nextId++}`;\n\t\t\tif (header) {\n\t\t\t\tthis.#renderer.setAttribute(header, 'id', id);\n\t\t\t\tthis.#renderer.addClass(header, 'dialog-inside-header-container-title');\n\t\t\t}\n\t\t\t(this.#ref.cdkRef.containerInstance as CdkDialogContainer)?._addAriaLabelledBy(id);\n\t\t});\n\t}\n}\n","@if (dismissible) {\n\t<button class=\"dialog-inside-header-button\" type=\"button\" luButton (click)=\"close()\">\n\t\t<lu-icon icon=\"signClose\" [alt]=\"intl.close\" />\n\t</button>\n}\n@if (optionalAction()) {\n\t<div class=\"dialog-inside-header-actionOptional\"><ng-content select=\"[dialogHeaderAction]\" /></div>\n}\n\n<div class=\"dialog-inside-header-container\">\n\t<ng-content />\n</div>\n","import { Dialog, DialogRef } from '@angular/cdk/dialog';\nimport { inject, Injectable, Injector, Renderer2 } from '@angular/core';\nimport { isObservable, merge, of, take } from 'rxjs';\nimport { filter, switchMap, takeUntil } from 'rxjs/operators';\nimport { LuDialogConfig, LuDialogData, LuDialogRef, LuDialogResult } from './model';\nimport { DISMISSED_VALUE } from './model/dialog-ref';\n\n@Injectable()\nexport class LuDialogService {\n\t#cdkDialog = inject(Dialog);\n\n\t#injector = inject(Injector);\n\n\topen<C, TData = LuDialogData<C>>(config: LuDialogConfig<C, NoInfer<TData>>): LuDialogRef<C, TData> {\n\t\tlet luDialogRef: LuDialogRef<C, TData>;\n\t\tlet modeClasses: string[] = [];\n\t\tswitch (config.mode) {\n\t\t\tcase 'drawer':\n\t\t\t\tmodeClasses = ['mod-drawer'];\n\t\t\t\tbreak;\n\t\t\tcase 'drawer-from-bottom':\n\t\t\t\tmodeClasses = ['mod-drawer', 'mod-fromBottom'];\n\t\t\t\tbreak;\n\t\t}\n\t\tconst cdkRef = this.#cdkDialog.open(config.content, {\n\t\t\tariaModal: config.modal ?? true,\n\t\t\thasBackdrop: config.modal ?? true,\n\t\t\tdata: 'data' in config ? config.data : null,\n\t\t\tdisableClose: true,\n\t\t\tcloseOnDestroy: true,\n\t\t\trole: config.alert ? 'alertdialog' : 'dialog',\n\t\t\trestoreFocus: true,\n\t\t\tbackdropClass: 'dialog_backdrop',\n\t\t\tpanelClass: ['dialog', `mod-${config.size || 'M'}`, ...modeClasses, ...(config.panelClasses || [])],\n\t\t\tariaLabel: config.ariaLabel,\n\t\t\t// Handle manually\n\t\t\tcloseOnOverlayDetachments: false,\n\t\t\t// If focus is first-input, focus dialog and let the component do the rest\n\t\t\t// Else, just set it to config value or default to first-tabbable\n\t\t\tautoFocus: config.autoFocus === 'first-input' ? 'dialog' : (config.autoFocus ?? 'first-tabbable'),\n\t\t\ttemplateContext: () => ({ dialogRef: luDialogRef }),\n\t\t\tinjector: this.#injector,\n\t\t\tproviders: (ref: DialogRef<LuDialogResult<C>, C>) => {\n\t\t\t\tluDialogRef = new LuDialogRef(ref, config);\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\tprovide: LuDialogRef,\n\t\t\t\t\t\tuseValue: luDialogRef,\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t},\n\t\t\t...(config.cdkConfigOverride || {}),\n\t\t});\n\n\t\tif (cdkRef.componentRef) {\n\t\t\tconst renderer = cdkRef.componentRef.injector.get(Renderer2);\n\t\t\trenderer.setStyle(cdkRef.componentRef.location.nativeElement, 'display', 'contents');\n\t\t}\n\n\t\tif (!config.alert) {\n\t\t\t// Setup close listeners on backdrop click and escape key by ourselves so we can hook the `canClose` method to it.\n\t\t\tmerge(cdkRef.backdropClick, cdkRef.keydownEvents.pipe(filter((e) => e.key === 'Escape' && !e.defaultPrevented)))\n\t\t\t\t.pipe(\n\t\t\t\t\tfilter(() => config.canCloseWithBackdrop ?? true),\n\t\t\t\t\tswitchMap(() => {\n\t\t\t\t\t\tconst canClose = config.canClose?.(cdkRef.componentInstance) ?? true;\n\t\t\t\t\t\tconst canClose$ = isObservable(canClose) ? canClose : of(canClose);\n\t\t\t\t\t\treturn canClose$.pipe(take(1));\n\t\t\t\t\t}),\n\t\t\t\t\ttakeUntil(luDialogRef.closed$),\n\t\t\t\t)\n\t\t\t\t.subscribe((canClose) => {\n\t\t\t\t\tif (canClose) {\n\t\t\t\t\t\tluDialogRef.detachSubscription?.unsubscribe();\n\t\t\t\t\t\tcdkRef.close(DISMISSED_VALUE);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}\n\n\t\treturn luDialogRef;\n\t}\n}\n","import { EnvironmentProviders, importProvidersFrom, makeEnvironmentProviders, Provider } from '@angular/core';\nimport { DialogModule } from '@angular/cdk/dialog';\nimport { LuDialogService } from './dialog.service';\n\nexport function configureLuDialog(): EnvironmentProviders {\n\treturn makeEnvironmentProviders([importProvidersFrom(DialogModule)]);\n}\n\nexport function provideLuDialog(): Provider {\n\treturn LuDialogService;\n}\n","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, inject, ViewEncapsulation } from '@angular/core';\nimport { LuDialogRef } from '../model';\n\n@Component({\n\tselector: 'lu-dialog',\n\ttemplate: '<ng-content />',\n\tstyleUrl: './dialog.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside',\n\t},\n})\nexport class DialogComponent implements AfterViewInit {\n\tpublic readonly dialogRef = inject<LuDialogRef>(LuDialogRef);\n\n\t#htmlElement = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n\n\tclose(): void {\n\t\tthis.dialogRef.close();\n\t}\n\n\tdismiss(): void {\n\t\tthis.dialogRef.dismiss();\n\t}\n\n\tngAfterViewInit(): void {\n\t\tif (this.dialogRef.config.autoFocus === 'first-input' && !this.dialogRef.config.cdkConfigOverride?.autoFocus) {\n\t\t\tconst focusable: HTMLElement =\n\t\t\t\tthis.#htmlElement.querySelector('.luDialog-autofocus .luNativeInput') || this.#htmlElement.querySelector('.luDialog-autofocus') || this.#htmlElement.querySelector('.luNativeInput');\n\t\t\tfocusable?.focus();\n\t\t}\n\t}\n}\n","import { Directive, HostListener, inject } from '@angular/core';\nimport { LuDialogRef } from '../model';\n\n@Directive({\n\tselector: '[luDialogClose]',\n})\nexport class DialogCloseDirective {\n\t#ref = inject<LuDialogRef>(LuDialogRef);\n\n\t@HostListener('click')\n\tclose(): void {\n\t\tthis.#ref.close();\n\t}\n}\n","import { Directive, HostListener, inject } from '@angular/core';\nimport { LuDialogRef } from '../model';\n\n@Directive({\n\tselector: '[luDialogDismiss]',\n})\nexport class DialogDismissDirective {\n\t#ref = inject<LuDialogRef>(LuDialogRef);\n\n\t@HostListener('click')\n\tclose(): void {\n\t\tthis.#ref.dismiss();\n\t}\n}\n","import { Directive, HostListener, inject, Input, TemplateRef } from '@angular/core';\nimport { provideLuDialog } from '../dialog.providers';\nimport { LuDialogService } from '../dialog.service';\nimport { LuDialogConfig } from '../model';\n\n@Directive({\n\tselector: '[luDialogOpen]',\n\tproviders: [provideLuDialog()],\n})\nexport class DialogOpenDirective {\n\t#dialogService = inject(LuDialogService);\n\n\t@Input({\n\t\trequired: true,\n\t\talias: 'luDialogOpen',\n\t})\n\tdialog: TemplateRef<void>;\n\n\t@Input()\n\tluDialogConfig: LuDialogConfig<unknown>;\n\n\t@HostListener('click')\n\tclick(): void {\n\t\tthis.#dialogService.open({\n\t\t\t...this.luDialogConfig,\n\t\t\tcontent: this.dialog,\n\t\t});\n\t}\n}\n","import { ComponentType } from '@angular/cdk/overlay';\nimport { InjectionToken } from '@angular/core';\nimport { Route } from '@angular/router';\nimport { LuDialogConfig, LuDialogData, LuDialogResult } from '../model';\nimport { DialogResolveFn } from './dialog-routing.utils';\n\nexport type DialogRouteComponentLoader<C> =\n\t| {\n\t\t\tcomponent: ComponentType<C>;\n\t }\n\t| {\n\t\t\tloadComponent: () => Promise<ComponentType<C>>;\n\t };\n\nexport type DialogRouteCloseTrigger = 'navigation' | 'dialog:closed';\nexport type DialogRouteDismissTrigger = 'navigation' | 'dialog:dismissed';\n\nexport type DialogRouteConfig<C> = DialogRouteComponentLoader<C> & {\n\tdialogConfigFactory: DialogResolveFn<DialogRouteDialogConfig<C>>;\n\tdataFactory: LuDialogData<C> extends never ? undefined : DialogResolveFn<LuDialogData<C>>;\n\t/**\n\t * When the dialog is closed, this callback is called with the result of the dialog.\n\t * This callback is called within injection context, so you can inject services in it.\n\t *\n\t * If needed, the reason the dialog was closed can retrieved using `inject(DIALOG_ROUTE_CLOSE_TRIGGER)`\n\t */\n\tonClosed?: (res: LuDialogResult<C>) => unknown;\n\t/**\n\t * When the dialog is dismissed, this callback is called.\n\t * This callback is called within injection context, so you can inject services in it.\n\t *\n\t * If needed, the reason the dialog was dismissed can retrieved using `inject(DIALOG_ROUTE_DISMISS_TRIGGER)`\n\t */\n\tonDismissed?: () => unknown;\n} & Omit<Route, 'component' | 'loadComponent'>;\n\nexport type DialogRouteDialogConfig<C> = Omit<LuDialogConfig<C>, 'data' | 'content'>;\n\nexport interface DialogRouteData<C> {\n\tdialogRouteConfig: DialogRouteConfig<C>;\n}\n\nexport const DIALOG_ROUTE_CLOSE_TRIGGER = new InjectionToken<DialogRouteCloseTrigger>('DIALOG_ROUTE_CLOSE_TRIGGER');\nexport const DIALOG_ROUTE_DISMISS_TRIGGER = new InjectionToken<DialogRouteDismissTrigger>('DIALOG_ROUTE_DISMISS_TRIGGER');\nexport const DIALOG_ROUTE_CONFIG = new InjectionToken<DialogRouteConfig<unknown>>('DIALOG_ROUTE_CONFIG');\n","import { ComponentType } from '@angular/cdk/overlay';\nimport { inject } from '@angular/core';\nimport { CanActivate, CanDeactivateFn, DeprecatedGuard, Route } from '@angular/router';\nimport { firstValueFrom, from, isObservable, Observable, of } from 'rxjs';\nimport { LuDialogData } from '../model';\nimport { DialogRoutingContainerComponent } from './dialog-routing.component';\nimport { DialogRouteConfig, DialogRouteData, DialogRouteDialogConfig } from './dialog-routing.models';\n\nexport type Deferrable<T> = Promise<T> | Observable<T> | T;\nexport type DialogResolveFn<T> = () => Deferrable<T>;\n\nexport async function deferrableToPromise<T>(deferrable: Promise<T> | Observable<T> | T): Promise<T> {\n\treturn isObservable(deferrable) ? firstValueFrom(deferrable) : deferrable;\n}\n\nexport function deferrableToObservable<T>(deferrable: Promise<T> | Observable<T> | T): Observable<T> {\n\treturn isObservable(deferrable) ? deferrable : deferrable instanceof Promise ? from(deferrable) : of(deferrable);\n}\n\nexport function createDialogRoute<C>(dialogRouteConfig: DialogRouteConfig<C>): Route {\n\tconst { dialogConfigFactory, dataFactory, canMatch, ...baseRoute } = dialogRouteConfig;\n\n\tconst data: DialogRouteData<C> = { dialogRouteConfig };\n\n\treturn {\n\t\tpath: dialogRouteConfig.path,\n\t\tcomponent: DialogRoutingContainerComponent,\n\t\tdata,\n\t\tcanMatch,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\t...baseRoute,\n\t\t\t\tpath: '',\n\t\t\t\tcanDeactivate: dialogRouteConfig.canDeactivate\n\t\t\t\t\t?.map((fn) => toCanDeactivateFn(fn))\n\t\t\t\t\t?.map(\n\t\t\t\t\t\t(guard): CanDeactivateFn<C> =>\n\t\t\t\t\t\t\t(dialogComponentInstance, route, state, nextState) => {\n\t\t\t\t\t\t\t\t// If dialogComponentInstance is null, it means the dialog is already closed. We allow deactivation in this case.\n\t\t\t\t\t\t\t\tif (!dialogComponentInstance) {\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn guard(dialogComponentInstance, route, state, nextState);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t),\n\t\t\t},\n\t\t],\n\t};\n}\n\nexport type DialogFactoryResultOptions<C> = {\n\tpath: string;\n\tdialogRouteConfig?: Partial<Omit<DialogRouteConfig<C>, 'path' | 'component' | 'loadComponent' | 'dataFactory'>>;\n} & (LuDialogData<C> extends never\n\t? { dataFactory?: never }\n\t: {\n\t\t\tdataFactory: DialogResolveFn<LuDialogData<C>>;\n\t\t});\n\nexport type DialogFactoryResult<C> = (options: DialogFactoryResultOptions<C>) => Route;\n\nexport type DialogFactoryConfig<C> = Partial<{\n\tdialogConfig: DialogRouteDialogConfig<C>;\n\tdialogRouteConfig: Partial<DialogRouteConfig<C>>;\n}>;\n\nexport function dialogRouteFactory<C>(component: ComponentType<C>, config?: DialogFactoryConfig<C>): DialogFactoryResult<C> {\n\treturn ({ path, dataFactory, dialogRouteConfig }) =>\n\t\tcreateDialogRoute<C>({\n\t\t\tpath,\n\t\t\tcomponent,\n\t\t\tdataFactory: dataFactory as LuDialogData<C> extends never ? undefined : DialogResolveFn<LuDialogData<C>>,\n\t\t\tdialogConfigFactory: () => config?.dialogConfig ?? ({} as DialogRouteDialogConfig<C>),\n\t\t\t...mergeRouteConfig(config?.dialogRouteConfig, dialogRouteConfig),\n\t\t});\n}\n\nexport function dialogLazyRouteFactory<C>(loadComponent: () => Promise<ComponentType<C>>, config?: DialogFactoryConfig<C>): DialogFactoryResult<C> {\n\treturn ({ path, dataFactory, dialogRouteConfig }) =>\n\t\tcreateDialogRoute<C>({\n\t\t\tpath,\n\t\t\tloadComponent,\n\t\t\tdataFactory: dataFactory as LuDialogData<C> extends never ? undefined : DialogResolveFn<LuDialogData<C>>,\n\t\t\tdialogConfigFactory: () => config?.dialogConfig ?? ({} as DialogRouteDialogConfig<C>),\n\t\t\t...mergeRouteConfig(config?.dialogRouteConfig, dialogRouteConfig),\n\t\t});\n}\n\nfunction mergeRouteConfig<C>(config1: Partial<DialogRouteConfig<C>>, config2: Partial<DialogRouteConfig<C>>): Partial<DialogRouteConfig<C>> {\n\tif (!config1) {\n\t\treturn config2;\n\t}\n\n\tif (!config2) {\n\t\treturn config1;\n\t}\n\n\tconst result: Partial<DialogRouteConfig<C>> = { ...config1, ...config2 };\n\n\t// If both configs have the same key, we merge the arrays\n\tconst mergedArrays = (['providers', 'canActivate', 'children', 'canDeactivate', 'canLoad', 'canActivateChild'] as const satisfies Array<keyof Route>).filter(\n\t\t(key) => key in config1 && key in config2,\n\t);\n\n\tfor (const key of mergedArrays) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\tresult[key] = [...(config1[key] ?? []), ...(config2[key] ?? [])] as any[];\n\t}\n\n\t// If both configs have the same data key, we merge the objects\n\tif (config1.data && config2.data) {\n\t\tresult.data = { ...config1.data, ...config2.data };\n\t}\n\n\t// If both configs have the same resolve key, we merge the objects\n\tif (config1.resolve && config2.resolve) {\n\t\tresult.resolve = { ...config1.resolve, ...config2.resolve };\n\t}\n\n\treturn result;\n}\n\nexport function toCanDeactivateFn<C>(guard: DeprecatedGuard | CanDeactivateFn<C>): CanDeactivateFn<C> {\n\tif (typeof guard === 'string') {\n\t\tthrow new Error('String guards are not supported in dialog routes');\n\t}\n\n\ttry {\n\t\tconst deprectedGuard = inject(guard) as CanActivate;\n\t\treturn (_component, currentRoute, _currentState, nextState) => deprectedGuard.canActivate(currentRoute, nextState);\n\t} catch {\n\t\treturn guard as CanDeactivateFn<C>;\n\t}\n}\n","import { assertInInjectionContext, ChangeDetectionStrategy, Component, DestroyRef, inject, Injector, OnDestroy, OnInit, runInInjectionContext, signal, TemplateRef, viewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute, CanDeactivateFn, DeprecatedGuard, GuardResult, Router, RouterOutlet } from '@angular/router';\nimport { combineLatest, concat, map, Observable, of } from 'rxjs';\nimport { provideLuDialog } from '../dialog.providers';\nimport { LuDialogService } from '../dialog.service';\nimport { LuDialogRef, LuDialogResult } from '../model';\nimport {\n\tDIALOG_ROUTE_CLOSE_TRIGGER,\n\tDIALOG_ROUTE_CONFIG,\n\tDIALOG_ROUTE_DISMISS_TRIGGER,\n\tDialogRouteCloseTrigger,\n\tDialogRouteData,\n\tDialogRouteDialogConfig,\n\tDialogRouteDismissTrigger,\n} from './dialog-routing.models';\nimport { deferrableToObservable, deferrableToPromise, DialogResolveFn, toCanDeactivateFn } from './dialog-routing.utils';\n\n/**\n * Default onClosed/onDismissed function that navigates back to the parent route when the dialog is closed or dismissed.\n */\nexport function defaultOnClosedFn(): void;\n/**\n * Default onClosed/onDismissed function that navigates back to the parent route when the dialog is closed or dismissed.\n * @deprecated Use non-generic version instead.\n */\nexport function defaultOnClosedFn<_C>(): void;\nexport function defaultOnClosedFn<C>(): void {\n\tlet trigger: DialogRouteCloseTrigger | DialogRouteDismissTrigger | null = null;\n\n\ttry {\n\t\tassertInInjectionContext(defaultOnClosedFn);\n\t\ttrigger = inject(DIALOG_ROUTE_CLOSE_TRIGGER, { optional: true }) ?? inject(DIALOG_ROUTE_DISMISS_TRIGGER, { optional: true });\n\t} catch {\n\t\t// Not in injection context, do nothing\n\t}\n\n\tif (trigger === 'navigation') {\n\t\t// If the dialog is closed because of a navigation, we don't need to do anything.\n\t\t// It would cancel the navigation that is already in progress.\n\t\treturn;\n\t}\n\n\tconst router = inject(Router);\n\tconst route = inject(ActivatedRoute);\n\tconst routeData = route.snapshot.data as DialogRouteData<C>;\n\tconst next = routeData.dialogRouteConfig.path\n\t\t.split('/')\n\t\t.map(() => '..')\n\t\t.join('/');\n\n\treturn void router.navigate([next], {\n\t\trelativeTo: route.children[0],\n\t\tqueryParamsHandling: 'preserve',\n\t});\n}\n\n@Component({\n\tselector: 'lu-dialog-routing-container',\n\timports: [RouterOutlet],\n\ttemplate: `\n\t\t<ng-template>\n\t\t\t<router-outlet (activate)=\"dialogComponentInstance.set($event)\" (deactivate)=\"dialogComponentInstance.set(null)\" />\n\t\t</ng-template>\n\t`,\n\tstyles: [\n\t\t`\n\t\t\t:host {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t`,\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\tprovideLuDialog(),\n\t\t{\n\t\t\tprovide: DIALOG_ROUTE_CONFIG,\n\t\t\tuseFactory: () => inject(DialogRoutingContainerComponent).config,\n\t\t},\n\t],\n})\nexport class DialogRoutingContainerComponent<C> implements OnDestroy, OnInit {\n\treadonly #route = inject(ActivatedRoute);\n\treadonly #router = inject(Router);\n\treadonly #destroyRef = inject(DestroyRef);\n\treadonly #dialog = inject(LuDialogService);\n\treadonly injector = inject(Injector);\n\treadonly config = this.#routeData.dialogRouteConfig;\n\tprotected readonly dialogComponentInstance = signal<C | null>(null);\n\tprotected readonly dialogTemplate = viewChild.required(TemplateRef);\n\t#closeTrigger?: DialogRouteCloseTrigger | DialogRouteDismissTrigger;\n\n\t#ref?: LuDialogRef<C>;\n\n\tget #routeData(): DialogRouteData<C> {\n\t\treturn this.#route.snapshot.data as DialogRouteData<C>;\n\t}\n\n\tngOnInit(): void {\n\t\tvoid this.#openDialog();\n\t}\n\n\t/**\n\t * In this context, ngOnDestroy is called when the user navigates away from the route.\n\t * The navigation can be triggered:\n\t * - from within the dialog (#ref.dismissed => config.onClosed/defaultOnClosedFn/config.onDismissed/defaultOnClosedFn => ngOnDestroy)\n\t * - from router navigation (ngOnDestroy => #ref.dismissed => config.onDismissed/defaultOnClosedFn)\n\t */\n\tngOnDestroy(): void {\n\t\tthis.#closeTrigger ??= 'navigation';\n\t\tthis.#ref?.dismiss();\n\t}\n\n\tasync #openDialog(): Promise<void> {\n\t\tconst [data, dialogConfig] = await Promise.all([this.#resolve(this.config.dataFactory), this.#resolve(this.config.dialogConfigFactory)]);\n\n\t\tthis.#ref = this.#dialog.open<C>({\n\t\t\t...dialogConfig,\n\t\t\tcontent: this.dialogTemplate(),\n\t\t\tdata,\n\t\t\tcanClose: this.#getCanCloseFn(dialogConfig),\n\t\t});\n\n\t\tthis.#ref.result$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((result) => this.#onDialogClosed(result));\n\t\tthis.#ref.dismissed$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe(() => this.#onDialogDismissed());\n\t}\n\n\t#getCanCloseFn(config: DialogRouteDialogConfig<C>): ((c: C) => Observable<boolean>) | undefined {\n\t\tconst canCloseFns: ((c: C) => Observable<boolean>)[] = [];\n\n\t\tif (config.canClose) {\n\t\t\tcanCloseFns.push((c: C) => deferrableToObservable(config.canClose(c)));\n\t\t}\n\n\t\tif (this.config.canDeactivate) {\n\t\t\tcanCloseFns.push(this.#getCanCloseFromGuardDialogFn(this.config.canDeactivate));\n\t\t}\n\n\t\treturn canCloseFns.length ? (c: C) => combineLatest(canCloseFns.map((fn) => fn(c))).pipe(map((results) => results.every((r) => r))) : undefined;\n\t}\n\n\t#getCanCloseFromGuardDialogFn(canDeactivate: (CanDeactivateFn<C> | DeprecatedGuard)[]): () => Observable<boolean> {\n\t\treturn () => {\n\t\t\tconst results$ = canDeactivate.map((cD) => this.callCanDeactivateFn(cD));\n\n\t\t\treturn concat(...results$).pipe(\n\t\t\t\tmap((guardResult) => {\n\t\t\t\t\tif (typeof guardResult === 'boolean') {\n\t\t\t\t\t\treturn guardResult;\n\t\t\t\t\t}\n\t\t\t\t\tvoid this.#router.navigate([guardResult]);\n\t\t\t\t\treturn true;\n\t\t\t\t}),\n\t\t\t);\n\t\t};\n\t}\n\n\tcallCanDeactivateFn(canDeactivateFn: CanDeactivateFn<C> | DeprecatedGuard): Observable<GuardResult> {\n\t\tconst instance = this.dialogComponentInstance();\n\n\t\tif (!instance) {\n\t\t\t// If instance is null, it means the dialog is already closed. We allow deactivation in this case.\n\t\t\treturn of(true);\n\t\t}\n\n\t\tconst maybeAsyncResult = runInInjectionContext(this.injector, () => {\n\t\t\tconst canDeactivate = toCanDeactivateFn(canDeactivateFn);\n\t\t\treturn canDeactivate(instance, this.#route.snapshot, this.#router.routerState.snapshot, this.#router.routerState.snapshot);\n\t\t});\n\t\treturn deferrableToObservable(maybeAsyncResult);\n\t}\n\n\t#onDialogDismissed(): void {\n\t\tthis.#closeTrigger ??= 'dialog:dismissed';\n\n\t\tif (this.#closeTrigger === 'dialog:closed') {\n\t\t\tthrow new Error('Dialog cannot be both closed and dismissed');\n\t\t}\n\n\t\tconst injector = Injector.create({\n\t\t\tparent: this.injector,\n\t\t\tproviders: [{ provide: DIALOG_ROUTE_DISMISS_TRIGGER, useValue: this.#closeTrigger }],\n\t\t});\n\n\t\trunInInjectionContext(injector, () => {\n\t\t\tif (this.config.onDismissed) {\n\t\t\t\tthis.config.onDismissed();\n\t\t\t} else {\n\t\t\t\tdefaultOnClosedFn();\n\t\t\t}\n\t\t});\n\n\t\tthis.#ref = undefined;\n\t}\n\n\t#onDialogClosed(result: LuDialogResult<C>): void {\n\t\tthis.#closeTrigger ??= 'dialog:closed';\n\n\t\tif (this.#closeTrigger === 'dialog:dismissed') {\n\t\t\tthrow new Error('Dialog cannot be both closed and dismissed');\n\t\t}\n\n\t\tconst injector = Injector.create({\n\t\t\tparent: this.injector,\n\t\t\tproviders: [{ provide: DIALOG_ROUTE_CLOSE_TRIGGER, useValue: this.#closeTrigger }],\n\t\t});\n\n\t\trunInInjectionContext(injector, () => {\n\t\t\tif (this.config.onClosed) {\n\t\t\t\tthis.config.onClosed(result);\n\t\t\t} else {\n\t\t\t\tdefaultOnClosedFn();\n\t\t\t}\n\t\t});\n\n\t\tthis.#ref = undefined;\n\t}\n\n\tasync #resolve<T>(resolveFn: DialogResolveFn<T>): Promise<T | undefined> {\n\t\tif (!resolveFn) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst resolved = runInInjectionContext(this.injector, resolveFn);\n\t\treturn deferrableToPromise(resolved);\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-dialog.mjs","sources":["../../../packages/ng/dialog/dialog-content/dialog-content.component.ts","../../../packages/ng/dialog/dialog-footer/dialog-footer.component.ts","../../../packages/ng/dialog/model/dialog-config.ts","../../../packages/ng/dialog/model/dialog-ref.ts","../../../packages/ng/dialog/model/injectors.ts","../../../packages/ng/dialog/dialog-header/translations.ts","../../../packages/ng/dialog/dialog-header/dialog-header.translate.ts","../../../packages/ng/dialog/dialog-header/dialog-header.component.ts","../../../packages/ng/dialog/dialog-header/dialog-header.component.html","../../../packages/ng/dialog/dialog.service.ts","../../../packages/ng/dialog/dialog.providers.ts","../../../packages/ng/dialog/dialog/dialog.component.ts","../../../packages/ng/dialog/directives/dialog-close.directive.ts","../../../packages/ng/dialog/directives/dialog-dismiss.directive.ts","../../../packages/ng/dialog/directives/dialog-open.directive.ts","../../../packages/ng/dialog/dialog-routing/dialog-routing.models.ts","../../../packages/ng/dialog/dialog-routing/dialog-routing.utils.ts","../../../packages/ng/dialog/dialog-routing/dialog-routing.component.ts","../../../packages/ng/dialog/lucca-front-ng-dialog.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-dialog-content',\n\ttemplate: '<ng-content />',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside-content',\n\t},\n})\nexport class DialogContentComponent {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-dialog-footer',\n\ttemplate: `<ng-content />`,\n\tstyleUrl: './dialog-footer.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside-footer footer',\n\t},\n})\nexport class DialogFooterComponent {}\n","import { AutoFocusTarget, DialogConfig } from '@angular/cdk/dialog';\nimport { ComponentType } from '@angular/cdk/overlay';\nimport { TemplateRef } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nconst ɵdialogData = Symbol.for('luDialogData');\nconst ɵdialogResult = Symbol.for('luDialogResult');\n\nexport type ɵDialogDataFlag = { [ɵdialogData]: unknown };\nexport type ɵDialogResultFlag<R> = { [ɵdialogResult]: R };\n\nexport type LuDialogData<T> = {\n\t[K in keyof T]: T[K] extends ɵDialogDataFlag ? Omit<T[K], typeof ɵdialogData> : never;\n}[keyof T];\n\ntype DialogRefProps<C> = { [K in keyof C]: C[K] extends ɵDialogResultFlag<unknown> ? K : never }[keyof C] & keyof C;\nexport type LuDialogResult<C> = DialogRefProps<C> extends never ? void : C[DialogRefProps<C>] extends ɵDialogResultFlag<infer T> ? T : void;\n\ntype BaseLuDialogConfig<C, TData = LuDialogData<C>> = {\n\t/**\n\t * The component or template to put inside the dialog container\n\t */\n\tcontent: ComponentType<C> | TemplateRef<C>;\n\n\t/**\n\t * Data to pass to the component, will be required if the component used `injectDialogData` in a field, specifying the data that's needed.\n\t */\n\tdata: TData;\n\n\t/**\n\t * Should we put a backdrop? Defaults to true\n\t */\n\tmodal?: boolean;\n\n\t/**\n\t * Is this dialog a blocking popup that cannot be dismissed ?\n\t *\n\t * Defaults to false, setting this to true will also remove the close button in the header\n\t * if you're using `lu-dialog-header`.\n\t */\n\talert?: boolean;\n\n\t/**\n\t * Can be used if you don't have a header or aren't using the default one, to set an aria-label\n\t * instead of aria-labelledby on the dialog container\n\t */\n\tariaLabel?: string;\n\n\t/**\n\t * Autofocus target\n\t *\n\t * Defaults to the close button from the header, first-input is added by us to focus the first available input\n\t * or the first input that is contained inside a node that has the `.luDialog-autofocus` class\n\t */\n\tautoFocus?: AutoFocusTarget | 'first-input' | string;\n\n\t/**\n\t * This provides a way to override any of the configuration parameters expected by cdk's `Dialog.open` method.\n\t *\n\t * WARNING: this will take full authority and override with your values no matter what's computed by LuDialogService,\n\t * use with caution.\n\t */\n\tcdkConfigOverride?: DialogConfig<C>;\n\n\t/**\n\t * A hook function to determine if the current dialog can be closed or not, if provided.\n\t *\n\t * @param comp the instance of the component that's inside the dialog box.\n\t */\n\tcanClose?: (comp: C) => boolean | Observable<boolean>;\n\n\t/**\n\t * Determine if the current dialog can be close by a click on backdrop or escape key\n\t */\n\tcanCloseWithBackdrop?: boolean;\n\n\t/**\n\t * The size of the panel used for the dialog\n\t */\n\tsize?: 'XS' | 'S' | 'M' | 'L' | 'XL' | 'XXL' | 'fitContent' | `maxContent` | 'fullScreen';\n\n\t/**\n\t * Should it be a modal (default), a drawer? a drawer from bottom?\n\t */\n\tmode?: 'default' | 'drawer' | 'drawer-from-bottom';\n\n\t/**\n\t * Classes to add to the panel\n\t */\n\tpanelClasses?: string[];\n};\n\nexport type LuDialogConfig<T, TData = LuDialogData<T>> = [TData] extends [never] ? Omit<BaseLuDialogConfig<T, TData>, 'data'> : BaseLuDialogConfig<T, TData>;\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { isObservable, Observable, of, Subscription, take } from 'rxjs';\nimport { filter, map, takeUntil } from 'rxjs/operators';\nimport { LuDialogConfig, LuDialogData, LuDialogResult } from './dialog-config';\n\nexport const DISMISSED_VALUE = {} as const;\n\nfunction isDismissed(v: unknown): v is typeof DISMISSED_VALUE {\n\treturn v === DISMISSED_VALUE;\n}\n\nexport class LuDialogRef<C = unknown, TData = LuDialogData<C>> {\n\t/**\n\t * Instance of the component that's inside the dialog\n\t */\n\tget instance(): C {\n\t\treturn this.cdkRef.componentInstance;\n\t}\n\n\t/**\n\t * Subscription to the detachments of the dialog\n\t * This is used to close the dialog when it is detached\n\t */\n\tdetachSubscription: Subscription | null = null;\n\n\t/**\n\t * Emits when the dialog is closed\n\t *\n\t * Emits either the output of result$ or undefined depending on how it has been closed\n\t */\n\tclosed$: Observable<LuDialogResult<C> | undefined> = this.cdkRef.closed.pipe(map((res): LuDialogResult<C> | undefined => (isDismissed(res) ? undefined : res)));\n\n\t/**\n\t * Emits void when the dialog is dismissed\n\t */\n\tdismissed$: Observable<void> = this.cdkRef.closed.pipe(\n\t\tfilter((res) => res === DISMISSED_VALUE),\n\t\tmap((): void => undefined),\n\t);\n\n\t/**\n\t * Emits the result if it has a value that's not DISMISSED_VALUE\n\t */\n\tresult$: Observable<LuDialogResult<C>> = this.cdkRef.closed.pipe(filter((res): res is LuDialogResult<C> => !isDismissed(res)));\n\n\tconstructor(\n\t\tpublic readonly cdkRef: DialogRef<LuDialogResult<C> | typeof DISMISSED_VALUE, C>,\n\t\tpublic readonly config: LuDialogConfig<C, TData>,\n\t) {\n\t\tthis.detachSubscription = cdkRef.overlayRef\n\t\t\t.detachments()\n\t\t\t.pipe(takeUntil(this.closed$))\n\t\t\t.subscribe(() => {\n\t\t\t\tcdkRef.close(DISMISSED_VALUE);\n\t\t\t});\n\t}\n\n\tdismiss(): void {\n\t\t// If we can't dismiss this dialog box, just ignore the dismiss call.\n\t\tif (this.config.alert) {\n\t\t\treturn;\n\t\t}\n\t\tconst canClose = this.config.canClose?.(this.instance) ?? true;\n\t\tconst canClose$ = isObservable(canClose) ? canClose : of(canClose);\n\t\tcanClose$.pipe(take(1)).subscribe((close) => {\n\t\t\tif (close) {\n\t\t\t\tthis.detachSubscription?.unsubscribe();\n\t\t\t\tthis.cdkRef.close(DISMISSED_VALUE);\n\t\t\t}\n\t\t});\n\t}\n\n\tclose(res: LuDialogResult<C>): void {\n\t\tthis.detachSubscription?.unsubscribe();\n\t\tthis.cdkRef.close(res);\n\t}\n}\n\nexport type LuDialogSelfRef<R> = { dismiss(): void; close(res: R): void };\n","import { DIALOG_DATA } from '@angular/cdk/dialog';\nimport { inject } from '@angular/core';\nimport { ɵDialogDataFlag, ɵDialogResultFlag } from './dialog-config';\nimport { LuDialogRef, LuDialogSelfRef } from './dialog-ref';\n\nexport function injectDialogData<TData>(): TData & ɵDialogDataFlag {\n\treturn inject<TData & ɵDialogDataFlag>(DIALOG_DATA);\n}\n\nexport function injectDialogRef<R = void>(): LuDialogSelfRef<R> & ɵDialogResultFlag<R> {\n\treturn inject<LuDialogSelfRef<R>>(LuDialogRef) as LuDialogSelfRef<R> & ɵDialogResultFlag<R>;\n}\n","export const Translations = {\n\t'nl-BE': {\n\t\tclose: 'Sluiten',\n\t},\n\tnl: {\n\t\tclose: 'Sluiten',\n\t},\n\tit: {\n\t\tclose: 'Chiudere',\n\t},\n\tfr: {\n\t\tclose: 'Fermer',\n\t},\n\tpt: {\n\t\tclose: 'Fechar',\n\t},\n\tes: {\n\t\tclose: 'Cerrar',\n\t},\n\tde: {\n\t\tclose: 'Schließen',\n\t},\n\ten: {\n\t\tclose: 'Close',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_DIALOG_HEADER_TRANSLATIONS = new InjectionToken('LuDialogHeaderTranslations', {\n\tfactory: () => luDialogHeaderTranslations,\n});\n\nexport interface LuDialogHeaderTranslations {\n\tclose: string;\n}\n\nexport const luDialogHeaderTranslations: LuTranslation<LuDialogHeaderTranslations> = Translations;\n","import { CdkDialogContainer } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, contentChild, Directive, ElementRef, inject, OnInit, Renderer2, ViewEncapsulation } from '@angular/core';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LuDialogRef } from '../model';\nimport { LU_DIALOG_HEADER_TRANSLATIONS } from './dialog-header.translate';\n\nlet nextId = 0;\n\n@Directive({\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: '[dialogHeaderAction]',\n})\nexport class DialogHeaderAction {}\n\n@Component({\n\tselector: 'lu-dialog-header',\n\tstandalone: true,\n\timports: [IconComponent, ButtonComponent],\n\ttemplateUrl: './dialog-header.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside-header',\n\t},\n})\nexport class DialogHeaderComponent implements OnInit {\n\t#ref = inject(LuDialogRef);\n\n\tintl = getIntl(LU_DIALOG_HEADER_TRANSLATIONS);\n\n\tdismissible = !this.#ref.config.alert;\n\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t#renderer = inject(Renderer2);\n\n\tclose(): void {\n\t\tthis.#ref.dismiss();\n\t}\n\n\toptionalAction = contentChild(DialogHeaderAction);\n\n\tngOnInit(): void {\n\t\t// Using setTimeout here to make sure this will be handled in the next Cd cycle, not the current one.\n\t\tsetTimeout(() => {\n\t\t\tconst header = this.#elementRef.nativeElement.querySelector('h1');\n\t\t\tconst id = header?.id || `lu-dialog-header-${nextId++}`;\n\t\t\tif (header) {\n\t\t\t\tthis.#renderer.setAttribute(header, 'id', id);\n\t\t\t\tthis.#renderer.addClass(header, 'dialog-inside-header-container-title');\n\t\t\t}\n\t\t\t(this.#ref.cdkRef.containerInstance as CdkDialogContainer)?._addAriaLabelledBy(id);\n\t\t});\n\t}\n}\n","@if (dismissible) {\n\t<button class=\"dialog-inside-header-button\" type=\"button\" luButton (click)=\"close()\">\n\t\t<lu-icon icon=\"signClose\" [alt]=\"intl.close\" />\n\t</button>\n}\n@if (optionalAction()) {\n\t<div class=\"dialog-inside-header-actionOptional\"><ng-content select=\"[dialogHeaderAction]\" /></div>\n}\n\n<div class=\"dialog-inside-header-container\">\n\t<ng-content />\n</div>\n","import { Dialog, DialogRef } from '@angular/cdk/dialog';\nimport { inject, Injectable, Injector, Renderer2 } from '@angular/core';\nimport { isObservable, merge, of, take } from 'rxjs';\nimport { filter, switchMap, takeUntil } from 'rxjs/operators';\nimport { LuDialogConfig, LuDialogData, LuDialogRef, LuDialogResult } from './model';\nimport { DISMISSED_VALUE } from './model/dialog-ref';\n\n@Injectable()\nexport class LuDialogService {\n\t#cdkDialog = inject(Dialog);\n\n\t#injector = inject(Injector);\n\n\topen<C, TData = LuDialogData<C>>(config: LuDialogConfig<C, NoInfer<TData>>): LuDialogRef<C, TData> {\n\t\tlet luDialogRef: LuDialogRef<C, TData>;\n\t\tlet modeClasses: string[] = [];\n\t\tswitch (config.mode) {\n\t\t\tcase 'drawer':\n\t\t\t\tmodeClasses = ['mod-drawer'];\n\t\t\t\tbreak;\n\t\t\tcase 'drawer-from-bottom':\n\t\t\t\tmodeClasses = ['mod-drawer', 'mod-fromBottom'];\n\t\t\t\tbreak;\n\t\t}\n\t\tconst cdkRef = this.#cdkDialog.open(config.content, {\n\t\t\tariaModal: config.modal ?? true,\n\t\t\thasBackdrop: config.modal ?? true,\n\t\t\tdata: 'data' in config ? config.data : null,\n\t\t\tdisableClose: true,\n\t\t\tcloseOnDestroy: true,\n\t\t\trole: config.alert ? 'alertdialog' : 'dialog',\n\t\t\trestoreFocus: true,\n\t\t\tbackdropClass: 'dialog_backdrop',\n\t\t\tpanelClass: ['dialog', `mod-${config.size || 'M'}`, ...modeClasses, ...(config.panelClasses || [])],\n\t\t\tariaLabel: config.ariaLabel,\n\t\t\t// Handle manually\n\t\t\tcloseOnOverlayDetachments: false,\n\t\t\t// If focus is first-input, focus dialog and let the component do the rest\n\t\t\t// Else, just set it to config value or default to first-tabbable\n\t\t\tautoFocus: config.autoFocus === 'first-input' ? 'dialog' : (config.autoFocus ?? 'first-tabbable'),\n\t\t\ttemplateContext: () => ({ dialogRef: luDialogRef }),\n\t\t\tinjector: this.#injector,\n\t\t\tproviders: (ref: DialogRef<LuDialogResult<C>, C>) => {\n\t\t\t\tluDialogRef = new LuDialogRef(ref, config);\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\tprovide: LuDialogRef,\n\t\t\t\t\t\tuseValue: luDialogRef,\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t},\n\t\t\t...(config.cdkConfigOverride || {}),\n\t\t});\n\n\t\tif (cdkRef.componentRef) {\n\t\t\tconst renderer = cdkRef.componentRef.injector.get(Renderer2);\n\t\t\trenderer.setStyle(cdkRef.componentRef.location.nativeElement, 'display', 'contents');\n\t\t}\n\n\t\tif (!config.alert) {\n\t\t\t// Setup close listeners on backdrop click and escape key by ourselves so we can hook the `canClose` method to it.\n\t\t\tmerge(cdkRef.backdropClick, cdkRef.keydownEvents.pipe(filter((e) => e.key === 'Escape' && !e.defaultPrevented)))\n\t\t\t\t.pipe(\n\t\t\t\t\tfilter(() => config.canCloseWithBackdrop ?? true),\n\t\t\t\t\tswitchMap(() => {\n\t\t\t\t\t\tconst canClose = config.canClose?.(cdkRef.componentInstance) ?? true;\n\t\t\t\t\t\tconst canClose$ = isObservable(canClose) ? canClose : of(canClose);\n\t\t\t\t\t\treturn canClose$.pipe(take(1));\n\t\t\t\t\t}),\n\t\t\t\t\ttakeUntil(luDialogRef.closed$),\n\t\t\t\t)\n\t\t\t\t.subscribe((canClose) => {\n\t\t\t\t\tif (canClose) {\n\t\t\t\t\t\tluDialogRef.detachSubscription?.unsubscribe();\n\t\t\t\t\t\tcdkRef.close(DISMISSED_VALUE);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}\n\n\t\treturn luDialogRef;\n\t}\n}\n","import { EnvironmentProviders, importProvidersFrom, makeEnvironmentProviders, Provider } from '@angular/core';\nimport { DialogModule } from '@angular/cdk/dialog';\nimport { LuDialogService } from './dialog.service';\n\nexport function configureLuDialog(): EnvironmentProviders {\n\treturn makeEnvironmentProviders([importProvidersFrom(DialogModule)]);\n}\n\nexport function provideLuDialog(): Provider {\n\treturn LuDialogService;\n}\n","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, inject, ViewEncapsulation } from '@angular/core';\nimport { LuDialogRef } from '../model';\n\n@Component({\n\tselector: 'lu-dialog',\n\ttemplate: '<ng-content />',\n\tstyleUrl: './dialog.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside',\n\t},\n})\nexport class DialogComponent implements AfterViewInit {\n\tpublic readonly dialogRef = inject<LuDialogRef>(LuDialogRef);\n\n\t#htmlElement = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n\n\tclose(): void {\n\t\tthis.dialogRef.close();\n\t}\n\n\tdismiss(): void {\n\t\tthis.dialogRef.dismiss();\n\t}\n\n\tngAfterViewInit(): void {\n\t\tif (this.dialogRef.config.autoFocus === 'first-input' && !this.dialogRef.config.cdkConfigOverride?.autoFocus) {\n\t\t\tconst focusable: HTMLElement =\n\t\t\t\tthis.#htmlElement.querySelector('.luDialog-autofocus .luNativeInput') || this.#htmlElement.querySelector('.luDialog-autofocus') || this.#htmlElement.querySelector('.luNativeInput');\n\t\t\tfocusable?.focus();\n\t\t}\n\t}\n}\n","import { Directive, inject } from '@angular/core';\nimport { LuDialogRef } from '../model';\n\n@Directive({\n\tselector: '[luDialogClose]',\n\thost: {\n\t\t'(click)': 'close()',\n\t},\n})\nexport class DialogCloseDirective {\n\t#ref = inject<LuDialogRef>(LuDialogRef);\n\n\tclose() {\n\t\tthis.#ref.close();\n\t}\n}\n","import { Directive, inject } from '@angular/core';\nimport { LuDialogRef } from '../model';\n\n@Directive({\n\tselector: '[luDialogDismiss]',\n\thost: {\n\t\t'(click)': 'close()',\n\t},\n})\nexport class DialogDismissDirective {\n\t#ref = inject<LuDialogRef>(LuDialogRef);\n\n\tclose() {\n\t\tthis.#ref.dismiss();\n\t}\n}\n","import { Directive, inject, input, TemplateRef } from '@angular/core';\nimport { provideLuDialog } from '../dialog.providers';\nimport { LuDialogService } from '../dialog.service';\nimport { LuDialogConfig } from '../model';\n\n@Directive({\n\tselector: '[luDialogOpen]',\n\tproviders: [provideLuDialog()],\n\thost: {\n\t\t'(click)': 'click()',\n\t},\n})\nexport class DialogOpenDirective {\n\t#dialogService = inject(LuDialogService);\n\n\treadonly dialog = input.required<TemplateRef<void>>({ alias: 'luDialogOpen' });\n\n\treadonly luDialogConfig = input<LuDialogConfig<unknown>>();\n\n\tclick() {\n\t\tthis.#dialogService.open({\n\t\t\t...this.luDialogConfig(),\n\t\t\tcontent: this.dialog(),\n\t\t});\n\t}\n}\n","import { ComponentType } from '@angular/cdk/overlay';\nimport { InjectionToken } from '@angular/core';\nimport { Route } from '@angular/router';\nimport { LuDialogConfig, LuDialogData, LuDialogResult } from '../model';\nimport { DialogResolveFn } from './dialog-routing.utils';\n\nexport type DialogRouteComponentLoader<C> =\n\t| {\n\t\t\tcomponent: ComponentType<C>;\n\t }\n\t| {\n\t\t\tloadComponent: () => Promise<ComponentType<C>>;\n\t };\n\nexport type DialogRouteCloseTrigger = 'navigation' | 'dialog:closed';\nexport type DialogRouteDismissTrigger = 'navigation' | 'dialog:dismissed';\n\nexport type DialogRouteConfig<C> = DialogRouteComponentLoader<C> & {\n\tdialogConfigFactory: DialogResolveFn<DialogRouteDialogConfig<C>>;\n\tdataFactory: LuDialogData<C> extends never ? undefined : DialogResolveFn<LuDialogData<C>>;\n\t/**\n\t * When the dialog is closed, this callback is called with the result of the dialog.\n\t * This callback is called within injection context, so you can inject services in it.\n\t *\n\t * If needed, the reason the dialog was closed can retrieved using `inject(DIALOG_ROUTE_CLOSE_TRIGGER)`\n\t */\n\tonClosed?: (res: LuDialogResult<C>) => unknown;\n\t/**\n\t * When the dialog is dismissed, this callback is called.\n\t * This callback is called within injection context, so you can inject services in it.\n\t *\n\t * If needed, the reason the dialog was dismissed can retrieved using `inject(DIALOG_ROUTE_DISMISS_TRIGGER)`\n\t */\n\tonDismissed?: () => unknown;\n} & Omit<Route, 'component' | 'loadComponent'>;\n\nexport type DialogRouteDialogConfig<C> = Omit<LuDialogConfig<C>, 'data' | 'content'>;\n\nexport interface DialogRouteData<C> {\n\tdialogRouteConfig: DialogRouteConfig<C>;\n}\n\nexport const DIALOG_ROUTE_CLOSE_TRIGGER = new InjectionToken<DialogRouteCloseTrigger>('DIALOG_ROUTE_CLOSE_TRIGGER');\nexport const DIALOG_ROUTE_DISMISS_TRIGGER = new InjectionToken<DialogRouteDismissTrigger>('DIALOG_ROUTE_DISMISS_TRIGGER');\nexport const DIALOG_ROUTE_CONFIG = new InjectionToken<DialogRouteConfig<unknown>>('DIALOG_ROUTE_CONFIG');\n","import { ComponentType } from '@angular/cdk/overlay';\nimport { inject } from '@angular/core';\nimport { CanActivate, CanDeactivateFn, DeprecatedGuard, Route } from '@angular/router';\nimport { firstValueFrom, from, isObservable, Observable, of } from 'rxjs';\nimport { LuDialogData } from '../model';\nimport { DialogRoutingContainerComponent } from './dialog-routing.component';\nimport { DialogRouteConfig, DialogRouteData, DialogRouteDialogConfig } from './dialog-routing.models';\n\nexport type Deferrable<T> = Promise<T> | Observable<T> | T;\nexport type DialogResolveFn<T> = () => Deferrable<T>;\n\nexport async function deferrableToPromise<T>(deferrable: Promise<T> | Observable<T> | T): Promise<T> {\n\treturn isObservable(deferrable) ? firstValueFrom(deferrable) : deferrable;\n}\n\nexport function deferrableToObservable<T>(deferrable: Promise<T> | Observable<T> | T): Observable<T> {\n\treturn isObservable(deferrable) ? deferrable : deferrable instanceof Promise ? from(deferrable) : of(deferrable);\n}\n\nexport function createDialogRoute<C>(dialogRouteConfig: DialogRouteConfig<C>): Route {\n\tconst { dialogConfigFactory, dataFactory, canMatch, ...baseRoute } = dialogRouteConfig;\n\n\tconst data: DialogRouteData<C> = { dialogRouteConfig };\n\n\treturn {\n\t\tpath: dialogRouteConfig.path,\n\t\tcomponent: DialogRoutingContainerComponent,\n\t\tdata,\n\t\tcanMatch,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\t...baseRoute,\n\t\t\t\tpath: '',\n\t\t\t\tcanDeactivate: dialogRouteConfig.canDeactivate\n\t\t\t\t\t?.map((fn) => toCanDeactivateFn(fn))\n\t\t\t\t\t?.map(\n\t\t\t\t\t\t(guard): CanDeactivateFn<C> =>\n\t\t\t\t\t\t\t(dialogComponentInstance, route, state, nextState) => {\n\t\t\t\t\t\t\t\t// If dialogComponentInstance is null, it means the dialog is already closed. We allow deactivation in this case.\n\t\t\t\t\t\t\t\tif (!dialogComponentInstance) {\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn guard(dialogComponentInstance, route, state, nextState);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t),\n\t\t\t},\n\t\t],\n\t};\n}\n\nexport type DialogFactoryResultOptions<C> = {\n\tpath: string;\n\tdialogRouteConfig?: Partial<Omit<DialogRouteConfig<C>, 'path' | 'component' | 'loadComponent' | 'dataFactory'>>;\n} & (LuDialogData<C> extends never\n\t? { dataFactory?: never }\n\t: {\n\t\t\tdataFactory: DialogResolveFn<LuDialogData<C>>;\n\t\t});\n\nexport type DialogFactoryResult<C> = (options: DialogFactoryResultOptions<C>) => Route;\n\nexport type DialogFactoryConfig<C> = Partial<{\n\tdialogConfig: DialogRouteDialogConfig<C>;\n\tdialogRouteConfig: Partial<DialogRouteConfig<C>>;\n}>;\n\nexport function dialogRouteFactory<C>(component: ComponentType<C>, config?: DialogFactoryConfig<C>): DialogFactoryResult<C> {\n\treturn ({ path, dataFactory, dialogRouteConfig }) =>\n\t\tcreateDialogRoute<C>({\n\t\t\tpath,\n\t\t\tcomponent,\n\t\t\tdataFactory: dataFactory as LuDialogData<C> extends never ? undefined : DialogResolveFn<LuDialogData<C>>,\n\t\t\tdialogConfigFactory: () => config?.dialogConfig ?? ({} as DialogRouteDialogConfig<C>),\n\t\t\t...mergeRouteConfig(config?.dialogRouteConfig, dialogRouteConfig),\n\t\t});\n}\n\nexport function dialogLazyRouteFactory<C>(loadComponent: () => Promise<ComponentType<C>>, config?: DialogFactoryConfig<C>): DialogFactoryResult<C> {\n\treturn ({ path, dataFactory, dialogRouteConfig }) =>\n\t\tcreateDialogRoute<C>({\n\t\t\tpath,\n\t\t\tloadComponent,\n\t\t\tdataFactory: dataFactory as LuDialogData<C> extends never ? undefined : DialogResolveFn<LuDialogData<C>>,\n\t\t\tdialogConfigFactory: () => config?.dialogConfig ?? ({} as DialogRouteDialogConfig<C>),\n\t\t\t...mergeRouteConfig(config?.dialogRouteConfig, dialogRouteConfig),\n\t\t});\n}\n\nfunction mergeRouteConfig<C>(config1: Partial<DialogRouteConfig<C>>, config2: Partial<DialogRouteConfig<C>>): Partial<DialogRouteConfig<C>> {\n\tif (!config1) {\n\t\treturn config2;\n\t}\n\n\tif (!config2) {\n\t\treturn config1;\n\t}\n\n\tconst result: Partial<DialogRouteConfig<C>> = { ...config1, ...config2 };\n\n\t// If both configs have the same key, we merge the arrays\n\tconst mergedArrays = (['providers', 'canActivate', 'children', 'canDeactivate', 'canLoad', 'canActivateChild'] as const satisfies Array<keyof Route>).filter(\n\t\t(key) => key in config1 && key in config2,\n\t);\n\n\tfor (const key of mergedArrays) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\tresult[key] = [...(config1[key] ?? []), ...(config2[key] ?? [])] as any[];\n\t}\n\n\t// If both configs have the same data key, we merge the objects\n\tif (config1.data && config2.data) {\n\t\tresult.data = { ...config1.data, ...config2.data };\n\t}\n\n\t// If both configs have the same resolve key, we merge the objects\n\tif (config1.resolve && config2.resolve) {\n\t\tresult.resolve = { ...config1.resolve, ...config2.resolve };\n\t}\n\n\treturn result;\n}\n\nexport function toCanDeactivateFn<C>(guard: DeprecatedGuard | CanDeactivateFn<C>): CanDeactivateFn<C> {\n\tif (typeof guard === 'string') {\n\t\tthrow new Error('String guards are not supported in dialog routes');\n\t}\n\n\ttry {\n\t\tconst deprectedGuard = inject(guard) as CanActivate;\n\t\treturn (_component, currentRoute, _currentState, nextState) => deprectedGuard.canActivate(currentRoute, nextState);\n\t} catch {\n\t\treturn guard as CanDeactivateFn<C>;\n\t}\n}\n","import { assertInInjectionContext, ChangeDetectionStrategy, Component, DestroyRef, inject, Injector, OnDestroy, OnInit, runInInjectionContext, signal, TemplateRef, viewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute, CanDeactivateFn, DeprecatedGuard, GuardResult, Router, RouterOutlet } from '@angular/router';\nimport { combineLatest, concat, map, Observable, of } from 'rxjs';\nimport { provideLuDialog } from '../dialog.providers';\nimport { LuDialogService } from '../dialog.service';\nimport { LuDialogRef, LuDialogResult } from '../model';\nimport {\n\tDIALOG_ROUTE_CLOSE_TRIGGER,\n\tDIALOG_ROUTE_CONFIG,\n\tDIALOG_ROUTE_DISMISS_TRIGGER,\n\tDialogRouteCloseTrigger,\n\tDialogRouteData,\n\tDialogRouteDialogConfig,\n\tDialogRouteDismissTrigger,\n} from './dialog-routing.models';\nimport { deferrableToObservable, deferrableToPromise, DialogResolveFn, toCanDeactivateFn } from './dialog-routing.utils';\n\n/**\n * Default onClosed/onDismissed function that navigates back to the parent route when the dialog is closed or dismissed.\n */\nexport function defaultOnClosedFn(): void;\n/**\n * Default onClosed/onDismissed function that navigates back to the parent route when the dialog is closed or dismissed.\n * @deprecated Use non-generic version instead.\n */\nexport function defaultOnClosedFn<_C>(): void;\nexport function defaultOnClosedFn<C>(): void {\n\tlet trigger: DialogRouteCloseTrigger | DialogRouteDismissTrigger | null = null;\n\n\ttry {\n\t\tassertInInjectionContext(defaultOnClosedFn);\n\t\ttrigger = inject(DIALOG_ROUTE_CLOSE_TRIGGER, { optional: true }) ?? inject(DIALOG_ROUTE_DISMISS_TRIGGER, { optional: true });\n\t} catch {\n\t\t// Not in injection context, do nothing\n\t}\n\n\tif (trigger === 'navigation') {\n\t\t// If the dialog is closed because of a navigation, we don't need to do anything.\n\t\t// It would cancel the navigation that is already in progress.\n\t\treturn;\n\t}\n\n\tconst router = inject(Router);\n\tconst route = inject(ActivatedRoute);\n\tconst routeData = route.snapshot.data as DialogRouteData<C>;\n\tconst next = routeData.dialogRouteConfig.path\n\t\t.split('/')\n\t\t.map(() => '..')\n\t\t.join('/');\n\n\treturn void router.navigate([next], {\n\t\trelativeTo: route.children[0],\n\t\tqueryParamsHandling: 'preserve',\n\t});\n}\n\n@Component({\n\tselector: 'lu-dialog-routing-container',\n\timports: [RouterOutlet],\n\ttemplate: `\n\t\t<ng-template>\n\t\t\t<router-outlet (activate)=\"dialogComponentInstance.set($event)\" (deactivate)=\"dialogComponentInstance.set(null)\" />\n\t\t</ng-template>\n\t`,\n\tstyles: [\n\t\t`\n\t\t\t:host {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t`,\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\tprovideLuDialog(),\n\t\t{\n\t\t\tprovide: DIALOG_ROUTE_CONFIG,\n\t\t\tuseFactory: () => inject(DialogRoutingContainerComponent).config,\n\t\t},\n\t],\n})\nexport class DialogRoutingContainerComponent<C> implements OnDestroy, OnInit {\n\treadonly #route = inject(ActivatedRoute);\n\treadonly #router = inject(Router);\n\treadonly #destroyRef = inject(DestroyRef);\n\treadonly #dialog = inject(LuDialogService);\n\treadonly injector = inject(Injector);\n\treadonly config = this.#routeData.dialogRouteConfig;\n\tprotected readonly dialogComponentInstance = signal<C | null>(null);\n\tprotected readonly dialogTemplate = viewChild.required(TemplateRef);\n\t#closeTrigger?: DialogRouteCloseTrigger | DialogRouteDismissTrigger;\n\n\t#ref?: LuDialogRef<C>;\n\n\tget #routeData(): DialogRouteData<C> {\n\t\treturn this.#route.snapshot.data as DialogRouteData<C>;\n\t}\n\n\tngOnInit(): void {\n\t\tvoid this.#openDialog();\n\t}\n\n\t/**\n\t * In this context, ngOnDestroy is called when the user navigates away from the route.\n\t * The navigation can be triggered:\n\t * - from within the dialog (#ref.dismissed => config.onClosed/defaultOnClosedFn/config.onDismissed/defaultOnClosedFn => ngOnDestroy)\n\t * - from router navigation (ngOnDestroy => #ref.dismissed => config.onDismissed/defaultOnClosedFn)\n\t */\n\tngOnDestroy(): void {\n\t\tthis.#closeTrigger ??= 'navigation';\n\t\tthis.#ref?.dismiss();\n\t}\n\n\tasync #openDialog(): Promise<void> {\n\t\tconst [data, dialogConfig] = await Promise.all([this.#resolve(this.config.dataFactory), this.#resolve(this.config.dialogConfigFactory)]);\n\n\t\tthis.#ref = this.#dialog.open<C>({\n\t\t\t...dialogConfig,\n\t\t\tcontent: this.dialogTemplate(),\n\t\t\tdata,\n\t\t\tcanClose: this.#getCanCloseFn(dialogConfig),\n\t\t});\n\n\t\tthis.#ref.result$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((result) => this.#onDialogClosed(result));\n\t\tthis.#ref.dismissed$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe(() => this.#onDialogDismissed());\n\t}\n\n\t#getCanCloseFn(config: DialogRouteDialogConfig<C>): ((c: C) => Observable<boolean>) | undefined {\n\t\tconst canCloseFns: ((c: C) => Observable<boolean>)[] = [];\n\n\t\tif (config.canClose) {\n\t\t\tcanCloseFns.push((c: C) => deferrableToObservable(config.canClose(c)));\n\t\t}\n\n\t\tif (this.config.canDeactivate) {\n\t\t\tcanCloseFns.push(this.#getCanCloseFromGuardDialogFn(this.config.canDeactivate));\n\t\t}\n\n\t\treturn canCloseFns.length ? (c: C) => combineLatest(canCloseFns.map((fn) => fn(c))).pipe(map((results) => results.every((r) => r))) : undefined;\n\t}\n\n\t#getCanCloseFromGuardDialogFn(canDeactivate: (CanDeactivateFn<C> | DeprecatedGuard)[]): () => Observable<boolean> {\n\t\treturn () => {\n\t\t\tconst results$ = canDeactivate.map((cD) => this.callCanDeactivateFn(cD));\n\n\t\t\treturn concat(...results$).pipe(\n\t\t\t\tmap((guardResult) => {\n\t\t\t\t\tif (typeof guardResult === 'boolean') {\n\t\t\t\t\t\treturn guardResult;\n\t\t\t\t\t}\n\t\t\t\t\tvoid this.#router.navigate([guardResult]);\n\t\t\t\t\treturn true;\n\t\t\t\t}),\n\t\t\t);\n\t\t};\n\t}\n\n\tcallCanDeactivateFn(canDeactivateFn: CanDeactivateFn<C> | DeprecatedGuard): Observable<GuardResult> {\n\t\tconst instance = this.dialogComponentInstance();\n\n\t\tif (!instance) {\n\t\t\t// If instance is null, it means the dialog is already closed. We allow deactivation in this case.\n\t\t\treturn of(true);\n\t\t}\n\n\t\tconst maybeAsyncResult = runInInjectionContext(this.injector, () => {\n\t\t\tconst canDeactivate = toCanDeactivateFn(canDeactivateFn);\n\t\t\treturn canDeactivate(instance, this.#route.snapshot, this.#router.routerState.snapshot, this.#router.routerState.snapshot);\n\t\t});\n\t\treturn deferrableToObservable(maybeAsyncResult);\n\t}\n\n\t#onDialogDismissed(): void {\n\t\tthis.#closeTrigger ??= 'dialog:dismissed';\n\n\t\tif (this.#closeTrigger === 'dialog:closed') {\n\t\t\tthrow new Error('Dialog cannot be both closed and dismissed');\n\t\t}\n\n\t\tconst injector = Injector.create({\n\t\t\tparent: this.injector,\n\t\t\tproviders: [{ provide: DIALOG_ROUTE_DISMISS_TRIGGER, useValue: this.#closeTrigger }],\n\t\t});\n\n\t\trunInInjectionContext(injector, () => {\n\t\t\tif (this.config.onDismissed) {\n\t\t\t\tthis.config.onDismissed();\n\t\t\t} else {\n\t\t\t\tdefaultOnClosedFn();\n\t\t\t}\n\t\t});\n\n\t\tthis.#ref = undefined;\n\t}\n\n\t#onDialogClosed(result: LuDialogResult<C>): void {\n\t\tthis.#closeTrigger ??= 'dialog:closed';\n\n\t\tif (this.#closeTrigger === 'dialog:dismissed') {\n\t\t\tthrow new Error('Dialog cannot be both closed and dismissed');\n\t\t}\n\n\t\tconst injector = Injector.create({\n\t\t\tparent: this.injector,\n\t\t\tproviders: [{ provide: DIALOG_ROUTE_CLOSE_TRIGGER, useValue: this.#closeTrigger }],\n\t\t});\n\n\t\trunInInjectionContext(injector, () => {\n\t\t\tif (this.config.onClosed) {\n\t\t\t\tthis.config.onClosed(result);\n\t\t\t} else {\n\t\t\t\tdefaultOnClosedFn();\n\t\t\t}\n\t\t});\n\n\t\tthis.#ref = undefined;\n\t}\n\n\tasync #resolve<T>(resolveFn: DialogResolveFn<T>): Promise<T | undefined> {\n\t\tif (!resolveFn) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst resolved = runInInjectionContext(this.injector, resolveFn);\n\t\treturn deferrableToPromise(resolved);\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["map"],"mappings":"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"}
|