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

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
@@ -4,33 +4,32 @@ import * as i0 from '@angular/core';
4
4
  import { Injectable, Input, Component, inject, input, effect, output, viewChild, TemplateRef, signal, computed, untracked, NgModule } from '@angular/core';
5
5
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
6
  import { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';
7
- import * as i4$2 from '@angular/material/icon';
7
+ import * as i3$2 from '@angular/material/icon';
8
8
  import { MatIconModule } from '@angular/material/icon';
9
- import * as i3 from '@yuuvis/client-core';
10
- import { TranslateService, TranslateModule } from '@yuuvis/client-core';
9
+ import { TranslateService, TranslatePipe } from '@yuuvis/client-core';
11
10
  import { GridsterItemComponent, DisplayGrid, GridType, GridsterComponent } from 'angular-gridster2';
12
- import * as i4 from 'ng-dynamic-component';
11
+ import * as i3 from 'ng-dynamic-component';
13
12
  import { DynamicIoModule } from 'ng-dynamic-component';
14
13
  import { ReplaySubject, Subject } from 'rxjs';
15
- import * as i4$1 from '@angular/forms';
14
+ import * as i3$1 from '@angular/forms';
16
15
  import { FormControl, ReactiveFormsModule, FormBuilder, Validators } from '@angular/forms';
17
- import * as i6 from '@angular/material/button';
16
+ import * as i5 from '@angular/material/button';
18
17
  import { MatButtonModule } from '@angular/material/button';
18
+ import * as i2 from '@angular/material/list';
19
+ import { MatListModule } from '@angular/material/list';
19
20
  import { DialogComponent, ConfirmService } from '@yuuvis/client-framework/common';
20
- import { SignalComponentIoModule } from 'ng-dynamic-component/signal-component-io';
21
21
  import { YmtButtonDirective, YmtIconButtonDirective } from '@yuuvis/material';
22
- import * as i3$1 from '@angular/material/list';
23
- import { MatListModule } from '@angular/material/list';
24
- import * as i5 from '@angular/material/tooltip';
22
+ import { SignalComponentIoModule } from 'ng-dynamic-component/signal-component-io';
23
+ import * as i4 from '@angular/material/tooltip';
25
24
  import { MatTooltipModule, MatTooltip } from '@angular/material/tooltip';
25
+ import { MatDividerModule } from '@angular/material/divider';
26
26
  import * as i1$1 from '@angular/material/form-field';
27
27
  import { MatFormFieldModule } from '@angular/material/form-field';
28
- import * as i2 from '@angular/material/input';
28
+ import * as i2$1 from '@angular/material/input';
29
29
  import { MatInputModule } from '@angular/material/input';
30
- import * as i4$3 from '@angular/material/menu';
30
+ import * as i4$1 from '@angular/material/menu';
31
31
  import { MatMenuModule } from '@angular/material/menu';
32
- import { TranslateModule as TranslateModule$1 } from '@ngx-translate/core';
33
- import { MatDividerModule } from '@angular/material/divider';
32
+ import { TranslatePipe as TranslatePipe$1 } from '@ngx-translate/core';
34
33
 
35
34
  class WidgetGridEventService {
36
35
  constructor() {
@@ -40,10 +39,10 @@ class WidgetGridEventService {
40
39
  trigger(evt) {
41
40
  this.widgetGridEventSource.next(evt);
42
41
  }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetGridEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
44
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetGridEventService, providedIn: 'root' }); }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: WidgetGridEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
43
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: WidgetGridEventService, providedIn: 'root' }); }
45
44
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetGridEventService, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: WidgetGridEventService, decorators: [{
47
46
  type: Injectable,
48
47
  args: [{
49
48
  providedIn: 'root',
@@ -51,10 +50,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
51
50
  }] });
52
51
 
53
52
  class NoopComponent {
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: NoopComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
55
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: NoopComponent, isStandalone: true, selector: "yuv-noop", inputs: { widgetConfig: "widgetConfig" }, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\"><path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><circle cx=\"15.5\" cy=\"9.5\" r=\"1.5\"/><circle cx=\"8.5\" cy=\"9.5\" r=\"1.5\"/><path d=\"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm0-6c-2.33 0-4.32 1.45-5.12 3.5h1.67c.69-1.19 1.97-2 3.45-2s2.75.81 3.45 2h1.67c-.8-2.05-2.79-3.5-5.12-3.5z\"/></svg>", styles: [":host{height:100%;display:flex;flex-flow:column;align-items:center;justify-content:center;padding:var(--ymt-spacing-m);background-color:var(--panel-background);opacity:.7}:host svg{width:48px;height:48px;fill:var(--text-color-caption)}:host span{margin-top:var(--ymt-spacing-m)}\n"] }); }
53
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NoopComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
54
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.19", type: NoopComponent, isStandalone: true, selector: "yuv-noop", inputs: { widgetConfig: "widgetConfig" }, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\"><path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><circle cx=\"15.5\" cy=\"9.5\" r=\"1.5\"/><circle cx=\"8.5\" cy=\"9.5\" r=\"1.5\"/><path d=\"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm0-6c-2.33 0-4.32 1.45-5.12 3.5h1.67c.69-1.19 1.97-2 3.45-2s2.75.81 3.45 2h1.67c-.8-2.05-2.79-3.5-5.12-3.5z\"/></svg>", styles: [":host{height:100%;display:flex;flex-flow:column;align-items:center;justify-content:center;padding:var(--ymt-spacing-m);background-color:var(--panel-background);opacity:.7}:host svg{width:48px;height:48px;fill:var(--text-color-caption)}:host span{margin-top:var(--ymt-spacing-m)}\n"] }); }
56
55
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: NoopComponent, decorators: [{
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NoopComponent, decorators: [{
58
57
  type: Component,
59
58
  args: [{ selector: 'yuv-noop', template: "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\"><path d=\"M0 0h24v24H0V0z\" fill=\"none\"/><circle cx=\"15.5\" cy=\"9.5\" r=\"1.5\"/><circle cx=\"8.5\" cy=\"9.5\" r=\"1.5\"/><path d=\"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm0-6c-2.33 0-4.32 1.45-5.12 3.5h1.67c.69-1.19 1.97-2 3.45-2s2.75.81 3.45 2h1.67c-.8-2.05-2.79-3.5-5.12-3.5z\"/></svg>", styles: [":host{height:100%;display:flex;flex-flow:column;align-items:center;justify-content:center;padding:var(--ymt-spacing-m);background-color:var(--panel-background);opacity:.7}:host svg{width:48px;height:48px;fill:var(--text-color-caption)}:host span{margin-top:var(--ymt-spacing-m)}\n"] }]
60
59
  }], propDecorators: { widgetConfig: [{
@@ -208,10 +207,10 @@ class WidgetGridRegistry {
208
207
  const regexPattern = new RegExp('^' + pattern.replace(/\?/g, '.').replace(/\*/g, '.*') + '$');
209
208
  return regexPattern.test(text);
210
209
  }
211
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetGridRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
212
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetGridRegistry, providedIn: 'root' }); }
210
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: WidgetGridRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
211
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: WidgetGridRegistry, providedIn: 'root' }); }
213
212
  }
214
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetGridRegistry, decorators: [{
213
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: WidgetGridRegistry, decorators: [{
215
214
  type: Injectable,
216
215
  args: [{
217
216
  providedIn: 'root'
@@ -366,10 +365,10 @@ class WidgetGridService {
366
365
  this.widgetGridSource.next(this.widgetGrid);
367
366
  this.widgetGridUpdateSource.next(gridItemId);
368
367
  }
369
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetGridService, deps: [{ token: WidgetGridRegistry }], target: i0.ɵɵFactoryTarget.Injectable }); }
370
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetGridService }); }
368
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: WidgetGridService, deps: [{ token: WidgetGridRegistry }], target: i0.ɵɵFactoryTarget.Injectable }); }
369
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: WidgetGridService }); }
371
370
  }
372
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetGridService, decorators: [{
371
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: WidgetGridService, decorators: [{
373
372
  type: Injectable
374
373
  }], ctorParameters: () => [{ type: WidgetGridRegistry }] });
375
374
 
@@ -396,16 +395,18 @@ class WidgetPickerComponent {
396
395
  this.widgetConfigState = s || undefined;
397
396
  }
398
397
  };
