@yuuvis/client-framework 1.0.3 → 2.0.0-beta.2

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 (389) hide show
  1. package/actions/lib/actions/delete-action/delete/delete.component.d.ts +3 -3
  2. package/actions/lib/actions/delete-action/delete-action.d.ts +1 -1
  3. package/actions/lib/actions.service.d.ts +7 -3
  4. package/actions/lib/components/contextmenu/contextmenu.component.d.ts +3 -1
  5. package/autocomplete/README.md +3 -0
  6. package/autocomplete/index.d.ts +3 -0
  7. package/autocomplete/lib/autocomplete.component.d.ts +72 -0
  8. package/autocomplete/lib/autocomplete.interface.d.ts +4 -0
  9. package/autocomplete/lib/autocomplete.module.d.ts +7 -0
  10. package/common/index.d.ts +4 -4
  11. package/common/lib/common.module.d.ts +19 -0
  12. package/common/lib/common.utils.d.ts +2 -0
  13. package/common/lib/components/confirm/confirm.component.d.ts +7 -0
  14. package/common/lib/components/confirm/confirm.interface.d.ts +7 -0
  15. package/common/lib/components/confirm/confirm.service.d.ts +9 -0
  16. package/common/lib/components/dialog/dialog.component.d.ts +6 -0
  17. package/common/lib/components/dialog/dialog.options.d.ts +7 -0
  18. package/common/lib/components/index.d.ts +5 -0
  19. package/common/lib/directives/autofocus-child.directive.d.ts +13 -0
  20. package/common/lib/directives/autofocus-delayed.directive.d.ts +18 -0
  21. package/common/lib/directives/drag-scroll.directive.d.ts +20 -0
  22. package/common/lib/directives/index.d.ts +8 -4
  23. package/common/lib/directives/noop-value-accessor.directive.d.ts +2 -2
  24. package/common/lib/mat-form-field.abstract.d.ts +41 -0
  25. package/common/lib/services/index.d.ts +1 -1
  26. package/common/lib/services/layout-settings/layout-settings.service.d.ts +18 -0
  27. package/datepicker/README.md +3 -0
  28. package/datepicker/index.d.ts +5 -0
  29. package/datepicker/lib/calendar/calendar.component.d.ts +72 -0
  30. package/datepicker/lib/date-input/date-input-element/date-input-element.component.d.ts +43 -0
  31. package/datepicker/lib/date-input/date-input-hour-element/date-input-hour-element.component.d.ts +11 -0
  32. package/datepicker/lib/date-input/date-input.component.d.ts +61 -0
  33. package/datepicker/lib/datepicker-calendar/datepicker-calendar-trigger.component.d.ts +7 -0
  34. package/datepicker/lib/datepicker-calendar/datepicker-calendar.component.d.ts +12 -0
  35. package/datepicker/lib/datepicker.component.d.ts +80 -0
  36. package/datepicker/lib/datepicker.interface.d.ts +34 -0
  37. package/datepicker/lib/datepicker.module.d.ts +9 -0
  38. package/datepicker/lib/datepicker.service.d.ts +46 -0
  39. package/datepicker/lib/datepicker.utils.d.ts +23 -0
  40. package/datepicker/lib/time-input/time-input.component.d.ts +36 -0
  41. package/datepicker/lib/time-input/time-input.interface.d.ts +6 -0
  42. package/fesm2022/yuuvis-client-framework-actions.mjs +147 -105
  43. package/fesm2022/yuuvis-client-framework-actions.mjs.map +1 -1
  44. package/fesm2022/yuuvis-client-framework-app-bar.mjs +7 -8
  45. package/fesm2022/yuuvis-client-framework-app-bar.mjs.map +1 -1
  46. package/fesm2022/yuuvis-client-framework-autocomplete.mjs +210 -0
  47. package/fesm2022/yuuvis-client-framework-autocomplete.mjs.map +1 -0
  48. package/fesm2022/yuuvis-client-framework-clipboard.mjs +9 -9
  49. package/fesm2022/yuuvis-client-framework-clipboard.mjs.map +1 -1
  50. package/fesm2022/yuuvis-client-framework-common.mjs +853 -780
  51. package/fesm2022/yuuvis-client-framework-common.mjs.map +1 -1
  52. package/fesm2022/yuuvis-client-framework-datepicker.mjs +1688 -0
  53. package/fesm2022/yuuvis-client-framework-datepicker.mjs.map +1 -0
  54. package/fesm2022/yuuvis-client-framework-forms.mjs +945 -1157
  55. package/fesm2022/yuuvis-client-framework-forms.mjs.map +1 -1
  56. package/fesm2022/yuuvis-client-framework-icons.mjs +85 -12
  57. package/fesm2022/yuuvis-client-framework-icons.mjs.map +1 -1
  58. package/fesm2022/yuuvis-client-framework-list.mjs +81 -45
  59. package/fesm2022/yuuvis-client-framework-list.mjs.map +1 -1
  60. package/fesm2022/yuuvis-client-framework-master-details.mjs +112 -0
  61. package/fesm2022/yuuvis-client-framework-master-details.mjs.map +1 -0
  62. package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs +60 -0
  63. package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs.map +1 -0
  64. package/fesm2022/yuuvis-client-framework-metadata-form.mjs +125 -100
  65. package/fesm2022/yuuvis-client-framework-metadata-form.mjs.map +1 -1
  66. package/fesm2022/yuuvis-client-framework-object-details.mjs +49 -59
  67. package/fesm2022/yuuvis-client-framework-object-details.mjs.map +1 -1
  68. package/fesm2022/yuuvis-client-framework-object-flavor.mjs +188 -77
  69. package/fesm2022/yuuvis-client-framework-object-flavor.mjs.map +1 -1
  70. package/fesm2022/yuuvis-client-framework-object-form.mjs +99 -184
  71. package/fesm2022/yuuvis-client-framework-object-form.mjs.map +1 -1
  72. package/fesm2022/yuuvis-client-framework-object-preview.mjs +11 -11
  73. package/fesm2022/yuuvis-client-framework-object-preview.mjs.map +1 -1
  74. package/fesm2022/yuuvis-client-framework-object-summary.mjs +46 -42
  75. package/fesm2022/yuuvis-client-framework-object-summary.mjs.map +1 -1
  76. package/fesm2022/yuuvis-client-framework-overflow-menu.mjs +126 -0
  77. package/fesm2022/yuuvis-client-framework-overflow-menu.mjs.map +1 -0
  78. package/fesm2022/yuuvis-client-framework-pagination.mjs +7 -9
  79. package/fesm2022/yuuvis-client-framework-pagination.mjs.map +1 -1
  80. package/fesm2022/yuuvis-client-framework-panel.mjs +8 -7
  81. package/fesm2022/yuuvis-client-framework-panel.mjs.map +1 -1
  82. package/fesm2022/yuuvis-client-framework-popout.mjs +212 -0
  83. package/fesm2022/yuuvis-client-framework-popout.mjs.map +1 -0
  84. package/fesm2022/yuuvis-client-framework-renderer.mjs +99 -72
  85. package/fesm2022/yuuvis-client-framework-renderer.mjs.map +1 -1
  86. package/fesm2022/yuuvis-client-framework-sequence-list.mjs +29 -112
  87. package/fesm2022/yuuvis-client-framework-sequence-list.mjs.map +1 -1
  88. package/fesm2022/yuuvis-client-framework-simple-search.mjs +40 -21
  89. package/fesm2022/yuuvis-client-framework-simple-search.mjs.map +1 -1
  90. package/fesm2022/yuuvis-client-framework-split-view.mjs +188 -0
  91. package/fesm2022/yuuvis-client-framework-split-view.mjs.map +1 -0
  92. package/fesm2022/yuuvis-client-framework-tile-list.mjs +100 -93
  93. package/fesm2022/yuuvis-client-framework-tile-list.mjs.map +1 -1
  94. package/fesm2022/yuuvis-client-framework-tree.mjs +15 -15
  95. package/fesm2022/yuuvis-client-framework-tree.mjs.map +1 -1
  96. package/fesm2022/yuuvis-client-framework-upload-progress.mjs +16 -21
  97. package/fesm2022/yuuvis-client-framework-upload-progress.mjs.map +1 -1
  98. package/fesm2022/yuuvis-client-framework.mjs +4 -4
  99. package/fesm2022/yuuvis-client-framework.mjs.map +1 -1
  100. package/forms/index.d.ts +7 -1
  101. package/forms/lib/elements/catalog/catalog.component.d.ts +17 -56
  102. package/forms/lib/elements/data-grid/edit-table-data/edit-data.component.d.ts +5 -4
  103. package/forms/lib/elements/datetime/datetime.component.d.ts +19 -10
  104. package/forms/lib/elements/datetime-range/datetime-range.component.d.ts +12 -27
  105. package/forms/lib/elements/index.d.ts +0 -1
  106. package/forms/lib/elements/number/number.component.d.ts +21 -30
  107. package/forms/lib/elements/number-range/number-range.component.d.ts +12 -7
  108. package/forms/lib/elements/organization/organization.component.d.ts +23 -51
  109. package/forms/lib/elements/range-select-date/range-select-date.component.d.ts +12 -7
  110. package/forms/lib/elements/range-select-filesize/range-select-filesize.component.d.ts +12 -7
  111. package/forms/lib/elements/string/string.component.d.ts +15 -20
  112. package/forms/lib/forms.module.d.ts +8 -11
  113. package/icons/index.d.ts +1 -0
  114. package/icons/lib/icon.component.d.ts +20 -0
  115. package/lib/assets/i18n/de.json +7 -23
  116. package/lib/assets/i18n/en.json +10 -26
  117. package/list/index.d.ts +1 -0
  118. package/list/lib/list-item.directive.d.ts +5 -4
  119. package/list/lib/list.component.d.ts +6 -3
  120. package/list/lib/list.module.d.ts +8 -0
  121. package/master-details/README.md +3 -0
  122. package/master-details/index.d.ts +2 -0
  123. package/master-details/lib/master-details.component.d.ts +58 -0
  124. package/master-details/lib/master-details.interface.d.ts +7 -0
  125. package/master-details/lib/master-details.module.d.ts +7 -0
  126. package/metadata-form/index.d.ts +4 -1
  127. package/metadata-form/lib/metadata-form-field/metadata-form-field.component.d.ts +4 -17
  128. package/metadata-form/lib/metadata-form-field/metadata-form-field.interface.d.ts +11 -0
  129. package/metadata-form/lib/object-metadata-element-error.directive.d.ts +13 -0
  130. package/metadata-form/lib/object-metadata-element-label.directive.d.ts +10 -0
  131. package/metadata-form/lib/object-metadata-element-template.directive.d.ts +3 -3
  132. package/metadata-form-defaults/README.md +3 -0
  133. package/metadata-form-defaults/index.d.ts +2 -0
  134. package/metadata-form-defaults/lib/metadata-form-defaults.module.d.ts +7 -0
  135. package/object-details/lib/object-audit/object-audit.component.d.ts +3 -9
  136. package/object-details/lib/object-details.component.d.ts +0 -2
  137. package/object-details/lib/object-metadata/object-metadata.component.d.ts +4 -3
  138. package/object-details/lib/retention-badge/retention-badge.component.d.ts +0 -3
  139. package/object-flavor/index.d.ts +1 -0
  140. package/object-flavor/lib/abstract-apply-create-flavor/abstract-apply-create-flavor.component.d.ts +1 -2
  141. package/object-flavor/lib/abstract-apply-object-flavor/abstract-apply-object-flavor.component.d.ts +3 -2
  142. package/object-flavor/lib/default-apply-flavor/default-apply-flavor.component.d.ts +19 -0
  143. package/object-flavor/lib/flavor-chip/flavor-chip.component.d.ts +1 -1
  144. package/object-flavor/lib/object-flavor/object-flavor.component.d.ts +3 -6
  145. package/object-flavor/lib/object-flavor-picker/object-flavor-picker.component.d.ts +0 -1
  146. package/object-form/index.d.ts +1 -1
  147. package/object-form/lib/object-form-element/object-form-element.component.d.ts +2 -2
  148. package/object-form/lib/object-form-group/object-form-group.component.d.ts +1 -3
  149. package/object-form/lib/object-form.component.d.ts +2 -2
  150. package/object-form/lib/object-form.interface.d.ts +0 -44
  151. package/object-form/lib/object-form.module.d.ts +7 -0
  152. package/object-form/lib/object-form.service.d.ts +1 -2
  153. package/object-form/lib/object-form.utils.d.ts +1 -1
  154. package/object-summary/lib/object-summary/object-summary.component.d.ts +13 -15
  155. package/overflow-menu/README.md +3 -0
  156. package/overflow-menu/index.d.ts +3 -0
  157. package/overflow-menu/lib/overflow-menu.component.d.ts +31 -0
  158. package/overflow-menu/lib/overflow-menu.interface.d.ts +9 -0
  159. package/overflow-menu/lib/overflow-menu.module.d.ts +7 -0
  160. package/package.json +40 -66
  161. package/popout/README.md +3 -0
  162. package/popout/index.d.ts +3 -0
  163. package/popout/lib/popout.component.d.ts +58 -0
  164. package/popout/lib/popout.interface.d.ts +17 -0
  165. package/popout/lib/popout.module.d.ts +7 -0
  166. package/renderer/lib/property-renderer/abstract.renderer.d.ts +4 -4
  167. package/renderer/lib/property-renderer/icon.renderer.component.d.ts +2 -0
  168. package/renderer/lib/renderer.directive.d.ts +4 -3
  169. package/sequence-list/index.d.ts +0 -1
  170. package/sequence-list/lib/sequence-list.component.d.ts +0 -4
  171. package/simple-search/index.d.ts +0 -1
  172. package/simple-search/lib/simple-search/simple-search.component.d.ts +6 -10
  173. package/split-view/README.md +3 -0
  174. package/split-view/index.d.ts +4 -0
  175. package/split-view/lib/split-area.directive.d.ts +16 -0
  176. package/split-view/lib/split-view.component.d.ts +76 -0
  177. package/split-view/lib/split-view.interface.d.ts +10 -0
  178. package/split-view/lib/split-view.module.d.ts +8 -0
  179. package/styles/client-framework.scss +21 -67
  180. package/tile-list/lib/tile/tile.component.d.ts +1 -2
  181. package/tile-list/lib/tile-config/property-select/property-select.component.d.ts +0 -1
  182. package/tile-list/lib/tile-config/tile-config-trigger/tile-config-trigger.component.d.ts +1 -2
  183. package/tile-list/lib/tile-config/tile-config.component.d.ts +0 -3
  184. package/tile-list/lib/tile-list/tile-list.component.d.ts +5 -5
  185. package/upload-progress/lib/upload-progress/upload-progress-overlay/upload-progress-overlay.component.d.ts +0 -5
  186. package/upload-progress/lib/upload-progress/upload-progress.component.d.ts +0 -4
  187. package/common/lib/components/focus-indicator/focus-indicator.component.d.ts +0 -7
  188. package/common/lib/components/token-input/token-input.component.d.ts +0 -55
  189. package/common/lib/components/token-input/token-input.interface.d.ts +0 -8
  190. package/common/lib/services/error-messages/error-messages.service.d.ts +0 -7
  191. package/esm2022/actions/index.mjs +0 -7
  192. package/esm2022/actions/lib/actions/copy-action/copy-action.mjs +0 -31
  193. package/esm2022/actions/lib/actions/cut-action/cut-action.mjs +0 -30
  194. package/esm2022/actions/lib/actions/delete-action/delete/delete.component.mjs +0 -67
  195. package/esm2022/actions/lib/actions/delete-action/delete-action.mjs +0 -38
  196. package/esm2022/actions/lib/actions/download-action/download-action.mjs +0 -33
  197. package/esm2022/actions/lib/actions.icon.mjs +0 -8
  198. package/esm2022/actions/lib/actions.interface.mjs +0 -19
  199. package/esm2022/actions/lib/actions.module.mjs +0 -16
  200. package/esm2022/actions/lib/actions.service.mjs +0 -89
  201. package/esm2022/actions/lib/components/contextmenu/contextmenu.component.mjs +0 -27
  202. package/esm2022/actions/yuuvis-client-framework-actions.mjs +0 -5
  203. package/esm2022/app-bar/index.mjs +0 -2
  204. package/esm2022/app-bar/lib/app-bar.component.mjs +0 -89
  205. package/esm2022/app-bar/yuuvis-client-framework-app-bar.mjs +0 -5
  206. package/esm2022/clipboard/index.mjs +0 -2
  207. package/esm2022/clipboard/lib/clipboard.component.mjs +0 -48
  208. package/esm2022/clipboard/yuuvis-client-framework-clipboard.mjs +0 -5
  209. package/esm2022/common/index.mjs +0 -7
  210. package/esm2022/common/lib/components/focus-indicator/focus-indicator.component.mjs +0 -41
  211. package/esm2022/common/lib/components/token-input/token-input.component.mjs +0 -324
  212. package/esm2022/common/lib/components/token-input/token-input.interface.mjs +0 -2
  213. package/esm2022/common/lib/directives/busy-overlay.directive.mjs +0 -88
  214. package/esm2022/common/lib/directives/click-double.directive.mjs +0 -61
  215. package/esm2022/common/lib/directives/container-size.directive.mjs +0 -56
  216. package/esm2022/common/lib/directives/drag-select.directive.mjs +0 -114
  217. package/esm2022/common/lib/directives/file-drop-zone/file-drop-zone.directive.mjs +0 -153
  218. package/esm2022/common/lib/directives/file-drop-zone/file-drop-zone.interface.mjs +0 -2
  219. package/esm2022/common/lib/directives/focus-within.directive.mjs +0 -81
  220. package/esm2022/common/lib/directives/index.mjs +0 -9
  221. package/esm2022/common/lib/directives/light-dismiss.directive.mjs +0 -44
  222. package/esm2022/common/lib/directives/longpress.directive.mjs +0 -36
  223. package/esm2022/common/lib/directives/noop-value-accessor.directive.mjs +0 -42
  224. package/esm2022/common/lib/services/error-messages/error-messages.service.mjs +0 -68
  225. package/esm2022/common/lib/services/index.mjs +0 -2
  226. package/esm2022/common/yuuvis-client-framework-common.mjs +0 -5
  227. package/esm2022/forms/index.mjs +0 -24
  228. package/esm2022/forms/lib/elements/catalog/catalog.component.mjs +0 -118
  229. package/esm2022/forms/lib/elements/data-grid/data-grid/data-grid.component.mjs +0 -172
  230. package/esm2022/forms/lib/elements/data-grid/edit-table-data/edit-data.component.mjs +0 -95
  231. package/esm2022/forms/lib/elements/data-grid/model/data-grid.interface.mjs +0 -9
  232. package/esm2022/forms/lib/elements/datetime/datetime.component.mjs +0 -82
  233. package/esm2022/forms/lib/elements/datetime-range/datetime-range.component.mjs +0 -166
  234. package/esm2022/forms/lib/elements/index.mjs +0 -11
  235. package/esm2022/forms/lib/elements/number/number.component.mjs +0 -195
  236. package/esm2022/forms/lib/elements/number-range/number-range.component.mjs +0 -176
  237. package/esm2022/forms/lib/elements/organization/organization.component.mjs +0 -286
  238. package/esm2022/forms/lib/elements/range-select-date/date-range-picker/date-range-picker.component.mjs +0 -38
  239. package/esm2022/forms/lib/elements/range-select-date/range-select-date.component.mjs +0 -181
  240. package/esm2022/forms/lib/elements/range-select-date/range-select-date.interface.mjs +0 -2
  241. package/esm2022/forms/lib/elements/range-select-filesize/range-select-filesize.component.mjs +0 -98
  242. package/esm2022/forms/lib/elements/range-select-filesize/range-select-filesize.interface.mjs +0 -2
  243. package/esm2022/forms/lib/elements/string/string.component.mjs +0 -261
  244. package/esm2022/forms/lib/form-input/form-input.component.mjs +0 -88
  245. package/esm2022/forms/lib/forms.module.mjs +0 -58
  246. package/esm2022/forms/yuuvis-client-framework-forms.mjs +0 -5
  247. package/esm2022/icons/index.mjs +0 -4
  248. package/esm2022/icons/lib/icon.service.mjs +0 -59
  249. package/esm2022/icons/lib/icons.mjs +0 -32
  250. package/esm2022/icons/lib/object-type-icon/object-type-icon.component.mjs +0 -29
  251. package/esm2022/icons/yuuvis-client-framework-icons.mjs +0 -5
  252. package/esm2022/index.mjs +0 -2
  253. package/esm2022/lib/yuuvis-client-framework.module.mjs +0 -15
  254. package/esm2022/list/index.mjs +0 -3
  255. package/esm2022/list/lib/list-item.directive.mjs +0 -72
  256. package/esm2022/list/lib/list.component.mjs +0 -135
  257. package/esm2022/list/yuuvis-client-framework-list.mjs +0 -5
  258. package/esm2022/metadata-form/index.mjs +0 -4
  259. package/esm2022/metadata-form/lib/metadata-default-templates/metadata-default-templates.component.mjs +0 -32
  260. package/esm2022/metadata-form/lib/metadata-form-element-registry.service.mjs +0 -99
  261. package/esm2022/metadata-form/lib/metadata-form-field/metadata-form-field.component.mjs +0 -83
  262. package/esm2022/metadata-form/lib/object-metadata-element-template.directive.mjs +0 -52
  263. package/esm2022/metadata-form/yuuvis-client-framework-metadata-form.mjs +0 -5
  264. package/esm2022/object-details/index.mjs +0 -8
  265. package/esm2022/object-details/lib/object-audit/object-audit.component.mjs +0 -195
  266. package/esm2022/object-details/lib/object-details-shell/object-details-shell.component.mjs +0 -127
  267. package/esm2022/object-details/lib/object-details.component.mjs +0 -61
  268. package/esm2022/object-details/lib/object-metadata/form-section-group.pipe.mjs +0 -17
  269. package/esm2022/object-details/lib/object-metadata/object-metadata.component.mjs +0 -202
  270. package/esm2022/object-details/lib/object-metadata/object-metadata.interface.mjs +0 -2
  271. package/esm2022/object-details/lib/retention-badge/retention-badge.component.mjs +0 -27
  272. package/esm2022/object-details/yuuvis-client-framework-object-details.mjs +0 -5
  273. package/esm2022/object-flavor/index.mjs +0 -6
  274. package/esm2022/object-flavor/lib/abstract-apply-create-flavor/abstract-apply-create-flavor.component.mjs +0 -25
  275. package/esm2022/object-flavor/lib/abstract-apply-object-flavor/abstract-apply-object-flavor.component.mjs +0 -21
  276. package/esm2022/object-flavor/lib/flavor-chip/flavor-chip.component.mjs +0 -35
  277. package/esm2022/object-flavor/lib/object-flavor/object-flavor.component.mjs +0 -93
  278. package/esm2022/object-flavor/lib/object-flavor-picker/object-flavor-picker.component.mjs +0 -43
  279. package/esm2022/object-flavor/yuuvis-client-framework-object-flavor.mjs +0 -5
  280. package/esm2022/object-form/index.mjs +0 -5
  281. package/esm2022/object-form/lib/form-scripting.api.interface.mjs +0 -2
  282. package/esm2022/object-form/lib/form-scripting.service.mjs +0 -160
  283. package/esm2022/object-form/lib/object-form-element/object-form-element.component.mjs +0 -87
  284. package/esm2022/object-form/lib/object-form-extension.interface.mjs +0 -36
  285. package/esm2022/object-form/lib/object-form-group/object-form-group.component.mjs +0 -85
  286. package/esm2022/object-form/lib/object-form-script/form-scripting-element-extension/form-scripting-element-extension.component.mjs +0 -23
  287. package/esm2022/object-form/lib/object-form-script/object-form-script.service.mjs +0 -115
  288. package/esm2022/object-form/lib/object-form-script/object-form-scripting-scope.mjs +0 -251
  289. package/esm2022/object-form/lib/object-form-translate.service.mjs +0 -73
  290. package/esm2022/object-form/lib/object-form.component.mjs +0 -628
  291. package/esm2022/object-form/lib/object-form.interface.mjs +0 -9
  292. package/esm2022/object-form/lib/object-form.model.mjs +0 -20
  293. package/esm2022/object-form/lib/object-form.service.mjs +0 -130
  294. package/esm2022/object-form/lib/object-form.utils.mjs +0 -55
  295. package/esm2022/object-form/lib/object-form.validation.mjs +0 -48
  296. package/esm2022/object-form/yuuvis-client-framework-object-form.mjs +0 -5
  297. package/esm2022/object-preview/index.mjs +0 -3
  298. package/esm2022/object-preview/lib/components/index.mjs +0 -3
  299. package/esm2022/object-preview/lib/components/object-email-preview/object-email-preview.component.mjs +0 -45
  300. package/esm2022/object-preview/lib/components/object-preview/object-preview.component.mjs +0 -78
  301. package/esm2022/object-preview/lib/services/object-preview.service.mjs +0 -119
  302. package/esm2022/object-preview/yuuvis-client-framework-object-preview.mjs +0 -5
  303. package/esm2022/object-summary/index.mjs +0 -5
  304. package/esm2022/object-summary/lib/multi-object-summary/multi-object-summary.component.mjs +0 -33
  305. package/esm2022/object-summary/lib/object-summary/object-summary.component.mjs +0 -275
  306. package/esm2022/object-summary/lib/object-summary-data/object-summary-data.component.mjs +0 -80
  307. package/esm2022/object-summary/lib/object-summary.module.mjs +0 -15
  308. package/esm2022/object-summary/yuuvis-client-framework-object-summary.mjs +0 -5
  309. package/esm2022/pagination/index.mjs +0 -3
  310. package/esm2022/pagination/lib/pagination.component.mjs +0 -46
  311. package/esm2022/pagination/lib/pagination.interface.mjs +0 -2
  312. package/esm2022/pagination/yuuvis-client-framework-pagination.mjs +0 -5
  313. package/esm2022/panel/index.mjs +0 -2
  314. package/esm2022/panel/lib/panel.component.mjs +0 -20
  315. package/esm2022/panel/yuuvis-client-framework-panel.mjs +0 -5
  316. package/esm2022/renderer/index.mjs +0 -11
  317. package/esm2022/renderer/lib/property-renderer/abstract.renderer.mjs +0 -29
  318. package/esm2022/renderer/lib/property-renderer/datetime.renderer.mjs +0 -13
  319. package/esm2022/renderer/lib/property-renderer/decimal.renderer.component.mjs +0 -12
  320. package/esm2022/renderer/lib/property-renderer/filesize.renderer.component.mjs +0 -28
  321. package/esm2022/renderer/lib/property-renderer/icon.renderer.component.mjs +0 -23
  322. package/esm2022/renderer/lib/property-renderer/integer.renderer.component.mjs +0 -12
  323. package/esm2022/renderer/lib/property-renderer/organization.renderer.mjs +0 -19
  324. package/esm2022/renderer/lib/property-renderer/string.renderer.component.mjs +0 -12
  325. package/esm2022/renderer/lib/property-renderer/unknown.renderer.mjs +0 -12
  326. package/esm2022/renderer/lib/renderer.directive.mjs +0 -51
  327. package/esm2022/renderer/lib/services/renderer/renderer.interface.mjs +0 -2
  328. package/esm2022/renderer/lib/services/renderer/renderer.service.mjs +0 -84
  329. package/esm2022/renderer/yuuvis-client-framework-renderer.mjs +0 -5
  330. package/esm2022/sequence-list/index.mjs +0 -4
  331. package/esm2022/sequence-list/lib/due-date-picker/due-date-picker.component.mjs +0 -99
  332. package/esm2022/sequence-list/lib/sequence-list.component.mjs +0 -141
  333. package/esm2022/sequence-list/lib/sequence-list.interface.mjs +0 -2
  334. package/esm2022/sequence-list/yuuvis-client-framework-sequence-list.mjs +0 -5
  335. package/esm2022/simple-search/index.mjs +0 -3
  336. package/esm2022/simple-search/lib/simple-search/simple-search.component.mjs +0 -111
  337. package/esm2022/simple-search/lib/simple-search/simple-search.interface.mjs +0 -2
  338. package/esm2022/simple-search/yuuvis-client-framework-simple-search.mjs +0 -5
  339. package/esm2022/tile-list/index.mjs +0 -11
  340. package/esm2022/tile-list/lib/tile/tile.component.mjs +0 -53
  341. package/esm2022/tile-list/lib/tile-config/action-select/action-select.component.mjs +0 -25
  342. package/esm2022/tile-list/lib/tile-config/icon-select/icon-select.component.mjs +0 -33
  343. package/esm2022/tile-list/lib/tile-config/property-select/property-select.component.mjs +0 -91
  344. package/esm2022/tile-list/lib/tile-config/tile-config-tile/tile-config-tile.component.mjs +0 -66
  345. package/esm2022/tile-list/lib/tile-config/tile-config-trigger/tile-config-trigger.component.mjs +0 -46
  346. package/esm2022/tile-list/lib/tile-config/tile-config.component.mjs +0 -156
  347. package/esm2022/tile-list/lib/tile-extension/directive/tile-extension.directive.mjs +0 -37
  348. package/esm2022/tile-list/lib/tile-extension/extensions/email.extension.mjs +0 -42
  349. package/esm2022/tile-list/lib/tile-extension/tile-extension.service.mjs +0 -35
  350. package/esm2022/tile-list/lib/tile-list/tile-list.component.mjs +0 -510
  351. package/esm2022/tile-list/lib/tile-list/tile-list.interface.mjs +0 -2
  352. package/esm2022/tile-list/yuuvis-client-framework-tile-list.mjs +0 -5
  353. package/esm2022/token-search/index.mjs +0 -3
  354. package/esm2022/token-search/token-search.component.mjs +0 -78
  355. package/esm2022/token-search/token-search.interface.mjs +0 -2
  356. package/esm2022/token-search/yuuvis-client-framework-token-search.mjs +0 -5
  357. package/esm2022/tree/index.mjs +0 -3
  358. package/esm2022/tree/lib/tree-node/tree-node.component.mjs +0 -65
  359. package/esm2022/tree/lib/tree.component.mjs +0 -148
  360. package/esm2022/tree/lib/tree.interface.mjs +0 -2
  361. package/esm2022/tree/lib/tree.service.mjs +0 -95
  362. package/esm2022/tree/yuuvis-client-framework-tree.mjs +0 -5
  363. package/esm2022/upload-progress/index.mjs +0 -2
  364. package/esm2022/upload-progress/lib/upload-progress/upload-progress-overlay/upload-progress-overlay.component.mjs +0 -49
  365. package/esm2022/upload-progress/lib/upload-progress/upload-progress.component.mjs +0 -37
  366. package/esm2022/upload-progress/yuuvis-client-framework-upload-progress.mjs +0 -5
  367. package/esm2022/user-avatar/index.mjs +0 -3
  368. package/esm2022/user-avatar/lib/user-avatar.component.mjs +0 -69
  369. package/esm2022/user-avatar/lib/user-avatar.module.mjs +0 -24
  370. package/esm2022/user-avatar/yuuvis-client-framework-user-avatar.mjs +0 -5
  371. package/esm2022/yuuvis-client-framework.mjs +0 -5
  372. package/fesm2022/yuuvis-client-framework-token-search.mjs +0 -85
  373. package/fesm2022/yuuvis-client-framework-token-search.mjs.map +0 -1
  374. package/fesm2022/yuuvis-client-framework-user-avatar.mjs +0 -96
  375. package/fesm2022/yuuvis-client-framework-user-avatar.mjs.map +0 -1
  376. package/forms/lib/form-input/form-input.component.d.ts +0 -48
  377. package/object-form/lib/object-form-translate.service.d.ts +0 -15
  378. package/object-form/lib/object-form.model.d.ts +0 -18
  379. package/sequence-list/lib/due-date-picker/due-date-picker.component.d.ts +0 -28
  380. package/simple-search/lib/simple-search/simple-search.interface.d.ts +0 -4
  381. package/token-search/README.md +0 -3
  382. package/token-search/index.d.ts +0 -2
  383. package/token-search/token-search.component.d.ts +0 -22
  384. package/token-search/token-search.interface.d.ts +0 -4
  385. package/user-avatar/README.md +0 -3
  386. package/user-avatar/index.d.ts +0 -2
  387. package/user-avatar/lib/user-avatar.component.d.ts +0 -44
  388. package/user-avatar/lib/user-avatar.module.d.ts +0 -8
  389. /package/{metadata-form → metadata-form-defaults}/lib/metadata-default-templates/metadata-default-templates.component.d.ts +0 -0
