@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
1
  import * as i0 from '@angular/core';
2
2
  import { input, output, viewChild, ChangeDetectionStrategy, Component, Injectable, inject, ViewContainerRef, effect, Directive, DestroyRef, ElementRef, contentChild, viewChildren, computed, signal, linkedSignal, untracked } from '@angular/core';
3
- import * as i1 from '@yuuvis/client-core';
4
- import { ObjectConfigService, DmsService, SearchService, DmsObject, BaseObjectTypeField, TranslateModule, SystemService, ContentStreamField, Utils, Sort } from '@yuuvis/client-core';
3
+ import { ObjectConfigService, DmsService, SearchService, DmsObject, BaseObjectTypeField, TranslatePipe, SystemService, ContentStreamField, Utils, Sort } from '@yuuvis/client-core';
5
4
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
6
5
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
7
6
  import * as i1$2 from '@angular/forms';
8
7
  import { ReactiveFormsModule, FormsModule } from '@angular/forms';
9
- import * as i4 from '@angular/material/icon';
8
+ import * as i3 from '@angular/material/icon';
10
9
  import { MatIcon, MatIconModule } from '@angular/material/icon';
11
10
  import { MatMenu, MatMenuItem, MatMenuTrigger } from '@angular/material/menu';
12
11
  import { MatPaginatorModule } from '@angular/material/paginator';
13
- import * as i2$1 from '@angular/material/tooltip';
12
+ import * as i4 from '@angular/material/tooltip';
14
13
  import { MatTooltip, MAT_TOOLTIP_DEFAULT_OPTIONS, MatTooltipModule } from '@angular/material/tooltip';
15
14
  import { ActionsService } from '@yuuvis/client-framework/actions';
16
- import * as i2 from '@yuuvis/client-framework/list';
15
+ import * as i1 from '@yuuvis/client-framework/list';
17
16
  import { YuvListModule } from '@yuuvis/client-framework/list';
18
- import * as i3 from '@yuuvis/client-framework/query-list';
17
+ import * as i2 from '@yuuvis/client-framework/query-list';
19
18
  import { YuvQueryListModule } from '@yuuvis/client-framework/query-list';
20
19
  import { RendererDirective } from '@yuuvis/client-framework/renderer';
21
20
  import { YmtMatIconRegistryService, YmtIconButtonDirective, YmtButtonDirective } from '@yuuvis/material';
@@ -24,16 +23,16 @@ import * as i1$1 from '@angular/material/button';
24
23
  import { MatButtonModule } from '@angular/material/button';
25
24
  import { MatDialogModule, MatDialog } from '@angular/material/dialog';
26
25
  import { MatFormFieldModule } from '@angular/material/form-field';
27
- import * as i3$1 from '@angular/material/select';
26
+ import * as i2$1 from '@angular/material/select';
28
27
  import { MatSelectModule } from '@angular/material/select';
29
28
  import { DialogComponent } from '@yuuvis/client-framework/common';
30
- import { NgClass, CommonModule } from '@angular/common';
29
+ import { NgClass } from '@angular/common';
31
30
  import { ObjectTypeIconComponent } from '@yuuvis/client-framework/icons';
32
- import { TranslateModule as TranslateModule$1 } from '@ngx-translate/core';
31
+ import { TranslatePipe as TranslatePipe$1 } from '@ngx-translate/core';
33
32
 