399
- this.pickerData = input(this.#dialogData.pickerData);
398
+ this.pickerData = input(this.#dialogData.pickerData, ...(ngDevMode ? [{ debugName: "pickerData" }] : []));
400
399
  this.#pickerDataEffect = effect(() => {
401
400
  const pd = this.pickerData();
402
401
  if (pd) {
403
- const gridWidget = this.#widgetGridRegistry.getRegisteredWidgets().find((w) => w.id === pd.widgetName);
402
+ const gridWidget = this.#widgetGridRegistry
403
+ .getRegisteredWidgets()
404
+ .find((w) => w.id === pd.widgetName);
404
405
  this.selectedWidget = gridWidget?.setupComponent ? gridWidget : undefined;
405
406
  this.widgetConfigMap = pd.widgetConfigMap || {};
406
407
  this.widgetId = pd.widgetId;
407
408
  }
408
- });
409
+ }, ...(ngDevMode ? [{ debugName: "#pickerDataEffect" }] : []));
409
410
  /**
410
411
  * Collection of buckets to load available widgets from. Wildcards are also posssible:
411
412
  * `[buckets]="['app.default', '*.public.*', 'app.no?.widgets']"`
@@ -413,7 +414,7 @@ class WidgetPickerComponent {
413
414
  * `*` represents any character 0-n times
414
415
  * `?` represents exactly one character
415
416
  */
416
- this.buckets = input(this.#dialogData.buckets);
417
+ this.buckets = input(this.#dialogData.buckets, ...(ngDevMode ? [{ debugName: "buckets" }] : []));
417
418
  this.picked = output();
418
419
  this.canceled = output();
419
420
  this.pickerFormControl.valueChanges.pipe(takeUntilDestroyed()).subscribe((widgets) => {
@@ -472,15 +473,15 @@ class WidgetPickerComponent {
472
473
  ngOnInit() {
473
474
  this.registeredWidgets = this.#widgetGridRegistry.getRegisteredWidgets(this.buckets());
474
475
  }
475
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
476
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: WidgetPickerComponent, isStandalone: true, selector: "yuv-widget-picker", inputs: { pickerData: { classPropertyName: "pickerData", publicName: "pickerData", isSignal: true, isRequired: false, transformFunction: null }, buckets: { classPropertyName: "buckets", publicName: "buckets", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { picked: "picked", canceled: "canceled" }, ngImport: i0, template: "<yuv-dialog [headertitel]=\"selectedWidget ? selectedWidget.label : ('yuv.widget-grid.widget-picker.title' | translate)\">\n <!-- <header class=\"dark\" [ngClass]=\"{ listing: !selectedWidget }\">\n @if (selectedWidget) {\n <button mat-icon-button (click)=\"reset()\"><mat-icon>back</mat-icon></button>\n }\n <div class=\"title\">{{ selectedWidget ? selectedWidget.label : ('yuv.widget-grid.widget-picker.title' | translate) }}</div>\n <button mat-icon-button (click)=\"cancel()\"><mat-icon>clear</mat-icon></button>\n </header> -->\n\n <main class=\"{{ !selectedWidget ? 'widget-listing' : 'widget-setup' }}\">\n @if (!selectedWidget) {\n <mat-selection-list role=\"list\" [formControl]=\"pickerFormControl\" [multiple]=\"false\" [hideSingleSelectionIndicator]=\"true\">\n <!-- list of avalable widgets -->\n @for (w of registeredWidgets; track $index) {\n <mat-list-option [value]=\"w\">\n {{ w.label }}\n </mat-list-option>\n } @empty {\n <div class=\"empty\">\n {{ 'yuv.widget-grid.widget-picker.empty' | translate }}\n </div>\n }\n </mat-selection-list>\n } @else {\n <div class=\"component\">\n <ng-container\n *ngComponentOutlet=\"selectedWidget!.setupComponent!; ndcDynamicInputs: widgetConfigMap; ndcDynamicOutputs: setupWidgetDynamicOutputs\"\n ></ng-container>\n </div>\n }\n </main>\n <footer>\n @if (selectedWidget) {\n <button ymtButton=\"secondary\" (click)=\"setupComponentCancel()\">{{ 'yuv.widget-grid.button.cancel' | translate }}</button>\n <button ymtButton=\"primary\" [disabled]=\"!widgetConfigDirty || widgetConfigState === 'INVALID'\" (click)=\"setupComponentSave()\">\n {{ 'yuv.widget-grid.button.save' | translate }}\n </button>\n } @else {\n <button ymtButton=\"secondary\" (click)=\"cancel()\">{{ 'yuv.widget-grid.button.cancel' | translate }}</button>\n }\n </footer>\n</yuv-dialog>\n", styles: [":host .empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}:host main.widget-setup{height:100%;display:grid;grid-template-rows:1fr auto;grid-template-columns:1fr;grid-template-areas:\"component\" \"buttons\"}:host main.widget-listing .widget{padding:var(--app-pane-padding);border-bottom:1px solid var(--panel-divider-color);cursor:pointer}:host main.widget-listing .widget:hover{background-color:var(--item-focus-background-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: DialogComponent, selector: "yuv-dialog", inputs: ["headertitle", "headertitel"] }, { kind: "directive", type: YmtButtonDirective, selector: "button[ymtButton], a[ymtButton]", inputs: ["ymtButton", "disabled", "aria-disabled", "disableRipple", "disabledInteractive", "button-size"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i3$1.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i3$1.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "ngmodule", type: DynamicIoModule }, { kind: "directive", type: i4.ComponentOutletInjectorDirective, selector: "[ngComponentOutlet]", exportAs: ["ndcComponentOutletInjector"] }, { kind: "directive", type: i4.ComponentOutletIoDirective, selector: "[ngComponentOutletNdcDynamicInputs],[ngComponentOutletNdcDynamicOutputs]", inputs: ["ngComponentOutletNdcDynamicInputs", "ngComponentOutletNdcDynamicOutputs"], exportAs: ["ndcDynamicIo"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: SignalComponentIoModule }] }); }
476
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: WidgetPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
477
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: WidgetPickerComponent, isStandalone: true, selector: "yuv-widget-picker", inputs: { pickerData: { classPropertyName: "pickerData", publicName: "pickerData", isSignal: true, isRequired: false, transformFunction: null }, buckets: { classPropertyName: "buckets", publicName: "buckets", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { picked: "picked", canceled: "canceled" }, ngImport: i0, template: "<yuv-dialog [headertitel]=\"selectedWidget ? selectedWidget.label : ('yuv.widget-grid.widget-picker.title' | translate)\">\n <!-- <header class=\"dark\" [ngClass]=\"{ listing: !selectedWidget }\">\n @if (selectedWidget) {\n <button mat-icon-button (click)=\"reset()\"><mat-icon>back</mat-icon></button>\n }\n <div class=\"title\">{{ selectedWidget ? selectedWidget.label : ('yuv.widget-grid.widget-picker.title' | translate) }}</div>\n <button mat-icon-button (click)=\"cancel()\"><mat-icon>clear</mat-icon></button>\n </header> -->\n\n <main class=\"{{ !selectedWidget ? 'widget-listing' : 'widget-setup' }}\">\n @if (!selectedWidget) {\n <mat-selection-list role=\"list\" [formControl]=\"pickerFormControl\" [multiple]=\"false\" [hideSingleSelectionIndicator]=\"true\">\n <!-- list of avalable widgets -->\n @for (w of registeredWidgets; track $index) {\n <mat-list-option [value]=\"w\">\n {{ w.label }}\n </mat-list-option>\n } @empty {\n <div class=\"empty\">\n {{ 'yuv.widget-grid.widget-picker.empty' | translate }}\n </div>\n }\n </mat-selection-list>\n } @else {\n <div class=\"component\">\n <ng-container\n *ngComponentOutlet=\"selectedWidget!.setupComponent!; ndcDynamicInputs: widgetConfigMap; ndcDynamicOutputs: setupWidgetDynamicOutputs\"\n ></ng-container>\n </div>\n }\n </main>\n <footer>\n @if (selectedWidget) {\n <button ymtButton=\"secondary\" (click)=\"setupComponentCancel()\">{{ 'yuv.widget-grid.button.cancel' | translate }}</button>\n <button ymtButton=\"primary\" [disabled]=\"!widgetConfigDirty || widgetConfigState === 'INVALID'\" (click)=\"setupComponentSave()\">\n {{ 'yuv.widget-grid.button.save' | translate }}\n </button>\n } @else {\n <button ymtButton=\"secondary\" (click)=\"cancel()\">{{ 'yuv.widget-grid.button.cancel' | translate }}</button>\n }\n </footer>\n</yuv-dialog>\n", styles: [":host .empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}:host main.widget-setup{height:100%;display:grid;grid-template-rows:1fr auto;grid-template-columns:1fr;grid-template-areas:\"component\" \"buttons\"}:host main.widget-listing .widget{padding:var(--app-pane-padding);border-bottom:1px solid var(--panel-divider-color);cursor:pointer}:host main.widget-listing .widget:hover{background-color:var(--item-focus-background-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: DialogComponent, selector: "yuv-dialog", inputs: ["headertitle", "headertitel"] }, { kind: "directive", type: YmtButtonDirective, selector: "button[ymtButton], a[ymtButton]", inputs: ["ymtButton", "disabled", "aria-disabled", "disableRipple", "disabledInteractive", "button-size"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i2.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "ngmodule", type: DynamicIoModule }, { kind: "directive", type: i3.ComponentOutletInjectorDirective, selector: "[ngComponentOutlet]", exportAs: ["ndcComponentOutletInjector"] }, { kind: "directive", type: i3.ComponentOutletIoDirective, selector: "[ngComponentOutletNdcDynamicInputs],[ngComponentOutletNdcDynamicOutputs]", inputs: ["ngComponentOutletNdcDynamicInputs", "ngComponentOutletNdcDynamicOutputs"], exportAs: ["ndcDynamicIo"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: SignalComponentIoModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
477
478
  }
478
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WidgetPickerComponent, decorators: [{
479
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: WidgetPickerComponent, decorators: [{
479
480
  type: Component,
480
481
  args: [{ selector: 'yuv-widget-picker', imports: [
481
482
  CommonModule,
482
483
  MatButtonModule,
483
- TranslateModule,
484
+ TranslatePipe,
484
485
  MatIconModule,
485
486
  DialogComponent,
486
487
  YmtButtonDirective,
@@ -489,7 +490,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
489
490
  ReactiveFormsModule,
490
491
  SignalComponentIoModule
491
492
  ], template: "<yuv-dialog [headertitel]=\"selectedWidget ? selectedWidget.label : ('yuv.widget-grid.widget-picker.title' | translate)\">\n <!-- <header class=\"dark\" [ngClass]=\"{ listing: !selectedWidget }\">\n @if (selectedWidget) {\n <button mat-icon-button (click)=\"reset()\"><mat-icon>back</mat-icon></button>\n }\n <div class=\"title\">{{ selectedWidget ? selectedWidget.label : ('yuv.widget-grid.widget-picker.title' | translate) }}</div>\n <button mat-icon-button (click)=\"cancel()\"><mat-icon>clear</mat-icon></button>\n </header> -->\n\n <main class=\"{{ !selectedWidget ? 'widget-listing' : 'widget-setup' }}\">\n @if (!selectedWidget) {\n <mat-selection-list role=\"list\" [formControl]=\"pickerFormControl\" [multiple]=\"false\" [hideSingleSelectionIndicator]=\"true\">\n <!-- list of avalable widgets -->\n @for (w of registeredWidgets; track $index) {\n <mat-list-option [value]=\"w\">\n {{ w.label }}\n </mat-list-option>\n } @empty {\n <div class=\"empty\">\n {{ 'yuv.widget-grid.widget-picker.empty' | translate }}\n </div>\n }\n </mat-selection-list>\n } @else {\n <div class=\"component\">\n <ng-container\n *ngComponentOutlet=\"selectedWidget!.setupComponent!; ndcDynamicInputs: widgetConfigMap; ndcDynamicOutputs: setupWidgetDynamicOutputs\"\n ></ng-container>\n </div>\n }\n </main>\n <footer>\n @if (selectedWidget) {\n <button ymtButton=\"secondary\" (click)=\"setupComponentCancel()\">{{ 'yuv.widget-grid.button.cancel' | translate }}</button>\n <button ymtButton=\"primary\" [disabled]=\"!widgetConfigDirty || widgetConfigState === 'INVALID'\" (click)=\"setupComponentSave()\">\n {{ 'yuv.widget-grid.button.save' | translate }}\n </button>\n } @else {\n <button ymtButton=\"secondary\" (click)=\"cancel()\">{{ 'yuv.widget-grid.button.cancel' | translate }}</button>\n }\n </footer>\n</yuv-dialog>\n", styles: [":host .empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}:host main.widget-setup{height:100%;display:grid;grid-template-rows:1fr auto;grid-template-columns:1fr;grid-template-areas:\"component\" \"buttons\"}:host main.widget-listing .widget{padding:var(--app-pane-padding);border-bottom:1px solid var(--panel-divider-color);cursor:pointer}:host main.widget-listing .widget:hover{background-color:var(--item-focus-background-color)}\n"] }]
492
- }], ctorParameters: () => [] });
493
+ }], ctorParameters: () => [], propDecorators: { pickerData: [{ type: i0.Input, args: [{ isSignal: true, alias: "pickerData", required: false }] }], buckets: [{ type: i0.Input, args: [{ isSignal: true, alias: "buckets", required: false }] }], picked: [{ type: i0.Output, args: ["picked"] }], canceled: [{ type: i0.Output, args: ["canceled"] }] } });
493
494
 
494
495
  class YuvWidgetGridComponent {
495
496
  #dialog;
@@ -522,7 +523,7 @@ class YuvWidgetGridComponent {
522
523
  this.emitChange();
523
524
  }
524
525
  };
525
- this.gridConfig = input();
526
+ this.gridConfig = input(...(ngDevMode ? [undefined, { debugName: "gridConfig" }] : []));
526
527
  this.#gridConfigEffect = effect(() => {
527
528
  const cfg = this.gridConfig();
528
529
  if (cfg?.rows) {
@@ -548,14 +549,14 @@ class YuvWidgetGridComponent {
548
549
  if (this.options.api?.optionsChanged) {
549
550
  this.options.api.optionsChanged();
550
551
  }
551
- });
552
- this._editMode = signal(false);
552
+ }, ...(ngDevMode ? [{ debugName: "#gridConfigEffect" }] : []));
553
+ this._editMode = signal(false, ...(ngDevMode ? [{ debugName: "_editMode" }] : []));
553
554
  /**
554
555
  * Whether or not to enable edit mode. In edit mode controls
555
556
  * for editing existing tiles and creating new ones are shown.
556
557
  * This mode also enables positioning and resizing of the tiles.
557
558
  */
558
- this.editMode = input(false);
559
+ this.editMode = input(false, ...(ngDevMode ? [{ debugName: "editMode" }] : []));
559
560
  this.#editModeEffect = effect(() => {
560
561
  const e = this.editMode();
561
562
  this._editMode.set(e);
@@ -568,11 +569,11 @@ class YuvWidgetGridComponent {
568
569
  this.options.api.optionsChanged();
569
570
  }
570
571
  }, 0);
571
- });
572
- this.gridItemConfig = input(undefined);
572
+ }, ...(ngDevMode ? [{ debugName: "#editModeEffect" }] : []));
573
+ this.gridItemConfig = input(undefined, ...(ngDevMode ? [{ debugName: "gridItemConfig" }] : []));
573
574
  this.#gridItemConfigEffect = effect(() => {
