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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. package/actions/index.d.ts +230 -9
  2. package/app-bar/index.d.ts +50 -1
  3. package/autocomplete/index.d.ts +89 -3
  4. package/breadcrumb/index.d.ts +112 -2
  5. package/clipboard/index.d.ts +19 -1
  6. package/common/index.d.ts +536 -7
  7. package/datepicker/index.d.ts +380 -6
  8. package/fesm2022/yuuvis-client-framework-actions.mjs +31 -32
  9. package/fesm2022/yuuvis-client-framework-actions.mjs.map +1 -1
  10. package/fesm2022/yuuvis-client-framework-app-bar.mjs +14 -17
  11. package/fesm2022/yuuvis-client-framework-app-bar.mjs.map +1 -1
  12. package/fesm2022/yuuvis-client-framework-autocomplete.mjs +23 -23
  13. package/fesm2022/yuuvis-client-framework-autocomplete.mjs.map +1 -1
  14. package/fesm2022/yuuvis-client-framework-breadcrumb.mjs +7 -8
  15. package/fesm2022/yuuvis-client-framework-breadcrumb.mjs.map +1 -1
  16. package/fesm2022/yuuvis-client-framework-clipboard.mjs +8 -10
  17. package/fesm2022/yuuvis-client-framework-clipboard.mjs.map +1 -1
  18. package/fesm2022/yuuvis-client-framework-common.mjs +191 -234
  19. package/fesm2022/yuuvis-client-framework-common.mjs.map +1 -1
  20. package/fesm2022/yuuvis-client-framework-datepicker.mjs +110 -145
  21. package/fesm2022/yuuvis-client-framework-datepicker.mjs.map +1 -1
  22. package/fesm2022/yuuvis-client-framework-forms.mjs +283 -250
  23. package/fesm2022/yuuvis-client-framework-forms.mjs.map +1 -1
  24. package/fesm2022/yuuvis-client-framework-icons.mjs +18 -19
  25. package/fesm2022/yuuvis-client-framework-icons.mjs.map +1 -1
  26. package/fesm2022/yuuvis-client-framework-list.mjs +59 -57
  27. package/fesm2022/yuuvis-client-framework-list.mjs.map +1 -1
  28. package/fesm2022/yuuvis-client-framework-master-details.mjs +23 -18
  29. package/fesm2022/yuuvis-client-framework-master-details.mjs.map +1 -1
  30. package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs +7 -9
  31. package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs.map +1 -1
  32. package/fesm2022/yuuvis-client-framework-metadata-form.mjs +32 -32
  33. package/fesm2022/yuuvis-client-framework-metadata-form.mjs.map +1 -1
  34. package/fesm2022/yuuvis-client-framework-object-details.mjs +129 -120
  35. package/fesm2022/yuuvis-client-framework-object-details.mjs.map +1 -1
  36. package/fesm2022/yuuvis-client-framework-object-flavor.mjs +67 -59
  37. package/fesm2022/yuuvis-client-framework-object-flavor.mjs.map +1 -1
  38. package/fesm2022/yuuvis-client-framework-object-form.mjs +58 -60
  39. package/fesm2022/yuuvis-client-framework-object-form.mjs.map +1 -1
  40. package/fesm2022/yuuvis-client-framework-object-preview.mjs +64 -47
  41. package/fesm2022/yuuvis-client-framework-object-preview.mjs.map +1 -1
  42. package/fesm2022/yuuvis-client-framework-object-relationship.mjs +206 -183
  43. package/fesm2022/yuuvis-client-framework-object-relationship.mjs.map +1 -1
  44. package/fesm2022/yuuvis-client-framework-object-summary.mjs +42 -42
  45. package/fesm2022/yuuvis-client-framework-object-summary.mjs.map +1 -1
  46. package/fesm2022/yuuvis-client-framework-object-versions.mjs +28 -29
  47. package/fesm2022/yuuvis-client-framework-object-versions.mjs.map +1 -1
  48. package/fesm2022/yuuvis-client-framework-overflow-hidden.mjs +10 -10
  49. package/fesm2022/yuuvis-client-framework-overflow-hidden.mjs.map +1 -1
  50. package/fesm2022/yuuvis-client-framework-overflow-menu.mjs +16 -16
  51. package/fesm2022/yuuvis-client-framework-overflow-menu.mjs.map +1 -1
  52. package/fesm2022/yuuvis-client-framework-pagination.mjs +7 -8
  53. package/fesm2022/yuuvis-client-framework-pagination.mjs.map +1 -1
  54. package/fesm2022/yuuvis-client-framework-popout.mjs +55 -57
  55. package/fesm2022/yuuvis-client-framework-popout.mjs.map +1 -1
  56. package/fesm2022/yuuvis-client-framework-query-list.mjs +29 -29
  57. package/fesm2022/yuuvis-client-framework-query-list.mjs.map +1 -1
  58. package/fesm2022/yuuvis-client-framework-renderer.mjs +71 -68
  59. package/fesm2022/yuuvis-client-framework-renderer.mjs.map +1 -1
  60. package/fesm2022/yuuvis-client-framework-sequence-list.mjs +20 -25
  61. package/fesm2022/yuuvis-client-framework-sequence-list.mjs.map +1 -1
  62. package/fesm2022/yuuvis-client-framework-simple-search.mjs +31 -33
  63. package/fesm2022/yuuvis-client-framework-simple-search.mjs.map +1 -1
  64. package/fesm2022/yuuvis-client-framework-sort.mjs +57 -37
  65. package/fesm2022/yuuvis-client-framework-sort.mjs.map +1 -1
  66. package/fesm2022/yuuvis-client-framework-split-view.mjs +39 -38
  67. package/fesm2022/yuuvis-client-framework-split-view.mjs.map +1 -1
  68. package/fesm2022/yuuvis-client-framework-tile-list.mjs +119 -121
  69. package/fesm2022/yuuvis-client-framework-tile-list.mjs.map +1 -1
  70. package/fesm2022/yuuvis-client-framework-token-search.mjs +22 -22
  71. package/fesm2022/yuuvis-client-framework-token-search.mjs.map +1 -1
  72. package/fesm2022/yuuvis-client-framework-tree.mjs +32 -44
  73. package/fesm2022/yuuvis-client-framework-tree.mjs.map +1 -1
  74. package/fesm2022/yuuvis-client-framework-upload-progress.mjs +22 -26
  75. package/fesm2022/yuuvis-client-framework-upload-progress.mjs.map +1 -1
  76. package/fesm2022/yuuvis-client-framework-widget-grid.mjs +80 -77
  77. package/fesm2022/yuuvis-client-framework-widget-grid.mjs.map +1 -1
  78. package/fesm2022/yuuvis-client-framework.mjs +23 -23
  79. package/fesm2022/yuuvis-client-framework.mjs.map +1 -1
  80. package/forms/index.d.ts +633 -13
  81. package/icons/index.d.ts +79 -4
  82. package/index.d.ts +909 -6
  83. package/list/index.d.ts +380 -4
  84. package/master-details/index.d.ts +69 -3
  85. package/metadata-form/index.d.ts +189 -6
  86. package/metadata-form-defaults/index.d.ts +14 -2
  87. package/object-details/index.d.ts +321 -9
  88. package/object-flavor/index.d.ts +86 -6
  89. package/object-form/index.d.ts +288 -4
  90. package/object-preview/index.d.ts +82 -2
  91. package/object-relationship/index.d.ts +120 -5
  92. package/object-summary/index.d.ts +105 -4
  93. package/object-versions/index.d.ts +43 -2
  94. package/overflow-hidden/index.d.ts +28 -2
  95. package/overflow-menu/index.d.ts +52 -3
  96. package/package.json +12 -12
  97. package/pagination/index.d.ts +31 -2
  98. package/popout/index.d.ts +106 -5
  99. package/query-list/index.d.ts +497 -2
  100. package/renderer/index.d.ts +117 -10
  101. package/sequence-list/index.d.ts +60 -2
  102. package/simple-search/index.d.ts +57 -1
  103. package/sort/index.d.ts +36 -2
  104. package/split-view/index.d.ts +197 -4
  105. package/tile-list/index.d.ts +789 -10
  106. package/token-search/index.d.ts +72 -3
  107. package/tree/index.d.ts +68 -2
  108. package/upload-progress/index.d.ts +44 -2
  109. package/widget-grid/index.d.ts +299 -7
  110. package/actions/lib/actions/copy-action/copy-action.d.ts +0 -17
  111. package/actions/lib/actions/cut-action/cut-action.d.ts +0 -17
  112. package/actions/lib/actions/delete-action/delete/delete.component.d.ts +0 -22
  113. package/actions/lib/actions/delete-action/delete-action.d.ts +0 -18
  114. package/actions/lib/actions/download-action/download-action.d.ts +0 -17
  115. package/actions/lib/actions.icon.d.ts +0 -7
  116. package/actions/lib/actions.interface.d.ts +0 -86
  117. package/actions/lib/actions.module.d.ts +0 -11
  118. package/actions/lib/actions.service.d.ts +0 -58
  119. package/actions/lib/components/contextmenu/contextmenu.component.d.ts +0 -16
  120. package/actions/lib/components/contextmenu/contextmenu.model.d.ts +0 -9
  121. package/actions/lib/components/contextmenu/contextmenuTrigger.directive.d.ts +0 -12
  122. package/app-bar/lib/app-bar.component.d.ts +0 -47
  123. package/autocomplete/lib/autocomplete.component.d.ts +0 -74
  124. package/autocomplete/lib/autocomplete.interface.d.ts +0 -4
  125. package/autocomplete/lib/autocomplete.module.d.ts +0 -7
  126. package/breadcrumb/lib/breadcrumb/breadcrumb.component.d.ts +0 -94
  127. package/breadcrumb/lib/models/breadcrumb-item.model.d.ts +0 -14
  128. package/breadcrumb/lib/models/index.d.ts +0 -1
  129. package/clipboard/lib/clipboard.component.d.ts +0 -16
  130. package/common/lib/common.module.d.ts +0 -21
  131. package/common/lib/common.utils.d.ts +0 -2
  132. package/common/lib/components/busy-overlay/busy-overlay.component.d.ts +0 -9
  133. package/common/lib/components/busy-overlay/busy-overlay.interface.d.ts +0 -4
  134. package/common/lib/components/confirm/confirm.component.d.ts +0 -8
  135. package/common/lib/components/confirm/confirm.interface.d.ts +0 -9
  136. package/common/lib/components/confirm/confirm.service.d.ts +0 -9
  137. package/common/lib/components/dialog/dialog.component.d.ts +0 -10
  138. package/common/lib/components/dialog/dialog.options.d.ts +0 -7
  139. package/common/lib/components/halo-focus/halo-focus.component.d.ts +0 -5
  140. package/common/lib/components/index.d.ts +0 -8
  141. package/common/lib/components/retention-badge/retention-badge.component.d.ts +0 -9
  142. package/common/lib/components/scroll-buttons/scroll-buttons.component.d.ts +0 -25
  143. package/common/lib/directives/autofocus-child.directive.d.ts +0 -13
  144. package/common/lib/directives/autofocus-delayed.directive.d.ts +0 -18
  145. package/common/lib/directives/busy-overlay.directive.d.ts +0 -68
  146. package/common/lib/directives/click-double.directive.d.ts +0 -17
  147. package/common/lib/directives/container-size.directive.d.ts +0 -30
  148. package/common/lib/directives/drag-scroll.directive.d.ts +0 -20
  149. package/common/lib/directives/drag-select.directive.d.ts +0 -21
  150. package/common/lib/directives/file-drop-zone/file-drop-zone.directive.d.ts +0 -17
  151. package/common/lib/directives/file-drop-zone/file-drop-zone.interface.d.ts +0 -5
  152. package/common/lib/directives/focus-within.directive.d.ts +0 -36
  153. package/common/lib/directives/index.d.ts +0 -13
  154. package/common/lib/directives/light-dismiss.directive.d.ts +0 -19
  155. package/common/lib/directives/longpress.directive.d.ts +0 -13
  156. package/common/lib/directives/noop-value-accessor.directive.d.ts +0 -10
  157. package/common/lib/directives/scroll-buttons.directive.d.ts +0 -20
  158. package/common/lib/mat-form-field.abstract.d.ts +0 -41
  159. package/common/lib/services/file-drop/file-drop.service.d.ts +0 -7
  160. package/common/lib/services/form-translate/form-translate.service.d.ts +0 -15
  161. package/common/lib/services/index.d.ts +0 -4
  162. package/common/lib/services/layout-settings/layout-settings.interface.d.ts +0 -1
  163. package/common/lib/services/layout-settings/layout-settings.service.d.ts +0 -40
  164. package/common/lib/services/theme/index.d.ts +0 -3
  165. package/common/lib/services/theme/theme.models.d.ts +0 -16
  166. package/common/lib/services/theme/theme.provider.d.ts +0 -4
  167. package/common/lib/services/theme/theme.service.d.ts +0 -16
  168. package/datepicker/lib/calendar/calendar.component.d.ts +0 -70
  169. package/datepicker/lib/date-input/date-input-element/date-input-element.component.d.ts +0 -44
  170. package/datepicker/lib/date-input/date-input-hour-element/date-input-hour-element.component.d.ts +0 -11
  171. package/datepicker/lib/date-input/date-input.component.d.ts +0 -60
  172. package/datepicker/lib/datepicker-calendar/datepicker-calendar-trigger.component.d.ts +0 -7
  173. package/datepicker/lib/datepicker-calendar/datepicker-calendar.component.d.ts +0 -12
  174. package/datepicker/lib/datepicker.component.d.ts +0 -80
  175. package/datepicker/lib/datepicker.interface.d.ts +0 -34
  176. package/datepicker/lib/datepicker.module.d.ts +0 -9
  177. package/datepicker/lib/datepicker.service.d.ts +0 -46
  178. package/datepicker/lib/datepicker.utils.d.ts +0 -23
  179. package/datepicker/lib/time-input/time-input.component.d.ts +0 -32
  180. package/datepicker/lib/time-input/time-input.interface.d.ts +0 -6
  181. package/forms/lib/elements/catalog/catalog.component.d.ts +0 -34
  182. package/forms/lib/elements/data-grid/data-grid/data-grid.component.d.ts +0 -46
  183. package/forms/lib/elements/data-grid/edit-table-data/edit-data.component.d.ts +0 -22
  184. package/forms/lib/elements/data-grid/model/data-grid.interface.d.ts +0 -20
  185. package/forms/lib/elements/datetime/datetime.component.d.ts +0 -41
  186. package/forms/lib/elements/datetime-range/datetime-range.component.d.ts +0 -38
  187. package/forms/lib/elements/i18n-catalog/i18n-catalog.component.d.ts +0 -43
  188. package/forms/lib/elements/index.d.ts +0 -12
  189. package/forms/lib/elements/number/number.component.d.ts +0 -69
  190. package/forms/lib/elements/number-range/number-range.component.d.ts +0 -73
  191. package/forms/lib/elements/organization/organization.component.d.ts +0 -66
  192. package/forms/lib/elements/organization-set/organization-set.component.d.ts +0 -61
  193. package/forms/lib/elements/range-select-date/date-range-picker/date-range-picker.component.d.ts +0 -13
  194. package/forms/lib/elements/range-select-date/range-select-date.component.d.ts +0 -38
  195. package/forms/lib/elements/range-select-date/range-select-date.interface.d.ts +0 -5
  196. package/forms/lib/elements/range-select-filesize/range-select-filesize.component.d.ts +0 -33
  197. package/forms/lib/elements/range-select-filesize/range-select-filesize.interface.d.ts +0 -5
  198. package/forms/lib/elements/string/string.component.d.ts +0 -100
  199. package/forms/lib/forms.module.d.ts +0 -17
  200. package/forms/lib/forms.utils.d.ts +0 -4
  201. package/icons/lib/icon.component.d.ts +0 -24
  202. package/icons/lib/icon.service.d.ts +0 -39
  203. package/icons/lib/icons.d.ts +0 -1
  204. package/icons/lib/object-type-icon/object-type-icon.component.d.ts +0 -11
  205. package/lib/config/halo-focus-defaults/halo-excluded-elements.const.d.ts +0 -26
  206. package/lib/config/halo-focus-defaults/halo-focus-navigation-keys.const.d.ts +0 -25
  207. package/lib/config/halo-focus-defaults/halo-focus-offset.const.d.ts +0 -25
  208. package/lib/config/halo-focus-defaults/halo-focus-styles.const.d.ts +0 -26
  209. package/lib/config/halo-focus-defaults/index.d.ts +0 -4
  210. package/lib/config/index.d.ts +0 -2
  211. package/lib/config/session/index.d.ts +0 -3
  212. package/lib/config/session/session-activity-window-before-end.const.d.ts +0 -43
  213. package/lib/config/session/session-default-duration.const.d.ts +0 -47
  214. package/lib/config/session/session-popup-before-end.const.d.ts +0 -47
  215. package/lib/enums/channel-message.enum.d.ts +0 -4
  216. package/lib/enums/index.d.ts +0 -1
  217. package/lib/models/halo-focus-config/halo-focus-config.model.d.ts +0 -48
  218. package/lib/models/halo-focus-config/index.d.ts +0 -1
  219. package/lib/models/index.d.ts +0 -3
  220. package/lib/models/session/channel-payload.model.d.ts +0 -5
  221. package/lib/models/session/index.d.ts +0 -1
  222. package/lib/models/snack-bar/index.d.ts +0 -3
  223. package/lib/models/snack-bar/snack-bar-data.model.d.ts +0 -6
  224. package/lib/models/snack-bar/snack-bar-level.model.d.ts +0 -1
  225. package/lib/models/snack-bar/snack-bar-options.model.d.ts +0 -9
  226. package/lib/providers/halo-focus/index.d.ts +0 -1
  227. package/lib/providers/halo-focus/provide-halo-focus.d.ts +0 -62
  228. package/lib/providers/index.d.ts +0 -2
  229. package/lib/providers/session/index.d.ts +0 -1
  230. package/lib/providers/session/provide-session.provider.d.ts +0 -43
  231. package/lib/services/halo-focus/halo-focus.service.d.ts +0 -95
  232. package/lib/services/halo-utility/halo-utility.service.d.ts +0 -245
  233. package/lib/services/index.d.ts +0 -4
  234. package/lib/services/session/session.service.d.ts +0 -113
  235. package/lib/services/snack-bar/snack-bar.service.d.ts +0 -22
  236. package/lib/yuuvis-client-framework.module.d.ts +0 -7
  237. package/list/lib/list-item.directive.d.ts +0 -40
  238. package/list/lib/list-tile/list-tile.component.d.ts +0 -14
  239. package/list/lib/list.component.d.ts +0 -320
  240. package/list/lib/list.module.d.ts +0 -9
  241. package/master-details/lib/master-details.component.d.ts +0 -52
  242. package/master-details/lib/master-details.interface.d.ts +0 -7
  243. package/master-details/lib/master-details.module.d.ts +0 -7
  244. package/metadata-form/lib/metadata-form-element-registry.service.d.ts +0 -60
  245. package/metadata-form/lib/metadata-form-field/metadata-form-field.component.d.ts +0 -25
  246. package/metadata-form/lib/metadata-form-field/metadata-form-field.interface.d.ts +0 -19
  247. package/metadata-form/lib/object-metadata-element-error.directive.d.ts +0 -17
  248. package/metadata-form/lib/object-metadata-element-label.directive.d.ts +0 -29
  249. package/metadata-form/lib/object-metadata-element-template.directive.d.ts +0 -45
  250. package/metadata-form-defaults/lib/metadata-default-templates/metadata-default-templates.component.d.ts +0 -5
  251. package/metadata-form-defaults/lib/metadata-form-defaults.module.d.ts +0 -7
  252. package/object-details/lib/object-audit/object-audit.component.d.ts +0 -49
  253. package/object-details/lib/object-details-header/object-details-header.component.d.ts +0 -43
  254. package/object-details/lib/object-details-shell/object-details-shell.component.d.ts +0 -34
  255. package/object-details/lib/object-details-shell/object-details-shell.service.d.ts +0 -14
  256. package/object-details/lib/object-details.component.d.ts +0 -47
  257. package/object-details/lib/object-details.module.d.ts +0 -12
  258. package/object-details/lib/object-metadata/form-section-group.pipe.d.ts +0 -8
  259. package/object-details/lib/object-metadata/object-metadata-section/object-metadata-section.component.d.ts +0 -19
  260. package/object-details/lib/object-metadata/object-metadata-section/object-metadata-section.interface.d.ts +0 -9
  261. package/object-details/lib/object-metadata/object-metadata.component.d.ts +0 -75
  262. package/object-details/lib/object-metadata/object-metadata.interface.d.ts +0 -26
  263. package/object-flavor/lib/abstract-apply-create-flavor/abstract-apply-create-flavor.component.d.ts +0 -11
  264. package/object-flavor/lib/abstract-apply-object-flavor/abstract-apply-object-flavor.component.d.ts +0 -13
  265. package/object-flavor/lib/default-apply-flavor/default-apply-flavor.component.d.ts +0 -19
  266. package/object-flavor/lib/flavor-chip/flavor-chip.component.d.ts +0 -13
  267. package/object-flavor/lib/object-flavor/object-flavor.component.d.ts +0 -23
  268. package/object-flavor/lib/object-flavor-picker/object-flavor-picker.component.d.ts +0 -10
  269. package/object-form/lib/form-scripting.api.interface.d.ts +0 -131
  270. package/object-form/lib/form-scripting.service.d.ts +0 -30
  271. package/object-form/lib/object-form-element/object-form-element.component.d.ts +0 -23
  272. package/object-form/lib/object-form-extension.interface.d.ts +0 -22
  273. package/object-form/lib/object-form-group/object-form-group.component.d.ts +0 -20
  274. package/object-form/lib/object-form-script/form-scripting-element-extension/form-scripting-element-extension.component.d.ts +0 -10
  275. package/object-form/lib/object-form-script/object-form-script.service.d.ts +0 -45
  276. package/object-form/lib/object-form-script/object-form-scripting-scope.d.ts +0 -50
  277. package/object-form/lib/object-form.component.d.ts +0 -61
  278. package/object-form/lib/object-form.interface.d.ts +0 -69
  279. package/object-form/lib/object-form.module.d.ts +0 -7
  280. package/object-form/lib/object-form.service.d.ts +0 -41
  281. package/object-form/lib/object-form.utils.d.ts +0 -20
  282. package/object-form/lib/object-form.validation.d.ts +0 -21
  283. package/object-preview/lib/components/index.d.ts +0 -2
  284. package/object-preview/lib/components/object-email-preview/object-email-preview.component.d.ts +0 -16
  285. package/object-preview/lib/components/object-preview/object-preview.component.d.ts +0 -24
  286. package/object-preview/lib/services/object-preview.service.d.ts +0 -40
  287. package/object-relationship/lib/actions/add-relationship/add-relationship.component.d.ts +0 -37
  288. package/object-relationship/lib/actions/relationship-target-search/relationship-target-search.component.d.ts +0 -36
  289. package/object-relationship/lib/node-summary/node-summary.component.d.ts +0 -26
  290. package/object-relationship/lib/object-relationship-graph/object-relationship-graph.component.d.ts +0 -30
  291. package/object-relationship/lib/object-relationship-list/object-relationship-list-item/object-relationship-list-item.component.d.ts +0 -14
  292. package/object-relationship/lib/object-relationship-list/object-relationship-list.component.d.ts +0 -13
  293. package/object-relationship/lib/object-relationship.component.d.ts +0 -28
  294. package/object-relationship/lib/object-relationship.const.d.ts +0 -10
  295. package/object-relationship/lib/object-relationship.interface.d.ts +0 -38
  296. package/object-relationship/lib/object-relationship.module.d.ts +0 -7
  297. package/object-relationship/lib/object-relationship.service.d.ts +0 -26
  298. package/object-summary/lib/multi-object-summary/multi-object-summary.component.d.ts +0 -7
  299. package/object-summary/lib/object-summary/object-summary.component.d.ts +0 -64
  300. package/object-summary/lib/object-summary-data/object-summary-data.component.d.ts +0 -28
  301. package/object-summary/lib/object-summary.module.d.ts +0 -9
  302. package/object-versions/lib/object-versions.component.d.ts +0 -34
  303. package/object-versions/lib/object-versions.module.d.ts +0 -7
  304. package/overflow-hidden/lib/overflow-hidden.component.d.ts +0 -19
  305. package/overflow-hidden/lib/overflow-hidden.module.d.ts +0 -7
  306. package/overflow-menu/lib/overflow-menu.component.d.ts +0 -33
  307. package/overflow-menu/lib/overflow-menu.interface.d.ts +0 -10
  308. package/overflow-menu/lib/overflow-menu.module.d.ts +0 -7
  309. package/pagination/lib/pagination.component.d.ts +0 -21
  310. package/pagination/lib/pagination.interface.d.ts +0 -5
  311. package/popout/lib/fullscreen.directive.d.ts +0 -4
  312. package/popout/lib/popout-trigger/popout-trigger.component.d.ts +0 -13
  313. package/popout/lib/popout.component.d.ts +0 -59
  314. package/popout/lib/popout.interface.d.ts +0 -24
  315. package/popout/lib/popout.module.d.ts +0 -9
  316. package/query-list/lib/query-list.component.d.ts +0 -488
  317. package/query-list/lib/query-list.module.d.ts +0 -7
  318. package/renderer/lib/property-renderer/abstract.renderer.d.ts +0 -14
  319. package/renderer/lib/property-renderer/boolean.renderer.component.d.ts +0 -6
  320. package/renderer/lib/property-renderer/datetime.renderer.d.ts +0 -6
  321. package/renderer/lib/property-renderer/decimal.renderer.component.d.ts +0 -6
  322. package/renderer/lib/property-renderer/filesize.renderer.component.d.ts +0 -7
  323. package/renderer/lib/property-renderer/icon.renderer.component.d.ts +0 -8
  324. package/renderer/lib/property-renderer/index.d.ts +0 -11
  325. package/renderer/lib/property-renderer/integer.renderer.component.d.ts +0 -6
  326. package/renderer/lib/property-renderer/organization.renderer.d.ts +0 -13
  327. package/renderer/lib/property-renderer/string.renderer.component.d.ts +0 -6
  328. package/renderer/lib/property-renderer/table.renderer.component.d.ts +0 -17
  329. package/renderer/lib/property-renderer/unknown.renderer.d.ts +0 -6
  330. package/renderer/lib/renderer.directive.d.ts +0 -13
  331. package/renderer/lib/services/renderer/renderer.interface.d.ts +0 -4
  332. package/renderer/lib/services/renderer/renderer.service.d.ts +0 -35
  333. package/sequence-list/lib/sequence-list.component.d.ts +0 -40
  334. package/sequence-list/lib/sequence-list.interface.d.ts +0 -17
  335. package/simple-search/lib/models/index.d.ts +0 -1
  336. package/simple-search/lib/models/object-type-aggregation.model.d.ts +0 -14
  337. package/simple-search/lib/simple-search/simple-search.component.d.ts +0 -40
  338. package/sort/lib/sort/models/index.d.ts +0 -1
  339. package/sort/lib/sort/models/sort.interface.d.ts +0 -7
  340. package/sort/lib/sort/sort.component.d.ts +0 -25
  341. package/split-view/lib/split-area-cover.directive.d.ts +0 -15
  342. package/split-view/lib/split-area.directive.d.ts +0 -21
  343. package/split-view/lib/split-view.component.d.ts +0 -159
  344. package/split-view/lib/split-view.interface.d.ts +0 -11
  345. package/split-view/lib/split-view.module.d.ts +0 -8
  346. package/tile-list/lib/tile-actions-menu/tile-actions-menu.component.d.ts +0 -11
  347. package/tile-list/lib/tile-config/action-select/action-select.component.d.ts +0 -13
  348. package/tile-list/lib/tile-config/icon-select/icon-select.component.d.ts +0 -11
  349. package/tile-list/lib/tile-config/property-select/property-select.component.d.ts +0 -26
  350. package/tile-list/lib/tile-config/tile-config-tile/tile-config-tile.component.d.ts +0 -20
  351. package/tile-list/lib/tile-config/tile-config-trigger/tile-config-trigger.component.d.ts +0 -17
  352. package/tile-list/lib/tile-config/tile-config.component.d.ts +0 -48
  353. package/tile-list/lib/tile-extension/directive/tile-extension.directive.d.ts +0 -11
  354. package/tile-list/lib/tile-extension/extensions/email.extension.d.ts +0 -10
  355. package/tile-list/lib/tile-extension/tile-extension.service.d.ts +0 -16
  356. package/tile-list/lib/tile-list/tile-list.component.d.ts +0 -637
  357. package/tile-list/lib/tile-list/tile-list.interface.d.ts +0 -18
  358. package/token-search/lib/token-search.component.d.ts +0 -35
  359. package/token-search/lib/token-search.interface.d.ts +0 -27
  360. package/token-search/lib/token-search.module.d.ts +0 -7
  361. package/tree/lib/tree-node/tree-node.component.d.ts +0 -21
  362. package/tree/lib/tree.component.d.ts +0 -53
  363. package/tree/lib/tree.interface.d.ts +0 -11
  364. package/tree/lib/tree.service.d.ts +0 -35
  365. package/upload-progress/lib/upload-progress/upload-progress-overlay/upload-progress-overlay.component.d.ts +0 -12
  366. package/upload-progress/lib/upload-progress/upload-progress.component.d.ts +0 -33
  367. package/upload-progress/lib/upload-progress/upload-progress.module.d.ts +0 -7
  368. package/widget-grid/lib/widget-grid-event.service.d.ts +0 -10
  369. package/widget-grid/lib/widget-grid-registry.service.d.ts +0 -81
  370. package/widget-grid/lib/widget-grid-workspaces/widget-grid-workspaces.component.d.ts +0 -53
  371. package/widget-grid/lib/widget-grid-workspaces/widget-grid-workspaces.interface.d.ts +0 -17
  372. package/widget-grid/lib/widget-grid-workspaces/workspace-edit/workspace-edit.component.d.ts +0 -10
  373. package/widget-grid/lib/widget-grid.component.d.ts +0 -52
  374. package/widget-grid/lib/widget-grid.interface.d.ts +0 -51
  375. package/widget-grid/lib/widget-grid.module.d.ts +0 -8
  376. package/widget-grid/lib/widget-grid.service.d.ts +0 -45
  377. package/widget-grid/lib/widget-grid.utils.d.ts +0 -18
  378. package/widget-grid/lib/widget-picker/widget-picker.component.d.ts +0 -38
  379. package/widget-grid/lib/widgets/noop/noop.component.d.ts +0 -7