@@ -1,156 +0,0 @@
1
- import { NgClass } from '@angular/common';
2
- import { Component, computed, inject, input, output } from '@angular/core';
3
- import { ObjectConfigService, SystemService, TranslateModule } from '@yuuvis/client-core';
4
- import { ObjectTypeIconComponent } from '@yuuvis/client-framework/icons';
5
- import { ListComponent, ListItemDirective } from '@yuuvis/client-framework/list';
6
- import { ICONS, YvcIconModule } from '@yuuvis/components/icon';
7
- import { YvcSplitViewModule } from '@yuuvis/components/split-view';
8
- import { ActionSelectComponent } from './action-select/action-select.component';
9
- import { IconSelectComponent } from './icon-select/icon-select.component';
10
- import { PropertySelectComponent } from './property-select/property-select.component';
11
- import { TileConfigTileComponent } from './tile-config-tile/tile-config-tile.component';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "@yuuvis/components/split-view";
14
- import * as i2 from "@yuuvis/components/icon";
15
- import * as i3 from "@yuuvis/client-core";
16
- export class TileConfigComponent {
17
- constructor() {
18
- this.#objectConfigService = inject(ObjectConfigService);
19
- this.#system = inject(SystemService);
20
- /**
21
- * Tile configurations are stored globally for all apps. If you want a
22
- * separate config for your app/component you can specify a bucket. A bucket
23
- * is basically an ID where your custom tile config will be stored and
24
- * retrieved. Buckets should be unique so be sure to use a unique namespace.
25
- */
26
- this.bucket = input(undefined);
27
- this.bucketLabel = input(undefined);
28
- this.configTypes = input(undefined);
29
- this.configFlavors = input([]);
30
- this.types = computed(() => {
31
- const ct = this.configTypes() || [];
32
- const cf = [];
33
- // TODO: enable when flavors are supported in tile config
34
- // const cf = this.configFlavors() || [];
35
- return [...ct.map((t) => ({ id: t.id, icon: t.icon, data: t })), ...cf.map((f) => ({ id: f.id, icon: f.icon, flavor: true, data: f }))];
36
- });
37
- this.save = output();
38
- this.cancel = output();
39
- this.selectedTypeProperties = [];
40
- this._emptyObjectConfig = {
41
- objectTypeId: '',
42
- title: { propertyName: '', label: '' },
43
- description: { propertyName: '', label: '' },
44
- meta: { propertyName: '', label: '' },
45
- aside: { propertyName: '', label: '' },
46
- actions: [],
47
- badges: []
48
- };
49
- this.flavors = [];
50
- this.icons = {
51
- clear: ICONS.clear
52
- };
53
- }
54
- #objectConfigService;
55
- #system;
56
- // getObjectFlavorEffect = effect(() => {
57
- // this.flavors = this.configFlavors();
58
- // });
59
- getConfigValue(p) {
60
- return this.objectConfig ? this.objectConfig[p] : undefined;
61
- }
62
- getConfigProperty(p) {
63
- return this.getConfigValue(p);
64
- }
65
- getSelectedActions() {
66
- return this.objectConfig?.actions ? this.objectConfig.actions.map((a) => a.id) : [];
67
- }
68
- slotSelect(item) {
69
- this.selectedSlot = item;
70
- }
71
- itemSelected(idx) {
72
- const t = this.types()[idx[0]];
73
- if (!t)
74
- return;
75
- if (t.flavor)
76
- this.#selectFlavor(t.data);
77
- else
78
- this.#selectType(t.data);
79
- }
80
- #selectFlavor(flavor) {
81
- const t = this.#system.getObjectType(flavor.sot);
82
- if (t)
83
- this.#selectType({
84
- id: flavor.id,
85
- objectType: flavor.objectTypeID,
86
- sots: [flavor.sot]
87
- });
88
- }
89
- async #selectType(t) {
90
- this.selectedType = t;
91
- // load tile config
92
- this.objectConfig = await this.#objectConfigService.getObjectConfig(t, this.bucket() || '');
93
- if (!this.objectConfig) {
94
- this.objectConfig = {
95
- ...this._emptyObjectConfig,
96
- objectTypeId: t.id
97
- };
98
- }
99
- }
100
- iconSelected(icon) {
101
- if (this.objectConfig)
102
- this.objectConfig.icon = icon ? { svg: icon } : undefined;
103
- }
104
- propertySelected(tileSlot, field) {
105
- const p = {};
106
- p[tileSlot] = field
107
- ? {
108
- label: field.label,
109
- propertyName: field.id
110
- }
111
- : undefined;
112
- this.objectConfig = structuredClone({
113
- ...this.objectConfig,
114
- ...p
115
- });
116
- }
117
- actionSelected(action) {
118
- if (this.objectConfig) {
119
- if (!this.objectConfig?.actions)
120
- this.objectConfig.actions = [];
121
- const idx = this.objectConfig.actions.findIndex((a) => a.id === action.id);
122
- if (idx !== -1)
123
- this.objectConfig.actions.splice(idx, 1);
124
- else
125
- this.objectConfig.actions.push({ id: action.id });
126
- this.objectConfig = structuredClone(this.objectConfig);
127
- }
128
- }
129
- saveConfig() {
130
- this._saveTileConfig();
131
- }
132
- _saveTileConfig() {
133
- if (this.selectedType && this.objectConfig) {
134
- this.#objectConfigService.saveObjectConfig(this.selectedType, this.objectConfig, this.bucket()).subscribe((_) => this.save.emit());
135
- }
136
- }
137
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TileConfigComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
138
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TileConfigComponent, isStandalone: true, selector: "yuv-tile-config", inputs: { bucket: { classPropertyName: "bucket", publicName: "bucket", isSignal: true, isRequired: false, transformFunction: null }, bucketLabel: { classPropertyName: "bucketLabel", publicName: "bucketLabel", isSignal: true, isRequired: false, transformFunction: null }, configTypes: { classPropertyName: "configTypes", publicName: "configTypes", isSignal: true, isRequired: false, transformFunction: null }, configFlavors: { classPropertyName: "configFlavors", publicName: "configFlavors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { save: "save", cancel: "cancel" }, ngImport: i0, template: "<header>\n <h1>{{ 'yuv.tile-config.title' | translate }}</h1>\n <div class=\"bucket\">{{ bucketLabel() }}</div>\n @if (cancel) {\n <button class=\"icon\" (click)=\"cancel.emit()\">\n <yvc-icon [svg]=\"icons.clear\"></yvc-icon>\n </button>\n }\n</header>\n\n<yvc-split-view [gutterSize]=\"1\" [layoutSettingsID]=\"'yuv.framework.tile-config.layout'\">\n <!-- list of types -->\n <ng-template yvcSplitArea [size]=\"30\">\n <div class=\"types\">\n <yuv-list (itemSelect)=\"itemSelected($event)\">\n @for (t of types() || []; track t.id) {\n <div yuvListItem>\n @if (t.icon) {\n <yvc-icon [svg]=\"t.icon\"></yvc-icon>\n } @else {\n <yuv-object-type-icon [objectTypeId]=\"t.id\"></yuv-object-type-icon>\n }\n {{ t.id | translate }}\n </div>\n }\n </yuv-list>\n </div>\n </ng-template>\n\n <!-- selected type details-->\n <ng-template yvcSplitArea [size]=\"70\">\n <div class=\"details\">\n @if (selectedType) {\n <header>{{ selectedType.id | translate }}</header>\n <div class=\"dummy-preview\">\n <yuv-tile-config-tile [disableIconSlot]=\"true\" [disableBadgesSlot]=\"true\" [objectConfig]=\"objectConfig!\" (slotSelect)=\"slotSelect($event)\"></yuv-tile-config-tile>\n </div>\n <main>\n @if (selectedSlot === 'icon') {\n <h2>{{ 'yuv.tile-config.slot.icon.headline' | translate }}</h2>\n <yuv-icon-select [objectType]=\"selectedType\" (iconSelect)=\"iconSelected($event)\"></yuv-icon-select>\n } @else if (selectedSlot === 'badges') {\n <div class=\"placeholder empty\">\n <p>Future feature: Select badges (like: is favorite, ratings, ...)</p>\n </div>\n } @else if (!selectedSlot) {\n } @else if (selectedSlot === 'actions') {\n <h2>{{ 'yuv.tile-config.slot.action.headline' | translate }}</h2>\n <yuv-tile-action-select\n [objectType]=\"selectedType\"\n [selectedActionIds]=\"getSelectedActions()\"\n (actionSelect)=\"actionSelected($event)\"\n ></yuv-tile-action-select>\n } @else {\n <h2>{{ 'yuv.tile-config.slot.property.headline' | translate }}</h2>\n <yuv-tile-property-select\n [objectType]=\"selectedType\"\n [selectedProperty]=\"getConfigProperty(selectedSlot)\"\n (propertySelect)=\"propertySelected(selectedSlot, $event)\"\n ></yuv-tile-property-select>\n }\n </main>\n <footer>\n <button class=\"primary\" (click)=\"saveConfig()\">{{ 'yuv.tile-config.button.save' | translate }}</button>\n </footer>\n } @else {\n <div class=\"placeholder empty\">\n <h2>{{ 'yuv.tile-config.details.empty.title' | translate }}</h2>\n <p>{{ 'yuv.tile-config.details.empty.description' | translate }}</p>\n </div>\n }\n </div>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{display:flex;height:100%;flex-flow:column}:host header{flex:0 0 auto;display:grid;grid-template-rows:auto auto;grid-template-columns:1fr auto;grid-template-areas:\"title close\" \"bucket close\";padding:var(--app-pane-padding);border-block-end:1px solid var(--panel-divider-color)}:host header h1{grid-area:title;padding:0;margin:0 0 .5rem;font-size:var(--font-title);font-weight:400}:host header .bucket{grid-area:bucket}:host header button{grid-area:close;align-self:start;--icon-size: 18px}:host yvc-split-view{flex:1}:host .details{box-sizing:border-box}:host div.types{box-sizing:border-box;height:100%;overflow-y:auto;background-color:var(--panel-background-lightgrey)}:host div.types div[yuvListItem]{display:flex;gap:var(--app-pane-padding);align-items:center;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding);cursor:pointer}:host div.types div[yuvListItem]:not([aria-selected=true]):hover,:host div.types div[yuvListItem]:not([aria-selected=true])[aria-current=true]{background-color:var(--item-focus-background-color)}:host div.types div[yuvListItem][aria-selected=true]{background-color:var(--color-accent);color:var(--color-accent-tone)}:host div.types div[yuvListItem] yvc-icon,:host div.types div[yuvListItem] yuv-object-type-icon{flex:0 0 auto;color:currentColor;opacity:.54}:host .details{height:100%;display:flex;flex-flow:column;overflow:hidden;background-color:var(--panel-background-lightgrey)}:host .details header{flex:0 0 auto;border-bottom:1px solid var(--panel-divider-color);padding:var(--app-pane-padding);font-size:var(--font-title)}:host .details .dummy-preview{flex:0 0 auto;padding:var(--app-pane-padding);background-color:var(--panel-background-grey);border-bottom:1px solid var(--panel-divider-color)}:host .details .dummy-preview yuv-tile-config-tile{border:1px solid var(--panel-divider-color);background-color:var(--panel-background)}:host .details main{flex:1;overflow-y:auto;padding:var(--app-pane-padding)}:host .details main h2{margin:0;padding-block-end:var(--app-pane-padding);font-size:var(--font-subhead)}:host .details .placeholder.empty{height:100%;display:grid;place-content:center;color:var(--text-color-hint)}:host .details footer{flex:0 0 auto;padding:calc(var(--app-pane-padding) / 2);display:flex;justify-content:flex-end;gap:calc(var(--app-pane-padding) / 4)}\n"], dependencies: [{ kind: "ngmodule", type: YvcSplitViewModule }, { kind: "component", type: i1.SplitViewComponent, selector: "yvc-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "gutterDblClickDuration", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: i1.SplitAreaDirective, selector: "[yvcSplitArea]", inputs: ["size", "order", "minSize", "maxSize", "panelClass", "visible"] }, { kind: "component", type: ObjectTypeIconComponent, selector: "yuv-object-type-icon", inputs: ["objectTypeId"] }, { kind: "component", type: TileConfigTileComponent, selector: "yuv-tile-config-tile", inputs: ["disableIconSlot", "disableBadgesSlot", "objectConfig"], outputs: ["slotSelect"] }, { kind: "component", type: IconSelectComponent, selector: "yuv-icon-select", inputs: ["objectType"], outputs: ["iconSelect"] }, { kind: "component", type: PropertySelectComponent, selector: "yuv-tile-property-select", inputs: ["objectType", "selectedProperty"], outputs: ["propertySelect"] }, { kind: "component", type: ActionSelectComponent, selector: "yuv-tile-action-select", inputs: ["objectType", "selectedActionIds"], outputs: ["actionSelect"] }, { kind: "ngmodule", type: YvcIconModule }, { kind: "component", type: i2.Icon, selector: "yvc-icon", inputs: ["label", "svg", "svgSrc"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: ListComponent, selector: "yuv-list", inputs: ["multiselect", "selfHandleSelection", "disableSelection"], outputs: ["itemSelect", "itemFocus"] }, { kind: "directive", type: ListItemDirective, selector: "[yuvListItem]", inputs: ["disabled", "active", "selected"] }] }); }
139
- }
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TileConfigComponent, decorators: [{
141
- type: Component,
142
- args: [{ selector: 'yuv-tile-config', standalone: true, imports: [
143
- NgClass,
144
- YvcSplitViewModule,
145
- ObjectTypeIconComponent,
146
- TileConfigTileComponent,
147
- IconSelectComponent,
148
- PropertySelectComponent,
149
- ActionSelectComponent,
150
- YvcIconModule,
151
- TranslateModule,
152
- ListComponent,
153
- ListItemDirective
154
- ], template: "<header>\n <h1>{{ 'yuv.tile-config.title' | translate }}</h1>\n <div class=\"bucket\">{{ bucketLabel() }}</div>\n @if (cancel) {\n <button class=\"icon\" (click)=\"cancel.emit()\">\n <yvc-icon [svg]=\"icons.clear\"></yvc-icon>\n </button>\n }\n</header>\n\n<yvc-split-view [gutterSize]=\"1\" [layoutSettingsID]=\"'yuv.framework.tile-config.layout'\">\n <!-- list of types -->\n <ng-template yvcSplitArea [size]=\"30\">\n <div class=\"types\">\n <yuv-list (itemSelect)=\"itemSelected($event)\">\n @for (t of types() || []; track t.id) {\n <div yuvListItem>\n @if (t.icon) {\n <yvc-icon [svg]=\"t.icon\"></yvc-icon>\n } @else {\n <yuv-object-type-icon [objectTypeId]=\"t.id\"></yuv-object-type-icon>\n }\n {{ t.id | translate }}\n </div>\n }\n </yuv-list>\n </div>\n </ng-template>\n\n <!-- selected type details-->\n <ng-template yvcSplitArea [size]=\"70\">\n <div class=\"details\">\n @if (selectedType) {\n <header>{{ selectedType.id | translate }}</header>\n <div class=\"dummy-preview\">\n <yuv-tile-config-tile [disableIconSlot]=\"true\" [disableBadgesSlot]=\"true\" [objectConfig]=\"objectConfig!\" (slotSelect)=\"slotSelect($event)\"></yuv-tile-config-tile>\n </div>\n <main>\n @if (selectedSlot === 'icon') {\n <h2>{{ 'yuv.tile-config.slot.icon.headline' | translate }}</h2>\n <yuv-icon-select [objectType]=\"selectedType\" (iconSelect)=\"iconSelected($event)\"></yuv-icon-select>\n } @else if (selectedSlot === 'badges') {\n <div class=\"placeholder empty\">\n <p>Future feature: Select badges (like: is favorite, ratings, ...)</p>\n </div>\n } @else if (!selectedSlot) {\n } @else if (selectedSlot === 'actions') {\n <h2>{{ 'yuv.tile-config.slot.action.headline' | translate }}</h2>\n <yuv-tile-action-select\n [objectType]=\"selectedType\"\n [selectedActionIds]=\"getSelectedActions()\"\n (actionSelect)=\"actionSelected($event)\"\n ></yuv-tile-action-select>\n } @else {\n <h2>{{ 'yuv.tile-config.slot.property.headline' | translate }}</h2>\n <yuv-tile-property-select\n [objectType]=\"selectedType\"\n [selectedProperty]=\"getConfigProperty(selectedSlot)\"\n (propertySelect)=\"propertySelected(selectedSlot, $event)\"\n ></yuv-tile-property-select>\n }\n </main>\n <footer>\n <button class=\"primary\" (click)=\"saveConfig()\">{{ 'yuv.tile-config.button.save' | translate }}</button>\n </footer>\n } @else {\n <div class=\"placeholder empty\">\n <h2>{{ 'yuv.tile-config.details.empty.title' | translate }}</h2>\n <p>{{ 'yuv.tile-config.details.empty.description' | translate }}</p>\n </div>\n }\n </div>\n </ng-template>\n</yvc-split-view>\n", styles: [":host{display:flex;height:100%;flex-flow:column}:host header{flex:0 0 auto;display:grid;grid-template-rows:auto auto;grid-template-columns:1fr auto;grid-template-areas:\"title close\" \"bucket close\";padding:var(--app-pane-padding);border-block-end:1px solid var(--panel-divider-color)}:host header h1{grid-area:title;padding:0;margin:0 0 .5rem;font-size:var(--font-title);font-weight:400}:host header .bucket{grid-area:bucket}:host header button{grid-area:close;align-self:start;--icon-size: 18px}:host yvc-split-view{flex:1}:host .details{box-sizing:border-box}:host div.types{box-sizing:border-box;height:100%;overflow-y:auto;background-color:var(--panel-background-lightgrey)}:host div.types div[yuvListItem]{display:flex;gap:var(--app-pane-padding);align-items:center;padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding);cursor:pointer}:host div.types div[yuvListItem]:not([aria-selected=true]):hover,:host div.types div[yuvListItem]:not([aria-selected=true])[aria-current=true]{background-color:var(--item-focus-background-color)}:host div.types div[yuvListItem][aria-selected=true]{background-color:var(--color-accent);color:var(--color-accent-tone)}:host div.types div[yuvListItem] yvc-icon,:host div.types div[yuvListItem] yuv-object-type-icon{flex:0 0 auto;color:currentColor;opacity:.54}:host .details{height:100%;display:flex;flex-flow:column;overflow:hidden;background-color:var(--panel-background-lightgrey)}:host .details header{flex:0 0 auto;border-bottom:1px solid var(--panel-divider-color);padding:var(--app-pane-padding);font-size:var(--font-title)}:host .details .dummy-preview{flex:0 0 auto;padding:var(--app-pane-padding);background-color:var(--panel-background-grey);border-bottom:1px solid var(--panel-divider-color)}:host .details .dummy-preview yuv-tile-config-tile{border:1px solid var(--panel-divider-color);background-color:var(--panel-background)}:host .details main{flex:1;overflow-y:auto;padding:var(--app-pane-padding)}:host .details main h2{margin:0;padding-block-end:var(--app-pane-padding);font-size:var(--font-subhead)}:host .details .placeholder.empty{height:100%;display:grid;place-content:center;color:var(--text-color-hint)}:host .details footer{flex:0 0 auto;padding:calc(var(--app-pane-padding) / 2);display:flex;justify-content:flex-end;gap:calc(var(--app-pane-padding) / 4)}\n"] }]
155
- }] });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay90aWxlLWxpc3Qvc3JjL2xpYi90aWxlLWNvbmZpZy90aWxlLWNvbmZpZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL3RpbGUtbGlzdC9zcmMvbGliL3RpbGUtY29uZmlnL3RpbGUtY29uZmlnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBT0wsbUJBQW1CLEVBRW5CLGFBQWEsRUFDYixlQUFlLEVBRWhCLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWpGLE9BQU8sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7O0FBcUJ4RixN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WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQsIG91dHB1dCwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBHZW5lcmljT2JqZWN0VHlwZSxcbiAgT2JqZWN0Q29uZmlnLFxuICBPYmplY3RDb25maWdBY3Rpb24sXG4gIE9iamVjdENvbmZpZ0JhZGdlLFxuICBPYmplY3RDb25maWdJY29uLFxuICBPYmplY3RDb25maWdQcm9wZXJ0eSxcbiAgT2JqZWN0Q29uZmlnU2VydmljZSxcbiAgT2JqZWN0VHlwZUZpZWxkLFxuICBTeXN0ZW1TZXJ2aWNlLFxuICBUcmFuc2xhdGVNb2R1bGUsXG4gIFZpcnR1YWxPYmplY3RUeXBlXG59IGZyb20gJ0B5dXV2aXMvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2FjdGlvbnMnO1xuaW1wb3J0IHsgT2JqZWN0VHlwZUljb25Db21wb25lbnQgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvaWNvbnMnO1xuaW1wb3J0IHsgTGlzdENvbXBvbmVudCwgTGlzdEl0ZW1EaXJlY3RpdmUgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvbGlzdCc7XG5pbXBvcnQgeyBPYmplY3RGbGF2b3IgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1zaGVsbC1jb3JlJztcbmltcG9ydCB7IElDT05TLCBZdmNJY29uTW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgWXZjU3BsaXRWaWV3TW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL3NwbGl0LXZpZXcnO1xuaW1wb3J0IHsgQWN0aW9uU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9hY3Rpb24tc2VsZWN0L2FjdGlvbi1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEljb25TZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2ljb24tc2VsZWN0L2ljb24tc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9wZXJ0eVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vcHJvcGVydHktc2VsZWN0L3Byb3BlcnR5LXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGlsZUNvbmZpZ1RpbGVDb21wb25lbnQgfSBmcm9tICcuL3RpbGUtY29uZmlnLXRpbGUvdGlsZS1jb25maWctdGlsZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd5dXYtdGlsZS1jb25maWcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdDbGFzcyxcbiAgICBZdmNTcGxpdFZpZXdNb2R1bGUsXG4gICAgT2JqZWN0VHlwZUljb25Db21wb25lbnQsXG4gICAgVGlsZUNvbmZpZ1RpbGVDb21wb25lbnQsXG4gICAgSWNvblNlbGVjdENvbXBvbmVudCxcbiAgICBQcm9wZXJ0eVNlbGVjdENvbXBvbmVudCxcbiAgICBBY3Rpb25TZWxlY3RDb21wb25lbnQsXG4gICAgWXZjSWNvbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgTGlzdENvbXBvbmVudCxcbiAgICBMaXN0SXRlbURpcmVjdGl2ZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vdGlsZS1jb25maWcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90aWxlLWNvbmZpZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRpbGVDb25maWdDb21wb25lbnQge1xuICAjb2JqZWN0Q29uZmlnU2VydmljZSA9IGluamVjdChPYmplY3RDb25maWdTZXJ2aWNlKTtcbiAgI3N5c3RlbSA9IGluamVjdChTeXN0ZW1TZXJ2aWNlKTtcblxuICAvKipcbiAgICogVGlsZSBjb25maWd1cmF0aW9ucyBhcmUgc3RvcmVkIGdsb2JhbGx5IGZvciBhbGwgYXBwcy4gSWYgeW91IHdhbnQgYVxuICAgKiBzZXBhcmF0ZSBjb25maWcgZm9yIHlvdXIgYXBwL2NvbXBvbmVudCB5b3UgY2FuIHNwZWNpZnkgYSBidWNrZXQuIEEgYnVja2V0XG4gICAqIGlzIGJhc2ljYWxseSBhbiBJRCB3aGVyZSB5b3VyIGN1c3RvbSB0aWxlIGNvbmZpZyB3aWxsIGJlIHN0b3JlZCBhbmRcbiAgICogcmV0cmlldmVkLiBCdWNrZXRzIHNob3VsZCBiZSB1bmlxdWUgc28gYmUgc3VyZSB0byB1c2UgYSB1bmlxdWUgbmFtZXNwYWNlLlxuICAgKi9cbiAgYnVja2V0ID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBidWNrZXRMYWJlbCA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICBjb25maWdUeXBlcyA9IGlucHV0PFZpcnR1YWxPYmplY3RUeXBlW10gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGNvbmZpZ0ZsYXZvcnMgPSBpbnB1dDxPYmplY3RGbGF2b3JbXT4oW10pO1xuXG4gIHR5cGVzOiBTaWduYWw8eyBpZDogc3RyaW5nOyBpY29uPzogc3RyaW5nOyBmbGF2b3I/OiBib29sZWFuOyBkYXRhOiBPYmplY3RGbGF2b3IgfCBWaXJ0dWFsT2JqZWN0VHlwZSB9W10+ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGN0ID0gdGhpcy5jb25maWdUeXBlcygpIHx8IFtdO1xuICAgIGNvbnN0IGNmOiBWaXJ0dWFsT2JqZWN0VHlwZVtdID0gW107XG4gICAgLy8gVE9ETzogZW5hYmxlIHdoZW4gZmxhdm9ycyBhcmUgc3VwcG9ydGVkIGluIHRpbGUgY29uZmlnXG4gICAgLy8gY29uc3QgY2YgPSB0aGlzLmNvbmZpZ0ZsYXZvcnMoKSB8fCBbXTtcbiAgICByZXR1cm4gWy4uLmN0Lm1hcCgodCkgPT4gKHsgaWQ6IHQuaWQsIGljb246IHQuaWNvbiwgZGF0YTogdCB9KSksIC4uLmNmLm1hcCgoZikgPT4gKHsgaWQ6IGYuaWQsIGljb246IGYuaWNvbiwgZmxhdm9yOiB0cnVlLCBkYXRhOiBmIH0pKV07XG4gIH0pO1xuXG4gIHNhdmUgPSBvdXRwdXQoKTtcbiAgY2FuY2VsID0gb3V0cHV0KCk7XG5cbiAgc2VsZWN0ZWRUeXBlPzogVmlydHVhbE9iamVjdFR5cGU7XG4gIHNlbGVjdGVkVHlwZVByb3BlcnRpZXM6IE9iamVjdFR5cGVGaWVsZFtdID0gW107XG5cbiAgcHJpdmF0ZSBfZW1wdHlPYmplY3RDb25maWc6IE9iamVjdENvbmZpZyA9IHtcbiAgICBvYmplY3RUeXBlSWQ6ICcnLFxuICAgIHRpdGxlOiB7IHByb3BlcnR5TmFtZTogJycsIGxhYmVsOiAnJyB9LFxuICAgIGRlc2NyaXB0aW9uOiB7IHByb3BlcnR5TmFtZTogJycsIGxhYmVsOiAnJyB9LFxuICAgIG1ldGE6IHsgcHJvcGVydHlOYW1lOiAnJywgbGFiZWw6ICcnIH0sXG4gICAgYXNpZGU6IHsgcHJvcGVydHlOYW1lOiAnJywgbGFiZWw6ICcnIH0sXG4gICAgYWN0aW9uczogW10sXG4gICAgYmFkZ2VzOiBbXVxuICB9O1xuXG4gIG9iamVjdENvbmZpZz86IE9iamVjdENvbmZpZztcbiAgc2VsZWN0ZWRTbG90Pzogc3RyaW5nO1xuICBmbGF2b3JzOiBPYmplY3RGbGF2b3JbXSA9IFtdO1xuXG4gIGljb25zID0ge1xuICAgIGNsZWFyOiBJQ09OUy5jbGVhclxuICB9O1xuXG4gIC8vIGdldE9iamVjdEZsYXZvckVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gIC8vICAgdGhpcy5mbGF2b3JzID0gdGhpcy5jb25maWdGbGF2b3JzKCk7XG4gIC8vIH0pO1xuXG4gIGdldENvbmZpZ1ZhbHVlKHA6IHN0cmluZyk6IE9iamVjdENvbmZpZ0ljb24gfCBPYmplY3RDb25maWdQcm9wZXJ0eSB8IE9iamVjdENvbmZpZ0FjdGlvbiB8IE9iamVjdENvbmZpZ0JhZGdlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5vYmplY3RDb25maWcgPyAodGhpcy5vYmplY3RDb25maWcgYXMgYW55KVtwXSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldENvbmZpZ1Byb3BlcnR5KHA6IHN0cmluZyk6IE9iamVjdENvbmZpZ1Byb3BlcnR5IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDb25maWdWYWx1ZShwKSBhcyBPYmplY3RDb25maWdQcm9wZXJ0eTtcbiAgfVxuXG4gIGdldFNlbGVjdGVkQWN0aW9ucygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMub2JqZWN0Q29uZmlnPy5hY3Rpb25zID8gdGhpcy5vYmplY3RDb25maWcuYWN0aW9ucy5tYXAoKGEpID0+IGEuaWQpIDogW107XG4gIH1cblxuICBzbG90U2VsZWN0KGl0ZW06IHN0cmluZykge1xuICAgIHRoaXMuc2VsZWN0ZWRTbG90ID0gaXRlbTtcbiAgfVxuXG4gIGl0ZW1TZWxlY3RlZChpZHg6IG51bWJlcltdKSB7XG4gICAgY29uc3QgdCA9IHRoaXMudHlwZXMoKVtpZHhbMF1dO1xuICAgIGlmICghdCkgcmV0dXJuO1xuICAgIGlmICh0LmZsYXZvcikgdGhpcy4jc2VsZWN0Rmxhdm9yKHQuZGF0YSBhcyBPYmplY3RGbGF2b3IpO1xuICAgIGVsc2UgdGhpcy4jc2VsZWN0VHlwZSh0LmRhdGEgYXMgVmlydHVhbE9iamVjdFR5cGUpO1xuICB9XG5cbiAgI3NlbGVjdEZsYXZvcihmbGF2b3I6IE9iamVjdEZsYXZvcikge1xuICAgIGNvbnN0IHQ6IEdlbmVyaWNPYmplY3RUeXBlIHwgdW5kZWZpbmVkID0gdGhpcy4jc3lzdGVtLmdldE9iamVjdFR5cGUoZmxhdm9yLnNvdCk7XG4gICAgaWYgKHQpXG4gICAgICB0aGlzLiNzZWxlY3RUeXBlKHtcbiAgICAgICAgaWQ6IGZsYXZvci5pZCxcbiAgICAgICAgb2JqZWN0VHlwZTogZmxhdm9yLm9iamVjdFR5cGVJRCxcbiAgICAgICAgc290czogW2ZsYXZvci5zb3RdXG4gICAgICB9KTtcbiAgfVxuXG4gIGFzeW5jICNzZWxlY3RUeXBlKHQ6IFZpcnR1YWxPYmplY3RUeXBlKSB7XG4gICAgdGhpcy5zZWxlY3RlZFR5cGUgPSB0O1xuXG4gICAgLy8gbG9hZCB0aWxlIGNvbmZpZ1xuICAgIHRoaXMub2JqZWN0Q29uZmlnID0gYXdhaXQgdGhpcy4jb2JqZWN0Q29uZmlnU2VydmljZS5nZXRPYmplY3RDb25maWcodCwgdGhpcy5idWNrZXQoKSB8fCAnJyk7XG5cbiAgICBpZiAoIXRoaXMub2JqZWN0Q29uZmlnKSB7XG4gICAgICB0aGlzLm9iamVjdENvbmZpZyA9IHtcbiAgICAgICAgLi4udGhpcy5fZW1wdHlPYmplY3RDb25maWcsXG4gICAgICAgIG9iamVjdFR5cGVJZDogdC5pZFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBpY29uU2VsZWN0ZWQoaWNvbjogc3RyaW5nIHwgbnVsbCkge1xuICAgIGlmICh0aGlzLm9iamVjdENvbmZpZykgdGhpcy5vYmplY3RDb25maWcuaWNvbiA9IGljb24gPyB7IHN2ZzogaWNvbiB9IDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJvcGVydHlTZWxlY3RlZCh0aWxlU2xvdDogc3RyaW5nLCBmaWVsZD86IFBhcnRpYWw8T2JqZWN0VHlwZUZpZWxkPikge1xuICAgIGNvbnN0IHA6IGFueSA9IHt9O1xuICAgIHBbdGlsZVNsb3RdID0gZmllbGRcbiAgICAgID8ge1xuICAgICAgICAgIGxhYmVsOiBmaWVsZC5sYWJlbCxcbiAgICAgICAgICBwcm9wZXJ0eU5hbWU6IGZpZWxkLmlkXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgdGhpcy5vYmplY3RDb25maWcgPSBzdHJ1Y3R1cmVkQ2xvbmUoe1xuICAgICAgLi4udGhpcy5vYmplY3RDb25maWcsXG4gICAgICAuLi5wXG4gICAgfSk7XG4gIH1cblxuICBhY3Rpb25TZWxlY3RlZChhY3Rpb246IEFjdGlvbikge1xuICAgIGlmICh0aGlzLm9iamVjdENvbmZpZykge1xuICAgICAgaWYgKCF0aGlzLm9iamVjdENvbmZpZz8uYWN0aW9ucykgdGhpcy5vYmplY3RDb25maWcuYWN0aW9ucyA9IFtdO1xuXG4gICAgICBjb25zdCBpZHggPSB0aGlzLm9iamVjdENvbmZpZy5hY3Rpb25zLmZpbmRJbmRleCgoYSkgPT4gYS5pZCA9PT0gYWN0aW9uLmlkKTtcbiAgICAgIGlmIChpZHggIT09IC0xKSB0aGlzLm9iamVjdENvbmZpZy5hY3Rpb25zLnNwbGljZShpZHgsIDEpO1xuICAgICAgZWxzZSB0aGlzLm9iamVjdENvbmZpZy5hY3Rpb25zLnB1c2goeyBpZDogYWN0aW9uLmlkIH0pO1xuICAgICAgdGhpcy5vYmplY3RDb25maWcgPSBzdHJ1Y3R1cmVkQ2xvbmUodGhpcy5vYmplY3RDb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIHNhdmVDb25maWcoKSB7XG4gICAgdGhpcy5fc2F2ZVRpbGVDb25maWcoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NhdmVUaWxlQ29uZmlnKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkVHlwZSAmJiB0aGlzLm9iamVjdENvbmZpZykge1xuICAgICAgdGhpcy4jb2JqZWN0Q29uZmlnU2VydmljZS5zYXZlT2JqZWN0Q29uZmlnKHRoaXMuc2VsZWN0ZWRUeXBlLCB0aGlzLm9iamVjdENvbmZpZywgdGhpcy5idWNrZXQoKSkuc3Vic2NyaWJlKChfKSA9PiB0aGlzLnNhdmUuZW1pdCgpKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxoZWFkZXI+XG4gIDxoMT57eyAneXV2LnRpbGUtY29uZmlnLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvaDE+XG4gIDxkaXYgY2xhc3M9XCJidWNrZXRcIj57eyBidWNrZXRMYWJlbCgpIH19PC9kaXY+XG4gIEBpZiAoY2FuY2VsKSB7XG4gICAgPGJ1dHRvbiBjbGFzcz1cImljb25cIiAoY2xpY2spPVwiY2FuY2VsLmVtaXQoKVwiPlxuICAgICAgPHl2Yy1pY29uIFtzdmddPVwiaWNvbnMuY2xlYXJcIj48L3l2Yy1pY29uPlxuICAgIDwvYnV0dG9uPlxuICB9XG48L2hlYWRlcj5cblxuPHl2Yy1zcGxpdC12aWV3IFtndXR0ZXJTaXplXT1cIjFcIiBbbGF5b3V0U2V0dGluZ3NJRF09XCIneXV2LmZyYW1ld29yay50aWxlLWNvbmZpZy5sYXlvdXQnXCI+XG4gIDwhLS0gbGlzdCBvZiB0eXBlcyAtLT5cbiAgPG5nLXRlbXBsYXRlIHl2Y1NwbGl0QXJlYSBbc2l6ZV09XCIzMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0eXBlc1wiPlxuICAgICAgPHl1di1saXN0IChpdGVtU2VsZWN0KT1cIml0ZW1TZWxlY3RlZCgkZXZlbnQpXCI+XG4gICAgICAgIEBmb3IgKHQgb2YgdHlwZXMoKSB8fCBbXTsgdHJhY2sgdC5pZCkge1xuICAgICAgICAgIDxkaXYgeXV2TGlzdEl0ZW0+XG4gICAgICAgICAgICBAaWYgKHQuaWNvbikge1xuICAgICAgICAgICAgICA8eXZjLWljb24gW3N2Z109XCJ0Lmljb25cIj48L3l2Yy1pY29uPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgIDx5dXYtb2JqZWN0LXR5cGUtaWNvbiBbb2JqZWN0VHlwZUlkXT1cInQuaWRcIj48L3l1di1vYmplY3QtdHlwZS1pY29uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAge3sgdC5pZCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L3l1di1saXN0PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDwhLS0gc2VsZWN0ZWQgdHlwZSBkZXRhaWxzLS0+XG4gIDxuZy10ZW1wbGF0ZSB5dmNTcGxpdEFyZWEgW3NpemVdPVwiNzBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc1wiPlxuICAgICAgQGlmIChzZWxlY3RlZFR5cGUpIHtcbiAgICAgICAgPGhlYWRlcj57eyBzZWxlY3RlZFR5cGUuaWQgfCB0cmFuc2xhdGUgfX08L2hlYWRlcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImR1bW15LXByZXZpZXdcIj5cbiAgICAgICAgICA8eXV2LXRpbGUtY29uZmlnLXRpbGUgW2Rpc2FibGVJY29uU2xvdF09XCJ0cnVlXCIgW2Rpc2FibGVCYWRnZXNTbG90XT1cInRydWVcIiBbb2JqZWN0Q29uZmlnXT1cIm9iamVjdENvbmZpZyFcIiAoc2xvdFNlbGVjdCk9XCJzbG90U2VsZWN0KCRldmVudClcIj48L3l1di10aWxlLWNvbmZpZy10aWxlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1haW4+XG4gICAgICAgICAgQGlmIChzZWxlY3RlZFNsb3QgPT09ICdpY29uJykge1xuICAgICAgICAgICAgPGgyPnt7ICd5dXYudGlsZS1jb25maWcuc2xvdC5pY29uLmhlYWRsaW5lJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XG4gICAgICAgICAgICA8eXV2LWljb24tc2VsZWN0IFtvYmplY3RUeXBlXT1cInNlbGVjdGVkVHlwZVwiIChpY29uU2VsZWN0KT1cImljb25TZWxlY3RlZCgkZXZlbnQpXCI+PC95dXYtaWNvbi1zZWxlY3Q+XG4gICAgICAgICAgfSBAZWxzZSBpZiAoc2VsZWN0ZWRTbG90ID09PSAnYmFkZ2VzJykge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYWNlaG9sZGVyIGVtcHR5XCI+XG4gICAgICAgICAgICAgIDxwPkZ1dHVyZSBmZWF0dXJlOiBTZWxlY3QgYmFkZ2VzIChsaWtlOiBpcyBmYXZvcml0ZSwgcmF0aW5ncywgLi4uKTwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH0gQGVsc2UgaWYgKCFzZWxlY3RlZFNsb3QpIHtcbiAgICAgICAgICB9IEBlbHNlIGlmIChzZWxlY3RlZFNsb3QgPT09ICdhY3Rpb25zJykge1xuICAgICAgICAgICAgPGgyPnt7ICd5dXYudGlsZS1jb25maWcuc2xvdC5hY3Rpb24uaGVhZGxpbmUnIHwgdHJhbnNsYXRlIH19PC9oMj5cbiAgICAgICAgICAgIDx5dXYtdGlsZS1hY3Rpb24tc2VsZWN0XG4gICAgICAgICAgICAgIFtvYmplY3RUeXBlXT1cInNlbGVjdGVkVHlwZVwiXG4gICAgICAgICAgICAgIFtzZWxlY3RlZEFjdGlvbklkc109XCJnZXRTZWxlY3RlZEFjdGlvbnMoKVwiXG4gICAgICAgICAgICAgIChhY3Rpb25TZWxlY3QpPVwiYWN0aW9uU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC95dXYtdGlsZS1hY3Rpb24tc2VsZWN0PlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGgyPnt7ICd5dXYudGlsZS1jb25maWcuc2xvdC5wcm9wZXJ0eS5oZWFkbGluZScgfCB0cmFuc2xhdGUgfX08L2gyPlxuICAgICAgICAgICAgPHl1di10aWxlLXByb3BlcnR5LXNlbGVjdFxuICAgICAgICAgICAgICBbb2JqZWN0VHlwZV09XCJzZWxlY3RlZFR5cGVcIlxuICAgICAgICAgICAgICBbc2VsZWN0ZWRQcm9wZXJ0eV09XCJnZXRDb25maWdQcm9wZXJ0eShzZWxlY3RlZFNsb3QpXCJcbiAgICAgICAgICAgICAgKHByb3BlcnR5U2VsZWN0KT1cInByb3BlcnR5U2VsZWN0ZWQoc2VsZWN0ZWRTbG90LCAkZXZlbnQpXCJcbiAgICAgICAgICAgID48L3l1di10aWxlLXByb3BlcnR5LXNlbGVjdD5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbWFpbj5cbiAgICAgICAgPGZvb3Rlcj5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicHJpbWFyeVwiIChjbGljayk9XCJzYXZlQ29uZmlnKClcIj57eyAneXV2LnRpbGUtY29uZmlnLmJ1dHRvbi5zYXZlJyB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuICAgICAgICA8L2Zvb3Rlcj5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8ZGl2IGNsYXNzPVwicGxhY2Vob2xkZXIgZW1wdHlcIj5cbiAgICAgICAgICA8aDI+e3sgJ3l1di50aWxlLWNvbmZpZy5kZXRhaWxzLmVtcHR5LnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XG4gICAgICAgICAgPHA+e3sgJ3l1di50aWxlLWNvbmZpZy5kZXRhaWxzLmVtcHR5LmRlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L3l2Yy1zcGxpdC12aWV3PlxuIl19
@@ -1,37 +0,0 @@
1
- import { Directive, ViewContainerRef, effect, inject, input } from '@angular/core';
2
- import { TileExtensionService } from '../tile-extension.service';
3
- import * as i0 from "@angular/core";
4
- export class TileExtensionDirective {
5
- constructor() {
6
- this.#tileExtensioService = inject(TileExtensionService);
7
- this.#containerRef = inject(ViewContainerRef);
8
- this.yuvTileExtension = input.required();
9
- this.#yuvTileExtensionEffect = effect(() => {
10
- const tile = this.yuvTileExtension();
11
- if (tile.typeId) {
12
- const ext = this.#tileExtensioService.getTileExtension(tile.typeId);
13
- if (ext)
14
- this._render(ext, tile.data);
15
- }
16
- });
17
- }
18
- #tileExtensioService;
19
- #containerRef;
20
- #yuvTileExtensionEffect;
21
- _render(ext, data) {
22
- if (this.component)
23
- this.#containerRef.clear();
24
- this.component = this.#containerRef.createComponent(ext.cmp);
25
- this.component.setInput('data', data);
26
- }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TileExtensionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
28
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: TileExtensionDirective, isStandalone: true, selector: "[yuvTileExtension]", inputs: { yuvTileExtension: { classPropertyName: "yuvTileExtension", publicName: "yuvTileExtension", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TileExtensionDirective, decorators: [{
31
- type: Directive,
32
- args: [{
33
- selector: '[yuvTileExtension]',
34
- standalone: true
35
- }]
36
- }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1leHRlbnNpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay90aWxlLWxpc3Qvc3JjL2xpYi90aWxlLWV4dGVuc2lvbi9kaXJlY3RpdmUvdGlsZS1leHRlbnNpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFTLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQU9qRSxNQUFNLE9BQU8sc0JBQXNCO0lBSm5DO1FBS1cseUJBQW9CLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDcEQsa0JBQWEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUlsRCxxQkFBZ0IsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUErQixDQUFDO1FBRWpFLDRCQUF1QixHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDcEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDckMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2hCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3BFLElBQUksR0FBRztvQkFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0tBT0o7SUFwQlUsb0JBQW9CLENBQWdDO0lBQ3BELGFBQWEsQ0FBNEI7SUFNbEQsdUJBQXVCLENBTXBCO0lBRUssT0FBTyxDQUFDLEdBQWtCLEVBQUUsSUFBVTtRQUM1QyxJQUFJLElBQUksQ0FBQyxTQUFTO1lBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQzsrR0FwQlUsc0JBQXNCO21HQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBEaXJlY3RpdmUsIElucHV0LCBWaWV3Q29udGFpbmVyUmVmLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGlsZUV4dGVuc2lvblNlcnZpY2UgfSBmcm9tICcuLi90aWxlLWV4dGVuc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFRpbGVFeHRlbnNpb24sIFRpbGVFeHRlbnNpb25Db21wb25lbnQsIFRpbGVFeHRlbnNpb25EaXJlY3RpdmVJbnB1dCB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LXNoZWxsLWNvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbeXV2VGlsZUV4dGVuc2lvbl0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRpbGVFeHRlbnNpb25EaXJlY3RpdmUge1xuICByZWFkb25seSAjdGlsZUV4dGVuc2lvU2VydmljZSA9IGluamVjdChUaWxlRXh0ZW5zaW9uU2VydmljZSk7XG4gIHJlYWRvbmx5ICNjb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG5cbiAgY29tcG9uZW50ITogQ29tcG9uZW50UmVmPFRpbGVFeHRlbnNpb25Db21wb25lbnQ+O1xuXG4gIHl1dlRpbGVFeHRlbnNpb24gPSBpbnB1dC5yZXF1aXJlZDxUaWxlRXh0ZW5zaW9uRGlyZWN0aXZlSW5wdXQ+KCk7XG5cbiAgI3l1dlRpbGVFeHRlbnNpb25FZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHRpbGUgPSB0aGlzLnl1dlRpbGVFeHRlbnNpb24oKTtcbiAgICBpZiAodGlsZS50eXBlSWQpIHtcbiAgICAgIGNvbnN0IGV4dCA9IHRoaXMuI3RpbGVFeHRlbnNpb1NlcnZpY2UuZ2V0VGlsZUV4dGVuc2lvbih0aWxlLnR5cGVJZCk7XG4gICAgICBpZiAoZXh0KSB0aGlzLl9yZW5kZXIoZXh0LCB0aWxlLmRhdGEpO1xuICAgIH1cbiAgfSk7XG5cbiAgcHJpdmF0ZSBfcmVuZGVyKGV4dDogVGlsZUV4dGVuc2lvbiwgZGF0YT86IGFueSkge1xuICAgIGlmICh0aGlzLmNvbXBvbmVudCkgdGhpcy4jY29udGFpbmVyUmVmLmNsZWFyKCk7XG4gICAgdGhpcy5jb21wb25lbnQgPSB0aGlzLiNjb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KGV4dC5jbXApO1xuICAgIHRoaXMuY29tcG9uZW50LnNldElucHV0KCdkYXRhJywgZGF0YSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,42 +0,0 @@
1
- import { NgClass } from '@angular/common';
2
- import { Component, computed, input } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- export class EmailTileExtensionComponent {
5
- constructor() {
6
- this.data = input.required();
7
- this.attachments = computed(() => this.data()['appSystemmail:attachments'] || []);
8
- this.hasAttachements = computed(() => !!this.data()['appSystemmail:attachmentCount']);
9
- }
10
- onClick(a, evt) {
11
- evt.preventDefault();
12
- evt.stopPropagation();
13
- alert(`You clicked '${a}' my friend.`);
14
- }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailTileExtensionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: EmailTileExtensionComponent, isStandalone: true, selector: "yuv-email-tile-extension", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class.attachments": "hasAttachements()" } }, ngImport: i0, template: `
17
- @if (hasAttachements()) {
18
- <span>{{ attachments().length }}</span>
19
- <svg class="icon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="#5f6368" viewBox="0 -960 960 960">
20
- <path
21
- d="M720-330q0 104-73 177T470-80q-104 0-177-73t-73-177v-370q0-75 52.5-127.5T400-880q75 0 127.5 52.5T580-700v350q0 46-32 78t-78 32q-46 0-78-32t-32-78v-370h80v370q0 13 8.5 21.5T470-320q13 0 21.5-8.5T500-350v-350q-1-42-29.5-71T400-800q-42 0-71 29t-29 71v370q-1 71 49 120.5T470-160q70 0 119-49.5T640-330v-390h80v390Z"
22
- />
23
- </svg>
24
- }
25
- `, isInline: true, styles: [":host{display:flex;justify-content:end;margin-top:.5rem}:host .icon{height:1rem}\n"] }); }
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmailTileExtensionComponent, decorators: [{
28
- type: Component,
29
- args: [{ selector: 'yuv-email-tile-extension', standalone: true, imports: [NgClass], template: `
30
- @if (hasAttachements()) {
31
- <span>{{ attachments().length }}</span>
32
- <svg class="icon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="#5f6368" viewBox="0 -960 960 960">
33
- <path
34
- d="M720-330q0 104-73 177T470-80q-104 0-177-73t-73-177v-370q0-75 52.5-127.5T400-880q75 0 127.5 52.5T580-700v350q0 46-32 78t-78 32q-46 0-78-32t-32-78v-370h80v370q0 13 8.5 21.5T470-320q13 0 21.5-8.5T500-350v-350q-1-42-29.5-71T400-800q-42 0-71 29t-29 71v370q-1 71 49 120.5T470-160q70 0 119-49.5T640-330v-390h80v390Z"
35
- />
36
- </svg>
37
- }
38
- `, host: {
39
- '[class.attachments]': 'hasAttachements()'
40
- }, styles: [":host{display:flex;justify-content:end;margin-top:.5rem}:host .icon{height:1rem}\n"] }]
41
- }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwuZXh0ZW5zaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay90aWxlLWxpc3Qvc3JjL2xpYi90aWxlLWV4dGVuc2lvbi9leHRlbnNpb25zL2VtYWlsLmV4dGVuc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWtDM0QsTUFBTSxPQUFPLDJCQUEyQjtJQS9CeEM7UUFnQ0UsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQU8sQ0FBQztRQUM3QixnQkFBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsMkJBQTJCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3RSxvQkFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLCtCQUErQixDQUFDLENBQUMsQ0FBQztLQVFsRjtJQU5DLE9BQU8sQ0FBQyxDQUFTLEVBQUUsR0FBVTtRQUMzQixHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDckIsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXRCLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6QyxDQUFDOytHQVZVLDJCQUEyQjttR0FBM0IsMkJBQTJCLHdSQTNCNUI7Ozs7Ozs7OztHQVNUOzs0RkFrQlUsMkJBQTJCO2tCQS9CdkMsU0FBUzsrQkFDRSwwQkFBMEIsY0FDeEIsSUFBSSxXQUNQLENBQUMsT0FBTyxDQUFDLFlBQ1I7Ozs7Ozs7OztHQVNULFFBY0s7d0JBQ0oscUJBQXFCLEVBQUUsbUJBQW1CO3FCQUMzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRpbGVFeHRlbnNpb25Db21wb25lbnQgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1zaGVsbC1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneXV2LWVtYWlsLXRpbGUtZXh0ZW5zaW9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ2xhc3NdLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBpZiAoaGFzQXR0YWNoZW1lbnRzKCkpIHtcbiAgICAgIDxzcGFuPnt7IGF0dGFjaG1lbnRzKCkubGVuZ3RoIH19PC9zcGFuPlxuICAgICAgPHN2ZyBjbGFzcz1cImljb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgZmlsbD1cIiM1ZjYzNjhcIiB2aWV3Qm94PVwiMCAtOTYwIDk2MCA5NjBcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTcyMC0zMzBxMCAxMDQtNzMgMTc3VDQ3MC04MHEtMTA0IDAtMTc3LTczdC03My0xNzd2LTM3MHEwLTc1IDUyLjUtMTI3LjVUNDAwLTg4MHE3NSAwIDEyNy41IDUyLjVUNTgwLTcwMHYzNTBxMCA0Ni0zMiA3OHQtNzggMzJxLTQ2IDAtNzgtMzJ0LTMyLTc4di0zNzBoODB2MzcwcTAgMTMgOC41IDIxLjVUNDcwLTMyMHExMyAwIDIxLjUtOC41VDUwMC0zNTB2LTM1MHEtMS00Mi0yOS41LTcxVDQwMC04MDBxLTQyIDAtNzEgMjl0LTI5IDcxdjM3MHEtMSA3MSA0OSAxMjAuNVQ0NzAtMTYwcTcwIDAgMTE5LTQ5LjVUNjQwLTMzMHYtMzkwaDgwdjM5MFpcIlxuICAgICAgICAvPlxuICAgICAgPC9zdmc+XG4gICAgfVxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGBcbiAgXSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuYXR0YWNobWVudHNdJzogJ2hhc0F0dGFjaGVtZW50cygpJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIEVtYWlsVGlsZUV4dGVuc2lvbkNvbXBvbmVudCBpbXBsZW1lbnRzIFRpbGVFeHRlbnNpb25Db21wb25lbnQge1xuICBkYXRhID0gaW5wdXQucmVxdWlyZWQ8YW55PigpO1xuICBhdHRhY2htZW50cyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZGF0YSgpWydhcHBTeXN0ZW1tYWlsOmF0dGFjaG1lbnRzJ10gfHwgW10pO1xuICBoYXNBdHRhY2hlbWVudHMgPSBjb21wdXRlZCgoKSA9PiAhIXRoaXMuZGF0YSgpWydhcHBTeXN0ZW1tYWlsOmF0dGFjaG1lbnRDb3VudCddKTtcblxuICBvbkNsaWNrKGE6IHN0cmluZywgZXZ0OiBFdmVudCkge1xuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGFsZXJ0KGBZb3UgY2xpY2tlZCAnJHthfScgbXkgZnJpZW5kLmApO1xuICB9XG59XG4iXX0=
@@ -1,35 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class TileExtensionService {
4
- constructor() {
5
- this._extensions = {};
6
- // this.registerTileExtension({
7
- // // typeId: 'appSystemmail:email',
8
- // typeId: 'system:document',
9
- // cmp: EmailTileExtensionComponent
10
- // });
11
- }
12
- registerTileExtension(ext) {
13
- this._extensions[ext.typeId] = ext;
14
- }
15
- hasTileExtension(objectTypeId) {
16
- return !!this._extensions[objectTypeId];
17
- }
18
- /**
19
- * Get tile extensions for a certain type
20
- * @param typeId ID of the type to fetch extesion for (objectTypeID or secondaryObjectTypeID)
21
- * @returns
22
- */
23
- getTileExtension(typeId) {
24
- return this._extensions[typeId];
25
- }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TileExtensionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
27
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TileExtensionService, providedIn: 'root' }); }
28
- }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TileExtensionService, decorators: [{
30
- type: Injectable,
31
- args: [{
32
- providedIn: 'root'
33
- }]
34
- }], ctorParameters: () => [] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1leHRlbnNpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvdGlsZS1saXN0L3NyYy9saWIvdGlsZS1leHRlbnNpb24vdGlsZS1leHRlbnNpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8zQyxNQUFNLE9BQU8sb0JBQW9CO0lBRy9CO1FBRlEsZ0JBQVcsR0FBa0MsRUFBRSxDQUFDO1FBR3RELCtCQUErQjtRQUMvQixzQ0FBc0M7UUFDdEMsK0JBQStCO1FBQy9CLHFDQUFxQztRQUNyQyxNQUFNO0lBQ1IsQ0FBQztJQUVELHFCQUFxQixDQUFDLEdBQWtCO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsWUFBb0I7UUFDbkMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQixDQUFDLE1BQWM7UUFDN0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7K0dBMUJVLG9CQUFvQjttSEFBcEIsb0JBQW9CLGNBRm5CLE1BQU07OzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaWxlRXh0ZW5zaW9uIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtc2hlbGwtY29yZSc7XG5pbXBvcnQgeyBFbWFpbFRpbGVFeHRlbnNpb25Db21wb25lbnQgfSBmcm9tICcuL2V4dGVuc2lvbnMvZW1haWwuZXh0ZW5zaW9uJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVGlsZUV4dGVuc2lvblNlcnZpY2Uge1xuICBwcml2YXRlIF9leHRlbnNpb25zOiBSZWNvcmQ8c3RyaW5nLCBUaWxlRXh0ZW5zaW9uPiA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIHRoaXMucmVnaXN0ZXJUaWxlRXh0ZW5zaW9uKHtcbiAgICAvLyAgIC8vIHR5cGVJZDogJ2FwcFN5c3RlbW1haWw6ZW1haWwnLFxuICAgIC8vICAgdHlwZUlkOiAnc3lzdGVtOmRvY3VtZW50JyxcbiAgICAvLyAgIGNtcDogRW1haWxUaWxlRXh0ZW5zaW9uQ29tcG9uZW50XG4gICAgLy8gfSk7XG4gIH1cblxuICByZWdpc3RlclRpbGVFeHRlbnNpb24oZXh0OiBUaWxlRXh0ZW5zaW9uKSB7XG4gICAgdGhpcy5fZXh0ZW5zaW9uc1tleHQudHlwZUlkXSA9IGV4dDtcbiAgfVxuXG4gIGhhc1RpbGVFeHRlbnNpb24ob2JqZWN0VHlwZUlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl9leHRlbnNpb25zW29iamVjdFR5cGVJZF07XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRpbGUgZXh0ZW5zaW9ucyBmb3IgYSBjZXJ0YWluIHR5cGVcbiAgICogQHBhcmFtIHR5cGVJZCBJRCBvZiB0aGUgdHlwZSB0byBmZXRjaCBleHRlc2lvbiBmb3IgKG9iamVjdFR5cGVJRCBvciBzZWNvbmRhcnlPYmplY3RUeXBlSUQpXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBnZXRUaWxlRXh0ZW5zaW9uKHR5cGVJZDogc3RyaW5nKTogVGlsZUV4dGVuc2lvbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2V4dGVuc2lvbnNbdHlwZUlkXTtcbiAgfVxufVxuIl19