574
575
  this.#widgetGridService.setWidgetGrid(this.gridItemConfig());
575
- });
576
+ }, ...(ngDevMode ? [{ debugName: "#gridItemConfigEffect" }] : []));
576
577
  /**
577
578
  * Collection of buckets to load available widgets from. Wildcards are also posssible:
578
579
  * `[buckets]="['app.default', '*.public.*', 'app.no?.widgets']"`
@@ -580,7 +581,7 @@ class YuvWidgetGridComponent {
580
581
  * `*` represents any character 0-n times
581
582
  * `?` represents exactly one character
582
583
  */
583
- this.buckets = input(undefined);
584
+ this.buckets = input(undefined, ...(ngDevMode ? [{ debugName: "buckets" }] : []));
584
585
  // @Input() buckets?: string[];
585
586
  /**
586
587
  * Emitted when the grid has been changed
@@ -648,16 +649,16 @@ class YuvWidgetGridComponent {
648
649
  });
649
650
  this.gridChange.emit(mapped);
650
651
  }
651
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: YuvWidgetGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
652
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: YuvWidgetGridComponent, isStandalone: true, selector: "yuv-widget-grid", inputs: { gridConfig: { classPropertyName: "gridConfig", publicName: "gridConfig", isSignal: true, isRequired: false, transformFunction: null }, editMode: { classPropertyName: "editMode", publicName: "editMode", isSignal: true, isRequired: false, transformFunction: null }, gridItemConfig: { classPropertyName: "gridItemConfig", publicName: "gridItemConfig", isSignal: true, isRequired: false, transformFunction: null }, buckets: { classPropertyName: "buckets", publicName: "buckets", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { gridChange: "gridChange", gridItemEvent: "gridItemEvent", widgetPickerOpen: "widgetPickerOpen" }, host: { properties: { "class.widget-grid-edit": "editMode()" } }, providers: [WidgetGridService], viewQueries: [{ propertyName: "gridsterItems", first: true, predicate: GridsterItemComponent, descendants: true, isSignal: true }, { propertyName: "widgetPicker", first: true, predicate: ["widgetPicker"], descendants: true, read: TemplateRef, isSignal: true }], ngImport: i0, template: "@if (_editMode()) {\n <button class=\"fab\" mat-fab [attr.aria-label]=\"'yuv.widget-grid.widget.add.label' | translate\" (click)=\"addItem()\" [matTooltip]=\"'yuv.widget-grid.widget.add.tooltip' | translate\">\n <mat-icon>add</mat-icon>\n </button>\n}\n\n@if (widgetGrid.length === 0 && !_editMode()) {\n <div class=\"empty\">\n <!-- <p>{{ 'yuv.widget-grid.empty' | translate }}</p>\n <button ymtButton=\"primary\" (click)=\"_editMode.set(true)\">\n {{'yuv.widget-grid.empty.create' | translate}}</button> -->\n <ng-content select=\".empty\"><p>{{ 'yuv.widget-grid.empty' | translate }}</p></ng-content>\n </div>\n} @else {\n <gridster [options]=\"options\">\n @for (item of widgetGrid; track item.id) {\n <gridster-item [item]=\"item\">\n @if (_editMode()) {\n <div class=\"toolbar\">\n <!-- drag handle -->\n <mat-icon class=\"dragHandle ymt-icon--size-s\">drag_indicator</mat-icon>\n <!-- edit -->\n <button ymt-icon-button icon-button-size=\"small\"\n [matTooltip]=\"'yuv.widget-grid.widget.edit.tooltip' | translate\"\n (click)=\"openWidgetPicker(item)\"><mat-icon class=\"ymt-icon--size-s\">edit</mat-icon></button>\n <!-- remove -->\n <button ymt-icon-button icon-button-size=\"small\"\n [matTooltip]=\"'yuv.widget-grid.widget.remove.tooltip' | translate\"\n (click)=\"removeItem(item)\"><mat-icon class=\"ymt-icon--size-s\">clear</mat-icon></button>\n </div>\n }\n <div class=\"cmp\">\n <ng-container *ngComponentOutlet=\"item.widget; ndcDynamicInputs: item.widgetConfigMap\"></ng-container>\n </div>\n </gridster-item>\n }\n </gridster>\n}\n<ng-template #widgetPicker>\n <yuv-widget-picker [pickerData]=\"widgetPickerData\" [buckets]=\"buckets()\"></yuv-widget-picker>\n</ng-template>\n", styles: [":host{--_widget-grid-toolbar-background: var(--widget-grid-toolbar-background, var(--ymt-surface));--_widget-grid-on-toolbar: var(--widget-grid-on-toolbar, var(--ymt-on-surface));position:relative}:host .fab{position:absolute;inset-inline-end:var(--ymt-spacing-m);inset-block-end:var(--ymt-spacing-m);z-index:100}:host .cmp{height:100%}:host.widget-grid-edit gridster-item{outline:1px solid var(--ymt-outline);outline-offset:-1px}:host .empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--ymt-on-surface);font:var(--ymt-font-body-medium)}:host .empty p{padding:var(--ymt-spacing-m);max-width:45ch;text-align:center}:host gridster{background-color:transparent}:host gridster ::ng-deep .gridster-column,:host gridster ::ng-deep .gridster-row{border-color:var(--ymt-outline-variant);transition:none}:host gridster-item{transition:none;background-color:transparent}:host gridster-item .toolbar{position:absolute;z-index:1;background-color:var(--_widget-grid-toolbar-background);color:var(--_widget-grid-on-toolbar);right:0;top:var(--ymt-spacing-xs);padding:var(--ymt-spacing-xs);gap:var(--ymt-spacing-s);display:flex;flex-flow:row nowrap;align-items:center;outline:1px solid var(--ymt-outline);outline-offset:-1px}:host gridster-item .toolbar button{color:currentColor}:host gridster-item .dragHandle{display:flex;flex-flow:column;align-items:center;justify-content:center;padding:0 var(--ymt-spacing-s);cursor:move}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "ngmodule", type: DynamicIoModule }, { kind: "directive", type: i4.ComponentOutletInjectorDirective, selector: "[ngComponentOutlet]", exportAs: ["ndcComponentOutletInjector"] }, { kind: "directive", type: i4.ComponentOutletIoDirective, selector: "[ngComponentOutletNdcDynamicInputs],[ngComponentOutletNdcDynamicOutputs]", inputs: ["ngComponentOutletNdcDynamicInputs", "ngComponentOutletNdcDynamicOutputs"], exportAs: ["ndcDynamicIo"] }, { kind: "ngmodule", type: SignalComponentIoModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: GridsterComponent, selector: "gridster", inputs: ["options"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "component", type: WidgetPickerComponent, selector: "yuv-widget-picker", inputs: ["pickerData", "buckets"], outputs: ["picked", "canceled"] }, { kind: "component", type: GridsterItemComponent, selector: "gridster-item", inputs: ["item"], outputs: ["itemInit", "itemChange", "itemResize"] }, { 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"] }] }); }
652
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: YuvWidgetGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
653
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: YuvWidgetGridComponent, isStandalone: true, selector: "yuv-widget-grid", inputs: { gridConfig: { classPropertyName: "gridConfig", publicName: "gridConfig", isSignal: true, isRequired: false, transformFunction: null }, editMode: { classPropertyName: "editMode", publicName: "editMode", isSignal: true, isRequired: false, transformFunction: null }, gridItemConfig: { classPropertyName: "gridItemConfig", publicName: "gridItemConfig", isSignal: true, isRequired: false, transformFunction: null }, buckets: { classPropertyName: "buckets", publicName: "buckets", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { gridChange: "gridChange", gridItemEvent: "gridItemEvent", widgetPickerOpen: "widgetPickerOpen" }, host: { properties: { "class.widget-grid-edit": "editMode()" } }, providers: [WidgetGridService], viewQueries: [{ propertyName: "gridsterItems", first: true, predicate: GridsterItemComponent, descendants: true, isSignal: true }, { propertyName: "widgetPicker", first: true, predicate: ["widgetPicker"], descendants: true, read: TemplateRef, isSignal: true }], ngImport: i0, template: "@if (_editMode()) {\n <button class=\"fab\" mat-fab [attr.aria-label]=\"'yuv.widget-grid.widget.add.label' | translate\" (click)=\"addItem()\" [matTooltip]=\"'yuv.widget-grid.widget.add.tooltip' | translate\">\n <mat-icon>add</mat-icon>\n </button>\n}\n\n@if (widgetGrid.length === 0 && !_editMode()) {\n <div class=\"empty\">\n <!-- <p>{{ 'yuv.widget-grid.empty' | translate }}</p>\n <button ymtButton=\"primary\" (click)=\"_editMode.set(true)\">\n {{'yuv.widget-grid.empty.create' | translate}}</button> -->\n <ng-content select=\".empty\"><p>{{ 'yuv.widget-grid.empty' | translate }}</p></ng-content>\n </div>\n} @else {\n <gridster [options]=\"options\">\n @for (item of widgetGrid; track item.id) {\n <gridster-item [item]=\"item\">\n @if (_editMode()) {\n <div class=\"toolbar\">\n <!-- drag handle -->\n <mat-icon class=\"dragHandle ymt-icon--size-s\">drag_indicator</mat-icon>\n <!-- edit -->\n <button ymt-icon-button icon-button-size=\"small\"\n [matTooltip]=\"'yuv.widget-grid.widget.edit.tooltip' | translate\"\n (click)=\"openWidgetPicker(item)\"><mat-icon class=\"ymt-icon--size-s\">edit</mat-icon></button>\n <!-- remove -->\n <button ymt-icon-button icon-button-size=\"small\"\n [matTooltip]=\"'yuv.widget-grid.widget.remove.tooltip' | translate\"\n (click)=\"removeItem(item)\"><mat-icon class=\"ymt-icon--size-s\">clear</mat-icon></button>\n </div>\n }\n <div class=\"cmp\">\n <ng-container *ngComponentOutlet=\"item.widget; ndcDynamicInputs: item.widgetConfigMap\"></ng-container>\n </div>\n </gridster-item>\n }\n </gridster>\n}\n<ng-template #widgetPicker>\n <yuv-widget-picker [pickerData]=\"widgetPickerData\" [buckets]=\"buckets()\"></yuv-widget-picker>\n</ng-template>\n", styles: [":host{--_widget-grid-toolbar-background: var(--widget-grid-toolbar-background, var(--ymt-surface));--_widget-grid-on-toolbar: var(--widget-grid-on-toolbar, var(--ymt-on-surface));position:relative}:host .fab{position:absolute;inset-inline-end:var(--ymt-spacing-m);inset-block-end:var(--ymt-spacing-m);z-index:100}:host .cmp{height:100%}:host.widget-grid-edit gridster-item{outline:1px solid var(--ymt-outline);outline-offset:-1px}:host .empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--ymt-on-surface);font:var(--ymt-font-body-medium)}:host .empty p{padding:var(--ymt-spacing-m);max-width:45ch;text-align:center}:host gridster{background-color:transparent}:host gridster ::ng-deep .gridster-column,:host gridster ::ng-deep .gridster-row{border-color:var(--ymt-outline-variant);transition:none}:host gridster-item{transition:none;background-color:transparent}:host gridster-item .toolbar{position:absolute;z-index:1;background-color:var(--_widget-grid-toolbar-background);color:var(--_widget-grid-on-toolbar);right:0;top:var(--ymt-spacing-xs);padding:var(--ymt-spacing-xs);gap:var(--ymt-spacing-s);display:flex;flex-flow:row nowrap;align-items:center;outline:1px solid var(--ymt-outline);outline-offset:-1px}:host gridster-item .toolbar button{color:currentColor}:host gridster-item .dragHandle{display:flex;flex-flow:column;align-items:center;justify-content:center;padding:0 var(--ymt-spacing-s);cursor:move}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "ngmodule", type: DynamicIoModule }, { kind: "directive", type: i3.ComponentOutletInjectorDirective, selector: "[ngComponentOutlet]", exportAs: ["ndcComponentOutletInjector"] }, { kind: "directive", type: i3.ComponentOutletIoDirective, selector: "[ngComponentOutletNdcDynamicInputs],[ngComponentOutletNdcDynamicOutputs]", inputs: ["ngComponentOutletNdcDynamicInputs", "ngComponentOutletNdcDynamicOutputs"], exportAs: ["ndcDynamicIo"] }, { kind: "ngmodule", type: SignalComponentIoModule }, { kind: "component", type: GridsterComponent, selector: "gridster", inputs: ["options"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { 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: MatButtonModule }, { kind: "component", type: i5.MatFabButton, selector: "button[mat-fab], a[mat-fab], button[matFab], a[matFab]", inputs: ["extended"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: WidgetPickerComponent, selector: "yuv-widget-picker", inputs: ["pickerData", "buckets"], outputs: ["picked", "canceled"] }, { kind: "component", type: GridsterItemComponent, selector: "gridster-item", inputs: ["item"], outputs: ["itemInit", "itemChange", "itemResize"] }, { kind: "directive", type: YmtIconButtonDirective, selector: "button[ymtIconButton],button[ymt-icon-button],a[ymtIconButton],a[ymt-icon-button]", inputs: ["disabled", "disableRipple", "aria-disabled", "disabledInteractive", "icon-button-size"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
653
654
  }
654
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: YuvWidgetGridComponent, decorators: [{
655
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: YuvWidgetGridComponent, decorators: [{
655
656
  type: Component,
656
657
  args: [{ selector: 'yuv-widget-grid', imports: [
657
658
  CommonModule,
658
659
  DynamicIoModule,
659
660
  SignalComponentIoModule,
660
- TranslateModule,
661
+ TranslatePipe,
661
662
  GridsterComponent,
662
663
  MatIconModule,
663
664
  MatTooltipModule,
@@ -667,25 +668,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
667
668
  YmtIconButtonDirective,
668
669
  MatTooltip
669
670
  ], providers: [WidgetGridService], host: { '[class.widget-grid-edit]': 'editMode()' }, template: "@if (_editMode()) {\n <button class=\"fab\" mat-fab [attr.aria-label]=\"'yuv.widget-grid.widget.add.label' | translate\" (click)=\"addItem()\" [matTooltip]=\"'yuv.widget-grid.widget.add.tooltip' | translate\">\n <mat-icon>add</mat-icon>\n </button>\n}\n\n@if (widgetGrid.length === 0 && !_editMode()) {\n <div class=\"empty\">\n <!-- <p>{{ 'yuv.widget-grid.empty' | translate }}</p>\n <button ymtButton=\"primary\" (click)=\"_editMode.set(true)\">\n {{'yuv.widget-grid.empty.create' | translate}}</button> -->\n <ng-content select=\".empty\"><p>{{ 'yuv.widget-grid.empty' | translate }}</p></ng-content>\n </div>\n} @else {\n <gridster [options]=\"options\">\n @for (item of widgetGrid; track item.id) {\n <gridster-item [item]=\"item\">\n @if (_editMode()) {\n <div class=\"toolbar\">\n <!-- drag handle -->\n <mat-icon class=\"dragHandle ymt-icon--size-s\">drag_indicator</mat-icon>\n <!-- edit -->\n <button ymt-icon-button icon-button-size=\"small\"\n [matTooltip]=\"'yuv.widget-grid.widget.edit.tooltip' | translate\"\n (click)=\"openWidgetPicker(item)\"><mat-icon class=\"ymt-icon--size-s\">edit</mat-icon></button>\n <!-- remove -->\n <button ymt-icon-button icon-button-size=\"small\"\n [matTooltip]=\"'yuv.widget-grid.widget.remove.tooltip' | translate\"\n (click)=\"removeItem(item)\"><mat-icon class=\"ymt-icon--size-s\">clear</mat-icon></button>\n </div>\n }\n <div class=\"cmp\">\n <ng-container *ngComponentOutlet=\"item.widget; ndcDynamicInputs: item.widgetConfigMap\"></ng-container>\n </div>\n </gridster-item>\n }\n </gridster>\n}\n<ng-template #widgetPicker>\n <yuv-widget-picker [pickerData]=\"widgetPickerData\" [buckets]=\"buckets()\"></yuv-widget-picker>\n</ng-template>\n", styles: [":host{--_widget-grid-toolbar-background: var(--widget-grid-toolbar-background, var(--ymt-surface));--_widget-grid-on-toolbar: var(--widget-grid-on-toolbar, var(--ymt-on-surface));position:relative}:host .fab{position:absolute;inset-inline-end:var(--ymt-spacing-m);inset-block-end:var(--ymt-spacing-m);z-index:100}:host .cmp{height:100%}:host.widget-grid-edit gridster-item{outline:1px solid var(--ymt-outline);outline-offset:-1px}:host .empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--ymt-on-surface);font:var(--ymt-font-body-medium)}:host .empty p{padding:var(--ymt-spacing-m);max-width:45ch;text-align:center}:host gridster{background-color:transparent}:host gridster ::ng-deep .gridster-column,:host gridster ::ng-deep .gridster-row{border-color:var(--ymt-outline-variant);transition:none}:host gridster-item{transition:none;background-color:transparent}:host gridster-item .toolbar{position:absolute;z-index:1;background-color:var(--_widget-grid-toolbar-background);color:var(--_widget-grid-on-toolbar);right:0;top:var(--ymt-spacing-xs);padding:var(--ymt-spacing-xs);gap:var(--ymt-spacing-s);display:flex;flex-flow:row nowrap;align-items:center;outline:1px solid var(--ymt-outline);outline-offset:-1px}:host gridster-item .toolbar button{color:currentColor}:host gridster-item .dragHandle{display:flex;flex-flow:column;align-items:center;justify-content:center;padding:0 var(--ymt-spacing-s);cursor:move}\n"] }]
670
- }], ctorParameters: () => [] });
671
+ }], ctorParameters: () => [], propDecorators: { gridsterItems: [{ type: i0.ViewChild, args: [i0.forwardRef(() => GridsterItemComponent), { isSignal: true }] }], widgetPicker: [{ type: i0.ViewChild, args: ['widgetPicker', { ...{ read: TemplateRef }, isSignal: true }] }], gridConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "gridConfig", required: false }] }], editMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "editMode", required: false }] }], gridItemConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "gridItemConfig", required: false }] }], buckets: [{ type: i0.Input, args: [{ isSignal: true, alias: "buckets", required: false }] }], gridChange: [{ type: i0.Output, args: ["gridChange"] }], gridItemEvent: [{ type: i0.Output, args: ["gridItemEvent"] }], widgetPickerOpen: [{ type: i0.Output, args: ["widgetPickerOpen"] }] } });
671
672
 
672
673
  class WorkspaceEditComponent {
673
674
  constructor() {
674
675
  this.dialogRef = inject((MatDialogRef));
675
- this.workspaceForm = input.required();
676
+ this.workspaceForm = input.required(...(ngDevMode ? [{ debugName: "workspaceForm" }] : []));
676
677
  this.workspaceSubmit = output();
677
678
  }
678
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WorkspaceEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
679
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.20", type: WorkspaceEditComponent, isStandalone: true, selector: "yuv-workspace-edit", inputs: { workspaceForm: { classPropertyName: "workspaceForm", publicName: "workspaceForm", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { workspaceSubmit: "workspaceSubmit" }, ngImport: i0, template: "<yuv-dialog [headertitel]=\"'yuv.widget-grid.workspaces.edit.title' | translate\">\n <main>\n <form id=\"workspaceEditForm\" [formGroup]=\"workspaceForm()\" (ngSubmit)=\"workspaceSubmit.emit()\">\n <mat-form-field class=\"yuv-form-field\">\n <mat-label>{{ 'yuv.widget-grid.workspaces.workspace.label' | translate }}</mat-label>\n <input matInput formControlName=\"label\" />\n </mat-form-field>\n </form>\n </main>\n <footer>\n <button ymtButton=\"secondary\" type=\"button\" (click)=\"dialogRef.close()\">\n {{ 'yuv.widget-grid.workspaces.edit.cancel' | translate }}\n </button>\n <button ymtButton=\"primary\" form=\"workspaceEditForm\" type=\"submit\" [disabled]=\"workspaceForm().invalid\">\n {{ 'yuv.widget-grid.workspaces.edit.save' | translate }}\n </button>\n </footer>\n</yuv-dialog>\n", styles: [":host main{padding:var(--ymt-spacing-m)}:host mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DialogComponent, selector: "yuv-dialog", inputs: ["headertitle", "headertitel"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$1.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: YmtButtonDirective, selector: "button[ymtButton], a[ymtButton]", inputs: ["ymtButton", "disabled", "aria-disabled", "disableRipple", "disabledInteractive", "button-size"] }, { kind: "ngmodule", type: TranslateModule$1 }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
679
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: WorkspaceEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
680
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.19", type: WorkspaceEditComponent, isStandalone: true, selector: "yuv-workspace-edit", inputs: { workspaceForm: { classPropertyName: "workspaceForm", publicName: "workspaceForm", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { workspaceSubmit: "workspaceSubmit" }, ngImport: i0, template: "<yuv-dialog [headertitel]=\"'yuv.widget-grid.workspaces.edit.title' | translate\">\n <main>\n <form id=\"workspaceEditForm\" [formGroup]=\"workspaceForm()\" (ngSubmit)=\"workspaceSubmit.emit()\">\n <mat-form-field class=\"yuv-form-field\">\n <mat-label>{{ 'yuv.widget-grid.workspaces.workspace.label' | translate }}</mat-label>\n <input matInput formControlName=\"label\" />\n </mat-form-field>\n </form>\n </main>\n <footer>\n <button ymtButton=\"secondary\" type=\"button\" (click)=\"dialogRef.close()\">\n {{ 'yuv.widget-grid.workspaces.edit.cancel' | translate }}\n </button>\n <button ymtButton=\"primary\" form=\"workspaceEditForm\" type=\"submit\" [disabled]=\"workspaceForm().invalid\">\n {{ 'yuv.widget-grid.workspaces.edit.save' | translate }}\n </button>\n </footer>\n</yuv-dialog>\n", styles: [":host main{padding:var(--ymt-spacing-m)}:host mat-form-field{width:100%}\n"], dependencies: [{ kind: "component", type: DialogComponent, selector: "yuv-dialog", inputs: ["headertitle", "headertitel"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$1.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: YmtButtonDirective, selector: "button[ymtButton], a[ymtButton]", inputs: ["ymtButton", "disabled", "aria-disabled", "disableRipple", "disabledInteractive", "button-size"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: TranslatePipe$1, name: "translate" }] }); }
680
681
  }
681
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: WorkspaceEditComponent, decorators: [{
682
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: WorkspaceEditComponent, decorators: [{
682
683
  type: Component,
683
- args: [{ selector: 'yuv-workspace-edit', imports: [CommonModule, DialogComponent, MatFormFieldModule,
684
+ args: [{ selector: 'yuv-workspace-edit', imports: [
685
+ DialogComponent,
686
+ MatFormFieldModule,
684
687
  MatInputModule,
685
688
  YmtButtonDirective,
686
- TranslateModule$1,
687
- ReactiveFormsModule], template: "<yuv-dialog [headertitel]=\"'yuv.widget-grid.workspaces.edit.title' | translate\">\n <main>\n <form id=\"workspaceEditForm\" [formGroup]=\"workspaceForm()\" (ngSubmit)=\"workspaceSubmit.emit()\">\n <mat-form-field class=\"yuv-form-field\">\n <mat-label>{{ 'yuv.widget-grid.workspaces.workspace.label' | translate }}</mat-label>\n <input matInput formControlName=\"label\" />\n </mat-form-field>\n </form>\n </main>\n <footer>\n <button ymtButton=\"secondary\" type=\"button\" (click)=\"dialogRef.close()\">\n {{ 'yuv.widget-grid.workspaces.edit.cancel' | translate }}\n </button>\n <button ymtButton=\"primary\" form=\"workspaceEditForm\" type=\"submit\" [disabled]=\"workspaceForm().invalid\">\n {{ 'yuv.widget-grid.workspaces.edit.save' | translate }}\n </button>\n </footer>\n</yuv-dialog>\n", styles: [":host main{padding:var(--ymt-spacing-m)}:host mat-form-field{width:100%}\n"] }]
688
- }] });
689
+ TranslatePipe$1,
690
+ ReactiveFormsModule
691
+ ], template: "<yuv-dialog [headertitel]=\"'yuv.widget-grid.workspaces.edit.title' | translate\">\n <main>\n <form id=\"workspaceEditForm\" [formGroup]=\"workspaceForm()\" (ngSubmit)=\"workspaceSubmit.emit()\">\n <mat-form-field class=\"yuv-form-field\">\n <mat-label>{{ 'yuv.widget-grid.workspaces.workspace.label' | translate }}</mat-label>\n <input matInput formControlName=\"label\" />\n </mat-form-field>\n </form>\n </main>\n <footer>\n <button ymtButton=\"secondary\" type=\"button\" (click)=\"dialogRef.close()\">\n {{ 'yuv.widget-grid.workspaces.edit.cancel' | translate }}\n </button>\n <button ymtButton=\"primary\" form=\"workspaceEditForm\" type=\"submit\" [disabled]=\"workspaceForm().invalid\">\n {{ 'yuv.widget-grid.workspaces.edit.save' | translate }}\n </button>\n </footer>\n</yuv-dialog>\n", styles: [":host main{padding:var(--ymt-spacing-m)}:host mat-form-field{width:100%}\n"] }]
692
+ }], propDecorators: { workspaceForm: [{ type: i0.Input, args: [{ isSignal: true, alias: "workspaceForm", required: true }] }], workspaceSubmit: [{ type: i0.Output, args: ["workspaceSubmit"] }] } });
689
693
 
690
694
  /**
691
695
  * Component for managing multiple widget grids in so called workspaces.
@@ -708,15 +712,15 @@ class YuvWidgetGridWorkspacesComponent {
708
712
  id: [''],
709
713
  label: ['', Validators.required]
710
714
  });
711
- this.options = input(this.#DEFAULT_WORKSPACE_OPTIONS);
715
+ this.options = input(this.#DEFAULT_WORKSPACE_OPTIONS, ...(ngDevMode ? [{ debugName: "options" }] : []));
712
716
  this._workspaceOptions = computed(() => ({
713
717
  gridConfig: {
714
718
  ...this.#DEFAULT_WORKSPACE_OPTIONS.gridConfig,
715
719
  ...(this.options().gridConfig || {})
716
720
  }
717
- }));
718
- this.workspaceConfig = input(undefined);
719
- this._workspaceConfig = signal(undefined);
721
+ }), ...(ngDevMode ? [{ debugName: "_workspaceOptions" }] : []));
722
+ this.workspaceConfig = input(undefined, ...(ngDevMode ? [{ debugName: "workspaceConfig" }] : []));
723
+ this._workspaceConfig = signal(undefined, ...(ngDevMode ? [{ debugName: "_workspaceConfig" }] : []));
720
724
  this.#workspaceConfigEffect = effect(() => {
721
725
  const wsc = this.workspaceConfig();
722
726
  untracked(() => {
@@ -726,7 +730,7 @@ class YuvWidgetGridWorkspacesComponent {
726
730
  this.setWorkspace(wsc.currentWorkspace, true);
727
731
  }
728
732
  });
729
- });
733
+ }, ...(ngDevMode ? [{ debugName: "#workspaceConfigEffect" }] : []));
730
734
  /**
731
735
  * Collection of buckets to load available widgets from. Wildcards are also posssible:
732
736
  * `[buckets]="['app.default', '*.public.*', 'app.no?.widgets']"`
@@ -734,13 +738,13 @@ class YuvWidgetGridWorkspacesComponent {
734
738
  * `*` represents any character 0-n times
735
739
  * `?` represents exactly one character
736
740
  */
