@yuuvis/client-framework 2.20.1 → 3.0.0-beta.20.0

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 (379) hide show
  1. package/actions/index.d.ts +230 -9
  2. package/app-bar/index.d.ts +50 -1
  3. package/autocomplete/index.d.ts +89 -3
  4. package/breadcrumb/index.d.ts +112 -2
  5. package/clipboard/index.d.ts +19 -1
  6. package/common/index.d.ts +536 -7
  7. package/datepicker/index.d.ts +380 -6
  8. package/fesm2022/yuuvis-client-framework-actions.mjs +31 -32
  9. package/fesm2022/yuuvis-client-framework-actions.mjs.map +1 -1
  10. package/fesm2022/yuuvis-client-framework-app-bar.mjs +14 -17
  11. package/fesm2022/yuuvis-client-framework-app-bar.mjs.map +1 -1
  12. package/fesm2022/yuuvis-client-framework-autocomplete.mjs +23 -23
  13. package/fesm2022/yuuvis-client-framework-autocomplete.mjs.map +1 -1
  14. package/fesm2022/yuuvis-client-framework-breadcrumb.mjs +7 -8
  15. package/fesm2022/yuuvis-client-framework-breadcrumb.mjs.map +1 -1
  16. package/fesm2022/yuuvis-client-framework-clipboard.mjs +8 -10
  17. package/fesm2022/yuuvis-client-framework-clipboard.mjs.map +1 -1
  18. package/fesm2022/yuuvis-client-framework-common.mjs +191 -234
  19. package/fesm2022/yuuvis-client-framework-common.mjs.map +1 -1
  20. package/fesm2022/yuuvis-client-framework-datepicker.mjs +110 -145
  21. package/fesm2022/yuuvis-client-framework-datepicker.mjs.map +1 -1
  22. package/fesm2022/yuuvis-client-framework-forms.mjs +283 -250
  23. package/fesm2022/yuuvis-client-framework-forms.mjs.map +1 -1
  24. package/fesm2022/yuuvis-client-framework-icons.mjs +18 -19
  25. package/fesm2022/yuuvis-client-framework-icons.mjs.map +1 -1
  26. package/fesm2022/yuuvis-client-framework-list.mjs +59 -57
  27. package/fesm2022/yuuvis-client-framework-list.mjs.map +1 -1
  28. package/fesm2022/yuuvis-client-framework-master-details.mjs +23 -18
  29. package/fesm2022/yuuvis-client-framework-master-details.mjs.map +1 -1
  30. package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs +7 -9
  31. package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs.map +1 -1
  32. package/fesm2022/yuuvis-client-framework-metadata-form.mjs +32 -32
  33. package/fesm2022/yuuvis-client-framework-metadata-form.mjs.map +1 -1
  34. package/fesm2022/yuuvis-client-framework-object-details.mjs +129 -120
  35. package/fesm2022/yuuvis-client-framework-object-details.mjs.map +1 -1
  36. package/fesm2022/yuuvis-client-framework-object-flavor.mjs +67 -59
  37. package/fesm2022/yuuvis-client-framework-object-flavor.mjs.map +1 -1
  38. package/fesm2022/yuuvis-client-framework-object-form.mjs +58 -60
  39. package/fesm2022/yuuvis-client-framework-object-form.mjs.map +1 -1
  40. package/fesm2022/yuuvis-client-framework-object-preview.mjs +64 -47
  41. package/fesm2022/yuuvis-client-framework-object-preview.mjs.map +1 -1
  42. package/fesm2022/yuuvis-client-framework-object-relationship.mjs +206 -183
  43. package/fesm2022/yuuvis-client-framework-object-relationship.mjs.map +1 -1
  44. package/fesm2022/yuuvis-client-framework-object-summary.mjs +42 -42
  45. package/fesm2022/yuuvis-client-framework-object-summary.mjs.map +1 -1
  46. package/fesm2022/yuuvis-client-framework-object-versions.mjs +28 -29
  47. package/fesm2022/yuuvis-client-framework-object-versions.mjs.map +1 -1
  48. package/fesm2022/yuuvis-client-framework-overflow-hidden.mjs +10 -10
  49. package/fesm2022/yuuvis-client-framework-overflow-hidden.mjs.map +1 -1
  50. package/fesm2022/yuuvis-client-framework-overflow-menu.mjs +16 -16
  51. package/fesm2022/yuuvis-client-framework-overflow-menu.mjs.map +1 -1
  52. package/fesm2022/yuuvis-client-framework-pagination.mjs +7 -8
  53. package/fesm2022/yuuvis-client-framework-pagination.mjs.map +1 -1
  54. package/fesm2022/yuuvis-client-framework-popout.mjs +55 -57
  55. package/fesm2022/yuuvis-client-framework-popout.mjs.map +1 -1
  56. package/fesm2022/yuuvis-client-framework-query-list.mjs +29 -29
  57. package/fesm2022/yuuvis-client-framework-query-list.mjs.map +1 -1
  58. package/fesm2022/yuuvis-client-framework-renderer.mjs +71 -68
  59. package/fesm2022/yuuvis-client-framework-renderer.mjs.map +1 -1
  60. package/fesm2022/yuuvis-client-framework-sequence-list.mjs +20 -25
  61. package/fesm2022/yuuvis-client-framework-sequence-list.mjs.map +1 -1
  62. package/fesm2022/yuuvis-client-framework-simple-search.mjs +31 -33
  63. package/fesm2022/yuuvis-client-framework-simple-search.mjs.map +1 -1
  64. package/fesm2022/yuuvis-client-framework-sort.mjs +57 -37
  65. package/fesm2022/yuuvis-client-framework-sort.mjs.map +1 -1
  66. package/fesm2022/yuuvis-client-framework-split-view.mjs +39 -38
  67. package/fesm2022/yuuvis-client-framework-split-view.mjs.map +1 -1
  68. package/fesm2022/yuuvis-client-framework-tile-list.mjs +119 -121
  69. package/fesm2022/yuuvis-client-framework-tile-list.mjs.map +1 -1
  70. package/fesm2022/yuuvis-client-framework-token-search.mjs +22 -22
  71. package/fesm2022/yuuvis-client-framework-token-search.mjs.map +1 -1
  72. package/fesm2022/yuuvis-client-framework-tree.mjs +32 -44
  73. package/fesm2022/yuuvis-client-framework-tree.mjs.map +1 -1
  74. package/fesm2022/yuuvis-client-framework-upload-progress.mjs +22 -26
  75. package/fesm2022/yuuvis-client-framework-upload-progress.mjs.map +1 -1
  76. package/fesm2022/yuuvis-client-framework-widget-grid.mjs +80 -77
  77. package/fesm2022/yuuvis-client-framework-widget-grid.mjs.map +1 -1
  78. package/fesm2022/yuuvis-client-framework.mjs +23 -23
  79. package/fesm2022/yuuvis-client-framework.mjs.map +1 -1
  80. package/forms/index.d.ts +633 -13
  81. package/icons/index.d.ts +79 -4
  82. package/index.d.ts +909 -6
  83. package/list/index.d.ts +380 -4
  84. package/master-details/index.d.ts +69 -3
  85. package/metadata-form/index.d.ts +189 -6
  86. package/metadata-form-defaults/index.d.ts +14 -2
  87. package/object-details/index.d.ts +321 -9
  88. package/object-flavor/index.d.ts +86 -6
  89. package/object-form/index.d.ts +288 -4
  90. package/object-preview/index.d.ts +82 -2
  91. package/object-relationship/index.d.ts +120 -5
  92. package/object-summary/index.d.ts +105 -4
  93. package/object-versions/index.d.ts +43 -2
  94. package/overflow-hidden/index.d.ts +28 -2
  95. package/overflow-menu/index.d.ts +52 -3
  96. package/package.json +12 -12
  97. package/pagination/index.d.ts +31 -2
  98. package/popout/index.d.ts +106 -5
  99. package/query-list/index.d.ts +497 -2
  100. package/renderer/index.d.ts +117 -10
  101. package/sequence-list/index.d.ts +60 -2
  102. package/simple-search/index.d.ts +57 -1
  103. package/sort/index.d.ts +36 -2
  104. package/split-view/index.d.ts +197 -4
  105. package/tile-list/index.d.ts +789 -10
  106. package/token-search/index.d.ts +72 -3
  107. package/tree/index.d.ts +68 -2
  108. package/upload-progress/index.d.ts +44 -2
  109. package/widget-grid/index.d.ts +299 -7
  110. package/actions/lib/actions/copy-action/copy-action.d.ts +0 -17
  111. package/actions/lib/actions/cut-action/cut-action.d.ts +0 -17
  112. package/actions/lib/actions/delete-action/delete/delete.component.d.ts +0 -22
  113. package/actions/lib/actions/delete-action/delete-action.d.ts +0 -18
  114. package/actions/lib/actions/download-action/download-action.d.ts +0 -17
  115. package/actions/lib/actions.icon.d.ts +0 -7
  116. package/actions/lib/actions.interface.d.ts +0 -86
  117. package/actions/lib/actions.module.d.ts +0 -11
  118. package/actions/lib/actions.service.d.ts +0 -58
  119. package/actions/lib/components/contextmenu/contextmenu.component.d.ts +0 -16
  120. package/actions/lib/components/contextmenu/contextmenu.model.d.ts +0 -9
  121. package/actions/lib/components/contextmenu/contextmenuTrigger.directive.d.ts +0 -12
  122. package/app-bar/lib/app-bar.component.d.ts +0 -47
  123. package/autocomplete/lib/autocomplete.component.d.ts +0 -74
  124. package/autocomplete/lib/autocomplete.interface.d.ts +0 -4
  125. package/autocomplete/lib/autocomplete.module.d.ts +0 -7
  126. package/breadcrumb/lib/breadcrumb/breadcrumb.component.d.ts +0 -94
  127. package/breadcrumb/lib/models/breadcrumb-item.model.d.ts +0 -14
  128. package/breadcrumb/lib/models/index.d.ts +0 -1
  129. package/clipboard/lib/clipboard.component.d.ts +0 -16
  130. package/common/lib/common.module.d.ts +0 -21
  131. package/common/lib/common.utils.d.ts +0 -2
  132. package/common/lib/components/busy-overlay/busy-overlay.component.d.ts +0 -9
  133. package/common/lib/components/busy-overlay/busy-overlay.interface.d.ts +0 -4
  134. package/common/lib/components/confirm/confirm.component.d.ts +0 -8
  135. package/common/lib/components/confirm/confirm.interface.d.ts +0 -9
  136. package/common/lib/components/confirm/confirm.service.d.ts +0 -9
  137. package/common/lib/components/dialog/dialog.component.d.ts +0 -10
  138. package/common/lib/components/dialog/dialog.options.d.ts +0 -7
  139. package/common/lib/components/halo-focus/halo-focus.component.d.ts +0 -5
  140. package/common/lib/components/index.d.ts +0 -8
  141. package/common/lib/components/retention-badge/retention-badge.component.d.ts +0 -9
  142. package/common/lib/components/scroll-buttons/scroll-buttons.component.d.ts +0 -25
  143. package/common/lib/directives/autofocus-child.directive.d.ts +0 -13
  144. package/common/lib/directives/autofocus-delayed.directive.d.ts +0 -18
  145. package/common/lib/directives/busy-overlay.directive.d.ts +0 -68
  146. package/common/lib/directives/click-double.directive.d.ts +0 -17
  147. package/common/lib/directives/container-size.directive.d.ts +0 -30
  148. package/common/lib/directives/drag-scroll.directive.d.ts +0 -20
  149. package/common/lib/directives/drag-select.directive.d.ts +0 -21
  150. package/common/lib/directives/file-drop-zone/file-drop-zone.directive.d.ts +0 -17
  151. package/common/lib/directives/file-drop-zone/file-drop-zone.interface.d.ts +0 -5
  152. package/common/lib/directives/focus-within.directive.d.ts +0 -36
  153. package/common/lib/directives/index.d.ts +0 -13
  154. package/common/lib/directives/light-dismiss.directive.d.ts +0 -19
  155. package/common/lib/directives/longpress.directive.d.ts +0 -13
  156. package/common/lib/directives/noop-value-accessor.directive.d.ts +0 -10
  157. package/common/lib/directives/scroll-buttons.directive.d.ts +0 -20
  158. package/common/lib/mat-form-field.abstract.d.ts +0 -41
  159. package/common/lib/services/file-drop/file-drop.service.d.ts +0 -7
  160. package/common/lib/services/form-translate/form-translate.service.d.ts +0 -15
  161. package/common/lib/services/index.d.ts +0 -4
  162. package/common/lib/services/layout-settings/layout-settings.interface.d.ts +0 -1
  163. package/common/lib/services/layout-settings/layout-settings.service.d.ts +0 -40
  164. package/common/lib/services/theme/index.d.ts +0 -3
  165. package/common/lib/services/theme/theme.models.d.ts +0 -16
  166. package/common/lib/services/theme/theme.provider.d.ts +0 -4
  167. package/common/lib/services/theme/theme.service.d.ts +0 -16
  168. package/datepicker/lib/calendar/calendar.component.d.ts +0 -70
  169. package/datepicker/lib/date-input/date-input-element/date-input-element.component.d.ts +0 -44
  170. package/datepicker/lib/date-input/date-input-hour-element/date-input-hour-element.component.d.ts +0 -11
  171. package/datepicker/lib/date-input/date-input.component.d.ts +0 -60
  172. package/datepicker/lib/datepicker-calendar/datepicker-calendar-trigger.component.d.ts +0 -7
  173. package/datepicker/lib/datepicker-calendar/datepicker-calendar.component.d.ts +0 -12
  174. package/datepicker/lib/datepicker.component.d.ts +0 -80
  175. package/datepicker/lib/datepicker.interface.d.ts +0 -34
  176. package/datepicker/lib/datepicker.module.d.ts +0 -9
  177. package/datepicker/lib/datepicker.service.d.ts +0 -46
  178. package/datepicker/lib/datepicker.utils.d.ts +0 -23
  179. package/datepicker/lib/time-input/time-input.component.d.ts +0 -32
  180. package/datepicker/lib/time-input/time-input.interface.d.ts +0 -6
  181. package/forms/lib/elements/catalog/catalog.component.d.ts +0 -34
  182. package/forms/lib/elements/data-grid/data-grid/data-grid.component.d.ts +0 -46
  183. package/forms/lib/elements/data-grid/edit-table-data/edit-data.component.d.ts +0 -22
  184. package/forms/lib/elements/data-grid/model/data-grid.interface.d.ts +0 -20
  185. package/forms/lib/elements/datetime/datetime.component.d.ts +0 -41
  186. package/forms/lib/elements/datetime-range/datetime-range.component.d.ts +0 -38
  187. package/forms/lib/elements/i18n-catalog/i18n-catalog.component.d.ts +0 -43
  188. package/forms/lib/elements/index.d.ts +0 -12
  189. package/forms/lib/elements/number/number.component.d.ts +0 -69
  190. package/forms/lib/elements/number-range/number-range.component.d.ts +0 -73
  191. package/forms/lib/elements/organization/organization.component.d.ts +0 -66
  192. package/forms/lib/elements/organization-set/organization-set.component.d.ts +0 -61
  193. package/forms/lib/elements/range-select-date/date-range-picker/date-range-picker.component.d.ts +0 -13
  194. package/forms/lib/elements/range-select-date/range-select-date.component.d.ts +0 -38
  195. package/forms/lib/elements/range-select-date/range-select-date.interface.d.ts +0 -5
  196. package/forms/lib/elements/range-select-filesize/range-select-filesize.component.d.ts +0 -33
  197. package/forms/lib/elements/range-select-filesize/range-select-filesize.interface.d.ts +0 -5
  198. package/forms/lib/elements/string/string.component.d.ts +0 -100
  199. package/forms/lib/forms.module.d.ts +0 -17
  200. package/forms/lib/forms.utils.d.ts +0 -4
  201. package/icons/lib/icon.component.d.ts +0 -24
  202. package/icons/lib/icon.service.d.ts +0 -39
  203. package/icons/lib/icons.d.ts +0 -1
  204. package/icons/lib/object-type-icon/object-type-icon.component.d.ts +0 -11
  205. package/lib/config/halo-focus-defaults/halo-excluded-elements.const.d.ts +0 -26
  206. package/lib/config/halo-focus-defaults/halo-focus-navigation-keys.const.d.ts +0 -25
  207. package/lib/config/halo-focus-defaults/halo-focus-offset.const.d.ts +0 -25
  208. package/lib/config/halo-focus-defaults/halo-focus-styles.const.d.ts +0 -26
  209. package/lib/config/halo-focus-defaults/index.d.ts +0 -4
  210. package/lib/config/index.d.ts +0 -2
  211. package/lib/config/session/index.d.ts +0 -3
  212. package/lib/config/session/session-activity-window-before-end.const.d.ts +0 -43
  213. package/lib/config/session/session-default-duration.const.d.ts +0 -47
  214. package/lib/config/session/session-popup-before-end.const.d.ts +0 -47
  215. package/lib/enums/channel-message.enum.d.ts +0 -4
  216. package/lib/enums/index.d.ts +0 -1
  217. package/lib/models/halo-focus-config/halo-focus-config.model.d.ts +0 -48
  218. package/lib/models/halo-focus-config/index.d.ts +0 -1
  219. package/lib/models/index.d.ts +0 -3
  220. package/lib/models/session/channel-payload.model.d.ts +0 -5
  221. package/lib/models/session/index.d.ts +0 -1
  222. package/lib/models/snack-bar/index.d.ts +0 -3
  223. package/lib/models/snack-bar/snack-bar-data.model.d.ts +0 -6
  224. package/lib/models/snack-bar/snack-bar-level.model.d.ts +0 -1
  225. package/lib/models/snack-bar/snack-bar-options.model.d.ts +0 -9
  226. package/lib/providers/halo-focus/index.d.ts +0 -1
  227. package/lib/providers/halo-focus/provide-halo-focus.d.ts +0 -62
  228. package/lib/providers/index.d.ts +0 -2
  229. package/lib/providers/session/index.d.ts +0 -1
  230. package/lib/providers/session/provide-session.provider.d.ts +0 -43
  231. package/lib/services/halo-focus/halo-focus.service.d.ts +0 -95
  232. package/lib/services/halo-utility/halo-utility.service.d.ts +0 -245
  233. package/lib/services/index.d.ts +0 -4
  234. package/lib/services/session/session.service.d.ts +0 -113
  235. package/lib/services/snack-bar/snack-bar.service.d.ts +0 -22
  236. package/lib/yuuvis-client-framework.module.d.ts +0 -7
  237. package/list/lib/list-item.directive.d.ts +0 -40
  238. package/list/lib/list-tile/list-tile.component.d.ts +0 -14
  239. package/list/lib/list.component.d.ts +0 -320
  240. package/list/lib/list.module.d.ts +0 -9
  241. package/master-details/lib/master-details.component.d.ts +0 -52
  242. package/master-details/lib/master-details.interface.d.ts +0 -7
  243. package/master-details/lib/master-details.module.d.ts +0 -7
  244. package/metadata-form/lib/metadata-form-element-registry.service.d.ts +0 -60
  245. package/metadata-form/lib/metadata-form-field/metadata-form-field.component.d.ts +0 -25
  246. package/metadata-form/lib/metadata-form-field/metadata-form-field.interface.d.ts +0 -19
  247. package/metadata-form/lib/object-metadata-element-error.directive.d.ts +0 -17
  248. package/metadata-form/lib/object-metadata-element-label.directive.d.ts +0 -29
  249. package/metadata-form/lib/object-metadata-element-template.directive.d.ts +0 -45
  250. package/metadata-form-defaults/lib/metadata-default-templates/metadata-default-templates.component.d.ts +0 -5
  251. package/metadata-form-defaults/lib/metadata-form-defaults.module.d.ts +0 -7
  252. package/object-details/lib/object-audit/object-audit.component.d.ts +0 -49
  253. package/object-details/lib/object-details-header/object-details-header.component.d.ts +0 -43
  254. package/object-details/lib/object-details-shell/object-details-shell.component.d.ts +0 -34
  255. package/object-details/lib/object-details-shell/object-details-shell.service.d.ts +0 -14
  256. package/object-details/lib/object-details.component.d.ts +0 -47
  257. package/object-details/lib/object-details.module.d.ts +0 -12
  258. package/object-details/lib/object-metadata/form-section-group.pipe.d.ts +0 -8
  259. package/object-details/lib/object-metadata/object-metadata-section/object-metadata-section.component.d.ts +0 -19
  260. package/object-details/lib/object-metadata/object-metadata-section/object-metadata-section.interface.d.ts +0 -9
  261. package/object-details/lib/object-metadata/object-metadata.component.d.ts +0 -75
  262. package/object-details/lib/object-metadata/object-metadata.interface.d.ts +0 -26
  263. package/object-flavor/lib/abstract-apply-create-flavor/abstract-apply-create-flavor.component.d.ts +0 -11
  264. package/object-flavor/lib/abstract-apply-object-flavor/abstract-apply-object-flavor.component.d.ts +0 -13
  265. package/object-flavor/lib/default-apply-flavor/default-apply-flavor.component.d.ts +0 -19
  266. package/object-flavor/lib/flavor-chip/flavor-chip.component.d.ts +0 -13
  267. package/object-flavor/lib/object-flavor/object-flavor.component.d.ts +0 -23
  268. package/object-flavor/lib/object-flavor-picker/object-flavor-picker.component.d.ts +0 -10
  269. package/object-form/lib/form-scripting.api.interface.d.ts +0 -131
  270. package/object-form/lib/form-scripting.service.d.ts +0 -30
  271. package/object-form/lib/object-form-element/object-form-element.component.d.ts +0 -23
  272. package/object-form/lib/object-form-extension.interface.d.ts +0 -22
  273. package/object-form/lib/object-form-group/object-form-group.component.d.ts +0 -20
  274. package/object-form/lib/object-form-script/form-scripting-element-extension/form-scripting-element-extension.component.d.ts +0 -10
  275. package/object-form/lib/object-form-script/object-form-script.service.d.ts +0 -45
  276. package/object-form/lib/object-form-script/object-form-scripting-scope.d.ts +0 -50
  277. package/object-form/lib/object-form.component.d.ts +0 -61
  278. package/object-form/lib/object-form.interface.d.ts +0 -69
  279. package/object-form/lib/object-form.module.d.ts +0 -7
  280. package/object-form/lib/object-form.service.d.ts +0 -41
  281. package/object-form/lib/object-form.utils.d.ts +0 -20
  282. package/object-form/lib/object-form.validation.d.ts +0 -21
  283. package/object-preview/lib/components/index.d.ts +0 -2
  284. package/object-preview/lib/components/object-email-preview/object-email-preview.component.d.ts +0 -16
  285. package/object-preview/lib/components/object-preview/object-preview.component.d.ts +0 -24
  286. package/object-preview/lib/services/object-preview.service.d.ts +0 -40
  287. package/object-relationship/lib/actions/add-relationship/add-relationship.component.d.ts +0 -37
  288. package/object-relationship/lib/actions/relationship-target-search/relationship-target-search.component.d.ts +0 -36
  289. package/object-relationship/lib/node-summary/node-summary.component.d.ts +0 -26
  290. package/object-relationship/lib/object-relationship-graph/object-relationship-graph.component.d.ts +0 -30
  291. package/object-relationship/lib/object-relationship-list/object-relationship-list-item/object-relationship-list-item.component.d.ts +0 -14
  292. package/object-relationship/lib/object-relationship-list/object-relationship-list.component.d.ts +0 -13
  293. package/object-relationship/lib/object-relationship.component.d.ts +0 -28
  294. package/object-relationship/lib/object-relationship.const.d.ts +0 -10
  295. package/object-relationship/lib/object-relationship.interface.d.ts +0 -38
  296. package/object-relationship/lib/object-relationship.module.d.ts +0 -7
  297. package/object-relationship/lib/object-relationship.service.d.ts +0 -26
  298. package/object-summary/lib/multi-object-summary/multi-object-summary.component.d.ts +0 -7
  299. package/object-summary/lib/object-summary/object-summary.component.d.ts +0 -64
  300. package/object-summary/lib/object-summary-data/object-summary-data.component.d.ts +0 -28
  301. package/object-summary/lib/object-summary.module.d.ts +0 -9
  302. package/object-versions/lib/object-versions.component.d.ts +0 -34
  303. package/object-versions/lib/object-versions.module.d.ts +0 -7
  304. package/overflow-hidden/lib/overflow-hidden.component.d.ts +0 -19
  305. package/overflow-hidden/lib/overflow-hidden.module.d.ts +0 -7
  306. package/overflow-menu/lib/overflow-menu.component.d.ts +0 -33
  307. package/overflow-menu/lib/overflow-menu.interface.d.ts +0 -10
  308. package/overflow-menu/lib/overflow-menu.module.d.ts +0 -7
  309. package/pagination/lib/pagination.component.d.ts +0 -21
  310. package/pagination/lib/pagination.interface.d.ts +0 -5
  311. package/popout/lib/fullscreen.directive.d.ts +0 -4
  312. package/popout/lib/popout-trigger/popout-trigger.component.d.ts +0 -13
  313. package/popout/lib/popout.component.d.ts +0 -59
  314. package/popout/lib/popout.interface.d.ts +0 -24
  315. package/popout/lib/popout.module.d.ts +0 -9
  316. package/query-list/lib/query-list.component.d.ts +0 -488
  317. package/query-list/lib/query-list.module.d.ts +0 -7
  318. package/renderer/lib/property-renderer/abstract.renderer.d.ts +0 -14
  319. package/renderer/lib/property-renderer/boolean.renderer.component.d.ts +0 -6
  320. package/renderer/lib/property-renderer/datetime.renderer.d.ts +0 -6
  321. package/renderer/lib/property-renderer/decimal.renderer.component.d.ts +0 -6
  322. package/renderer/lib/property-renderer/filesize.renderer.component.d.ts +0 -7
  323. package/renderer/lib/property-renderer/icon.renderer.component.d.ts +0 -8
  324. package/renderer/lib/property-renderer/index.d.ts +0 -11
  325. package/renderer/lib/property-renderer/integer.renderer.component.d.ts +0 -6
  326. package/renderer/lib/property-renderer/organization.renderer.d.ts +0 -13
  327. package/renderer/lib/property-renderer/string.renderer.component.d.ts +0 -6
  328. package/renderer/lib/property-renderer/table.renderer.component.d.ts +0 -17
  329. package/renderer/lib/property-renderer/unknown.renderer.d.ts +0 -6
  330. package/renderer/lib/renderer.directive.d.ts +0 -13
  331. package/renderer/lib/services/renderer/renderer.interface.d.ts +0 -4
  332. package/renderer/lib/services/renderer/renderer.service.d.ts +0 -35
  333. package/sequence-list/lib/sequence-list.component.d.ts +0 -40
  334. package/sequence-list/lib/sequence-list.interface.d.ts +0 -17
  335. package/simple-search/lib/models/index.d.ts +0 -1
  336. package/simple-search/lib/models/object-type-aggregation.model.d.ts +0 -14
  337. package/simple-search/lib/simple-search/simple-search.component.d.ts +0 -40
  338. package/sort/lib/sort/models/index.d.ts +0 -1
  339. package/sort/lib/sort/models/sort.interface.d.ts +0 -7
  340. package/sort/lib/sort/sort.component.d.ts +0 -25
  341. package/split-view/lib/split-area-cover.directive.d.ts +0 -15
  342. package/split-view/lib/split-area.directive.d.ts +0 -21
  343. package/split-view/lib/split-view.component.d.ts +0 -159
  344. package/split-view/lib/split-view.interface.d.ts +0 -11
  345. package/split-view/lib/split-view.module.d.ts +0 -8
  346. package/tile-list/lib/tile-actions-menu/tile-actions-menu.component.d.ts +0 -11
  347. package/tile-list/lib/tile-config/action-select/action-select.component.d.ts +0 -13
  348. package/tile-list/lib/tile-config/icon-select/icon-select.component.d.ts +0 -11
  349. package/tile-list/lib/tile-config/property-select/property-select.component.d.ts +0 -26
  350. package/tile-list/lib/tile-config/tile-config-tile/tile-config-tile.component.d.ts +0 -20
  351. package/tile-list/lib/tile-config/tile-config-trigger/tile-config-trigger.component.d.ts +0 -17
  352. package/tile-list/lib/tile-config/tile-config.component.d.ts +0 -48
  353. package/tile-list/lib/tile-extension/directive/tile-extension.directive.d.ts +0 -11
  354. package/tile-list/lib/tile-extension/extensions/email.extension.d.ts +0 -10
  355. package/tile-list/lib/tile-extension/tile-extension.service.d.ts +0 -16
  356. package/tile-list/lib/tile-list/tile-list.component.d.ts +0 -637
  357. package/tile-list/lib/tile-list/tile-list.interface.d.ts +0 -18
  358. package/token-search/lib/token-search.component.d.ts +0 -35
  359. package/token-search/lib/token-search.interface.d.ts +0 -27
  360. package/token-search/lib/token-search.module.d.ts +0 -7
  361. package/tree/lib/tree-node/tree-node.component.d.ts +0 -21
  362. package/tree/lib/tree.component.d.ts +0 -53
  363. package/tree/lib/tree.interface.d.ts +0 -11
  364. package/tree/lib/tree.service.d.ts +0 -35
  365. package/upload-progress/lib/upload-progress/upload-progress-overlay/upload-progress-overlay.component.d.ts +0 -12
  366. package/upload-progress/lib/upload-progress/upload-progress.component.d.ts +0 -33
  367. package/upload-progress/lib/upload-progress/upload-progress.module.d.ts +0 -7
  368. package/widget-grid/lib/widget-grid-event.service.d.ts +0 -10
  369. package/widget-grid/lib/widget-grid-registry.service.d.ts +0 -81
  370. package/widget-grid/lib/widget-grid-workspaces/widget-grid-workspaces.component.d.ts +0 -53
  371. package/widget-grid/lib/widget-grid-workspaces/widget-grid-workspaces.interface.d.ts +0 -17
  372. package/widget-grid/lib/widget-grid-workspaces/workspace-edit/workspace-edit.component.d.ts +0 -10
  373. package/widget-grid/lib/widget-grid.component.d.ts +0 -52
  374. package/widget-grid/lib/widget-grid.interface.d.ts +0 -51
  375. package/widget-grid/lib/widget-grid.module.d.ts +0 -8
  376. package/widget-grid/lib/widget-grid.service.d.ts +0 -45
  377. package/widget-grid/lib/widget-grid.utils.d.ts +0 -18
  378. package/widget-grid/lib/widget-picker/widget-picker.component.d.ts +0 -38
  379. package/widget-grid/lib/widgets/noop/noop.component.d.ts +0 -7