34
33
  class TileActionsMenuComponent {
35
34
  constructor() {
36
- this.actions = input.required();
35
+ this.actions = input.required(...(ngDevMode ? [{ debugName: "actions" }] : []));
37
36
  this.itemSelect = output();
38
37
  this.matMenu = viewChild.required('menuRef');
39
38
  }
@@ -42,8 +41,8 @@ class TileActionsMenuComponent {
42
41
  event.preventDefault();
43
42
  this.itemSelect.emit(action);
44
43
  }
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TileActionsMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
46
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TileActionsMenuComponent, isStandalone: true, selector: "yuv-tile-actions-menu", inputs: { actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { itemSelect: "itemSelect" }, providers: [{ provide: MAT_TOOLTIP_DEFAULT_OPTIONS, useValue: { position: 'right' } }], viewQueries: [{ propertyName: "matMenu", first: true, predicate: ["menuRef"], descendants: true, isSignal: true }], ngImport: i0, template: `
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: TileActionsMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
45
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: TileActionsMenuComponent, isStandalone: true, selector: "yuv-tile-actions-menu", inputs: { actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { itemSelect: "itemSelect" }, providers: [{ provide: MAT_TOOLTIP_DEFAULT_OPTIONS, useValue: { position: 'right' } }], viewQueries: [{ propertyName: "matMenu", first: true, predicate: ["menuRef"], descendants: true, isSignal: true }], ngImport: i0, template: `
47
46
  <mat-menu #menuRef>
48
47
  @for (action of actions(); track action.id) {
49
48
  <button
@@ -61,7 +60,7 @@ class TileActionsMenuComponent {
61
60
  </mat-menu>
62
61
  `, isInline: true, styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: 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: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
63
62
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TileActionsMenuComponent, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: TileActionsMenuComponent, decorators: [{
65
64
  type: Component,
66
65
  args: [{ selector: 'yuv-tile-actions-menu', imports: [MatMenu, MatIcon, MatMenuItem, MatTooltip], template: `
67
66
  <mat-menu #menuRef>
@@ -80,7 +79,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
80
79
  }
81
80
  </mat-menu>
82
81
  `, providers: [{ provide: MAT_TOOLTIP_DEFAULT_OPTIONS, useValue: { position: 'right' } }], changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block}\n"] }]
83
- }] });
82
+ }], propDecorators: { actions: [{ type: i0.Input, args: [{ isSignal: true, alias: "actions", required: true }] }], itemSelect: [{ type: i0.Output, args: ["itemSelect"] }], matMenu: [{ type: i0.ViewChild, args: ['menuRef', { isSignal: true }] }] } });
84
83
 
85
84
  class TileExtensionService {
86
85
  constructor() {
@@ -105,10 +104,10 @@ class TileExtensionService {
105
104
  getTileExtension(typeId) {
106
105
  return this._extensions[typeId];
107
106
  }
108
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TileExtensionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
109
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TileExtensionService, providedIn: 'root' }); }
107
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: TileExtensionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
108
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: TileExtensionService, providedIn: 'root' }); }
110
109
  }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TileExtensionService, decorators: [{
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: TileExtensionService, decorators: [{
112
111
  type: Injectable,
113
112
  args: [{
114
113
  providedIn: 'root'
@@ -119,7 +118,7 @@ class TileExtensionDirective {
119
118
  constructor() {
120
119
  this.#tileExtensioService = inject(TileExtensionService);
121
120
  this.#containerRef = inject(ViewContainerRef);
122
- this.yuvTileExtension = input.required();
121
+ this.yuvTileExtension = input.required(...(ngDevMode ? [{ debugName: "yuvTileExtension" }] : []));
123
122
  this.#yuvTileExtensionEffect = effect(() => {
124
123
  const tile = this.yuvTileExtension();
125
124
  if (tile.typeId) {
@@ -127,7 +126,7 @@ class TileExtensionDirective {
127
126
  if (ext)
128
127
  this._render(ext, tile.data);
129
128
  }
130
- });
129
+ }, ...(ngDevMode ? [{ debugName: "#yuvTileExtensionEffect" }] : []));
131
130
  }
132
131
  #tileExtensioService;
133
132
  #containerRef;
@@ -138,16 +137,16 @@ class TileExtensionDirective {
138
137
  this.component = this.#containerRef.createComponent(ext.cmp);
139
138
  this.component.setInput('data', data);
140
139
  }
141
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TileExtensionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
142
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", type: TileExtensionDirective, isStandalone: true, selector: "[yuvTileExtension]", inputs: { yuvTileExtension: { classPropertyName: "yuvTileExtension", publicName: "yuvTileExtension", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
140
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: TileExtensionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
141
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.19", type: TileExtensionDirective, isStandalone: true, selector: "[yuvTileExtension]", inputs: { yuvTileExtension: { classPropertyName: "yuvTileExtension", publicName: "yuvTileExtension", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
143
142
  }
144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TileExtensionDirective, decorators: [{
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: TileExtensionDirective, decorators: [{
145
144
  type: Directive,
146
145
  args: [{
147
146
  selector: '[yuvTileExtension]',
148
147
  standalone: true
149
148
  }]
150
- }] });
149
+ }], propDecorators: { yuvTileExtension: [{ type: i0.Input, args: [{ isSignal: true, alias: "yuvTileExtension", required: true }] }] } });
151
150
 
152
151
  const MATERIAL_IMPORTS = [MatIconModule, MatPaginatorModule, MatTooltipModule, MatMenuTrigger];
153
152
  /**
@@ -238,7 +237,7 @@ class TileListComponent {
238
237
  * </yuv-tile-list>
239
238
  * ```
240
239
  */
241
- this.menuComponent = contentChild(TileActionsMenuComponent);
240
+ this.menuComponent = contentChild(TileActionsMenuComponent, ...(ngDevMode ? [{ debugName: "menuComponent" }] : []));
242
241
  /**
243
242
  * Optional projected element shown when the query returns an empty result set.
244
243
  *
@@ -249,7 +248,7 @@ class TileListComponent {
249
248
  * </yuv-tile-list>
250
249
  * ```
251
250
  */
252
- this.emptyContent = contentChild('empty');
251
+ this.emptyContent = contentChild('empty', ...(ngDevMode ? [{ debugName: "emptyContent" }] : []));
253
252
  /**
254
253
  * Reference to the inner `QueryListComponent` instance.
255
254
  *
@@ -264,7 +263,7 @@ class TileListComponent {
264
263
  * Used by `#closeMenuEffect` to close every open context/action menu when the user
265
264
  * selects a menu item, ensuring only one menu is open at a time.
266
265
  */
267
- this.menuTriggers = viewChildren(MatMenuTrigger);
266
+ this.menuTriggers = viewChildren(MatMenuTrigger, ...(ngDevMode ? [{ debugName: "menuTriggers" }] : []));
268
267
  /**
269
268
  * Namespace key for storing and retrieving this instance's tile configuration.
270
269
  *
@@ -276,7 +275,7 @@ class TileListComponent {
276
275
  * Use a unique, stable string — e.g. `"my-app.inbox-list"`. If omitted, the global
277
276
  * default configuration is used.
278
277
  */
279
- this.bucket = input();
278
+ this.bucket = input(...(ngDevMode ? [undefined, { debugName: "bucket" }] : []));
280
279
  /**
281
280
  * Number of result items to request per page from the search service.
282
281
  *
@@ -286,7 +285,7 @@ class TileListComponent {
286
285
  *
287
286
  * @default SearchService.DEFAULT_QUERY_SIZE
288
287
  */
289
- this.pageSize = input(SearchService.DEFAULT_QUERY_SIZE);
288
+ this.pageSize = input(SearchService.DEFAULT_QUERY_SIZE, ...(ngDevMode ? [{ debugName: "pageSize" }] : []));
290
289
  /**
291
290
  * Enables multi-selection mode.
292
291
  *
@@ -297,7 +296,7 @@ class TileListComponent {
297
296
  *
298
297
  * @default false
299
298
  */
300
- this.multiselect = input(false);
299
+ this.multiselect = input(false, ...(ngDevMode ? [{ debugName: "multiselect" }] : []));
301
300
  /**
302
301
  * Renders tiles in a compact, reduced-height style.
303
302
  *
@@ -306,7 +305,7 @@ class TileListComponent {
306
305
  *
307
306
  * @default false
308
307
  */
309
- this.dense = input(false);
308
+ this.dense = input(false, ...(ngDevMode ? [{ debugName: "dense" }] : []));
310
309
  /**
311
310
  * Extended configuration options for the tile list.
312
311
  *
@@ -316,7 +315,7 @@ class TileListComponent {
316
315
  * - `configTypes` — virtual config type overrides that let you map specific
317
316
  * object-type / SOT combinations to a different `ObjectConfigRecord` entry.
318
317
  */
319
- this.options = input(undefined);
318
+ this.options = input(undefined, ...(ngDevMode ? [{ debugName: "options" }] : []));
320
319
  /**
321
320
  * Object flavor to overlay on matching tiles.
322
321
  *
@@ -328,7 +327,7 @@ class TileListComponent {
328
327
  * Changes are applied reactively via `#flavorEffect` and re-evaluated against the
329
328
  * last raw result set via `applyFlavor()`.
330
329
  */
331
- this.flavor = input();
330
+ this.flavor = input(...(ngDevMode ? [undefined, { debugName: "flavor" }] : []));
332
331
  /**
333
332
  * The search query to execute.
334
333
  *
@@ -337,7 +336,7 @@ class TileListComponent {
337
336
  * `system:objectTypeId` field — tiles without a resolved object type will throw at
338
337
  * mapping time.
339
338
  */
340
- this.query = input();
339
+ this.query = input(...(ngDevMode ? [undefined, { debugName: "query" }] : []));
341
340
  /**
342
341
  * Object IDs to select as soon as the list finishes loading.
343
342
  *
@@ -349,7 +348,7 @@ class TileListComponent {
349
348
  *
350
349
  * @default []
351
350
  */
352
- this.preselect = input([]);
351
+ this.preselect = input([], ...(ngDevMode ? [{ debugName: "preselect" }] : []));
353
352
  /**
354
353
  * Per-item CSS style overrides rendered as inline styles on matching tiles.
355
354
  *
@@ -360,7 +359,7 @@ class TileListComponent {
360
359
  *
361
360
  * @default []
362
361
  */
363
- this.highlights = input([]);
362
+ this.highlights = input([], ...(ngDevMode ? [{ debugName: "highlights" }] : []));
364
363
  /**
365
364
  * Guard function that temporarily blocks all selection changes.
366
365
  *
@@ -370,7 +369,7 @@ class TileListComponent {
370
369
  *
371
370
  * @default () => false (never prevents)
372
371
  */
373
- this.preventChangeUntil = input(() => false);
372
+ this.preventChangeUntil = input(() => false, ...(ngDevMode ? [{ debugName: "preventChangeUntil" }] : []));
374
373
  /**
375
374
  * Automatically selects an item when the list is first rendered.
376
375
  *
@@ -380,9 +379,9 @@ class TileListComponent {
380
379
  *
381
380
  * @default false
382
381
  */
383
- this.autoSelect = input(false, {
384
- transform: (value) => coerceBooleanProperty(value)
385
- });
382
+ this.autoSelect = input(false, ...(ngDevMode ? [{ debugName: "autoSelect", transform: (value) => coerceBooleanProperty(value) }] : [{
383
+ transform: (value) => coerceBooleanProperty(value)
384
+ }]));
386
385
  /**
387
386
  * Suppresses the component's built-in context menu handling.
388
387
  *
@@ -392,7 +391,7 @@ class TileListComponent {
392
391
  *
393
392
  * @default false
394
393
  */
395
- this.disableCustomContextMenu = input(false);
394
+ this.disableCustomContextMenu = input(false, ...(ngDevMode ? [{ debugName: "disableCustomContextMenu" }] : []));
396
395
  /**
397
396
  * Emits the `TileData` of the most recently selected tile.
398
397
  *
@@ -468,7 +467,7 @@ class TileListComponent {
468
467
  this.menu = computed(() => {
469
468
  const comp = this.menuComponent();
470
469
  return comp?.matMenu() ?? null;
471
- });
470
+ }, ...(ngDevMode ? [{ debugName: "menu" }] : []));
472
471
  /**
473
472
  * The full `TileData` objects for all currently selected tiles.
474
473
  *
@@ -476,16 +475,16 @@ class TileListComponent {
476
475
  * the parent needs rich tile data (fields, DMS object reference, actions) rather than
477
476
  * just IDs.
478
477
  */
479
- this.selectedTile = signal([]);
478
+ this.selectedTile = signal([], ...(ngDevMode ? [{ debugName: "selectedTile" }] : []));
480
479
  /**
481
480
  * Object IDs of the currently selected tiles.
482
481
  *
483
482
  * A flat `string[]` signal — convenient for ID comparisons, permission checks, or
484
483
  * passing to services that work with IDs. For the full tile data, use `selectedTile`.
485
484
  */
486
- this.selection = signal([]);
487
- this.#busy = computed(() => this.list().busy());
488
- this.#preselect = linkedSignal(this.preselect);
485
+ this.selection = signal([], ...(ngDevMode ? [{ debugName: "selection" }] : []));
486
+ this.#busy = computed(() => this.list().busy(), ...(ngDevMode ? [{ debugName: "#busy" }] : []));
487
+ this.#preselect = linkedSignal(this.preselect, ...(ngDevMode ? [{ debugName: "#preselect" }] : []));
489
488
  /**
490
489
  * Computed map of per-object-ID inline CSS styles derived from the `highlights` input.
491
490
  *
@@ -504,7 +503,7 @@ class TileListComponent {
504
503
  });
505
504
  });
506
505
  return x;
507
- });
506
+ }, ...(ngDevMode ? [{ debugName: "highlightStyles" }] : []));
508
507
  /**
509
508
  * The `TileData` view models currently rendered in the list.
510
509
  *
@@ -512,7 +511,7 @@ class TileListComponent {
512
511
  * prepended by `dropItems()`. The template iterates over this signal directly.
513
512
  * Read this from the parent to access displayed tile data without an extra query.
514
513
  */
515
- this.items = signal([]);
514
+ this.items = signal([], ...(ngDevMode ? [{ debugName: "items" }] : []));
516
515
  /**
517
516
  * Indicates whether at least one search has been executed successfully.
518
517
  *
@@ -520,7 +519,7 @@ class TileListComponent {
520
519
  * to distinguish between "initial loading" (show a spinner) and "empty result"
521
520
  * (show the empty-state slot) without relying on `items().length` alone.
522
521
  */
523
- this.searchExecuted = signal(false);
522
+ this.searchExecuted = signal(false, ...(ngDevMode ? [{ debugName: "searchExecuted" }] : []));
524
523
  this._selection = [];
525
524
  //#endregion
526
525
  //#region Public methods
@@ -1200,13 +1199,13 @@ class TileListComponent {
1200
1199
  #flavorEffect;
1201
1200
  #preselectEffect;
1202
1201
  #closeMenuEffect;
1203
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TileListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1204
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TileListComponent, isStandalone: true, selector: "yuv-tile-list", inputs: { bucket: { classPropertyName: "bucket", publicName: "bucket", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, multiselect: { classPropertyName: "multiselect", publicName: "multiselect", isSignal: true, isRequired: false, transformFunction: null }, dense: { classPropertyName: "dense", publicName: "dense", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, flavor: { classPropertyName: "flavor", publicName: "flavor", isSignal: true, isRequired: false, transformFunction: null }, query: { classPropertyName: "query", publicName: "query", isSignal: true, isRequired: false, transformFunction: null }, preselect: { classPropertyName: "preselect", publicName: "preselect", isSignal: true, isRequired: false, transformFunction: null }, highlights: { classPropertyName: "highlights", publicName: "highlights", isSignal: true, isRequired: false, transformFunction: null }, preventChangeUntil: { classPropertyName: "preventChangeUntil", publicName: "preventChangeUntil", isSignal: true, isRequired: false, transformFunction: null }, autoSelect: { classPropertyName: "autoSelect", publicName: "autoSelect", isSignal: true, isRequired: false, transformFunction: null }, disableCustomContextMenu: { classPropertyName: "disableCustomContextMenu", publicName: "disableCustomContextMenu", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemSelect: "itemSelect", tileCopy: "tileCopy", tileCut: "tileCut", busy: "busy", queryResult: "queryResult", selectionChange: "selectionChange", itemDblClick: "itemDblClick", ctxMenu: "ctxMenu" }, host: { listeners: { "keydown.control.c": "onCopy($event)", "keydown.control.x": "onCut($event)" }, properties: { "class.dense": "dense()" } }, providers: [], queries: [{ propertyName: "menuComponent", first: true, predicate: TileActionsMenuComponent, descendants: true, isSignal: true }, { propertyName: "emptyContent", first: true, predicate: ["empty"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "list", first: true, predicate: ["list"], descendants: true, isSignal: true }, { propertyName: "menuTriggers", predicate: MatMenuTrigger, descendants: true, isSignal: true }], ngImport: i0, template: "<yuv-query-list\n #list\n [query]=\"query()\"\n [transformer]=\"transformer\"\n idProperty=\"id\"\n [preventChangeUntil]=\"preventChangeUntil()\"\n [autoSelect]=\"autoSelect()\"\n [pageSize]=\"pageSize()\"\n [multiselect]=\"multiselect()\"\n (itemDoubleClick)=\"onItemDoubleClick($event)\"\n (itemSelect)=\"onListItemsSelect($event)\"\n (queryResult)=\"onQueryResult($event)\"\n (dragSelectChange)=\"onDragSelectChange($event)\"\n>\n <ng-template #yuvQueryListItem let-item let-index=\"index\">\n <yuv-list-tile [class.dense]=\"dense()\" [style]=\"highlightStyles()[item.id]\" (contextmenu)=\"contextMenuHandler($event, index)\">\n <ng-template #iconSlot><ng-container *yuvRenderer=\"item.icon\" /></ng-template>\n <ng-template #titleSlot><ng-container *yuvRenderer=\"item.title\" /></ng-template>\n <ng-template #descriptionSlot><ng-container *yuvRenderer=\"item.description\" /></ng-template>\n <ng-template #metaSlot><ng-container *yuvRenderer=\"item.meta\" /></ng-template>\n <ng-template #asideSlot><ng-container *yuvRenderer=\"item.aside\" /></ng-template>\n <ng-template #actionsSlot>\n @for (a of item.actions; track a.id) {\n <button\n ymt-icon-button\n [matTooltip]=\"a.label\"\n icon-button-size=\"small\"\n (click)=\"executeAction(item, a, $event)\"\n >\n <mat-icon inert=\"true\">{{ a.icon }}</mat-icon>\n </button>\n }\n\n @if (menu()) {\n <button\n ymt-icon-button\n icon-button-size=\"small\"\n (click)=\"menuItemClicked(item, $event)\"\n [matTooltip]=\"'yuv.tile-list.item.actions-menu.button.tooltip' | translate\"\n [matMenuTriggerFor]=\"menu()\"\n >\n <mat-icon inert=\"true\">more_vert</mat-icon>\n </button>\n }\n <ng-content select=\"yuv-tile-actions-menu, [yuv-tile-actions-menu]\" />\n </ng-template>\n <ng-template #extensionSlot>\n <ng-container *yuvTileExtension=\"{ typeId: item.objectTypeId, data: item.instanceData }\" />\n </ng-template>\n <ng-template #badgesSlot>{{ item.badges }}</ng-template>\n </yuv-list-tile>\n </ng-template>\n\n <ng-template #yuvQueryListEmpty>\n <div class=\"empty-list\">\n @let searchExe = searchExecuted();\n @if (searchExe && emptyContent()) {\n <ng-content />\n }\n </div>\n </ng-template>\n <div class=\"offset\" (click)=\"clearSelection()\"></div>\n</yuv-query-list>\n", styles: [":host{--paging-background: var(--ymt-surface);display:flex;flex-direction:column}:host yuv-query-list{flex:1;overflow-y:auto;display:flex;flex-flow:column;height:100%}:host yuv-query-list .offset{flex:1 1 auto}:host .empty-list{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: YuvListModule }, { kind: "component", type: i2.ListTileComponent, selector: "yuv-list-tile" }, { kind: "ngmodule", type: YuvQueryListModule }, { kind: "component", type: i3.QueryListComponent, selector: "yuv-query-list", inputs: ["query", "idProperty", "transformer", "preventChangeUntil", "autoSelect", "pageSize", "enableDragSelect", "multiselect", "selfHandleSelection", "includePermissions"], outputs: ["itemSelect", "dragSelectChange", "itemDoubleClick", "queryResult"] }, { kind: "directive", type: RendererDirective, selector: "[yuvRenderer]", inputs: ["yuvRenderer"] }, { kind: "directive", type: TileExtensionDirective, selector: "[yuvTileExtension]", inputs: ["yuvTileExtension"] }, { 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: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1202
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: TileListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1203
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: TileListComponent, isStandalone: true, selector: "yuv-tile-list", inputs: { bucket: { classPropertyName: "bucket", publicName: "bucket", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, multiselect: { classPropertyName: "multiselect", publicName: "multiselect", isSignal: true, isRequired: false, transformFunction: null }, dense: { classPropertyName: "dense", publicName: "dense", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, flavor: { classPropertyName: "flavor", publicName: "flavor", isSignal: true, isRequired: false, transformFunction: null }, query: { classPropertyName: "query", publicName: "query", isSignal: true, isRequired: false, transformFunction: null }, preselect: { classPropertyName: "preselect", publicName: "preselect", isSignal: true, isRequired: false, transformFunction: null }, highlights: { classPropertyName: "highlights", publicName: "highlights", isSignal: true, isRequired: false, transformFunction: null }, preventChangeUntil: { classPropertyName: "preventChangeUntil", publicName: "preventChangeUntil", isSignal: true, isRequired: false, transformFunction: null }, autoSelect: { classPropertyName: "autoSelect", publicName: "autoSelect", isSignal: true, isRequired: false, transformFunction: null }, disableCustomContextMenu: { classPropertyName: "disableCustomContextMenu", publicName: "disableCustomContextMenu", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemSelect: "itemSelect", tileCopy: "tileCopy", tileCut: "tileCut", busy: "busy", queryResult: "queryResult", selectionChange: "selectionChange", itemDblClick: "itemDblClick", ctxMenu: "ctxMenu" }, host: { listeners: { "keydown.control.c": "onCopy($event)", "keydown.control.x": "onCut($event)" }, properties: { "class.dense": "dense()" } }, providers: [], queries: [{ propertyName: "menuComponent", first: true, predicate: TileActionsMenuComponent, descendants: true, isSignal: true }, { propertyName: "emptyContent", first: true, predicate: ["empty"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "list", first: true, predicate: ["list"], descendants: true, isSignal: true }, { propertyName: "menuTriggers", predicate: MatMenuTrigger, descendants: true, isSignal: true }], ngImport: i0, template: "<yuv-query-list\n #list\n [query]=\"query()\"\n [transformer]=\"transformer\"\n idProperty=\"id\"\n [preventChangeUntil]=\"preventChangeUntil()\"\n [autoSelect]=\"autoSelect()\"\n [pageSize]=\"pageSize()\"\n [multiselect]=\"multiselect()\"\n (itemDoubleClick)=\"onItemDoubleClick($event)\"\n (itemSelect)=\"onListItemsSelect($event)\"\n (queryResult)=\"onQueryResult($event)\"\n (dragSelectChange)=\"onDragSelectChange($event)\"\n>\n <ng-template #yuvQueryListItem let-item let-index=\"index\">\n <yuv-list-tile [class.dense]=\"dense()\" [style]=\"highlightStyles()[item.id]\" (contextmenu)=\"contextMenuHandler($event, index)\">\n <ng-template #iconSlot><ng-container *yuvRenderer=\"item.icon\" /></ng-template>\n <ng-template #titleSlot><ng-container *yuvRenderer=\"item.title\" /></ng-template>\n <ng-template #descriptionSlot><ng-container *yuvRenderer=\"item.description\" /></ng-template>\n <ng-template #metaSlot><ng-container *yuvRenderer=\"item.meta\" /></ng-template>\n <ng-template #asideSlot><ng-container *yuvRenderer=\"item.aside\" /></ng-template>\n <ng-template #actionsSlot>\n @for (a of item.actions; track a.id) {\n <button\n ymt-icon-button\n [matTooltip]=\"a.label\"\n icon-button-size=\"small\"\n (click)=\"executeAction(item, a, $event)\"\n >\n <mat-icon inert=\"true\">{{ a.icon }}</mat-icon>\n </button>\n }\n\n @if (menu()) {\n <button\n ymt-icon-button\n icon-button-size=\"small\"\n (click)=\"menuItemClicked(item, $event)\"\n [matTooltip]=\"'yuv.tile-list.item.actions-menu.button.tooltip' | translate\"\n [matMenuTriggerFor]=\"menu()\"\n >\n <mat-icon inert=\"true\">more_vert</mat-icon>\n </button>\n }\n <ng-content select=\"yuv-tile-actions-menu, [yuv-tile-actions-menu]\" />\n </ng-template>\n <ng-template #extensionSlot>\n <ng-container *yuvTileExtension=\"{ typeId: item.objectTypeId, data: item.instanceData }\" />\n </ng-template>\n <ng-template #badgesSlot>{{ item.badges }}</ng-template>\n </yuv-list-tile>\n </ng-template>\n\n <ng-template #yuvQueryListEmpty>\n <div class=\"empty-list\">\n @let searchExe = searchExecuted();\n @if (searchExe && emptyContent()) {\n <ng-content />\n }\n </div>\n </ng-template>\n <div class=\"offset\" (click)=\"clearSelection()\"></div>\n</yuv-query-list>\n", styles: [":host{--paging-background: var(--ymt-surface);display:flex;flex-direction:column}:host yuv-query-list{flex:1;overflow-y:auto;display:flex;flex-flow:column;height:100%}:host yuv-query-list .offset{flex:1 1 auto}:host .empty-list{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: YuvListModule }, { kind: "component", type: i1.ListTileComponent, selector: "yuv-list-tile" }, { kind: "ngmodule", type: YuvQueryListModule }, { kind: "component", type: i2.QueryListComponent, selector: "yuv-query-list", inputs: ["query", "idProperty", "transformer", "preventChangeUntil", "autoSelect", "pageSize", "enableDragSelect", "multiselect", "selfHandleSelection", "includePermissions"], outputs: ["itemSelect", "dragSelectChange", "itemDoubleClick", "queryResult"] }, { kind: "directive", type: RendererDirective, selector: "[yuvRenderer]", inputs: ["yuvRenderer"] }, { kind: "directive", type: TileExtensionDirective, selector: "[yuvTileExtension]", inputs: ["yuvTileExtension"] }, { 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: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatPaginatorModule }, { 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: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1205
1204
  }
1206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TileListComponent, decorators: [{
1205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: TileListComponent, decorators: [{
1207
1206
  type: Component,
1208
1207
  args: [{ selector: 'yuv-tile-list', standalone: true, providers: [], imports: [
1209
- TranslateModule,
1208
+ TranslatePipe,
1210
1209
  ReactiveFormsModule,
1211
1210
  YuvListModule,
1212
1211
  YuvQueryListModule,
@@ -1220,30 +1219,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
1220
1219
  '(keydown.control.c)': 'onCopy($event)',
1221
1220
  '(keydown.control.x)': 'onCut($event)'
1222
1221
  }, template: "<yuv-query-list\n #list\n [query]=\"query()\"\n [transformer]=\"transformer\"\n idProperty=\"id\"\n [preventChangeUntil]=\"preventChangeUntil()\"\n [autoSelect]=\"autoSelect()\"\n [pageSize]=\"pageSize()\"\n [multiselect]=\"multiselect()\"\n (itemDoubleClick)=\"onItemDoubleClick($event)\"\n (itemSelect)=\"onListItemsSelect($event)\"\n (queryResult)=\"onQueryResult($event)\"\n (dragSelectChange)=\"onDragSelectChange($event)\"\n>\n <ng-template #yuvQueryListItem let-item let-index=\"index\">\n <yuv-list-tile [class.dense]=\"dense()\" [style]=\"highlightStyles()[item.id]\" (contextmenu)=\"contextMenuHandler($event, index)\">\n <ng-template #iconSlot><ng-container *yuvRenderer=\"item.icon\" /></ng-template>\n <ng-template #titleSlot><ng-container *yuvRenderer=\"item.title\" /></ng-template>\n <ng-template #descriptionSlot><ng-container *yuvRenderer=\"item.description\" /></ng-template>\n <ng-template #metaSlot><ng-container *yuvRenderer=\"item.meta\" /></ng-template>\n <ng-template #asideSlot><ng-container *yuvRenderer=\"item.aside\" /></ng-template>\n <ng-template #actionsSlot>\n @for (a of item.actions; track a.id) {\n <button\n ymt-icon-button\n [matTooltip]=\"a.label\"\n icon-button-size=\"small\"\n (click)=\"executeAction(item, a, $event)\"\n >\n <mat-icon inert=\"true\">{{ a.icon }}</mat-icon>\n </button>\n }\n\n @if (menu()) {\n <button\n ymt-icon-button\n icon-button-size=\"small\"\n (click)=\"menuItemClicked(item, $event)\"\n [matTooltip]=\"'yuv.tile-list.item.actions-menu.button.tooltip' | translate\"\n [matMenuTriggerFor]=\"menu()\"\n >\n <mat-icon inert=\"true\">more_vert</mat-icon>\n </button>\n }\n <ng-content select=\"yuv-tile-actions-menu, [yuv-tile-actions-menu]\" />\n </ng-template>\n <ng-template #extensionSlot>\n <ng-container *yuvTileExtension=\"{ typeId: item.objectTypeId, data: item.instanceData }\" />\n </ng-template>\n <ng-template #badgesSlot>{{ item.badges }}</ng-template>\n </yuv-list-tile>\n </ng-template>\n\n <ng-template #yuvQueryListEmpty>\n <div class=\"empty-list\">\n @let searchExe = searchExecuted();\n @if (searchExe && emptyContent()) {\n <ng-content />\n }\n </div>\n </ng-template>\n <div class=\"offset\" (click)=\"clearSelection()\"></div>\n</yuv-query-list>\n", styles: [":host{--paging-background: var(--ymt-surface);display:flex;flex-direction:column}:host yuv-query-list{flex:1;overflow-y:auto;display:flex;flex-flow:column;height:100%}:host yuv-query-list .offset{flex:1 1 auto}:host .empty-list{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}\n"] }]
1223
- }], ctorParameters: () => [] });
1222
+ }], ctorParameters: () => [], propDecorators: { menuComponent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => TileActionsMenuComponent), { isSignal: true }] }], emptyContent: [{ type: i0.ContentChild, args: ['empty', { isSignal: true }] }], list: [{ type: i0.ViewChild, args: ['list', { isSignal: true }] }], menuTriggers: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => MatMenuTrigger), { isSignal: true }] }], bucket: [{ type: i0.Input, args: [{ isSignal: true, alias: "bucket", required: false }] }], pageSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSize", required: false }] }], multiselect: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiselect", required: false }] }], dense: [{ type: i0.Input, args: [{ isSignal: true, alias: "dense", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], flavor: [{ type: i0.Input, args: [{ isSignal: true, alias: "flavor", required: false }] }], query: [{ type: i0.Input, args: [{ isSignal: true, alias: "query", required: false }] }], preselect: [{ type: i0.Input, args: [{ isSignal: true, alias: "preselect", required: false }] }], highlights: [{ type: i0.Input, args: [{ isSignal: true, alias: "highlights", required: false }] }], preventChangeUntil: [{ type: i0.Input, args: [{ isSignal: true, alias: "preventChangeUntil", required: false }] }], autoSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoSelect", required: false }] }], disableCustomContextMenu: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableCustomContextMenu", required: false }] }], itemSelect: [{ type: i0.Output, args: ["itemSelect"] }], tileCopy: [{ type: i0.Output, args: ["tileCopy"] }], tileCut: [{ type: i0.Output, args: ["tileCut"] }], busy: [{ type: i0.Output, args: ["busy"] }], queryResult: [{ type: i0.Output, args: ["queryResult"] }], selectionChange: [{ type: i0.Output, args: ["selectionChange"] }], itemDblClick: [{ type: i0.Output, args: ["itemDblClick"] }], ctxMenu: [{ type: i0.Output, args: ["ctxMenu"] }] } });
1224
1223
 