737
- this.buckets = input(undefined);
741
+ this.buckets = input(undefined, ...(ngDevMode ? [{ debugName: "buckets" }] : []));
738
742
  this.configChange = output();
739
743
  this.gridItemEvent = output();
740
744
  this.editModeChange = output();
741
- this.editMode = signal(false);
745
+ this.editMode = signal(false, ...(ngDevMode ? [{ debugName: "editMode" }] : []));
742
746
  // currently selected workspace
743
- this.workspace = signal(undefined);
747
+ this.workspace = signal(undefined, ...(ngDevMode ? [{ debugName: "workspace" }] : []));
744
748
  this.#workspaceEffect = effect(() => {
745
749
  const ws = this.workspace();
746
750
  this.workspaceLabel.set(ws ? this.getLabel(ws) : '');
@@ -749,9 +753,9 @@ class YuvWidgetGridWorkspacesComponent {
749
753
  this.workspaceForm.patchValue({ label: this.workspaceLabel(), id: ws.id });
750
754
  this.gridItemConfig.set(ws ? JSON.parse(JSON.stringify(ws.grid)) : undefined);
751
755
  });
752
- });
753
- this.workspaceLabel = signal('');
754
- this.gridItemConfig = signal(undefined);
756
+ }, ...(ngDevMode ? [{ debugName: "#workspaceEffect" }] : []));
757
+ this.workspaceLabel = signal('', ...(ngDevMode ? [{ debugName: "workspaceLabel" }] : []));
758
+ this.gridItemConfig = signal(undefined, ...(ngDevMode ? [{ debugName: "gridItemConfig" }] : []));
755
759
  }