@@ -1,21 +1,20 @@
1
- import * as i1$2 from '@angular/common';
2
- import { CommonModule, NgClass } from '@angular/common';
1
+ import * as i1$3 from '@angular/common';
2
+ import { NgClass, CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { inject, signal, input, forwardRef, ChangeDetectionStrategy, Component, ChangeDetectorRef, ElementRef, computed, linkedSignal, effect, untracked, DestroyRef, viewChild, Input, output, NgModule } from '@angular/core';
4
+ import { inject, signal, input, forwardRef, ChangeDetectionStrategy, Component, ChangeDetectorRef, ElementRef, computed, linkedSignal, effect, untracked, DestroyRef, viewChild, output, Input, NgModule } from '@angular/core';
5
5
  import * as i1 from '@angular/forms';
6
6
  import { FormBuilder, Validators, ReactiveFormsModule, NG_VALUE_ACCESSOR, NG_VALIDATORS, FormControl, FormGroup, FormsModule } from '@angular/forms';
7
7
  import { MatButtonModule } from '@angular/material/button';
8
8
  import { MAT_DIALOG_DATA, MatDialogRef, MatDialogModule, MatDialog } from '@angular/material/dialog';
9
- import * as i3 from '@angular/material/icon';
9
+ import * as i2 from '@angular/material/icon';
10
10
  import { MatIconModule } from '@angular/material/icon';
11
- import * as i2$1 from '@angular/material/menu';
11
+ import * as i1$1 from '@angular/material/menu';
12
12
  import { MatMenuModule, MatMenuTrigger } from '@angular/material/menu';
13
- import * as i4 from '@angular/material/table';
13
+ import * as i3 from '@angular/material/table';
14
14
  import { MatTableModule } from '@angular/material/table';
15
- import * as i5 from '@angular/material/tooltip';
15
+ import * as i4 from '@angular/material/tooltip';
16
16
  import { MatTooltipModule } from '@angular/material/tooltip';
17
- import * as i2 from '@yuuvis/client-core';
18
- import { SystemService, Situation, TranslateModule, TranslateService, Operator, OperatorLabel, Utils, LocaleNumberPipe, FileSizePipe, Classification, IdmService, UserService, SearchUtils, LocaleDatePipe, ClassificationPrefix } from '@yuuvis/client-core';
17
+ import { SystemService, Situation, TranslatePipe, TranslateService, Operator, OperatorLabel, Utils, LocaleNumberPipe, FileSizePipe, Classification, IdmService, UserService, SearchUtils, LocaleDatePipe, ClassificationPrefix } from '@yuuvis/client-core';
19
18
  import { YUV_ICONS } from '@yuuvis/client-framework/icons';
20
19
  import { MetadataFormFieldComponent, ObjectMetadataElementLabelDirective } from '@yuuvis/client-framework/metadata-form';
21
20
  import { RendererDirective } from '@yuuvis/client-framework/renderer';
@@ -26,17 +25,17 @@ import { FormTranslateService, DialogComponent, AbstractMatFormField, injectNgCo
26
25
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
27
26
  import { MatDatepickerModule } from '@angular/material/datepicker';
28
27
  import { MatInputModule } from '@angular/material/input';
29
- import { TranslateService as TranslateService$1, TranslateModule as TranslateModule$1 } from '@ngx-translate/core';
30
- import * as i2$2 from '@yuuvis/client-framework/datepicker';
28
+ import { TranslateService as TranslateService$1, TranslatePipe as TranslatePipe$1 } from '@ngx-translate/core';
29
+ import * as i2$1 from '@yuuvis/client-framework/datepicker';
31
30
  import { DatepickerComponent, YuvDatepickerModule } from '@yuuvis/client-framework/datepicker';
32
- import * as i1$1 from '@angular/material/select';
31
+ import * as i1$2 from '@angular/material/select';
33
32
  import { MatSelectModule } from '@angular/material/select';
34
33
  import * as i3$1 from '@yuuvis/client-framework/autocomplete';
35
34
  import { YuvAutocompleteModule } from '@yuuvis/client-framework/autocomplete';
36
35
  import { map as map$1, catchError } from 'rxjs/operators';
37
36
  import { marker } from '@colsen1991/ngx-translate-extract-marker';
38
37
  import { ENTER, COMMA } from '@angular/cdk/keycodes';
39
- import * as i1$3 from '@angular/material/chips';
38
+ import * as i1$4 from '@angular/material/chips';
40
39
  import { MatChipsModule } from '@angular/material/chips';
41
40
 
42
41
  class EditTableDataComponent {
@@ -46,9 +45,9 @@ class EditTableDataComponent {
46
45
  this.#errorMessage = inject(FormTranslateService);
47
46
  this.#dialogData = inject(MAT_DIALOG_DATA);
48
47
  this.#dialogRef = inject((MatDialogRef));
49
- this.errorMessage = signal(null);
48
+ this.errorMessage = signal(null, ...(ngDevMode ? [{ debugName: "errorMessage" }] : []));
50
49
  this.tableForm = this.#fb.group({});
51
- this.isInnerTableForm = input(true);
50
+ this.isInnerTableForm = input(true, ...(ngDevMode ? [{ debugName: "isInnerTableForm" }] : []));
52
51
  this.formElement = this.#dialogData.formElement || {};
53
52
  this.columns = (this.formElement['elements'] || []).map((c) => ({
54
53
  ...c,
@@ -84,7 +83,9 @@ class EditTableDataComponent {
84
83
  this.tableForm.valueChanges.subscribe((v) => {
85
84
  this.errorMessage.set(this.tableForm.errors
86
85
  ? Object.keys(this.tableForm.errors).map((key) => this.tableForm.errors && this.tableForm.errors[key]
87
- ? Object.keys(this.tableForm.errors[key]).map((k) => ({ [key]: this.#errorMessage.getErrorLabel(k, key) }))
86
+ ? Object.keys(this.tableForm.errors[key]).map((k) => ({
87
+ [key]: this.#errorMessage.getErrorLabel(k, key)
88
+ }))
88
89
  : null)
89
90
  : null);
90
91
  });
@@ -112,26 +113,25 @@ class EditTableDataComponent {
112
113
  return Object.keys(errors).length ? errors : null;
113
114
  };
114
115
  }
115
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: EditTableDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
116
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: EditTableDataComponent, isStandalone: true, selector: "yuv-edit-table-data", inputs: { isInnerTableForm: { classPropertyName: "isInnerTableForm", publicName: "isInnerTableForm", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
116
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: EditTableDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
117
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: EditTableDataComponent, isStandalone: true, selector: "yuv-edit-table-data", inputs: { isInnerTableForm: { classPropertyName: "isInnerTableForm", publicName: "isInnerTableForm", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
117
118
  {
118
119
  provide: NG_VALUE_ACCESSOR,
119
120
  useExisting: forwardRef(() => EditTableDataComponent),
120
121
  multi: true
121
122
  }
122
- ], ngImport: i0, template: "<yuv-dialog [headertitle]=\"(adding ? 'yuv.form.element.data.grid.add.headline' : 'yuv.form.element.data.grid.edit.headline') | translate: { headline: header }\">\n <main>\n <div [formGroup]=\"tableForm\">\n <div class=\"fields\">\n @for (element of columns; track $index) {\n <div [attr.data-name]=\"element.name\" class=\"form-field\">\n <yuv-metadata-form-field [field]=\"element\" [formControlName]=\"element.name\" [situation]=\"situation\"></yuv-metadata-form-field>\n </div>\n }\n </div>\n </div>\n </main>\n\n <footer>\n <button ymtButton=\"secondary\" (click)=\"cancel()\">{{ 'yuv.form.element.data.grid.edit.cancel' | translate }}</button>\n <button ymtButton=\"primary\" (click)=\"submit()\" [disabled]=\"!tableForm.dirty || !tableForm.valid\">\n @if (adding) {\n {{ 'yuv.form.element.data.grid.edit.add' | translate }}\n } @else {\n {{ 'yuv.object-metadata.button.save' | translate }}\n }\n </button>\n </footer>\n</yuv-dialog>\n", styles: [":host .fields{padding:var(--ymt-spacing-m)}:host .fields .form-field:not(:last-child){margin-block-end:var(--ymt-spacing-s)}:host .err-msg{font:var(--ymt-font-body-subtle);color:var(--ymt-danger);padding:var(--ymt-spacing-2xs) 0;border:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: DialogComponent, selector: "yuv-dialog", inputs: ["headertitle", "headertitel"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: MetadataFormFieldComponent, selector: "yuv-metadata-form-field", inputs: ["formChangedSubject", "field", "situation"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "directive", type: YmtButtonDirective, selector: "button[ymtButton], a[ymtButton]", inputs: ["ymtButton", "disabled", "aria-disabled", "disableRipple", "disabledInteractive", "button-size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
123
+ ], ngImport: i0, template: "<yuv-dialog [headertitle]=\"(adding ? 'yuv.form.element.data.grid.add.headline' : 'yuv.form.element.data.grid.edit.headline') | translate: { headline: header }\">\n <main>\n <div [formGroup]=\"tableForm\">\n <div class=\"fields\">\n @for (element of columns; track $index) {\n <div [attr.data-name]=\"element.name\" class=\"form-field\">\n <yuv-metadata-form-field [field]=\"element\" [formControlName]=\"element.name\" [situation]=\"situation\"></yuv-metadata-form-field>\n </div>\n }\n </div>\n </div>\n </main>\n\n <footer>\n <button ymtButton=\"secondary\" (click)=\"cancel()\">{{ 'yuv.form.element.data.grid.edit.cancel' | translate }}</button>\n <button ymtButton=\"primary\" (click)=\"submit()\" [disabled]=\"!tableForm.dirty || !tableForm.valid\">\n @if (adding) {\n {{ 'yuv.form.element.data.grid.edit.add' | translate }}\n } @else {\n {{ 'yuv.object-metadata.button.save' | translate }}\n }\n </button>\n </footer>\n</yuv-dialog>\n", styles: [":host .fields{padding:var(--ymt-spacing-m)}:host .fields .form-field:not(:last-child){margin-block-end:var(--ymt-spacing-s)}:host .err-msg{font:var(--ymt-font-body-subtle);color:var(--ymt-danger);padding:var(--ymt-spacing-2xs) 0;border:0}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: DialogComponent, selector: "yuv-dialog", inputs: ["headertitle", "headertitel"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: MetadataFormFieldComponent, selector: "yuv-metadata-form-field", inputs: ["formChangedSubject", "field", "situation"] }, { kind: "directive", type: YmtButtonDirective, selector: "button[ymtButton], a[ymtButton]", inputs: ["ymtButton", "disabled", "aria-disabled", "disableRipple", "disabledInteractive", "button-size"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
123
124
  }
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: EditTableDataComponent, decorators: [{
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: EditTableDataComponent, decorators: [{
125
126
  type: Component,
126
127
  args: [{ selector: 'yuv-edit-table-data', standalone: true, imports: [
127
- CommonModule,
128
128
  ReactiveFormsModule,
129
129
  DialogComponent,
130
130
  MatDialogModule,
131
131
  MatButtonModule,
132
132
  MatFormFieldModule,
133
133
  MetadataFormFieldComponent,
134
- TranslateModule,
134
+ TranslatePipe,
135
135
  YmtButtonDirective
136
136
  ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
137
137
  {
@@ -140,7 +140,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
140
140
  multi: true
141
141
  }
142
142
  ], template: "<yuv-dialog [headertitle]=\"(adding ? 'yuv.form.element.data.grid.add.headline' : 'yuv.form.element.data.grid.edit.headline') | translate: { headline: header }\">\n <main>\n <div [formGroup]=\"tableForm\">\n <div class=\"fields\">\n @for (element of columns; track $index) {\n <div [attr.data-name]=\"element.name\" class=\"form-field\">\n <yuv-metadata-form-field [field]=\"element\" [formControlName]=\"element.name\" [situation]=\"situation\"></yuv-metadata-form-field>\n </div>\n }\n </div>\n </div>\n </main>\n\n <footer>\n <button ymtButton=\"secondary\" (click)=\"cancel()\">{{ 'yuv.form.element.data.grid.edit.cancel' | translate }}</button>\n <button ymtButton=\"primary\" (click)=\"submit()\" [disabled]=\"!tableForm.dirty || !tableForm.valid\">\n @if (adding) {\n {{ 'yuv.form.element.data.grid.edit.add' | translate }}\n } @else {\n {{ 'yuv.object-metadata.button.save' | translate }}\n }\n </button>\n </footer>\n</yuv-dialog>\n", styles: [":host .fields{padding:var(--ymt-spacing-m)}:host .fields .form-field:not(:last-child){margin-block-end:var(--ymt-spacing-s)}:host .err-msg{font:var(--ymt-font-body-subtle);color:var(--ymt-danger);padding:var(--ymt-spacing-2xs) 0;border:0}\n"] }]
143
- }] });
143
+ }], propDecorators: { isInnerTableForm: [{ type: i0.Input, args: [{ isSignal: true, alias: "isInnerTableForm", required: false }] }] } });
144
144
 
145
145
  var DataGridSizeType;
146
146
  (function (DataGridSizeType) {
@@ -159,21 +159,23 @@ class DataGridComponent {
159
159
  this.translate = inject(TranslateService);
160
160
  this.#cdRef = inject(ChangeDetectorRef);
161
161
  this.el = inject((ElementRef));
162
- this.situation = input(Situation.EDIT);
163
- this.formElement = input(undefined);
164
- this.mappedFormElement = signal(undefined);
165
- this.formControl = input(undefined);
166
- this.classifications = input([]);
167
- this.readonly = input(false);
162
+ this.situation = input(Situation.EDIT, ...(ngDevMode ? [{ debugName: "situation" }] : []));
163
+ this.formElement = input(undefined, ...(ngDevMode ? [{ debugName: "formElement" }] : []));
164
+ this.mappedFormElement = signal(undefined, ...(ngDevMode ? [{ debugName: "mappedFormElement" }] : []));
165
+ this.formControl = input(undefined, ...(ngDevMode ? [{ debugName: "formControl" }] : []));
166
+ this.classifications = input([], ...(ngDevMode ? [{ debugName: "classifications" }] : []));
167
+ this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
168
168
  // context to also apply form labels state (e.g. dirty, error) to the data grid label
169
- this.formFieldContext = input();
170
- this.size = input(DataGridSizeType.AUTO);
171
- this.dataSource = signal([]);
169
+ this.formFieldContext = input(...(ngDevMode ? [undefined, { debugName: "formFieldContext" }] : []));
170
+ this.size = input(DataGridSizeType.AUTO, ...(ngDevMode ? [{ debugName: "size" }] : []));
171
+ this.dataSource = signal([], ...(ngDevMode ? [{ debugName: "dataSource" }] : []));
172
172
  this.tableLabel = computed(() => {
173
173
  const formElement = this.formElement();
174
- return formElement ? this.#systemService.getLocalizedResource(`${formElement['name']}_label`) : formElement && formElement['label'];
175
- });
176
- this.selectedRow = signal(null);
174
+ return formElement
175
+ ? this.#systemService.getLocalizedResource(`${formElement['name']}_label`)
176
+ : formElement && formElement['label'];
177
+ }, ...(ngDevMode ? [{ debugName: "tableLabel" }] : []));
178
+ this.selectedRow = signal(null, ...(ngDevMode ? [{ debugName: "selectedRow" }] : []));
177
179
  this.isRequired = false;
178
180
  this.isInvalid = false;
179
181
  this.initalTableUpdate = true;
@@ -181,21 +183,30 @@ class DataGridComponent {
181
183
  add: YUV_ICONS.add,
182
184
  more: YUV_ICONS.more
183
185
  };
184
- this.displayedColumnsWithActions = linkedSignal({
185
- source: this.readonly,
186
- computation: (readonly, previous) => {
187
- if (readonly) {
188
- const idx = (previous?.value || []).findIndex((c) => c === 'actions');
189
- if (idx && idx > -1)
190
- (previous?.value || []).splice(idx, 1);
186
+ this.displayedColumnsWithActions = linkedSignal(...(ngDevMode ? [{ debugName: "displayedColumnsWithActions", source: this.readonly,
187
+ computation: (readonly, previous) => {
188
+ if (readonly) {
189
+ const idx = (previous?.value || []).findIndex((c) => c === 'actions');
190
+ if (idx && idx > -1)
191
+ (previous?.value || []).splice(idx, 1);
192
+ }
193
+ return previous ? previous.value : [];
194
+ } }] : [{
195
+ source: this.readonly,
196
+ computation: (readonly, previous) => {
197
+ if (readonly) {
198
+ const idx = (previous?.value || []).findIndex((c) => c === 'actions');
199
+ if (idx && idx > -1)
200
+ (previous?.value || []).splice(idx, 1);
201
+ }
202
+ return previous ? previous.value : [];
191
203
  }
192
- return previous ? previous.value : [];
193
- }
194
- });
195
- this.displayedColumns = linkedSignal({
196
- source: this.readonly,
197
- computation: (readonly, previous) => (readonly ? (previous?.value || []).filter((c) => c.columnDef !== 'actions') : previous?.value || [])
198
- });
204
+ }]));
205
+ this.displayedColumns = linkedSignal(...(ngDevMode ? [{ debugName: "displayedColumns", source: this.readonly,
206
+ computation: (readonly, previous) => readonly ? (previous?.value || []).filter((c) => c.columnDef !== 'actions') : previous?.value || [] }] : [{
207
+ source: this.readonly,
208
+ computation: (readonly, previous) => readonly ? (previous?.value || []).filter((c) => c.columnDef !== 'actions') : previous?.value || []
209
+ }]));
199
210
  this.#loadData = effect(() => {
200
211
  const formElement = this.formElement();
201
212
  // if the form element is created from the ObjectTypeField it contains 'columnDefinitions' instead of 'elements'
@@ -224,12 +235,12 @@ class DataGridComponent {
224
235
  return row;
225
236
  });
226
237
  untracked(() => formElement && this.#updateTable(elements, data));
227
- });
238
+ }, ...(ngDevMode ? [{ debugName: "#loadData" }] : []));
228
239
  this.#sourceData = effect(() => {
229
240
  const dataSource = this.dataSource();
230
241
  !this.initalTableUpdate && this.writeValue(dataSource.filter((row) => !row.isAddRow));
231
242
  this.initalTableUpdate = false;
232
- });
243
+ }, ...(ngDevMode ? [{ debugName: "#sourceData" }] : []));
233
244
  this.propagateChange = () => { };
234
245
  this.onTouched = () => { };
235
246
  }
@@ -264,7 +275,7 @@ class DataGridComponent {
264
275
  this.selectedRow.set(element);
265
276
  this.#openEditOverlay(element).subscribe((result) => {
266
277
  if (result) {
267
- const updatedData = this.dataSource().map((item) => (JSON.stringify(item) === JSON.stringify(element) ? result : item));
278
+ const updatedData = this.dataSource().map((item) => JSON.stringify(item) === JSON.stringify(element) ? result : item);
268
279
  const formElement = this.mappedFormElement();
269
280
  formElement && this.#updateTable(formElement['elements'], [...updatedData]);
270
281
  }
@@ -350,8 +361,8 @@ class DataGridComponent {
350
361
  return;
351
362
  this.onTouched();
352
363
  }
353
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DataGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
354
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: DataGridComponent, isStandalone: true, selector: "yuv-data-grid", inputs: { situation: { classPropertyName: "situation", publicName: "situation", isSignal: true, isRequired: false, transformFunction: null }, formElement: { classPropertyName: "formElement", publicName: "formElement", isSignal: true, isRequired: false, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: false, transformFunction: null }, classifications: { classPropertyName: "classifications", publicName: "classifications", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, formFieldContext: { classPropertyName: "formFieldContext", publicName: "formFieldContext", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "focusout": "onHostFocusOut($event)" }, classAttribute: "yuv-data-grid" }, providers: [
364
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: DataGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
365
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: DataGridComponent, isStandalone: true, selector: "yuv-data-grid", inputs: { situation: { classPropertyName: "situation", publicName: "situation", isSignal: true, isRequired: false, transformFunction: null }, formElement: { classPropertyName: "formElement", publicName: "formElement", isSignal: true, isRequired: false, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: false, transformFunction: null }, classifications: { classPropertyName: "classifications", publicName: "classifications", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, formFieldContext: { classPropertyName: "formFieldContext", publicName: "formFieldContext", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "focusout": "onHostFocusOut($event)" }, classAttribute: "yuv-data-grid" }, providers: [
355
366
  {
356
367
  provide: NG_VALUE_ACCESSOR,
357
368
  useExisting: forwardRef(() => DataGridComponent),
@@ -362,11 +373,18 @@ class DataGridComponent {
362
373
  useExisting: forwardRef(() => DataGridComponent),
363
374
  multi: true
364
375
  }
365
- ], ngImport: i0, template: "<fieldset [attr.aria-required]=\"isRequired\" [attr.aria-invalid]=\"isInvalid\">\n <legend class=\"ymt-hide-sr\">\n {{ tableLabel() }}\n @if (isRequired) {\n *\n }\n </legend>\n <header class=\"yuv-data-grid__header\">\n <span\n [yuvObjectMetadataElementLabel]=\"formFieldContext()\"\n class=\"yuv-data-grid__header-title label\"\n [ngClass]=\"{ 'yuv-data-grid__header-title--invalid': isInvalid }\"\n aria-hidden=\"true\"\n >\n {{ tableLabel() }}\n @if (isRequired) {\n *\n }\n </span>\n\n @if (!readonly()) {\n <button ymtIconButton (click)=\"addRow()\" class=\"yuv-data-grid__header-action\" [matTooltip]=\"'yuv.form.element.data.grid.add-row.button.tooltip' | translate\">\n <mat-icon>add</mat-icon>\n </button>\n }\n </header>\n\n @let displayedCol = displayedColumns();\n @let displayedColActions = displayedColumnsWithActions();\n @let data = dataSource();\n\n <div class=\"yuv-data-grid__table\" [ngClass]=\"size()\">\n <table mat-table [dataSource]=\"data\" class=\"mat-elevation-z8\">\n <caption class=\"ymt-hide-sr\">\n {{\n tableLabel()\n }}\n </caption>\n\n @for (column of displayedCol; track column) {\n @if (column.columnDef === 'actions') {\n <!-- <h1>Actions</h1> -->\n <ng-container [matColumnDef]=\"column.columnDef\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef aria-label=\"row actions\"></th>\n <td class=\"yuv-data-grid__cell--editable\" mat-cell *matCellDef=\"let element\">\n <div class=\"yuv-data-grid__table-actions\">\n <!-- Only show the button in the last (empty) row -->\n <button ymtIconButton icon-button-size=\"small\" class=\"table-options-menu-bar-item\" [matMenuTriggerFor]=\"menu\" (click)=\"onMenuTrigger(element)\" [matTooltip]=\"'yuv.form.element.data.grid.row.button.actions.tooltip' | translate\" >\n <mat-icon>more_vert</mat-icon>\n </button>\n </div>\n </td>\n </ng-container>\n } @else {\n <ng-container [matColumnDef]=\"column.columnDef\">\n <th mat-header-cell *matHeaderCellDef [attr.aria-label]=\"column.header\" [title]=\"column.header\">{{ column.header }}</th>\n <td\n [ngClass]=\"{ 'number-cell': column.type === 'integer' || column.type === 'decimal', 'yuv-data-grid__cell--editable': !readonly() }\"\n mat-cell\n *matCellDef=\"let element\"\n >\n <ng-template *yuvRenderer=\"column.cell(element)\"></ng-template>\n </td>\n </ng-container>\n }\n\n <tr class=\"mat-row\" *matNoDataRow>\n <td class=\"mat-cell no-data-cell\" [attr.colspan]=\"column.length\"></td>\n </tr>\n }\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColActions; sticky: ['header-1']\"></tr>\n\n <tr (dblclick)=\"editRow(row)\" [class.selected-row]=\"row === selectedRow()\" mat-row *matRowDef=\"let row; columns: displayedColActions\"></tr>\n </table>\n @if (data.length === 0) {\n <span class=\"no-data\">{{ 'yuv.form.element.data.grid.noData' | translate }}</span>\n }\n </div>\n</fieldset>\n<mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"editRow(selectedRow())\">{{ 'yuv.form.element.data.grid.edit' | translate }}</button>\n <button mat-menu-item (click)=\"removeRow(selectedRow())\">{{ 'yuv.form.element.data.grid.remove' | translate }}</button>\n</mat-menu>\n", styles: [":host{--table-size-small: 200px;--table-size-medium: 400px;--table-size-large: 600px;--table-size-extra-large: 800px;max-width:100%;width:100%;border:1px solid var(--ymt-outline-variant);border-radius:var(--ymt-corner-s);overflow:hidden;position:relative}:host .yuv-data-grid__header{display:flex;justify-content:space-between;align-items:center;padding:var(--ymt-spacing-xs)}:host .yuv-data-grid__header-title{transform:scale(var(--mat-mdc-form-field-floating-label-scale, .75))}:host .yuv-data-grid__header-title--invalid{background-color:var(--ymt-danger-container);color:var(--ymt-on-danger-container);align-self:baseline}:host .yuv-data-grid__cell--editable{-webkit-user-select:none;user-select:none}:host .yuv-data-grid__table{overflow:auto;white-space:nowrap}:host .yuv-data-grid__table.small{height:var(--table-size-small)}:host .yuv-data-grid__table.medium{height:var(--table-size-medium)}:host .yuv-data-grid__table.large{height:var(--table-size-large)}:host .yuv-data-grid__table.extra-large{height:var(--table-size-extra-large)}:host .yuv-data-grid__table .no-data{display:block;width:100%;background-color:var(--ymt-surface);text-align:center;padding:var(--ymt-spacing-s);font:var(--ymt-font-body);color:var(--ymt-text-color-subtle);font-style:italic}:host .yuv-data-grid__table-actions{display:flex;align-items:center;justify-content:flex-end}:host.yuv-data-grid{display:block}:host.yuv-data-grid ::ng-deep tr.cdk-row td.number-cell{text-align:right}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i2$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i2$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i2$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i4.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i4.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i4.MatNoDataRow, selector: "ng-template[matNoDataRow]" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: RendererDirective, selector: "[yuvRenderer]", inputs: ["yuvRenderer"] }, { kind: "directive", type: ObjectMetadataElementLabelDirective, selector: "[yuvObjectMetadataElementLabel]", inputs: ["yuvObjectMetadataElementLabel"] }, { kind: "directive", type: YmtIconButtonDirective, selector: "button[ymtIconButton],button[ymt-icon-button],a[ymtIconButton],a[ymt-icon-button]", inputs: ["disabled", "disableRipple", "aria-disabled", "disabledInteractive", "icon-button-size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
376
+ ], ngImport: i0, template: "<fieldset [attr.aria-required]=\"isRequired\" [attr.aria-invalid]=\"isInvalid\">\n <legend class=\"ymt-hide-sr\">\n {{ tableLabel() }}\n @if (isRequired) {\n *\n }\n </legend>\n <header class=\"yuv-data-grid__header\">\n <span\n [yuvObjectMetadataElementLabel]=\"formFieldContext()\"\n class=\"yuv-data-grid__header-title label\"\n [ngClass]=\"{ 'yuv-data-grid__header-title--invalid': isInvalid }\"\n aria-hidden=\"true\"\n >\n {{ tableLabel() }}\n @if (isRequired) {\n *\n }\n </span>\n\n @if (!readonly()) {\n <button ymtIconButton (click)=\"addRow()\" class=\"yuv-data-grid__header-action\" [matTooltip]=\"'yuv.form.element.data.grid.add-row.button.tooltip' | translate\">\n <mat-icon>add</mat-icon>\n </button>\n }\n </header>\n\n @let displayedCol = displayedColumns();\n @let displayedColActions = displayedColumnsWithActions();\n @let data = dataSource();\n\n <div class=\"yuv-data-grid__table\" [ngClass]=\"size()\">\n <table mat-table [dataSource]=\"data\" class=\"mat-elevation-z8\">\n <caption class=\"ymt-hide-sr\">\n {{\n tableLabel()\n }}\n </caption>\n\n @for (column of displayedCol; track column) {\n @if (column.columnDef === 'actions') {\n <!-- <h1>Actions</h1> -->\n <ng-container [matColumnDef]=\"column.columnDef\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef aria-label=\"row actions\"></th>\n <td class=\"yuv-data-grid__cell--editable\" mat-cell *matCellDef=\"let element\">\n <div class=\"yuv-data-grid__table-actions\">\n <!-- Only show the button in the last (empty) row -->\n <button ymtIconButton icon-button-size=\"small\" class=\"table-options-menu-bar-item\" [matMenuTriggerFor]=\"menu\" (click)=\"onMenuTrigger(element)\" [matTooltip]=\"'yuv.form.element.data.grid.row.button.actions.tooltip' | translate\" >\n <mat-icon>more_vert</mat-icon>\n </button>\n </div>\n </td>\n </ng-container>\n } @else {\n <ng-container [matColumnDef]=\"column.columnDef\">\n <th mat-header-cell *matHeaderCellDef [attr.aria-label]=\"column.header\" [title]=\"column.header\">{{ column.header }}</th>\n <td\n [ngClass]=\"{ 'number-cell': column.type === 'integer' || column.type === 'decimal', 'yuv-data-grid__cell--editable': !readonly() }\"\n mat-cell\n *matCellDef=\"let element\"\n >\n <ng-template *yuvRenderer=\"column.cell(element)\"></ng-template>\n </td>\n </ng-container>\n }\n\n <tr class=\"mat-row\" *matNoDataRow>\n <td class=\"mat-cell no-data-cell\" [attr.colspan]=\"column.length\"></td>\n </tr>\n }\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColActions; sticky: ['header-1']\"></tr>\n\n <tr (dblclick)=\"editRow(row)\" [class.selected-row]=\"row === selectedRow()\" mat-row *matRowDef=\"let row; columns: displayedColActions\"></tr>\n </table>\n @if (data.length === 0) {\n <span class=\"no-data\">{{ 'yuv.form.element.data.grid.noData' | translate }}</span>\n }\n </div>\n</fieldset>\n<mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"editRow(selectedRow())\">{{ 'yuv.form.element.data.grid.edit' | translate }}</button>\n <button mat-menu-item (click)=\"removeRow(selectedRow())\">{{ 'yuv.form.element.data.grid.remove' | translate }}</button>\n</mat-menu>\n", styles: [":host{--table-size-small: 200px;--table-size-medium: 400px;--table-size-large: 600px;--table-size-extra-large: 800px;max-width:100%;width:100%;border:1px solid var(--ymt-outline-variant);border-radius:var(--ymt-corner-s);overflow:hidden;position:relative}:host .yuv-data-grid__header{display:flex;justify-content:space-between;align-items:center;padding:var(--ymt-spacing-xs)}:host .yuv-data-grid__header-title{transform:scale(var(--mat-mdc-form-field-floating-label-scale, .75))}:host .yuv-data-grid__header-title--invalid{background-color:var(--ymt-danger-container);color:var(--ymt-on-danger-container);align-self:baseline}:host .yuv-data-grid__cell--editable{-webkit-user-select:none;user-select:none}:host .yuv-data-grid__table{overflow:auto;white-space:nowrap}:host .yuv-data-grid__table.small{height:var(--table-size-small)}:host .yuv-data-grid__table.medium{height:var(--table-size-medium)}:host .yuv-data-grid__table.large{height:var(--table-size-large)}:host .yuv-data-grid__table.extra-large{height:var(--table-size-extra-large)}:host .yuv-data-grid__table .no-data{display:block;width:100%;background-color:var(--ymt-surface);text-align:center;padding:var(--ymt-spacing-s);font:var(--ymt-font-body);color:var(--ymt-text-color-subtle);font-style:italic}:host .yuv-data-grid__table-actions{display:flex;align-items:center;justify-content:flex-end}:host.yuv-data-grid{display:block}:host.yuv-data-grid ::ng-deep tr.cdk-row td.number-cell{text-align:right}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i1$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i1$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i1$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i3.MatNoDataRow, selector: "ng-template[matNoDataRow]" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: RendererDirective, selector: "[yuvRenderer]", inputs: ["yuvRenderer"] }, { kind: "directive", type: ObjectMetadataElementLabelDirective, selector: "[yuvObjectMetadataElementLabel]", inputs: ["yuvObjectMetadataElementLabel"] }, { kind: "directive", type: YmtIconButtonDirective, selector: "button[ymtIconButton],button[ymt-icon-button],a[ymtIconButton],a[ymt-icon-button]", inputs: ["disabled", "disableRipple", "aria-disabled", "disabledInteractive", "icon-button-size"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
366
377
  }
367
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DataGridComponent, decorators: [{
378
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: DataGridComponent, decorators: [{
368
379
  type: Component,
369
- args: [{ selector: 'yuv-data-grid', standalone: true, imports: [NgClass, TranslateModule, ...MATERIAL, RendererDirective, ObjectMetadataElementLabelDirective, YmtIconButtonDirective], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
380
+ args: [{ selector: 'yuv-data-grid', standalone: true, imports: [
381
+ NgClass,
382
+ TranslatePipe,
383
+ ...MATERIAL,
384
+ RendererDirective,
385
+ ObjectMetadataElementLabelDirective,
386
+ YmtIconButtonDirective
387
+ ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
370
388
  {
371
389
  provide: NG_VALUE_ACCESSOR,
372
390
  useExisting: forwardRef(() => DataGridComponent),
@@ -381,7 +399,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
381
399
  class: 'yuv-data-grid',
382
400
  '(focusout)': 'onHostFocusOut($event)'
383
401
  }, template: "<fieldset [attr.aria-required]=\"isRequired\" [attr.aria-invalid]=\"isInvalid\">\n <legend class=\"ymt-hide-sr\">\n {{ tableLabel() }}\n @if (isRequired) {\n *\n }\n </legend>\n <header class=\"yuv-data-grid__header\">\n <span\n [yuvObjectMetadataElementLabel]=\"formFieldContext()\"\n class=\"yuv-data-grid__header-title label\"\n [ngClass]=\"{ 'yuv-data-grid__header-title--invalid': isInvalid }\"\n aria-hidden=\"true\"\n >\n {{ tableLabel() }}\n @if (isRequired) {\n *\n }\n </span>\n\n @if (!readonly()) {\n <button ymtIconButton (click)=\"addRow()\" class=\"yuv-data-grid__header-action\" [matTooltip]=\"'yuv.form.element.data.grid.add-row.button.tooltip' | translate\">\n <mat-icon>add</mat-icon>\n </button>\n }\n </header>\n\n @let displayedCol = displayedColumns();\n @let displayedColActions = displayedColumnsWithActions();\n @let data = dataSource();\n\n <div class=\"yuv-data-grid__table\" [ngClass]=\"size()\">\n <table mat-table [dataSource]=\"data\" class=\"mat-elevation-z8\">\n <caption class=\"ymt-hide-sr\">\n {{\n tableLabel()\n }}\n </caption>\n\n @for (column of displayedCol; track column) {\n @if (column.columnDef === 'actions') {\n <!-- <h1>Actions</h1> -->\n <ng-container [matColumnDef]=\"column.columnDef\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef aria-label=\"row actions\"></th>\n <td class=\"yuv-data-grid__cell--editable\" mat-cell *matCellDef=\"let element\">\n <div class=\"yuv-data-grid__table-actions\">\n <!-- Only show the button in the last (empty) row -->\n <button ymtIconButton icon-button-size=\"small\" class=\"table-options-menu-bar-item\" [matMenuTriggerFor]=\"menu\" (click)=\"onMenuTrigger(element)\" [matTooltip]=\"'yuv.form.element.data.grid.row.button.actions.tooltip' | translate\" >\n <mat-icon>more_vert</mat-icon>\n </button>\n </div>\n </td>\n </ng-container>\n } @else {\n <ng-container [matColumnDef]=\"column.columnDef\">\n <th mat-header-cell *matHeaderCellDef [attr.aria-label]=\"column.header\" [title]=\"column.header\">{{ column.header }}</th>\n <td\n [ngClass]=\"{ 'number-cell': column.type === 'integer' || column.type === 'decimal', 'yuv-data-grid__cell--editable': !readonly() }\"\n mat-cell\n *matCellDef=\"let element\"\n >\n <ng-template *yuvRenderer=\"column.cell(element)\"></ng-template>\n </td>\n </ng-container>\n }\n\n <tr class=\"mat-row\" *matNoDataRow>\n <td class=\"mat-cell no-data-cell\" [attr.colspan]=\"column.length\"></td>\n </tr>\n }\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColActions; sticky: ['header-1']\"></tr>\n\n <tr (dblclick)=\"editRow(row)\" [class.selected-row]=\"row === selectedRow()\" mat-row *matRowDef=\"let row; columns: displayedColActions\"></tr>\n </table>\n @if (data.length === 0) {\n <span class=\"no-data\">{{ 'yuv.form.element.data.grid.noData' | translate }}</span>\n }\n </div>\n</fieldset>\n<mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"editRow(selectedRow())\">{{ 'yuv.form.element.data.grid.edit' | translate }}</button>\n <button mat-menu-item (click)=\"removeRow(selectedRow())\">{{ 'yuv.form.element.data.grid.remove' | translate }}</button>\n</mat-menu>\n", styles: [":host{--table-size-small: 200px;--table-size-medium: 400px;--table-size-large: 600px;--table-size-extra-large: 800px;max-width:100%;width:100%;border:1px solid var(--ymt-outline-variant);border-radius:var(--ymt-corner-s);overflow:hidden;position:relative}:host .yuv-data-grid__header{display:flex;justify-content:space-between;align-items:center;padding:var(--ymt-spacing-xs)}:host .yuv-data-grid__header-title{transform:scale(var(--mat-mdc-form-field-floating-label-scale, .75))}:host .yuv-data-grid__header-title--invalid{background-color:var(--ymt-danger-container);color:var(--ymt-on-danger-container);align-self:baseline}:host .yuv-data-grid__cell--editable{-webkit-user-select:none;user-select:none}:host .yuv-data-grid__table{overflow:auto;white-space:nowrap}:host .yuv-data-grid__table.small{height:var(--table-size-small)}:host .yuv-data-grid__table.medium{height:var(--table-size-medium)}:host .yuv-data-grid__table.large{height:var(--table-size-large)}:host .yuv-data-grid__table.extra-large{height:var(--table-size-extra-large)}:host .yuv-data-grid__table .no-data{display:block;width:100%;background-color:var(--ymt-surface);text-align:center;padding:var(--ymt-spacing-s);font:var(--ymt-font-body);color:var(--ymt-text-color-subtle);font-style:italic}:host .yuv-data-grid__table-actions{display:flex;align-items:center;justify-content:flex-end}:host.yuv-data-grid{display:block}:host.yuv-data-grid ::ng-deep tr.cdk-row td.number-cell{text-align:right}\n"] }]
384
- }] });
402
+ }], propDecorators: { situation: [{ type: i0.Input, args: [{ isSignal: true, alias: "situation", required: false }] }], formElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "formElement", required: false }] }], formControl: [{ type: i0.Input, args: [{ isSignal: true, alias: "formControl", required: false }] }], classifications: [{ type: i0.Input, args: [{ isSignal: true, alias: "classifications", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], formFieldContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "formFieldContext", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
385
403
 
386
404
  class FormUtils {
387
405
  static getErrorState(control) {
@@ -397,27 +415,27 @@ class DatetimeComponent extends AbstractMatFormField {
397
415
  this.pickerCmp = viewChild.required(DatepickerComponent);
398
416
  this.ngControl = injectNgControl(this);
399
417
  this.fc = new FormControl(null);
400
- this._locale = signal(this.translate.currentLang);
401
- this.locale = input(this.translate.currentLang);
418
+ this._locale = signal(this.translate.getCurrentLang(), ...(ngDevMode ? [{ debugName: "_locale" }] : []));
419
+ this.locale = input(this.translate.getCurrentLang(), ...(ngDevMode ? [{ debugName: "locale" }] : []));
402
420
  this.#localeEffect = effect(() => {
403
- this._locale.set(this.locale() || this.translate.currentLang);
404
- });
421
+ this._locale.set(this.locale() || this.translate.getCurrentLang());
422
+ }, ...(ngDevMode ? [{ debugName: "#localeEffect" }] : []));
405
423
  /**
406
424
  * Whether or not to allow only values in the future (default: false)
407
425
  */
408
- this.onlyFutureDates = input(false);
426
+ this.onlyFutureDates = input(false, ...(ngDevMode ? [{ debugName: "onlyFutureDates" }] : []));
409
427
  /**
410
428
  * Will prevent the input from being changed (default: false)
411
429
  */
412
- this.readonly = input(false);
430
+ this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
413
431
  /**
414
432
  * Whether to show the calendar icon that opens the date picker calendar (default: true)
415
433
  */
416
- this.calendar = input(true);
434
+ this.calendar = input(true, ...(ngDevMode ? [{ debugName: "calendar" }] : []));
417
435
  /**
418
436
  * Enables setting time as well (default: false)
419
437
  */
420
- this.withTime = input(false);
438
+ this.withTime = input(false, ...(ngDevMode ? [{ debugName: "withTime" }] : []));
421
439
  // eslint-disable-next-line @typescript-eslint/no-empty-function
422
440
  this.propagateChange = (_) => { };
423
441
  }
@@ -496,13 +514,13 @@ class DatetimeComponent extends AbstractMatFormField {
496
514
  }
497
515
  });
498
516
  }
499
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DatetimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
500
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", type: DatetimeComponent, isStandalone: true, selector: "yuv-datetime", inputs: { locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, onlyFutureDates: { classPropertyName: "onlyFutureDates", publicName: "onlyFutureDates", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, withTime: { classPropertyName: "withTime", publicName: "withTime", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: MatFormFieldControl, useExisting: DatetimeComponent }], viewQueries: [{ propertyName: "pickerCmp", first: true, predicate: DatepickerComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<yuv-datepicker\n [calendar]=\"calendar()\"\n [disabled]=\"readonly()\"\n [withTime]=\"withTime()\"\n [locale]=\"_locale()\"\n [labels]=\"labels!\"\n [onlyFutureDates]=\"onlyFutureDates()\"\n [formControl]=\"fc\"\n></yuv-datepicker>\n", styles: [":host{display:flex;overflow-x:auto;--ymt-scrollbar-outer-size: 0px;--ymt-scrollbar-inner-size: 0px}:host yuv-datepicker{flex:1}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: YuvDatepickerModule }, { kind: "component", type: i2$2.DatepickerComponent, selector: "yuv-datepicker", inputs: ["calendar", "readonly", "hour12", "locale", "labels", "withTime", "onlyFutureDates", "minDate", "maxDate", "disabled"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: MatDatepickerModule }] }); }
517
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: DatetimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
518
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.19", type: DatetimeComponent, isStandalone: true, selector: "yuv-datetime", inputs: { locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, onlyFutureDates: { classPropertyName: "onlyFutureDates", publicName: "onlyFutureDates", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, withTime: { classPropertyName: "withTime", publicName: "withTime", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: MatFormFieldControl, useExisting: DatetimeComponent }], viewQueries: [{ propertyName: "pickerCmp", first: true, predicate: DatepickerComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<yuv-datepicker\n [calendar]=\"calendar()\"\n [disabled]=\"readonly()\"\n [withTime]=\"withTime()\"\n [locale]=\"_locale()\"\n [labels]=\"labels!\"\n [onlyFutureDates]=\"onlyFutureDates()\"\n [formControl]=\"fc\"\n></yuv-datepicker>\n", styles: [":host{display:flex;overflow-x:auto;--ymt-scrollbar-outer-size: 0px;--ymt-scrollbar-inner-size: 0px}:host yuv-datepicker{flex:1}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: YuvDatepickerModule }, { kind: "component", type: i2$1.DatepickerComponent, selector: "yuv-datepicker", inputs: ["calendar", "readonly", "hour12", "locale", "labels", "withTime", "onlyFutureDates", "minDate", "maxDate", "disabled"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: MatDatepickerModule }] }); }
501
519
  }
502
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DatetimeComponent, decorators: [{
520
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: DatetimeComponent, decorators: [{
503
521
  type: Component,
504
522
  args: [{ selector: 'yuv-datetime', standalone: true, imports: [ReactiveFormsModule, YuvDatepickerModule, MatInputModule, MatDatepickerModule], providers: [{ provide: MatFormFieldControl, useExisting: DatetimeComponent }], template: "<yuv-datepicker\n [calendar]=\"calendar()\"\n [disabled]=\"readonly()\"\n [withTime]=\"withTime()\"\n [locale]=\"_locale()\"\n [labels]=\"labels!\"\n [onlyFutureDates]=\"onlyFutureDates()\"\n [formControl]=\"fc\"\n></yuv-datepicker>\n", styles: [":host{display:flex;overflow-x:auto;--ymt-scrollbar-outer-size: 0px;--ymt-scrollbar-inner-size: 0px}:host yuv-datepicker{flex:1}\n"] }]
505
- }] });
523
+ }], propDecorators: { pickerCmp: [{ type: i0.ViewChild, args: [i0.forwardRef(() => DatepickerComponent), { isSignal: true }] }], locale: [{ type: i0.Input, args: [{ isSignal: true, alias: "locale", required: false }] }], onlyFutureDates: [{ type: i0.Input, args: [{ isSignal: true, alias: "onlyFutureDates", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], calendar: [{ type: i0.Input, args: [{ isSignal: true, alias: "calendar", required: false }] }], withTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "withTime", required: false }] }] } });
506
524
 