1225
1224
  class ActionSelectComponent {
1226
1225
  constructor() {
1227
1226
  this.actionService = inject(ActionsService);
1228
- this.objectType = input.required();
1227
+ this.objectType = input.required(...(ngDevMode ? [{ debugName: "objectType" }] : []));
1229
1228
  this.actions = computed(() => {
1230
1229
  const ot = this.objectType();
1231
1230
  return ot.objectType ? this.actionService.getActionsForType(ot.objectType) : [];
1232
- });
1233
- this.selectedActionIds = input([]);
1231
+ }, ...(ngDevMode ? [{ debugName: "actions" }] : []));
1232
+ this.selectedActionIds = input([], ...(ngDevMode ? [{ debugName: "selectedActionIds" }] : []));
1234
1233
  this.actionSelect = output();
1235
1234
  }
1236
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ActionSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1237
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: ActionSelectComponent, isStandalone: true, selector: "yuv-tile-action-select", inputs: { objectType: { classPropertyName: "objectType", publicName: "objectType", isSignal: true, isRequired: true, transformFunction: null }, selectedActionIds: { classPropertyName: "selectedActionIds", publicName: "selectedActionIds", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionSelect: "actionSelect" }, ngImport: i0, template: "<div class=\"actions\">\n @for (a of actions(); track a.id) {\n <button [ngClass]=\"{ selected: selectedActionIds().includes(a.id) }\" (click)=\"actionSelect.emit(a)\">\n <mat-icon>{{ a.icon }}</mat-icon\n >{{ a.label }}\n </button>\n }\n</div>\n", styles: [":host .actions{display:flex;gap:var(--ymt-spacing-xs)}:host .actions button{border:1px solid var(--ymt-outline-variant);border-radius:0;margin-block-end:1px;background-color:var(--mat-sys-secondary-container);color:var(--mat-sys-on-secondary-container);border:0;display:inline-flex;gap:var(--ymt-spacing-xs);padding:var(--ymt-spacing-2xs) var(--ymt-spacing-xs);align-items:center;border-radius:var(--ymt-corner-s)}:host .actions button.selected{background-color:var(--ymt-primary-container);color:var(--ymt-on-primary-container)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
1235
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ActionSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1236
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: ActionSelectComponent, isStandalone: true, selector: "yuv-tile-action-select", inputs: { objectType: { classPropertyName: "objectType", publicName: "objectType", isSignal: true, isRequired: true, transformFunction: null }, selectedActionIds: { classPropertyName: "selectedActionIds", publicName: "selectedActionIds", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionSelect: "actionSelect" }, ngImport: i0, template: "<div class=\"actions\">\n @for (a of actions(); track a.id) {\n <button [ngClass]=\"{ selected: selectedActionIds().includes(a.id) }\" (click)=\"actionSelect.emit(a)\">\n <mat-icon>{{ a.icon }}</mat-icon\n >{{ a.label }}\n </button>\n }\n</div>\n", styles: [":host .actions{display:flex;gap:var(--ymt-spacing-xs)}:host .actions button{border:1px solid var(--ymt-outline-variant);border-radius:0;margin-block-end:1px;background-color:var(--mat-sys-secondary-container);color:var(--mat-sys-on-secondary-container);border:0;display:inline-flex;gap:var(--ymt-spacing-xs);padding:var(--ymt-spacing-2xs) var(--ymt-spacing-xs);align-items:center;border-radius:var(--ymt-corner-s)}:host .actions button.selected{background-color:var(--ymt-primary-container);color:var(--ymt-on-primary-container)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
1238
1237
  }
1239
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ActionSelectComponent, decorators: [{
1238
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ActionSelectComponent, decorators: [{
1240
1239
  type: Component,
1241
1240
  args: [{ selector: 'yuv-tile-action-select', standalone: true, imports: [NgClass, MatIconModule], template: "<div class=\"actions\">\n @for (a of actions(); track a.id) {\n <button [ngClass]=\"{ selected: selectedActionIds().includes(a.id) }\" (click)=\"actionSelect.emit(a)\">\n <mat-icon>{{ a.icon }}</mat-icon\n >{{ a.label }}\n </button>\n }\n</div>\n", styles: [":host .actions{display:flex;gap:var(--ymt-spacing-xs)}:host .actions button{border:1px solid var(--ymt-outline-variant);border-radius:0;margin-block-end:1px;background-color:var(--mat-sys-secondary-container);color:var(--mat-sys-on-secondary-container);border:0;display:inline-flex;gap:var(--ymt-spacing-xs);padding:var(--ymt-spacing-2xs) var(--ymt-spacing-xs);align-items:center;border-radius:var(--ymt-corner-s)}:host .actions button.selected{background-color:var(--ymt-primary-container);color:var(--ymt-on-primary-container)}\n"] }]
1242
- }] });
1241
+ }], propDecorators: { objectType: [{ type: i0.Input, args: [{ isSignal: true, alias: "objectType", required: true }] }], selectedActionIds: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedActionIds", required: false }] }], actionSelect: [{ type: i0.Output, args: ["actionSelect"] }] } });
1243
1242
 
1244
1243
  class IconSelectComponent {
1245
1244
  constructor() {
1246
- this.objectType = input();
1245
+ this.objectType = input(...(ngDevMode ? [undefined, { debugName: "objectType" }] : []));
1247
1246
  this.iconSelect = output();
1248
1247
  }
1249
1248
  async createIcon(inputEl) {
@@ -1261,13 +1260,13 @@ class IconSelectComponent {
1261
1260
  #emit(data) {
1262
1261
  this.iconSelect.emit(data);
1263
1262
  }
1264
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IconSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1265
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.20", type: IconSelectComponent, isStandalone: true, selector: "yuv-icon-select", inputs: { objectType: { classPropertyName: "objectType", publicName: "objectType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { iconSelect: "iconSelect" }, ngImport: i0, template: "<input style=\"display: none\" #fileInput type=\"file\" accept=\".svg\" (change)=\"createIcon(fileInput)\" />\n\n<button class=\"primary\" (click)=\"fileInput.click()\">{{ 'yuv.tile-config.icon-select.pick' | translate }}</button>\n<button class=\"secondary\" (click)=\"reset()\">{{ 'yuv.tile-config.icon-select.reset' | translate }}</button>\n", styles: [":host{display:flex;gap:var(--ymt-spacing-m)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
1263
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: IconSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1264
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.19", type: IconSelectComponent, isStandalone: true, selector: "yuv-icon-select", inputs: { objectType: { classPropertyName: "objectType", publicName: "objectType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { iconSelect: "iconSelect" }, ngImport: i0, template: "<input style=\"display: none\" #fileInput type=\"file\" accept=\".svg\" (change)=\"createIcon(fileInput)\" />\n\n<button class=\"primary\" (click)=\"fileInput.click()\">{{ 'yuv.tile-config.icon-select.pick' | translate }}</button>\n<button class=\"secondary\" (click)=\"reset()\">{{ 'yuv.tile-config.icon-select.reset' | translate }}</button>\n", styles: [":host{display:flex;gap:var(--ymt-spacing-m)}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
1266
1265
  }
1267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IconSelectComponent, decorators: [{
1266
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: IconSelectComponent, decorators: [{
1268
1267
  type: Component,
1269
- args: [{ selector: 'yuv-icon-select', standalone: true, imports: [CommonModule, TranslateModule], template: "<input style=\"display: none\" #fileInput type=\"file\" accept=\".svg\" (change)=\"createIcon(fileInput)\" />\n\n<button class=\"primary\" (click)=\"fileInput.click()\">{{ 'yuv.tile-config.icon-select.pick' | translate }}</button>\n<button class=\"secondary\" (click)=\"reset()\">{{ 'yuv.tile-config.icon-select.reset' | translate }}</button>\n", styles: [":host{display:flex;gap:var(--ymt-spacing-m)}\n"] }]
1270
- }] });
1268
+ args: [{ selector: 'yuv-icon-select', standalone: true, imports: [TranslatePipe], template: "<input style=\"display: none\" #fileInput type=\"file\" accept=\".svg\" (change)=\"createIcon(fileInput)\" />\n\n<button class=\"primary\" (click)=\"fileInput.click()\">{{ 'yuv.tile-config.icon-select.pick' | translate }}</button>\n<button class=\"secondary\" (click)=\"reset()\">{{ 'yuv.tile-config.icon-select.reset' | translate }}</button>\n", styles: [":host{display:flex;gap:var(--ymt-spacing-m)}\n"] }]
1269
+ }], propDecorators: { objectType: [{ type: i0.Input, args: [{ isSignal: true, alias: "objectType", required: false }] }], iconSelect: [{ type: i0.Output, args: ["iconSelect"] }] } });
1271
1270
 
1272
1271
  class PropertySelectComponent {
1273
1272
  constructor() {
@@ -1291,17 +1290,17 @@ class PropertySelectComponent {
1291
1290
  ContentStreamField.RANGE
1292
1291
  ];
1293
1292
  this.objectTypeFields = [];
1294
- this.query = signal(null);
1295
- this.objectType = input();
1293
+ this.query = signal(null, ...(ngDevMode ? [{ debugName: "query" }] : []));
1294
+ this.objectType = input(...(ngDevMode ? [undefined, { debugName: "objectType" }] : []));
1296
1295
  this.filteredObjectTypeFields = computed(() => {
1297
1296
  return this.query() !== null
1298
1297
  ? this.objectTypeFields.filter((otf) => otf.label.toLowerCase().indexOf(this.query()?.toLocaleLowerCase() || '') !== -1)
1299
1298
  : this.getObjectTypeFields(this.objectType());
1300
- });
1299
+ }, ...(ngDevMode ? [{ debugName: "filteredObjectTypeFields" }] : []));
1301
1300
  this.objectTypesEffect = effect(() => {
1302
1301
  untracked(() => this.getObjectTypeFields(this.objectType()));
1303
- });
1304
- this.selectedProperty = input();
1302
+ }, ...(ngDevMode ? [{ debugName: "objectTypesEffect" }] : []));
1303
+ this.selectedProperty = input(...(ngDevMode ? [undefined, { debugName: "selectedProperty" }] : []));
1305
1304
  this.propertySelect = output();