@@ -2,13 +2,12 @@ import * as i0 from '@angular/core';
2
2
  import { signal, input, ChangeDetectionStrategy, Component, inject, effect, untracked, ChangeDetectorRef, viewChild, NgModule } from '@angular/core';
3
3
  import * as i2 from '@angular/material/icon';
4
4
  import { MatIcon, MatIconModule } from '@angular/material/icon';
5
- import * as i1 from '@yuuvis/client-core';
6
- import { SystemService, TranslateService, BaseObjectTypeField, ContentStreamField, TranslateModule, EventService, DmsService, ObjectConfigService, SearchService, YuvEventType, Operator } from '@yuuvis/client-core';
5
+ import { SystemService, TranslateService, BaseObjectTypeField, ContentStreamField, TranslatePipe, EventService, DmsService, ObjectConfigService, SearchService, YuvEventType, Operator } from '@yuuvis/client-core';
7
6
  import { RendererDirective } from '@yuuvis/client-framework/renderer';
8
7
  import { ShellService } from '@yuuvis/client-shell-core';
9
8
  import { NgClass } from '@angular/common';
10
9
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
11
- import * as i1$1 from '@yuuvis/client-framework/common';
10
+ import * as i1 from '@yuuvis/client-framework/common';
12
11
  import { BusyOverlayDirective, RetentionBadgeComponent } from '@yuuvis/client-framework/common';