507
525
  class DatetimeRangeComponent extends AbstractMatFormField {
508
526
  constructor() {
@@ -511,17 +529,17 @@ class DatetimeRangeComponent extends AbstractMatFormField {
511
529
  /**
512
530
  * Enables setting time as well (default: false)
513
531
  */
514
- this.withTimeInput = input(false, { alias: 'withTime' });
515
- this.withTime = linkedSignal(this.withTimeInput);
532
+ this.withTimeInput = input(false, ...(ngDevMode ? [{ debugName: "withTimeInput", alias: 'withTime' }] : [{ alias: 'withTime' }]));
533
+ this.withTime = linkedSignal(this.withTimeInput, ...(ngDevMode ? [{ debugName: "withTime" }] : []));
516
534
  /**
517
535
  * Will prevent the input from being changed (default: false)
518
536
  */
519
- this.readonly = input(false);
537
+ this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
520
538
  // TODO: this should be set by the form and not by the consumer of the component,
521
539
  // otherwise there would be two sources of truth for the situation (one in the form and one in the component)
522
540
  // also not used!!!!
523
- this.operator = input(Operator.EQUAL);
524
- this.situation = input();
541
+ this.operator = input(Operator.EQUAL, ...(ngDevMode ? [{ debugName: "operator" }] : []));
542
+ this.situation = input(...(ngDevMode ? [undefined, { debugName: "situation" }] : []));
525
543
  this._isValid = true;
526
544
  this.ngControl = injectNgControl(this);
527
545
  // options for search situation
@@ -660,13 +678,13 @@ class DatetimeRangeComponent extends AbstractMatFormField {
660
678
  ngOnDestroy() {
661
679
  super.onNgOnDestroy();
662
680
  }
663
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DatetimeRangeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
664
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: DatetimeRangeComponent, isStandalone: true, selector: "yuv-datetime-range", inputs: { withTimeInput: { classPropertyName: "withTimeInput", publicName: "withTime", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, operator: { classPropertyName: "operator", publicName: "operator", isSignal: true, isRequired: false, transformFunction: null }, situation: { classPropertyName: "situation", publicName: "situation", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: MatFormFieldControl, useExisting: DatetimeRangeComponent }], usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"rangeForm\">\n @if (rangeForm.value.operator === 'gtelte') {\n <yuv-datetime [withTime]=\"withTime()\" formControlName=\"dateValueFrom\"></yuv-datetime>\n }\n\n <mat-select [panelWidth]=\"null\" [hideSingleSelectionIndicator]=\"true\" formControlName=\"operator\" [disabled]=\"readonly()\">\n @for (o of availableSearchOptions; track $index) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n </mat-select>\n\n <yuv-datetime [withTime]=\"withTime()\" formControlName=\"dateValue\"></yuv-datetime>\n</form>\n", styles: [":host form{display:flex;flex-flow:row nowrap;align-items:center;gap:var(--ymt-spacing-s)}:host form yuv-datetime{flex:1 1 auto}:host form mat-select{padding:0;width:calc(2ch + 1em);border-radius:2px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i1$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i1$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: DatetimeComponent, selector: "yuv-datetime", inputs: ["locale", "onlyFutureDates", "readonly", "calendar", "withTime"] }] }); }
681
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: DatetimeRangeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
682
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: DatetimeRangeComponent, isStandalone: true, selector: "yuv-datetime-range", inputs: { withTimeInput: { classPropertyName: "withTimeInput", publicName: "withTime", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, operator: { classPropertyName: "operator", publicName: "operator", isSignal: true, isRequired: false, transformFunction: null }, situation: { classPropertyName: "situation", publicName: "situation", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: MatFormFieldControl, useExisting: DatetimeRangeComponent }], usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"rangeForm\">\n @if (rangeForm.value.operator === 'gtelte') {\n <yuv-datetime [withTime]=\"withTime()\" formControlName=\"dateValueFrom\"></yuv-datetime>\n }\n\n <mat-select [panelWidth]=\"null\" [hideSingleSelectionIndicator]=\"true\" formControlName=\"operator\" [disabled]=\"readonly()\">\n @for (o of availableSearchOptions; track $index) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n </mat-select>\n\n <yuv-datetime [withTime]=\"withTime()\" formControlName=\"dateValue\"></yuv-datetime>\n</form>\n", styles: [":host form{display:flex;flex-flow:row nowrap;align-items:center;gap:var(--ymt-spacing-s)}:host form yuv-datetime{flex:1 1 auto}:host form mat-select{padding:0;width:calc(2ch + 1em);border-radius:2px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i1$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i1$2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: DatetimeComponent, selector: "yuv-datetime", inputs: ["locale", "onlyFutureDates", "readonly", "calendar", "withTime"] }] }); }
665
683
  }
666
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DatetimeRangeComponent, decorators: [{
684
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: DatetimeRangeComponent, decorators: [{
667
685
  type: Component,
668
- args: [{ selector: 'yuv-datetime-range', standalone: true, imports: [CommonModule, FormsModule, MatDatepickerModule, MatSelectModule, ReactiveFormsModule, DatetimeComponent], providers: [{ provide: MatFormFieldControl, useExisting: DatetimeRangeComponent }], template: "<form [formGroup]=\"rangeForm\">\n @if (rangeForm.value.operator === 'gtelte') {\n <yuv-datetime [withTime]=\"withTime()\" formControlName=\"dateValueFrom\"></yuv-datetime>\n }\n\n <mat-select [panelWidth]=\"null\" [hideSingleSelectionIndicator]=\"true\" formControlName=\"operator\" [disabled]=\"readonly()\">\n @for (o of availableSearchOptions; track $index) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n </mat-select>\n\n <yuv-datetime [withTime]=\"withTime()\" formControlName=\"dateValue\"></yuv-datetime>\n</form>\n", styles: [":host form{display:flex;flex-flow:row nowrap;align-items:center;gap:var(--ymt-spacing-s)}:host form yuv-datetime{flex:1 1 auto}:host form mat-select{padding:0;width:calc(2ch + 1em);border-radius:2px}\n"] }]
669
- }] });
686
+ args: [{ selector: 'yuv-datetime-range', standalone: true, imports: [FormsModule, MatDatepickerModule, MatSelectModule, ReactiveFormsModule, DatetimeComponent], providers: [{ provide: MatFormFieldControl, useExisting: DatetimeRangeComponent }], template: "<form [formGroup]=\"rangeForm\">\n @if (rangeForm.value.operator === 'gtelte') {\n <yuv-datetime [withTime]=\"withTime()\" formControlName=\"dateValueFrom\"></yuv-datetime>\n }\n\n <mat-select [panelWidth]=\"null\" [hideSingleSelectionIndicator]=\"true\" formControlName=\"operator\" [disabled]=\"readonly()\">\n @for (o of availableSearchOptions; track $index) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n </mat-select>\n\n <yuv-datetime [withTime]=\"withTime()\" formControlName=\"dateValue\"></yuv-datetime>\n</form>\n", styles: [":host form{display:flex;flex-flow:row nowrap;align-items:center;gap:var(--ymt-spacing-s)}:host form yuv-datetime{flex:1 1 auto}:host form mat-select{padding:0;width:calc(2ch + 1em);border-radius:2px}\n"] }]
687
+ }], propDecorators: { withTimeInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "withTime", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], operator: [{ type: i0.Input, args: [{ isSignal: true, alias: "operator", required: false }] }], situation: [{ type: i0.Input, args: [{ isSignal: true, alias: "situation", required: false }] }] } });
670
688
 
671
689
  var _a;
672
690
  /**
@@ -691,46 +709,46 @@ class NumberComponent extends AbstractMatFormField {
691
709
  /**
692
710
  * Number of decimal places
693
711
  */
694
- this.scale = input(undefined);
695
- this.#scale = computed(() => Math.min(this.scale() || 0, 30));
712
+ this.scale = input(undefined, ...(ngDevMode ? [{ debugName: "scale" }] : []));
713
+ this.#scale = computed(() => Math.min(this.scale() || 0, 30), ...(ngDevMode ? [{ debugName: "#scale" }] : []));
696
714
  /**
697
715
  * Overall amount of digits allowed (including decimal places)
698
716
  */
699
- this.precision = input(undefined);
700
- this.#precision = computed(() => Math.min(this.precision() || 100, 100));
717
+ this.precision = input(undefined, ...(ngDevMode ? [{ debugName: "precision" }] : []));
718
+ this.#precision = computed(() => Math.min(this.precision() || 100, 100), ...(ngDevMode ? [{ debugName: "#precision" }] : []));
701
719
  /**
702
720
  * Set to true to group number by pattern
703
721
  */
704
- this.grouping = input(false);
705
- this.#grouping = computed(() => this.grouping() ?? true);
722
+ this.grouping = input(false, ...(ngDevMode ? [{ debugName: "grouping" }] : []));
723
+ this.#grouping = computed(() => this.grouping() ?? true, ...(ngDevMode ? [{ debugName: "#grouping" }] : []));
706
724
  /**
707
725
  * The pattern to group number value by
708
726
  */
709
- this.groupPattern = input(undefined);
727
+ this.groupPattern = input(undefined, ...(ngDevMode ? [{ debugName: "groupPattern" }] : []));
710
728
  /**
711
729
  * Will prevent the input from being changed (default: false)
712
730
  */
713
- this.readonly = input(false);
731
+ this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
714
732
  /**
715
733
  * set minimum input value
716
734
  */
717
- this.minValue = input(undefined);
735
+ this.minValue = input(undefined, ...(ngDevMode ? [{ debugName: "minValue" }] : []));
718
736
  /**
719
737
  * set maximum input value
720
738
  *
721
739
  */
722
- this.maxValue = input(undefined);
740
+ this.maxValue = input(undefined, ...(ngDevMode ? [{ debugName: "maxValue" }] : []));
723
741
  /**
724
742
  * classification property adds some semantics to the value of this component.
725
743
  * If you provide a value of `filesize` numbers typed into the control will be
726
744
  * handled like file sizes (calculates differnt units)
727
745
  */
728
- this.classifications = input([]);
746
+ this.classifications = input([], ...(ngDevMode ? [{ debugName: "classifications" }] : []));
729
747
  this.#classificationsEffect = effect(() => {
730
748
  const classifications = this.classifications();
731
749
  this.transformPipe =
732
750
  classifications && classifications.includes(Classification.NUMBER_FILESIZE) ? new FileSizePipe(this.translate) : new LocaleNumberPipe(this.translate);
733
- });
751
+ }, ...(ngDevMode ? [{ debugName: "#classificationsEffect" }] : []));
734
752
  // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function
