@lucca-front/ng 21.0.0-rc.4 → 21.0.0-rc.6

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.
Files changed (141) hide show
  1. package/app-layout/index.d.ts +1 -1
  2. package/box/index.d.ts +3 -3
  3. package/breadcrumbs/index.d.ts +3 -3
  4. package/button/index.d.ts +26 -21
  5. package/callout/index.d.ts +65 -57
  6. package/chip/index.d.ts +1 -1
  7. package/code/index.d.ts +1 -1
  8. package/comment/index.d.ts +11 -14
  9. package/core/index.d.ts +10 -7
  10. package/core-select/index.d.ts +6 -4
  11. package/core-select/user/index.d.ts +3 -2
  12. package/data-table/index.d.ts +1 -1
  13. package/dialog/index.d.ts +65 -48
  14. package/empty-state/index.d.ts +23 -26
  15. package/fancy-box/index.d.ts +11 -10
  16. package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
  18. package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-button.mjs +59 -90
  20. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-callout.mjs +96 -130
  22. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-chip.mjs +1 -1
  24. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-code.mjs.map +1 -1
  26. package/fesm2022/lucca-front-ng-comment.mjs +14 -34
  27. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  28. package/fesm2022/lucca-front-ng-core-select-api.mjs +3 -3
  29. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  30. package/fesm2022/lucca-front-ng-core-select-user.mjs +14 -11
  31. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  32. package/fesm2022/lucca-front-ng-core-select.mjs +15 -21
  33. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  34. package/fesm2022/lucca-front-ng-core.mjs +6 -4
  35. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  36. package/fesm2022/lucca-front-ng-data-table.mjs +15 -15
  37. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  38. package/fesm2022/lucca-front-ng-date2.mjs +1 -1
  39. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  40. package/fesm2022/lucca-front-ng-dialog.mjs +96 -95
  41. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  42. package/fesm2022/lucca-front-ng-empty-state.mjs +27 -68
  43. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  44. package/fesm2022/lucca-front-ng-establishment.mjs +2 -2
  45. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  46. package/fesm2022/lucca-front-ng-fancy-box.mjs +14 -28
  47. package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
  48. package/fesm2022/lucca-front-ng-file-upload.mjs +1 -1
  49. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  50. package/fesm2022/lucca-front-ng-filter-pills.mjs +4 -4
  51. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  52. package/fesm2022/lucca-front-ng-form-field.mjs +2 -2
  53. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  54. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +15 -17
  55. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  56. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +6 -6
  57. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  58. package/fesm2022/lucca-front-ng-forms.mjs +99 -187
  59. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  60. package/fesm2022/lucca-front-ng-icon.mjs +14 -19
  61. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  62. package/fesm2022/lucca-front-ng-index-table.mjs +1 -1
  63. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
  64. package/fesm2022/lucca-front-ng-inline-message.mjs +15 -22
  65. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  66. package/fesm2022/lucca-front-ng-link.mjs +27 -61
  67. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  68. package/fesm2022/lucca-front-ng-mobile-push.mjs +4 -8
  69. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  70. package/fesm2022/lucca-front-ng-modal.mjs +3 -3
  71. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  72. package/fesm2022/lucca-front-ng-multi-select.mjs +1 -1
  73. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  74. package/fesm2022/lucca-front-ng-new-badge.mjs +7 -11
  75. package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
  76. package/fesm2022/lucca-front-ng-numeric-badge.mjs +40 -39
  77. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  78. package/fesm2022/lucca-front-ng-option.mjs +1 -1
  79. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  80. package/fesm2022/lucca-front-ng-plg-push.mjs +8 -17
  81. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  82. package/fesm2022/lucca-front-ng-popover2.mjs +2 -2
  83. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  84. package/fesm2022/lucca-front-ng-scroll-box.mjs +26 -24
  85. package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
  86. package/fesm2022/lucca-front-ng-scroll.mjs +19 -29
  87. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  88. package/fesm2022/lucca-front-ng-simple-select.mjs +1 -1
  89. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  90. package/fesm2022/lucca-front-ng-skeleton.mjs +24 -40
  91. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  92. package/fesm2022/lucca-front-ng-status-badge.mjs +1 -1
  93. package/fesm2022/lucca-front-ng-status-badge.mjs.map +1 -1
  94. package/fesm2022/lucca-front-ng-tag.mjs +31 -42
  95. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  96. package/fesm2022/lucca-front-ng-time.mjs +8 -18
  97. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  98. package/fesm2022/lucca-front-ng-toast.mjs +55 -60
  99. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  100. package/fesm2022/lucca-front-ng-tooltip.mjs +85 -108
  101. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  102. package/fesm2022/lucca-front-ng-user-popover.mjs +2 -2
  103. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  104. package/fesm2022/lucca-front-ng-user.mjs +58 -96
  105. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  106. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +6 -6
  107. package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -1
  108. package/forms/index.d.ts +54 -62
  109. package/forms/phone-number-input/index.d.ts +13 -13
  110. package/icon/index.d.ts +10 -10
  111. package/index-table/index.d.ts +1 -1
  112. package/inline-message/index.d.ts +9 -11
  113. package/link/index.d.ts +12 -17
  114. package/mobile-push/index.d.ts +5 -6
  115. package/new-badge/index.d.ts +2 -3
  116. package/numeric-badge/index.d.ts +14 -11
  117. package/package.json +33 -37
  118. package/plg-push/index.d.ts +6 -8
  119. package/read-more/index.d.ts +1 -1
  120. package/schematics/collection.json +10 -0
  121. package/schematics/color-text/index.js +55 -0
  122. package/schematics/color-text/migration.spec.js +50 -0
  123. package/schematics/color-text/schema.json +23 -0
  124. package/schematics/lib/angular-component-ast.js +29 -0
  125. package/schematics/lu-text-input/index.js +24 -0
  126. package/schematics/lu-text-input/migration.js +116 -0
  127. package/schematics/lu-text-input/migration.spec.js +23 -0
  128. package/schematics/lu-text-input/schema.json +23 -0
  129. package/scroll/index.d.ts +20 -22
  130. package/scroll-box/index.d.ts +6 -5
  131. package/skeleton/index.d.ts +27 -32
  132. package/src/components/cdk/_global.scss +22 -1
  133. package/tag/index.d.ts +17 -15
  134. package/time/index.d.ts +5 -5
  135. package/toast/index.d.ts +23 -25
  136. package/tooltip/index.d.ts +35 -41
  137. package/user/index.d.ts +24 -32
  138. package/vertical-navigation/index.d.ts +16 -16
  139. package/fesm2022/lucca-front-ng-scrollBox.mjs +0 -6
  140. package/fesm2022/lucca-front-ng-scrollBox.mjs.map +0 -1
  141. package/scrollBox/index.d.ts +0 -1