1306
1305
  }
1307
1306
  // fields that should not be available to be placed in the slots
@@ -1360,13 +1359,13 @@ class PropertySelectComponent {
1360
1359
  _getLabel(otf) {
1361
1360
  return this.system.getLocalizedLabel(otf.id) || otf.id;
1362
1361
  }
1363
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: PropertySelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1364
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: PropertySelectComponent, isStandalone: true, selector: "yuv-tile-property-select", inputs: { objectType: { classPropertyName: "objectType", publicName: "objectType", isSignal: true, isRequired: false, transformFunction: null }, selectedProperty: { classPropertyName: "selectedProperty", publicName: "selectedProperty", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { propertySelect: "propertySelect" }, ngImport: i0, template: "<!-- TODO: enable once filtering of properties makes sense -->\n<!-- <form class=\"filter\">\n <div class=\"filter-input\">\n <input type=\"text\" [placeholder]=\"'yuv.tile-config.property-select.filter.placeholder' | translate\" name=\"query\" [(ngModel)]=\"query\" />\n @if (query()) {\n <button class=\"icn\" (click)=\"query.set(null)\">\n <yuv-icon [svg]=\"clearIcon\"></yuv-icon>\n </button>\n }\n </div>\n</form> -->\n\n<ul class=\"properties\">\n @for (p of filteredObjectTypeFields(); track $index) {\n <li\n tabindex=\"0\"\n [ngClass]=\"{ baseProperty: p.baseProperty, selected: p.id === selectedProperty()?.propertyName }\"\n (click)=\"selectProperty(p)\"\n (keydown.enter)=\"selectPropertyOnKeydown($event, p)\"\n (keydown.space)=\"selectPropertyOnKeydown($event, p)\"\n >\n <div class=\"label\">{{ p.label }}</div>\n <button\n mat-icon-button\n (click)=\"removeProperty($event)\"\n (keydown.enter)=\"removePropertyOnKeydown($event)\"\n (keydown.space)=\"removePropertyOnKeydown($event)\"\n >\n <mat-icon aria-hidden=\"true\" [attr.inert]=\"true\">close</mat-icon>\n </button>\n </li>\n }\n</ul>\n", styles: [":host{display:flex;flex-flow:column;max-height:100%}:host .filter{flex:0 0 auto}:host .filter .filter-input{background-color:var(--ymt-surface-panel);border:1px solid var(--ymt-outline-variant);display:flex;padding:.25em;align-items:center}:host .filter .filter-input input{background-color:transparent;border:0;outline:0;flex:1;color:var(--ymt-text-color)}:host .properties{flex:1;column-count:3;column-width:30ch;column-rule:1px dotted var(--ymt-outline);column-gap:2em;margin-block-start:var(--ymt-spacing-m)}:host .properties li{border:1px solid var(--ymt-outline-variant);border-radius:0;margin-block-end:1px;display:flex;align-items:center;justify-content:space-between;cursor:default}:host .properties li:hover{background-color:var(--ymt-hover-background)}:host .properties li.baseProperty{font-style:italic}:host .properties li.selected{background-color:var(--ymt-primary-container);color:var(--ymt-on-primary-container)}:host .properties li:not(.selected) button{display:none}:host .properties li .label{padding:var(--ymt-spacing-xs) var(--ymt-spacing-m)}:host .properties li button{color:currentColor}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
1362
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: PropertySelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1363
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: PropertySelectComponent, isStandalone: true, selector: "yuv-tile-property-select", inputs: { objectType: { classPropertyName: "objectType", publicName: "objectType", isSignal: true, isRequired: false, transformFunction: null }, selectedProperty: { classPropertyName: "selectedProperty", publicName: "selectedProperty", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { propertySelect: "propertySelect" }, ngImport: i0, template: "<!-- TODO: enable once filtering of properties makes sense -->\n<!-- <form class=\"filter\">\n <div class=\"filter-input\">\n <input type=\"text\" [placeholder]=\"'yuv.tile-config.property-select.filter.placeholder' | translate\" name=\"query\" [(ngModel)]=\"query\" />\n @if (query()) {\n <button class=\"icn\" (click)=\"query.set(null)\">\n <yuv-icon [svg]=\"clearIcon\"></yuv-icon>\n </button>\n }\n </div>\n</form> -->\n\n<ul class=\"properties\">\n @for (p of filteredObjectTypeFields(); track $index) {\n <li\n tabindex=\"0\"\n [ngClass]=\"{ baseProperty: p.baseProperty, selected: p.id === selectedProperty()?.propertyName }\"\n (click)=\"selectProperty(p)\"\n (keydown.enter)=\"selectPropertyOnKeydown($event, p)\"\n (keydown.space)=\"selectPropertyOnKeydown($event, p)\"\n >\n <div class=\"label\">{{ p.label }}</div>\n <button\n mat-icon-button\n (click)=\"removeProperty($event)\"\n (keydown.enter)=\"removePropertyOnKeydown($event)\"\n (keydown.space)=\"removePropertyOnKeydown($event)\"\n >\n <mat-icon aria-hidden=\"true\" [attr.inert]=\"true\">close</mat-icon>\n </button>\n </li>\n }\n</ul>\n", styles: [":host{display:flex;flex-flow:column;max-height:100%}:host .filter{flex:0 0 auto}:host .filter .filter-input{background-color:var(--ymt-surface-panel);border:1px solid var(--ymt-outline-variant);display:flex;padding:.25em;align-items:center}:host .filter .filter-input input{background-color:transparent;border:0;outline:0;flex:1;color:var(--ymt-text-color)}:host .properties{flex:1;column-count:3;column-width:30ch;column-rule:1px dotted var(--ymt-outline);column-gap:2em;margin-block-start:var(--ymt-spacing-m)}:host .properties li{border:1px solid var(--ymt-outline-variant);border-radius:0;margin-block-end:1px;display:flex;align-items:center;justify-content:space-between;cursor:default}:host .properties li:hover{background-color:var(--ymt-hover-background)}:host .properties li.baseProperty{font-style:italic}:host .properties li.selected{background-color:var(--ymt-primary-container);color:var(--ymt-on-primary-container)}:host .properties li:not(.selected) button{display:none}:host .properties li .label{padding:var(--ymt-spacing-xs) var(--ymt-spacing-m)}:host .properties li button{color:currentColor}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
1365
1364
  }
1366
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: PropertySelectComponent, decorators: [{
1365
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: PropertySelectComponent, decorators: [{
1367
1366
  type: Component,
1368
- args: [{ selector: 'yuv-tile-property-select', standalone: true, imports: [NgClass, FormsModule, TranslateModule, MatButtonModule, MatIconModule], template: "<!-- TODO: enable once filtering of properties makes sense -->\n<!-- <form class=\"filter\">\n <div class=\"filter-input\">\n <input type=\"text\" [placeholder]=\"'yuv.tile-config.property-select.filter.placeholder' | translate\" name=\"query\" [(ngModel)]=\"query\" />\n @if (query()) {\n <button class=\"icn\" (click)=\"query.set(null)\">\n <yuv-icon [svg]=\"clearIcon\"></yuv-icon>\n </button>\n }\n </div>\n</form> -->\n\n<ul class=\"properties\">\n @for (p of filteredObjectTypeFields(); track $index) {\n <li\n tabindex=\"0\"\n [ngClass]=\"{ baseProperty: p.baseProperty, selected: p.id === selectedProperty()?.propertyName }\"\n (click)=\"selectProperty(p)\"\n (keydown.enter)=\"selectPropertyOnKeydown($event, p)\"\n (keydown.space)=\"selectPropertyOnKeydown($event, p)\"\n >\n <div class=\"label\">{{ p.label }}</div>\n <button\n mat-icon-button\n (click)=\"removeProperty($event)\"\n (keydown.enter)=\"removePropertyOnKeydown($event)\"\n (keydown.space)=\"removePropertyOnKeydown($event)\"\n >\n <mat-icon aria-hidden=\"true\" [attr.inert]=\"true\">close</mat-icon>\n </button>\n </li>\n }\n</ul>\n", styles: [":host{display:flex;flex-flow:column;max-height:100%}:host .filter{flex:0 0 auto}:host .filter .filter-input{background-color:var(--ymt-surface-panel);border:1px solid var(--ymt-outline-variant);display:flex;padding:.25em;align-items:center}:host .filter .filter-input input{background-color:transparent;border:0;outline:0;flex:1;color:var(--ymt-text-color)}:host .properties{flex:1;column-count:3;column-width:30ch;column-rule:1px dotted var(--ymt-outline);column-gap:2em;margin-block-start:var(--ymt-spacing-m)}:host .properties li{border:1px solid var(--ymt-outline-variant);border-radius:0;margin-block-end:1px;display:flex;align-items:center;justify-content:space-between;cursor:default}:host .properties li:hover{background-color:var(--ymt-hover-background)}:host .properties li.baseProperty{font-style:italic}:host .properties li.selected{background-color:var(--ymt-primary-container);color:var(--ymt-on-primary-container)}:host .properties li:not(.selected) button{display:none}:host .properties li .label{padding:var(--ymt-spacing-xs) var(--ymt-spacing-m)}:host .properties li button{color:currentColor}\n"] }]
1369
- }] });
1367
+ args: [{ selector: 'yuv-tile-property-select', standalone: true, imports: [NgClass, FormsModule, TranslatePipe, MatButtonModule, MatIconModule], template: "<!-- TODO: enable once filtering of properties makes sense -->\n<!-- <form class=\"filter\">\n <div class=\"filter-input\">\n <input type=\"text\" [placeholder]=\"'yuv.tile-config.property-select.filter.placeholder' | translate\" name=\"query\" [(ngModel)]=\"query\" />\n @if (query()) {\n <button class=\"icn\" (click)=\"query.set(null)\">\n <yuv-icon [svg]=\"clearIcon\"></yuv-icon>\n </button>\n }\n </div>\n</form> -->\n\n<ul class=\"properties\">\n @for (p of filteredObjectTypeFields(); track $index) {\n <li\n tabindex=\"0\"\n [ngClass]=\"{ baseProperty: p.baseProperty, selected: p.id === selectedProperty()?.propertyName }\"\n (click)=\"selectProperty(p)\"\n (keydown.enter)=\"selectPropertyOnKeydown($event, p)\"\n (keydown.space)=\"selectPropertyOnKeydown($event, p)\"\n >\n <div class=\"label\">{{ p.label }}</div>\n <button\n mat-icon-button\n (click)=\"removeProperty($event)\"\n (keydown.enter)=\"removePropertyOnKeydown($event)\"\n (keydown.space)=\"removePropertyOnKeydown($event)\"\n >\n <mat-icon aria-hidden=\"true\" [attr.inert]=\"true\">close</mat-icon>\n </button>\n </li>\n }\n</ul>\n", styles: [":host{display:flex;flex-flow:column;max-height:100%}:host .filter{flex:0 0 auto}:host .filter .filter-input{background-color:var(--ymt-surface-panel);border:1px solid var(--ymt-outline-variant);display:flex;padding:.25em;align-items:center}:host .filter .filter-input input{background-color:transparent;border:0;outline:0;flex:1;color:var(--ymt-text-color)}:host .properties{flex:1;column-count:3;column-width:30ch;column-rule:1px dotted var(--ymt-outline);column-gap:2em;margin-block-start:var(--ymt-spacing-m)}:host .properties li{border:1px solid var(--ymt-outline-variant);border-radius:0;margin-block-end:1px;display:flex;align-items:center;justify-content:space-between;cursor:default}:host .properties li:hover{background-color:var(--ymt-hover-background)}:host .properties li.baseProperty{font-style:italic}:host .properties li.selected{background-color:var(--ymt-primary-container);color:var(--ymt-on-primary-container)}:host .properties li:not(.selected) button{display:none}:host .properties li .label{padding:var(--ymt-spacing-xs) var(--ymt-spacing-m)}:host .properties li button{color:currentColor}\n"] }]
1368
+ }], propDecorators: { objectType: [{ type: i0.Input, args: [{ isSignal: true, alias: "objectType", required: false }] }], selectedProperty: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedProperty", required: false }] }], propertySelect: [{ type: i0.Output, args: ["propertySelect"] }] } });
1370
1369
 
1371
1370
  /**
1372
1371
  * Component for setting up a tile config
@@ -1376,9 +1375,9 @@ class TileConfigTileComponent {
1376
1375
  this.actionService = inject(ActionsService);
1377
1376
  this.elRef = inject(ElementRef);
1378
1377
  this.#system = inject(SystemService);
1379
- this.disableIconSlot = input();
1380
- this.disableBadgesSlot = input();
1381
- this.objectConfig = input.required();
1378
+ this.disableIconSlot = input(...(ngDevMode ? [undefined, { debugName: "disableIconSlot" }] : []));
1379
+ this.disableBadgesSlot = input(...(ngDevMode ? [undefined, { debugName: "disableBadgesSlot" }] : []));
1380
+ this.objectConfig = input.required(...(ngDevMode ? [{ debugName: "objectConfig" }] : []));
1382
1381
  this._objectConfig = computed(() => {
1383
1382
  const oc = this.objectConfig();
1384
1383
  if (oc) {
@@ -1390,7 +1389,7 @@ class TileConfigTileComponent {
1390
1389
  });
1391
1390
  }
1392
1391
  return oc;
1393
- });
1392
+ }, ...(ngDevMode ? [{ debugName: "_objectConfig" }] : []));
1394
1393
  this.actions = computed(() => {
1395
1394
  const actionsList = [];
1396
1395
  const ocActions = this.objectConfig();
@@ -1402,7 +1401,7 @@ class TileConfigTileComponent {
1402
1401
  });
1403
1402
  }
1404
1403
  return actionsList;
1405
- });
1404
+ }, ...(ngDevMode ? [{ debugName: "actions" }] : []));
1406
1405
  this.slotSelect = output();
1407
1406
  }
1408
1407
  #system;
@@ -1418,15 +1417,13 @@ class TileConfigTileComponent {
1418
1417
  e.classList.remove('active');
1419
1418
  });
1420
1419
  }
1421
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TileConfigTileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1422
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TileConfigTileComponent, isStandalone: true, selector: "yuv-tile-config-tile", inputs: { disableIconSlot: { classPropertyName: "disableIconSlot", publicName: "disableIconSlot", isSignal: true, isRequired: false, transformFunction: null }, disableBadgesSlot: { classPropertyName: "disableBadgesSlot", publicName: "disableBadgesSlot", isSignal: true, isRequired: false, transformFunction: null }, objectConfig: { classPropertyName: "objectConfig", publicName: "objectConfig", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { slotSelect: "slotSelect" }, ngImport: i0, template: "@let oc = _objectConfig();\n\n<div\n data-slot=\"icon\"\n [attr.disabled]=\"disableIconSlot()\"\n tabindex=\"0\"\n (click)=\"selectSlot('icon')\"\n (keydown.enter)=\"selectSlot('icon')\"\n (keydown.space)=\"selectSlot('icon'); $event.preventDefault()\"\n>\n @if (oc && oc.icon) {\n <mat-icon aria-hidden=\"true\" [attr.inert]=\"true\">{{ oc.icon.svg }}</mat-icon>\n } @else if (oc && oc.objectTypeId) {\n <yuv-object-type-icon [objectTypeId]=\"oc.objectTypeId\"></yuv-object-type-icon>\n }\n</div>\n<div\n data-slot=\"title\"\n tabindex=\"0\"\n (click)=\"selectSlot('title')\"\n (keydown.enter)=\"selectSlot('title')\"\n (keydown.space)=\"selectSlot('title'); $event.preventDefault()\"\n>\n {{ oc?.title?.label }}\n</div>\n<div\n data-slot=\"actions\"\n tabindex=\"0\"\n (click)=\"selectSlot('actions')\"\n (keydown.enter)=\"selectSlot('actions')\"\n (keydown.space)=\"selectSlot('actions'); $event.preventDefault()\"\n>\n @for (a of actions(); track a.id) {\n <button mat-icon-button [matTooltip]=\"a.label\" [attr.inert]=\"true\" aria-hidden=\"true\">\n <mat-icon inert=\"true\" aria-hidden=\"true\">{{ a.icon }}</mat-icon>\n </button>\n }\n</div>\n<div\n data-slot=\"description\"\n tabindex=\"0\"\n (click)=\"selectSlot('description')\"\n (keydown.enter)=\"selectSlot('description')\"\n (keydown.space)=\"selectSlot('description'); $event.preventDefault()\"\n>\n {{ oc?.description?.label }}\n</div>\n<div\n data-slot=\"aside\"\n tabindex=\"0\"\n (click)=\"selectSlot('aside')\"\n (keydown.enter)=\"selectSlot('aside')\"\n (keydown.space)=\"selectSlot('aside'); $event.preventDefault()\"\n>\n {{ oc?.aside?.label }}\n</div>\n<div\n data-slot=\"meta\"\n tabindex=\"0\"\n (click)=\"selectSlot('meta')\"\n (keydown.enter)=\"selectSlot('meta')\"\n (keydown.space)=\"selectSlot('meta'); $event.preventDefault()\"\n>\n {{ oc?.meta?.label }}\n</div>\n@if (!disableBadgesSlot()) {\n <div\n data-slot=\"badges\"\n tabindex=\"0\"\n (click)=\"selectSlot('badges')\"\n (keydown.enter)=\"selectSlot('badges')\"\n (keydown.space)=\"selectSlot('badges'); $event.preventDefault()\"\n >\n {{ oc?.badges }}\n </div>\n}\n", styles: [":host{--tile-item-gap: .5em;--tile-background: transparent;--tile-icon-fill: currentColor;display:grid;grid-template-rows:auto auto auto auto;grid-template-columns:3rem 1fr auto;grid-template-areas:\"icon title title actions\" \"icon description aside aside\" \"icon meta meta badges\";gap:var(--tile-item-gap);padding:var(--ymt-spacing-m);background-color:var(--tile-background)}:host:hover [data-slot=actions]{opacity:1}:host [data-slot=icon]{grid-area:icon;display:flex;align-items:center;justify-content:center}:host [data-slot=title]{grid-area:title;font-weight:700}:host [data-slot=description]{grid-area:description}:host [data-slot=meta]{grid-area:meta}:host [data-slot=aside]{flex:0 0 auto;grid-area:aside}:host [data-slot=actions]{flex:0 0 auto;display:flex;justify-self:end;grid-area:actions}:host [data-slot=actions] button{padding:0;gap:2px}:host [data-slot=badges]{grid-area:badges;justify-self:end;flex:0 0 auto}:host :where([data-slot=badges],[data-slot=actions],[data-slot=aside],[data-slot=icon],[data-slot=title],[data-slot=description],[data-slot=meta]){display:flex;align-items:center;background-color:var(--ymt-surface-panel);border:1px solid var(--ymt-outline);padding:.25em .5em;box-sizing:border-box;min-height:2.2em;border-radius:var(--ymt-corner-xs)}:host :where([data-slot=badges],[data-slot=actions],[data-slot=aside],[data-slot=icon],[data-slot=title],[data-slot=description],[data-slot=meta]):not([disabled]){cursor:pointer}:host :where([data-slot=badges],[data-slot=actions],[data-slot=aside],[data-slot=icon],[data-slot=title],[data-slot=description],[data-slot=meta]):not([disabled]):hover{background-color:var(--ymt-focus-background);color:var(--ymt-on-focus-background)}:host :where([data-slot=badges],[data-slot=actions],[data-slot=aside],[data-slot=icon],[data-slot=title],[data-slot=description],[data-slot=meta]):not([disabled]).active{background-color:var(--ymt-primary-container);color:var(--ymt-on-primary-container)}:host :where([data-slot=badges],[data-slot=actions],[data-slot=aside],[data-slot=icon],[data-slot=title],[data-slot=description],[data-slot=meta])[disabled]{border:none;background-color:transparent}:host :where([data-slot=badges],[data-slot=actions]){min-width:3em}:host :where([data-slot=badges],[data-slot=actions]) button{width:24px;height:24px;pointer-events:none;color:currentColor}:host [data-slot=aside]{min-width:4em}:host [data-slot=icon]{height:3em;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: CommonModule }, { kind: "component", type: ObjectTypeIconComponent, selector: "yuv-object-type-icon", inputs: ["objectTypeId"] }] }); }
1420
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: TileConfigTileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1421
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: TileConfigTileComponent, isStandalone: true, selector: "yuv-tile-config-tile", inputs: { disableIconSlot: { classPropertyName: "disableIconSlot", publicName: "disableIconSlot", isSignal: true, isRequired: false, transformFunction: null }, disableBadgesSlot: { classPropertyName: "disableBadgesSlot", publicName: "disableBadgesSlot", isSignal: true, isRequired: false, transformFunction: null }, objectConfig: { classPropertyName: "objectConfig", publicName: "objectConfig", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { slotSelect: "slotSelect" }, ngImport: i0, template: "@let oc = _objectConfig();\n\n<div\n data-slot=\"icon\"\n [attr.disabled]=\"disableIconSlot()\"\n tabindex=\"0\"\n (click)=\"selectSlot('icon')\"\n (keydown.enter)=\"selectSlot('icon')\"\n (keydown.space)=\"selectSlot('icon'); $event.preventDefault()\"\n>\n @if (oc && oc.icon) {\n <mat-icon aria-hidden=\"true\" [attr.inert]=\"true\">{{ oc.icon.svg }}</mat-icon>\n } @else if (oc && oc.objectTypeId) {\n <yuv-object-type-icon [objectTypeId]=\"oc.objectTypeId\"></yuv-object-type-icon>\n }\n</div>\n<div\n data-slot=\"title\"\n tabindex=\"0\"\n (click)=\"selectSlot('title')\"\n (keydown.enter)=\"selectSlot('title')\"\n (keydown.space)=\"selectSlot('title'); $event.preventDefault()\"\n>\n {{ oc?.title?.label }}\n</div>\n<div\n data-slot=\"actions\"\n tabindex=\"0\"\n (click)=\"selectSlot('actions')\"\n (keydown.enter)=\"selectSlot('actions')\"\n (keydown.space)=\"selectSlot('actions'); $event.preventDefault()\"\n>\n @for (a of actions(); track a.id) {\n <button mat-icon-button [matTooltip]=\"a.label\" [attr.inert]=\"true\" aria-hidden=\"true\">\n <mat-icon inert=\"true\" aria-hidden=\"true\">{{ a.icon }}</mat-icon>\n </button>\n }\n</div>\n<div\n data-slot=\"description\"\n tabindex=\"0\"\n (click)=\"selectSlot('description')\"\n (keydown.enter)=\"selectSlot('description')\"\n (keydown.space)=\"selectSlot('description'); $event.preventDefault()\"\n>\n {{ oc?.description?.label }}\n</div>\n<div\n data-slot=\"aside\"\n tabindex=\"0\"\n (click)=\"selectSlot('aside')\"\n (keydown.enter)=\"selectSlot('aside')\"\n (keydown.space)=\"selectSlot('aside'); $event.preventDefault()\"\n>\n {{ oc?.aside?.label }}\n</div>\n<div\n data-slot=\"meta\"\n tabindex=\"0\"\n (click)=\"selectSlot('meta')\"\n (keydown.enter)=\"selectSlot('meta')\"\n (keydown.space)=\"selectSlot('meta'); $event.preventDefault()\"\n>\n {{ oc?.meta?.label }}\n</div>\n@if (!disableBadgesSlot()) {\n <div\n data-slot=\"badges\"\n tabindex=\"0\"\n (click)=\"selectSlot('badges')\"\n (keydown.enter)=\"selectSlot('badges')\"\n (keydown.space)=\"selectSlot('badges'); $event.preventDefault()\"\n >\n {{ oc?.badges }}\n </div>\n}\n", styles: [":host{--tile-item-gap: .5em;--tile-background: transparent;--tile-icon-fill: currentColor;display:grid;grid-template-rows:auto auto auto auto;grid-template-columns:3rem 1fr auto;grid-template-areas:\"icon title title actions\" \"icon description aside aside\" \"icon meta meta badges\";gap:var(--tile-item-gap);padding:var(--ymt-spacing-m);background-color:var(--tile-background)}:host:hover [data-slot=actions]{opacity:1}:host [data-slot=icon]{grid-area:icon;display:flex;align-items:center;justify-content:center}:host [data-slot=title]{grid-area:title;font-weight:700}:host [data-slot=description]{grid-area:description}:host [data-slot=meta]{grid-area:meta}:host [data-slot=aside]{flex:0 0 auto;grid-area:aside}:host [data-slot=actions]{flex:0 0 auto;display:flex;justify-self:end;grid-area:actions}:host [data-slot=actions] button{padding:0;gap:2px}:host [data-slot=badges]{grid-area:badges;justify-self:end;flex:0 0 auto}:host :where([data-slot=badges],[data-slot=actions],[data-slot=aside],[data-slot=icon],[data-slot=title],[data-slot=description],[data-slot=meta]){display:flex;align-items:center;background-color:var(--ymt-surface-panel);border:1px solid var(--ymt-outline);padding:.25em .5em;box-sizing:border-box;min-height:2.2em;border-radius:var(--ymt-corner-xs)}:host :where([data-slot=badges],[data-slot=actions],[data-slot=aside],[data-slot=icon],[data-slot=title],[data-slot=description],[data-slot=meta]):not([disabled]){cursor:pointer}:host :where([data-slot=badges],[data-slot=actions],[data-slot=aside],[data-slot=icon],[data-slot=title],[data-slot=description],[data-slot=meta]):not([disabled]):hover{background-color:var(--ymt-focus-background);color:var(--ymt-on-focus-background)}:host :where([data-slot=badges],[data-slot=actions],[data-slot=aside],[data-slot=icon],[data-slot=title],[data-slot=description],[data-slot=meta]):not([disabled]).active{background-color:var(--ymt-primary-container);color:var(--ymt-on-primary-container)}:host :where([data-slot=badges],[data-slot=actions],[data-slot=aside],[data-slot=icon],[data-slot=title],[data-slot=description],[data-slot=meta])[disabled]{border:none;background-color:transparent}:host :where([data-slot=badges],[data-slot=actions]){min-width:3em}:host :where([data-slot=badges],[data-slot=actions]) button{width:24px;height:24px;pointer-events:none;color:currentColor}:host [data-slot=aside]{min-width:4em}:host [data-slot=icon]{height:3em;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { 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: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ObjectTypeIconComponent, selector: "yuv-object-type-icon", inputs: ["objectTypeId"] }] }); }
1423
1422
  }
1424
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TileConfigTileComponent, decorators: [{
1423
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: TileConfigTileComponent, decorators: [{
1425
1424
  type: Component,
1426
- args: [{ selector: 'yuv-tile-config-tile', standalone: true, imports: [MatButtonModule,
1427
- MatTooltipModule,
1428
- MatIconModule, CommonModule, ObjectTypeIconComponent], template: "@let oc = _objectConfig();\n\n<div\n data-slot=\"icon\"\n [attr.disabled]=\"disableIconSlot()\"\n tabindex=\"0\"\n (click)=\"selectSlot('icon')\"\n (keydown.enter)=\"selectSlot('icon')\"\n (keydown.space)=\"selectSlot('icon'); $event.preventDefault()\"\n>\n @if (oc && oc.icon) {\n <mat-icon aria-hidden=\"true\" [attr.inert]=\"true\">{{ oc.icon.svg }}</mat-icon>\n } @else if (oc && oc.objectTypeId) {\n <yuv-object-type-icon [objectTypeId]=\"oc.objectTypeId\"></yuv-object-type-icon>\n }\n</div>\n<div\n data-slot=\"title\"\n tabindex=\"0\"\n (click)=\"selectSlot('title')\"\n (keydown.enter)=\"selectSlot('title')\"\n (keydown.space)=\"selectSlot('title'); $event.preventDefault()\"\n>\n {{ oc?.title?.label }}\n</div>\n<div\n data-slot=\"actions\"\n tabindex=\"0\"\n (click)=\"selectSlot('actions')\"\n (keydown.enter)=\"selectSlot('actions')\"\n (keydown.space)=\"selectSlot('actions'); $event.preventDefault()\"\n>\n @for (a of actions(); track a.id) {\n <button mat-icon-button [matTooltip]=\"a.label\" [attr.inert]=\"true\" aria-hidden=\"true\">\n <mat-icon inert=\"true\" aria-hidden=\"true\">{{ a.icon }}</mat-icon>\n </button>\n }\n</div>\n<div\n data-slot=\"description\"\n tabindex=\"0\"\n (click)=\"selectSlot('description')\"\n (keydown.enter)=\"selectSlot('description')\"\n (keydown.space)=\"selectSlot('description'); $event.preventDefault()\"\n>\n {{ oc?.description?.label }}\n</div>\n<div\n data-slot=\"aside\"\n tabindex=\"0\"\n (click)=\"selectSlot('aside')\"\n (keydown.enter)=\"selectSlot('aside')\"\n (keydown.space)=\"selectSlot('aside'); $event.preventDefault()\"\n>\n {{ oc?.aside?.label }}\n</div>\n<div\n data-slot=\"meta\"\n tabindex=\"0\"\n (click)=\"selectSlot('meta')\"\n (keydown.enter)=\"selectSlot('meta')\"\n (keydown.space)=\"selectSlot('meta'); $event.preventDefault()\"\n>\n {{ oc?.meta?.label }}\n</div>\n@if (!disableBadgesSlot()) {\n <div\n data-slot=\"badges\"\n tabindex=\"0\"\n (click)=\"selectSlot('badges')\"\n (keydown.enter)=\"selectSlot('badges')\"\n (keydown.space)=\"selectSlot('badges'); $event.preventDefault()\"\n >\n {{ oc?.badges }}\n </div>\n}\n", styles: [":host{--tile-item-gap: .5em;--tile-background: transparent;--tile-icon-fill: currentColor;display:grid;grid-template-rows:auto auto auto auto;grid-template-columns:3rem 1fr auto;grid-template-areas:\"icon title title actions\" \"icon description aside aside\" \"icon meta meta badges\";gap:var(--tile-item-gap);padding:var(--ymt-spacing-m);background-color:var(--tile-background)}:host:hover [data-slot=actions]{opacity:1}:host [data-slot=icon]{grid-area:icon;display:flex;align-items:center;justify-content:center}:host [data-slot=title]{grid-area:title;font-weight:700}:host [data-slot=description]{grid-area:description}:host [data-slot=meta]{grid-area:meta}:host [data-slot=aside]{flex:0 0 auto;grid-area:aside}:host [data-slot=actions]{flex:0 0 auto;display:flex;justify-self:end;grid-area:actions}:host [data-slot=actions] button{padding:0;gap:2px}:host [data-slot=badges]{grid-area:badges;justify-self:end;flex:0 0 auto}:host :where([data-slot=badges],[data-slot=actions],[data-slot=aside],[data-slot=icon],[data-slot=title],[data-slot=description],[data-slot=meta]){display:flex;align-items:center;background-color:var(--ymt-surface-panel);border:1px solid var(--ymt-outline);padding:.25em .5em;box-sizing:border-box;min-height:2.2em;border-radius:var(--ymt-corner-xs)}:host :where([data-slot=badges],[data-slot=actions],[data-slot=aside],[data-slot=icon],[data-slot=title],[data-slot=description],[data-slot=meta]):not([disabled]){cursor:pointer}:host :where([data-slot=badges],[data-slot=actions],[data-slot=aside],[data-slot=icon],[data-slot=title],[data-slot=description],[data-slot=meta]):not([disabled]):hover{background-color:var(--ymt-focus-background);color:var(--ymt-on-focus-background)}:host :where([data-slot=badges],[data-slot=actions],[data-slot=aside],[data-slot=icon],[data-slot=title],[data-slot=description],[data-slot=meta]):not([disabled]).active{background-color:var(--ymt-primary-container);color:var(--ymt-on-primary-container)}:host :where([data-slot=badges],[data-slot=actions],[data-slot=aside],[data-slot=icon],[data-slot=title],[data-slot=description],[data-slot=meta])[disabled]{border:none;background-color:transparent}:host :where([data-slot=badges],[data-slot=actions]){min-width:3em}:host :where([data-slot=badges],[data-slot=actions]) button{width:24px;height:24px;pointer-events:none;color:currentColor}:host [data-slot=aside]{min-width:4em}:host [data-slot=icon]{height:3em;width:100%}\n"] }]
1429
- }] });
1425
+ args: [{ selector: 'yuv-tile-config-tile', standalone: true, imports: [MatButtonModule, MatTooltipModule, MatIconModule, ObjectTypeIconComponent], template: "@let oc = _objectConfig();\n\n<div\n data-slot=\"icon\"\n [attr.disabled]=\"disableIconSlot()\"\n tabindex=\"0\"\n (click)=\"selectSlot('icon')\"\n (keydown.enter)=\"selectSlot('icon')\"\n (keydown.space)=\"selectSlot('icon'); $event.preventDefault()\"\n>\n @if (oc && oc.icon) {\n <mat-icon aria-hidden=\"true\" [attr.inert]=\"true\">{{ oc.icon.svg }}</mat-icon>\n } @else if (oc && oc.objectTypeId) {\n <yuv-object-type-icon [objectTypeId]=\"oc.objectTypeId\"></yuv-object-type-icon>\n }\n</div>\n<div\n data-slot=\"title\"\n tabindex=\"0\"\n (click)=\"selectSlot('title')\"\n (keydown.enter)=\"selectSlot('title')\"\n (keydown.space)=\"selectSlot('title'); $event.preventDefault()\"\n>\n {{ oc?.title?.label }}\n</div>\n<div\n data-slot=\"actions\"\n tabindex=\"0\"\n (click)=\"selectSlot('actions')\"\n (keydown.enter)=\"selectSlot('actions')\"\n (keydown.space)=\"selectSlot('actions'); $event.preventDefault()\"\n>\n @for (a of actions(); track a.id) {\n <button mat-icon-button [matTooltip]=\"a.label\" [attr.inert]=\"true\" aria-hidden=\"true\">\n <mat-icon inert=\"true\" aria-hidden=\"true\">{{ a.icon }}</mat-icon>\n </button>\n }\n</div>\n<div\n data-slot=\"description\"\n tabindex=\"0\"\n (click)=\"selectSlot('description')\"\n (keydown.enter)=\"selectSlot('description')\"\n (keydown.space)=\"selectSlot('description'); $event.preventDefault()\"\n>\n {{ oc?.description?.label }}\n</div>\n<div\n data-slot=\"aside\"\n tabindex=\"0\"\n (click)=\"selectSlot('aside')\"\n (keydown.enter)=\"selectSlot('aside')\"\n (keydown.space)=\"selectSlot('aside'); $event.preventDefault()\"\n>\n {{ oc?.aside?.label }}\n</div>\n<div\n data-slot=\"meta\"\n tabindex=\"0\"\n (click)=\"selectSlot('meta')\"\n (keydown.enter)=\"selectSlot('meta')\"\n (keydown.space)=\"selectSlot('meta'); $event.preventDefault()\"\n>\n {{ oc?.meta?.label }}\n</div>\n@if (!disableBadgesSlot()) {\n <div\n data-slot=\"badges\"\n tabindex=\"0\"\n (click)=\"selectSlot('badges')\"\n (keydown.enter)=\"selectSlot('badges')\"\n (keydown.space)=\"selectSlot('badges'); $event.preventDefault()\"\n >\n {{ oc?.badges }}\n </div>\n}\n", styles: [":host{--tile-item-gap: .5em;--tile-background: transparent;--tile-icon-fill: currentColor;display:grid;grid-template-rows:auto auto auto auto;grid-template-columns:3rem 1fr auto;grid-template-areas:\"icon title title actions\" \"icon description aside aside\" \"icon meta meta badges\";gap:var(--tile-item-gap);padding:var(--ymt-spacing-m);background-color:var(--tile-background)}:host:hover [data-slot=actions]{opacity:1}:host [data-slot=icon]{grid-area:icon;display:flex;align-items:center;justify-content:center}:host [data-slot=title]{grid-area:title;font-weight:700}:host [data-slot=description]{grid-area:description}:host [data-slot=meta]{grid-area:meta}:host [data-slot=aside]{flex:0 0 auto;grid-area:aside}:host [data-slot=actions]{flex:0 0 auto;display:flex;justify-self:end;grid-area:actions}:host [data-slot=actions] button{padding:0;gap:2px}:host [data-slot=badges]{grid-area:badges;justify-self:end;flex:0 0 auto}:host :where([data-slot=badges],[data-slot=actions],[data-slot=aside],[data-slot=icon],[data-slot=title],[data-slot=description],[data-slot=meta]){display:flex;align-items:center;background-color:var(--ymt-surface-panel);border:1px solid var(--ymt-outline);padding:.25em .5em;box-sizing:border-box;min-height:2.2em;border-radius:var(--ymt-corner-xs)}:host :where([data-slot=badges],[data-slot=actions],[data-slot=aside],[data-slot=icon],[data-slot=title],[data-slot=description],[data-slot=meta]):not([disabled]){cursor:pointer}:host :where([data-slot=badges],[data-slot=actions],[data-slot=aside],[data-slot=icon],[data-slot=title],[data-slot=description],[data-slot=meta]):not([disabled]):hover{background-color:var(--ymt-focus-background);color:var(--ymt-on-focus-background)}:host :where([data-slot=badges],[data-slot=actions],[data-slot=aside],[data-slot=icon],[data-slot=title],[data-slot=description],[data-slot=meta]):not([disabled]).active{background-color:var(--ymt-primary-container);color:var(--ymt-on-primary-container)}:host :where([data-slot=badges],[data-slot=actions],[data-slot=aside],[data-slot=icon],[data-slot=title],[data-slot=description],[data-slot=meta])[disabled]{border:none;background-color:transparent}:host :where([data-slot=badges],[data-slot=actions]){min-width:3em}:host :where([data-slot=badges],[data-slot=actions]) button{width:24px;height:24px;pointer-events:none;color:currentColor}:host [data-slot=aside]{min-width:4em}:host [data-slot=icon]{height:3em;width:100%}\n"] }]
1426
+ }], propDecorators: { disableIconSlot: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableIconSlot", required: false }] }], disableBadgesSlot: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableBadgesSlot", required: false }] }], objectConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "objectConfig", required: true }] }], slotSelect: [{ type: i0.Output, args: ["slotSelect"] }] } });
1430
1427
 
1431
1428
  class TileConfigComponent {
1432
1429
  constructor() {
@@ -1438,23 +1435,26 @@ class TileConfigComponent {
1438
1435
  * is basically an ID where your custom tile config will be stored and
1439
1436
  * retrieved. Buckets should be unique so be sure to use a unique namespace.
1440
1437
  */
1441
- this.bucket = input(undefined);
1442
- this.bucketLabel = input(undefined);
1443
- this.configTypes = input(undefined);
1444
- this.configFlavors = input([]);
1438
+ this.bucket = input(undefined, ...(ngDevMode ? [{ debugName: "bucket" }] : []));
1439
+ this.bucketLabel = input(undefined, ...(ngDevMode ? [{ debugName: "bucketLabel" }] : []));
1440
+ this.configTypes = input(undefined, ...(ngDevMode ? [{ debugName: "configTypes" }] : []));
1441
+ this.configFlavors = input([], ...(ngDevMode ? [{ debugName: "configFlavors" }] : []));
1445
1442
  this.types = computed(() => {
1446
1443
  const ct = this.configTypes() || [];
1447
1444
  const cf = [];
1448
1445
  // TODO: enable when flavors are supported in tile config
1449
1446
  // const cf = this.configFlavors() || [];
1450
- return [...ct.map((t) => ({ id: t.id, icon: t.icon, data: t })), ...cf.map((f) => ({ id: f.id, icon: f.icon, flavor: true, data: f }))];
1451
- });
1447
+ return [
1448
+ ...ct.map((t) => ({ id: t.id, icon: t.icon, data: t })),
1449
+ ...cf.map((f) => ({ id: f.id, icon: f.icon, flavor: true, data: f }))
1450
+ ];
1451
+ }, ...(ngDevMode ? [{ debugName: "types" }] : []));
1452
1452
  this.#typesEffect = effect(() => {
1453
1453
  const t = this.types();
1454
1454
  if (t.length && !this.selectedType) {
1455
1455
  this.typeSelected(t[0]);
1456
1456
  }
1457
- });
1457
+ }, ...(ngDevMode ? [{ debugName: "#typesEffect" }] : []));
1458
1458
  this.save = output();