735
753
  this.propagateChange = (_) => { };
736
754
  }
@@ -848,14 +866,14 @@ class NumberComponent extends AbstractMatFormField {
848
866
  ngOnDestroy() {
849
867
  super.onNgOnDestroy();
850
868
  }
851
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: NumberComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
852
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.20", type: NumberComponent, isStandalone: true, selector: "yuv-number", inputs: { scale: { classPropertyName: "scale", publicName: "scale", isSignal: true, isRequired: false, transformFunction: null }, precision: { classPropertyName: "precision", publicName: "precision", isSignal: true, isRequired: false, transformFunction: null }, grouping: { classPropertyName: "grouping", publicName: "grouping", isSignal: true, isRequired: false, transformFunction: null }, groupPattern: { classPropertyName: "groupPattern", publicName: "groupPattern", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: true, isRequired: false, transformFunction: null }, classifications: { classPropertyName: "classifications", publicName: "classifications", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: MatFormFieldControl, useExisting: NumberComponent }], usesInheritance: true, ngImport: i0, template: '<input type="string" [formControl]="innerCtrl" (focus)="unformat()" (blur)="format()" [readonly]="readonly()" />', isInline: true, styles: [":host{display:flex}:host input{width:100%;border:0;outline:0;background:transparent}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
869
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NumberComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
870
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.19", type: NumberComponent, isStandalone: true, selector: "yuv-number", inputs: { scale: { classPropertyName: "scale", publicName: "scale", isSignal: true, isRequired: false, transformFunction: null }, precision: { classPropertyName: "precision", publicName: "precision", isSignal: true, isRequired: false, transformFunction: null }, grouping: { classPropertyName: "grouping", publicName: "grouping", isSignal: true, isRequired: false, transformFunction: null }, groupPattern: { classPropertyName: "groupPattern", publicName: "groupPattern", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: true, isRequired: false, transformFunction: null }, classifications: { classPropertyName: "classifications", publicName: "classifications", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: MatFormFieldControl, useExisting: NumberComponent }], usesInheritance: true, ngImport: i0, template: '<input type="string" [formControl]="innerCtrl" (focus)="unformat()" (blur)="format()" [readonly]="readonly()" />', isInline: true, styles: [":host{display:flex}:host input{width:100%;border:0;outline:0;background:transparent}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
853
871
  }