756
760
  #dialog;
757
761
  #fb;
@@ -902,13 +906,12 @@ class YuvWidgetGridWorkspacesComponent {
902
906
  emitConfigChange() {
903
907
  this.configChange.emit(this._workspaceConfig());
904
908
  }
905
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: YuvWidgetGridWorkspacesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
906
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: YuvWidgetGridWorkspacesComponent, isStandalone: true, selector: "yuv-widget-grid-workspaces", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, workspaceConfig: { classPropertyName: "workspaceConfig", publicName: "workspaceConfig", isSignal: true, isRequired: false, transformFunction: null }, buckets: { classPropertyName: "buckets", publicName: "buckets", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { configChange: "configChange", gridItemEvent: "gridItemEvent", editModeChange: "editModeChange" }, ngImport: i0, template: "@let ws = workspace();\n\n<div class=\"toolbar\">\n @if (ws) {\n @let workspaces = _workspaceConfig()?.workspaces || [];\n\n <button\n mat-icon-button\n [matTooltip]=\"'yuv.widget-grid.workspaces.workspace.menu.tooltip' | translate\"\n [disabled]=\"editMode()\"\n [matMenuTriggerFor]=\"workspacePickerMenu\"\n >\n <mat-icon>menu</mat-icon>\n </button>\n\n <mat-menu #workspacePickerMenu=\"matMenu\">\n @for (ws of workspaces; track ws.id) {\n <button mat-menu-item (click)=\"setWorkspace(ws.id)\">{{ getLabel(ws) }}</button>\n }\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"openWorkspaceDialog(true, tplWorkspaceEdit)\">{{ 'yuv.widget-grid.workspaces.workspace.menu.create' | translate }}</button>\n </mat-menu>\n\n @if (!editMode()) {\n <h2 class=\"label\">{{ workspaceLabel() }}</h2>\n @if (!ws.preventEdit) {\n <button mat-icon-button [matMenuTriggerFor]=\"workspaceMenu\"><mat-icon>more_vert</mat-icon></button>\n <mat-menu #workspaceMenu=\"matMenu\">\n <button mat-menu-item (click)=\"editMode.set(!editMode())\">{{ 'yuv.widget-grid.workspaces.workspace.menu.edit' | translate }}</button>\n <button mat-menu-item (click)=\"deleteCurrentWorkspace()\">{{ 'yuv.widget-grid.workspaces.workspace.menu.delete' | translate }}</button>\n </mat-menu>\n }\n } @else {\n @if (ws.preventRename || ws.translateLabel) {\n <h2 class=\"label\">{{ workspaceLabel() }}</h2>\n } @else {\n <input type=\"text\" class=\"label\" [formControl]=\"workspaceLabelControl\" />\n }\n <button ymtButton=\"secondary\" (click)=\"revertWorkspaceConfig()\">\n {{ 'yuv.widget-grid.workspaces.editMode.cancel' | translate }}\n </button>\n <button ymtButton=\"primary\" (click)=\"persistWorkspaceConfig()\">\n {{ 'yuv.widget-grid.workspaces.editMode.save' | translate }}\n </button>\n }\n }\n</div>\n\n@if (ws) {\n <yuv-widget-grid\n [gridConfig]=\"_workspaceOptions().gridConfig\"\n [gridItemConfig]=\"gridItemConfig()\"\n [buckets]=\"buckets()\"\n [editMode]=\"editMode()\"\n (gridChange)=\"onGridChange($event)\"\n (gridItemEvent)=\"onGridEvent($event)\"\n >\n <div class=\"empty\">\n <p>{{ 'yuv.widget-grid.empty' | translate }}</p>\n <button ymtButton=\"primary\" (click)=\"editMode.set(true)\">\n {{ 'yuv.widget-grid.empty.create' | translate }}\n </button>\n </div>\n </yuv-widget-grid>\n} @else {\n <div class=\"empty\">\n <p>{{ 'yuv.widget-grid.workspaces.empty' | translate }}</p>\n <button ymtButton=\"primary\" (click)=\"openWorkspaceDialog(true, tplWorkspaceEdit)\">\n {{ 'yuv.widget-grid.workspaces.empty.button.create' | translate }}\n </button>\n </div>\n}\n\n<ng-template #tplWorkspaceEdit>\n <yuv-workspace-edit [workspaceForm]=\"workspaceForm\" (workspaceSubmit)=\"saveWorkspace()\"></yuv-workspace-edit>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;height:100%;overflow-y:auto}:host .toolbar{display:flex;flex-direction:row;align-items:center;gap:var(--ymt-spacing-m)}:host .toolbar .label{flex:1;font:var(--ymt-font-headline-medium);letter-spacing:var(--ymt-font-headline-medium-tracking);margin-inline:0;margin-block:.75em;padding-inline:.25em 0;padding-block:.25em}:host .toolbar input.label{border:0;background-color:transparent}:host .toolbar input.label:not([disabled]){outline:1px solid var(--ymt-outline)}:host yuv-widget-grid{flex:1}:host .empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: YuvWidgetGridComponent, selector: "yuv-widget-grid", inputs: ["gridConfig", "editMode", "gridItemConfig", "buckets"], outputs: ["gridChange", "gridItemEvent", "widgetPickerOpen"] }, { kind: "directive", type: YmtButtonDirective, selector: "button[ymtButton], a[ymtButton]", inputs: ["ymtButton", "disabled", "aria-disabled", "disableRipple", "disabledInteractive", "button-size"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4$3.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: i4$3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4$3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i3$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: WorkspaceEditComponent, selector: "yuv-workspace-edit", inputs: ["workspaceForm"], outputs: ["workspaceSubmit"] }] }); }
909
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: YuvWidgetGridWorkspacesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
910
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: YuvWidgetGridWorkspacesComponent, isStandalone: true, selector: "yuv-widget-grid-workspaces", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, workspaceConfig: { classPropertyName: "workspaceConfig", publicName: "workspaceConfig", isSignal: true, isRequired: false, transformFunction: null }, buckets: { classPropertyName: "buckets", publicName: "buckets", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { configChange: "configChange", gridItemEvent: "gridItemEvent", editModeChange: "editModeChange" }, ngImport: i0, template: "@let ws = workspace();\n\n<div class=\"toolbar\">\n @if (ws) {\n @let workspaces = _workspaceConfig()?.workspaces || [];\n\n <button\n mat-icon-button\n [matTooltip]=\"'yuv.widget-grid.workspaces.workspace.menu.tooltip' | translate\"\n [disabled]=\"editMode()\"\n [matMenuTriggerFor]=\"workspacePickerMenu\"\n >\n <mat-icon>menu</mat-icon>\n </button>\n\n <mat-menu #workspacePickerMenu=\"matMenu\">\n @for (ws of workspaces; track ws.id) {\n <button mat-menu-item (click)=\"setWorkspace(ws.id)\">{{ getLabel(ws) }}</button>\n }\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"openWorkspaceDialog(true, tplWorkspaceEdit)\">{{ 'yuv.widget-grid.workspaces.workspace.menu.create' | translate }}</button>\n </mat-menu>\n\n @if (!editMode()) {\n <h2 class=\"label\">{{ workspaceLabel() }}</h2>\n @if (!ws.preventEdit) {\n <button mat-icon-button [matMenuTriggerFor]=\"workspaceMenu\"><mat-icon>more_vert</mat-icon></button>\n <mat-menu #workspaceMenu=\"matMenu\">\n <button mat-menu-item (click)=\"editMode.set(!editMode())\">{{ 'yuv.widget-grid.workspaces.workspace.menu.edit' | translate }}</button>\n <button mat-menu-item (click)=\"deleteCurrentWorkspace()\">{{ 'yuv.widget-grid.workspaces.workspace.menu.delete' | translate }}</button>\n </mat-menu>\n }\n } @else {\n @if (ws.preventRename || ws.translateLabel) {\n <h2 class=\"label\">{{ workspaceLabel() }}</h2>\n } @else {\n <input type=\"text\" class=\"label\" [formControl]=\"workspaceLabelControl\" />\n }\n <button ymtButton=\"secondary\" (click)=\"revertWorkspaceConfig()\">\n {{ 'yuv.widget-grid.workspaces.editMode.cancel' | translate }}\n </button>\n <button ymtButton=\"primary\" (click)=\"persistWorkspaceConfig()\">\n {{ 'yuv.widget-grid.workspaces.editMode.save' | translate }}\n </button>\n }\n }\n</div>\n\n@if (ws) {\n <yuv-widget-grid\n [gridConfig]=\"_workspaceOptions().gridConfig\"\n [gridItemConfig]=\"gridItemConfig()\"\n [buckets]=\"buckets()\"\n [editMode]=\"editMode()\"\n (gridChange)=\"onGridChange($event)\"\n (gridItemEvent)=\"onGridEvent($event)\"\n >\n <div class=\"empty\">\n <p>{{ 'yuv.widget-grid.empty' | translate }}</p>\n <button ymtButton=\"primary\" (click)=\"editMode.set(true)\">\n {{ 'yuv.widget-grid.empty.create' | translate }}\n </button>\n </div>\n </yuv-widget-grid>\n} @else {\n <div class=\"empty\">\n <p>{{ 'yuv.widget-grid.workspaces.empty' | translate }}</p>\n <button ymtButton=\"primary\" (click)=\"openWorkspaceDialog(true, tplWorkspaceEdit)\">\n {{ 'yuv.widget-grid.workspaces.empty.button.create' | translate }}\n </button>\n </div>\n}\n\n<ng-template #tplWorkspaceEdit>\n <yuv-workspace-edit [workspaceForm]=\"workspaceForm\" (workspaceSubmit)=\"saveWorkspace()\"></yuv-workspace-edit>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;height:100%;overflow-y:auto}:host .toolbar{display:flex;flex-direction:row;align-items:center;gap:var(--ymt-spacing-m)}:host .toolbar .label{flex:1;font:var(--ymt-font-headline-medium);letter-spacing:var(--ymt-font-headline-medium-tracking);margin-inline:0;margin-block:.75em;padding-inline:.25em 0;padding-block:.25em}:host .toolbar input.label{border:0;background-color:transparent}:host .toolbar input.label:not([disabled]){outline:1px solid var(--ymt-outline)}:host yuv-widget-grid{flex:1}:host .empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "component", type: YuvWidgetGridComponent, selector: "yuv-widget-grid", inputs: ["gridConfig", "editMode", "gridItemConfig", "buckets"], outputs: ["gridChange", "gridItemEvent", "widgetPickerOpen"] }, { kind: "directive", type: YmtButtonDirective, selector: "button[ymtButton], a[ymtButton]", inputs: ["ymtButton", "disabled", "aria-disabled", "disableRipple", "disabledInteractive", "button-size"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.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$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { 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: WorkspaceEditComponent, selector: "yuv-workspace-edit", inputs: ["workspaceForm"], outputs: ["workspaceSubmit"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
907
911
  }
908
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: YuvWidgetGridWorkspacesComponent, decorators: [{
912
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: YuvWidgetGridWorkspacesComponent, decorators: [{
909
913
  type: Component,
910
914
  args: [{ selector: 'yuv-widget-grid-workspaces', imports: [
911
- CommonModule,
912
915
  YuvWidgetGridComponent,
913
916
  YmtButtonDirective,
914
917
  ReactiveFormsModule,
@@ -919,23 +922,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
919
922
  MatMenuModule,
920
923
  MatDividerModule,
921
924
  MatTooltipModule,
922
- TranslateModule,
925
+ TranslatePipe,
923
926
  WorkspaceEditComponent
924
927
  ], template: "@let ws = workspace();\n\n<div class=\"toolbar\">\n @if (ws) {\n @let workspaces = _workspaceConfig()?.workspaces || [];\n\n <button\n mat-icon-button\n [matTooltip]=\"'yuv.widget-grid.workspaces.workspace.menu.tooltip' | translate\"\n [disabled]=\"editMode()\"\n [matMenuTriggerFor]=\"workspacePickerMenu\"\n >\n <mat-icon>menu</mat-icon>\n </button>\n\n <mat-menu #workspacePickerMenu=\"matMenu\">\n @for (ws of workspaces; track ws.id) {\n <button mat-menu-item (click)=\"setWorkspace(ws.id)\">{{ getLabel(ws) }}</button>\n }\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"openWorkspaceDialog(true, tplWorkspaceEdit)\">{{ 'yuv.widget-grid.workspaces.workspace.menu.create' | translate }}</button>\n </mat-menu>\n\n @if (!editMode()) {\n <h2 class=\"label\">{{ workspaceLabel() }}</h2>\n @if (!ws.preventEdit) {\n <button mat-icon-button [matMenuTriggerFor]=\"workspaceMenu\"><mat-icon>more_vert</mat-icon></button>\n <mat-menu #workspaceMenu=\"matMenu\">\n <button mat-menu-item (click)=\"editMode.set(!editMode())\">{{ 'yuv.widget-grid.workspaces.workspace.menu.edit' | translate }}</button>\n <button mat-menu-item (click)=\"deleteCurrentWorkspace()\">{{ 'yuv.widget-grid.workspaces.workspace.menu.delete' | translate }}</button>\n </mat-menu>\n }\n } @else {\n @if (ws.preventRename || ws.translateLabel) {\n <h2 class=\"label\">{{ workspaceLabel() }}</h2>\n } @else {\n <input type=\"text\" class=\"label\" [formControl]=\"workspaceLabelControl\" />\n }\n <button ymtButton=\"secondary\" (click)=\"revertWorkspaceConfig()\">\n {{ 'yuv.widget-grid.workspaces.editMode.cancel' | translate }}\n </button>\n <button ymtButton=\"primary\" (click)=\"persistWorkspaceConfig()\">\n {{ 'yuv.widget-grid.workspaces.editMode.save' | translate }}\n </button>\n }\n }\n</div>\n\n@if (ws) {\n <yuv-widget-grid\n [gridConfig]=\"_workspaceOptions().gridConfig\"\n [gridItemConfig]=\"gridItemConfig()\"\n [buckets]=\"buckets()\"\n [editMode]=\"editMode()\"\n (gridChange)=\"onGridChange($event)\"\n (gridItemEvent)=\"onGridEvent($event)\"\n >\n <div class=\"empty\">\n <p>{{ 'yuv.widget-grid.empty' | translate }}</p>\n <button ymtButton=\"primary\" (click)=\"editMode.set(true)\">\n {{ 'yuv.widget-grid.empty.create' | translate }}\n </button>\n </div>\n </yuv-widget-grid>\n} @else {\n <div class=\"empty\">\n <p>{{ 'yuv.widget-grid.workspaces.empty' | translate }}</p>\n <button ymtButton=\"primary\" (click)=\"openWorkspaceDialog(true, tplWorkspaceEdit)\">\n {{ 'yuv.widget-grid.workspaces.empty.button.create' | translate }}\n </button>\n </div>\n}\n\n<ng-template #tplWorkspaceEdit>\n <yuv-workspace-edit [workspaceForm]=\"workspaceForm\" (workspaceSubmit)=\"saveWorkspace()\"></yuv-workspace-edit>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;height:100%;overflow-y:auto}:host .toolbar{display:flex;flex-direction:row;align-items:center;gap:var(--ymt-spacing-m)}:host .toolbar .label{flex:1;font:var(--ymt-font-headline-medium);letter-spacing:var(--ymt-font-headline-medium-tracking);margin-inline:0;margin-block:.75em;padding-inline:.25em 0;padding-block:.25em}:host .toolbar input.label{border:0;background-color:transparent}:host .toolbar input.label:not([disabled]){outline:1px solid var(--ymt-outline)}:host yuv-widget-grid{flex:1}:host .empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}\n"] }]
925
- }] });
928
+ }], propDecorators: { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], workspaceConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "workspaceConfig", required: false }] }], buckets: [{ type: i0.Input, args: [{ isSignal: true, alias: "buckets", required: false }] }], configChange: [{ type: i0.Output, args: ["configChange"] }], gridItemEvent: [{ type: i0.Output, args: ["gridItemEvent"] }], editModeChange: [{ type: i0.Output, args: ["editModeChange"] }] } });
926
929
 
927
930
  const cmp = [
928
931
  YuvWidgetGridComponent,
929
932
  YuvWidgetGridWorkspacesComponent
930
933
  ];
931
934
  class YuvWidgetGridModule {
932
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: YuvWidgetGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
933
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: YuvWidgetGridModule, imports: [YuvWidgetGridComponent,
935
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: YuvWidgetGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
936
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.19", ngImport: i0, type: YuvWidgetGridModule, imports: [YuvWidgetGridComponent,
934
937
  YuvWidgetGridWorkspacesComponent], exports: [YuvWidgetGridComponent,
935
938
  YuvWidgetGridWorkspacesComponent] }); }
936
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: YuvWidgetGridModule, imports: [cmp] }); }
939
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: YuvWidgetGridModule, imports: [cmp] }); }
937
940
  }
938
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: YuvWidgetGridModule, decorators: [{
941
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: YuvWidgetGridModule, decorators: [{
939
942
  type: NgModule,
940
943
  args: [{
941
944
  imports: [cmp],