@@ -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":";;;;IAEY;AAAZ,CAAA,UAAY,kBAAkB,EAAA;AAC7B,IAAA,kBAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACX,IAAA,kBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,kBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,kBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AAClB,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,GAK7B,EAAA,CAAA,CAAA;;MCJqB,cAAc,CAAA;AAKnC,IAAA,OAAO,CAAC,CAAI,EAAE,CAAI,EAAE,WAA8B,EAAA;QACjD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AACrD,YAAA,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC;;AAE5E,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAChD,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAChD,QAAA,IAAI,OAAO,GAAG,OAAO,EAAE;YACtB,OAAO,CAAC,CAAC;;AAEV,QAAA,IAAI,OAAO,GAAG,OAAO,EAAE;AACtB,YAAA,OAAO,CAAC;;AAET,QAAA,IAAI,WAAW,KAAK,kBAAkB,CAAC,MAAM,EAAE;AAC9C,YAAA,OAAO,CAAC;;QAGT,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7B,QAAA,IAAI,KAAK,GAAG,KAAK,EAAE;YAClB,OAAO,CAAC,CAAC;;AAEV,QAAA,IAAI,KAAK,GAAG,KAAK,EAAE;AAClB,YAAA,OAAO,CAAC;;AAET,QAAA,IAAI,WAAW,KAAK,kBAAkB,CAAC,IAAI,EAAE;AAC5C,YAAA,OAAO,CAAC;;QAGT,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/B,QAAA,IAAI,MAAM,GAAG,MAAM,EAAE;YACpB,OAAO,CAAC,CAAC;;AAEV,QAAA,IAAI,MAAM,GAAG,MAAM,EAAE;AACpB,YAAA,OAAO,CAAC;;AAET,QAAA,IAAI,WAAW,KAAK,kBAAkB,CAAC,KAAK,EAAE;AAC7C,YAAA,OAAO,CAAC;;QAGT,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7B,QAAA,IAAI,KAAK,GAAG,KAAK,EAAE;YAClB,OAAO,CAAC,CAAC;;AAEV,QAAA,IAAI,KAAK,GAAG,KAAK,EAAE;AAClB,YAAA,OAAO,CAAC;;AAET,QAAA,IAAI,WAAW,KAAK,kBAAkB,CAAC,GAAG,EAAE;AAC3C,YAAA,OAAO,CAAC;;AAGT,QAAA,OAAO,CAAC;;AAaT;;ACpEY,MAAA,iCAAiC,GAAgC;AAC7E,IAAA,MAAM,EAAE,KAAK;;MAED,8BAA8B,GAAG,IAAI,cAAc,CAA8B,6BAA6B;;ACArH,MAAO,mBAAoB,SAAQ,cAAoB,CAAA;IAO5D,WAC4B,CAAA,OAAe,EAGlC,QAAqC,EAAA;AAE7C,QAAA,KAAK,EAAE;QALoB,IAAO,CAAA,OAAA,GAAP,OAAO;QAG1B,IAAQ,CAAA,QAAA,GAAR,QAAQ;QAVT,IAAM,CAAA,MAAA,GAAG,YAAY;AACrB,QAAA,IAAA,CAAA,MAAM,GAAG;AAChB,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,IAAI,EAAE,CAAC;SACP;QAQA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,iCAAiC;QAClE,IAAI,CAAC,SAAS,EAAE;;IAET,SAAS,GAAA;AAChB,QAAA,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;YACvB,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;AAC1B,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;;YAErB,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;AAC1B,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC;;YAEtB,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;AAC1B,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;;AAEtB,SAAC,CAAC;;AAEK,IAAA,OAAO,CAAC,IAAY,EAAE,WAAiC,GAAA,kBAAkB,CAAC,GAAG,EAAA;QACpF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;QACtC,IAAI,IAAI,GAAG,CAAC,EACX,KAAK,GAAG,CAAC,EACT,IAAI,GAAG,CAAC;QACT,QAAQ,WAAW;YAClB,KAAK,kBAAkB,CAAC,IAAI;gBAC3B,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC9D;YACD,KAAK,kBAAkB,CAAC,KAAK;gBAC5B,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAChE,gBAAA,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAC1F;YACD,KAAK,kBAAkB,CAAC,GAAG;AAC3B,YAAA;AACC,gBAAA,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;AAC7C,gBAAA,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBAC/C,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;;AAE3E,QAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;;AAE7B,IAAA,UAAU,CAAC,IAAY,EAAE,WAAiC,GAAA,kBAAkB,CAAC,GAAG,EAAA;QAC/E,IAAI,CAAC,IAAI,EAAE;AACV,YAAA,OAAO,KAAK;;QAEb,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;AACtC,QAAA,MAAM,cAAc,GAAG,WAAW,KAAK,kBAAkB,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;AACpF,QAAA,MAAM,gBAAgB,GAAG,WAAW,KAAK,kBAAkB,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;AACxF,QAAA,MAAM,eAAe,GAAG,WAAW,KAAK,kBAAkB,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;AACtF,QAAA,IAAI,cAAc,IAAI,gBAAgB,IAAI,eAAe,EAAE;AAC1D,YAAA,OAAO,KAAK;;AAGb,QAAA,IAAI;AACH,YAAA,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC;;AAG7D,YAAA,IAAI,IAAI,IAAI,MAAM,EAAE;AACnB,gBAAA,OAAO,KAAK;;AAGb,YAAA,IAAI,CAAO;AACX,YAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AACzB,gBAAA,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;;iBACvC;AACN,gBAAA,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC;;;;AAIpC,YAAA,IAAI,EAAE,CAAC,YAAY,IAAI,CAAC,EAAE;AACzB,gBAAA,OAAO,KAAK;;YAEb,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE;AACvB,gBAAA,OAAO,KAAK;;;;;AAKb,YAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AACzB,gBAAA,IAAI,CAAC,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;AAChC,oBAAA,OAAO,KAAK;;gBAEb,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,GAAG,CAAC,EAAE;AAClC,oBAAA,OAAO,KAAK;;AAEb,gBAAA,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;AAC5B,oBAAA,OAAO,KAAK;;;iBAEP;AACN,gBAAA,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;AAC7B,oBAAA,OAAO,KAAK;;gBAEb,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,KAAK,GAAG,CAAC,EAAE;AAC/B,oBAAA,OAAO,KAAK;;AAEb,gBAAA,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;AACzB,oBAAA,OAAO,KAAK;;;AAId,YAAA,OAAO,IAAI;;AACV,QAAA,MAAM;AACP,YAAA,OAAO,KAAK;;;AAGd,IAAA,KAAK,CAAC,IAAY,EAAE,WAAiC,GAAA,kBAAkB,CAAC,GAAG,EAAA;QAC1E,IAAI,CAAC,IAAI,EAAE;AACV,YAAA,OAAO,SAAS;;QAGjB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE;AACxC,YAAA,OAAO,IAAI,CAAC,YAAY,EAAE;;AAG3B,QAAA,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC;QAE7D,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;;IAErC,MAAM,CAAC,CAAO,EAAE,MAAc,EAAA;AAC7B,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AACzB,YAAA,OAAO,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;;aAC3C;YACN,OAAO,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC;;;AAG5C,IAAA,KAAK,CAAC,IAAY,EAAE,KAAa,EAAE,IAAY,EAAA;AAC9C,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AACzB,YAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;;aAC3C;AACN,YAAA,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;;;IAGzC,UAAU,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AACzB,YAAA,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE;YAC9B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;;aAC7F;AACN,YAAA,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE;AACxB,YAAA,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;;;IAGzE,YAAY,GAAA;AACX,QAAA,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC;;AAEhC,IAAA,OAAO,CAAC,CAAO,EAAA;AACd,QAAA,IAAI,EAAE,CAAC,YAAY,IAAI,CAAC,EAAE;AACzB,YAAA,OAAO,KAAK;;QAEb,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE;AACvB,YAAA,OAAO,KAAK;;AAEb,QAAA,OAAO,IAAI;;AAGZ,IAAA,KAAK,CAAC,CAAO,EAAA;AACZ,QAAA,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;;AAGnB,IAAA,OAAO,CAAC,CAAO,EAAA;AACd,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AACzB,YAAA,OAAO,CAAC,CAAC,cAAc,EAAE;;aACnB;AACN,YAAA,OAAO,CAAC,CAAC,WAAW,EAAE;;;AAGxB,IAAA,QAAQ,CAAC,CAAO,EAAA;AACf,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AACzB,YAAA,OAAO,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC;;aACpB;AACN,YAAA,OAAO,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC;;;AAGzB,IAAA,OAAO,CAAC,CAAO,EAAA;AACd,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AACzB,YAAA,OAAO,CAAC,CAAC,UAAU,EAAE;;aACf;AACN,YAAA,OAAO,CAAC,CAAC,OAAO,EAAE;;;AAGpB,IAAA,MAAM,CAAC,CAAO,EAAA;AACb,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AACzB,YAAA,OAAO,CAAC,CAAC,SAAS,EAAE;;aACd;AACN,YAAA,OAAO,CAAC,CAAC,MAAM,EAAE;;;AAInB,IAAA,GAAG,CAAC,CAAO,EAAE,KAAa,EAAE,WAA8B,EAAA;QACzD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1B,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5B,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1B,QAAQ,WAAW;YAClB,KAAK,kBAAkB,CAAC,MAAM;AAC7B,gBAAA,IAAI,IAAI,EAAE,GAAG,KAAK;gBAClB;YACD,KAAK,kBAAkB,CAAC,IAAI;gBAC3B,IAAI,IAAI,KAAK;gBACb;YACD,KAAK,kBAAkB,CAAC,KAAK;gBAC5B,KAAK,IAAI,KAAK;gBACd;YACD,KAAK,kBAAkB,CAAC,GAAG;gBAC1B,IAAI,IAAI,KAAK;gBACb;;QAEF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;;8GAzNzB,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAQtB,SAAS,EAAA,EAAA,EAAA,KAAA,EACT,8BAA8B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAT3B,mBAAmB,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B;;0BASE,MAAM;2BAAC,SAAS;;0BAChB,MAAM;2BAAC,8BAA8B;;0BACrC;;;ACZH;AAEM,MAAO,mBAAoB,SAAQ,cAAsB,CAAA;AAM9D,IAAA,WAAA,CAAuC,OAAe,EAAA;AACrD,QAAA,KAAK,EAAE;QAD+B,IAAO,CAAA,OAAA,GAAP,OAAO;QAE7C,IAAI,CAAC,cAAc,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE;AAC3D,YAAA,MAAM,EAAE,IAAI;AACZ,SAAA,CAAC;;AAGH,IAAA,KAAK,CAAC,IAAY,EAAE,KAAa,EAAE,IAAY,EAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;;IAGvE,UAAU,GAAA;QACT,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;;IAG3D,YAAY,GAAA;AACX,QAAA,OAAO,cAAc;;AAGtB,IAAA,OAAO,CAAC,CAAS,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;;AAGhD,IAAA,OAAO,CAAC,CAAS,EAAE,CAAS,EAAE,WAA8B,EAAA;QACpE,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AAE/B,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC;;AAGxD,IAAA,UAAU,CAAC,IAAY,EAAA;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC;;IAG5C,KAAK,CAAC,IAAY,EAAE,WAA8B,EAAA;AACjD,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;;IAGvE,MAAM,CAAC,CAAS,EAAE,MAAc,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;;AAGhE,IAAA,KAAK,CAAC,CAAS,EAAA;QACd,OAAO,CAAA,EAAG,CAAC,CAAA,CAAE;;AAGd,IAAA,OAAO,CAAC,CAAS,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;;AAGzD,IAAA,QAAQ,CAAC,CAAS,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;;AAG1D,IAAA,OAAO,CAAC,CAAS,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;;AAGzD,IAAA,MAAM,CAAC,CAAS,EAAA;AACf,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;;AAGxD,IAAA,GAAG,CAAC,CAAS,EAAE,KAAa,EAAE,WAA8B,EAAA;QAC3D,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;;AAGlF,IAAA,YAAY,CAAC,CAAS,EAAA;AAC/B,QAAA,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAA,UAAA,CAAY,CAAC;;AAGxB,IAAA,YAAY,CAAC,CAAO,EAAA;AAC7B,QAAA,IAAI,MAAc;AAElB,QAAA,IAAI,CAAC,KAAK,SAAS,EAAE;YACpB,MAAM,GAAG,SAAS;;aACZ,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AAC3C,YAAA,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE;;aACtB;AACN,YAAA,MAAM,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;;AAG1C,QAAA,OAAO,MAAM;;AAvFF,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,kBAMX,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHANjB,mBAAmB,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B;;0BAOa,MAAM;2BAAC,SAAS;;;MCXR,oBAAoB,CAAA;AAEzC;;MCFqB,mBAAmB,CAAA;AAExC;;MCFqB,2BAA2B,CAAA;AAEhD;;ACLD,MAAM,SAAS,GAAG,CAAC;AACnB,MAAM,OAAO,GAAG,EAAE;SACF,UAAU,GAAA;IACzB,OAAO,KAAK,CAAC,SAAS;SACpB,IAAI,CAAC,CAAC;SACN,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;SAC/D,IAAI,CAAC,EAAE,CAAC;AACX;;ACPa,MAAA,KAAK,GAAG,CAAI,KAA2B,KAAgC,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK;AAEvH,MAAM,QAAQ,GAAG,CAAI,KAAQ,KAA8B,CAAC,KAAK,CAAC,KAAK;;MCEjE,cAAc,GAAG,IAAI,cAAc,CAAU,gBAAgB;;MCE7D,eAAe,CAAA;AAc3B,IAAA,WAAA,GAAA;AAbQ,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC3C,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAC5B,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACjC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAEnC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAoB;AAE7C,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAW,IAAI,CAAC;QAE/B,IAAkB,CAAA,kBAAA,GAAgB,IAAI;QAK7C,MAAM,CAAC,MAAK;AACX,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE;YAC9B,SAAS,CAAC,MAAK;gBACd,IAAI,MAAM,EAAE;oBACX,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;;AAE7C,aAAC,CAAC;AACH,SAAC,CAAC;QACF,MAAM,CAAC,MAAK;AACX,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE;YAClC,SAAS,CAAC,MAAK;AACd,gBAAA,IAAI,IAAI,CAAC,eAAe,IAAI,GAAG,EAAE;AAChC,oBAAA,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC;;AAErC,aAAC,CAAC;AACH,SAAC,CAAC;;IAGK,MAAM,CAAC,QAA0B,EAAE,GAAa,EAAA;AACvD,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;AAC7B,QAAA,IAAI,CAAC,eAAe,GAAG,SAAS;AAChC,QAAA,IAAI,CAAC,YAAY,GAAG,SAAS;AAE7B,QAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YACjC,IAAI,CAAC,mBAAmB,EAAE;;QAG3B,IAAI,CAAC,QAAQ,EAAE;YACd;;AAGD,QAAA,IAAI,QAAQ,YAAY,WAAW,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC;YACtC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAI,QAAQ,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;;AAC5G,aAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AACxC,YAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;;aACnB;AACN,YAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAChC,MAAM,EAAE,IAAI,CAAC,QAAQ;gBACrB,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AACvD,aAAA,CAAC;AACF,YAAA,IAAI;AACH,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC;AACjF,gBAAA,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,aAAa,EAAE;;YAClD,OAAO,CAAC,EAAE;AACX,gBAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAChB,gBAAA,MAAM,IAAI,KAAK,CAAC,qHAAqH,CAAC;;;;IAKzI,WAAW,GAAA;QACV,IAAI,CAAC,mBAAmB,EAAE;AAC1B,QAAA,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE;AAC/B,QAAA,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE;;AAGrB,IAAA,UAAU,CAAC,IAAY,EAAA;AAC9B,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC5B,YAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,GAAG,IAAI;;aACpC;AACN,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;YACtE,MAAM,SAAS,GAAgB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAgB;AAC9D,YAAA,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa;YACtC,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC;AACvD,YAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC;;;IAIhE,mBAAmB,GAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC5B,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACtF,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI;;;AAIhC;;;AAGG;AACK,IAAA,yBAAyB,CAAC,OAAU,EAAA;AAC3C,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;YACzB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AAElC,YAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACzB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC;;YAG1C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC;AACpD,YAAA,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE;;;AAI/B,IAAA,OAAO,sBAAsB,CAAI,IAAwB,EAAE,GAAY,EAAA;AAC7E,QAAA,OAAO,IAAI;;8GA7GA,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,YAAY;AACtB,iBAAA;;;ACID;;;;AAIG;SACa,eAAe,CAAsC,YAAe,EAAE,MAAuD,EAAE,OAA6B,EAAA;IAC3K,MAAM,CAAC,MAAK;QACX,MAAM,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC,GAAG,uBAAuB,CAAC,YAAY,CAAC,GAAG,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC;QAE7H,SAAS,CAAC,MAAM,MAAM,CAAC,GAAI,IAAgC,CAAC,CAAC;KAC7D,EAAE,OAAO,CAAC;AACZ;AAEA,SAAS,uBAAuB,CAAuC,OAAU,EAAA;AAChF,IAAA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,CAA2B;AACnE;AAEA,SAAS,wBAAwB,CAA4C,OAAU,EAAA;AACtF,IAAA,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAA4B;AACtH;AAEA,SAAS,eAAe,CAAC,KAA0B,EAAA;AAClD,IAAA,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AAC5B;;MCrBa,OAAO,CAAA;AACnB,IAAA,WAAW,GAAG,MAAM,CAA0B,UAAU,CAAC;AACzD,IAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IAE7B,MAAM,GAA4B,EAAE;AACpC,IAAA,SAAS,GAAG,IAAI,GAAG,EAAyB;AAErC,IAAA,QAAQ,CAAC,KAA4B,EAAA;AAC3C,QAAA,IAAI,CAAC,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC;AAEtC,QAAA,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AAC3D,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;;QAGlC,IAAI,CAAC,eAAe,EAAE;;IAGvB,YAAY,CAAC,KAAa,EAAE,WAAoB,EAAA;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;AACvC,QAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AACxB,YAAA,IAAI,KAAK,CAAC,OAAO,KAAK,WAAW,EAAE;AAClC,gBAAA,KAAK,CAAC,OAAO,GAAG,IAAI;AACpB,gBAAA,KAAK,CAAC,OAAO,GAAG,WAAW;;AAE5B,YAAA,KAAK,CAAC,OAAO,GAAG,IAAI;;aACd;YACN,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;;IAInF,eAAe,GAAA;AACd,QAAA,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE;AACxC,YAAA,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC;AAC3B,YAAA,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC;AAE3B,YAAA,IAAI,KAAK,CAAC,OAAO,EAAE;gBAClB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;AACvC,gBAAA,KAAK,CAAC,OAAO,GAAG,KAAK;;AACf,iBAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;;;AAG1B,gBAAA,IAAI,KAAK,CAAC,OAAO,EAAE;AAClB,oBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC;;AAEhC,gBAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;;AAG7B,YAAA,KAAK,CAAC,OAAO,GAAG,KAAK;;;IAIvB,YAAY,CAAC,KAAa,EAAE,OAAgB,EAAA;QAC3C,IAAI,OAAO,EAAE;AACZ,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC;;aACxD;AACN,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC;;;8GAvDvD,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAP,OAAO,EAAA,CAAA,CAAA;;2FAAP,OAAO,EAAA,UAAA,EAAA,CAAA;kBADnB;;AA6DD,SAAS,iBAAiB,CAAC,GAA0B,EAAA;IACpD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,YAAY,GAAG,EAAE;QAC7C,MAAM,MAAM,GAA4B,EAAE;AAE1C,QAAA,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;AACvB,YAAA,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI;;AAGpB,QAAA,OAAO,MAAM;;AAGd,IAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAC5B,QAAA,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE;AAChB,QAAA,OAAO,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE;;AAGlC,IAAA,OAAO,GAAG;AACX;;ACrFM,SAAU,OAAO,CAAI,iBAAuF,EAAA;AACjH,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;AAChC,IAAA,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAE9C,IAAA,IAAI,MAAM,IAAI,YAAY,EAAE;AAC3B,QAAA,OAAO,YAAY,CAAC,MAAM,CAAC;;IAG5B,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1C,IAAA,IAAI,WAAW,IAAI,YAAY,EAAE;AAChC,QAAA,OAAO,YAAY,CAAC,WAAW,CAAC;;AAGjC,IAAA,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC;AAC5E;;MCZa,cAAc,CAAA;IAC1B,QAAQ,GAAG,uBAAuB;IAElC,SAAS,CAAC,KAAa,EAAE,IAAqC,EAAA;AAC7D,QAAA,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAW,KAAI;YACzD,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,IAAI;AACrC,SAAC,CAAC;;8GANS,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACL,oBAAA,IAAI,EAAE,YAAY;AAClB,iBAAA;;;ACJD;;AAEG;;;;"}
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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"}
@@ -21,8 +21,8 @@ class DataTableBodyComponent {
21
21
  this.group = input(null);
22
22
  this.groupButtonAlt = input(null);
23
23
  this.expanded = model(false);
24
- this.tableRef = inject(LU_DATA_TABLE_INSTANCE);
25
- this.colspan = computed(() => this.tableRef.cols().length + (this.tableRef.selectable() ? 1 : 0));
24
+ this.tableRef = inject(LU_DATA_TABLE_INSTANCE, { optional: true });
25
+ this.colspan = computed(() => this.tableRef?.cols().length + (this.tableRef?.selectable() ? 1 : 0));
26
26
  }