1459
1459
  this.canceled = output();
1460
1460
  this.selectedTypeProperties = [];
@@ -1599,10 +1599,10 @@ class TileConfigComponent {
1599
1599
  }
1600
1600
  return true;
1601
1601
  }
1602
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TileConfigComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1603
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TileConfigComponent, isStandalone: true, selector: "yuv-tile-config", inputs: { bucket: { classPropertyName: "bucket", publicName: "bucket", isSignal: true, isRequired: false, transformFunction: null }, bucketLabel: { classPropertyName: "bucketLabel", publicName: "bucketLabel", isSignal: true, isRequired: false, transformFunction: null }, configTypes: { classPropertyName: "configTypes", publicName: "configTypes", isSignal: true, isRequired: false, transformFunction: null }, configFlavors: { classPropertyName: "configFlavors", publicName: "configFlavors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { save: "save", canceled: "canceled" }, ngImport: i0, template: "<yuv-dialog [headertitel]=\"'yuv.tile-config.title' | translate: { bucket: bucketLabel() }\">\n <main class=\"tile-config\">\n <section class=\"picker\">\n <mat-form-field>\n <mat-select [panelWidth]=\"null\" [(ngModel)]=\"selectedType\" (ngModelChange)=\"typeSelected($event)\">\n @for (t of types() || []; track t.id; let i = $index) {\n <mat-option [value]=\"t.data\">{{ t.id | translate }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n @if (selectedType) {\n <button ymtButton=\"secondary\" (click)=\"resetConfig()\">{{ 'yuv.tile-config.button.reset' | translate }}</button>\n }\n </section>\n\n <section class=\"details\">\n @if (selectedType) {\n <div class=\"dummy-preview\">\n <yuv-tile-config-tile\n [disableIconSlot]=\"true\"\n [disableBadgesSlot]=\"true\"\n [objectConfig]=\"objectConfig!\"\n (slotSelect)=\"slotSelect($event)\"\n ></yuv-tile-config-tile>\n </div>\n\n <main>\n @if (selectedSlot === 'icon') {\n <h3>{{ 'yuv.tile-config.slot.icon.headline' | translate }}</h3>\n <yuv-icon-select [objectType]=\"selectedType\" (iconSelect)=\"iconSelected($event)\"></yuv-icon-select>\n } @else if (selectedSlot === 'badges') {\n <div class=\"placeholder empty\">\n <p>Future feature: Select badges (like: is favorite, ratings, ...)</p>\n </div>\n } @else if (!selectedSlot) {\n } @else if (selectedSlot === 'actions') {\n <h3>{{ 'yuv.tile-config.slot.action.headline' | translate }}</h3>\n <yuv-tile-action-select\n [objectType]=\"selectedType\"\n [selectedActionIds]=\"getSelectedActions()\"\n (actionSelect)=\"actionSelected($event)\"\n ></yuv-tile-action-select>\n } @else {\n <h3>{{ 'yuv.tile-config.slot.property.headline' | translate }}</h3>\n <yuv-tile-property-select\n [objectType]=\"selectedType\"\n [selectedProperty]=\"getConfigProperty(selectedSlot)\"\n (propertySelect)=\"propertySelected(selectedSlot, $event)\"\n ></yuv-tile-property-select>\n }\n </main>\n } @else {\n <div class=\"placeholder empty\"></div>\n }\n </section>\n </main>\n\n <footer>\n <button ymtButton=\"secondary\" (click)=\"cancelConfig()\">{{ 'yuv.tile-config.button.close' | translate }}</button>\n <button ymtButton=\"primary\" [disabled]=\"!configChanged\" (click)=\"saveConfig()\">{{ 'yuv.tile-config.button.save' | translate }}</button>\n </footer>\n</yuv-dialog>\n", styles: [":host{display:flex;height:100%;flex-flow:column}:host main.tile-config{height:100%;display:contents}:host .picker{display:flex;justify-content:space-between;gap:var(--ymt-spacing-m);align-items:center;border-bottom:1px solid var(--ymt-outline-variant);padding:var(--ymt-spacing-m)}:host .details{flex:1;display:flex;flex-flow:column;box-sizing:border-box;overflow:hidden}:host .details header{flex:0 0 auto;display:flex;align-items:center;border-bottom:1px solid var(--ymt-outline-variant);padding:var(--ymt-spacing-m);gap:var(--ymt-spacing-m)}:host .details header h2{flex:1;overflow:hidden;text-overflow:ellipsis;margin:0}:host .details .dummy-preview{flex:0 0 auto;padding:var(--ymt-spacing-m);background-color:var(--ymt-surface-panel);border-bottom:1px solid var(--ymt-outline-variant)}:host .details .dummy-preview yuv-tile-config-tile{max-width:500px;margin:auto;border-radius:var(--ymt-corner-m);border:1px solid var(--ymt-outline);background-color:var(--ymt-surface-container)}:host .details main{flex:1;overflow-y:auto;padding:var(--ymt-spacing-m)}:host .details main h3{margin:0;padding-block-end:var(--ymt-spacing-m);font:var(--ymt-font-subhead)}:host .details .placeholder.empty{height:100%;display:grid;place-content:center;color:var(--ymt-text-color-subtle)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: TileConfigTileComponent, selector: "yuv-tile-config-tile", inputs: ["disableIconSlot", "disableBadgesSlot", "objectConfig"], outputs: ["slotSelect"] }, { kind: "component", type: IconSelectComponent, selector: "yuv-icon-select", inputs: ["objectType"], outputs: ["iconSelect"] }, { kind: "component", type: PropertySelectComponent, selector: "yuv-tile-property-select", inputs: ["objectType", "selectedProperty"], outputs: ["propertySelect"] }, { kind: "component", type: ActionSelectComponent, selector: "yuv-tile-action-select", inputs: ["objectType", "selectedActionIds"], outputs: ["actionSelect"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: YuvListModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i3$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: i3$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: DialogComponent, selector: "yuv-dialog", inputs: ["headertitle", "headertitel"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "directive", type: YmtButtonDirective, selector: "button[ymtButton], a[ymtButton]", inputs: ["ymtButton", "disabled", "aria-disabled", "disableRipple", "disabledInteractive", "button-size"] }] }); }
1602
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: TileConfigComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1603
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: TileConfigComponent, isStandalone: true, selector: "yuv-tile-config", inputs: { bucket: { classPropertyName: "bucket", publicName: "bucket", isSignal: true, isRequired: false, transformFunction: null }, bucketLabel: { classPropertyName: "bucketLabel", publicName: "bucketLabel", isSignal: true, isRequired: false, transformFunction: null }, configTypes: { classPropertyName: "configTypes", publicName: "configTypes", isSignal: true, isRequired: false, transformFunction: null }, configFlavors: { classPropertyName: "configFlavors", publicName: "configFlavors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { save: "save", canceled: "canceled" }, ngImport: i0, template: "<yuv-dialog [headertitel]=\"'yuv.tile-config.title' | translate: { bucket: bucketLabel() }\">\n <main class=\"tile-config\">\n <section class=\"picker\">\n <mat-form-field>\n <mat-select [panelWidth]=\"null\" [(ngModel)]=\"selectedType\" (ngModelChange)=\"typeSelected($event)\">\n @for (t of types() || []; track t.id; let i = $index) {\n <mat-option [value]=\"t.data\">{{ t.id | translate }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n @if (selectedType) {\n <button ymtButton=\"secondary\" (click)=\"resetConfig()\">{{ 'yuv.tile-config.button.reset' | translate }}</button>\n }\n </section>\n\n <section class=\"details\">\n @if (selectedType) {\n <div class=\"dummy-preview\">\n <yuv-tile-config-tile\n [disableIconSlot]=\"true\"\n [disableBadgesSlot]=\"true\"\n [objectConfig]=\"objectConfig!\"\n (slotSelect)=\"slotSelect($event)\"\n ></yuv-tile-config-tile>\n </div>\n\n <main>\n @if (selectedSlot === 'icon') {\n <h3>{{ 'yuv.tile-config.slot.icon.headline' | translate }}</h3>\n <yuv-icon-select [objectType]=\"selectedType\" (iconSelect)=\"iconSelected($event)\"></yuv-icon-select>\n } @else if (selectedSlot === 'badges') {\n <div class=\"placeholder empty\">\n <p>Future feature: Select badges (like: is favorite, ratings, ...)</p>\n </div>\n } @else if (!selectedSlot) {\n } @else if (selectedSlot === 'actions') {\n <h3>{{ 'yuv.tile-config.slot.action.headline' | translate }}</h3>\n <yuv-tile-action-select\n [objectType]=\"selectedType\"\n [selectedActionIds]=\"getSelectedActions()\"\n (actionSelect)=\"actionSelected($event)\"\n ></yuv-tile-action-select>\n } @else {\n <h3>{{ 'yuv.tile-config.slot.property.headline' | translate }}</h3>\n <yuv-tile-property-select\n [objectType]=\"selectedType\"\n [selectedProperty]=\"getConfigProperty(selectedSlot)\"\n (propertySelect)=\"propertySelected(selectedSlot, $event)\"\n ></yuv-tile-property-select>\n }\n </main>\n } @else {\n <div class=\"placeholder empty\"></div>\n }\n </section>\n </main>\n\n <footer>\n <button ymtButton=\"secondary\" (click)=\"cancelConfig()\">{{ 'yuv.tile-config.button.close' | translate }}</button>\n <button ymtButton=\"primary\" [disabled]=\"!configChanged\" (click)=\"saveConfig()\">{{ 'yuv.tile-config.button.save' | translate }}</button>\n </footer>\n</yuv-dialog>\n", styles: [":host{display:flex;height:100%;flex-flow:column}:host main.tile-config{height:100%;display:contents}:host .picker{display:flex;justify-content:space-between;gap:var(--ymt-spacing-m);align-items:center;border-bottom:1px solid var(--ymt-outline-variant);padding:var(--ymt-spacing-m)}:host .details{flex:1;display:flex;flex-flow:column;box-sizing:border-box;overflow:hidden}:host .details header{flex:0 0 auto;display:flex;align-items:center;border-bottom:1px solid var(--ymt-outline-variant);padding:var(--ymt-spacing-m);gap:var(--ymt-spacing-m)}:host .details header h2{flex:1;overflow:hidden;text-overflow:ellipsis;margin:0}:host .details .dummy-preview{flex:0 0 auto;padding:var(--ymt-spacing-m);background-color:var(--ymt-surface-panel);border-bottom:1px solid var(--ymt-outline-variant)}:host .details .dummy-preview yuv-tile-config-tile{max-width:500px;margin:auto;border-radius:var(--ymt-corner-m);border:1px solid var(--ymt-outline);background-color:var(--ymt-surface-container)}:host .details main{flex:1;overflow-y:auto;padding:var(--ymt-spacing-m)}:host .details main h3{margin:0;padding-block-end:var(--ymt-spacing-m);font:var(--ymt-font-subhead)}:host .details .placeholder.empty{height:100%;display:grid;place-content:center;color:var(--ymt-text-color-subtle)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: TileConfigTileComponent, selector: "yuv-tile-config-tile", inputs: ["disableIconSlot", "disableBadgesSlot", "objectConfig"], outputs: ["slotSelect"] }, { kind: "component", type: IconSelectComponent, selector: "yuv-icon-select", inputs: ["objectType"], outputs: ["iconSelect"] }, { kind: "component", type: PropertySelectComponent, selector: "yuv-tile-property-select", inputs: ["objectType", "selectedProperty"], outputs: ["propertySelect"] }, { kind: "component", type: ActionSelectComponent, selector: "yuv-tile-action-select", inputs: ["objectType", "selectedActionIds"], outputs: ["actionSelect"] }, { kind: "ngmodule", type: YuvListModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i2$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i2$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: i2$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: DialogComponent, selector: "yuv-dialog", inputs: ["headertitle", "headertitel"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "directive", type: YmtButtonDirective, selector: "button[ymtButton], a[ymtButton]", inputs: ["ymtButton", "disabled", "aria-disabled", "disableRipple", "disabledInteractive", "button-size"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
1604
1604
  }
1605
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TileConfigComponent, decorators: [{
1605
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: TileConfigComponent, decorators: [{
1606
1606
  type: Component,
1607
1607
  args: [{ selector: 'yuv-tile-config', standalone: true, imports: [
1608
1608
  FormsModule,
@@ -1610,7 +1610,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
1610
1610
  IconSelectComponent,
1611
1611
  PropertySelectComponent,
1612
1612
  ActionSelectComponent,
1613
- TranslateModule,
1613
+ TranslatePipe,
1614
1614
  YuvListModule,
1615
1615
  MatIconModule,
1616
1616
  MatDialogModule,
@@ -1620,18 +1620,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
1620
1620
  MatFormFieldModule,
1621
1621
  YmtButtonDirective
1622
1622
  ], template: "<yuv-dialog [headertitel]=\"'yuv.tile-config.title' | translate: { bucket: bucketLabel() }\">\n <main class=\"tile-config\">\n <section class=\"picker\">\n <mat-form-field>\n <mat-select [panelWidth]=\"null\" [(ngModel)]=\"selectedType\" (ngModelChange)=\"typeSelected($event)\">\n @for (t of types() || []; track t.id; let i = $index) {\n <mat-option [value]=\"t.data\">{{ t.id | translate }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n @if (selectedType) {\n <button ymtButton=\"secondary\" (click)=\"resetConfig()\">{{ 'yuv.tile-config.button.reset' | translate }}</button>\n }\n </section>\n\n <section class=\"details\">\n @if (selectedType) {\n <div class=\"dummy-preview\">\n <yuv-tile-config-tile\n [disableIconSlot]=\"true\"\n [disableBadgesSlot]=\"true\"\n [objectConfig]=\"objectConfig!\"\n (slotSelect)=\"slotSelect($event)\"\n ></yuv-tile-config-tile>\n </div>\n\n <main>\n @if (selectedSlot === 'icon') {\n <h3>{{ 'yuv.tile-config.slot.icon.headline' | translate }}</h3>\n <yuv-icon-select [objectType]=\"selectedType\" (iconSelect)=\"iconSelected($event)\"></yuv-icon-select>\n } @else if (selectedSlot === 'badges') {\n <div class=\"placeholder empty\">\n <p>Future feature: Select badges (like: is favorite, ratings, ...)</p>\n </div>\n } @else if (!selectedSlot) {\n } @else if (selectedSlot === 'actions') {\n <h3>{{ 'yuv.tile-config.slot.action.headline' | translate }}</h3>\n <yuv-tile-action-select\n [objectType]=\"selectedType\"\n [selectedActionIds]=\"getSelectedActions()\"\n (actionSelect)=\"actionSelected($event)\"\n ></yuv-tile-action-select>\n } @else {\n <h3>{{ 'yuv.tile-config.slot.property.headline' | translate }}</h3>\n <yuv-tile-property-select\n [objectType]=\"selectedType\"\n [selectedProperty]=\"getConfigProperty(selectedSlot)\"\n (propertySelect)=\"propertySelected(selectedSlot, $event)\"\n ></yuv-tile-property-select>\n }\n </main>\n } @else {\n <div class=\"placeholder empty\"></div>\n }\n </section>\n </main>\n\n <footer>\n <button ymtButton=\"secondary\" (click)=\"cancelConfig()\">{{ 'yuv.tile-config.button.close' | translate }}</button>\n <button ymtButton=\"primary\" [disabled]=\"!configChanged\" (click)=\"saveConfig()\">{{ 'yuv.tile-config.button.save' | translate }}</button>\n </footer>\n</yuv-dialog>\n", styles: [":host{display:flex;height:100%;flex-flow:column}:host main.tile-config{height:100%;display:contents}:host .picker{display:flex;justify-content:space-between;gap:var(--ymt-spacing-m);align-items:center;border-bottom:1px solid var(--ymt-outline-variant);padding:var(--ymt-spacing-m)}:host .details{flex:1;display:flex;flex-flow:column;box-sizing:border-box;overflow:hidden}:host .details header{flex:0 0 auto;display:flex;align-items:center;border-bottom:1px solid var(--ymt-outline-variant);padding:var(--ymt-spacing-m);gap:var(--ymt-spacing-m)}:host .details header h2{flex:1;overflow:hidden;text-overflow:ellipsis;margin:0}:host .details .dummy-preview{flex:0 0 auto;padding:var(--ymt-spacing-m);background-color:var(--ymt-surface-panel);border-bottom:1px solid var(--ymt-outline-variant)}:host .details .dummy-preview yuv-tile-config-tile{max-width:500px;margin:auto;border-radius:var(--ymt-corner-m);border:1px solid var(--ymt-outline);background-color:var(--ymt-surface-container)}:host .details main{flex:1;overflow-y:auto;padding:var(--ymt-spacing-m)}:host .details main h3{margin:0;padding-block-end:var(--ymt-spacing-m);font:var(--ymt-font-subhead)}:host .details .placeholder.empty{height:100%;display:grid;place-content:center;color:var(--ymt-text-color-subtle)}\n"] }]
1623
- }] });
1623
+ }], propDecorators: { bucket: [{ type: i0.Input, args: [{ isSignal: true, alias: "bucket", required: false }] }], bucketLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "bucketLabel", required: false }] }], configTypes: [{ type: i0.Input, args: [{ isSignal: true, alias: "configTypes", required: false }] }], configFlavors: [{ type: i0.Input, args: [{ isSignal: true, alias: "configFlavors", required: false }] }], save: [{ type: i0.Output, args: ["save"] }], canceled: [{ type: i0.Output, args: ["canceled"] }] } });
1624
1624
 