13
12
  import { YUV_ICONS } from '@yuuvis/client-framework/icons';
14
13
  import { ObjectFlavorComponent } from '@yuuvis/client-framework/object-flavor';
@@ -16,11 +15,11 @@ import { OverflowMenuComponent } from '@yuuvis/client-framework/overflow-menu';
16
15
 
17
16
  class MultiObjectSummaryComponent {
18
17
  constructor() {
19
- this.icon = signal('home_storage');
20
- this.headline = input('this could be your headline');
18
+ this.icon = signal('home_storage', ...(ngDevMode ? [{ debugName: "icon" }] : []));
19
+ this.headline = input('this could be your headline', ...(ngDevMode ? [{ debugName: "headline" }] : []));
21
20
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: MultiObjectSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.20", type: MultiObjectSummaryComponent, isStandalone: true, selector: "yuv-multi-object-summary", inputs: { headline: { classPropertyName: "headline", publicName: "headline", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: MultiObjectSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.19", type: MultiObjectSummaryComponent, isStandalone: true, selector: "yuv-multi-object-summary", inputs: { headline: { classPropertyName: "headline", publicName: "headline", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
24
23
  <section class="slide">
25
24
  <mat-icon class="ymt-icon--size-6xl">{{ icon() }}</mat-icon>
26
25
  </section>
@@ -30,7 +29,7 @@ class MultiObjectSummaryComponent {
30
29
  </section>
31
30
  `, isInline: true, styles: ["section.title{padding:var(--ymt-spacing-m);display:flex;justify-content:space-between;align-items:center;gap:var(--ymt-spacing-m)}section.title .actions button.quickAccess.isFavorite{color:var(--ymt-primary)}section.slide{display:flex;flex-flow:column;align-items:center;justify-content:center;border-block-end:1px solid var(--ymt-outline-variant);background-color:var(--ymt-surface-panel);position:relative;height:25%;overflow:hidden;container-type:size}section.slide .badge{position:absolute;inset-inline-end:var(--ymt-spacing-l);inset-block-start:var(--ymt-spacing-m);font-size:var(--ymt-sizing-2xl);font-weight:700;line-height:1}section.slide .badge,section.slide mat-icon{color:var(--ymt-text-color-subtle)}section.slide img{object-fit:cover;object-position:top;opacity:0;transition:opacity .3s;margin:auto;max-height:100%;max-width:100%;outline:4px solid var(--ymt-surface-panel);outline-offset:-4px;box-shadow:0 0 0 1px var(--ymt-outline-variant)}section.slide img:not(.loading){opacity:1}@container (height < 160px){section.slide mat-icon{height:var(--ymt-sizing-4xl);width:var(--ymt-sizing-4xl);font-size:var(--ymt-sizing-4xl);line-height:1}section.slide .badge{inset-inline-end:var(--ymt-spacing-m);inset-block-start:var(--ymt-spacing-s);font-size:var(--ymt-sizing-s)}}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
32
31
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: MultiObjectSummaryComponent, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: MultiObjectSummaryComponent, decorators: [{
34
33
  type: Component,
35
34
  args: [{ selector: 'yuv-multi-object-summary', standalone: true, imports: [MatIcon], template: `
36
35
  <section class="slide">
@@ -41,33 +40,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
41
40
  <h1>{{ headline() }}</h1>
42
41
  </section>
43
42
  `, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["section.title{padding:var(--ymt-spacing-m);display:flex;justify-content:space-between;align-items:center;gap:var(--ymt-spacing-m)}section.title .actions button.quickAccess.isFavorite{color:var(--ymt-primary)}section.slide{display:flex;flex-flow:column;align-items:center;justify-content:center;border-block-end:1px solid var(--ymt-outline-variant);background-color:var(--ymt-surface-panel);position:relative;height:25%;overflow:hidden;container-type:size}section.slide .badge{position:absolute;inset-inline-end:var(--ymt-spacing-l);inset-block-start:var(--ymt-spacing-m);font-size:var(--ymt-sizing-2xl);font-weight:700;line-height:1}section.slide .badge,section.slide mat-icon{color:var(--ymt-text-color-subtle)}section.slide img{object-fit:cover;object-position:top;opacity:0;transition:opacity .3s;margin:auto;max-height:100%;max-width:100%;outline:4px solid var(--ymt-surface-panel);outline-offset:-4px;box-shadow:0 0 0 1px var(--ymt-outline-variant)}section.slide img:not(.loading){opacity:1}@container (height < 160px){section.slide mat-icon{height:var(--ymt-sizing-4xl);width:var(--ymt-sizing-4xl);font-size:var(--ymt-sizing-4xl);line-height:1}section.slide .badge{inset-inline-end:var(--ymt-spacing-m);inset-block-start:var(--ymt-spacing-s);font-size:var(--ymt-sizing-s)}}\n"] }]
44
- }] });
43
+ }], propDecorators: { headline: [{ type: i0.Input, args: [{ isSignal: true, alias: "headline", required: false }] }] } });
45
44
 
46
45
  class ObjectSummaryDataComponent {
47
46
  constructor() {
48
47
  this.#shell = inject(ShellService);
49
48
  this.#systemService = inject(SystemService);
50
49
  this.translate = inject(TranslateService);
51
- this.dmsObject = input.required();
52
- this.baseData = signal([]);
53
- this.flavorData = signal([]);
50
+ this.dmsObject = input.required(...(ngDevMode ? [{ debugName: "dmsObject" }] : []));
51
+ this.baseData = signal([], ...(ngDevMode ? [{ debugName: "baseData" }] : []));
52
+ this.flavorData = signal([], ...(ngDevMode ? [{ debugName: "flavorData" }] : []));
54
53
  /**
55
54
  * IDs of flavors to show. If `showAppliedFlavors` is true, all the applied flavors will be shown.
56
55
  */
57
- this.flavors = input();
56
+ this.flavors = input(...(ngDevMode ? [undefined, { debugName: "flavors" }] : []));
58
57
  this.#flavorDataEffect = effect(() => {
59
58
  this.flavorData.set(this.#getFlavorData(this.dmsObject(), this.flavors() || []));
60
- });
59
+ }, ...(ngDevMode ? [{ debugName: "#flavorDataEffect" }] : []));
61
60
  /**
62
61
  * Whether to identify and show all applied flavors of the object.
63
62
  */
64
- this.showAppliedFlavors = input();
63
+ this.showAppliedFlavors = input(...(ngDevMode ? [undefined, { debugName: "showAppliedFlavors" }] : []));
65
64
  this.#showAppliedFlavorsEffect = effect(() => {
66
65
  const o = this.dmsObject();
67
66
  if (this.showAppliedFlavors()) {
68
67
  this.flavorData.set(this.#getFlavorData(o, this.#shell.getAppliedObjectFlavors(o).applied));
69
68
  }
70
- });
69
+ }, ...(ngDevMode ? [{ debugName: "#showAppliedFlavorsEffect" }] : []));
71
70
  this.#dmsObjectEffect = effect(() => {
72
71
  const dmsObject = this.dmsObject();
73
72
  if (dmsObject) {
@@ -75,7 +74,7 @@ class ObjectSummaryDataComponent {
75
74
  this.#getBaseData();
76
75
  });
77
76
  }
78
- });
77
+ }, ...(ngDevMode ? [{ debugName: "#dmsObjectEffect" }] : []));
79
78
  }
80
79
  #shell;
81
80
  #systemService;
@@ -144,13 +143,13 @@ class ObjectSummaryDataComponent {
144
143
  };
145
144
  });
146
145
  }
147
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ObjectSummaryDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
148
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: ObjectSummaryDataComponent, isStandalone: true, selector: "yuv-object-summary-data", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: true, transformFunction: null }, flavors: { classPropertyName: "flavors", publicName: "flavors", isSignal: true, isRequired: false, transformFunction: null }, showAppliedFlavors: { classPropertyName: "showAppliedFlavors", publicName: "showAppliedFlavors", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let flavors = flavorData();\n\n<div class=\"content\">\n @if (flavors.length > 0) {\n <section class=\"flavor properties\">\n @for (flavor of flavors; track $index) {\n <div class=\"flavour-groups\">\n <h3 class=\"object-summary__title\">{{ flavor.label }}</h3>\n @for (property of flavor.properties; track $index) {\n <div class=\"row\">\n <div class=\"label\">{{ property.label }}</div>\n <div class=\"value\">\n <ng-container *yuvRenderer=\"property.value\"></ng-container>\n </div>\n </div>\n }\n </div>\n }\n </section>\n }\n\n @let base = baseData();\n @if (base) {\n <section class=\"base properties\">\n <h3 class=\"object-summary__title\">{{'yuv.object-summary-data.base.headline'|translate}}</h3>\n @for (p of base; track $index) {\n <div class=\"row\">\n <div class=\"label\">{{ p.label }}</div>\n <div class=\"value\">\n <ng-container *yuvRenderer=\"p.value\"></ng-container>\n </div>\n </div>\n }\n </section>\n }\n</div>\n", styles: ["section.title{padding:var(--ymt-spacing-m);display:flex;justify-content:space-between;align-items:center;gap:var(--ymt-spacing-m)}section.title .actions button.quickAccess.isFavorite{color:var(--ymt-primary)}section.slide{display:flex;flex-flow:column;align-items:center;justify-content:center;border-block-end:1px solid var(--ymt-outline-variant);background-color:var(--ymt-surface-panel);position:relative;height:25%;overflow:hidden;container-type:size}section.slide .badge{position:absolute;inset-inline-end:var(--ymt-spacing-l);inset-block-start:var(--ymt-spacing-m);font-size:var(--ymt-sizing-2xl);font-weight:700;line-height:1}section.slide .badge,section.slide mat-icon{color:var(--ymt-text-color-subtle)}section.slide img{object-fit:cover;object-position:top;opacity:0;transition:opacity .3s;margin:auto;max-height:100%;max-width:100%;outline:4px solid var(--ymt-surface-panel);outline-offset:-4px;box-shadow:0 0 0 1px var(--ymt-outline-variant)}section.slide img:not(.loading){opacity:1}@container (height < 160px){section.slide mat-icon{height:var(--ymt-sizing-4xl);width:var(--ymt-sizing-4xl);font-size:var(--ymt-sizing-4xl);line-height:1}section.slide .badge{inset-inline-end:var(--ymt-spacing-m);inset-block-start:var(--ymt-spacing-s);font-size:var(--ymt-sizing-s)}}:host{--_object-summary-section-background: var(--object-summary-section-background, var(--ymt-surface));--_object-summary-section-corner: var(--object-summary-section-corner, var(--ymt-corner-m));--_object-summary-section-border-color: var(--object-summary-section-border-color, transparent)}:host section.properties{container:section/inline-size;background-color:var(--_object-summary-section-background);border:1px solid var(--_object-summary-section-border-color);border-radius:var(--_object-summary-section-corner);padding:var(--ymt-spacing-m);margin-block-end:var(--ymt-spacing-m)}:host section.properties .object-summary__title{margin-block-start:0;font:var(--ymt-font-body-subtle);letter-spacing:var(--ymt-font-body-subtle-tracking);text-transform:uppercase}:host section.properties .row{display:flex;flex-flow:column}:host section.properties .row .label{font:var(--ymt-font-body-subtle);flex:0 1 33%;font-weight:700;padding-inline-end:var(--ymt-spacing-m);margin-block-end:var(--ymt-spacing-3xs);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}:host section.properties .row .value{flex:1;word-break:break-all;font:var(--ymt-font-body-subtle);margin-block-end:var(--ymt-spacing-xs)}@container section (min-width: 300px){:host section.properties .row{flex-flow:row}}\n"], dependencies: [{ kind: "directive", type: RendererDirective, selector: "[yuvRenderer]", inputs: ["yuvRenderer"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
146
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ObjectSummaryDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
147
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: ObjectSummaryDataComponent, isStandalone: true, selector: "yuv-object-summary-data", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: true, transformFunction: null }, flavors: { classPropertyName: "flavors", publicName: "flavors", isSignal: true, isRequired: false, transformFunction: null }, showAppliedFlavors: { classPropertyName: "showAppliedFlavors", publicName: "showAppliedFlavors", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let flavors = flavorData();\n\n<div class=\"content\">\n @if (flavors.length > 0) {\n <section class=\"flavor properties\">\n @for (flavor of flavors; track $index) {\n <div class=\"flavour-groups\">\n <h3 class=\"object-summary__title\">{{ flavor.label }}</h3>\n @for (property of flavor.properties; track $index) {\n <div class=\"row\">\n <div class=\"label\">{{ property.label }}</div>\n <div class=\"value\">\n <ng-container *yuvRenderer=\"property.value\"></ng-container>\n </div>\n </div>\n }\n </div>\n }\n </section>\n }\n\n @let base = baseData();\n @if (base) {\n <section class=\"base properties\">\n <h3 class=\"object-summary__title\">{{'yuv.object-summary-data.base.headline'|translate}}</h3>\n @for (p of base; track $index) {\n <div class=\"row\">\n <div class=\"label\">{{ p.label }}</div>\n <div class=\"value\">\n <ng-container *yuvRenderer=\"p.value\"></ng-container>\n </div>\n </div>\n }\n </section>\n }\n</div>\n", styles: ["section.title{padding:var(--ymt-spacing-m);display:flex;justify-content:space-between;align-items:center;gap:var(--ymt-spacing-m)}section.title .actions button.quickAccess.isFavorite{color:var(--ymt-primary)}section.slide{display:flex;flex-flow:column;align-items:center;justify-content:center;border-block-end:1px solid var(--ymt-outline-variant);background-color:var(--ymt-surface-panel);position:relative;height:25%;overflow:hidden;container-type:size}section.slide .badge{position:absolute;inset-inline-end:var(--ymt-spacing-l);inset-block-start:var(--ymt-spacing-m);font-size:var(--ymt-sizing-2xl);font-weight:700;line-height:1}section.slide .badge,section.slide mat-icon{color:var(--ymt-text-color-subtle)}section.slide img{object-fit:cover;object-position:top;opacity:0;transition:opacity .3s;margin:auto;max-height:100%;max-width:100%;outline:4px solid var(--ymt-surface-panel);outline-offset:-4px;box-shadow:0 0 0 1px var(--ymt-outline-variant)}section.slide img:not(.loading){opacity:1}@container (height < 160px){section.slide mat-icon{height:var(--ymt-sizing-4xl);width:var(--ymt-sizing-4xl);font-size:var(--ymt-sizing-4xl);line-height:1}section.slide .badge{inset-inline-end:var(--ymt-spacing-m);inset-block-start:var(--ymt-spacing-s);font-size:var(--ymt-sizing-s)}}:host{--_object-summary-section-background: var(--object-summary-section-background, var(--ymt-surface));--_object-summary-section-corner: var(--object-summary-section-corner, var(--ymt-corner-m));--_object-summary-section-border-color: var(--object-summary-section-border-color, transparent)}:host section.properties{container:section/inline-size;background-color:var(--_object-summary-section-background);border:1px solid var(--_object-summary-section-border-color);border-radius:var(--_object-summary-section-corner);padding:var(--ymt-spacing-m);margin-block-end:var(--ymt-spacing-m)}:host section.properties .object-summary__title{margin-block-start:0;font:var(--ymt-font-body-subtle);letter-spacing:var(--ymt-font-body-subtle-tracking);text-transform:uppercase}:host section.properties .row{display:flex;flex-flow:column}:host section.properties .row .label{font:var(--ymt-font-body-subtle);flex:0 1 33%;font-weight:700;padding-inline-end:var(--ymt-spacing-m);margin-block-end:var(--ymt-spacing-3xs);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}:host section.properties .row .value{flex:1;word-break:break-all;font:var(--ymt-font-body-subtle);margin-block-end:var(--ymt-spacing-xs)}@container section (min-width: 300px){:host section.properties .row{flex-flow:row}}\n"], dependencies: [{ kind: "directive", type: RendererDirective, selector: "[yuvRenderer]", inputs: ["yuvRenderer"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
149
148
  }
150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ObjectSummaryDataComponent, decorators: [{
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ObjectSummaryDataComponent, decorators: [{
151
150
  type: Component,
152
- args: [{ selector: 'yuv-object-summary-data', standalone: true, imports: [RendererDirective, TranslateModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let flavors = flavorData();\n\n<div class=\"content\">\n @if (flavors.length > 0) {\n <section class=\"flavor properties\">\n @for (flavor of flavors; track $index) {\n <div class=\"flavour-groups\">\n <h3 class=\"object-summary__title\">{{ flavor.label }}</h3>\n @for (property of flavor.properties; track $index) {\n <div class=\"row\">\n <div class=\"label\">{{ property.label }}</div>\n <div class=\"value\">\n <ng-container *yuvRenderer=\"property.value\"></ng-container>\n </div>\n </div>\n }\n </div>\n }\n </section>\n }\n\n @let base = baseData();\n @if (base) {\n <section class=\"base properties\">\n <h3 class=\"object-summary__title\">{{'yuv.object-summary-data.base.headline'|translate}}</h3>\n @for (p of base; track $index) {\n <div class=\"row\">\n <div class=\"label\">{{ p.label }}</div>\n <div class=\"value\">\n <ng-container *yuvRenderer=\"p.value\"></ng-container>\n </div>\n </div>\n }\n </section>\n }\n</div>\n", styles: ["section.title{padding:var(--ymt-spacing-m);display:flex;justify-content:space-between;align-items:center;gap:var(--ymt-spacing-m)}section.title .actions button.quickAccess.isFavorite{color:var(--ymt-primary)}section.slide{display:flex;flex-flow:column;align-items:center;justify-content:center;border-block-end:1px solid var(--ymt-outline-variant);background-color:var(--ymt-surface-panel);position:relative;height:25%;overflow:hidden;container-type:size}section.slide .badge{position:absolute;inset-inline-end:var(--ymt-spacing-l);inset-block-start:var(--ymt-spacing-m);font-size:var(--ymt-sizing-2xl);font-weight:700;line-height:1}section.slide .badge,section.slide mat-icon{color:var(--ymt-text-color-subtle)}section.slide img{object-fit:cover;object-position:top;opacity:0;transition:opacity .3s;margin:auto;max-height:100%;max-width:100%;outline:4px solid var(--ymt-surface-panel);outline-offset:-4px;box-shadow:0 0 0 1px var(--ymt-outline-variant)}section.slide img:not(.loading){opacity:1}@container (height < 160px){section.slide mat-icon{height:var(--ymt-sizing-4xl);width:var(--ymt-sizing-4xl);font-size:var(--ymt-sizing-4xl);line-height:1}section.slide .badge{inset-inline-end:var(--ymt-spacing-m);inset-block-start:var(--ymt-spacing-s);font-size:var(--ymt-sizing-s)}}:host{--_object-summary-section-background: var(--object-summary-section-background, var(--ymt-surface));--_object-summary-section-corner: var(--object-summary-section-corner, var(--ymt-corner-m));--_object-summary-section-border-color: var(--object-summary-section-border-color, transparent)}:host section.properties{container:section/inline-size;background-color:var(--_object-summary-section-background);border:1px solid var(--_object-summary-section-border-color);border-radius:var(--_object-summary-section-corner);padding:var(--ymt-spacing-m);margin-block-end:var(--ymt-spacing-m)}:host section.properties .object-summary__title{margin-block-start:0;font:var(--ymt-font-body-subtle);letter-spacing:var(--ymt-font-body-subtle-tracking);text-transform:uppercase}:host section.properties .row{display:flex;flex-flow:column}:host section.properties .row .label{font:var(--ymt-font-body-subtle);flex:0 1 33%;font-weight:700;padding-inline-end:var(--ymt-spacing-m);margin-block-end:var(--ymt-spacing-3xs);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}:host section.properties .row .value{flex:1;word-break:break-all;font:var(--ymt-font-body-subtle);margin-block-end:var(--ymt-spacing-xs)}@container section (min-width: 300px){:host section.properties .row{flex-flow:row}}\n"] }]
153
- }] });
151
+ args: [{ selector: 'yuv-object-summary-data', standalone: true, imports: [RendererDirective, TranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let flavors = flavorData();\n\n<div class=\"content\">\n @if (flavors.length > 0) {\n <section class=\"flavor properties\">\n @for (flavor of flavors; track $index) {\n <div class=\"flavour-groups\">\n <h3 class=\"object-summary__title\">{{ flavor.label }}</h3>\n @for (property of flavor.properties; track $index) {\n <div class=\"row\">\n <div class=\"label\">{{ property.label }}</div>\n <div class=\"value\">\n <ng-container *yuvRenderer=\"property.value\"></ng-container>\n </div>\n </div>\n }\n </div>\n }\n </section>\n }\n\n @let base = baseData();\n @if (base) {\n <section class=\"base properties\">\n <h3 class=\"object-summary__title\">{{'yuv.object-summary-data.base.headline'|translate}}</h3>\n @for (p of base; track $index) {\n <div class=\"row\">\n <div class=\"label\">{{ p.label }}</div>\n <div class=\"value\">\n <ng-container *yuvRenderer=\"p.value\"></ng-container>\n </div>\n </div>\n }\n </section>\n }\n</div>\n", styles: ["section.title{padding:var(--ymt-spacing-m);display:flex;justify-content:space-between;align-items:center;gap:var(--ymt-spacing-m)}section.title .actions button.quickAccess.isFavorite{color:var(--ymt-primary)}section.slide{display:flex;flex-flow:column;align-items:center;justify-content:center;border-block-end:1px solid var(--ymt-outline-variant);background-color:var(--ymt-surface-panel);position:relative;height:25%;overflow:hidden;container-type:size}section.slide .badge{position:absolute;inset-inline-end:var(--ymt-spacing-l);inset-block-start:var(--ymt-spacing-m);font-size:var(--ymt-sizing-2xl);font-weight:700;line-height:1}section.slide .badge,section.slide mat-icon{color:var(--ymt-text-color-subtle)}section.slide img{object-fit:cover;object-position:top;opacity:0;transition:opacity .3s;margin:auto;max-height:100%;max-width:100%;outline:4px solid var(--ymt-surface-panel);outline-offset:-4px;box-shadow:0 0 0 1px var(--ymt-outline-variant)}section.slide img:not(.loading){opacity:1}@container (height < 160px){section.slide mat-icon{height:var(--ymt-sizing-4xl);width:var(--ymt-sizing-4xl);font-size:var(--ymt-sizing-4xl);line-height:1}section.slide .badge{inset-inline-end:var(--ymt-spacing-m);inset-block-start:var(--ymt-spacing-s);font-size:var(--ymt-sizing-s)}}:host{--_object-summary-section-background: var(--object-summary-section-background, var(--ymt-surface));--_object-summary-section-corner: var(--object-summary-section-corner, var(--ymt-corner-m));--_object-summary-section-border-color: var(--object-summary-section-border-color, transparent)}:host section.properties{container:section/inline-size;background-color:var(--_object-summary-section-background);border:1px solid var(--_object-summary-section-border-color);border-radius:var(--_object-summary-section-corner);padding:var(--ymt-spacing-m);margin-block-end:var(--ymt-spacing-m)}:host section.properties .object-summary__title{margin-block-start:0;font:var(--ymt-font-body-subtle);letter-spacing:var(--ymt-font-body-subtle-tracking);text-transform:uppercase}:host section.properties .row{display:flex;flex-flow:column}:host section.properties .row .label{font:var(--ymt-font-body-subtle);flex:0 1 33%;font-weight:700;padding-inline-end:var(--ymt-spacing-m);margin-block-end:var(--ymt-spacing-3xs);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}:host section.properties .row .value{flex:1;word-break:break-all;font:var(--ymt-font-body-subtle);margin-block-end:var(--ymt-spacing-xs)}@container section (min-width: 300px){:host section.properties .row{flex-flow:row}}\n"] }]
152
+ }], propDecorators: { dmsObject: [{ type: i0.Input, args: [{ isSignal: true, alias: "dmsObject", required: true }] }], flavors: [{ type: i0.Input, args: [{ isSignal: true, alias: "flavors", required: false }] }], showAppliedFlavors: [{ type: i0.Input, args: [{ isSignal: true, alias: "showAppliedFlavors", required: false }] }] } });
154
153
 
155
154
  /**
156
155
  * Component showing a summary of the given dms object.
@@ -171,29 +170,30 @@ class ObjectSummaryComponent {
171
170
  this.#objectConfigService = inject(ObjectConfigService);
172
171
  this.#searchService = inject(SearchService);
173
172
  this.#cd = inject(ChangeDetectorRef);
174
- this.flavorCmp = viewChild(ObjectFlavorComponent);
173
+ this.flavorCmp = viewChild(ObjectFlavorComponent, ...(ngDevMode ? [{ debugName: "flavorCmp" }] : []));
175
174
  this.slide = signal({
176
175
  loading: false
177
- });
176
+ }, ...(ngDevMode ? [{ debugName: "slide" }] : []));
178
177
  this.busy = true;
179
- this.headerData = signal(undefined);
178
+ this.headerData = signal(undefined, ...(ngDevMode ? [{ debugName: "headerData" }] : []));
180
179
  this.baseData = [];
181
180
  this.flavors = [];
182
181
  this.icons = {
183
182
  folder: YUV_ICONS.folder
184
183
  };
185
- this.actions = input([]);
184
+ this.actions = input([], ...(ngDevMode ? [{ debugName: "actions" }] : []));
186
185
  /**
187
186
  * DmsObject to show the details for.
188
187
  */
189
- this.dmsObject = signal(undefined);
190
- this.dmsObjectInput = input(undefined, { alias: 'dmsObject' });
188
+ this.dmsObject = signal(undefined, ...(ngDevMode ? [{ debugName: "dmsObject" }] : []));
189
+ this.dmsObjectInput = input(undefined, ...(ngDevMode ? [{ debugName: "dmsObjectInput", alias: 'dmsObject' }] : [{ alias: 'dmsObject' }]));
191
190
  this.#dmsObjectInputEffect = effect(() => {
192
191
  const dmsObject = this.dmsObjectInput();
193
192
  const contentChanged = this.dmsObject()?.content?.contentStreamId !== dmsObject?.content?.contentStreamId;
194
193
  untracked(() => {
195
194
  this.dmsObject.set(dmsObject);
196
- contentChanged && this.slide.update((slide) => ({ ...slide, uri: undefined, icon: undefined, iconSvg: undefined }));
195
+ contentChanged &&
196
+ this.slide.update((slide) => ({ ...slide, uri: undefined, icon: undefined, iconSvg: undefined }));
197
197
  if (dmsObject) {
198
198
  this.#getHeaderData();
199
199
  (contentChanged || dmsObject.isFolder) && this.#setupSlide();
@@ -207,19 +207,19 @@ class ObjectSummaryComponent {
207
207
  // } else this.flavorData = undefined;
208
208
  }
209
209
  });
210
- });
210
+ }, ...(ngDevMode ? [{ debugName: "#dmsObjectInputEffect" }] : []));
211
211
  /**
212
212
  * ID of a DmsObject. The object will be fetched from the backend upfront.
213
213
  */
214
- this.objectId = input(null);
214
+ this.objectId = input(null, ...(ngDevMode ? [{ debugName: "objectId" }] : []));
215
215
  this.#objectIdEffect = effect(() => {
216
216
  const id = this.objectId();
217
217
  untracked(() => {
218
218
  id && this.#getDmsObject(id);
219
219
  });
220
- });
220
+ }, ...(ngDevMode ? [{ debugName: "#objectIdEffect" }] : []));
221
221
  // virtual object type to be used for header data
222
- this.configType = input();
222
+ this.configType = input(...(ngDevMode ? [undefined, { debugName: "configType" }] : []));
223
223
  this.#objectConfigService
224
224
  .getObjectConfigs$(undefined, true)
225
225
  .pipe(takeUntilDestroyed())
@@ -334,16 +334,16 @@ class ObjectSummaryComponent {
334
334
  else
335
335
  this.headerData.set(undefined);
336
336
  }
337
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ObjectSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
338
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: ObjectSummaryComponent, isStandalone: true, selector: "yuv-object-summary", inputs: { actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, dmsObjectInput: { classPropertyName: "dmsObjectInput", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, objectId: { classPropertyName: "objectId", publicName: "objectId", isSignal: true, isRequired: false, transformFunction: null }, configType: { classPropertyName: "configType", publicName: "configType", isSignal: true, isRequired: false, transformFunction: null } }, host: { styleAttribute: "position: relative;" }, viewQueries: [{ propertyName: "flavorCmp", first: true, predicate: ObjectFlavorComponent, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1$1.BusyOverlayDirective, inputs: ["yuvBusyOverlay", "busy"] }], ngImport: i0, template: "@let imageSlide = slide();\n<section class=\"slide\" [yuvBusyOverlay]=\"imageSlide.loading\">\n @if (imageSlide.uri || imageSlide.loading) {\n <img draggable=\"false\" [ngClass]=\"{ loading: imageSlide.loading }\" [attr.data-orientation]=\"imageSlide.orientation\" [src]=\"imageSlide.uri\" />\n } @else if (imageSlide.icon && imageSlide.icon.name) {\n <mat-icon draggable=\"false\" class=\"ymt-icon--size-6xl\">{{ imageSlide.icon.name }}</mat-icon>\n }\n @if (folderInfo) {\n <div class=\"badge\">\n {{ folderInfo.size }}\n </div>\n }\n</section>\n\n@let o = dmsObject();\n@if (o) {\n <section class=\"object-flavors\">\n <yuv-object-flavor [dmsObject]=\"o\" (flavorSelect)=\"onFlavorSelect($event)\"></yuv-object-flavor>\n </section>\n}\n\n<div class=\"content\">\n @let header = headerData();\n <section class=\"title\">\n <h2>{{ header?.title }}</h2>\n\n <div class=\"actions\">\n <yuv-overflow-menu [menuItems]=\"actions()\"></yuv-overflow-menu>\n </div>\n </section>\n\n @if (o) {\n <section class=\"badges\">\n <yuv-retention-badge [dmsObject]=\"o\"></yuv-retention-badge>\n </section>\n\n <yuv-object-summary-data [dmsObject]=\"o\" [flavors]=\"flavors\"></yuv-object-summary-data>\n }\n</div>\n", styles: ["section.title{padding:var(--ymt-spacing-m);display:flex;justify-content:space-between;align-items:center;gap:var(--ymt-spacing-m)}section.title .actions button.quickAccess.isFavorite{color:var(--ymt-primary)}section.slide{display:flex;flex-flow:column;align-items:center;justify-content:center;border-block-end:1px solid var(--ymt-outline-variant);background-color:var(--ymt-surface-panel);position:relative;height:25%;overflow:hidden;container-type:size}section.slide .badge{position:absolute;inset-inline-end:var(--ymt-spacing-l);inset-block-start:var(--ymt-spacing-m);font-size:var(--ymt-sizing-2xl);font-weight:700;line-height:1}section.slide .badge,section.slide mat-icon{color:var(--ymt-text-color-subtle)}section.slide img{object-fit:cover;object-position:top;opacity:0;transition:opacity .3s;margin:auto;max-height:100%;max-width:100%;outline:4px solid var(--ymt-surface-panel);outline-offset:-4px;box-shadow:0 0 0 1px var(--ymt-outline-variant)}section.slide img:not(.loading){opacity:1}@container (height < 160px){section.slide mat-icon{height:var(--ymt-sizing-4xl);width:var(--ymt-sizing-4xl);font-size:var(--ymt-sizing-4xl);line-height:1}section.slide .badge{inset-inline-end:var(--ymt-spacing-m);inset-block-start:var(--ymt-spacing-s);font-size:var(--ymt-sizing-s)}}:host{--max-slide-size: 150px;display:flex;flex-flow:column;height:100%}:host section:not(.badges){padding:var(--ymt-spacing-m)}:host section.object-flavors{padding:0;border-block-end:1px solid var(--ymt-outline-variant)}:host section.object-flavors yuv-object-flavor{padding-inline-start:9px;min-height:30px}:host .content{flex:1;overflow-y:auto}:host .content section.title h2{margin:0}:host .content section.title .actions{align-self:start}:host section.badges{display:flex;flex-flow:row wrap;align-items:center;justify-content:flex-start;gap:var(--ymt-spacing-2xs);padding-inline:var(--ymt-spacing-m)}:host yuv-object-summary-data{display:block;padding:var(--ymt-spacing-m)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: BusyOverlayDirective, selector: "[yuvBusyOverlay]", inputs: ["yuvBusyOverlay", "yuvBusyOverlayConfig", "yuvBusyError"], outputs: ["yuvBusyErrorDismiss"] }, { kind: "component", type: RetentionBadgeComponent, selector: "yuv-retention-badge", inputs: ["dmsObject"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: ObjectFlavorComponent, selector: "yuv-object-flavor", inputs: ["dmsObject"], outputs: ["flavorSelect"] }, { kind: "component", type: OverflowMenuComponent, selector: "yuv-overflow-menu", inputs: ["overflowIcon", "groupLabels", "menuItems", "vertical"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ObjectSummaryDataComponent, selector: "yuv-object-summary-data", inputs: ["dmsObject", "flavors", "showAppliedFlavors"] }] }); }
337
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ObjectSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
338
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: ObjectSummaryComponent, isStandalone: true, selector: "yuv-object-summary", inputs: { actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, dmsObjectInput: { classPropertyName: "dmsObjectInput", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, objectId: { classPropertyName: "objectId", publicName: "objectId", isSignal: true, isRequired: false, transformFunction: null }, configType: { classPropertyName: "configType", publicName: "configType", isSignal: true, isRequired: false, transformFunction: null } }, host: { styleAttribute: "position: relative;" }, viewQueries: [{ propertyName: "flavorCmp", first: true, predicate: ObjectFlavorComponent, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.BusyOverlayDirective, inputs: ["yuvBusyOverlay", "busy"] }], ngImport: i0, template: "@let imageSlide = slide();\n<section class=\"slide\" [yuvBusyOverlay]=\"imageSlide.loading\">\n @if (imageSlide.uri || imageSlide.loading) {\n <img draggable=\"false\" [ngClass]=\"{ loading: imageSlide.loading }\" [attr.data-orientation]=\"imageSlide.orientation\" [src]=\"imageSlide.uri\" />\n } @else if (imageSlide.icon && imageSlide.icon.name) {\n <mat-icon draggable=\"false\" class=\"ymt-icon--size-6xl\">{{ imageSlide.icon.name }}</mat-icon>\n }\n @if (folderInfo) {\n <div class=\"badge\">\n {{ folderInfo.size }}\n </div>\n }\n</section>\n\n@let o = dmsObject();\n@if (o) {\n <section class=\"object-flavors\">\n <yuv-object-flavor [dmsObject]=\"o\" (flavorSelect)=\"onFlavorSelect($event)\"></yuv-object-flavor>\n </section>\n}\n\n<div class=\"content\">\n @let header = headerData();\n <section class=\"title\">\n <h2>{{ header?.title }}</h2>\n\n <div class=\"actions\">\n <yuv-overflow-menu [menuItems]=\"actions()\"></yuv-overflow-menu>\n </div>\n </section>\n\n @if (o) {\n <section class=\"badges\">\n <yuv-retention-badge [dmsObject]=\"o\"></yuv-retention-badge>\n </section>\n\n <yuv-object-summary-data [dmsObject]=\"o\" [flavors]=\"flavors\"></yuv-object-summary-data>\n }\n</div>\n", styles: ["section.title{padding:var(--ymt-spacing-m);display:flex;justify-content:space-between;align-items:center;gap:var(--ymt-spacing-m)}section.title .actions button.quickAccess.isFavorite{color:var(--ymt-primary)}section.slide{display:flex;flex-flow:column;align-items:center;justify-content:center;border-block-end:1px solid var(--ymt-outline-variant);background-color:var(--ymt-surface-panel);position:relative;height:25%;overflow:hidden;container-type:size}section.slide .badge{position:absolute;inset-inline-end:var(--ymt-spacing-l);inset-block-start:var(--ymt-spacing-m);font-size:var(--ymt-sizing-2xl);font-weight:700;line-height:1}section.slide .badge,section.slide mat-icon{color:var(--ymt-text-color-subtle)}section.slide img{object-fit:cover;object-position:top;opacity:0;transition:opacity .3s;margin:auto;max-height:100%;max-width:100%;outline:4px solid var(--ymt-surface-panel);outline-offset:-4px;box-shadow:0 0 0 1px var(--ymt-outline-variant)}section.slide img:not(.loading){opacity:1}@container (height < 160px){section.slide mat-icon{height:var(--ymt-sizing-4xl);width:var(--ymt-sizing-4xl);font-size:var(--ymt-sizing-4xl);line-height:1}section.slide .badge{inset-inline-end:var(--ymt-spacing-m);inset-block-start:var(--ymt-spacing-s);font-size:var(--ymt-sizing-s)}}:host{--max-slide-size: 150px;display:flex;flex-flow:column;height:100%}:host section:not(.badges){padding:var(--ymt-spacing-m)}:host section.object-flavors{padding:0;border-block-end:1px solid var(--ymt-outline-variant)}:host section.object-flavors yuv-object-flavor{padding-inline-start:9px;min-height:30px}:host .content{flex:1;overflow-y:auto}:host .content section.title h2{margin:0}:host .content section.title .actions{align-self:start}:host section.badges{display:flex;flex-flow:row wrap;align-items:center;justify-content:flex-start;gap:var(--ymt-spacing-2xs);padding-inline:var(--ymt-spacing-m)}:host yuv-object-summary-data{display:block;padding:var(--ymt-spacing-m)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: BusyOverlayDirective, selector: "[yuvBusyOverlay]", inputs: ["yuvBusyOverlay", "yuvBusyOverlayConfig", "yuvBusyError"], outputs: ["yuvBusyErrorDismiss"] }, { kind: "component", type: RetentionBadgeComponent, selector: "yuv-retention-badge", inputs: ["dmsObject"] }, { kind: "component", type: ObjectFlavorComponent, selector: "yuv-object-flavor", inputs: ["dmsObject"], outputs: ["flavorSelect"] }, { kind: "component", type: OverflowMenuComponent, selector: "yuv-overflow-menu", inputs: ["overflowIcon", "groupLabels", "menuItems", "vertical"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ObjectSummaryDataComponent, selector: "yuv-object-summary-data", inputs: ["dmsObject", "flavors", "showAppliedFlavors"] }] }); }
339
339
  }
340
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ObjectSummaryComponent, decorators: [{
340
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ObjectSummaryComponent, decorators: [{
341
341
  type: Component,
342
342
  args: [{ selector: 'yuv-object-summary', standalone: true, imports: [
343
343
  NgClass,
344
344
  BusyOverlayDirective,
345
345
  RetentionBadgeComponent,
346
- TranslateModule,
346
+ TranslatePipe,
347
347
  ObjectFlavorComponent,
348
348
  OverflowMenuComponent,
349
349
  MatIconModule,
@@ -356,15 +356,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
356
356
  ], host: {
357
357
  style: 'position: relative;'
358
358
  }, template: "@let imageSlide = slide();\n<section class=\"slide\" [yuvBusyOverlay]=\"imageSlide.loading\">\n @if (imageSlide.uri || imageSlide.loading) {\n <img draggable=\"false\" [ngClass]=\"{ loading: imageSlide.loading }\" [attr.data-orientation]=\"imageSlide.orientation\" [src]=\"imageSlide.uri\" />\n } @else if (imageSlide.icon && imageSlide.icon.name) {\n <mat-icon draggable=\"false\" class=\"ymt-icon--size-6xl\">{{ imageSlide.icon.name }}</mat-icon>\n }\n @if (folderInfo) {\n <div class=\"badge\">\n {{ folderInfo.size }}\n </div>\n }\n</section>\n\n@let o = dmsObject();\n@if (o) {\n <section class=\"object-flavors\">\n <yuv-object-flavor [dmsObject]=\"o\" (flavorSelect)=\"onFlavorSelect($event)\"></yuv-object-flavor>\n </section>\n}\n\n<div class=\"content\">\n @let header = headerData();\n <section class=\"title\">\n <h2>{{ header?.title }}</h2>\n\n <div class=\"actions\">\n <yuv-overflow-menu [menuItems]=\"actions()\"></yuv-overflow-menu>\n </div>\n </section>\n\n @if (o) {\n <section class=\"badges\">\n <yuv-retention-badge [dmsObject]=\"o\"></yuv-retention-badge>\n </section>\n\n <yuv-object-summary-data [dmsObject]=\"o\" [flavors]=\"flavors\"></yuv-object-summary-data>\n }\n</div>\n", styles: ["section.title{padding:var(--ymt-spacing-m);display:flex;justify-content:space-between;align-items:center;gap:var(--ymt-spacing-m)}section.title .actions button.quickAccess.isFavorite{color:var(--ymt-primary)}section.slide{display:flex;flex-flow:column;align-items:center;justify-content:center;border-block-end:1px solid var(--ymt-outline-variant);background-color:var(--ymt-surface-panel);position:relative;height:25%;overflow:hidden;container-type:size}section.slide .badge{position:absolute;inset-inline-end:var(--ymt-spacing-l);inset-block-start:var(--ymt-spacing-m);font-size:var(--ymt-sizing-2xl);font-weight:700;line-height:1}section.slide .badge,section.slide mat-icon{color:var(--ymt-text-color-subtle)}section.slide img{object-fit:cover;object-position:top;opacity:0;transition:opacity .3s;margin:auto;max-height:100%;max-width:100%;outline:4px solid var(--ymt-surface-panel);outline-offset:-4px;box-shadow:0 0 0 1px var(--ymt-outline-variant)}section.slide img:not(.loading){opacity:1}@container (height < 160px){section.slide mat-icon{height:var(--ymt-sizing-4xl);width:var(--ymt-sizing-4xl);font-size:var(--ymt-sizing-4xl);line-height:1}section.slide .badge{inset-inline-end:var(--ymt-spacing-m);inset-block-start:var(--ymt-spacing-s);font-size:var(--ymt-sizing-s)}}:host{--max-slide-size: 150px;display:flex;flex-flow:column;height:100%}:host section:not(.badges){padding:var(--ymt-spacing-m)}:host section.object-flavors{padding:0;border-block-end:1px solid var(--ymt-outline-variant)}:host section.object-flavors yuv-object-flavor{padding-inline-start:9px;min-height:30px}:host .content{flex:1;overflow-y:auto}:host .content section.title h2{margin:0}:host .content section.title .actions{align-self:start}:host section.badges{display:flex;flex-flow:row wrap;align-items:center;justify-content:flex-start;gap:var(--ymt-spacing-2xs);padding-inline:var(--ymt-spacing-m)}:host yuv-object-summary-data{display:block;padding:var(--ymt-spacing-m)}\n"] }]
359
- }], ctorParameters: () => [] });
359
+ }], ctorParameters: () => [], propDecorators: { flavorCmp: [{ type: i0.ViewChild, args: [i0.forwardRef(() => ObjectFlavorComponent), { isSignal: true }] }], actions: [{ type: i0.Input, args: [{ isSignal: true, alias: "actions", required: false }] }], dmsObjectInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "dmsObject", required: false }] }], objectId: [{ type: i0.Input, args: [{ isSignal: true, alias: "objectId", required: false }] }], configType: [{ type: i0.Input, args: [{ isSignal: true, alias: "configType", required: false }] }] } });
360
360
 
361
361
  const cmp = [ObjectSummaryComponent, MultiObjectSummaryComponent, ObjectSummaryDataComponent];
362
362
  class YuvObjectSummaryModule {
363
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: YuvObjectSummaryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
364
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: YuvObjectSummaryModule, imports: [ObjectSummaryComponent, MultiObjectSummaryComponent, ObjectSummaryDataComponent], exports: [ObjectSummaryComponent, MultiObjectSummaryComponent, ObjectSummaryDataComponent] }); }
365
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: YuvObjectSummaryModule, imports: [cmp] }); }
363
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: YuvObjectSummaryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
364
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.19", ngImport: i0, type: YuvObjectSummaryModule, imports: [ObjectSummaryComponent, MultiObjectSummaryComponent, ObjectSummaryDataComponent], exports: [ObjectSummaryComponent, MultiObjectSummaryComponent, ObjectSummaryDataComponent] }); }
365
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: YuvObjectSummaryModule, imports: [ObjectSummaryComponent, MultiObjectSummaryComponent] }); }
366
366
  }
367
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: YuvObjectSummaryModule, decorators: [{
367
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: YuvObjectSummaryModule, decorators: [{
368
368
  type: NgModule,
369
369
  args: [{
370
370
  imports: cmp,
@@ -1 +1 @@
1
- {"version":3,"file":"yuuvis-client-framework-object-summary.mjs","sources":["../../../../../libs/yuuvis/client-framework/object-summary/src/lib/multi-object-summary/multi-object-summary.component.ts","../../../../../libs/yuuvis/client-framework/object-summary/src/lib/object-summary-data/object-summary-data.component.ts","../../../../../libs/yuuvis/client-framework/object-summary/src/lib/object-summary-data/object-summary-data.component.html","../../../../../libs/yuuvis/client-framework/object-summary/src/lib/object-summary/object-summary.component.ts","../../../../../libs/yuuvis/client-framework/object-summary/src/lib/object-summary/object-summary.component.html","../../../../../libs/yuuvis/client-framework/object-summary/src/lib/object-summary.module.ts","../../../../../libs/yuuvis/client-framework/object-summary/src/yuuvis-client-framework-object-summary.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, signal } from '@angular/core';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n selector: 'yuv-multi-object-summary',\n standalone: true,\n imports: [MatIcon],\n template: `\n <section class=\"slide\">\n <mat-icon class=\"ymt-icon--size-6xl\">{{ icon() }}</mat-icon>\n </section>\n\n <section class=\"title\">\n <h1>{{ headline() }}</h1>\n </section>\n `,\n styleUrl: './multi-object-summary.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MultiObjectSummaryComponent {\n icon = signal('home_storage');\n\n headline = input<string>('this could be your headline');\n}\n","import { ChangeDetectionStrategy, Component, effect, inject, input, signal, untracked } from '@angular/core';\nimport { BaseObjectTypeField, ContentStreamField, DmsObject, ObjectTypeField, SystemService, TranslateModule, TranslateService } from '@yuuvis/client-core';\nimport { RendererDirective, RendererDirectiveInput } from '@yuuvis/client-framework/renderer';\nimport { ObjectFlavor, ShellService } from '@yuuvis/client-shell-core';\n\n@Component({\n selector: 'yuv-object-summary-data',\n standalone: true,\n imports: [RendererDirective, TranslateModule],\n templateUrl: './object-summary-data.component.html',\n styleUrl: './object-summary-data.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ObjectSummaryDataComponent {\n readonly #shell = inject(ShellService);\n readonly #systemService = inject(SystemService);\n readonly translate = inject(TranslateService);\n\n dmsObject = input.required<DmsObject>();\n\n baseData = signal<any[]>([]);\n flavorData = signal<\n {\n label: string;\n properties: {\n label: string;\n value: RendererDirectiveInput;\n propertyType?: string;\n }[];\n }[]\n >([]);\n\n /**\n * IDs of flavors to show. If `showAppliedFlavors` is true, all the applied flavors will be shown.\n */\n flavors = input<ObjectFlavor[]>();\n #flavorDataEffect = effect(() => {\n this.flavorData.set(this.#getFlavorData(this.dmsObject(), this.flavors() || []));\n });\n\n /**\n * Whether to identify and show all applied flavors of the object.\n */\n showAppliedFlavors = input<boolean>();\n #showAppliedFlavorsEffect = effect(() => {\n const o = this.dmsObject();\n if (this.showAppliedFlavors()) {\n this.flavorData.set(this.#getFlavorData(o, this.#shell.getAppliedObjectFlavors(o).applied));\n }\n });\n\n #dmsObjectEffect = effect(() => {\n const dmsObject = this.dmsObject();\n if (dmsObject) {\n untracked(() => {\n this.#getBaseData();\n });\n }\n });\n\n #getBaseData() {\n this.baseData.set([]);\n\n const fields = [\n BaseObjectTypeField.CREATION_DATE,\n `${BaseObjectTypeField.CREATED_BY}_title`,\n BaseObjectTypeField.MODIFICATION_DATE,\n `${BaseObjectTypeField.MODIFIED_BY}_title`\n ];\n const contentFields = [ContentStreamField.FILENAME, ContentStreamField.LENGTH, ContentStreamField.MIME_TYPE];\n const dmsObject = this.dmsObject();\n if (dmsObject) {\n (dmsObject.content ? [...fields, ...contentFields] : fields).forEach((f) => {\n this.baseData.update((data) => [\n ...data,\n {\n label: this.#systemService.getLocalizedLabel(f.replace('_title', '')) || f,\n value: {\n propertyName: f,\n value: dmsObject.data[f]\n }\n }\n ]);\n });\n }\n }\n\n #getValue(f: ObjectTypeField, data: Record<string, unknown>): any {\n if (f.propertyType === 'table') {\n return (data[f.id] as any).map((row: any) => {\n return Object.entries(row).map(([key, value]) => {\n const columnDef = (f as any).columnDefinitions.find((col: any) => col.id === key);\n return {\n propertyName: key,\n value,\n propertyType: columnDef?.propertyType || 'string'\n };\n });\n });\n }\n\n return data[f.id];\n }\n\n #getFlavorData(\n dmsObject: DmsObject,\n flavors: ObjectFlavor[]\n ): {\n label: string;\n properties: {\n label: string;\n value: RendererDirectiveInput;\n }[];\n }[] {\n const sots = (dmsObject.data[BaseObjectTypeField.SECONDARY_OBJECT_TYPE_IDS] as string[]) || [];\n return flavors\n .filter((f) => sots.includes(f.sot))\n .map((f) => {\n const sot = this.#systemService.getSecondaryObjectType(f.sot, true);\n const properties = sot\n ? sot.fields.map((f) => ({\n label: this.#systemService.getLocalizedLabel(f.id) || f.id,\n value: {\n propertyName: f.id,\n value: this.#getValue(f, dmsObject.data),\n propertyType: f.propertyType\n }\n }))\n : [];\n return {\n label: this.#systemService.getLocalizedLabel(f.id) || this.translate.instant(f.id),\n properties\n };\n });\n }\n}\n","@let flavors = flavorData();\n\n<div class=\"content\">\n @if (flavors.length > 0) {\n <section class=\"flavor properties\">\n @for (flavor of flavors; track $index) {\n <div class=\"flavour-groups\">\n <h3 class=\"object-summary__title\">{{ flavor.label }}</h3>\n @for (property of flavor.properties; track $index) {\n <div class=\"row\">\n <div class=\"label\">{{ property.label }}</div>\n <div class=\"value\">\n <ng-container *yuvRenderer=\"property.value\"></ng-container>\n </div>\n </div>\n }\n </div>\n }\n </section>\n }\n\n @let base = baseData();\n @if (base) {\n <section class=\"base properties\">\n <h3 class=\"object-summary__title\">{{'yuv.object-summary-data.base.headline'|translate}}</h3>\n @for (p of base; track $index) {\n <div class=\"row\">\n <div class=\"label\">{{ p.label }}</div>\n <div class=\"value\">\n <ng-container *yuvRenderer=\"p.value\"></ng-container>\n </div>\n </div>\n }\n </section>\n }\n</div>\n","import { NgClass } from '@angular/common';\nimport { ChangeDetectorRef, Component, effect, inject, input, signal, untracked, viewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MatIconModule } from '@angular/material/icon';\nimport {\n BaseObjectTypeField,\n ConfigTypeOption,\n ContentStreamField,\n DmsObject,\n DmsService,\n EventService,\n ObjectConfigRecord,\n ObjectConfigService,\n Operator,\n ResolvedObjectConfig,\n SearchQuery,\n SearchService,\n TranslateModule,\n TranslateService,\n VirtualObjectType,\n YuvEvent,\n YuvEventType\n} from '@yuuvis/client-core';\nimport { BusyOverlayDirective, RetentionBadgeComponent } from '@yuuvis/client-framework/common';\nimport { YUV_ICONS } from '@yuuvis/client-framework/icons';\nimport { ObjectFlavorComponent } from '@yuuvis/client-framework/object-flavor';\nimport { OverflowMenuComponent, OverflowMenuItem } from '@yuuvis/client-framework/overflow-menu';\nimport { RendererDirectiveInput } from '@yuuvis/client-framework/renderer';\nimport { ObjectFlavor } from '@yuuvis/client-shell-core';\nimport { ObjectSummaryDataComponent } from '../object-summary-data/object-summary-data.component';\n\n/**\n * Component showing a summary of the given dms object.\n */\n@Component({\n selector: 'yuv-object-summary',\n standalone: true,\n imports: [\n NgClass,\n BusyOverlayDirective,\n RetentionBadgeComponent,\n TranslateModule,\n ObjectFlavorComponent,\n OverflowMenuComponent,\n MatIconModule,\n ObjectSummaryDataComponent\n ],\n templateUrl: './object-summary.component.html',\n styleUrls: ['./object-summary.component.scss'],\n hostDirectives: [\n {\n directive: BusyOverlayDirective,\n inputs: ['yuvBusyOverlay: busy']\n }\n ],\n host: {\n style: 'position: relative;'\n }\n})\nexport class ObjectSummaryComponent {\n readonly #eventService = inject(EventService);\n readonly #dmsService = inject(DmsService);\n private readonly translate = inject(TranslateService);\n readonly #objectConfigService = inject(ObjectConfigService);\n readonly #searchService = inject(SearchService);\n readonly #cd = inject(ChangeDetectorRef);\n\n flavorCmp = viewChild(ObjectFlavorComponent);\n\n #oc?: ObjectConfigRecord;\n\n slide = signal<{\n icon?: {\n name?: string;\n title?: string;\n };\n uri?: string;\n loading: boolean;\n orientation?: 'portrait' | 'landscape';\n }>({\n loading: false\n });\n busy = true;\n\n contextError?: string;\n headerData = signal<\n | {\n icon?: {\n name?: string;\n title?: string;\n };\n title?: string;\n description?: string;\n }\n | undefined\n >(undefined);\n\n baseData: {\n label: string;\n value: RendererDirectiveInput;\n }[] = [];\n\n flavors: ObjectFlavor[] = [];\n\n icons = {\n folder: YUV_ICONS.folder\n };\n\n actions = input<OverflowMenuItem[]>([]);\n\n folderInfo?: {\n size: number;\n entries: {\n key: string;\n count: number;\n }[];\n };\n\n /**\n * DmsObject to show the details for.\n */\n\n dmsObject = signal<DmsObject | undefined>(undefined);\n\n dmsObjectInput = input<DmsObject | undefined>(undefined, { alias: 'dmsObject' });\n #dmsObjectInputEffect = effect(() => {\n const dmsObject = this.dmsObjectInput();\n const contentChanged = this.dmsObject()?.content?.contentStreamId !== dmsObject?.content?.contentStreamId;\n\n untracked(() => {\n this.dmsObject.set(dmsObject);\n contentChanged && this.slide.update((slide) => ({ ...slide, uri: undefined, icon: undefined, iconSvg: undefined }));\n if (dmsObject) {\n this.#getHeaderData();\n (contentChanged || dmsObject.isFolder) && this.#setupSlide();\n this.folderInfo = undefined;\n\n if (dmsObject.isFolder) this.#fetchFolderInfo(dmsObject.id);\n\n // TODO: if a flavor has been selected and a new object comes in, we'll check if\n // the new object has the same flavor and update the flavor data\n // if (this.flavorData && dmsObject.sots.includes(this.flavorData.flavor.sot)) {\n // this.#getFlavorData(this.flavorData.flavor);\n // } else this.flavorData = undefined;\n }\n });\n });\n\n /**\n * ID of a DmsObject. The object will be fetched from the backend upfront.\n */\n objectId = input<string | undefined | null>(null);\n #objectIdEffect = effect(() => {\n const id = this.objectId();\n untracked(() => {\n id && this.#getDmsObject(id);\n });\n });\n\n // virtual object type to be used for header data\n configType = input<ConfigTypeOption>();\n\n constructor() {\n this.#objectConfigService\n .getObjectConfigs$(undefined, true)\n .pipe(takeUntilDestroyed())\n .subscribe((res: ObjectConfigRecord) => {\n this.#oc = res;\n const dmsObject = this.dmsObject();\n if (dmsObject) this.#getHeaderData();\n });\n this.#eventService\n .on(YuvEventType.DMS_OBJECT_UPDATED)\n .pipe(takeUntilDestroyed())\n .subscribe((e: YuvEvent) => {\n const o = e.data as DmsObject;\n const dmsObject = this.dmsObject();\n this.#setupSlide();\n if (dmsObject?.id === o.id) {\n this.dmsObject.set(o);\n }\n });\n }\n\n #setupSlide() {\n const dmsObject = this.dmsObject();\n if (dmsObject) {\n if (dmsObject.content) {\n const slideUri = this.#dmsService.getSlideURI(dmsObject.id, dmsObject.content?.mimeType);\n if (slideUri) {\n this.slide.update((slide) => ({ ...slide, loading: true }));\n const img = new Image();\n img.onload = () => {\n this.slide.update((slide) => ({\n ...slide,\n orientation: img.width > img.height ? 'landscape' : 'portrait',\n uri: `${slideUri}?${new Date().getTime()}`, // add Timestamp to force image reload\n loading: false\n }));\n this.#cd.markForCheck();\n };\n img.onerror = () => {\n const headerData = this.headerData();\n this.slide.update((slide) => ({ ...slide, icon: headerData?.icon, loading: false }));\n this.#cd.markForCheck();\n };\n img.src = slideUri;\n }\n } else {\n const headerData = this.headerData();\n this.slide.update((slide) => ({ ...slide, icon: headerData?.icon }));\n }\n }\n }\n\n onFlavorSelect(flavor: ObjectFlavor | undefined) {\n this.flavors = flavor ? [flavor] : [];\n }\n\n #fetchFolderInfo(id: string) {\n const q: SearchQuery = {\n fields: [`SUM(${ContentStreamField.LENGTH})`],\n aggs: [BaseObjectTypeField.BASE_TYPE_ID],\n filters: [\n {\n f: BaseObjectTypeField.PARENT_ID,\n o: Operator.EQUAL,\n v1: id\n }\n ]\n };\n this.#searchService.aggregate(q, [BaseObjectTypeField.BASE_TYPE_ID]).subscribe((res) => {\n const entries = res.aggregations[0].entries;\n this.folderInfo = {\n size: entries.reduce((s, v) => s + v.count, 0),\n entries\n };\n });\n }\n\n #getDmsObject(id: string) {\n this.busy = true;\n this.#dmsService.getDmsObject(id).subscribe({\n next: (dmsObject) => this.dmsObject.set(dmsObject),\n error: () => {\n this.dmsObject.set(undefined);\n this.contextError = this.translate.instant('yuv.object-summary.load.error');\n },\n complete: () => {\n this.busy = false;\n }\n });\n }\n\n #getObjectConfig(type?: VirtualObjectType, bucket?: string): ResolvedObjectConfig | undefined {\n const dmsObject = this.dmsObject();\n return dmsObject\n ? this.#objectConfigService.getResolvedObjectConfig(\n dmsObject.data,\n type || {\n id: dmsObject.objectTypeId,\n objectType: dmsObject.objectTypeId\n },\n bucket,\n true\n )\n : undefined;\n }\n\n #getHeaderData() {\n const oc = this.#getObjectConfig(this.configType()?.type, this.configType()?.bucket);\n const dmsObject = this.dmsObject();\n if (oc && dmsObject) {\n this.headerData.update((data) => ({\n ...data,\n title: oc.title.value,\n description: oc.description?.value,\n icon: {\n title: oc.title.value,\n ...(oc.icon ? { name: oc.icon.value } : undefined)\n }\n }));\n } else this.headerData.set(undefined);\n }\n}\n","@let imageSlide = slide();\n<section class=\"slide\" [yuvBusyOverlay]=\"imageSlide.loading\">\n @if (imageSlide.uri || imageSlide.loading) {\n <img draggable=\"false\" [ngClass]=\"{ loading: imageSlide.loading }\" [attr.data-orientation]=\"imageSlide.orientation\" [src]=\"imageSlide.uri\" />\n } @else if (imageSlide.icon && imageSlide.icon.name) {\n <mat-icon draggable=\"false\" class=\"ymt-icon--size-6xl\">{{ imageSlide.icon.name }}</mat-icon>\n }\n @if (folderInfo) {\n <div class=\"badge\">\n {{ folderInfo.size }}\n </div>\n }\n</section>\n\n@let o = dmsObject();\n@if (o) {\n <section class=\"object-flavors\">\n <yuv-object-flavor [dmsObject]=\"o\" (flavorSelect)=\"onFlavorSelect($event)\"></yuv-object-flavor>\n </section>\n}\n\n<div class=\"content\">\n @let header = headerData();\n <section class=\"title\">\n <h2>{{ header?.title }}</h2>\n\n <div class=\"actions\">\n <yuv-overflow-menu [menuItems]=\"actions()\"></yuv-overflow-menu>\n </div>\n </section>\n\n @if (o) {\n <section class=\"badges\">\n <yuv-retention-badge [dmsObject]=\"o\"></yuv-retention-badge>\n </section>\n\n <yuv-object-summary-data [dmsObject]=\"o\" [flavors]=\"flavors\"></yuv-object-summary-data>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { MultiObjectSummaryComponent } from './multi-object-summary/multi-object-summary.component';\nimport { ObjectSummaryDataComponent } from './object-summary-data/object-summary-data.component';\nimport { ObjectSummaryComponent } from './object-summary/object-summary.component';\n\nconst cmp = [ObjectSummaryComponent, MultiObjectSummaryComponent, ObjectSummaryDataComponent];\n@NgModule({\n imports: cmp,\n exports: cmp\n})\nexport class YuvObjectSummaryModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"yuuvis-client-framework-object-summary.mjs","sources":["../../../../../libs/yuuvis/client-framework/object-summary/src/lib/multi-object-summary/multi-object-summary.component.ts","../../../../../libs/yuuvis/client-framework/object-summary/src/lib/object-summary-data/object-summary-data.component.ts","../../../../../libs/yuuvis/client-framework/object-summary/src/lib/object-summary-data/object-summary-data.component.html","../../../../../libs/yuuvis/client-framework/object-summary/src/lib/object-summary/object-summary.component.ts","../../../../../libs/yuuvis/client-framework/object-summary/src/lib/object-summary/object-summary.component.html","../../../../../libs/yuuvis/client-framework/object-summary/src/lib/object-summary.module.ts","../../../../../libs/yuuvis/client-framework/object-summary/src/yuuvis-client-framework-object-summary.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, signal } from '@angular/core';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n selector: 'yuv-multi-object-summary',\n standalone: true,\n imports: [MatIcon],\n template: `\n <section class=\"slide\">\n <mat-icon class=\"ymt-icon--size-6xl\">{{ icon() }}</mat-icon>\n </section>\n\n <section class=\"title\">\n <h1>{{ headline() }}</h1>\n </section>\n `,\n styleUrl: './multi-object-summary.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MultiObjectSummaryComponent {\n icon = signal('home_storage');\n\n headline = input<string>('this could be your headline');\n}\n","import { ChangeDetectionStrategy, Component, effect, inject, input, signal, untracked } from '@angular/core';\nimport {\n BaseObjectTypeField,\n ContentStreamField,\n DmsObject,\n ObjectTypeField,\n SystemService,\n TranslatePipe,\n TranslateService\n} from '@yuuvis/client-core';\nimport { RendererDirective, RendererDirectiveInput } from '@yuuvis/client-framework/renderer';\nimport { ObjectFlavor, ShellService } from '@yuuvis/client-shell-core';\n\n@Component({\n selector: 'yuv-object-summary-data',\n standalone: true,\n imports: [RendererDirective, TranslatePipe],\n templateUrl: './object-summary-data.component.html',\n styleUrl: './object-summary-data.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ObjectSummaryDataComponent {\n readonly #shell = inject(ShellService);\n readonly #systemService = inject(SystemService);\n readonly translate = inject(TranslateService);\n\n dmsObject = input.required<DmsObject>();\n\n baseData = signal<any[]>([]);\n flavorData = signal<\n {\n label: string;\n properties: {\n label: string;\n value: RendererDirectiveInput;\n propertyType?: string;\n }[];\n }[]\n >([]);\n\n /**\n * IDs of flavors to show. If `showAppliedFlavors` is true, all the applied flavors will be shown.\n */\n flavors = input<ObjectFlavor[]>();\n #flavorDataEffect = effect(() => {\n this.flavorData.set(this.#getFlavorData(this.dmsObject(), this.flavors() || []));\n });\n\n /**\n * Whether to identify and show all applied flavors of the object.\n */\n showAppliedFlavors = input<boolean>();\n #showAppliedFlavorsEffect = effect(() => {\n const o = this.dmsObject();\n if (this.showAppliedFlavors()) {\n this.flavorData.set(this.#getFlavorData(o, this.#shell.getAppliedObjectFlavors(o).applied));\n }\n });\n\n #dmsObjectEffect = effect(() => {\n const dmsObject = this.dmsObject();\n if (dmsObject) {\n untracked(() => {\n this.#getBaseData();\n });\n }\n });\n\n #getBaseData() {\n this.baseData.set([]);\n\n const fields = [\n BaseObjectTypeField.CREATION_DATE,\n `${BaseObjectTypeField.CREATED_BY}_title`,\n BaseObjectTypeField.MODIFICATION_DATE,\n `${BaseObjectTypeField.MODIFIED_BY}_title`\n ];\n const contentFields = [ContentStreamField.FILENAME, ContentStreamField.LENGTH, ContentStreamField.MIME_TYPE];\n const dmsObject = this.dmsObject();\n if (dmsObject) {\n (dmsObject.content ? [...fields, ...contentFields] : fields).forEach((f) => {\n this.baseData.update((data) => [\n ...data,\n {\n label: this.#systemService.getLocalizedLabel(f.replace('_title', '')) || f,\n value: {\n propertyName: f,\n value: dmsObject.data[f]\n }\n }\n ]);\n });\n }\n }\n\n #getValue(f: ObjectTypeField, data: Record<string, unknown>): any {\n if (f.propertyType === 'table') {\n return (data[f.id] as any).map((row: any) => {\n return Object.entries(row).map(([key, value]) => {\n const columnDef = (f as any).columnDefinitions.find((col: any) => col.id === key);\n return {\n propertyName: key,\n value,\n propertyType: columnDef?.propertyType || 'string'\n };\n });\n });\n }\n\n return data[f.id];\n }\n\n #getFlavorData(\n dmsObject: DmsObject,\n flavors: ObjectFlavor[]\n ): {\n label: string;\n properties: {\n label: string;\n value: RendererDirectiveInput;\n }[];\n }[] {\n const sots = (dmsObject.data[BaseObjectTypeField.SECONDARY_OBJECT_TYPE_IDS] as string[]) || [];\n return flavors\n .filter((f) => sots.includes(f.sot))\n .map((f) => {\n const sot = this.#systemService.getSecondaryObjectType(f.sot, true);\n const properties = sot\n ? sot.fields.map((f) => ({\n label: this.#systemService.getLocalizedLabel(f.id) || f.id,\n value: {\n propertyName: f.id,\n value: this.#getValue(f, dmsObject.data),\n propertyType: f.propertyType\n }\n }))\n : [];\n return {\n label: this.#systemService.getLocalizedLabel(f.id) || this.translate.instant(f.id),\n properties\n };\n });\n }\n}\n","@let flavors = flavorData();\n\n<div class=\"content\">\n @if (flavors.length > 0) {\n <section class=\"flavor properties\">\n @for (flavor of flavors; track $index) {\n <div class=\"flavour-groups\">\n <h3 class=\"object-summary__title\">{{ flavor.label }}</h3>\n @for (property of flavor.properties; track $index) {\n <div class=\"row\">\n <div class=\"label\">{{ property.label }}</div>\n <div class=\"value\">\n <ng-container *yuvRenderer=\"property.value\"></ng-container>\n </div>\n </div>\n }\n </div>\n }\n </section>\n }\n\n @let base = baseData();\n @if (base) {\n <section class=\"base properties\">\n <h3 class=\"object-summary__title\">{{'yuv.object-summary-data.base.headline'|translate}}</h3>\n @for (p of base; track $index) {\n <div class=\"row\">\n <div class=\"label\">{{ p.label }}</div>\n <div class=\"value\">\n <ng-container *yuvRenderer=\"p.value\"></ng-container>\n </div>\n </div>\n }\n </section>\n }\n</div>\n","import { NgClass } from '@angular/common';\nimport { ChangeDetectorRef, Component, effect, inject, input, signal, untracked, viewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MatIconModule } from '@angular/material/icon';\nimport {\n BaseObjectTypeField,\n ConfigTypeOption,\n ContentStreamField,\n DmsObject,\n DmsService,\n EventService,\n ObjectConfigRecord,\n ObjectConfigService,\n Operator,\n ResolvedObjectConfig,\n SearchQuery,\n SearchService,\n TranslatePipe,\n TranslateService,\n VirtualObjectType,\n YuvEvent,\n YuvEventType\n} from '@yuuvis/client-core';\nimport { BusyOverlayDirective, RetentionBadgeComponent } from '@yuuvis/client-framework/common';\nimport { YUV_ICONS } from '@yuuvis/client-framework/icons';\nimport { ObjectFlavorComponent } from '@yuuvis/client-framework/object-flavor';\nimport { OverflowMenuComponent, OverflowMenuItem } from '@yuuvis/client-framework/overflow-menu';\nimport { RendererDirectiveInput } from '@yuuvis/client-framework/renderer';\nimport { ObjectFlavor } from '@yuuvis/client-shell-core';\nimport { ObjectSummaryDataComponent } from '../object-summary-data/object-summary-data.component';\n\n/**\n * Component showing a summary of the given dms object.\n */\n@Component({\n selector: 'yuv-object-summary',\n standalone: true,\n imports: [\n NgClass,\n BusyOverlayDirective,\n RetentionBadgeComponent,\n TranslatePipe,\n ObjectFlavorComponent,\n OverflowMenuComponent,\n MatIconModule,\n ObjectSummaryDataComponent\n ],\n templateUrl: './object-summary.component.html',\n styleUrls: ['./object-summary.component.scss'],\n hostDirectives: [\n {\n directive: BusyOverlayDirective,\n inputs: ['yuvBusyOverlay: busy']\n }\n ],\n host: {\n style: 'position: relative;'\n }\n})\nexport class ObjectSummaryComponent {\n readonly #eventService = inject(EventService);\n readonly #dmsService = inject(DmsService);\n private readonly translate = inject(TranslateService);\n readonly #objectConfigService = inject(ObjectConfigService);\n readonly #searchService = inject(SearchService);\n readonly #cd = inject(ChangeDetectorRef);\n\n flavorCmp = viewChild(ObjectFlavorComponent);\n\n #oc?: ObjectConfigRecord;\n\n slide = signal<{\n icon?: {\n name?: string;\n title?: string;\n };\n uri?: string;\n loading: boolean;\n orientation?: 'portrait' | 'landscape';\n }>({\n loading: false\n });\n busy = true;\n\n contextError?: string;\n headerData = signal<\n | {\n icon?: {\n name?: string;\n title?: string;\n };\n title?: string;\n description?: string;\n }\n | undefined\n >(undefined);\n\n baseData: {\n label: string;\n value: RendererDirectiveInput;\n }[] = [];\n\n flavors: ObjectFlavor[] = [];\n\n icons = {\n folder: YUV_ICONS.folder\n };\n\n actions = input<OverflowMenuItem[]>([]);\n\n folderInfo?: {\n size: number;\n entries: {\n key: string;\n count: number;\n }[];\n };\n\n /**\n * DmsObject to show the details for.\n */\n\n dmsObject = signal<DmsObject | undefined>(undefined);\n\n dmsObjectInput = input<DmsObject | undefined>(undefined, { alias: 'dmsObject' });\n #dmsObjectInputEffect = effect(() => {\n const dmsObject = this.dmsObjectInput();\n const contentChanged = this.dmsObject()?.content?.contentStreamId !== dmsObject?.content?.contentStreamId;\n\n untracked(() => {\n this.dmsObject.set(dmsObject);\n contentChanged &&\n this.slide.update((slide) => ({ ...slide, uri: undefined, icon: undefined, iconSvg: undefined }));\n if (dmsObject) {\n this.#getHeaderData();\n (contentChanged || dmsObject.isFolder) && this.#setupSlide();\n this.folderInfo = undefined;\n\n if (dmsObject.isFolder) this.#fetchFolderInfo(dmsObject.id);\n\n // TODO: if a flavor has been selected and a new object comes in, we'll check if\n // the new object has the same flavor and update the flavor data\n // if (this.flavorData && dmsObject.sots.includes(this.flavorData.flavor.sot)) {\n // this.#getFlavorData(this.flavorData.flavor);\n // } else this.flavorData = undefined;\n }\n });\n });\n\n /**\n * ID of a DmsObject. The object will be fetched from the backend upfront.\n */\n objectId = input<string | undefined | null>(null);\n #objectIdEffect = effect(() => {\n const id = this.objectId();\n untracked(() => {\n id && this.#getDmsObject(id);\n });\n });\n\n // virtual object type to be used for header data\n configType = input<ConfigTypeOption>();\n\n constructor() {\n this.#objectConfigService\n .getObjectConfigs$(undefined, true)\n .pipe(takeUntilDestroyed())\n .subscribe((res: ObjectConfigRecord) => {\n this.#oc = res;\n const dmsObject = this.dmsObject();\n if (dmsObject) this.#getHeaderData();\n });\n this.#eventService\n .on(YuvEventType.DMS_OBJECT_UPDATED)\n .pipe(takeUntilDestroyed())\n .subscribe((e: YuvEvent) => {\n const o = e.data as DmsObject;\n const dmsObject = this.dmsObject();\n this.#setupSlide();\n if (dmsObject?.id === o.id) {\n this.dmsObject.set(o);\n }\n });\n }\n\n #setupSlide() {\n const dmsObject = this.dmsObject();\n if (dmsObject) {\n if (dmsObject.content) {\n const slideUri = this.#dmsService.getSlideURI(dmsObject.id, dmsObject.content?.mimeType);\n if (slideUri) {\n this.slide.update((slide) => ({ ...slide, loading: true }));\n const img = new Image();\n img.onload = () => {\n this.slide.update((slide) => ({\n ...slide,\n orientation: img.width > img.height ? 'landscape' : 'portrait',\n uri: `${slideUri}?${new Date().getTime()}`, // add Timestamp to force image reload\n loading: false\n }));\n this.#cd.markForCheck();\n };\n img.onerror = () => {\n const headerData = this.headerData();\n this.slide.update((slide) => ({ ...slide, icon: headerData?.icon, loading: false }));\n this.#cd.markForCheck();\n };\n img.src = slideUri;\n }\n } else {\n const headerData = this.headerData();\n this.slide.update((slide) => ({ ...slide, icon: headerData?.icon }));\n }\n }\n }\n\n onFlavorSelect(flavor: ObjectFlavor | undefined) {\n this.flavors = flavor ? [flavor] : [];\n }\n\n #fetchFolderInfo(id: string) {\n const q: SearchQuery = {\n fields: [`SUM(${ContentStreamField.LENGTH})`],\n aggs: [BaseObjectTypeField.BASE_TYPE_ID],\n filters: [\n {\n f: BaseObjectTypeField.PARENT_ID,\n o: Operator.EQUAL,\n v1: id\n }\n ]\n };\n this.#searchService.aggregate(q, [BaseObjectTypeField.BASE_TYPE_ID]).subscribe((res) => {\n const entries = res.aggregations[0].entries;\n this.folderInfo = {\n size: entries.reduce((s, v) => s + v.count, 0),\n entries\n };\n });\n }\n\n #getDmsObject(id: string) {\n this.busy = true;\n this.#dmsService.getDmsObject(id).subscribe({\n next: (dmsObject) => this.dmsObject.set(dmsObject),\n error: () => {\n this.dmsObject.set(undefined);\n this.contextError = this.translate.instant('yuv.object-summary.load.error');\n },\n complete: () => {\n this.busy = false;\n }\n });\n }\n\n #getObjectConfig(type?: VirtualObjectType, bucket?: string): ResolvedObjectConfig | undefined {\n const dmsObject = this.dmsObject();\n return dmsObject\n ? this.#objectConfigService.getResolvedObjectConfig(\n dmsObject.data,\n type || {\n id: dmsObject.objectTypeId,\n objectType: dmsObject.objectTypeId\n },\n bucket,\n true\n )\n : undefined;\n }\n\n #getHeaderData() {\n const oc = this.#getObjectConfig(this.configType()?.type, this.configType()?.bucket);\n const dmsObject = this.dmsObject();\n if (oc && dmsObject) {\n this.headerData.update((data) => ({\n ...data,\n title: oc.title.value,\n description: oc.description?.value,\n icon: {\n title: oc.title.value,\n ...(oc.icon ? { name: oc.icon.value } : undefined)\n }\n }));\n } else this.headerData.set(undefined);\n }\n}\n","@let imageSlide = slide();\n<section class=\"slide\" [yuvBusyOverlay]=\"imageSlide.loading\">\n @if (imageSlide.uri || imageSlide.loading) {\n <img draggable=\"false\" [ngClass]=\"{ loading: imageSlide.loading }\" [attr.data-orientation]=\"imageSlide.orientation\" [src]=\"imageSlide.uri\" />\n } @else if (imageSlide.icon && imageSlide.icon.name) {\n <mat-icon draggable=\"false\" class=\"ymt-icon--size-6xl\">{{ imageSlide.icon.name }}</mat-icon>\n }\n @if (folderInfo) {\n <div class=\"badge\">\n {{ folderInfo.size }}\n </div>\n }\n</section>\n\n@let o = dmsObject();\n@if (o) {\n <section class=\"object-flavors\">\n <yuv-object-flavor [dmsObject]=\"o\" (flavorSelect)=\"onFlavorSelect($event)\"></yuv-object-flavor>\n </section>\n}\n\n<div class=\"content\">\n @let header = headerData();\n <section class=\"title\">\n <h2>{{ header?.title }}</h2>\n\n <div class=\"actions\">\n <yuv-overflow-menu [menuItems]=\"actions()\"></yuv-overflow-menu>\n </div>\n </section>\n\n @if (o) {\n <section class=\"badges\">\n <yuv-retention-badge [dmsObject]=\"o\"></yuv-retention-badge>\n </section>\n\n <yuv-object-summary-data [dmsObject]=\"o\" [flavors]=\"flavors\"></yuv-object-summary-data>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { MultiObjectSummaryComponent } from './multi-object-summary/multi-object-summary.component';\nimport { ObjectSummaryDataComponent } from './object-summary-data/object-summary-data.component';\nimport { ObjectSummaryComponent } from './object-summary/object-summary.component';\n\nconst cmp = [ObjectSummaryComponent, MultiObjectSummaryComponent, ObjectSummaryDataComponent];\n@NgModule({\n imports: cmp,\n exports: cmp\n})\nexport class YuvObjectSummaryModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;MAmBa,2BAA2B,CAAA;AAhBxC,IAAA,WAAA,GAAA;AAiBE,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,cAAc,gDAAC;AAE7B,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAS,6BAA6B,oDAAC;AACxD,IAAA;+GAJY,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAZ5B;;;;;;;;AAQT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,mwCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EATS,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAaN,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAhBvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0BAA0B,cACxB,IAAI,EAAA,OAAA,EACP,CAAC,OAAO,CAAC,EAAA,QAAA,EACR;;;;;;;;GAQT,EAAA,eAAA,EAEgB,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,mwCAAA,CAAA,EAAA;;;MCIpC,0BAA0B,CAAA;AARvC,IAAA,WAAA,GAAA;AASW,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC;AAC7B,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC;AACtC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAE7C,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,QAAQ,oDAAa;AAEvC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAQ,EAAE,oDAAC;AAC5B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CASjB,EAAE,sDAAC;AAEL;;AAEG;QACH,IAAA,CAAA,OAAO,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAkB;AACjC,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,MAAK;YAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAClF,QAAA,CAAC,6DAAC;AAEF;;AAEG;QACH,IAAA,CAAA,kBAAkB,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAW;AACrC,QAAA,IAAA,CAAA,yBAAyB,GAAG,MAAM,CAAC,MAAK;AACtC,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE;AAC1B,YAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;gBAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC7F;AACF,QAAA,CAAC,qEAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,MAAK;AAC7B,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;YAClC,IAAI,SAAS,EAAE;gBACb,SAAS,CAAC,MAAK;oBACb,IAAI,CAAC,YAAY,EAAE;AACrB,gBAAA,CAAC,CAAC;YACJ;AACF,QAAA,CAAC,4DAAC;AA6EH,IAAA;AAzHU,IAAA,MAAM;AACN,IAAA,cAAc;AAqBvB,IAAA,iBAAiB;AAQjB,IAAA,yBAAyB;AAOzB,IAAA,gBAAgB;IAShB,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;AAErB,QAAA,MAAM,MAAM,GAAG;AACb,YAAA,mBAAmB,CAAC,aAAa;YACjC,CAAA,EAAG,mBAAmB,CAAC,UAAU,CAAA,MAAA,CAAQ;AACzC,YAAA,mBAAmB,CAAC,iBAAiB;YACrC,CAAA,EAAG,mBAAmB,CAAC,WAAW,CAAA,MAAA;SACnC;AACD,QAAA,MAAM,aAAa,GAAG,CAAC,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,CAAC,SAAS,CAAC;AAC5G,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;QAClC,IAAI,SAAS,EAAE;YACb,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAI;gBACzE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK;AAC7B,oBAAA,GAAG,IAAI;AACP,oBAAA;AACE,wBAAA,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;AAC1E,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAE,CAAC;AACf,4BAAA,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;AACxB;AACF;AACF,iBAAA,CAAC;AACJ,YAAA,CAAC,CAAC;QACJ;IACF;IAEA,SAAS,CAAC,CAAkB,EAAE,IAA6B,EAAA;AACzD,QAAA,IAAI,CAAC,CAAC,YAAY,KAAK,OAAO,EAAE;AAC9B,YAAA,OAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAS,CAAC,GAAG,CAAC,CAAC,GAAQ,KAAI;AAC1C,gBAAA,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;AAC9C,oBAAA,MAAM,SAAS,GAAI,CAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAQ,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC;oBACjF,OAAO;AACL,wBAAA,YAAY,EAAE,GAAG;wBACjB,KAAK;AACL,wBAAA,YAAY,EAAE,SAAS,EAAE,YAAY,IAAI;qBAC1C;AACH,gBAAA,CAAC,CAAC;AACJ,YAAA,CAAC,CAAC;QACJ;AAEA,QAAA,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACnB;IAEA,cAAc,CACZ,SAAoB,EACpB,OAAuB,EAAA;AAQvB,QAAA,MAAM,IAAI,GAAI,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,CAAc,IAAI,EAAE;AAC9F,QAAA,OAAO;AACJ,aAAA,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;AAClC,aAAA,GAAG,CAAC,CAAC,CAAC,KAAI;AACT,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC;YACnE,MAAM,UAAU,GAAG;AACjB,kBAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AACrB,oBAAA,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE;AAC1D,oBAAA,KAAK,EAAE;wBACL,YAAY,EAAE,CAAC,CAAC,EAAE;wBAClB,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC;wBACxC,YAAY,EAAE,CAAC,CAAC;AACjB;AACF,iBAAA,CAAC;kBACF,EAAE;YACN,OAAO;gBACL,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF;aACD;AACH,QAAA,CAAC,CAAC;IACN;+GAzHW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrBvC,8nCAoCA,EAAA,MAAA,EAAA,CAAA,sgFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDpBY,iBAAiB,8EAAE,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAK/B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBARtC,SAAS;+BACE,yBAAyB,EAAA,UAAA,EACvB,IAAI,EAAA,OAAA,EACP,CAAC,iBAAiB,EAAE,aAAa,CAAC,EAAA,eAAA,EAG1B,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,8nCAAA,EAAA,MAAA,EAAA,CAAA,sgFAAA,CAAA,EAAA;;;AEYjD;;AAEG;MA0BU,sBAAsB,CAAA;AACxB,IAAA,aAAa;AACb,IAAA,WAAW;AAEX,IAAA,oBAAoB;AACpB,IAAA,cAAc;AACd,IAAA,GAAG;AAIZ,IAAA,GAAG;AAwDH,IAAA,qBAAqB;AA4BrB,IAAA,eAAe;AAUf,IAAA,WAAA,GAAA;AAvGS,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;AACpC,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;AACxB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC5C,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAClD,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC;AACtC,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAExC,QAAA,IAAA,CAAA,SAAS,GAAG,SAAS,CAAC,qBAAqB,qDAAC;QAI5C,IAAA,CAAA,KAAK,GAAG,MAAM,CAQX;AACD,YAAA,OAAO,EAAE;AACV,SAAA,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QACF,IAAA,CAAA,IAAI,GAAG,IAAI;AAGX,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAUjB,SAAS,sDAAC;QAEZ,IAAA,CAAA,QAAQ,GAGF,EAAE;QAER,IAAA,CAAA,OAAO,GAAmB,EAAE;AAE5B,QAAA,IAAA,CAAA,KAAK,GAAG;YACN,MAAM,EAAE,SAAS,CAAC;SACnB;AAED,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAqB,EAAE,mDAAC;AAUvC;;AAEG;AAEH,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAwB,SAAS,qDAAC;AAEpD,QAAA,IAAA,CAAA,cAAc,GAAG,KAAK,CAAwB,SAAS,kDAAI,KAAK,EAAE,WAAW,EAAA,CAAA,GAAA,CAApB,EAAE,KAAK,EAAE,WAAW,EAAE,GAAC;AAChF,QAAA,IAAA,CAAA,qBAAqB,GAAG,MAAM,CAAC,MAAK;AAClC,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE;AACvC,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,eAAe,KAAK,SAAS,EAAE,OAAO,EAAE,eAAe;YAEzG,SAAS,CAAC,MAAK;AACb,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC7B,cAAc;AACZ,oBAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;gBACnG,IAAI,SAAS,EAAE;oBACb,IAAI,CAAC,cAAc,EAAE;oBACrB,CAAC,cAAc,IAAI,SAAS,CAAC,QAAQ,KAAK,IAAI,CAAC,WAAW,EAAE;AAC5D,oBAAA,IAAI,CAAC,UAAU,GAAG,SAAS;oBAE3B,IAAI,SAAS,CAAC,QAAQ;AAAE,wBAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;;;;;;gBAO7D;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,iEAAC;AAEF;;AAEG;AACH,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAA4B,IAAI,oDAAC;AACjD,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,MAAK;AAC5B,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE;YAC1B,SAAS,CAAC,MAAK;AACb,gBAAA,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;AAC9B,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,2DAAC;;QAGF,IAAA,CAAA,UAAU,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAoB;AAGpC,QAAA,IAAI,CAAC;AACF,aAAA,iBAAiB,CAAC,SAAS,EAAE,IAAI;aACjC,IAAI,CAAC,kBAAkB,EAAE;AACzB,aAAA,SAAS,CAAC,CAAC,GAAuB,KAAI;AACrC,YAAA,IAAI,CAAC,GAAG,GAAG,GAAG;AACd,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;AAClC,YAAA,IAAI,SAAS;gBAAE,IAAI,CAAC,cAAc,EAAE;AACtC,QAAA,CAAC,CAAC;AACJ,QAAA,IAAI,CAAC;AACF,aAAA,EAAE,CAAC,YAAY,CAAC,kBAAkB;aAClC,IAAI,CAAC,kBAAkB,EAAE;AACzB,aAAA,SAAS,CAAC,CAAC,CAAW,KAAI;AACzB,YAAA,MAAM,CAAC,GAAG,CAAC,CAAC,IAAiB;AAC7B,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;YAClC,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE;AAC1B,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB;AACF,QAAA,CAAC,CAAC;IACN;IAEA,WAAW,GAAA;AACT,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;QAClC,IAAI,SAAS,EAAE;AACb,YAAA,IAAI,SAAS,CAAC,OAAO,EAAE;AACrB,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC;gBACxF,IAAI,QAAQ,EAAE;oBACZ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3D,oBAAA,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE;AACvB,oBAAA,GAAG,CAAC,MAAM,GAAG,MAAK;wBAChB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,MAAM;AAC5B,4BAAA,GAAG,KAAK;AACR,4BAAA,WAAW,EAAE,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,GAAG,WAAW,GAAG,UAAU;AAC9D,4BAAA,GAAG,EAAE,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA,CAAE;AAC1C,4BAAA,OAAO,EAAE;AACV,yBAAA,CAAC,CAAC;AACH,wBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AACzB,oBAAA,CAAC;AACD,oBAAA,GAAG,CAAC,OAAO,GAAG,MAAK;AACjB,wBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;wBACpC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACpF,wBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AACzB,oBAAA,CAAC;AACD,oBAAA,GAAG,CAAC,GAAG,GAAG,QAAQ;gBACpB;YACF;iBAAO;AACL,gBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;gBACpC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YACtE;QACF;IACF;AAEA,IAAA,cAAc,CAAC,MAAgC,EAAA;AAC7C,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE;IACvC;AAEA,IAAA,gBAAgB,CAAC,EAAU,EAAA;AACzB,QAAA,MAAM,CAAC,GAAgB;AACrB,YAAA,MAAM,EAAE,CAAC,CAAA,IAAA,EAAO,kBAAkB,CAAC,MAAM,GAAG,CAAC;AAC7C,YAAA,IAAI,EAAE,CAAC,mBAAmB,CAAC,YAAY,CAAC;AACxC,YAAA,OAAO,EAAE;AACP,gBAAA;oBACE,CAAC,EAAE,mBAAmB,CAAC,SAAS;oBAChC,CAAC,EAAE,QAAQ,CAAC,KAAK;AACjB,oBAAA,EAAE,EAAE;AACL;AACF;SACF;AACD,QAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI;YACrF,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO;YAC3C,IAAI,CAAC,UAAU,GAAG;AAChB,gBAAA,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC9C;aACD;AACH,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,aAAa,CAAC,EAAU,EAAA;AACtB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;QAChB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;AAC1C,YAAA,IAAI,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;YAClD,KAAK,EAAE,MAAK;AACV,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,+BAA+B,CAAC;YAC7E,CAAC;YACD,QAAQ,EAAE,MAAK;AACb,gBAAA,IAAI,CAAC,IAAI,GAAG,KAAK;YACnB;AACD,SAAA,CAAC;IACJ;IAEA,gBAAgB,CAAC,IAAwB,EAAE,MAAe,EAAA;AACxD,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;AAClC,QAAA,OAAO;AACL,cAAE,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,CAC/C,SAAS,CAAC,IAAI,EACd,IAAI,IAAI;gBACN,EAAE,EAAE,SAAS,CAAC,YAAY;gBAC1B,UAAU,EAAE,SAAS,CAAC;aACvB,EACD,MAAM,EACN,IAAI;cAEN,SAAS;IACf;IAEA,cAAc,GAAA;QACZ,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC;AACpF,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;AAClC,QAAA,IAAI,EAAE,IAAI,SAAS,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM;AAChC,gBAAA,GAAG,IAAI;AACP,gBAAA,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK;AACrB,gBAAA,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE,KAAK;AAClC,gBAAA,IAAI,EAAE;AACJ,oBAAA,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK;oBACrB,IAAI,EAAE,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,SAAS;AAClD;AACF,aAAA,CAAC,CAAC;QACL;;AAAO,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;IACvC;+GAjOW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,0sBAQX,qBAAqB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnE7C,+uCAuCA,EAAA,MAAA,EAAA,CAAA,y6DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDDI,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACP,oBAAoB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,sBAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACpB,uBAAuB,uFAEvB,qBAAqB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACrB,qBAAqB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,aAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACrB,aAAa,oLACb,0BAA0B,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,SAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAcjB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAzBlC,SAAS;+BACE,oBAAoB,EAAA,UAAA,EAClB,IAAI,EAAA,OAAA,EACP;wBACP,OAAO;wBACP,oBAAoB;wBACpB,uBAAuB;wBACvB,aAAa;wBACb,qBAAqB;wBACrB,qBAAqB;wBACrB,aAAa;wBACb;qBACD,EAAA,cAAA,EAGe;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,oBAAoB;4BAC/B,MAAM,EAAE,CAAC,sBAAsB;AAChC;qBACF,EAAA,IAAA,EACK;AACJ,wBAAA,KAAK,EAAE;AACR,qBAAA,EAAA,QAAA,EAAA,+uCAAA,EAAA,MAAA,EAAA,CAAA,y6DAAA,CAAA,EAAA;qHAUqB,qBAAqB,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AE9D7C,MAAM,GAAG,GAAG,CAAC,sBAAsB,EAAE,2BAA2B,EAAE,0BAA0B,CAAC;MAKhF,sBAAsB,CAAA;+GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAtB,sBAAsB,EAAA,OAAA,EAAA,CALtB,sBAAsB,EAAE,2BAA2B,EAAE,0BAA0B,CAAA,EAAA,OAAA,EAAA,CAA/E,sBAAsB,EAAE,2BAA2B,EAAE,0BAA0B,CAAA,EAAA,CAAA,CAAA;gHAK/E,sBAAsB,EAAA,OAAA,EAAA,CALtB,sBAAsB,EAAE,2BAA2B,CAAA,EAAA,CAAA,CAAA;;4FAKnD,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,GAAG;AACZ,oBAAA,OAAO,EAAE;AACV,iBAAA;;;ACTD;;AAEG;;;;"}