27
27
  expandedToggle() {
28
28
  this.expanded.set(!this.expanded());
@@ -55,21 +55,21 @@ const LU_DATA_TABLE_ROW_INSTANCE = new InjectionToken('LU_DATA_TABLE_ROW_INSTANC
55
55
 
56
56
  class BaseDataTableCell {
57
57
  constructor() {
58
- this.tableRef = inject(LU_DATA_TABLE_INSTANCE);
58
+ this.tableRef = inject(LU_DATA_TABLE_INSTANCE, { optional: true });
59
59
  this.bodyRef = inject(LU_DATA_TABLE_BODY_INSTANCE, { optional: true });
60
60
  this.headRef = inject(LU_DATA_TABLE_HEAD_INSTANCE, { optional: true });
61
61
  this.footRef = inject(LU_DATA_TABLE_FOOT_INSTANCE, { optional: true });
62
- this.rowRef = inject(LU_DATA_TABLE_ROW_INSTANCE);
62
+ this.rowRef = inject(LU_DATA_TABLE_ROW_INSTANCE, { optional: true });
63
63
  this.editable = input(false, { transform: booleanAttribute });
64
64
  this.align = input(null);
65
65
  this.isStickyStart = computed(() => {
66
- return this.position() <= this.tableRef.stickyColsStart() - 1;
66
+ return this.position() <= this.tableRef?.stickyColsStart() - 1;
67
67
  });
68
68
  this.isStickyEnd = computed(() => {
69
- return this.position() >= this.rowRef.cells().length - this.tableRef.stickyColsEnd();
69
+ return this.position() >= this.rowRef?.cells().length - this.tableRef?.stickyColsEnd();
70
70
  });
71
71
  this.position = computed(() => {
72
- return this.rowRef.cells().indexOf(this);
72
+ return this.rowRef?.cells().indexOf(this);
73
73
  });
74
74
  }
75
75
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: BaseDataTableCell, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
@@ -90,7 +90,7 @@ class DataTableRowCellHeaderComponent extends BaseDataTableCell {
90
90
  constructor() {
91
91
  super(...arguments);
92
92
  this.elementRef = inject(ElementRef);
93
- this.sort = model(undefined);
93
+ this.sort = model(null);
94
94
  this.fixedWidth = input(null);
95
95
  this.inlineSize = input(null);
96
96
  this.insetInlineStart = computed(() => {
@@ -164,13 +164,13 @@ class DataTableRowCellComponent extends BaseDataTableCell {
164
164
  return this.isStickyStart() || this.isStickyEnd();
165
165
  });
166
166
  this.alignCol = computed(() => {
167
- return this.tableRef.header().cols()[this.position()].align();
167
+ return this.tableRef?.header().cols()[this.position()].align();
168
168
  });
169
169
  this.insetInlineStart = computed(() => {
170
- return this.tableRef.header().cols()[this.position()].insetInlineStart();
170
+ return this.tableRef?.header().cols()[this.position()].insetInlineStart();
171
171
  });
172
172
  this.insetInlineEnd = computed(() => {
173
- return this.tableRef.header().cols()[this.position()].insetInlineEnd();
173
+ return this.tableRef?.header().cols()[this.position()].insetInlineEnd();
174
174
  });
175
175
  }
176
176
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: DataTableRowCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
@@ -308,13 +308,13 @@ class DataTableRowComponent {
308
308
  this.footRef = inject(LU_DATA_TABLE_FOOT_INSTANCE, { optional: true });
309
309
  this.elementRef = inject(ElementRef);
310
310
  this.cells = contentChildren(LU_DATA_TABLE_CELL_INSTANCE);
311
- this.tableRef = inject(LU_DATA_TABLE_INSTANCE);
311
+ this.tableRef = inject(LU_DATA_TABLE_INSTANCE, { optional: true });
312
312
  this.selected = model(false);
313
313
  this.selectedLabel = input(null);
314
314
  this.disabled = input(false, { transform: booleanAttribute });
315
315
  }
316
316
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: DataTableRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
317
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: DataTableRowComponent, isStandalone: true, selector: "tr[luDataTableRow]", inputs: { selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, selectedLabel: { classPropertyName: "selectedLabel", publicName: "selectedLabel", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selectedChange" }, host: { properties: { "class.dataTable-body-row": "bodyRef !== null", "class.dataTable-head-row": "headRef !== null", "class.dataTable-foot-row": "footRef !== null", "class.mod-selectable": "tableRef.selectable()", "class.mod-draggable": "tableRef.drag()" } }, providers: [
317
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: DataTableRowComponent, isStandalone: true, selector: "tr[luDataTableRow]", inputs: { selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, selectedLabel: { classPropertyName: "selectedLabel", publicName: "selectedLabel", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selectedChange" }, host: { properties: { "class.dataTable-body-row": "bodyRef !== null", "class.dataTable-head-row": "headRef !== null", "class.dataTable-foot-row": "footRef !== null", "class.mod-selectable": "tableRef.selectable() ?? false", "class.mod-draggable": "tableRef.drag() ?? false" } }, providers: [
318
318
  {
319
319
  provide: LU_DATA_TABLE_ROW_INSTANCE,
320
320
  useExisting: forwardRef(() => DataTableRowComponent),
@@ -327,8 +327,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
327
327
  '[class.dataTable-body-row]': 'bodyRef !== null',
328
328
  '[class.dataTable-head-row]': 'headRef !== null',
329
329
  '[class.dataTable-foot-row]': 'footRef !== null',
330
- '[class.mod-selectable]': 'tableRef.selectable()',
331
- '[class.mod-draggable]': 'tableRef.drag()',
330
+ '[class.mod-selectable]': 'tableRef.selectable() ?? false',
331
+ '[class.mod-draggable]': 'tableRef.drag() ?? false',
332
332
  }, imports: [CheckboxInputComponent, FormFieldComponent, FormsModule, NgTemplateOutlet, IconComponent, CdkDragHandle], providers: [
333
333
  {
334
334
  provide: LU_DATA_TABLE_ROW_INSTANCE,
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-data-table.mjs","sources":["../../../packages/ng/data-table/data-table.token.ts","../../../packages/ng/data-table/data-table-body/data-table-body.token.ts","../../../packages/ng/data-table/data-table-body/data-table-body.component.ts","../../../packages/ng/data-table/data-table-body/data-table-body.component.html","../../../packages/ng/data-table/data-table-foot/data-table-foot.token.ts","../../../packages/ng/data-table/data-table-head/data-table-head.token.ts","../../../packages/ng/data-table/data-table-row/data-table-row.token.ts","../../../packages/ng/data-table/base-data-table-cell.ts","../../../packages/ng/data-table/data-table-cell.token.ts","../../../packages/ng/data-table/data-table-cell-header/data-table-cell-header.component.ts","../../../packages/ng/data-table/data-table-cell-header/data-table-cell-header.component.html","../../../packages/ng/data-table/data-table-cell/data-table-cell.component.ts","../../../packages/ng/data-table/data-table-foot/data-table-foot.component.ts","../../../packages/ng/data-table/data-table-head/data-table-head.component.ts","../../../packages/ng/data-table/translations.ts","../../../packages/ng/data-table/data-table.translate.ts","../../../packages/ng/data-table/data-table-row/data-table-row.component.ts","../../../packages/ng/data-table/data-table-row/data-table-row.component.html","../../../packages/ng/data-table/data-table.component.ts","../../../packages/ng/data-table/data-table.component.html","../../../packages/ng/data-table/lucca-front-ng-data-table.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { DataTableComponent } from './data-table.component';\n\nexport const LU_DATA_TABLE_INSTANCE = new InjectionToken<DataTableComponent>('LU_DATA_TABLE_INSTANCE');\n","import { InjectionToken } from '@angular/core';\nimport { DataTableBodyComponent } from './data-table-body.component';\n\nexport const LU_DATA_TABLE_BODY_INSTANCE = new InjectionToken<DataTableBodyComponent>('LU_DATA_TABLE_BODY_INSTANCE');\n","import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input, model, ViewEncapsulation } from '@angular/core';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LU_DATA_TABLE_INSTANCE } from '../data-table.token';\nimport { LU_DATA_TABLE_BODY_INSTANCE } from './data-table-body.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'tbody[luDataTableBody]',\n\ttemplateUrl: `./data-table-body.component.html`,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dataTable-body',\n\t},\n\timports: [ButtonComponent, PortalDirective, IconComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_DATA_TABLE_BODY_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => DataTableBodyComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DataTableBodyComponent {\n\tgroup = input<PortalContent | null>(null);\n\tgroupButtonAlt = input<string | null>(null);\n\n\texpanded = model(false);\n\n\texpandedToggle() {\n\t\tthis.expanded.set(!this.expanded());\n\t}\n\n\tprotected tableRef = inject(LU_DATA_TABLE_INSTANCE);\n\n\tcolspan = computed(() => this.tableRef.cols().length + (this.tableRef.selectable() ? 1 : 0));\n}\n","@if (group() && groupButtonAlt()) {\n\t<tr class=\"dataTable-body-row mod-group\">\n\t\t<td class=\"dataTable-body-row-cell\" [attr.colspan]=\"colspan()\">\n\t\t\t<div class=\"dataTable-body-row-cell-expand\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"dataTable-body-row-cell-expand-button\"\n\t\t\t\t\tluButton\n\t\t\t\t\tdisclosure\n\t\t\t\t\t[attr.aria-expanded]=\"expanded()\"\n\t\t\t\t\t(click)=\"expandedToggle()\"\n\t\t\t\t>\n\t\t\t\t\t<lu-icon icon=\"arrowChevronTop\" [alt]=\"groupButtonAlt()\" />\n\t\t\t\t</button>\n\t\t\t\t<ng-container *luPortal=\"group()\" />\n\t\t\t</div>\n\t\t</td>\n\t</tr>\n}\n<ng-content />\n","import { InjectionToken } from '@angular/core';\nimport { DataTableFootComponent } from './data-table-foot.component';\n\nexport const LU_DATA_TABLE_FOOT_INSTANCE = new InjectionToken<DataTableFootComponent>('LU_DATA_TABLE_FOOT_INSTANCE');\n","import { InjectionToken } from '@angular/core';\nimport { DataTableHeadComponent } from './data-table-head.component';\n\nexport const LU_DATA_TABLE_HEAD_INSTANCE = new InjectionToken<DataTableHeadComponent>('LU_DATA_TABLE_HEAD_INSTANCE');\n","import { InjectionToken } from '@angular/core';\nimport { DataTableRowComponent } from './data-table-row.component';\n\nexport const LU_DATA_TABLE_ROW_INSTANCE = new InjectionToken<DataTableRowComponent>('LU_DATA_TABLE_ROW_INSTANCE');\n","import { booleanAttribute, ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';\nimport { LU_DATA_TABLE_BODY_INSTANCE } from './data-table-body/data-table-body.token';\nimport { LU_DATA_TABLE_FOOT_INSTANCE } from './data-table-foot/data-table-foot.token';\nimport { LU_DATA_TABLE_HEAD_INSTANCE } from './data-table-head/data-table-head.token';\nimport { LU_DATA_TABLE_ROW_INSTANCE } from './data-table-row/data-table-row.token';\nimport { LU_DATA_TABLE_INSTANCE } from './data-table.token';\n\n@Component({\n\tselector: 'lu-base-data-table-cell',\n\ttemplate: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport abstract class BaseDataTableCell {\n\ttableRef = inject(LU_DATA_TABLE_INSTANCE);\n\tbodyRef = inject(LU_DATA_TABLE_BODY_INSTANCE, { optional: true });\n\theadRef = inject(LU_DATA_TABLE_HEAD_INSTANCE, { optional: true });\n\tfootRef = inject(LU_DATA_TABLE_FOOT_INSTANCE, { optional: true });\n\trowRef = inject(LU_DATA_TABLE_ROW_INSTANCE);\n\n\teditable = input(false, { transform: booleanAttribute });\n\talign = input<null | 'start' | 'center' | 'end'>(null);\n\n\tisStickyStart = computed(() => {\n\t\treturn this.position() <= this.tableRef.stickyColsStart() - 1;\n\t});\n\n\tisStickyEnd = computed(() => {\n\t\treturn this.position() >= this.rowRef.cells().length - this.tableRef.stickyColsEnd();\n\t});\n\n\tposition = computed(() => {\n\t\treturn this.rowRef.cells().indexOf(this);\n\t});\n}\n","import { InjectionToken } from '@angular/core';\nimport { BaseDataTableCell } from './base-data-table-cell';\n\nexport const LU_DATA_TABLE_CELL_INSTANCE = new InjectionToken<BaseDataTableCell>('LU_DATA_TABLE_CELL_INSTANCE');\n","import { NgTemplateOutlet } from '@angular/common';\nimport { AfterContentInit, ChangeDetectionStrategy, Component, computed, ElementRef, forwardRef, inject, input, model, ViewEncapsulation } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { ReplaySubject } from 'rxjs';\nimport { BaseDataTableCell } from '../base-data-table-cell';\nimport { LU_DATA_TABLE_CELL_INSTANCE } from '../data-table-cell.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'th[luDataTableCell]',\n\ttemplateUrl: './data-table-cell-header.component.html',\n\tstyleUrl: './data-table-cell-header.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\t'[class.dataTable-body-row-cell]': 'bodyRef !== null',\n\t\t'[class.dataTable-head-row-cell]': 'headRef !== null',\n\t\t'[class.dataTable-foot-row-cell]': 'footRef !== null',\n\t\t'[class.mod-alignStart]': 'align() === \"start\"',\n\t\t'[class.mod-alignCenter]': 'align() === \"center\"',\n\t\t'[class.mod-alignEnd]': 'align() === \"end\"',\n\t\t'[class.mod-stickyColumn]': 'isStickyStart() || isStickyEnd()',\n\t\t'[attr.aria-sort]': 'sort()',\n\t\t'[class.mod-editable]': 'editable()',\n\t\t'[attr.scope]': 'bodyRef !== null ? \"row\" : \"col\"',\n\t\t'[style.--dataTable-layoutFixed-width]': 'inlineSize() || fixedWidth()',\n\t\t'[style.insetInlineStart]': 'insetInlineStart()',\n\t\t'[style.insetInlineEnd]': 'insetInlineEnd()',\n\t},\n\timports: [NgTemplateOutlet, ButtonComponent, IconComponent, FormsModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_DATA_TABLE_CELL_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => DataTableRowCellHeaderComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DataTableRowCellHeaderComponent extends BaseDataTableCell implements AfterContentInit {\n\telementRef = inject<ElementRef<HTMLTableCellElement>>(ElementRef);\n\n\tsort = model<undefined | null | 'ascending' | 'descending'>(undefined);\n\tfixedWidth = input<string | null>(null);\n\tinlineSize = input<string | null>(null);\n\n\tinsetInlineStart = computed(() => {\n\t\tif (!this.isStickyStart() || !this.headRef) {\n\t\t\treturn '';\n\t\t}\n\t\treturn (\n\t\t\tthis.headRef\n\t\t\t\t.cols()\n\t\t\t\t.slice(0, this.position())\n\t\t\t\t.reduce((acc, col) => {\n\t\t\t\t\treturn acc + col.inlineSizePx();\n\t\t\t\t}, 0) + 'px'\n\t\t);\n\t});\n\n\tinsetInlineEnd = computed(() => {\n\t\tif (!this.isStickyEnd() || !this.headRef) {\n\t\t\treturn '';\n\t\t}\n\t\treturn (\n\t\t\tthis.headRef\n\t\t\t\t.cols()\n\t\t\t\t.slice(this.position() + 1)\n\t\t\t\t.reduce((acc, col) => {\n\t\t\t\t\treturn acc + col.inlineSizePx();\n\t\t\t\t}, 0) + 'px'\n\t\t);\n\t});\n\n\t#inlineSizePx$ = new ReplaySubject<number>();\n\n\tinlineSizePx = toSignal(this.#inlineSizePx$);\n\n\tngAfterContentInit(): void {\n\t\tnew ResizeObserver(() => {\n\t\t\tthis.#inlineSizePx$.next(this.elementRef.nativeElement.clientWidth);\n\t\t}).observe(this.elementRef.nativeElement);\n\t}\n}\n","@if (sort()) {\n\t<button luButton type=\"button\" class=\"tableSortable\" [(ngModel)]=\"sort\">\n\t\t<ng-container *ngTemplateOutlet=\"contentTpl\" />\n\t\t<span class=\"tableSortable-arrows\">\n\t\t\t<lu-icon icon=\"chevronTop\" class=\"tableSortable-arrows-ascending\" />\n\t\t\t<lu-icon icon=\"chevronBottom\" class=\"tableSortable-arrows-descending\" />\n\t\t</span>\n\t</button>\n} @else {\n\t<ng-container *ngTemplateOutlet=\"contentTpl\" />\n}\n\n<ng-template #contentTpl><ng-content /></ng-template>\n","import { booleanAttribute, ChangeDetectionStrategy, Component, computed, forwardRef, input, ViewEncapsulation } from '@angular/core';\n\nimport { BaseDataTableCell } from '../base-data-table-cell';\nimport { LU_DATA_TABLE_CELL_INSTANCE } from '../data-table-cell.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'td[luDataTableCell]',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\t'[class.dataTable-body-row-cell]': 'bodyRef !== null',\n\t\t'[class.dataTable-head-row-cell]': 'headRef !== null',\n\t\t'[class.dataTable-foot-row-cell]': 'footRef !== null',\n\t\t'[class.mod-alignStart]': 'align() === \"start\" || alignCol() === \"start\"',\n\t\t'[class.mod-alignCenter]': 'align() === \"center\" || alignCol() === \"center\"',\n\t\t'[class.mod-alignEnd]': 'align() === \"end\" || alignCol() === \"end\"',\n\t\t'[class.mod-editable]': 'editable()',\n\t\t'[class.mod-actions]': 'actions()',\n\t\t'[class.mod-stickyColumn]': 'isSticky()',\n\t\t'[style.insetInlineStart]': 'insetInlineStart()',\n\t\t'[style.insetInlineEnd]': 'insetInlineEnd()',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_DATA_TABLE_CELL_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => DataTableRowCellComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DataTableRowCellComponent extends BaseDataTableCell {\n\tactions = input(false, { transform: booleanAttribute });\n\n\tisSticky = computed(() => {\n\t\treturn this.isStickyStart() || this.isStickyEnd();\n\t});\n\n\talignCol = computed(() => {\n\t\treturn this.tableRef.header().cols()[this.position()].align();\n\t});\n\n\tinsetInlineStart = computed(() => {\n\t\treturn this.tableRef.header().cols()[this.position()].insetInlineStart();\n\t});\n\n\tinsetInlineEnd = computed(() => {\n\t\treturn this.tableRef.header().cols()[this.position()].insetInlineEnd();\n\t});\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { LU_DATA_TABLE_FOOT_INSTANCE } from './data-table-foot.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'tfoot[luDataTableFoot]',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dataTable-foot',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_DATA_TABLE_FOOT_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => DataTableFootComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DataTableFootComponent {}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, contentChildren, forwardRef, input, signal, ViewEncapsulation } from '@angular/core';\n\nimport { DataTableRowCellHeaderComponent } from '../data-table-cell-header/data-table-cell-header.component';\nimport { LU_DATA_TABLE_HEAD_INSTANCE } from './data-table-head.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'thead[luDataTableHead]',\n\ttemplate: '<ng-content />',\n\tstyleUrl: './data-table-head.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dataTable-head',\n\t\t'[class.mod-sticky]': 'sticky()',\n\t\t'[class.is-firstBodyRowVisible]': 'isFirstVisible()',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_DATA_TABLE_HEAD_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => DataTableHeadComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DataTableHeadComponent {\n\treadonly sticky = input(false, { transform: booleanAttribute });\n\treadonly isFirstVisible = signal(false);\n\n\tcols = contentChildren(DataTableRowCellHeaderComponent, { descendants: true });\n}\n","export const Translations = {\n\t'nl-BE': {\n\t\tmove: 'Verplaatsen',\n\t},\n\tfr: {\n\t\tmove: 'Déplacer',\n\t},\n\tde: {\n\t\tmove: 'Verschieben',\n\t},\n\ten: {\n\t\tmove: 'Move',\n\t},\n\tes: {\n\t\tmove: 'Desplazar',\n\t},\n\tit: {\n\t\tmove: 'Spostare',\n\t},\n\tnl: {\n\t\tmove: 'Verplaatsen',\n\t},\n\tpt: {\n\t\tmove: 'Mover',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_DATA_TABLE_TRANSLATIONS = new InjectionToken('LuDataTableTranslations', {\n\tfactory: () => luDataTableTranslations,\n});\n\nexport interface LuDataTableTranslations {\n\tmove: string;\n}\n\nexport const luDataTableTranslations: LuTranslation<LuDataTableTranslations> = Translations;\n","import { CdkDragHandle } from '@angular/cdk/drag-drop';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, contentChildren, ElementRef, forwardRef, inject, input, model, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { FormFieldComponent } from '@lucca-front/ng/form-field';\nimport { CheckboxInputComponent } from '@lucca-front/ng/forms';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LU_DATA_TABLE_BODY_INSTANCE } from '../data-table-body/data-table-body.token';\nimport { LU_DATA_TABLE_CELL_INSTANCE } from '../data-table-cell.token';\nimport { LU_DATA_TABLE_FOOT_INSTANCE } from '../data-table-foot/data-table-foot.token';\nimport { LU_DATA_TABLE_HEAD_INSTANCE } from '../data-table-head/data-table-head.token';\nimport { LU_DATA_TABLE_INSTANCE } from '../data-table.token';\nimport { LU_DATA_TABLE_TRANSLATIONS } from '../data-table.translate';\nimport { LU_DATA_TABLE_ROW_INSTANCE } from './data-table-row.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'tr[luDataTableRow]',\n\ttemplateUrl: './data-table-row.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\t'[class.dataTable-body-row]': 'bodyRef !== null',\n\t\t'[class.dataTable-head-row]': 'headRef !== null',\n\t\t'[class.dataTable-foot-row]': 'footRef !== null',\n\t\t'[class.mod-selectable]': 'tableRef.selectable()',\n\t\t'[class.mod-draggable]': 'tableRef.drag()',\n\t},\n\timports: [CheckboxInputComponent, FormFieldComponent, FormsModule, NgTemplateOutlet, IconComponent, CdkDragHandle],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_DATA_TABLE_ROW_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => DataTableRowComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DataTableRowComponent {\n\tintl = getIntl(LU_DATA_TABLE_TRANSLATIONS);\n\tbodyRef = inject(LU_DATA_TABLE_BODY_INSTANCE, { optional: true });\n\theadRef = inject(LU_DATA_TABLE_HEAD_INSTANCE, { optional: true });\n\tfootRef = inject(LU_DATA_TABLE_FOOT_INSTANCE, { optional: true });\n\n\telementRef = inject<ElementRef<Element>>(ElementRef);\n\n\tpublic readonly cells = contentChildren(LU_DATA_TABLE_CELL_INSTANCE);\n\n\tprotected tableRef = inject(LU_DATA_TABLE_INSTANCE);\n\n\tselected = model<boolean>(false);\n\treadonly selectedLabel = input<string | null>(null);\n\treadonly disabled = input(false, { transform: booleanAttribute });\n}\n","@if (tableRef.drag()) {\n\t<td class=\"dataTable-body-row-cell\" aria-hidden=\"true\">\n\t\t@if (bodyRef) {\n\t\t\t<span class=\"button dataTable-body-row-cell-drag\" cdkDragHandle>\n\t\t\t\t<lu-icon icon=\"dotsDrag\" [alt]=\"intl.move\" />\n\t\t\t</span>\n\t\t}\n\t</td>\n}\n\n@if (tableRef.selectable()) {\n\t@if (headRef) {\n\t\t<th class=\"dataTable-head-row-cell\" scope=\"col\"><ng-container *ngTemplateOutlet=\"input\" /></th>\n\t} @else {\n\t\t<td [class.dataTable-body-row-cell]=\"bodyRef !== null\" [class.dataTable-foot-row-cell]=\"footRef !== null\">\n\t\t\t<ng-container *ngTemplateOutlet=\"input\" />\n\t\t</td>\n\t}\n}\n<ng-content />\n\n<ng-template #input>\n\t@if (!footRef && selectedLabel()) {\n\t\t<lu-form-field [label]=\"selectedLabel()\" hiddenLabel>\n\t\t\t<lu-checkbox-input [(ngModel)]=\"selected\" [disabled]=\"disabled()\" />\n\t\t</lu-form-field>\n\t}\n</ng-template>\n","import {\n\tafterNextRender,\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tcontentChild,\n\tcontentChildren,\n\tElementRef,\n\tforwardRef,\n\tinject,\n\tinput,\n\tnumberAttribute,\n\tOnInit,\n\tsignal,\n\tviewChild,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { ResponsiveConfig, ɵeffectWithDeps } from '@lucca-front/ng/core';\nimport { DataTableHeadComponent } from './data-table-head/data-table-head.component';\nimport { DataTableRowComponent } from './data-table-row/data-table-row.component';\nimport { LU_DATA_TABLE_INSTANCE } from './data-table.token';\n\n@Component({\n\tselector: 'lu-data-table',\n\ttemplateUrl: './data-table.component.html',\n\tstyleUrl: './data-table.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dataTableWrapper',\n\t\t'[class.mod-nested]': 'this.nested()',\n\t\t'[class.mod-noOverflow]': 'this.noOverflow()',\n\t\t'(scroll)': 'scroll()',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_DATA_TABLE_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => DataTableComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DataTableComponent implements OnInit {\n\t#elementRef = inject<ElementRef<Element>>(ElementRef);\n\ttableRef = viewChild<ElementRef<Element>>('tableRef');\n\n\treadonly hover = input(false, { transform: booleanAttribute });\n\treadonly selectable = input(false, { transform: booleanAttribute });\n\treadonly layoutFixed = input(false, { transform: booleanAttribute });\n\treadonly cellBorder = input(false, { transform: booleanAttribute });\n\treadonly nested = input(false, { transform: booleanAttribute });\n\treadonly drag = input(false, { transform: booleanAttribute });\n\treadonly noOverflow = input(false, { transform: booleanAttribute });\n\n\treadonly responsive = input<ResponsiveConfig<'layoutFixed', true>>({});\n\n\treadonly verticalAlign = input<null | 'top' | 'middle' | 'bottom'>(null);\n\n\treadonly rows = contentChildren(DataTableRowComponent, { descendants: true });\n\treadonly header = contentChild(DataTableHeadComponent, { descendants: true });\n\n\treadonly stickyHeader = computed(() => this.header().sticky());\n\n\treadonly stickyColsStart = input(0, { transform: numberAttribute });\n\treadonly stickyColsEnd = input(0, { transform: numberAttribute });\n\n\tfirstColumnVisibleAfterColsStart = signal(true);\n\tlastColumnVisibleBeforeColsEnd = signal(false);\n\n\tfirstColumnVisible = signal(true);\n\tlastColumnVisible = signal(false);\n\n\tfirstRowVisible = signal(true);\n\tlastRowVisible = signal(false);\n\n\treadonly cols = computed(() => this.header().cols());\n\n\treadonly classMods = computed(() => {\n\t\treturn {\n\t\t\tdataTable: true,\n\t\t\t['mod-stickyHeader']: this.stickyHeader(),\n\t\t\t['mod-hover']: this.hover(),\n\t\t\t['mod-cellBorder']: this.cellBorder(),\n\t\t\t['mod-verticalAlignTop']: this.verticalAlign() === 'top',\n\t\t\t['mod-verticalAlignMiddle']: this.verticalAlign() === 'middle',\n\t\t\t['mod-verticalAlignBottom']: this.verticalAlign() === 'bottom',\n\t\t\t['mod-columnsOverflow']: this.stickyColsStart() || this.stickyColsEnd(),\n\t\t\t['is-firstColumnVisible']: this.stickyColsStart() || this.firstColumnVisible(),\n\t\t\t['is-lastColumnVisible']: this.stickyColsEnd() || this.lastColumnVisible(),\n\t\t\t['is-firstColumnVisibleAfterColsStart']: this.firstColumnVisibleAfterColsStart(),\n\t\t\t['is-lastColumnVisibleBeforeColsEnd']: this.lastColumnVisibleBeforeColsEnd(),\n\t\t\t['is-firstRowVisible']: this.firstRowVisible(),\n\t\t\t['is-lastRowVisible']: this.lastRowVisible(),\n\t\t\t['mod-layoutFixed']: this.layoutFixed(),\n\t\t\t...Object.entries(this.responsive()).reduce((acc, [key, value]) => {\n\t\t\t\treturn {\n\t\t\t\t\t...acc,\n\t\t\t\t\t[`mod-${key}`]: value,\n\t\t\t\t};\n\t\t\t}, {}),\n\t\t};\n\t});\n\n\tscroll() {\n\t\tthis.header().isFirstVisible.set(this.#elementRef.nativeElement.scrollTop === 0);\n\n\t\tthis.firstRowVisible.set(this.#elementRef.nativeElement.scrollTop === 0);\n\t\tthis.lastRowVisible.set(this.#elementRef.nativeElement.scrollTop >= this.#elementRef.nativeElement.scrollHeight - this.#elementRef.nativeElement.clientHeight);\n\n\t\tthis.firstColumnVisibleAfterColsStart.set(this.#elementRef.nativeElement.scrollLeft === 0);\n\t\tthis.lastColumnVisibleBeforeColsEnd.set(this.#elementRef.nativeElement.scrollLeft >= this.#elementRef.nativeElement.scrollWidth - this.#elementRef.nativeElement.clientWidth);\n\n\t\tthis.firstColumnVisible.set(this.#elementRef.nativeElement.scrollLeft === 0);\n\t\tthis.lastColumnVisible.set(this.#elementRef.nativeElement.scrollLeft >= this.#elementRef.nativeElement.scrollWidth - this.#elementRef.nativeElement.clientWidth);\n\t}\n\n\tconstructor() {\n\t\tɵeffectWithDeps([this.rows], () => this.scroll());\n\n\t\tafterNextRender(() => {\n\t\t\tthis.scroll();\n\t\t});\n\t}\n\n\tngOnInit(): void {\n\t\tnew ResizeObserver(() => {\n\t\t\tthis.scroll();\n\t\t}).observe(this.tableRef().nativeElement);\n\t}\n}\n","<div class=\"dataTableShadows\">\n\t<table [class]=\"classMods()\" #tableRef>\n\t\t<ng-content />\n\t</table>\n\t<div class=\"dataTableWrapper-pagination\">\n\t\t<ng-content select=\"[dataTablePagination]\" />\n\t</div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵeffectWithDeps"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-data-table.mjs","sources":["../../../packages/ng/data-table/data-table.token.ts","../../../packages/ng/data-table/data-table-body/data-table-body.token.ts","../../../packages/ng/data-table/data-table-body/data-table-body.component.ts","../../../packages/ng/data-table/data-table-body/data-table-body.component.html","../../../packages/ng/data-table/data-table-foot/data-table-foot.token.ts","../../../packages/ng/data-table/data-table-head/data-table-head.token.ts","../../../packages/ng/data-table/data-table-row/data-table-row.token.ts","../../../packages/ng/data-table/base-data-table-cell.ts","../../../packages/ng/data-table/data-table-cell.token.ts","../../../packages/ng/data-table/data-table-cell-header/data-table-cell-header.component.ts","../../../packages/ng/data-table/data-table-cell-header/data-table-cell-header.component.html","../../../packages/ng/data-table/data-table-cell/data-table-cell.component.ts","../../../packages/ng/data-table/data-table-foot/data-table-foot.component.ts","../../../packages/ng/data-table/data-table-head/data-table-head.component.ts","../../../packages/ng/data-table/translations.ts","../../../packages/ng/data-table/data-table.translate.ts","../../../packages/ng/data-table/data-table-row/data-table-row.component.ts","../../../packages/ng/data-table/data-table-row/data-table-row.component.html","../../../packages/ng/data-table/data-table.component.ts","../../../packages/ng/data-table/data-table.component.html","../../../packages/ng/data-table/lucca-front-ng-data-table.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { DataTableComponent } from './data-table.component';\n\nexport const LU_DATA_TABLE_INSTANCE = new InjectionToken<DataTableComponent>('LU_DATA_TABLE_INSTANCE');\n","import { InjectionToken } from '@angular/core';\nimport { DataTableBodyComponent } from './data-table-body.component';\n\nexport const LU_DATA_TABLE_BODY_INSTANCE = new InjectionToken<DataTableBodyComponent>('LU_DATA_TABLE_BODY_INSTANCE');\n","import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input, model, ViewEncapsulation } from '@angular/core';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LU_DATA_TABLE_INSTANCE } from '../data-table.token';\nimport { LU_DATA_TABLE_BODY_INSTANCE } from './data-table-body.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'tbody[luDataTableBody]',\n\ttemplateUrl: `./data-table-body.component.html`,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dataTable-body',\n\t},\n\timports: [ButtonComponent, PortalDirective, IconComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_DATA_TABLE_BODY_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => DataTableBodyComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DataTableBodyComponent {\n\tgroup = input<PortalContent | null>(null);\n\tgroupButtonAlt = input<string | null>(null);\n\n\texpanded = model(false);\n\n\texpandedToggle() {\n\t\tthis.expanded.set(!this.expanded());\n\t}\n\n\tprotected tableRef = inject(LU_DATA_TABLE_INSTANCE, { optional: true });\n\n\tcolspan = computed(() => this.tableRef?.cols().length + (this.tableRef?.selectable() ? 1 : 0));\n}\n","@if (group() && groupButtonAlt()) {\n\t<tr class=\"dataTable-body-row mod-group\">\n\t\t<td class=\"dataTable-body-row-cell\" [attr.colspan]=\"colspan()\">\n\t\t\t<div class=\"dataTable-body-row-cell-expand\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"dataTable-body-row-cell-expand-button\"\n\t\t\t\t\tluButton\n\t\t\t\t\tdisclosure\n\t\t\t\t\t[attr.aria-expanded]=\"expanded()\"\n\t\t\t\t\t(click)=\"expandedToggle()\"\n\t\t\t\t>\n\t\t\t\t\t<lu-icon icon=\"arrowChevronTop\" [alt]=\"groupButtonAlt()\" />\n\t\t\t\t</button>\n\t\t\t\t<ng-container *luPortal=\"group()\" />\n\t\t\t</div>\n\t\t</td>\n\t</tr>\n}\n<ng-content />\n","import { InjectionToken } from '@angular/core';\nimport { DataTableFootComponent } from './data-table-foot.component';\n\nexport const LU_DATA_TABLE_FOOT_INSTANCE = new InjectionToken<DataTableFootComponent>('LU_DATA_TABLE_FOOT_INSTANCE');\n","import { InjectionToken } from '@angular/core';\nimport { DataTableHeadComponent } from './data-table-head.component';\n\nexport const LU_DATA_TABLE_HEAD_INSTANCE = new InjectionToken<DataTableHeadComponent>('LU_DATA_TABLE_HEAD_INSTANCE');\n","import { InjectionToken } from '@angular/core';\nimport { DataTableRowComponent } from './data-table-row.component';\n\nexport const LU_DATA_TABLE_ROW_INSTANCE = new InjectionToken<DataTableRowComponent>('LU_DATA_TABLE_ROW_INSTANCE');\n","import { booleanAttribute, ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';\nimport { LU_DATA_TABLE_BODY_INSTANCE } from './data-table-body/data-table-body.token';\nimport { LU_DATA_TABLE_FOOT_INSTANCE } from './data-table-foot/data-table-foot.token';\nimport { LU_DATA_TABLE_HEAD_INSTANCE } from './data-table-head/data-table-head.token';\nimport { LU_DATA_TABLE_ROW_INSTANCE } from './data-table-row/data-table-row.token';\nimport { LU_DATA_TABLE_INSTANCE } from './data-table.token';\n\n@Component({\n\tselector: 'lu-base-data-table-cell',\n\ttemplate: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport abstract class BaseDataTableCell {\n\ttableRef = inject(LU_DATA_TABLE_INSTANCE, { optional: true });\n\tbodyRef = inject(LU_DATA_TABLE_BODY_INSTANCE, { optional: true });\n\theadRef = inject(LU_DATA_TABLE_HEAD_INSTANCE, { optional: true });\n\tfootRef = inject(LU_DATA_TABLE_FOOT_INSTANCE, { optional: true });\n\trowRef = inject(LU_DATA_TABLE_ROW_INSTANCE, { optional: true });\n\n\teditable = input(false, { transform: booleanAttribute });\n\talign = input<null | 'start' | 'center' | 'end'>(null);\n\n\tisStickyStart = computed(() => {\n\t\treturn this.position() <= this.tableRef?.stickyColsStart() - 1;\n\t});\n\n\tisStickyEnd = computed(() => {\n\t\treturn this.position() >= this.rowRef?.cells().length - this.tableRef?.stickyColsEnd();\n\t});\n\n\tposition = computed(() => {\n\t\treturn this.rowRef?.cells().indexOf(this);\n\t});\n}\n","import { InjectionToken } from '@angular/core';\nimport { BaseDataTableCell } from './base-data-table-cell';\n\nexport const LU_DATA_TABLE_CELL_INSTANCE = new InjectionToken<BaseDataTableCell>('LU_DATA_TABLE_CELL_INSTANCE');\n","import { NgTemplateOutlet } from '@angular/common';\nimport { AfterContentInit, ChangeDetectionStrategy, Component, computed, ElementRef, forwardRef, inject, input, model, ViewEncapsulation } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { ReplaySubject } from 'rxjs';\nimport { BaseDataTableCell } from '../base-data-table-cell';\nimport { LU_DATA_TABLE_CELL_INSTANCE } from '../data-table-cell.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'th[luDataTableCell]',\n\ttemplateUrl: './data-table-cell-header.component.html',\n\tstyleUrl: './data-table-cell-header.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\t'[class.dataTable-body-row-cell]': 'bodyRef !== null',\n\t\t'[class.dataTable-head-row-cell]': 'headRef !== null',\n\t\t'[class.dataTable-foot-row-cell]': 'footRef !== null',\n\t\t'[class.mod-alignStart]': 'align() === \"start\"',\n\t\t'[class.mod-alignCenter]': 'align() === \"center\"',\n\t\t'[class.mod-alignEnd]': 'align() === \"end\"',\n\t\t'[class.mod-stickyColumn]': 'isStickyStart() || isStickyEnd()',\n\t\t'[attr.aria-sort]': 'sort()',\n\t\t'[class.mod-editable]': 'editable()',\n\t\t'[attr.scope]': 'bodyRef !== null ? \"row\" : \"col\"',\n\t\t'[style.--dataTable-layoutFixed-width]': 'inlineSize() || fixedWidth()',\n\t\t'[style.insetInlineStart]': 'insetInlineStart()',\n\t\t'[style.insetInlineEnd]': 'insetInlineEnd()',\n\t},\n\timports: [NgTemplateOutlet, ButtonComponent, IconComponent, FormsModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_DATA_TABLE_CELL_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => DataTableRowCellHeaderComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DataTableRowCellHeaderComponent extends BaseDataTableCell implements AfterContentInit {\n\telementRef = inject<ElementRef<HTMLTableCellElement>>(ElementRef);\n\n\tsort = model<null | 'none' | 'ascending' | 'descending'>(null);\n\tfixedWidth = input<string | null>(null);\n\tinlineSize = input<string | null>(null);\n\n\tinsetInlineStart = computed(() => {\n\t\tif (!this.isStickyStart() || !this.headRef) {\n\t\t\treturn '';\n\t\t}\n\t\treturn (\n\t\t\tthis.headRef\n\t\t\t\t.cols()\n\t\t\t\t.slice(0, this.position())\n\t\t\t\t.reduce((acc, col) => {\n\t\t\t\t\treturn acc + col.inlineSizePx();\n\t\t\t\t}, 0) + 'px'\n\t\t);\n\t});\n\n\tinsetInlineEnd = computed(() => {\n\t\tif (!this.isStickyEnd() || !this.headRef) {\n\t\t\treturn '';\n\t\t}\n\t\treturn (\n\t\t\tthis.headRef\n\t\t\t\t.cols()\n\t\t\t\t.slice(this.position() + 1)\n\t\t\t\t.reduce((acc, col) => {\n\t\t\t\t\treturn acc + col.inlineSizePx();\n\t\t\t\t}, 0) + 'px'\n\t\t);\n\t});\n\n\t#inlineSizePx$ = new ReplaySubject<number>();\n\n\tinlineSizePx = toSignal(this.#inlineSizePx$);\n\n\tngAfterContentInit(): void {\n\t\tnew ResizeObserver(() => {\n\t\t\tthis.#inlineSizePx$.next(this.elementRef.nativeElement.clientWidth);\n\t\t}).observe(this.elementRef.nativeElement);\n\t}\n}\n","@if (sort()) {\n\t<button luButton type=\"button\" class=\"tableSortable\" [(ngModel)]=\"sort\">\n\t\t<ng-container *ngTemplateOutlet=\"contentTpl\" />\n\t\t<span class=\"tableSortable-arrows\">\n\t\t\t<lu-icon icon=\"chevronTop\" class=\"tableSortable-arrows-ascending\" />\n\t\t\t<lu-icon icon=\"chevronBottom\" class=\"tableSortable-arrows-descending\" />\n\t\t</span>\n\t</button>\n} @else {\n\t<ng-container *ngTemplateOutlet=\"contentTpl\" />\n}\n\n<ng-template #contentTpl><ng-content /></ng-template>\n","import { booleanAttribute, ChangeDetectionStrategy, Component, computed, forwardRef, input, ViewEncapsulation } from '@angular/core';\n\nimport { BaseDataTableCell } from '../base-data-table-cell';\nimport { LU_DATA_TABLE_CELL_INSTANCE } from '../data-table-cell.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'td[luDataTableCell]',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\t'[class.dataTable-body-row-cell]': 'bodyRef !== null',\n\t\t'[class.dataTable-head-row-cell]': 'headRef !== null',\n\t\t'[class.dataTable-foot-row-cell]': 'footRef !== null',\n\t\t'[class.mod-alignStart]': 'align() === \"start\" || alignCol() === \"start\"',\n\t\t'[class.mod-alignCenter]': 'align() === \"center\" || alignCol() === \"center\"',\n\t\t'[class.mod-alignEnd]': 'align() === \"end\" || alignCol() === \"end\"',\n\t\t'[class.mod-editable]': 'editable()',\n\t\t'[class.mod-actions]': 'actions()',\n\t\t'[class.mod-stickyColumn]': 'isSticky()',\n\t\t'[style.insetInlineStart]': 'insetInlineStart()',\n\t\t'[style.insetInlineEnd]': 'insetInlineEnd()',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_DATA_TABLE_CELL_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => DataTableRowCellComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DataTableRowCellComponent extends BaseDataTableCell {\n\tactions = input(false, { transform: booleanAttribute });\n\n\tisSticky = computed(() => {\n\t\treturn this.isStickyStart() || this.isStickyEnd();\n\t});\n\n\talignCol = computed(() => {\n\t\treturn this.tableRef?.header().cols()[this.position()].align();\n\t});\n\n\tinsetInlineStart = computed(() => {\n\t\treturn this.tableRef?.header().cols()[this.position()].insetInlineStart();\n\t});\n\n\tinsetInlineEnd = computed(() => {\n\t\treturn this.tableRef?.header().cols()[this.position()].insetInlineEnd();\n\t});\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { LU_DATA_TABLE_FOOT_INSTANCE } from './data-table-foot.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'tfoot[luDataTableFoot]',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dataTable-foot',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_DATA_TABLE_FOOT_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => DataTableFootComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DataTableFootComponent {}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, contentChildren, forwardRef, input, signal, ViewEncapsulation } from '@angular/core';\n\nimport { DataTableRowCellHeaderComponent } from '../data-table-cell-header/data-table-cell-header.component';\nimport { LU_DATA_TABLE_HEAD_INSTANCE } from './data-table-head.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'thead[luDataTableHead]',\n\ttemplate: '<ng-content />',\n\tstyleUrl: './data-table-head.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dataTable-head',\n\t\t'[class.mod-sticky]': 'sticky()',\n\t\t'[class.is-firstBodyRowVisible]': 'isFirstVisible()',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_DATA_TABLE_HEAD_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => DataTableHeadComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DataTableHeadComponent {\n\treadonly sticky = input(false, { transform: booleanAttribute });\n\treadonly isFirstVisible = signal(false);\n\n\tcols = contentChildren(DataTableRowCellHeaderComponent, { descendants: true });\n}\n","export const Translations = {\n\t'nl-BE': {\n\t\tmove: 'Verplaatsen',\n\t},\n\tfr: {\n\t\tmove: 'Déplacer',\n\t},\n\tde: {\n\t\tmove: 'Verschieben',\n\t},\n\ten: {\n\t\tmove: 'Move',\n\t},\n\tes: {\n\t\tmove: 'Desplazar',\n\t},\n\tit: {\n\t\tmove: 'Spostare',\n\t},\n\tnl: {\n\t\tmove: 'Verplaatsen',\n\t},\n\tpt: {\n\t\tmove: 'Mover',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_DATA_TABLE_TRANSLATIONS = new InjectionToken('LuDataTableTranslations', {\n\tfactory: () => luDataTableTranslations,\n});\n\nexport interface LuDataTableTranslations {\n\tmove: string;\n}\n\nexport const luDataTableTranslations: LuTranslation<LuDataTableTranslations> = Translations;\n","import { CdkDragHandle } from '@angular/cdk/drag-drop';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, contentChildren, ElementRef, forwardRef, inject, input, model, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { FormFieldComponent } from '@lucca-front/ng/form-field';\nimport { CheckboxInputComponent } from '@lucca-front/ng/forms';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LU_DATA_TABLE_BODY_INSTANCE } from '../data-table-body/data-table-body.token';\nimport { LU_DATA_TABLE_CELL_INSTANCE } from '../data-table-cell.token';\nimport { LU_DATA_TABLE_FOOT_INSTANCE } from '../data-table-foot/data-table-foot.token';\nimport { LU_DATA_TABLE_HEAD_INSTANCE } from '../data-table-head/data-table-head.token';\nimport { LU_DATA_TABLE_INSTANCE } from '../data-table.token';\nimport { LU_DATA_TABLE_TRANSLATIONS } from '../data-table.translate';\nimport { LU_DATA_TABLE_ROW_INSTANCE } from './data-table-row.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'tr[luDataTableRow]',\n\ttemplateUrl: './data-table-row.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\t'[class.dataTable-body-row]': 'bodyRef !== null',\n\t\t'[class.dataTable-head-row]': 'headRef !== null',\n\t\t'[class.dataTable-foot-row]': 'footRef !== null',\n\t\t'[class.mod-selectable]': 'tableRef.selectable() ?? false',\n\t\t'[class.mod-draggable]': 'tableRef.drag() ?? false',\n\t},\n\timports: [CheckboxInputComponent, FormFieldComponent, FormsModule, NgTemplateOutlet, IconComponent, CdkDragHandle],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_DATA_TABLE_ROW_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => DataTableRowComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DataTableRowComponent {\n\tintl = getIntl(LU_DATA_TABLE_TRANSLATIONS);\n\tbodyRef = inject(LU_DATA_TABLE_BODY_INSTANCE, { optional: true });\n\theadRef = inject(LU_DATA_TABLE_HEAD_INSTANCE, { optional: true });\n\tfootRef = inject(LU_DATA_TABLE_FOOT_INSTANCE, { optional: true });\n\n\telementRef = inject<ElementRef<Element>>(ElementRef);\n\n\tpublic readonly cells = contentChildren(LU_DATA_TABLE_CELL_INSTANCE);\n\n\tprotected tableRef = inject(LU_DATA_TABLE_INSTANCE, { optional: true });\n\n\tselected = model<boolean>(false);\n\treadonly selectedLabel = input<string | null>(null);\n\treadonly disabled = input(false, { transform: booleanAttribute });\n}\n","@if (tableRef.drag()) {\n\t<td class=\"dataTable-body-row-cell\" aria-hidden=\"true\">\n\t\t@if (bodyRef) {\n\t\t\t<span class=\"button dataTable-body-row-cell-drag\" cdkDragHandle>\n\t\t\t\t<lu-icon icon=\"dotsDrag\" [alt]=\"intl.move\" />\n\t\t\t</span>\n\t\t}\n\t</td>\n}\n\n@if (tableRef.selectable()) {\n\t@if (headRef) {\n\t\t<th class=\"dataTable-head-row-cell\" scope=\"col\"><ng-container *ngTemplateOutlet=\"input\" /></th>\n\t} @else {\n\t\t<td [class.dataTable-body-row-cell]=\"bodyRef !== null\" [class.dataTable-foot-row-cell]=\"footRef !== null\">\n\t\t\t<ng-container *ngTemplateOutlet=\"input\" />\n\t\t</td>\n\t}\n}\n<ng-content />\n\n<ng-template #input>\n\t@if (!footRef && selectedLabel()) {\n\t\t<lu-form-field [label]=\"selectedLabel()\" hiddenLabel>\n\t\t\t<lu-checkbox-input [(ngModel)]=\"selected\" [disabled]=\"disabled()\" />\n\t\t</lu-form-field>\n\t}\n</ng-template>\n","import {\n\tafterNextRender,\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tcontentChild,\n\tcontentChildren,\n\tElementRef,\n\tforwardRef,\n\tinject,\n\tinput,\n\tnumberAttribute,\n\tOnInit,\n\tsignal,\n\tviewChild,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { ResponsiveConfig, ɵeffectWithDeps } from '@lucca-front/ng/core';\nimport { DataTableHeadComponent } from './data-table-head/data-table-head.component';\nimport { DataTableRowComponent } from './data-table-row/data-table-row.component';\nimport { LU_DATA_TABLE_INSTANCE } from './data-table.token';\n\n@Component({\n\tselector: 'lu-data-table',\n\ttemplateUrl: './data-table.component.html',\n\tstyleUrl: './data-table.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dataTableWrapper',\n\t\t'[class.mod-nested]': 'this.nested()',\n\t\t'[class.mod-noOverflow]': 'this.noOverflow()',\n\t\t'(scroll)': 'scroll()',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_DATA_TABLE_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => DataTableComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DataTableComponent implements OnInit {\n\t#elementRef = inject<ElementRef<Element>>(ElementRef);\n\ttableRef = viewChild<ElementRef<Element>>('tableRef');\n\n\treadonly hover = input(false, { transform: booleanAttribute });\n\treadonly selectable = input(false, { transform: booleanAttribute });\n\treadonly layoutFixed = input(false, { transform: booleanAttribute });\n\treadonly cellBorder = input(false, { transform: booleanAttribute });\n\treadonly nested = input(false, { transform: booleanAttribute });\n\treadonly drag = input(false, { transform: booleanAttribute });\n\treadonly noOverflow = input(false, { transform: booleanAttribute });\n\n\treadonly responsive = input<ResponsiveConfig<'layoutFixed', true>>({});\n\n\treadonly verticalAlign = input<null | 'top' | 'middle' | 'bottom'>(null);\n\n\treadonly rows = contentChildren(DataTableRowComponent, { descendants: true });\n\treadonly header = contentChild(DataTableHeadComponent, { descendants: true });\n\n\treadonly stickyHeader = computed(() => this.header().sticky());\n\n\treadonly stickyColsStart = input(0, { transform: numberAttribute });\n\treadonly stickyColsEnd = input(0, { transform: numberAttribute });\n\n\tfirstColumnVisibleAfterColsStart = signal(true);\n\tlastColumnVisibleBeforeColsEnd = signal(false);\n\n\tfirstColumnVisible = signal(true);\n\tlastColumnVisible = signal(false);\n\n\tfirstRowVisible = signal(true);\n\tlastRowVisible = signal(false);\n\n\treadonly cols = computed(() => this.header().cols());\n\n\treadonly classMods = computed(() => {\n\t\treturn {\n\t\t\tdataTable: true,\n\t\t\t['mod-stickyHeader']: this.stickyHeader(),\n\t\t\t['mod-hover']: this.hover(),\n\t\t\t['mod-cellBorder']: this.cellBorder(),\n\t\t\t['mod-verticalAlignTop']: this.verticalAlign() === 'top',\n\t\t\t['mod-verticalAlignMiddle']: this.verticalAlign() === 'middle',\n\t\t\t['mod-verticalAlignBottom']: this.verticalAlign() === 'bottom',\n\t\t\t['mod-columnsOverflow']: this.stickyColsStart() || this.stickyColsEnd(),\n\t\t\t['is-firstColumnVisible']: this.stickyColsStart() || this.firstColumnVisible(),\n\t\t\t['is-lastColumnVisible']: this.stickyColsEnd() || this.lastColumnVisible(),\n\t\t\t['is-firstColumnVisibleAfterColsStart']: this.firstColumnVisibleAfterColsStart(),\n\t\t\t['is-lastColumnVisibleBeforeColsEnd']: this.lastColumnVisibleBeforeColsEnd(),\n\t\t\t['is-firstRowVisible']: this.firstRowVisible(),\n\t\t\t['is-lastRowVisible']: this.lastRowVisible(),\n\t\t\t['mod-layoutFixed']: this.layoutFixed(),\n\t\t\t...Object.entries(this.responsive()).reduce((acc, [key, value]) => {\n\t\t\t\treturn {\n\t\t\t\t\t...acc,\n\t\t\t\t\t[`mod-${key}`]: value,\n\t\t\t\t};\n\t\t\t}, {}),\n\t\t};\n\t});\n\n\tscroll() {\n\t\tthis.header().isFirstVisible.set(this.#elementRef.nativeElement.scrollTop === 0);\n\n\t\tthis.firstRowVisible.set(this.#elementRef.nativeElement.scrollTop === 0);\n\t\tthis.lastRowVisible.set(this.#elementRef.nativeElement.scrollTop >= this.#elementRef.nativeElement.scrollHeight - this.#elementRef.nativeElement.clientHeight);\n\n\t\tthis.firstColumnVisibleAfterColsStart.set(this.#elementRef.nativeElement.scrollLeft === 0);\n\t\tthis.lastColumnVisibleBeforeColsEnd.set(this.#elementRef.nativeElement.scrollLeft >= this.#elementRef.nativeElement.scrollWidth - this.#elementRef.nativeElement.clientWidth);\n\n\t\tthis.firstColumnVisible.set(this.#elementRef.nativeElement.scrollLeft === 0);\n\t\tthis.lastColumnVisible.set(this.#elementRef.nativeElement.scrollLeft >= this.#elementRef.nativeElement.scrollWidth - this.#elementRef.nativeElement.clientWidth);\n\t}\n\n\tconstructor() {\n\t\tɵeffectWithDeps([this.rows], () => this.scroll());\n\n\t\tafterNextRender(() => {\n\t\t\tthis.scroll();\n\t\t});\n\t}\n\n\tngOnInit(): void {\n\t\tnew ResizeObserver(() => {\n\t\t\tthis.scroll();\n\t\t}).observe(this.tableRef().nativeElement);\n\t}\n}\n","<div class=\"dataTableShadows\">\n\t<table [class]=\"classMods()\" #tableRef>\n\t\t<ng-content />\n\t</table>\n\t<div class=\"dataTableWrapper-pagination\">\n\t\t<ng-content select=\"[dataTablePagination]\" />\n\t</div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵeffectWithDeps"],"mappings":"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"}