854
872
  _a = NumberComponent;
855
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: NumberComponent, decorators: [{
873
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NumberComponent, decorators: [{
856
874
  type: Component,
857
875
  args: [{ selector: 'yuv-number', standalone: true, imports: [ReactiveFormsModule], template: '<input type="string" [formControl]="innerCtrl" (focus)="unformat()" (blur)="format()" [readonly]="readonly()" />', providers: [{ provide: MatFormFieldControl, useExisting: NumberComponent }], styles: [":host{display:flex}:host input{width:100%;border:0;outline:0;background:transparent}\n"] }]
858
- }] });
876
+ }], propDecorators: { scale: [{ type: i0.Input, args: [{ isSignal: true, alias: "scale", required: false }] }], precision: [{ type: i0.Input, args: [{ isSignal: true, alias: "precision", required: false }] }], grouping: [{ type: i0.Input, args: [{ isSignal: true, alias: "grouping", required: false }] }], groupPattern: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupPattern", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], minValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "minValue", required: false }] }], maxValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxValue", required: false }] }], classifications: [{ type: i0.Input, args: [{ isSignal: true, alias: "classifications", required: false }] }] } });
859
877
 
860
878
  /**
861
879
  * Creates form input for ranges of numeric values.
@@ -870,21 +888,42 @@ class NumberRangeComponent extends AbstractMatFormField {
870
888
  constructor() {
871
889
  super(...arguments);
872
890
  this.#dRef = inject(DestroyRef);
891
+ /**
892
+ * Number of decimal places
893
+ */
894
+ this.scale = input(undefined, ...(ngDevMode ? [{ debugName: "scale" }] : []));
895
+ /**
896
+ * Overall amount of digits allowed (including decimal places)
897
+ */
898
+ this.precision = input(undefined, ...(ngDevMode ? [{ debugName: "precision" }] : []));
873
899
  /**
874
900
  * Set to true to group number by pattern
875
901
  */
876
- this.grouping = false;
902
+ this.grouping = input(false, ...(ngDevMode ? [{ debugName: "grouping" }] : []));
903
+ /**
904
+ * The pattern to group number value by
905
+ */
906
+ this.pattern = input(undefined, ...(ngDevMode ? [{ debugName: "pattern" }] : []));
877
907
  /**
878
908
  * Will prevent the input from being changed (default: false)
879
909
  */
880
- this.readonly = false;
910
+ this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
881
911
  /**
882
912
  * classification property adds some semantics to the value of this component.
883
913
  * If you provide a value of `filesize` numbers typed into the control will be
884
914
  * handled like file sizes (calculates differnt units)
885
915
  */
886
- this.classifications = [];
887
- this.situation = input(Situation.EDIT);
916
+ this.classifications = input([], ...(ngDevMode ? [{ debugName: "classifications" }] : []));
917
+ /**
918
+ * set minimum input value
919
+ */
920
+ this.minValue = input(undefined, ...(ngDevMode ? [{ debugName: "minValue" }] : []));
921
+ /**
922
+ * set maximum input value
923
+ *
924
+ */
925
+ this.maxValue = input(undefined, ...(ngDevMode ? [{ debugName: "maxValue" }] : []));
926
+ this.situation = input(Situation.EDIT, ...(ngDevMode ? [{ debugName: "situation" }] : []));
888
927
  this.isValid = true;
889
928
  this.ngControl = injectNgControl(this);
890
929
  // options for search situation
@@ -895,7 +934,10 @@ class NumberRangeComponent extends AbstractMatFormField {
895
934
  { label: OperatorLabel.INTERVAL_INCLUDE_BOTH, value: Operator.INTERVAL_INCLUDE_BOTH }
896
935
  ];
897
936
  this.rangeForm = new FormGroup({
898
- numberValue: new FormControl(undefined, { nonNullable: true, validators: [Validators.required] }),
937
+ numberValue: new FormControl(undefined, {
938
+ nonNullable: true,
939
+ validators: [Validators.required]
940
+ }),
899
941
  operator: new FormControl(this.availableSearchOptions[1].value, { nonNullable: true }),
900
942
  numberValueFrom: new FormControl(undefined, { nonNullable: true })
901
943
  });
@@ -939,7 +981,10 @@ class NumberRangeComponent extends AbstractMatFormField {
939
981
  this.isValid = this.rangeForm.valid;
940
982
  const operator = this.rangeForm.value.operator;
941
983
  if (operator === Operator.INTERVAL_INCLUDE_BOTH) {
942
- this.isValid = this.rangeForm.valid && this.rangeForm.value.numberValueFrom != null && this.rangeForm.value.numberValue != null;
984
+ this.isValid =
985
+ this.rangeForm.valid &&
986
+ this.rangeForm.value.numberValueFrom != null &&
987
+ this.rangeForm.value.numberValue != null;
943
988
  this.value = !this.isValid
944
989
  ? {
945
990
  operator,
@@ -1026,29 +1071,13 @@ class NumberRangeComponent extends AbstractMatFormField {
1026
1071
  ngOnDestroy() {
1027
1072
  super.onNgOnDestroy();
1028
1073
  }
1029
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: NumberRangeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1030
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: NumberRangeComponent, isStandalone: true, selector: "yuv-number-range", inputs: { scale: { classPropertyName: "scale", publicName: "scale", isSignal: false, isRequired: false, transformFunction: null }, precision: { classPropertyName: "precision", publicName: "precision", isSignal: false, isRequired: false, transformFunction: null }, grouping: { classPropertyName: "grouping", publicName: "grouping", isSignal: false, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, classifications: { classPropertyName: "classifications", publicName: "classifications", isSignal: false, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: false, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: false, isRequired: false, transformFunction: null }, situation: { classPropertyName: "situation", publicName: "situation", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: MatFormFieldControl, useExisting: NumberRangeComponent }], usesInheritance: true, ngImport: i0, template: "<form class=\"yuv-number-range\" [formGroup]=\"rangeForm\">\n @if (rangeForm.value.operator === 'gtelte') {\n <yuv-number\n class=\"first\"\n [readonly]=\"readonly\"\n [scale]=\"scale\"\n [precision]=\"precision\"\n [grouping]=\"grouping\"\n [groupPattern]=\"pattern\"\n formControlName=\"numberValueFrom\"\n [classifications]=\"classifications\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n ></yuv-number>\n }\n\n <mat-select [panelWidth]=\"null\" [hideSingleSelectionIndicator]=\"true\" formControlName=\"operator\" [disabled]=\"readonly\">\n @for (o of availableSearchOptions; track $index) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n </mat-select>\n\n <yuv-number\n [scale]=\"scale\"\n [readonly]=\"readonly\"\n [precision]=\"precision\"\n [grouping]=\"grouping\"\n [groupPattern]=\"pattern\"\n formControlName=\"numberValue\"\n [classifications]=\"classifications\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n >\n </yuv-number>\n</form>\n", styles: [":host>form{display:inline-flex;flex-flow:row nowrap;align-items:center;gap:var(--ymt-spacing-s)}:host>form yuv-number{flex:1 1 auto}:host>form mat-select{padding:0;width:calc(2ch + 1em);border-radius:2px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: NumberComponent, selector: "yuv-number", inputs: ["scale", "precision", "grouping", "groupPattern", "readonly", "minValue", "maxValue", "classifications"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i1$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i1$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
1074
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NumberRangeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1075
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: NumberRangeComponent, isStandalone: true, selector: "yuv-number-range", inputs: { scale: { classPropertyName: "scale", publicName: "scale", isSignal: true, isRequired: false, transformFunction: null }, precision: { classPropertyName: "precision", publicName: "precision", isSignal: true, isRequired: false, transformFunction: null }, grouping: { classPropertyName: "grouping", publicName: "grouping", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, classifications: { classPropertyName: "classifications", publicName: "classifications", isSignal: true, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: true, isRequired: false, transformFunction: null }, situation: { classPropertyName: "situation", publicName: "situation", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: MatFormFieldControl, useExisting: NumberRangeComponent }], usesInheritance: true, ngImport: i0, template: "<form class=\"yuv-number-range\" [formGroup]=\"rangeForm\">\n @if (rangeForm.value.operator === 'gtelte') {\n <yuv-number\n class=\"first\"\n [readonly]=\"readonly()\"\n [scale]=\"scale()\"\n [precision]=\"precision()\"\n [grouping]=\"grouping()\"\n [groupPattern]=\"pattern()\"\n formControlName=\"numberValueFrom\"\n [classifications]=\"classifications()\"\n [minValue]=\"minValue()\"\n [maxValue]=\"maxValue()\"\n ></yuv-number>\n }\n\n <mat-select [panelWidth]=\"null\" [hideSingleSelectionIndicator]=\"true\" formControlName=\"operator\" [disabled]=\"readonly()\">\n @for (o of availableSearchOptions; track $index) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n </mat-select>\n\n <yuv-number\n [scale]=\"scale()\"\n [readonly]=\"readonly()\"\n [precision]=\"precision()\"\n [grouping]=\"grouping()\"\n [groupPattern]=\"pattern()\"\n formControlName=\"numberValue\"\n [classifications]=\"classifications()\"\n [minValue]=\"minValue()\"\n [maxValue]=\"maxValue()\"\n >\n </yuv-number>\n</form>\n", styles: [":host>form{display:inline-flex;flex-flow:row nowrap;align-items:center;gap:var(--ymt-spacing-s)}:host>form yuv-number{flex:1 1 auto}:host>form mat-select{padding:0;width:calc(2ch + 1em);border-radius:2px}\n"], dependencies: [{ kind: "component", type: NumberComponent, selector: "yuv-number", inputs: ["scale", "precision", "grouping", "groupPattern", "readonly", "minValue", "maxValue", "classifications"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i1$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i1$2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
1031
1076
  }
1032
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: NumberRangeComponent, decorators: [{
1077
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NumberRangeComponent, decorators: [{
1033
1078
  type: Component,
1034
- args: [{ selector: 'yuv-number-range', standalone: true, imports: [CommonModule, NumberComponent, MatSelectModule, FormsModule, ReactiveFormsModule], providers: [{ provide: MatFormFieldControl, useExisting: NumberRangeComponent }], template: "<form class=\"yuv-number-range\" [formGroup]=\"rangeForm\">\n @if (rangeForm.value.operator === 'gtelte') {\n <yuv-number\n class=\"first\"\n [readonly]=\"readonly\"\n [scale]=\"scale\"\n [precision]=\"precision\"\n [grouping]=\"grouping\"\n [groupPattern]=\"pattern\"\n formControlName=\"numberValueFrom\"\n [classifications]=\"classifications\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n ></yuv-number>\n }\n\n <mat-select [panelWidth]=\"null\" [hideSingleSelectionIndicator]=\"true\" formControlName=\"operator\" [disabled]=\"readonly\">\n @for (o of availableSearchOptions; track $index) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n </mat-select>\n\n <yuv-number\n [scale]=\"scale\"\n [readonly]=\"readonly\"\n [precision]=\"precision\"\n [grouping]=\"grouping\"\n [groupPattern]=\"pattern\"\n formControlName=\"numberValue\"\n [classifications]=\"classifications\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n >\n </yuv-number>\n</form>\n", styles: [":host>form{display:inline-flex;flex-flow:row nowrap;align-items:center;gap:var(--ymt-spacing-s)}:host>form yuv-number{flex:1 1 auto}:host>form mat-select{padding:0;width:calc(2ch + 1em);border-radius:2px}\n"] }]
1035
- }], propDecorators: { scale: [{
1036
- type: Input
1037
- }], precision: [{
1038
- type: Input
1039
- }], grouping: [{
1040
- type: Input
1041
- }], pattern: [{
1042
- type: Input
1043
- }], readonly: [{
1044
- type: Input
1045
- }], classifications: [{
1046
- type: Input
1047
- }], minValue: [{
1048
- type: Input
1049
- }], maxValue: [{
1050
- type: Input
1051
- }] } });
1079
+ args: [{ selector: 'yuv-number-range', standalone: true, imports: [NumberComponent, MatSelectModule, FormsModule, ReactiveFormsModule], providers: [{ provide: MatFormFieldControl, useExisting: NumberRangeComponent }], template: "<form class=\"yuv-number-range\" [formGroup]=\"rangeForm\">\n @if (rangeForm.value.operator === 'gtelte') {\n <yuv-number\n class=\"first\"\n [readonly]=\"readonly()\"\n [scale]=\"scale()\"\n [precision]=\"precision()\"\n [grouping]=\"grouping()\"\n [groupPattern]=\"pattern()\"\n formControlName=\"numberValueFrom\"\n [classifications]=\"classifications()\"\n [minValue]=\"minValue()\"\n [maxValue]=\"maxValue()\"\n ></yuv-number>\n }\n\n <mat-select [panelWidth]=\"null\" [hideSingleSelectionIndicator]=\"true\" formControlName=\"operator\" [disabled]=\"readonly()\">\n @for (o of availableSearchOptions; track $index) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n </mat-select>\n\n <yuv-number\n [scale]=\"scale()\"\n [readonly]=\"readonly()\"\n [precision]=\"precision()\"\n [grouping]=\"grouping()\"\n [groupPattern]=\"pattern()\"\n formControlName=\"numberValue\"\n [classifications]=\"classifications()\"\n [minValue]=\"minValue()\"\n [maxValue]=\"maxValue()\"\n >\n </yuv-number>\n</form>\n", styles: [":host>form{display:inline-flex;flex-flow:row nowrap;align-items:center;gap:var(--ymt-spacing-s)}:host>form yuv-number{flex:1 1 auto}:host>form mat-select{padding:0;width:calc(2ch + 1em);border-radius:2px}\n"] }]
1080
+ }], propDecorators: { scale: [{ type: i0.Input, args: [{ isSignal: true, alias: "scale", required: false }] }], precision: [{ type: i0.Input, args: [{ isSignal: true, alias: "precision", required: false }] }], grouping: [{ type: i0.Input, args: [{ isSignal: true, alias: "grouping", required: false }] }], pattern: [{ type: i0.Input, args: [{ isSignal: true, alias: "pattern", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], classifications: [{ type: i0.Input, args: [{ isSignal: true, alias: "classifications", required: false }] }], minValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "minValue", required: false }] }], maxValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxValue", required: false }] }], situation: [{ type: i0.Input, args: [{ isSignal: true, alias: "situation", required: false }] }] } });
1052
1081
 
1053
1082
  const mapOrganizationNode = (innerValue) => map$1((node) => node
1054
1083
  .filter((e) => !innerValue?.some((value) => value?.id === e.id))
@@ -1075,7 +1104,7 @@ class OrganizationComponent extends AbstractMatFormField {
1075
1104
  this.#dRef = inject(DestroyRef);
1076
1105
  this.translate = inject(TranslateService);
1077
1106
  this.minLength = 2;
1078
- this.busy = signal(false);
1107
+ this.busy = signal(false, ...(ngDevMode ? [{ debugName: "busy" }] : []));
1079
1108
  this.acFormControl = new FormControl(undefined);
1080
1109
  this.ngControl = injectNgControl(this);
1081
1110
  this._innerValue = [];
@@ -1083,11 +1112,11 @@ class OrganizationComponent extends AbstractMatFormField {
1083
1112
  /**
1084
1113
  * Possibles values are `EDIT` (default),`SEARCH`,`CREATE`. In search situation validation of the form element will be turned off, so you are able to enter search terms that do not meet the elements validators.
1085
1114
  */
1086
- this.situation = input(undefined);
1115
+ this.situation = input(undefined, ...(ngDevMode ? [{ debugName: "situation" }] : []));
1087
1116
  /**
1088
1117
  * Indicator that multiple strings could be inserted, they will be rendered as chips (default: false).
1089
1118
  */
1090
- this.multiselect = input(false);
1119
+ this.multiselect = input(false, ...(ngDevMode ? [{ debugName: "multiselect" }] : []));
1091
1120
  /**
1092
1121
  * Additional semantics for the form element.
1093
1122
  */
@@ -1101,8 +1130,8 @@ class OrganizationComponent extends AbstractMatFormField {
1101
1130
  }
1102
1131
  }
1103
1132
  return Classification.STRING_ORGANIZATION;
1104
- });
1105
- this.classifications = input(undefined);
1133
+ }, ...(ngDevMode ? [{ debugName: "#organizationType" }] : []));
1134
+ this.classifications = input(undefined, ...(ngDevMode ? [{ debugName: "classifications" }] : []));
1106
1135
  this.#filterRoles = computed(() => {
1107
1136
  const t = this.#organizationType();
1108
1137
  const c = this.classifications();
@@ -1116,20 +1145,20 @@ class OrganizationComponent extends AbstractMatFormField {
1116
1145
  }
1117
1146
  }
1118
1147
  return [];
1119
- });
1148
+ }, ...(ngDevMode ? [{ debugName: "#filterRoles" }] : []));
1120
1149
  /**
1121
1150
  * Will prevent the input from being changed (default: false)
1122
1151
  */
1123
- this.readonly = input(false);
1152
+ this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
1124
1153
  /**
1125
1154
  * Whether or not to exclude the current user from autocomplete result
1126
1155
  */
1127
- this.excludeMe = input(false);
1156
+ this.excludeMe = input(false, ...(ngDevMode ? [{ debugName: "excludeMe" }] : []));
1128
1157
  /**
1129
1158
  * Whether or not the emitted value should be an object containing id and title
1130
1159
  * or, if set to false only the ID
1131
1160
  */
1132
- this.withMetadata = input(false);
1161
+ this.withMetadata = input(false, ...(ngDevMode ? [{ debugName: "withMetadata" }] : []));
1133
1162
  // eslint-disable-next-line @typescript-eslint/no-empty-function
1134
1163
  this.propagateChange = (_) => { };
1135
1164
  }
@@ -1184,7 +1213,7 @@ class OrganizationComponent extends AbstractMatFormField {
1184
1213
  this.disabled = isDisabled;
1185
1214
  }
1186
1215
  #getPropagateValue() {
1187
- const value = this.innerValue.map((v) => (this.withMetadata() ? JSON.stringify({ id: v.id, title: v.title, type: v.type }) : v.id));
1216
+ const value = this.innerValue.map((v) => this.withMetadata() ? JSON.stringify({ id: v.id, title: v.title, type: v.type }) : v.id);
1188
1217
  return this.multiselect() ? value : value[0];
1189
1218
  }