1625
1625
  class TileConfigTriggerComponent {
1626
1626
  constructor() {
1627
1627
  this.#dialog = inject(MatDialog);
1628
1628
  this.tplTileConfig = viewChild.required('tplTileConfig');
1629
- this.icon = input('settings');
1630
- this.bucket = input();
1631
- this.bucketLabel = input();
1632
- this.options = input(undefined);
1629
+ this.icon = input('settings', ...(ngDevMode ? [{ debugName: "icon" }] : []));
1630
+ this.bucket = input(...(ngDevMode ? [undefined, { debugName: "bucket" }] : []));
1631
+ this.bucketLabel = input(...(ngDevMode ? [undefined, { debugName: "bucketLabel" }] : []));
1632
+ this.options = input(undefined, ...(ngDevMode ? [{ debugName: "options" }] : []));
1633
1633
  // If true, renders a smaller icon button
1634
- this.small = input(false);
1634
+ this.small = input(false, ...(ngDevMode ? [{ debugName: "small" }] : []));
1635
1635
  }
1636
1636
  #dialog;
1637
1637
  #dialogRef;
@@ -1651,29 +1651,27 @@ class TileConfigTriggerComponent {
1651
1651
  if (this.#dialogRef)
1652
1652
  this.#dialogRef.close();
1653
1653
  }
1654
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TileConfigTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1655
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", type: TileConfigTriggerComponent, isStandalone: true, selector: "yuv-tile-config-trigger", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, bucket: { classPropertyName: "bucket", publicName: "bucket", isSignal: true, isRequired: false, transformFunction: null }, bucketLabel: { classPropertyName: "bucketLabel", publicName: "bucketLabel", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, small: { classPropertyName: "small", publicName: "small", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "tplTileConfig", first: true, predicate: ["tplTileConfig"], descendants: true, isSignal: true }], ngImport: i0, template: "<button ymt-icon-button [icon-button-size]=\"small() ? 'small' : 'medium'\" class=\"settings icon\" (click)=\"openTileConfigOverlay()\" [matTooltip]=\"'yuv.tile-config.trigger.tooltip' | translate\">\n <mat-icon>settings</mat-icon>\n</button>\n\n<ng-template #tplTileConfig>\n <yuv-tile-config\n (save)=\"onObjectConfigSave()\"\n (canceled)=\"onObjectConfigCancel()\"\n [bucket]=\"bucket() || undefined\"\n [bucketLabel]=\"bucketLabel()\"\n [configTypes]=\"options()?.configTypes\"\n [configFlavors]=\"options()?.configFlavors || []\"\n ></yuv-tile-config>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: TileConfigComponent, selector: "yuv-tile-config", inputs: ["bucket", "bucketLabel", "configTypes", "configFlavors"], outputs: ["save", "canceled"] }, { kind: "ngmodule", type: TranslateModule$1 }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { 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: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
1654
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: TileConfigTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1655
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.19", type: TileConfigTriggerComponent, isStandalone: true, selector: "yuv-tile-config-trigger", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, bucket: { classPropertyName: "bucket", publicName: "bucket", isSignal: true, isRequired: false, transformFunction: null }, bucketLabel: { classPropertyName: "bucketLabel", publicName: "bucketLabel", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, small: { classPropertyName: "small", publicName: "small", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "tplTileConfig", first: true, predicate: ["tplTileConfig"], descendants: true, isSignal: true }], ngImport: i0, template: "<button ymt-icon-button [icon-button-size]=\"small() ? 'small' : 'medium'\" class=\"settings icon\" (click)=\"openTileConfigOverlay()\" [matTooltip]=\"'yuv.tile-config.trigger.tooltip' | translate\">\n <mat-icon>settings</mat-icon>\n</button>\n\n<ng-template #tplTileConfig>\n <yuv-tile-config\n (save)=\"onObjectConfigSave()\"\n (canceled)=\"onObjectConfigCancel()\"\n [bucket]=\"bucket() || undefined\"\n [bucketLabel]=\"bucketLabel()\"\n [configTypes]=\"options()?.configTypes\"\n [configFlavors]=\"options()?.configFlavors || []\"\n ></yuv-tile-config>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "component", type: TileConfigComponent, selector: "yuv-tile-config", inputs: ["bucket", "bucketLabel", "configTypes", "configFlavors"], outputs: ["save", "canceled"] }, { 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: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: TranslatePipe$1, name: "translate" }] }); }
1656
1656
  }
1657
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TileConfigTriggerComponent, decorators: [{
1657
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: TileConfigTriggerComponent, decorators: [{
1658
1658
  type: Component,
1659
- args: [{ selector: 'yuv-tile-config-trigger', standalone: true, imports: [CommonModule, TileConfigComponent, TranslateModule$1,
1660
- YmtIconButtonDirective,
1661
- MatButtonModule, MatTooltipModule, MatIcon], template: "<button ymt-icon-button [icon-button-size]=\"small() ? 'small' : 'medium'\" class=\"settings icon\" (click)=\"openTileConfigOverlay()\" [matTooltip]=\"'yuv.tile-config.trigger.tooltip' | translate\">\n <mat-icon>settings</mat-icon>\n</button>\n\n<ng-template #tplTileConfig>\n <yuv-tile-config\n (save)=\"onObjectConfigSave()\"\n (canceled)=\"onObjectConfigCancel()\"\n [bucket]=\"bucket() || undefined\"\n [bucketLabel]=\"bucketLabel()\"\n [configTypes]=\"options()?.configTypes\"\n [configFlavors]=\"options()?.configFlavors || []\"\n ></yuv-tile-config>\n</ng-template>\n" }]
1662
- }] });
1659
+ args: [{ selector: 'yuv-tile-config-trigger', standalone: true, imports: [TileConfigComponent, TranslatePipe$1, YmtIconButtonDirective, MatButtonModule, MatTooltipModule, MatIcon], template: "<button ymt-icon-button [icon-button-size]=\"small() ? 'small' : 'medium'\" class=\"settings icon\" (click)=\"openTileConfigOverlay()\" [matTooltip]=\"'yuv.tile-config.trigger.tooltip' | translate\">\n <mat-icon>settings</mat-icon>\n</button>\n\n<ng-template #tplTileConfig>\n <yuv-tile-config\n (save)=\"onObjectConfigSave()\"\n (canceled)=\"onObjectConfigCancel()\"\n [bucket]=\"bucket() || undefined\"\n [bucketLabel]=\"bucketLabel()\"\n [configTypes]=\"options()?.configTypes\"\n [configFlavors]=\"options()?.configFlavors || []\"\n ></yuv-tile-config>\n</ng-template>\n" }]
1660
+ }], propDecorators: { tplTileConfig: [{ type: i0.ViewChild, args: ['tplTileConfig', { isSignal: true }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], bucket: [{ type: i0.Input, args: [{ isSignal: true, alias: "bucket", required: false }] }], bucketLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "bucketLabel", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], small: [{ type: i0.Input, args: [{ isSignal: true, alias: "small", required: false }] }] } });
1663
1661
 