1190
1219
  resolveFn(value) {
@@ -1232,7 +1261,7 @@ class OrganizationComponent extends AbstractMatFormField {
1232
1261
  #getMetadataString(value) {
1233
1262
  try {
1234
1263
  if (Array.isArray(value)) {
1235
- return value.map(v => JSON.parse(v));
1264
+ return value.map((v) => JSON.parse(v));
1236
1265
  }
1237
1266
  else {
1238
1267
  return JSON.parse(value);
@@ -1279,13 +1308,21 @@ class OrganizationComponent extends AbstractMatFormField {
1279
1308
  ngOnDestroy() {
1280
1309
  super.onNgOnDestroy();
1281
1310
  }
1282
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: OrganizationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1283
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: OrganizationComponent, isStandalone: true, selector: "yuv-organization", inputs: { situation: { classPropertyName: "situation", publicName: "situation", isSignal: true, isRequired: false, transformFunction: null }, multiselect: { classPropertyName: "multiselect", publicName: "multiselect", isSignal: true, isRequired: false, transformFunction: null }, classifications: { classPropertyName: "classifications", publicName: "classifications", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, excludeMe: { classPropertyName: "excludeMe", publicName: "excludeMe", isSignal: true, isRequired: false, transformFunction: null }, withMetadata: { classPropertyName: "withMetadata", publicName: "withMetadata", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: MatFormFieldControl, useExisting: OrganizationComponent }], usesInheritance: true, ngImport: i0, template: "<yuv-autocomplete\n [required]=\"required\"\n [busy]=\"busy()\"\n [formControl]=\"acFormControl\"\n #autocomplete\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly()\"\n [autocompleteValues]=\"autocompleteRes\"\n [forceSelection]=\"true\"\n [distinctValues]=\"true\"\n (autocompleteFnc)=\"autocompleteFn($event)\"\n [multiple]=\"true\"\n [maxItems]=\"multiselect() ? -1 : 1\"\n>\n <!-- template for item inside the dropdown -->\n <ng-template #optionTemplate let-item>\n @if (item.value) {\n <span class=\"chip\">{{ item.value.title }}</span>\n }\n </ng-template>\n\n <!-- template for chip -->\n <ng-template #chipTemplate let-item>\n @if (item.value) {\n <span class=\"chip\" [ngClass]=\"{ notFound: item.value.notFound }\" [matTooltip]=\"item.value.titleString\">\n {{ item.value.title || '...' }}\n </span>\n }\n </ng-template>\n</yuv-autocomplete>\n\n<mat-icon class=\"ymt-icon--size-s\" [matTooltip]=\"'yuv.form.element.organization.classify.icon.title' | translate\">\n {{ multiselect() ? 'group' : 'person' }}\n</mat-icon>\n", styles: [":host{display:flex;align-items:center}:host .chip.notFound{color:var(--ymt-on-danger-container);text-decoration:line-through}:host .chip.notFound:before{content:\"!\";display:inline-block;background-color:var(--ymt-danger-container);color:#fff;border-radius:2px;padding-inline:.3em;text-decoration:none;margin-inline-end:.75em}:host yuv-autocomplete{flex:1}:host mat-icon{color:var(--ymt-text-color-subtle)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: YuvAutocompleteModule }, { kind: "component", type: i3$1.AutocompleteComponent, selector: "yuv-autocomplete", inputs: ["ariaLabel", "busy", "multiple", "distinctValues", "addOnBlur", "minLength", "maxItems", "forceSelection", "autocompleteValues"], outputs: ["autocompleteFnc", "acBlur"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
1311
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: OrganizationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1312
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: OrganizationComponent, isStandalone: true, selector: "yuv-organization", inputs: { situation: { classPropertyName: "situation", publicName: "situation", isSignal: true, isRequired: false, transformFunction: null }, multiselect: { classPropertyName: "multiselect", publicName: "multiselect", isSignal: true, isRequired: false, transformFunction: null }, classifications: { classPropertyName: "classifications", publicName: "classifications", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, excludeMe: { classPropertyName: "excludeMe", publicName: "excludeMe", isSignal: true, isRequired: false, transformFunction: null }, withMetadata: { classPropertyName: "withMetadata", publicName: "withMetadata", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: MatFormFieldControl, useExisting: OrganizationComponent }], usesInheritance: true, ngImport: i0, template: "<yuv-autocomplete\n [required]=\"required\"\n [busy]=\"busy()\"\n [formControl]=\"acFormControl\"\n #autocomplete\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly()\"\n [autocompleteValues]=\"autocompleteRes\"\n [forceSelection]=\"true\"\n [distinctValues]=\"true\"\n (autocompleteFnc)=\"autocompleteFn($event)\"\n [multiple]=\"true\"\n [maxItems]=\"multiselect() ? -1 : 1\"\n>\n <!-- template for item inside the dropdown -->\n <ng-template #optionTemplate let-item>\n @if (item.value) {\n <span class=\"chip\">{{ item.value.title }}</span>\n }\n </ng-template>\n\n <!-- template for chip -->\n <ng-template #chipTemplate let-item>\n @if (item.value) {\n <span class=\"chip\" [ngClass]=\"{ notFound: item.value.notFound }\" [matTooltip]=\"item.value.titleString\">\n {{ item.value.title || '...' }}\n </span>\n }\n </ng-template>\n</yuv-autocomplete>\n\n<mat-icon class=\"ymt-icon--size-s\" [matTooltip]=\"'yuv.form.element.organization.classify.icon.title' | translate\">\n {{ multiselect() ? 'group' : 'person' }}\n</mat-icon>\n", styles: [":host{display:flex;align-items:center}:host .chip.notFound{color:var(--ymt-on-danger-container);text-decoration:line-through}:host .chip.notFound:before{content:\"!\";display:inline-block;background-color:var(--ymt-danger-container);color:#fff;border-radius:2px;padding-inline:.3em;text-decoration:none;margin-inline-end:.75em}:host yuv-autocomplete{flex:1}:host mat-icon{color:var(--ymt-text-color-subtle)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: YuvAutocompleteModule }, { kind: "component", type: i3$1.AutocompleteComponent, selector: "yuv-autocomplete", inputs: ["ariaLabel", "busy", "multiple", "distinctValues", "addOnBlur", "minLength", "maxItems", "forceSelection", "autocompleteValues"], outputs: ["autocompleteFnc", "acBlur"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
1284
1313
  }
1285
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: OrganizationComponent, decorators: [{
1314
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: OrganizationComponent, decorators: [{
1286
1315
  type: Component,
1287
- args: [{ selector: 'yuv-organization', standalone: true, imports: [CommonModule, FormsModule, YuvAutocompleteModule, MatTooltipModule, MatIconModule, ReactiveFormsModule, TranslateModule], providers: [{ provide: MatFormFieldControl, useExisting: OrganizationComponent }], template: "<yuv-autocomplete\n [required]=\"required\"\n [busy]=\"busy()\"\n [formControl]=\"acFormControl\"\n #autocomplete\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly()\"\n [autocompleteValues]=\"autocompleteRes\"\n [forceSelection]=\"true\"\n [distinctValues]=\"true\"\n (autocompleteFnc)=\"autocompleteFn($event)\"\n [multiple]=\"true\"\n [maxItems]=\"multiselect() ? -1 : 1\"\n>\n <!-- template for item inside the dropdown -->\n <ng-template #optionTemplate let-item>\n @if (item.value) {\n <span class=\"chip\">{{ item.value.title }}</span>\n }\n </ng-template>\n\n <!-- template for chip -->\n <ng-template #chipTemplate let-item>\n @if (item.value) {\n <span class=\"chip\" [ngClass]=\"{ notFound: item.value.notFound }\" [matTooltip]=\"item.value.titleString\">\n {{ item.value.title || '...' }}\n </span>\n }\n </ng-template>\n</yuv-autocomplete>\n\n<mat-icon class=\"ymt-icon--size-s\" [matTooltip]=\"'yuv.form.element.organization.classify.icon.title' | translate\">\n {{ multiselect() ? 'group' : 'person' }}\n</mat-icon>\n", styles: [":host{display:flex;align-items:center}:host .chip.notFound{color:var(--ymt-on-danger-container);text-decoration:line-through}:host .chip.notFound:before{content:\"!\";display:inline-block;background-color:var(--ymt-danger-container);color:#fff;border-radius:2px;padding-inline:.3em;text-decoration:none;margin-inline-end:.75em}:host yuv-autocomplete{flex:1}:host mat-icon{color:var(--ymt-text-color-subtle)}\n"] }]
1288
- }] });
1316
+ args: [{ selector: 'yuv-organization', standalone: true, imports: [
1317
+ CommonModule,
1318
+ FormsModule,
1319
+ YuvAutocompleteModule,
1320
+ MatTooltipModule,
1321
+ MatIconModule,
1322
+ ReactiveFormsModule,
1323
+ TranslatePipe
1324
+ ], providers: [{ provide: MatFormFieldControl, useExisting: OrganizationComponent }], template: "<yuv-autocomplete\n [required]=\"required\"\n [busy]=\"busy()\"\n [formControl]=\"acFormControl\"\n #autocomplete\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly()\"\n [autocompleteValues]=\"autocompleteRes\"\n [forceSelection]=\"true\"\n [distinctValues]=\"true\"\n (autocompleteFnc)=\"autocompleteFn($event)\"\n [multiple]=\"true\"\n [maxItems]=\"multiselect() ? -1 : 1\"\n>\n <!-- template for item inside the dropdown -->\n <ng-template #optionTemplate let-item>\n @if (item.value) {\n <span class=\"chip\">{{ item.value.title }}</span>\n }\n </ng-template>\n\n <!-- template for chip -->\n <ng-template #chipTemplate let-item>\n @if (item.value) {\n <span class=\"chip\" [ngClass]=\"{ notFound: item.value.notFound }\" [matTooltip]=\"item.value.titleString\">\n {{ item.value.title || '...' }}\n </span>\n }\n </ng-template>\n</yuv-autocomplete>\n\n<mat-icon class=\"ymt-icon--size-s\" [matTooltip]=\"'yuv.form.element.organization.classify.icon.title' | translate\">\n {{ multiselect() ? 'group' : 'person' }}\n</mat-icon>\n", styles: [":host{display:flex;align-items:center}:host .chip.notFound{color:var(--ymt-on-danger-container);text-decoration:line-through}:host .chip.notFound:before{content:\"!\";display:inline-block;background-color:var(--ymt-danger-container);color:#fff;border-radius:2px;padding-inline:.3em;text-decoration:none;margin-inline-end:.75em}:host yuv-autocomplete{flex:1}:host mat-icon{color:var(--ymt-text-color-subtle)}\n"] }]
1325
+ }], propDecorators: { situation: [{ type: i0.Input, args: [{ isSignal: true, alias: "situation", required: false }] }], multiselect: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiselect", required: false }] }], classifications: [{ type: i0.Input, args: [{ isSignal: true, alias: "classifications", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], excludeMe: [{ type: i0.Input, args: [{ isSignal: true, alias: "excludeMe", required: false }] }], withMetadata: [{ type: i0.Input, args: [{ isSignal: true, alias: "withMetadata", required: false }] }] } });
1289
1326
 
1290
1327
  /**
1291
1328
  * Creates form input for organization set values. An organization set is
@@ -1309,26 +1346,26 @@ class OrganizationSetComponent extends AbstractMatFormField {
1309
1346
  /**
1310
1347
  * Possibles values are `EDIT` (default),`SEARCH`,`CREATE`. In search situation validation of the form element will be turned off, so you are able to enter search terms that do not meet the elements validators.
1311
1348
  */
1312
- this.situation = input(undefined);
1349
+ this.situation = input(undefined, ...(ngDevMode ? [{ debugName: "situation" }] : []));
1313
1350
  /**
1314
1351
  * Indicator that multiple strings could be inserted, they will be rendered as chips (default: false).
1315
1352
  */
1316
- this.multiselect = input(false);
1353
+ this.multiselect = input(false, ...(ngDevMode ? [{ debugName: "multiselect" }] : []));
1317
1354
  /**
1318
1355
  * Will prevent the input from being changed (default: false)
1319
1356
  */
1320
- this.readonly = input(false);
1357
+ this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
1321
1358
  /**
1322
1359
  * Whether or not the emitted value should be an object containing id and title
1323
1360
  * or, if set to false only the ID
1324
1361
  */
1325
- this.withMetadata = input(false);
1362
+ this.withMetadata = input(false, ...(ngDevMode ? [{ debugName: "withMetadata" }] : []));
1326
1363
  /**
1327
1364
  * Minimum length of the autocomplete input before a query is sent to the server.
1328
1365
  */
1329
- this.autocompleteMinLength = input(2);
1330
- this.classifications = input(undefined);
1331
- this.types = input(undefined);
1366
+ this.autocompleteMinLength = input(2, ...(ngDevMode ? [{ debugName: "autocompleteMinLength" }] : []));
1367
+ this.classifications = input(undefined, ...(ngDevMode ? [{ debugName: "classifications" }] : []));
1368
+ this.types = input(undefined, ...(ngDevMode ? [{ debugName: "types" }] : []));
1332
1369
  this.#targetTypes = linkedSignal(() => {
1333
1370
  const c = this.classifications();
1334
1371
  const types = this.types();
@@ -1342,8 +1379,8 @@ class OrganizationSetComponent extends AbstractMatFormField {
1342
1379
  return types;
1343
1380
  }
1344
1381
  return [];
1345
- });
1346
- this.busy = signal(false);
1382
+ }, ...(ngDevMode ? [{ debugName: "#targetTypes" }] : []));
1383
+ this.busy = signal(false, ...(ngDevMode ? [{ debugName: "busy" }] : []));
1347
1384
  this.acFormControl = new FormControl(undefined);
1348
1385
  this.ngControl = injectNgControl(this);
1349
1386
  this.innerValue = [];
@@ -1435,21 +1472,13 @@ class OrganizationSetComponent extends AbstractMatFormField {
1435
1472
  ngOnDestroy() {
1436
1473
  super.onNgOnDestroy();
1437
1474
  }
1438
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: OrganizationSetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1439
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.20", type: OrganizationSetComponent, isStandalone: true, selector: "yuv-organization-set", inputs: { situation: { classPropertyName: "situation", publicName: "situation", isSignal: true, isRequired: false, transformFunction: null }, multiselect: { classPropertyName: "multiselect", publicName: "multiselect", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, withMetadata: { classPropertyName: "withMetadata", publicName: "withMetadata", isSignal: true, isRequired: false, transformFunction: null }, autocompleteMinLength: { classPropertyName: "autocompleteMinLength", publicName: "autocompleteMinLength", isSignal: true, isRequired: false, transformFunction: null }, classifications: { classPropertyName: "classifications", publicName: "classifications", isSignal: true, isRequired: false, transformFunction: null }, types: { classPropertyName: "types", publicName: "types", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: MatFormFieldControl, useExisting: OrganizationSetComponent }], usesInheritance: true, ngImport: i0, template: "<yuv-autocomplete\n [busy]=\"busy()\"\n [formControl]=\"acFormControl\"\n #autocomplete\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly()\"\n [autocompleteValues]=\"autocompleteRes\"\n [forceSelection]=\"true\"\n (autocompleteFnc)=\"autocompleteFn($event)\"\n [multiple]=\"true\"\n [maxItems]=\"multiselect() ? -1 : 1\"\n>\n <!-- template for item inside the dropdown -->\n <ng-template #optionTemplate let-item>\n <span class=\"chip\">{{ item.value.title }}</span>\n </ng-template>\n\n <!-- template for chip -->\n <ng-template #chipTemplate let-item>\n <span class=\"chip\">\n {{ item.value.title || '...' }}\n </span>\n </ng-template>\n</yuv-autocomplete>\n\n<mat-icon class=\"ymt-icon--size-s\" [matTooltip]=\"'yuv.form.element.organization-set.classify.icon.title' | translate\">\n {{ multiselect() ? 'group' : 'person' }}\n</mat-icon>\n", styles: [":host{display:flex;align-items:center}:host yuv-autocomplete{flex:1}:host mat-icon{color:var(--ymt-text-color-subtle)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: YuvAutocompleteModule }, { kind: "component", type: i3$1.AutocompleteComponent, selector: "yuv-autocomplete", inputs: ["ariaLabel", "busy", "multiple", "distinctValues", "addOnBlur", "minLength", "maxItems", "forceSelection", "autocompleteValues"], outputs: ["autocompleteFnc", "acBlur"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule$1 }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
1475
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: OrganizationSetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1476
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.19", type: OrganizationSetComponent, isStandalone: true, selector: "yuv-organization-set", inputs: { situation: { classPropertyName: "situation", publicName: "situation", isSignal: true, isRequired: false, transformFunction: null }, multiselect: { classPropertyName: "multiselect", publicName: "multiselect", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, withMetadata: { classPropertyName: "withMetadata", publicName: "withMetadata", isSignal: true, isRequired: false, transformFunction: null }, autocompleteMinLength: { classPropertyName: "autocompleteMinLength", publicName: "autocompleteMinLength", isSignal: true, isRequired: false, transformFunction: null }, classifications: { classPropertyName: "classifications", publicName: "classifications", isSignal: true, isRequired: false, transformFunction: null }, types: { classPropertyName: "types", publicName: "types", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: MatFormFieldControl, useExisting: OrganizationSetComponent }], usesInheritance: true, ngImport: i0, template: "<yuv-autocomplete\n [busy]=\"busy()\"\n [formControl]=\"acFormControl\"\n #autocomplete\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly()\"\n [autocompleteValues]=\"autocompleteRes\"\n [forceSelection]=\"true\"\n (autocompleteFnc)=\"autocompleteFn($event)\"\n [multiple]=\"true\"\n [maxItems]=\"multiselect() ? -1 : 1\"\n>\n <!-- template for item inside the dropdown -->\n <ng-template #optionTemplate let-item>\n <span class=\"chip\">{{ item.value.title }}</span>\n </ng-template>\n\n <!-- template for chip -->\n <ng-template #chipTemplate let-item>\n <span class=\"chip\">\n {{ item.value.title || '...' }}\n </span>\n </ng-template>\n</yuv-autocomplete>\n\n<mat-icon class=\"ymt-icon--size-s\" [matTooltip]=\"'yuv.form.element.organization-set.classify.icon.title' | translate\">\n {{ multiselect() ? 'group' : 'person' }}\n</mat-icon>\n", styles: [":host{display:flex;align-items:center}:host yuv-autocomplete{flex:1}:host mat-icon{color:var(--ymt-text-color-subtle)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: YuvAutocompleteModule }, { kind: "component", type: i3$1.AutocompleteComponent, selector: "yuv-autocomplete", inputs: ["ariaLabel", "busy", "multiple", "distinctValues", "addOnBlur", "minLength", "maxItems", "forceSelection", "autocompleteValues"], outputs: ["autocompleteFnc", "acBlur"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: TranslatePipe$1, name: "translate" }] }); }
1440
1477
  }
1441
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: OrganizationSetComponent, decorators: [{
1478
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: OrganizationSetComponent, decorators: [{
1442
1479
  type: Component,
1443
- args: [{ selector: 'yuv-organization-set', imports: [
1444
- CommonModule,
1445
- FormsModule,
1446
- YuvAutocompleteModule,
1447
- MatTooltipModule,
1448
- MatIconModule,
1449
- ReactiveFormsModule,
1450
- TranslateModule$1
1451
- ], providers: [{ provide: MatFormFieldControl, useExisting: OrganizationSetComponent }], template: "<yuv-autocomplete\n [busy]=\"busy()\"\n [formControl]=\"acFormControl\"\n #autocomplete\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly()\"\n [autocompleteValues]=\"autocompleteRes\"\n [forceSelection]=\"true\"\n (autocompleteFnc)=\"autocompleteFn($event)\"\n [multiple]=\"true\"\n [maxItems]=\"multiselect() ? -1 : 1\"\n>\n <!-- template for item inside the dropdown -->\n <ng-template #optionTemplate let-item>\n <span class=\"chip\">{{ item.value.title }}</span>\n </ng-template>\n\n <!-- template for chip -->\n <ng-template #chipTemplate let-item>\n <span class=\"chip\">\n {{ item.value.title || '...' }}\n </span>\n </ng-template>\n</yuv-autocomplete>\n\n<mat-icon class=\"ymt-icon--size-s\" [matTooltip]=\"'yuv.form.element.organization-set.classify.icon.title' | translate\">\n {{ multiselect() ? 'group' : 'person' }}\n</mat-icon>\n", styles: [":host{display:flex;align-items:center}:host yuv-autocomplete{flex:1}:host mat-icon{color:var(--ymt-text-color-subtle)}\n"] }]
1452
- }] });
1480
+ args: [{ selector: 'yuv-organization-set', imports: [FormsModule, YuvAutocompleteModule, MatTooltipModule, MatIconModule, ReactiveFormsModule, TranslatePipe$1], providers: [{ provide: MatFormFieldControl, useExisting: OrganizationSetComponent }], template: "<yuv-autocomplete\n [busy]=\"busy()\"\n [formControl]=\"acFormControl\"\n #autocomplete\n [placeholder]=\"placeholder\"\n [disabled]=\"readonly()\"\n [autocompleteValues]=\"autocompleteRes\"\n [forceSelection]=\"true\"\n (autocompleteFnc)=\"autocompleteFn($event)\"\n [multiple]=\"true\"\n [maxItems]=\"multiselect() ? -1 : 1\"\n>\n <!-- template for item inside the dropdown -->\n <ng-template #optionTemplate let-item>\n <span class=\"chip\">{{ item.value.title }}</span>\n </ng-template>\n\n <!-- template for chip -->\n <ng-template #chipTemplate let-item>\n <span class=\"chip\">\n {{ item.value.title || '...' }}\n </span>\n </ng-template>\n</yuv-autocomplete>\n\n<mat-icon class=\"ymt-icon--size-s\" [matTooltip]=\"'yuv.form.element.organization-set.classify.icon.title' | translate\">\n {{ multiselect() ? 'group' : 'person' }}\n</mat-icon>\n", styles: [":host{display:flex;align-items:center}:host yuv-autocomplete{flex:1}:host mat-icon{color:var(--ymt-text-color-subtle)}\n"] }]
1481
+ }], propDecorators: { situation: [{ type: i0.Input, args: [{ isSignal: true, alias: "situation", required: false }] }], multiselect: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiselect", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], withMetadata: [{ type: i0.Input, args: [{ isSignal: true, alias: "withMetadata", required: false }] }], autocompleteMinLength: [{ type: i0.Input, args: [{ isSignal: true, alias: "autocompleteMinLength", required: false }] }], classifications: [{ type: i0.Input, args: [{ isSignal: true, alias: "classifications", required: false }] }], types: [{ type: i0.Input, args: [{ isSignal: true, alias: "types", required: false }] }] } });
1453
1482
 
1454
1483
  class DateRangePickerComponent {
1455
1484
  constructor() {
@@ -1459,7 +1488,7 @@ class DateRangePickerComponent {
1459
1488
  this.form = this.#fb.group({
1460
1489
  range: this.#fb.control(this.#dialogData.range)
1461
1490
  });
1462
- this.range = input(this.#dialogData.range);
1491
+ this.range = input(this.#dialogData.range, ...(ngDevMode ? [{ debugName: "range" }] : []));
1463
1492
  this.rangeChange = output();
1464
1493
  this.#rangeEffect = effect(() => {
1465
1494
  const range = this.range();
@@ -1468,7 +1497,7 @@ class DateRangePickerComponent {
1468
1497
  return;
1469
1498
  }
1470
1499
  this.form.patchValue({ range });
1471
- });
1500
+ }, ...(ngDevMode ? [{ debugName: "#rangeEffect" }] : []));
1472
1501
  }
1473
1502
  #fb;
1474
1503
  #dialogData;
@@ -1478,13 +1507,13 @@ class DateRangePickerComponent {
1478
1507
  this.rangeChange.emit(this.form.value.range || undefined);
1479
1508
  this.#dialogRef.close(this.form.value.range);
1480
1509
  }
1481
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DateRangePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1482
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.20", type: DateRangePickerComponent, isStandalone: true, selector: "yuv-date-range-picker", inputs: { range: { classPropertyName: "range", publicName: "range", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { rangeChange: "rangeChange" }, ngImport: i0, template: "<yuv-dialog [headertitel]=\"'yuv.form.element.range-select-date.custom.overlay.title' | translate\">\n <main>\n <form id=\"date-range-picker-form\" [formGroup]=\"form\" (ngSubmit)=\"apply()\">\n <yuv-datetime-range [withTime]=\"false\" formControlName=\"range\"></yuv-datetime-range>\n </form>\n </main>\n <footer>\n <button form=\"date-range-picker-form\" ymtButton=\"primary\" [disabled]=\"form.invalid\">\n {{ 'yuv.form.element.range-select-date.custom.overlay.button.apply' | translate }}\n </button>\n </footer>\n</yuv-dialog>\n", styles: [":host form{display:grid;grid-template-columns:1fr auto;grid-template-rows:repeat(3,auto);grid-template-areas:\"title title\" \"input input\" \". button\";gap:var(--ymt-spacing-m);padding:var(--ymt-spacing-m)}:host form h2{grid-area:title;margin:0}:host form yuv-datetime-range{grid-area:input;border:1px solid var(--ymt-text-color-subtle);padding:1px 2px;border-radius:2px}:host form button{grid-area:button}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: DatetimeRangeComponent, selector: "yuv-datetime-range", inputs: ["withTime", "readonly", "operator", "situation"] }, { kind: "directive", type: YmtButtonDirective, selector: "button[ymtButton], a[ymtButton]", inputs: ["ymtButton", "disabled", "aria-disabled", "disableRipple", "disabledInteractive", "button-size"] }, { kind: "component", type: DialogComponent, selector: "yuv-dialog", inputs: ["headertitle", "headertitel"] }] }); }
1510
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: DateRangePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1511
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.19", type: DateRangePickerComponent, isStandalone: true, selector: "yuv-date-range-picker", inputs: { range: { classPropertyName: "range", publicName: "range", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { rangeChange: "rangeChange" }, ngImport: i0, template: "<yuv-dialog [headertitel]=\"'yuv.form.element.range-select-date.custom.overlay.title' | translate\">\n <main>\n <form id=\"date-range-picker-form\" [formGroup]=\"form\" (ngSubmit)=\"apply()\">\n <yuv-datetime-range [withTime]=\"false\" formControlName=\"range\"></yuv-datetime-range>\n </form>\n </main>\n <footer>\n <button form=\"date-range-picker-form\" ymtButton=\"primary\" [disabled]=\"form.invalid\">\n {{ 'yuv.form.element.range-select-date.custom.overlay.button.apply' | translate }}\n </button>\n </footer>\n</yuv-dialog>\n", styles: [":host form{display:grid;grid-template-columns:1fr auto;grid-template-rows:repeat(3,auto);grid-template-areas:\"title title\" \"input input\" \". button\";gap:var(--ymt-spacing-m);padding:var(--ymt-spacing-m)}:host form h2{grid-area:title;margin:0}:host form yuv-datetime-range{grid-area:input;border:1px solid var(--ymt-text-color-subtle);padding:1px 2px;border-radius:2px}:host form button{grid-area:button}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: DatetimeRangeComponent, selector: "yuv-datetime-range", inputs: ["withTime", "readonly", "operator", "situation"] }, { kind: "directive", type: YmtButtonDirective, selector: "button[ymtButton], a[ymtButton]", inputs: ["ymtButton", "disabled", "aria-disabled", "disableRipple", "disabledInteractive", "button-size"] }, { kind: "component", type: DialogComponent, selector: "yuv-dialog", inputs: ["headertitle", "headertitel"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
1483
1512
  }
1484
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DateRangePickerComponent, decorators: [{
1513
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: DateRangePickerComponent, decorators: [{
1485
1514
  type: Component,
1486
- args: [{ selector: 'yuv-date-range-picker', standalone: true, imports: [CommonModule, ReactiveFormsModule, TranslateModule, DatetimeRangeComponent, YmtButtonDirective, DialogComponent], template: "<yuv-dialog [headertitel]=\"'yuv.form.element.range-select-date.custom.overlay.title' | translate\">\n <main>\n <form id=\"date-range-picker-form\" [formGroup]=\"form\" (ngSubmit)=\"apply()\">\n <yuv-datetime-range [withTime]=\"false\" formControlName=\"range\"></yuv-datetime-range>\n </form>\n </main>\n <footer>\n <button form=\"date-range-picker-form\" ymtButton=\"primary\" [disabled]=\"form.invalid\">\n {{ 'yuv.form.element.range-select-date.custom.overlay.button.apply' | translate }}\n </button>\n </footer>\n</yuv-dialog>\n", styles: [":host form{display:grid;grid-template-columns:1fr auto;grid-template-rows:repeat(3,auto);grid-template-areas:\"title title\" \"input input\" \". button\";gap:var(--ymt-spacing-m);padding:var(--ymt-spacing-m)}:host form h2{grid-area:title;margin:0}:host form yuv-datetime-range{grid-area:input;border:1px solid var(--ymt-text-color-subtle);padding:1px 2px;border-radius:2px}:host form button{grid-area:button}\n"] }]
1487
- }] });
1515
+ args: [{ selector: 'yuv-date-range-picker', standalone: true, imports: [ReactiveFormsModule, TranslatePipe, DatetimeRangeComponent, YmtButtonDirective, DialogComponent], template: "<yuv-dialog [headertitel]=\"'yuv.form.element.range-select-date.custom.overlay.title' | translate\">\n <main>\n <form id=\"date-range-picker-form\" [formGroup]=\"form\" (ngSubmit)=\"apply()\">\n <yuv-datetime-range [withTime]=\"false\" formControlName=\"range\"></yuv-datetime-range>\n </form>\n </main>\n <footer>\n <button form=\"date-range-picker-form\" ymtButton=\"primary\" [disabled]=\"form.invalid\">\n {{ 'yuv.form.element.range-select-date.custom.overlay.button.apply' | translate }}\n </button>\n </footer>\n</yuv-dialog>\n", styles: [":host form{display:grid;grid-template-columns:1fr auto;grid-template-rows:repeat(3,auto);grid-template-areas:\"title title\" \"input input\" \". button\";gap:var(--ymt-spacing-m);padding:var(--ymt-spacing-m)}:host form h2{grid-area:title;margin:0}:host form yuv-datetime-range{grid-area:input;border:1px solid var(--ymt-text-color-subtle);padding:1px 2px;border-radius:2px}:host form button{grid-area:button}\n"] }]
1516
+ }], propDecorators: { range: [{ type: i0.Input, args: [{ isSignal: true, alias: "range", required: false }] }], rangeChange: [{ type: i0.Output, args: ["rangeChange"] }] } });
1488
1517
 
1489
1518
  // marker for extracting translations for the available date range options
1490
1519
  marker('yuv.form.element.range-select-date.option.any');
@@ -1516,7 +1545,7 @@ class RangeSelectDateComponent extends AbstractMatFormField {
1516
1545
  this.#dialog = inject(MatDialog);
1517
1546
  this.#ANY_OPTION = 'any';
1518
1547
  this.#CUSTOM_OPTION = 'custom';
1519
- this.options = signal([]);
1548
+ this.options = signal([], ...(ngDevMode ? [{ debugName: "options" }] : []));
1520
1549
  this.fc = new FormControl(this.#ANY_OPTION, {
1521
1550
  nonNullable: true
1522
1551
  });
@@ -1524,11 +1553,11 @@ class RangeSelectDateComponent extends AbstractMatFormField {
1524
1553
  /**
1525
1554
  * Range values to be used in the dropdown.
1526
1555
  */
1527
- this.ranges = input(['today', 'yesterday', 'thisWeek', 'thisMonth', 'thisYear']);
1556
+ this.ranges = input(['today', 'yesterday', 'thisWeek', 'thisMonth', 'thisYear'], ...(ngDevMode ? [{ debugName: "ranges" }] : []));
1528
1557
  /**
1529
1558
  * Whether to show the custom date range option.
1530
1559
  */
1531
- this.customRange = input(true);
1560
+ this.customRange = input(true, ...(ngDevMode ? [{ debugName: "customRange" }] : []));
1532
1561
  // ControlValueAccessor implementation
1533
1562
  // eslint-disable-next-line @typescript-eslint/no-empty-function
1534
1563
  this.propagateChange = (_) => { };
@@ -1649,13 +1678,13 @@ class RangeSelectDateComponent extends AbstractMatFormField {
1649
1678
  ngOnDestroy() {
1650
1679
  super.onNgOnDestroy();
1651
1680
  }
1652
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: RangeSelectDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1653
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: RangeSelectDateComponent, isStandalone: true, selector: "yuv-range-select-date", inputs: { ranges: { classPropertyName: "ranges", publicName: "ranges", isSignal: true, isRequired: false, transformFunction: null }, customRange: { classPropertyName: "customRange", publicName: "customRange", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: MatFormFieldControl, useExisting: RangeSelectDateComponent }], usesInheritance: true, ngImport: i0, template: "<mat-select [formControl]=\"fc\" [panelWidth]=\"null\" [hideSingleSelectionIndicator]=\"true\">\n @for (o of options(); track $index) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n</mat-select>\n", styles: [":host{display:flex}:host mat-select{flex:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i1$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i1$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
1681
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: RangeSelectDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1682
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: RangeSelectDateComponent, isStandalone: true, selector: "yuv-range-select-date", inputs: { ranges: { classPropertyName: "ranges", publicName: "ranges", isSignal: true, isRequired: false, transformFunction: null }, customRange: { classPropertyName: "customRange", publicName: "customRange", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: MatFormFieldControl, useExisting: RangeSelectDateComponent }], usesInheritance: true, ngImport: i0, template: "<mat-select [formControl]=\"fc\" [panelWidth]=\"null\" [hideSingleSelectionIndicator]=\"true\">\n @for (o of options(); track $index) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n</mat-select>\n", styles: [":host{display:flex}:host mat-select{flex:1}\n"], dependencies: [{ kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i1$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i1$2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
1654
1683
  }
1655
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: RangeSelectDateComponent, decorators: [{
1684
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: RangeSelectDateComponent, decorators: [{
1656
1685
  type: Component,
1657
- args: [{ selector: 'yuv-range-select-date', standalone: true, imports: [CommonModule, MatSelectModule, ReactiveFormsModule], providers: [{ provide: MatFormFieldControl, useExisting: RangeSelectDateComponent }], template: "<mat-select [formControl]=\"fc\" [panelWidth]=\"null\" [hideSingleSelectionIndicator]=\"true\">\n @for (o of options(); track $index) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n</mat-select>\n", styles: [":host{display:flex}:host mat-select{flex:1}\n"] }]
1658
- }], ctorParameters: () => [] });
1686
+ args: [{ selector: 'yuv-range-select-date', standalone: true, imports: [MatSelectModule, ReactiveFormsModule], providers: [{ provide: MatFormFieldControl, useExisting: RangeSelectDateComponent }], template: "<mat-select [formControl]=\"fc\" [panelWidth]=\"null\" [hideSingleSelectionIndicator]=\"true\">\n @for (o of options(); track $index) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n</mat-select>\n", styles: [":host{display:flex}:host mat-select{flex:1}\n"] }]
1687
+ }], ctorParameters: () => [], propDecorators: { ranges: [{ type: i0.Input, args: [{ isSignal: true, alias: "ranges", required: false }] }], customRange: [{ type: i0.Input, args: [{ isSignal: true, alias: "customRange", required: false }] }] } });
1659
1688
 
1660
1689
  // marker for extracting translations for the available filesize range options
1661
1690
  marker('yuv.form.element.range-select-filesize.option.any');
@@ -1676,7 +1705,7 @@ class RangeSelectFilesizeComponent extends AbstractMatFormField {
1676
1705
  super();
1677
1706
  this.translate = inject(TranslateService$1);
1678
1707
  this.#ANY_OPTION = 'any';
1679
- this.options = signal([]);
1708
+ this.options = signal([], ...(ngDevMode ? [{ debugName: "options" }] : []));
1680
1709
  this.fc = new FormControl(this.#ANY_OPTION, {
1681
1710
  nonNullable: true
1682
1711
  });
@@ -1684,7 +1713,7 @@ class RangeSelectFilesizeComponent extends AbstractMatFormField {
1684
1713
  /**
1685
1714
  * Range values to be used in the dropdown.
1686
1715
  */
1687
- this.ranges = input(['small', 'medium', 'large', 'verylarge']);
1716
+ this.ranges = input(['small', 'medium', 'large', 'verylarge'], ...(ngDevMode ? [{ debugName: "ranges" }] : []));
1688
1717
  // ControlValueAccessor implementation
1689
1718
  // eslint-disable-next-line @typescript-eslint/no-empty-function
1690
1719
  this.propagateChange = (_) => { };
@@ -1732,13 +1761,13 @@ class RangeSelectFilesizeComponent extends AbstractMatFormField {
1732
1761
  ngOnDestroy() {
1733
1762
  super.onNgOnDestroy();
1734
1763
  }
1735
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: RangeSelectFilesizeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1736
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: RangeSelectFilesizeComponent, isStandalone: true, selector: "yuv-range-select-filesize", inputs: { ranges: { classPropertyName: "ranges", publicName: "ranges", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: MatFormFieldControl, useExisting: RangeSelectFilesizeComponent }], usesInheritance: true, ngImport: i0, template: "<mat-select [panelWidth]=\"null\" [hideSingleSelectionIndicator]=\"true\" [formControl]=\"fc\">\n @for (o of options(); track $index) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n</mat-select>\n", styles: [":host{display:flex}:host mat-select{flex:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i1$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i1$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
1764
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: RangeSelectFilesizeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1765
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: RangeSelectFilesizeComponent, isStandalone: true, selector: "yuv-range-select-filesize", inputs: { ranges: { classPropertyName: "ranges", publicName: "ranges", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: MatFormFieldControl, useExisting: RangeSelectFilesizeComponent }], usesInheritance: true, ngImport: i0, template: "<mat-select [panelWidth]=\"null\" [hideSingleSelectionIndicator]=\"true\" [formControl]=\"fc\">\n @for (o of options(); track $index) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n</mat-select>\n", styles: [":host{display:flex}:host mat-select{flex:1}\n"], dependencies: [{ kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i1$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i1$2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
1737
1766
  }
1738
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: RangeSelectFilesizeComponent, decorators: [{
1767
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: RangeSelectFilesizeComponent, decorators: [{
1739
1768
  type: Component,
1740
- args: [{ selector: 'yuv-range-select-filesize', standalone: true, imports: [CommonModule, MatSelectModule, ReactiveFormsModule], providers: [{ provide: MatFormFieldControl, useExisting: RangeSelectFilesizeComponent }], template: "<mat-select [panelWidth]=\"null\" [hideSingleSelectionIndicator]=\"true\" [formControl]=\"fc\">\n @for (o of options(); track $index) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n</mat-select>\n", styles: [":host{display:flex}:host mat-select{flex:1}\n"] }]
1741
- }], ctorParameters: () => [] });
1769
+ args: [{ selector: 'yuv-range-select-filesize', standalone: true, imports: [MatSelectModule, ReactiveFormsModule], providers: [{ provide: MatFormFieldControl, useExisting: RangeSelectFilesizeComponent }], template: "<mat-select [panelWidth]=\"null\" [hideSingleSelectionIndicator]=\"true\" [formControl]=\"fc\">\n @for (o of options(); track $index) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n</mat-select>\n", styles: [":host{display:flex}:host mat-select{flex:1}\n"] }]
1770
+ }], ctorParameters: () => [], propDecorators: { ranges: [{ type: i0.Input, args: [{ isSignal: true, alias: "ranges", required: false }] }] } });
1742
1771
 
1743
1772
  /**
1744
1773
  * Creates form input for strings. Based on the input values different kinds of inputs will be generated.
@@ -1771,15 +1800,31 @@ class StringComponent extends AbstractMatFormField {
1771
1800
  /**
1772
1801
  * Indicator that multiple strings could be inserted, they will be rendered as chips (default: false).
1773
1802
  */
1774
- this.multiselect = false;
1803
+ this.multiselect = input(false, ...(ngDevMode ? [{ debugName: "multiselect" }] : []));
1775
1804
  /**
1776
1805
  * Will prevent the input from being changed (default: false)
1777
1806
  */
1778
- this.readonly = false;
1807
+ this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
1779
1808
  /**
1780
1809
  * Enable autofucus for the input (default: false)
1781
1810
  */
1782
- this.autofocus = false;
1811
+ this.autofocus = input(false, ...(ngDevMode ? [{ debugName: "autofocus" }] : []));
1812
+ /**
1813
+ * Possibles values are `EDIT` (default),`SEARCH`,`CREATE`. In search situation validation of the form element will be turned off, so you are able to enter search terms that do not meet the elements validators.
1814
+ */
1815
+ this.situation = input(undefined, ...(ngDevMode ? [{ debugName: "situation" }] : []));
1816
+ /**
1817
+ * Regular expression to validate the input value against
1818
+ */
1819
+ this.regex = input(undefined, ...(ngDevMode ? [{ debugName: "regex" }] : []));
1820
+ /**
1821
+ * Minimal number of characters
1822
+ */
1823
+ this.minLength = input(undefined, ...(ngDevMode ? [{ debugName: "minLength" }] : []));
1824
+ /**
1825
+ * Maximum number of characters
1826
+ */
1827
+ this.maxLength = input(undefined, ...(ngDevMode ? [{ debugName: "maxLength" }] : []));
1783
1828
  this.valid = false;
1784
1829
  this.validationErrors = [];
1785
1830
  this.#classifications = [];
@@ -1905,7 +1950,7 @@ class StringComponent extends AbstractMatFormField {
1905
1950
  }
1906
1951
  }