1664
1662
  class EmailTileExtensionComponent {
1665
1663
  constructor() {
1666
- this.data = input.required();
1667
- this.attachments = computed(() => this.data()['appSystemmail:attachments'] || []);
1668
- this.hasAttachements = computed(() => !!this.data()['appSystemmail:attachmentCount']);
1664
+ this.data = input.required(...(ngDevMode ? [{ debugName: "data" }] : []));
1665
+ this.attachments = computed(() => this.data()['appSystemmail:attachments'] || [], ...(ngDevMode ? [{ debugName: "attachments" }] : []));
1666
+ this.hasAttachements = computed(() => !!this.data()['appSystemmail:attachmentCount'], ...(ngDevMode ? [{ debugName: "hasAttachements" }] : []));
1669
1667
  }
1670
1668
  onClick(a, evt) {
1671
1669
  evt.preventDefault();
1672
1670
  evt.stopPropagation();
1673
1671
  alert(`You clicked '${a}' my friend.`);
1674
1672
  }
1675
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: EmailTileExtensionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1676
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: EmailTileExtensionComponent, isStandalone: true, selector: "yuv-email-tile-extension", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class.attachments": "hasAttachements()" } }, ngImport: i0, template: `
1673
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: EmailTileExtensionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1674
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: EmailTileExtensionComponent, isStandalone: true, selector: "yuv-email-tile-extension", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class.attachments": "hasAttachements()" } }, ngImport: i0, template: `
1677
1675
  @if (hasAttachements()) {
1678
1676
  <span>{{ attachments().length }}</span>
1679
1677
  <svg class="icon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="#5f6368" viewBox="0 -960 960 960">
@@ -1682,9 +1680,9 @@ class EmailTileExtensionComponent {
1682
1680
  />
1683
1681
  </svg>
1684
1682
  }
1685
- `, isInline: true, styles: [":host{display:flex;justify-content:end;margin-top:.5rem;.icon{height:1rem}}\n"] }); }
1683
+ `, isInline: true, styles: [":host{display:flex;justify-content:end;margin-top:.5rem}:host .icon{height:1rem}\n"] }); }
1686
1684
  }
1687
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: EmailTileExtensionComponent, decorators: [{
1685
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: EmailTileExtensionComponent, decorators: [{
1688
1686
  type: Component,
1689
1687
  args: [{ selector: 'yuv-email-tile-extension', standalone: true, imports: [], template: `
1690
1688
  @if (hasAttachements()) {
@@ -1697,8 +1695,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
1697
1695
  }
1698
1696
  `, host: {
1699
1697
  '[class.attachments]': 'hasAttachements()'
1700
- }, styles: [":host{display:flex;justify-content:end;margin-top:.5rem;.icon{height:1rem}}\n"] }]
1701
- }] });
1698
+ }, styles: [":host{display:flex;justify-content:end;margin-top:.5rem}:host .icon{height:1rem}\n"] }]
1699
+ }], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }] } });
1702
1700
 
1703
1701
  /**
1704
1702
  * Generated bundle index. Do not edit.