1907
1952
  validateClassification(string, classification) {
1908
- if (this.situation === Situation.SEARCH) {
1953
+ if (this.situation() === Situation.SEARCH) {
1909
1954
  return true;
1910
1955
  }
1911
1956
  else {
@@ -1930,9 +1975,9 @@ class StringComponent extends AbstractMatFormField {
1930
1975
  const val = control.value;
1931
1976
  if (!val)
1932
1977
  return null;
1933
- const multiCheck = (check) => !!(this.multiselect ? val : [val]).find((v) => check(v));
1978
+ const multiCheck = (check) => !!(this.multiselect() ? val : [val]).find((v) => check(v));
1934
1979
  // validate regular expression
1935
- if (this.regex && multiCheck((v) => !RegExp(this.regex).test(v))) {
1980
+ if (this.regex() && multiCheck((v) => !RegExp(this.regex()).test(v))) {
1936
1981
  this.validationErrors.push({ key: 'regex' });
1937
1982
  }
1938
1983
  // validate classification settings
@@ -1945,19 +1990,21 @@ class StringComponent extends AbstractMatFormField {
1945
1990
  }
1946
1991
  // validate min length
1947
1992
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
1948
- if (!Utils.isEmpty(this.minLength) && multiCheck((v) => v.length < this.minLength)) {
1949
- this.validationErrors.push({ key: 'minlength', params: { minLength: this.minLength } });
1993
+ const minLength = this.minLength();
1994
+ if (!Utils.isEmpty(minLength) && multiCheck((v) => v.length < this.minLength())) {
1995
+ this.validationErrors.push({ key: 'minlength', params: { minLength: minLength } });
1950
1996
  }
1951
1997
  // validate max length
1952
1998
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
1953
- if (!Utils.isEmpty(this.maxLength) && multiCheck((v) => v.length > this.maxLength)) {
1954
- this.validationErrors.push({ key: 'maxlength', params: { maxLength: this.maxLength } });
1999
+ const maxLength = this.maxLength();
2000
+ if (!Utils.isEmpty(maxLength) && multiCheck((v) => v.length > this.maxLength())) {
2001
+ this.validationErrors.push({ key: 'maxlength', params: { maxLength: maxLength } });
1955
2002
  }
1956
2003
  // validate invalid if only whitespaces
1957
2004
  if (multiCheck((v) => v.length > 0 && !v.trim().length)) {
1958
2005
  this.validationErrors.push({ key: 'onlyWhitespaces' });
1959
2006
  }
1960
- if (this.validationErrors.length && this.multiselect && this.value) {
2007
+ if (this.validationErrors.length && this.multiselect() && this.value) {
1961
2008
  // Setting maxEntryCountIfInvalid to the actual length of the value array to prevent the user to add more entries.
1962
2009
  this.maxEntryCountIfInvalid = this.value.length;
1963
2010
  }
@@ -1986,8 +2033,8 @@ class StringComponent extends AbstractMatFormField {
1986
2033
  this.fc.valueChanges.pipe(takeUntilDestroyed(this.#dRef)).subscribe((v) => this.#onValueChange(v));
1987
2034
  }
1988
2035
  ngAfterViewInit() {
1989
- if (this.autofocus) {
1990
- if (!this.multiselect) {
2036
+ if (this.autofocus()) {
2037
+ if (!this.multiselect()) {
1991
2038
  const el = this.#elRef.nativeElement.querySelector(this.rows && this.rows > 1 ? 'textarea' : 'input');
1992
2039
  if (el)
1993
2040
  el.focus();
@@ -1997,33 +2044,19 @@ class StringComponent extends AbstractMatFormField {
1997
2044
  ngOnDestroy() {
1998
2045
  super.onNgOnDestroy();
1999
2046
  }
2000
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: StringComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2001
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: StringComponent, isStandalone: true, selector: "yuv-string", inputs: { multiselect: "multiselect", rows: "rows", readonly: "readonly", autofocus: "autofocus", classifications: "classifications", situation: "situation", regex: "regex", minLength: "minLength", maxLength: "maxLength" }, host: { properties: { "class.readonly": "readonly" } }, providers: [{ provide: MatFormFieldControl, useExisting: StringComponent }], usesInheritance: true, ngImport: i0, template: "@if ((!rows || rows <= 1) && !multiselect) {\n <input matInput type=\"text\" (blur)=\"onBlur()\" [readonly]=\"readonly\" [formControl]=\"fc\" />\n} @else if ((!rows || rows <= 1) && multiselect) {\n <!-- single line input with multiselect-->\n <yuv-scroll-buttons>\n <mat-chip-grid #chipGrid [formControl]=\"fc\">\n @for (v of value; track v) {\n <mat-chip-row (removed)=\"chipsRemove(v)\" [editable]=\"true\" (edited)=\"chipsEdit(v, $event)\">\n {{ v }}\n <button matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip-row>\n }\n <input\n [matChipInputFor]=\"chipGrid\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"chipsAdd($event)\"\n />\n </mat-chip-grid>\n </yuv-scroll-buttons>\n} @else if (rows && rows > 1) {\n <!-- multi line text inputs -->\n <textarea matInput class=\"input-textarea\" (blur)=\"onBlur()\" [rows]=\"rows\" [readonly]=\"readonly\" [formControl]=\"fc\"></textarea>\n}\n\n@if (classify) {\n <div class=\"classify\">\n @if (value && !validationErrors.length && (classify.hrefPrefix !== '' || !multiselect || value.length <= 1)) {\n <a href=\"{{ classify.hrefPrefix + formatedValue }}\">\n <mat-icon>{{ classify.icon }}</mat-icon>\n </a>\n } @else {\n <mat-icon>{{ classify.icon }}</mat-icon>\n }\n </div>\n}\n", styles: [":host{display:flex;flex-flow:row nowrap;flex:1;align-items:center}:host:has(mat-chip-grid){min-width:0}:host mat-chip-grid{flex:1}:host textarea.input-textarea{width:100%;resize:none;background-color:transparent;border:0;outline:0}:host input{display:flex;flex-wrap:wrap;align-items:center;width:100%;border:0;outline:0;background:transparent}:host.readonly .classify{pointer-events:all}:host .classify a{color:var(--ymt-text-color-subtle);text-decoration:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i1$3.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i1$3.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i1$3.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i1$3.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: ScrollButtonsComponent, selector: "yuv-scroll-buttons", inputs: ["scrollAmount"] }] }); }
2047
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: StringComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2048
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: StringComponent, isStandalone: true, selector: "yuv-string", inputs: { multiselect: { classPropertyName: "multiselect", publicName: "multiselect", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: true, isRequired: false, transformFunction: null }, classifications: { classPropertyName: "classifications", publicName: "classifications", isSignal: false, isRequired: false, transformFunction: null }, situation: { classPropertyName: "situation", publicName: "situation", isSignal: true, isRequired: false, transformFunction: null }, regex: { classPropertyName: "regex", publicName: "regex", isSignal: true, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.readonly": "readonly()" } }, providers: [{ provide: MatFormFieldControl, useExisting: StringComponent }], usesInheritance: true, ngImport: i0, template: "@if ((!rows || rows <= 1) && !multiselect()) {\n <input matInput type=\"text\" (blur)=\"onBlur()\" [readonly]=\"readonly()\" [formControl]=\"fc\" />\n} @else if ((!rows || rows <= 1) && multiselect()) {\n <!-- single line input with multiselect-->\n <yuv-scroll-buttons>\n <mat-chip-grid #chipGrid [formControl]=\"fc\">\n @for (v of value; track v) {\n <mat-chip-row (removed)=\"chipsRemove(v)\" [editable]=\"true\" (edited)=\"chipsEdit(v, $event)\">\n {{ v }}\n <button matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip-row>\n }\n <input\n [matChipInputFor]=\"chipGrid\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"chipsAdd($event)\"\n />\n </mat-chip-grid>\n </yuv-scroll-buttons>\n} @else if (rows && rows > 1) {\n <!-- multi line text inputs -->\n <textarea matInput class=\"input-textarea\" (blur)=\"onBlur()\" [rows]=\"rows\" [readonly]=\"readonly()\" [formControl]=\"fc\"></textarea>\n}\n\n@if (classify) {\n <div class=\"classify\">\n @if (value && !validationErrors.length && (classify.hrefPrefix !== '' || !multiselect() || value.length <= 1)) {\n <a href=\"{{ classify.hrefPrefix + formatedValue }}\">\n <mat-icon>{{ classify.icon }}</mat-icon>\n </a>\n } @else {\n <mat-icon>{{ classify.icon }}</mat-icon>\n }\n </div>\n}\n", styles: [":host{display:flex;flex-flow:row nowrap;flex:1;align-items:center}:host:has(mat-chip-grid){min-width:0}:host mat-chip-grid{flex:1}:host textarea.input-textarea{width:100%;resize:none;background-color:transparent;border:0;outline:0}:host input{display:flex;flex-wrap:wrap;align-items:center;width:100%;border:0;outline:0;background:transparent}:host.readonly .classify{pointer-events:all}:host .classify a{color:var(--ymt-text-color-subtle);text-decoration:none}\n"], dependencies: [{ kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i1$4.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i1$4.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled", "readonly", "matChipInputDisabledInteractive"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i1$4.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i1$4.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: ScrollButtonsComponent, selector: "yuv-scroll-buttons", inputs: ["scrollAmount"] }] }); }
2002
2049
  }
2003
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: StringComponent, decorators: [{
2050
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: StringComponent, decorators: [{
2004
2051
  type: Component,
2005
- args: [{ selector: 'yuv-string', standalone: true, imports: [CommonModule, MatChipsModule, MatIconModule, ReactiveFormsModule, FormsModule, ScrollButtonsComponent], providers: [{ provide: MatFormFieldControl, useExisting: StringComponent }], host: {
2006
- '[class.readonly]': 'readonly'
2007
- }, template: "@if ((!rows || rows <= 1) && !multiselect) {\n <input matInput type=\"text\" (blur)=\"onBlur()\" [readonly]=\"readonly\" [formControl]=\"fc\" />\n} @else if ((!rows || rows <= 1) && multiselect) {\n <!-- single line input with multiselect-->\n <yuv-scroll-buttons>\n <mat-chip-grid #chipGrid [formControl]=\"fc\">\n @for (v of value; track v) {\n <mat-chip-row (removed)=\"chipsRemove(v)\" [editable]=\"true\" (edited)=\"chipsEdit(v, $event)\">\n {{ v }}\n <button matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip-row>\n }\n <input\n [matChipInputFor]=\"chipGrid\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"chipsAdd($event)\"\n />\n </mat-chip-grid>\n </yuv-scroll-buttons>\n} @else if (rows && rows > 1) {\n <!-- multi line text inputs -->\n <textarea matInput class=\"input-textarea\" (blur)=\"onBlur()\" [rows]=\"rows\" [readonly]=\"readonly\" [formControl]=\"fc\"></textarea>\n}\n\n@if (classify) {\n <div class=\"classify\">\n @if (value && !validationErrors.length && (classify.hrefPrefix !== '' || !multiselect || value.length <= 1)) {\n <a href=\"{{ classify.hrefPrefix + formatedValue }}\">\n <mat-icon>{{ classify.icon }}</mat-icon>\n </a>\n } @else {\n <mat-icon>{{ classify.icon }}</mat-icon>\n }\n </div>\n}\n", styles: [":host{display:flex;flex-flow:row nowrap;flex:1;align-items:center}:host:has(mat-chip-grid){min-width:0}:host mat-chip-grid{flex:1}:host textarea.input-textarea{width:100%;resize:none;background-color:transparent;border:0;outline:0}:host input{display:flex;flex-wrap:wrap;align-items:center;width:100%;border:0;outline:0;background:transparent}:host.readonly .classify{pointer-events:all}:host .classify a{color:var(--ymt-text-color-subtle);text-decoration:none}\n"] }]
2008
- }], propDecorators: { multiselect: [{
2009
- type: Input
2010
- }], rows: [{
2011
- type: Input
2012
- }], readonly: [{
2052
+ args: [{ selector: 'yuv-string', standalone: true, imports: [MatChipsModule, MatIconModule, ReactiveFormsModule, FormsModule, ScrollButtonsComponent], providers: [{ provide: MatFormFieldControl, useExisting: StringComponent }], host: {
2053
+ '[class.readonly]': 'readonly()'
2054
+ }, template: "@if ((!rows || rows <= 1) && !multiselect()) {\n <input matInput type=\"text\" (blur)=\"onBlur()\" [readonly]=\"readonly()\" [formControl]=\"fc\" />\n} @else if ((!rows || rows <= 1) && multiselect()) {\n <!-- single line input with multiselect-->\n <yuv-scroll-buttons>\n <mat-chip-grid #chipGrid [formControl]=\"fc\">\n @for (v of value; track v) {\n <mat-chip-row (removed)=\"chipsRemove(v)\" [editable]=\"true\" (edited)=\"chipsEdit(v, $event)\">\n {{ v }}\n <button matChipRemove>\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip-row>\n }\n <input\n [matChipInputFor]=\"chipGrid\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"chipsAdd($event)\"\n />\n </mat-chip-grid>\n </yuv-scroll-buttons>\n} @else if (rows && rows > 1) {\n <!-- multi line text inputs -->\n <textarea matInput class=\"input-textarea\" (blur)=\"onBlur()\" [rows]=\"rows\" [readonly]=\"readonly()\" [formControl]=\"fc\"></textarea>\n}\n\n@if (classify) {\n <div class=\"classify\">\n @if (value && !validationErrors.length && (classify.hrefPrefix !== '' || !multiselect() || value.length <= 1)) {\n <a href=\"{{ classify.hrefPrefix + formatedValue }}\">\n <mat-icon>{{ classify.icon }}</mat-icon>\n </a>\n } @else {\n <mat-icon>{{ classify.icon }}</mat-icon>\n }\n </div>\n}\n", styles: [":host{display:flex;flex-flow:row nowrap;flex:1;align-items:center}:host:has(mat-chip-grid){min-width:0}:host mat-chip-grid{flex:1}:host textarea.input-textarea{width:100%;resize:none;background-color:transparent;border:0;outline:0}:host input{display:flex;flex-wrap:wrap;align-items:center;width:100%;border:0;outline:0;background:transparent}:host.readonly .classify{pointer-events:all}:host .classify a{color:var(--ymt-text-color-subtle);text-decoration:none}\n"] }]
2055
+ }], propDecorators: { multiselect: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiselect", required: false }] }], rows: [{
2013
2056
  type: Input
2014
- }], autofocus: [{
2057
+ }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], autofocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autofocus", required: false }] }], classifications: [{
2015
2058
  type: Input
2016
- }], classifications: [{
2017
- type: Input
2018
- }], situation: [{
2019
- type: Input
2020
- }], regex: [{
2021
- type: Input
2022
- }], minLength: [{
2023
- type: Input
2024
- }], maxLength: [{
2025
- type: Input
2026
- }] } });
2059
+ }], situation: [{ type: i0.Input, args: [{ isSignal: true, alias: "situation", required: false }] }], regex: [{ type: i0.Input, args: [{ isSignal: true, alias: "regex", required: false }] }], minLength: [{ type: i0.Input, args: [{ isSignal: true, alias: "minLength", required: false }] }], maxLength: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxLength", required: false }] }] } });
2027
2060
 
2028
2061
  class CatalogComponent extends AbstractMatFormField {
2029
2062
  constructor() {
@@ -2031,19 +2064,19 @@ class CatalogComponent extends AbstractMatFormField {
2031
2064
  this.#system = inject(SystemService);
2032
2065
  this.#dRef = inject(DestroyRef);
2033
2066
  this.translate = inject(TranslateService);
2034
- this.readonly = input(false);
2035
- this.multiple = input(false);
2036
- this._options = signal([]);
2037
- this.options = input([]);
2067
+ this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
2068
+ this.multiple = input(false, ...(ngDevMode ? [{ debugName: "multiple" }] : []));
2069
+ this._options = signal([], ...(ngDevMode ? [{ debugName: "_options" }] : []));
2070
+ this.options = input([], ...(ngDevMode ? [{ debugName: "options" }] : []));
2038
2071
  this.#optionsEffect = effect(() => {
2039
2072
  untracked(() => {
2040
2073
  this.#setOptions(this.options() || [], false);
2041
2074
  });
2042
- });
2075
+ }, ...(ngDevMode ? [{ debugName: "#optionsEffect" }] : []));
2043
2076
  /**
2044
2077
  * Additional semantics for the form element.
2045
2078
  */
2046
- this.classifications = input([]);
2079
+ this.classifications = input([], ...(ngDevMode ? [{ debugName: "classifications" }] : []));
2047
2080
  this.#classificationEffect = effect(() => {
2048
2081
  const cls = this.classifications();
2049
2082
  untracked(() => {
@@ -2052,11 +2085,11 @@ class CatalogComponent extends AbstractMatFormField {
2052
2085
  this.#setOptions(ce.options, false);
2053
2086
  }
2054
2087
  });
2055
- });
2088
+ }, ...(ngDevMode ? [{ debugName: "#classificationEffect" }] : []));
2056
2089
  /**
2057
2090
  * Possibles values are `EDIT` (default),`SEARCH`,`CREATE`. In search situation validation of the form element will be turned off, so you are able to enter search terms that do not meet the elements validators.
2058
2091
  */
2059
- this.situation = input();
2092
+ this.situation = input(...(ngDevMode ? [undefined, { debugName: "situation" }] : []));
2060
2093
  this.ngControl = injectNgControl(this);
2061
2094
  this.fc = new FormControl(undefined);
2062
2095
  // eslint-disable-next-line @typescript-eslint/no-empty-function
@@ -2117,13 +2150,13 @@ class CatalogComponent extends AbstractMatFormField {
2117
2150
  ngOnDestroy() {
2118
2151
  super.onNgOnDestroy();
2119
2152
  }
2120
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CatalogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2121
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: CatalogComponent, isStandalone: true, selector: "yuv-catalog", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, classifications: { classPropertyName: "classifications", publicName: "classifications", isSignal: true, isRequired: false, transformFunction: null }, situation: { classPropertyName: "situation", publicName: "situation", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: MatFormFieldControl, useExisting: CatalogComponent }], usesInheritance: true, ngImport: i0, template: "<mat-select [multiple]=\"multiple()\" [disabled]=\"readonly()\" [formControl]=\"fc\">\n @for (o of _options(); track o) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n</mat-select>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i1$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i1$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
2153
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: CatalogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2154
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: CatalogComponent, isStandalone: true, selector: "yuv-catalog", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, classifications: { classPropertyName: "classifications", publicName: "classifications", isSignal: true, isRequired: false, transformFunction: null }, situation: { classPropertyName: "situation", publicName: "situation", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: MatFormFieldControl, useExisting: CatalogComponent }], usesInheritance: true, ngImport: i0, template: "<mat-select [multiple]=\"multiple()\" [disabled]=\"readonly()\" [formControl]=\"fc\">\n @for (o of _options(); track o) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n</mat-select>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i1$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i1$2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
2122
2155
  }
2123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: CatalogComponent, decorators: [{
2156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: CatalogComponent, decorators: [{
2124
2157
  type: Component,
2125
- args: [{ selector: 'yuv-catalog', imports: [CommonModule, MatSelectModule, ReactiveFormsModule], providers: [{ provide: MatFormFieldControl, useExisting: CatalogComponent }], template: "<mat-select [multiple]=\"multiple()\" [disabled]=\"readonly()\" [formControl]=\"fc\">\n @for (o of _options(); track o) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n</mat-select>\n" }]
2126
- }] });
2158
+ args: [{ selector: 'yuv-catalog', imports: [MatSelectModule, ReactiveFormsModule], providers: [{ provide: MatFormFieldControl, useExisting: CatalogComponent }], template: "<mat-select [multiple]=\"multiple()\" [disabled]=\"readonly()\" [formControl]=\"fc\">\n @for (o of _options(); track o) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n</mat-select>\n" }]
2159
+ }], propDecorators: { readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], classifications: [{ type: i0.Input, args: [{ isSignal: true, alias: "classifications", required: false }] }], situation: [{ type: i0.Input, args: [{ isSignal: true, alias: "situation", required: false }] }] } });
2127
2160
 
2128
2161
  /**
2129
2162
  * Form element for selecting one or multiple i18n catalog values.
@@ -2142,20 +2175,20 @@ class I18nCatalogComponent extends AbstractMatFormField {
2142
2175
  this.#system = inject(SystemService);
2143
2176
  this.#dRef = inject(DestroyRef);
2144
2177
  this.translate = inject(TranslateService);
2145
- this.readonly = input(false);
2146
- this.multiple = input(false);
2147
- this.propertyName = input(undefined);
2148
- this._options = signal([]);
2149
- this.options = input([]);
2178
+ this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : []));
2179
+ this.multiple = input(false, ...(ngDevMode ? [{ debugName: "multiple" }] : []));
2180
+ this.propertyName = input(undefined, ...(ngDevMode ? [{ debugName: "propertyName" }] : []));
2181
+ this._options = signal([], ...(ngDevMode ? [{ debugName: "_options" }] : []));
2182
+ this.options = input([], ...(ngDevMode ? [{ debugName: "options" }] : []));
2150
2183
  this.#optionsEffect = effect(() => {
2151
2184
  untracked(() => {
2152
2185
  this.#setOptions(this.options());
2153
2186
  });
2154
- });
2187
+ }, ...(ngDevMode ? [{ debugName: "#optionsEffect" }] : []));
2155
2188
  /**
2156
2189
  * Additional semantics for the form element.
2157
2190
  */
2158
- this.classifications = input([]);
2191
+ this.classifications = input([], ...(ngDevMode ? [{ debugName: "classifications" }] : []));
2159
2192
  this.#classificationEffect = effect(() => {
2160
2193
  const cls = this.classifications();
2161
2194
  untracked(() => {
@@ -2164,11 +2197,11 @@ class I18nCatalogComponent extends AbstractMatFormField {
2164
2197
  this.#setOptions(ce.options);
2165
2198
  }
2166
2199
  });
2167
- });
2200
+ }, ...(ngDevMode ? [{ debugName: "#classificationEffect" }] : []));
2168
2201
  /**
2169
2202
  * Possibles values are `EDIT` (default),`SEARCH`,`CREATE`. In search situation validation of the form element will be turned off, so you are able to enter search terms that do not meet the elements validators.
2170
2203
  */
2171
- this.situation = input();
2204
+ this.situation = input(...(ngDevMode ? [undefined, { debugName: "situation" }] : []));
2172
2205
  this.ngControl = injectNgControl(this);
2173
2206
  this.fc = new FormControl(undefined);
2174
2207
  // eslint-disable-next-line @typescript-eslint/no-empty-function
@@ -2226,13 +2259,13 @@ class I18nCatalogComponent extends AbstractMatFormField {
2226
2259
  ngOnDestroy() {
2227
2260
  super.onNgOnDestroy();
2228
2261
  }
2229
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: I18nCatalogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2230
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: I18nCatalogComponent, isStandalone: true, selector: "yuv-i18n-catalog", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, propertyName: { classPropertyName: "propertyName", publicName: "propertyName", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, classifications: { classPropertyName: "classifications", publicName: "classifications", isSignal: true, isRequired: false, transformFunction: null }, situation: { classPropertyName: "situation", publicName: "situation", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: MatFormFieldControl, useExisting: I18nCatalogComponent }], usesInheritance: true, ngImport: i0, template: "<mat-select [multiple]=\"multiple()\" [disabled]=\"readonly()\" [formControl]=\"fc\">\n @for (o of _options(); track o) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n</mat-select>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i1$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i1$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
2262
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: I18nCatalogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2263
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: I18nCatalogComponent, isStandalone: true, selector: "yuv-i18n-catalog", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, propertyName: { classPropertyName: "propertyName", publicName: "propertyName", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, classifications: { classPropertyName: "classifications", publicName: "classifications", isSignal: true, isRequired: false, transformFunction: null }, situation: { classPropertyName: "situation", publicName: "situation", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: MatFormFieldControl, useExisting: I18nCatalogComponent }], usesInheritance: true, ngImport: i0, template: "<mat-select [multiple]=\"multiple()\" [disabled]=\"readonly()\" [formControl]=\"fc\">\n @for (o of _options(); track o) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n</mat-select>", styles: [""], dependencies: [{ kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i1$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i1$2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
2231
2264
  }
2232
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: I18nCatalogComponent, decorators: [{
2265
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: I18nCatalogComponent, decorators: [{
2233
2266
  type: Component,
2234
- args: [{ selector: 'yuv-i18n-catalog', imports: [CommonModule, MatSelectModule, ReactiveFormsModule], providers: [{ provide: MatFormFieldControl, useExisting: I18nCatalogComponent }], template: "<mat-select [multiple]=\"multiple()\" [disabled]=\"readonly()\" [formControl]=\"fc\">\n @for (o of _options(); track o) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n</mat-select>" }]
2235
- }], ctorParameters: () => [] });
2267
+ args: [{ selector: 'yuv-i18n-catalog', imports: [MatSelectModule, ReactiveFormsModule], providers: [{ provide: MatFormFieldControl, useExisting: I18nCatalogComponent }], template: "<mat-select [multiple]=\"multiple()\" [disabled]=\"readonly()\" [formControl]=\"fc\">\n @for (o of _options(); track o) {\n <mat-option [value]=\"o.value\">{{ o.label }}</mat-option>\n }\n</mat-select>" }]
2268
+ }], ctorParameters: () => [], propDecorators: { readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], propertyName: [{ type: i0.Input, args: [{ isSignal: true, alias: "propertyName", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], classifications: [{ type: i0.Input, args: [{ isSignal: true, alias: "classifications", required: false }] }], situation: [{ type: i0.Input, args: [{ isSignal: true, alias: "situation", required: false }] }] } });
2236
2269
 
2237
2270
  const formElementCmps = [
2238
2271
  StringComponent,
@@ -2249,8 +2282,8 @@ const formElementCmps = [
2249
2282
  * Module for the forms library.
2250
2283
  */
2251
2284
  class YuvFormsModule {
2252
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: YuvFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2253
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: YuvFormsModule, imports: [StringComponent,
2285
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: YuvFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2286
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.19", ngImport: i0, type: YuvFormsModule, imports: [StringComponent,
2254
2287
  NumberComponent,
2255
2288
  NumberRangeComponent,
2256
2289
  DatetimeComponent,
@@ -2267,9 +2300,9 @@ class YuvFormsModule {
2267
2300
  StringComponent,
2268
2301
  CatalogComponent,
2269
2302
  I18nCatalogComponent] }); }
2270
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: YuvFormsModule, imports: [formElementCmps] }); }
2303
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: YuvFormsModule, imports: [formElementCmps] }); }
2271
2304
  }
2272
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: YuvFormsModule, decorators: [{
2305
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: YuvFormsModule, decorators: [{
2273
2306
  type: NgModule,
2274
2307
  args: [{
2275
2308
  imports: [...formElementCmps],