@yuuvis/client-framework 2.0.0-beta.0 → 2.0.0-beta.10

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 +12 -12
  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 +44 -70
  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,37 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, HostBinding, inject, output } from '@angular/core';
3
- import { TranslateModule, UploadService } from '@yuuvis/client-core';
4
- import { YUV_ICONS } from '@yuuvis/client-framework/icons';
5
- import { ICONS, YvcIconModule } from '@yuuvis/components/icon';
6
- import { UploadProgressOverlayComponent } from './upload-progress-overlay/upload-progress-overlay.component';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common";
9
- import * as i2 from "@yuuvis/components/icon";
10
- import * as i3 from "@yuuvis/client-core";
11
- export class UploadProgressComponent {
12
- constructor() {
13
- this.#uploadService = inject(UploadService);
14
- this.progressStatus$ = this.#uploadService.status$;
15
- this.completedUp$ = this.#uploadService.uploadStatus$;
16
- this.icons = {
17
- toggle: YUV_ICONS.arrowDown,
18
- close: ICONS.clear
19
- };
20
- this.expanded = true;
21
- this.resultItemClick = output();
22
- }
23
- #uploadService;
24
- close() {
25
- this.#uploadService.cancelItem();
26
- }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UploadProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UploadProgressComponent, isStandalone: true, selector: "yuv-upload-progress", outputs: { resultItemClick: "resultItemClick" }, host: { properties: { "class.expanded": "this.expanded" } }, ngImport: i0, template: "@let ps = progressStatus$ | async;\n@if (ps && ps.items.length) {\n @let completed = completedUp$ | async;\n\n <div class=\"upload-progress\">\n <header>\n <h4>\n @if (!completed) {\n {{ 'yuv.upload-progress.header.uploading' | translate: { count: ps.items.length } }}\n } @else {\n {{ 'yuv.upload-progress.header.uploaded' | translate: { count: ps.items.length } }}\n }\n </h4>\n <button (click)=\"expanded = !expanded\"><yvc-icon class=\"toggle\" [svg]=\"icons.toggle\"></yvc-icon></button>\n <button (click)=\"close()\"><yvc-icon [svg]=\"icons.close\"></yvc-icon></button>\n </header>\n @if (expanded) {\n <yuv-upload-progress-overlay [items]=\"ps.items\" (itemClick)=\"resultItemClick.emit($event)\"></yuv-upload-progress-overlay>\n }\n </div>\n}\n", styles: [":host{--upload-progress-background-header: var(--panel-background-grey);--upload-progress-background-main: var(--panel-background);--upload-progress-border-color: var(--panel-background);--upload-progress-outline: 4px solid rgb(from var(--panel-divider-color) r g b / .9);--upload-progress-border-radius: calc(var(--app-pane-padding) / 4);position:absolute;inset-block-end:var(--app-pane-padding);inset-inline-end:var(--app-pane-padding);z-index:1000}:host .upload-progress{display:flex;flex-flow:column;background-color:var(--upload-progress-background-main);border:1px solid var(--upload-progress-border-color);border-radius:var(--upload-progress-border-radius);outline:var(--upload-progress-outline);min-width:250px;max-height:30vh;overflow:hidden;animation:appear .3s ease-in-out}:host .toggle{rotate:180deg}:host.expanded .toggle{rotate:0deg}:host header{display:flex;align-items:center;gap:calc(var(--app-pane-padding) / 4);background-color:var(--upload-progress-background-header);padding:calc(var(--app-pane-padding) / 4)}:host header h4{margin:0;padding:0 calc(var(--app-pane-padding) / 2);flex:1}:host header button{padding:0;border-radius:4px;--icon-size: 18px}:host yuv-upload-progress-overlay{overflow-y:auto}@keyframes appear{0%{opacity:0;transform:translateY(var(--app-pane-padding))}to{opacity:1;transform:translateY(0)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { 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: UploadProgressOverlayComponent, selector: "yuv-upload-progress-overlay", inputs: ["items"], outputs: ["itemClick"] }] }); }
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UploadProgressComponent, decorators: [{
31
- type: Component,
32
- args: [{ selector: 'yuv-upload-progress', standalone: true, imports: [CommonModule, YvcIconModule, TranslateModule, UploadProgressOverlayComponent], template: "@let ps = progressStatus$ | async;\n@if (ps && ps.items.length) {\n @let completed = completedUp$ | async;\n\n <div class=\"upload-progress\">\n <header>\n <h4>\n @if (!completed) {\n {{ 'yuv.upload-progress.header.uploading' | translate: { count: ps.items.length } }}\n } @else {\n {{ 'yuv.upload-progress.header.uploaded' | translate: { count: ps.items.length } }}\n }\n </h4>\n <button (click)=\"expanded = !expanded\"><yvc-icon class=\"toggle\" [svg]=\"icons.toggle\"></yvc-icon></button>\n <button (click)=\"close()\"><yvc-icon [svg]=\"icons.close\"></yvc-icon></button>\n </header>\n @if (expanded) {\n <yuv-upload-progress-overlay [items]=\"ps.items\" (itemClick)=\"resultItemClick.emit($event)\"></yuv-upload-progress-overlay>\n }\n </div>\n}\n", styles: [":host{--upload-progress-background-header: var(--panel-background-grey);--upload-progress-background-main: var(--panel-background);--upload-progress-border-color: var(--panel-background);--upload-progress-outline: 4px solid rgb(from var(--panel-divider-color) r g b / .9);--upload-progress-border-radius: calc(var(--app-pane-padding) / 4);position:absolute;inset-block-end:var(--app-pane-padding);inset-inline-end:var(--app-pane-padding);z-index:1000}:host .upload-progress{display:flex;flex-flow:column;background-color:var(--upload-progress-background-main);border:1px solid var(--upload-progress-border-color);border-radius:var(--upload-progress-border-radius);outline:var(--upload-progress-outline);min-width:250px;max-height:30vh;overflow:hidden;animation:appear .3s ease-in-out}:host .toggle{rotate:180deg}:host.expanded .toggle{rotate:0deg}:host header{display:flex;align-items:center;gap:calc(var(--app-pane-padding) / 4);background-color:var(--upload-progress-background-header);padding:calc(var(--app-pane-padding) / 4)}:host header h4{margin:0;padding:0 calc(var(--app-pane-padding) / 2);flex:1}:host header button{padding:0;border-radius:4px;--icon-size: 18px}:host yuv-upload-progress-overlay{overflow-y:auto}@keyframes appear{0%{opacity:0;transform:translateY(var(--app-pane-padding))}to{opacity:1;transform:translateY(0)}}\n"] }]
33
- }], propDecorators: { expanded: [{
34
- type: HostBinding,
35
- args: ['class.expanded']
36
- }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLXByb2dyZXNzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvdXBsb2FkLXByb2dyZXNzL3NyYy9saWIvdXBsb2FkLXByb2dyZXNzL3VwbG9hZC1wcm9ncmVzcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL3VwbG9hZC1wcm9ncmVzcy9zcmMvbGliL3VwbG9hZC1wcm9ncmVzcy91cGxvYWQtcHJvZ3Jlc3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUM7Ozs7O0FBUzdHLE1BQU0sT0FBTyx1QkFBdUI7SUFQcEM7UUFRRSxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2QyxvQkFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO1FBQzlDLGlCQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUM7UUFFakQsVUFBSyxHQUFHO1lBQ04sTUFBTSxFQUFFLFNBQVMsQ0FBQyxTQUFTO1lBQzNCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztTQUNuQixDQUFDO1FBRTZCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDL0Msb0JBQWUsR0FBRyxNQUFNLEVBQWdCLENBQUM7S0FLMUM7SUFmQyxjQUFjLENBQXlCO0lBWXZDLEtBQUs7UUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ25DLENBQUM7K0dBZlUsdUJBQXVCO21HQUF2Qix1QkFBdUIsNkxDZHBDLGkwQkFxQkEsbzNDRFhZLFlBQVksbUZBQUUsYUFBYSw4SEFBRSxlQUFlLDRGQUFFLDhCQUE4Qjs7NEZBSTNFLHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsOEJBQThCLENBQUM7OEJBY3hELFFBQVE7c0JBQXRDLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIGluamVjdCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFVwbG9hZFJlc3VsdCwgVXBsb2FkU2VydmljZSB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgWVVWX0lDT05TIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2ljb25zJztcbmltcG9ydCB7IElDT05TLCBZdmNJY29uTW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgVXBsb2FkUHJvZ3Jlc3NPdmVybGF5Q29tcG9uZW50IH0gZnJvbSAnLi91cGxvYWQtcHJvZ3Jlc3Mtb3ZlcmxheS91cGxvYWQtcHJvZ3Jlc3Mtb3ZlcmxheS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd5dXYtdXBsb2FkLXByb2dyZXNzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgWXZjSWNvbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBVcGxvYWRQcm9ncmVzc092ZXJsYXlDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkLXByb2dyZXNzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3VwbG9hZC1wcm9ncmVzcy5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgVXBsb2FkUHJvZ3Jlc3NDb21wb25lbnQge1xuICAjdXBsb2FkU2VydmljZSA9IGluamVjdChVcGxvYWRTZXJ2aWNlKTtcbiAgcHJvZ3Jlc3NTdGF0dXMkID0gdGhpcy4jdXBsb2FkU2VydmljZS5zdGF0dXMkO1xuICBjb21wbGV0ZWRVcCQgPSB0aGlzLiN1cGxvYWRTZXJ2aWNlLnVwbG9hZFN0YXR1cyQ7XG5cbiAgaWNvbnMgPSB7XG4gICAgdG9nZ2xlOiBZVVZfSUNPTlMuYXJyb3dEb3duLFxuICAgIGNsb3NlOiBJQ09OUy5jbGVhclxuICB9O1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZXhwYW5kZWQnKSBleHBhbmRlZCA9IHRydWU7XG4gIHJlc3VsdEl0ZW1DbGljayA9IG91dHB1dDxVcGxvYWRSZXN1bHQ+KCk7XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy4jdXBsb2FkU2VydmljZS5jYW5jZWxJdGVtKCk7XG4gIH1cbn1cbiIsIkBsZXQgcHMgPSBwcm9ncmVzc1N0YXR1cyQgfCBhc3luYztcbkBpZiAocHMgJiYgcHMuaXRlbXMubGVuZ3RoKSB7XG4gIEBsZXQgY29tcGxldGVkID0gY29tcGxldGVkVXAkIHwgYXN5bmM7XG5cbiAgPGRpdiBjbGFzcz1cInVwbG9hZC1wcm9ncmVzc1wiPlxuICAgIDxoZWFkZXI+XG4gICAgICA8aDQ+XG4gICAgICAgIEBpZiAoIWNvbXBsZXRlZCkge1xuICAgICAgICAgIHt7ICd5dXYudXBsb2FkLXByb2dyZXNzLmhlYWRlci51cGxvYWRpbmcnIHwgdHJhbnNsYXRlOiB7IGNvdW50OiBwcy5pdGVtcy5sZW5ndGggfSB9fVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICB7eyAneXV2LnVwbG9hZC1wcm9ncmVzcy5oZWFkZXIudXBsb2FkZWQnIHwgdHJhbnNsYXRlOiB7IGNvdW50OiBwcy5pdGVtcy5sZW5ndGggfSB9fVxuICAgICAgICB9XG4gICAgICA8L2g0PlxuICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZXhwYW5kZWQgPSAhZXhwYW5kZWRcIj48eXZjLWljb24gY2xhc3M9XCJ0b2dnbGVcIiBbc3ZnXT1cImljb25zLnRvZ2dsZVwiPjwveXZjLWljb24+PC9idXR0b24+XG4gICAgICA8YnV0dG9uIChjbGljayk9XCJjbG9zZSgpXCI+PHl2Yy1pY29uIFtzdmddPVwiaWNvbnMuY2xvc2VcIj48L3l2Yy1pY29uPjwvYnV0dG9uPlxuICAgIDwvaGVhZGVyPlxuICAgIEBpZiAoZXhwYW5kZWQpIHtcbiAgICAgIDx5dXYtdXBsb2FkLXByb2dyZXNzLW92ZXJsYXkgW2l0ZW1zXT1cInBzLml0ZW1zXCIgKGl0ZW1DbGljayk9XCJyZXN1bHRJdGVtQ2xpY2suZW1pdCgkZXZlbnQpXCI+PC95dXYtdXBsb2FkLXByb2dyZXNzLW92ZXJsYXk+XG4gICAgfVxuICA8L2Rpdj5cbn1cbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXV1dmlzLWNsaWVudC1mcmFtZXdvcmstdXBsb2FkLXByb2dyZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay91cGxvYWQtcHJvZ3Jlc3Mvc3JjL3l1dXZpcy1jbGllbnQtZnJhbWV3b3JrLXVwbG9hZC1wcm9ncmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './lib/user-avatar.component';
2
- export * from './lib/user-avatar.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL3VzZXItYXZhdGFyL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi91c2VyLWF2YXRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXNlci1hdmF0YXIubW9kdWxlJztcbiJdfQ==
@@ -1,69 +0,0 @@
1
- import { Component, ElementRef, HostBinding, Input, Renderer2 } from '@angular/core';
2
- import { DomSanitizer } from '@angular/platform-browser';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/platform-browser";
5
- /**
6
- * Component rendering a users avatar. If there is no avatar image availbale, the
7
- * component will render the initials of the user, but only if we can fetch a first-
8
- * and lastname. Otherwise there will be a fallback image.
9
- *
10
- * [Screenshot](../assets/images/yuv-user-avatar.gif)
11
- *
12
- *
13
- *
14
- */
15
- export class UserAvatarComponent {
16
- /**
17
- * The user to display the avatar image for.
18
- */
19
- set user(u) {
20
- if (!!u && !this.currentUserId || u?.id !== this.currentUserId) {
21
- this.getUserImage(u);
22
- }
23
- this.currentUserId = u?.id;
24
- }
25
- constructor(sanitizer, elRef, renderer) {
26
- this.sanitizer = sanitizer;
27
- this.elRef = elRef;
28
- this.renderer = renderer;
29
- this.defaultUserImage = 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="rgba(0,0,0,.2)"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg>';
30
- this.img = null;
31
- this.setDefaulUserImage();
32
- }
33
- getUserImage(user) {
34
- if (user && user.image) {
35
- this.img = this.sanitizer.bypassSecurityTrustStyle(`url('${user.image}')`);
36
- }
37
- else if (user && !user.image && user.firstname && user.lastname) {
38
- this.img = null;
39
- this.elRef.nativeElement.classList.add('initials');
40
- const initials = document.createElement('div');
41
- // scale initials font-size based on the containers size
42
- const rect = this.elRef.nativeElement.getBoundingClientRect();
43
- // when rendered invisible the width will be 0px
44
- if (rect.width > 0) {
45
- initials.style.fontSize = `${rect.width * 0.5}px`;
46
- }
47
- initials.innerText = `${user.firstname.substr(0, 1)}${user.lastname.substr(0, 1)}`;
48
- this.renderer.appendChild(this.elRef.nativeElement, initials);
49
- }
50
- else {
51
- this.setDefaulUserImage();
52
- }
53
- }
54
- setDefaulUserImage() {
55
- this.img = this.sanitizer.bypassSecurityTrustStyle(`url('${this.defaultUserImage}')`);
56
- }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserAvatarComponent, deps: [{ token: i1.DomSanitizer }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
58
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserAvatarComponent, selector: "yuv-user-avatar", inputs: { user: "user" }, host: { properties: { "style.backgroundImage": "this.img" }, classAttribute: "yuv-user-avatar" }, ngImport: i0, template: '', isInline: true, styles: [":host{display:flex;flex-flow:column;align-items:center;justify-content:center;height:100%;box-sizing:border-box;background-repeat:no-repeat;background-size:cover;background-position:center center}:host.initials{background-color:var(--color-accent);color:var(--color-accent-tone)}:host.initials>div{font-weight:var(--font-weight-bold);opacity:.8}\n"] }); }
59
- }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserAvatarComponent, decorators: [{
61
- type: Component,
62
- args: [{ selector: 'yuv-user-avatar', template: '', host: { class: 'yuv-user-avatar' }, styles: [":host{display:flex;flex-flow:column;align-items:center;justify-content:center;height:100%;box-sizing:border-box;background-repeat:no-repeat;background-size:cover;background-position:center center}:host.initials{background-color:var(--color-accent);color:var(--color-accent-tone)}:host.initials>div{font-weight:var(--font-weight-bold);opacity:.8}\n"] }]
63
- }], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { user: [{
64
- type: Input
65
- }], img: [{
66
- type: HostBinding,
67
- args: ['style.backgroundImage']
68
- }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hdmF0YXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay91c2VyLWF2YXRhci9zcmMvbGliL3VzZXItYXZhdGFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsWUFBWSxFQUFhLE1BQU0sMkJBQTJCLENBQUM7OztBQW1CcEU7Ozs7Ozs7OztHQVNHO0FBT0gsTUFBTSxPQUFPLG1CQUFtQjtJQUs5Qjs7T0FFRztJQUNILElBQ0ksSUFBSSxDQUFDLENBQXNCO1FBQzdCLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFFLENBQUMsQ0FBQztRQUN4QixDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFHRCxZQUFvQixTQUF1QixFQUFVLEtBQWlCLEVBQVUsUUFBbUI7UUFBL0UsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUFVLFVBQUssR0FBTCxLQUFLLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBZjNGLHFCQUFnQixHQUN0QixrUUFBa1EsQ0FBQztRQVkvTixRQUFHLEdBQXFCLElBQUksQ0FBQztRQUdqRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQWE7UUFDeEIsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQzdFLENBQUM7YUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEUsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7WUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNuRCxNQUFNLFFBQVEsR0FBZ0IsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1RCx3REFBd0Q7WUFDeEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUM5RCxnREFBZ0Q7WUFDaEQsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNuQixRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxJQUFJLENBQUM7WUFDcEQsQ0FBQztZQUNELFFBQVEsQ0FBQyxTQUFTLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDbkYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDaEUsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsUUFBUSxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxDQUFDO0lBQ3hGLENBQUM7K0dBM0NVLG1CQUFtQjttR0FBbkIsbUJBQW1CLG1MQUpwQixFQUFFOzs0RkFJRCxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsaUJBQWlCLFlBQ2pCLEVBQUUsUUFFTixFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRTtrSUFXOUIsSUFBSTtzQkFEUCxLQUFLO2dCQU9nQyxHQUFHO3NCQUF4QyxXQUFXO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVN0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG4vLyBpbXBvcnQgeyBZdXZVc2VyIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtY29yZSc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBZdXZVc2VyIHtcbiAgaWQ6IHN0cmluZztcbiAgdXNlcm5hbWU6IHN0cmluZztcbiAgZmlyc3RuYW1lOiBzdHJpbmc7XG4gIGxhc3RuYW1lOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIGltYWdlOiBzdHJpbmc7XG4gIHRlbmFudDogc3RyaW5nO1xuICBkb21haW46IHN0cmluZztcbiAgYXV0aG9yaXRpZXM6IHN0cmluZ1tdO1xuICBzdWJzdGl0dXRlT2Y6IHN0cmluZ1tdO1xuICBlbmFibGVkOiBib29sZWFuO1xufVxuXG4vKipcbiAqIENvbXBvbmVudCByZW5kZXJpbmcgYSB1c2VycyBhdmF0YXIuIElmIHRoZXJlIGlzIG5vIGF2YXRhciBpbWFnZSBhdmFpbGJhbGUsIHRoZVxuICogY29tcG9uZW50IHdpbGwgcmVuZGVyIHRoZSBpbml0aWFscyBvZiB0aGUgdXNlciwgYnV0IG9ubHkgaWYgd2UgY2FuIGZldGNoIGEgZmlyc3QtXG4gKiBhbmQgbGFzdG5hbWUuIE90aGVyd2lzZSB0aGVyZSB3aWxsIGJlIGEgZmFsbGJhY2sgaW1hZ2UuXG4gKlxuICogW1NjcmVlbnNob3RdKC4uL2Fzc2V0cy9pbWFnZXMveXV2LXVzZXItYXZhdGFyLmdpZilcbiAqXG4gKlxuICpcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneXV2LXVzZXItYXZhdGFyJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZVVybHM6IFsnLi91c2VyLWF2YXRhci5jb21wb25lbnQuc2NzcyddLFxuICBob3N0OiB7IGNsYXNzOiAneXV2LXVzZXItYXZhdGFyJyB9XG59KVxuZXhwb3J0IGNsYXNzIFVzZXJBdmF0YXJDb21wb25lbnQge1xuICBwcml2YXRlIGN1cnJlbnRVc2VySWQ/OiBzdHJpbmc7XG4gIHByaXZhdGUgZGVmYXVsdFVzZXJJbWFnZSA9XG4gICAgJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwicmdiYSgwLDAsMCwuMilcIj48cGF0aCBkPVwiTTEyIDEyYzIuMjEgMCA0LTEuNzkgNC00cy0xLjc5LTQtNC00LTQgMS43OS00IDQgMS43OSA0IDQgNHptMCAyYy0yLjY3IDAtOCAxLjM0LTggNHYyaDE2di0yYzAtMi42Ni01LjMzLTQtOC00elwiLz48L3N2Zz4nO1xuXG4gIC8qKlxuICAgKiBUaGUgdXNlciB0byBkaXNwbGF5IHRoZSBhdmF0YXIgaW1hZ2UgZm9yLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHVzZXIodTogWXV2VXNlciB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghIXUgJiYgIXRoaXMuY3VycmVudFVzZXJJZCB8fCB1Py5pZCAhPT0gdGhpcy5jdXJyZW50VXNlcklkKSB7XG4gICAgICB0aGlzLmdldFVzZXJJbWFnZSh1ISk7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudFVzZXJJZCA9IHU/LmlkO1xuICB9XG4gIEBIb3N0QmluZGluZygnc3R5bGUuYmFja2dyb3VuZEltYWdlJykgaW1nOiBTYWZlU3R5bGUgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLCBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICB0aGlzLnNldERlZmF1bFVzZXJJbWFnZSgpO1xuICB9XG5cbiAgZ2V0VXNlckltYWdlKHVzZXI6IFl1dlVzZXIpIHtcbiAgICBpZiAodXNlciAmJiB1c2VyLmltYWdlKSB7XG4gICAgICB0aGlzLmltZyA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTdHlsZShgdXJsKCcke3VzZXIuaW1hZ2V9JylgKTtcbiAgICB9IGVsc2UgaWYgKHVzZXIgJiYgIXVzZXIuaW1hZ2UgJiYgdXNlci5maXJzdG5hbWUgJiYgdXNlci5sYXN0bmFtZSkge1xuICAgICAgdGhpcy5pbWcgPSBudWxsO1xuICAgICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2luaXRpYWxzJyk7XG4gICAgICBjb25zdCBpbml0aWFsczogSFRNTEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIC8vIHNjYWxlIGluaXRpYWxzIGZvbnQtc2l6ZSBiYXNlZCBvbiB0aGUgY29udGFpbmVycyBzaXplXG4gICAgICBjb25zdCByZWN0ID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgLy8gd2hlbiByZW5kZXJlZCBpbnZpc2libGUgdGhlIHdpZHRoIHdpbGwgYmUgMHB4XG4gICAgICBpZiAocmVjdC53aWR0aCA+IDApIHtcbiAgICAgICAgaW5pdGlhbHMuc3R5bGUuZm9udFNpemUgPSBgJHtyZWN0LndpZHRoICogMC41fXB4YDtcbiAgICAgIH1cbiAgICAgIGluaXRpYWxzLmlubmVyVGV4dCA9IGAke3VzZXIuZmlyc3RuYW1lLnN1YnN0cigwLCAxKX0ke3VzZXIubGFzdG5hbWUuc3Vic3RyKDAsIDEpfWA7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgaW5pdGlhbHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldERlZmF1bFVzZXJJbWFnZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0RGVmYXVsVXNlckltYWdlKCkge1xuICAgIHRoaXMuaW1nID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKGB1cmwoJyR7dGhpcy5kZWZhdWx0VXNlckltYWdlfScpYCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,24 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { UserAvatarComponent } from './user-avatar.component';
4
- import * as i0 from "@angular/core";
5
- export class YuvUserAvatarModule {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: YuvUserAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: YuvUserAvatarModule, declarations: [UserAvatarComponent], imports: [CommonModule], exports: [UserAvatarComponent] }); }
8
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: YuvUserAvatarModule, imports: [CommonModule] }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: YuvUserAvatarModule, decorators: [{
11
- type: NgModule,
12
- args: [{
13
- declarations: [
14
- UserAvatarComponent
15
- ],
16
- imports: [
17
- CommonModule
18
- ],
19
- exports: [
20
- UserAvatarComponent
21
- ]
22
- }]
23
- }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hdmF0YXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay91c2VyLWF2YXRhci9zcmMvbGliL3VzZXItYXZhdGFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFhOUQsTUFBTSxPQUFPLG1CQUFtQjsrR0FBbkIsbUJBQW1CO2dIQUFuQixtQkFBbUIsaUJBVDVCLG1CQUFtQixhQUduQixZQUFZLGFBR1osbUJBQW1CO2dIQUdWLG1CQUFtQixZQU41QixZQUFZOzs0RkFNSCxtQkFBbUI7a0JBWC9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjtxQkFDcEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFVzZXJBdmF0YXJDb21wb25lbnQgfSBmcm9tICcuL3VzZXItYXZhdGFyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFVzZXJBdmF0YXJDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgVXNlckF2YXRhckNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFl1dlVzZXJBdmF0YXJNb2R1bGUgeyB9XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXV1dmlzLWNsaWVudC1mcmFtZXdvcmstdXNlci1hdmF0YXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL3VzZXItYXZhdGFyL3NyYy95dXV2aXMtY2xpZW50LWZyYW1ld29yay11c2VyLWF2YXRhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXV1dmlzLWNsaWVudC1mcmFtZXdvcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL3NyYy95dXV2aXMtY2xpZW50LWZyYW1ld29yay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,85 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import * as i0 from '@angular/core';
3
- import { viewChild, input, computed, output, Component, HostListener } from '@angular/core';
4
- import { Operator } from '@yuuvis/client-core';
5
- import { TokenInputComponent } from '@yuuvis/client-framework/common';
6
- import * as i1 from '@yuuvis/components/icon';
7
- import { ICONS, YvcIconModule } from '@yuuvis/components/icon';
8
-
9
- class TokenSearchComponent {
10
- constructor() {
11
- this.tokenInput = viewChild.required(TokenInputComponent);
12
- this.OPERATOR_TOKENS = [
13
- { id: 'and', label: 'AND', type: 'operator' },
14
- { id: 'or', label: 'OR', type: 'operator' }
15
- ];
16
- this.tokens = input.required();
17
- this.innerTokens = computed(() => [...this.OPERATOR_TOKENS, ...this.tokens()]);
18
- this.search = output();
19
- this._searchTokens = [];
20
- this.icons = {
21
- search: ICONS.search,
22
- clear: ICONS.clear
23
- };
24
- }
25
- onEnterKey(event) {
26
- this.generateQuery();
27
- }
28
- clearQuery() {
29
- this.tokenInput().clear();
30
- this.search.emit(undefined);
31
- }
32
- generateQuery() {
33
- const fields = {};
34
- const types = [];
35
- let term;
36
- // create a query from the tokens
37
- this._searchTokens.forEach((t, i) => {
38
- switch (t.type) {
39
- case 'type': {
40
- types.push(t.id);
41
- break;
42
- }
43
- case 'field': {
44
- const value = this._searchTokens[i + 1]?.label;
45
- fields[t.id] = value;
46
- break;
47
- }
48
- default: {
49
- if (i === 0) {
50
- term = this._searchTokens[i].label;
51
- }
52
- }
53
- }
54
- });
55
- const q = {
56
- types: types,
57
- term,
58
- filters: Object.keys(fields).map((f) => ({
59
- f,
60
- o: Operator.CONTAINS,
61
- v1: fields[f]
62
- }))
63
- };
64
- this.search.emit(q);
65
- }
66
- onTokenInputChange(tokens) {
67
- this._searchTokens = tokens;
68
- }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TokenSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
70
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TokenSearchComponent, isStandalone: true, selector: "yuv-token-search", inputs: { tokens: { classPropertyName: "tokens", publicName: "tokens", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { search: "search" }, host: { listeners: { "keydown.enter": "onEnterKey($event)" } }, viewQueries: [{ propertyName: "tokenInput", first: true, predicate: TokenInputComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<yuv-token-input [tokens]=\"innerTokens()\" (change)=\"onTokenInputChange($event)\"></yuv-token-input>\n@if (_searchTokens.length) {\n <button (click)=\"clearQuery()\">\n <yvc-icon [svg]=\"icons.clear\"></yvc-icon>\n </button>\n}\n<button (click)=\"generateQuery()\">\n <yvc-icon [svg]=\"icons.search\"></yvc-icon>\n</button>\n", styles: [":host{display:flex;align-items:center}:host yuv-token-input{flex:1}:host button{padding:0}:host yuv-icon{flex:0 0 auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: TokenInputComponent, selector: "yuv-token-input", inputs: ["tokens", "caseSensitive"], outputs: ["change"] }, { kind: "ngmodule", type: YvcIconModule }, { kind: "component", type: i1.Icon, selector: "yvc-icon", inputs: ["label", "svg", "svgSrc"] }] }); }
71
- }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TokenSearchComponent, decorators: [{
73
- type: Component,
74
- args: [{ selector: 'yuv-token-search', standalone: true, imports: [CommonModule, TokenInputComponent, YvcIconModule], template: "<yuv-token-input [tokens]=\"innerTokens()\" (change)=\"onTokenInputChange($event)\"></yuv-token-input>\n@if (_searchTokens.length) {\n <button (click)=\"clearQuery()\">\n <yvc-icon [svg]=\"icons.clear\"></yvc-icon>\n </button>\n}\n<button (click)=\"generateQuery()\">\n <yvc-icon [svg]=\"icons.search\"></yvc-icon>\n</button>\n", styles: [":host{display:flex;align-items:center}:host yuv-token-input{flex:1}:host button{padding:0}:host yuv-icon{flex:0 0 auto}\n"] }]
75
- }], propDecorators: { onEnterKey: [{
76
- type: HostListener,
77
- args: ['keydown.enter', ['$event']]
78
- }] } });
79
-
80
- /**
81
- * Generated bundle index. Do not edit.
82
- */
83
-
84
- export { TokenSearchComponent };
85
- //# sourceMappingURL=yuuvis-client-framework-token-search.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"yuuvis-client-framework-token-search.mjs","sources":["../../../../../libs/yuuvis/client-framework/token-search/src/token-search.component.ts","../../../../../libs/yuuvis/client-framework/token-search/src/token-search.component.html","../../../../../libs/yuuvis/client-framework/token-search/src/yuuvis-client-framework-token-search.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, HostListener, computed, input, output, viewChild } from '@angular/core';\nimport { Operator, SearchQuery } from '@yuuvis/client-core';\nimport { InputToken, TokenInputComponent } from '@yuuvis/client-framework/common';\nimport { ICONS, YvcIconModule } from '@yuuvis/components/icon';\nimport { SearchToken } from './token-search.interface';\n\n@Component({\n selector: 'yuv-token-search',\n standalone: true,\n imports: [CommonModule, TokenInputComponent, YvcIconModule],\n templateUrl: './token-search.component.html',\n styleUrl: './token-search.component.scss'\n})\nexport class TokenSearchComponent {\n tokenInput = viewChild.required(TokenInputComponent);\n\n private OPERATOR_TOKENS: SearchToken[] = [\n { id: 'and', label: 'AND', type: 'operator' },\n { id: 'or', label: 'OR', type: 'operator' }\n ];\n\n @HostListener('keydown.enter', ['$event']) onEnterKey(event: KeyboardEvent) {\n this.generateQuery();\n }\n\n tokens = input.required<SearchToken[]>();\n innerTokens = computed(() => [...this.OPERATOR_TOKENS, ...this.tokens()]);\n\n search = output<SearchQuery | undefined>();\n\n _searchTokens: SearchToken[] = [];\n\n icons = {\n search: ICONS.search,\n clear: ICONS.clear\n };\n\n clearQuery() {\n this.tokenInput().clear();\n this.search.emit(undefined);\n }\n\n generateQuery() {\n const fields: Record<string, any> = {};\n const types: string[] = [];\n let term;\n // create a query from the tokens\n this._searchTokens.forEach((t, i) => {\n switch (t.type) {\n case 'type': {\n types.push(t.id);\n break;\n }\n case 'field': {\n const value = this._searchTokens[i + 1]?.label;\n fields[t.id] = value;\n break;\n }\n default: {\n if (i === 0) {\n term = this._searchTokens[i].label;\n }\n }\n }\n });\n const q: SearchQuery = {\n types: types,\n term,\n filters: Object.keys(fields).map((f) => ({\n f,\n o: Operator.CONTAINS,\n v1: fields[f]\n }))\n };\n this.search.emit(q);\n }\n\n onTokenInputChange(tokens: InputToken[]) {\n this._searchTokens = tokens as SearchToken[];\n }\n}\n","<yuv-token-input [tokens]=\"innerTokens()\" (change)=\"onTokenInputChange($event)\"></yuv-token-input>\n@if (_searchTokens.length) {\n <button (click)=\"clearQuery()\">\n <yvc-icon [svg]=\"icons.clear\"></yvc-icon>\n </button>\n}\n<button (click)=\"generateQuery()\">\n <yvc-icon [svg]=\"icons.search\"></yvc-icon>\n</button>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,96 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Component, Input, HostBinding, NgModule } from '@angular/core';
3
- import * as i1 from '@angular/platform-browser';
4
- import { CommonModule } from '@angular/common';
5
-
6
- /**
7
- * Component rendering a users avatar. If there is no avatar image availbale, the
8
- * component will render the initials of the user, but only if we can fetch a first-
9
- * and lastname. Otherwise there will be a fallback image.
10
- *
11
- * [Screenshot](../assets/images/yuv-user-avatar.gif)
12
- *
13
- *
14
- *
15
- */
16
- class UserAvatarComponent {
17
- /**
18
- * The user to display the avatar image for.
19
- */
20
- set user(u) {
21
- if (!!u && !this.currentUserId || u?.id !== this.currentUserId) {
22
- this.getUserImage(u);
23
- }
24
- this.currentUserId = u?.id;
25
- }
26
- constructor(sanitizer, elRef, renderer) {
27
- this.sanitizer = sanitizer;
28
- this.elRef = elRef;
29
- this.renderer = renderer;
30
- this.defaultUserImage = 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="rgba(0,0,0,.2)"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg>';
31
- this.img = null;
32
- this.setDefaulUserImage();
33
- }
34
- getUserImage(user) {
35
- if (user && user.image) {
36
- this.img = this.sanitizer.bypassSecurityTrustStyle(`url('${user.image}')`);
37
- }
38
- else if (user && !user.image && user.firstname && user.lastname) {
39
- this.img = null;
40
- this.elRef.nativeElement.classList.add('initials');
41
- const initials = document.createElement('div');
42
- // scale initials font-size based on the containers size
43
- const rect = this.elRef.nativeElement.getBoundingClientRect();
44
- // when rendered invisible the width will be 0px
45
- if (rect.width > 0) {
46
- initials.style.fontSize = `${rect.width * 0.5}px`;
47
- }
48
- initials.innerText = `${user.firstname.substr(0, 1)}${user.lastname.substr(0, 1)}`;
49
- this.renderer.appendChild(this.elRef.nativeElement, initials);
50
- }
51
- else {
52
- this.setDefaulUserImage();
53
- }
54
- }
55
- setDefaulUserImage() {
56
- this.img = this.sanitizer.bypassSecurityTrustStyle(`url('${this.defaultUserImage}')`);
57
- }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserAvatarComponent, deps: [{ token: i1.DomSanitizer }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserAvatarComponent, selector: "yuv-user-avatar", inputs: { user: "user" }, host: { properties: { "style.backgroundImage": "this.img" }, classAttribute: "yuv-user-avatar" }, ngImport: i0, template: '', isInline: true, styles: [":host{display:flex;flex-flow:column;align-items:center;justify-content:center;height:100%;box-sizing:border-box;background-repeat:no-repeat;background-size:cover;background-position:center center}:host.initials{background-color:var(--color-accent);color:var(--color-accent-tone)}:host.initials>div{font-weight:var(--font-weight-bold);opacity:.8}\n"] }); }
60
- }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserAvatarComponent, decorators: [{
62
- type: Component,
63
- args: [{ selector: 'yuv-user-avatar', template: '', host: { class: 'yuv-user-avatar' }, styles: [":host{display:flex;flex-flow:column;align-items:center;justify-content:center;height:100%;box-sizing:border-box;background-repeat:no-repeat;background-size:cover;background-position:center center}:host.initials{background-color:var(--color-accent);color:var(--color-accent-tone)}:host.initials>div{font-weight:var(--font-weight-bold);opacity:.8}\n"] }]
64
- }], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { user: [{
65
- type: Input
66
- }], img: [{
67
- type: HostBinding,
68
- args: ['style.backgroundImage']
69
- }] } });
70
-
71
- class YuvUserAvatarModule {
72
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: YuvUserAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
73
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: YuvUserAvatarModule, declarations: [UserAvatarComponent], imports: [CommonModule], exports: [UserAvatarComponent] }); }
74
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: YuvUserAvatarModule, imports: [CommonModule] }); }
75
- }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: YuvUserAvatarModule, decorators: [{
77
- type: NgModule,
78
- args: [{
79
- declarations: [
80
- UserAvatarComponent
81
- ],
82
- imports: [
83
- CommonModule
84
- ],
85
- exports: [
86
- UserAvatarComponent
87
- ]
88
- }]
89
- }] });
90
-
91
- /**
92
- * Generated bundle index. Do not edit.
93
- */
94
-
95
- export { UserAvatarComponent, YuvUserAvatarModule };
96
- //# sourceMappingURL=yuuvis-client-framework-user-avatar.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"yuuvis-client-framework-user-avatar.mjs","sources":["../../../../../libs/yuuvis/client-framework/user-avatar/src/lib/user-avatar.component.ts","../../../../../libs/yuuvis/client-framework/user-avatar/src/lib/user-avatar.module.ts","../../../../../libs/yuuvis/client-framework/user-avatar/src/yuuvis-client-framework-user-avatar.ts"],"sourcesContent":["import { Component, ElementRef, HostBinding, Input, Renderer2 } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n// import { YuvUser } from '@yuuvis/client-core';\n\n\nexport interface YuvUser {\n id: string;\n username: string;\n firstname: string;\n lastname: string;\n title: string;\n email: string;\n image: string;\n tenant: string;\n domain: string;\n authorities: string[];\n substituteOf: string[];\n enabled: boolean;\n}\n\n/**\n * Component rendering a users avatar. If there is no avatar image availbale, the\n * component will render the initials of the user, but only if we can fetch a first-\n * and lastname. Otherwise there will be a fallback image.\n *\n * [Screenshot](../assets/images/yuv-user-avatar.gif)\n *\n *\n *\n */\n@Component({\n selector: 'yuv-user-avatar',\n template: '',\n styleUrls: ['./user-avatar.component.scss'],\n host: { class: 'yuv-user-avatar' }\n})\nexport class UserAvatarComponent {\n private currentUserId?: string;\n private defaultUserImage =\n 'data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"rgba(0,0,0,.2)\"><path d=\"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"/></svg>';\n\n /**\n * The user to display the avatar image for.\n */\n @Input()\n set user(u: YuvUser | undefined) {\n if (!!u && !this.currentUserId || u?.id !== this.currentUserId) {\n this.getUserImage(u!);\n }\n this.currentUserId = u?.id;\n }\n @HostBinding('style.backgroundImage') img: SafeStyle | null = null;\n\n constructor(private sanitizer: DomSanitizer, private elRef: ElementRef, private renderer: Renderer2) {\n this.setDefaulUserImage();\n }\n\n getUserImage(user: YuvUser) {\n if (user && user.image) {\n this.img = this.sanitizer.bypassSecurityTrustStyle(`url('${user.image}')`);\n } else if (user && !user.image && user.firstname && user.lastname) {\n this.img = null;\n this.elRef.nativeElement.classList.add('initials');\n const initials: HTMLElement = document.createElement('div');\n // scale initials font-size based on the containers size\n const rect = this.elRef.nativeElement.getBoundingClientRect();\n // when rendered invisible the width will be 0px\n if (rect.width > 0) {\n initials.style.fontSize = `${rect.width * 0.5}px`;\n }\n initials.innerText = `${user.firstname.substr(0, 1)}${user.lastname.substr(0, 1)}`;\n this.renderer.appendChild(this.elRef.nativeElement, initials);\n } else {\n this.setDefaulUserImage();\n }\n }\n\n private setDefaulUserImage() {\n this.img = this.sanitizer.bypassSecurityTrustStyle(`url('${this.defaultUserImage}')`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserAvatarComponent } from './user-avatar.component';\n\n@NgModule({\n declarations: [\n UserAvatarComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n UserAvatarComponent\n ]\n})\nexport class YuvUserAvatarModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,48 +0,0 @@
1
- import { ElementRef } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Component for wrapping a form element. Provides a label and focus behaviour.
5
- *
6
- * @example
7
- * <yuv-form-input [label]="'my form element'">
8
- * <!-- form element to be wrapped -->
9
- * </yuv-form-input>
10
- */
11
- export declare class FormInputComponent {
12
- labelEl: ElementRef;
13
- private renderer;
14
- _label?: string;
15
- /**
16
- * A label string for the wrapped form element
17
- */
18
- set label(val: string);
19
- /**
20
- * A tag that can be applied to the input (including title that shows up once the user hovers the tag)
21
- */
22
- tag?: {
23
- label: string;
24
- title: string;
25
- };
26
- /**
27
- * Optional description for the form input
28
- */
29
- description?: string;
30
- /**
31
- * Indicator that the wrapped form element is invalid. Will then render appropriate styles.
32
- * You may also provide an array of error messages.
33
- */
34
- set invalid(iv: boolean | string[] | undefined);
35
- /**
36
- * Indicator that the wrapped form element is disabled. Will then render appropriate styles.
37
- */
38
- set disabled(d: boolean);
39
- /**
40
- * Indicator that the wrapped form element is mandatory. Will then render appropriate styles.
41
- */
42
- set required(d: boolean);
43
- isDisabled: boolean;
44
- isInvalid: boolean;
45
- isRequired: boolean;
46
- static ɵfac: i0.ɵɵFactoryDeclaration<FormInputComponent, never>;
47
- static ɵcmp: i0.ɵɵComponentDeclaration<FormInputComponent, "yuv-form-input", never, { "label": { "alias": "label"; "required": false; }; "tag": { "alias": "tag"; "required": false; }; "description": { "alias": "description"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, {}, never, ["*"], true, never>;
48
- }
@@ -1,15 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- /**
3
- * Providing an error message when a translation string for an object wasn't found
4
- */
5
- export declare class ObjectFormTranslateService {
6
- private translate;
7
- /**
8
- * Set the error label if a translation for this string wasn't provided
9
- * @param error - error message about a missed translation key
10
- * @param params
11
- */
12
- getErrorLabel(error: string, params?: any): any;
13
- static ɵfac: i0.ɵɵFactoryDeclaration<ObjectFormTranslateService, never>;
14
- static ɵprov: i0.ɵɵInjectableDeclaration<ObjectFormTranslateService>;
15
- }
@@ -1,18 +0,0 @@
1
- import { FormControl, FormGroup } from '@angular/forms';
2
- import { YuvFormGroup } from './object-form.interface';
3
- /**
4
- * @ignore
5
- * Extension of the default angular form group,
6
- */
7
- export declare class ObjectFormGroup extends FormGroup {
8
- _eoFormGroup?: YuvFormGroup;
9
- }
10
- /**
11
- * @ignore
12
- * Extension of the default angular form control,
13
- */
14
- export declare class ObjectFormControl extends FormControl {
15
- private __eoFormElement;
16
- set _eoFormElement(v: any);
17
- get _eoFormElement(): any;
18
- }
@@ -1,28 +0,0 @@
1
- import { OnInit, TemplateRef } from '@angular/core';
2
- import { DatepickerCalendarOptions } from '@yuuvis/components/datepicker';
3
- import { ControlValueAccessor } from '@angular/forms';
4
- import * as i0 from "@angular/core";
5
- export declare class DueDatePickerComponent implements ControlValueAccessor, OnInit {
6
- #private;
7
- private translate;
8
- tplCalendar: import("@angular/core").Signal<TemplateRef<any>>;
9
- disabled: import("@angular/core").InputSignal<boolean>;
10
- value?: Date;
11
- calendarValue: Date | null;
12
- icons: {
13
- calendar: string;
14
- clear: string;
15
- };
16
- options: import("@angular/core").WritableSignal<DatepickerCalendarOptions>;
17
- openCalendar(): void;
18
- closeCalendar(): void;
19
- onCalendarDateApply(date: Date): void;
20
- clear(): void;
21
- propagateChange: (_: any) => void;
22
- registerOnTouched(): void;
23
- writeValue(value: Date | undefined): void;
24
- registerOnChange(fn: any): void;
25
- ngOnInit(): void;
26
- static ɵfac: i0.ɵɵFactoryDeclaration<DueDatePickerComponent, never>;
27
- static ɵcmp: i0.ɵɵComponentDeclaration<DueDatePickerComponent, "yuv-due-date-picker", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
28
- }
@@ -1,4 +0,0 @@
1
- export interface SimpleSearchTarget {
2
- value: string | number;
3
- label: string;
4
- }
@@ -1,3 +0,0 @@
1
- # @yuuvis/client-framework/token-search
2
-
3
- Secondary entry point of `@yuuvis/client-framework`. It can be used by importing from `@yuuvis/client-framework/token-search`.
@@ -1,2 +0,0 @@
1
- export * from './token-search.component';
2
- export * from './token-search.interface';
@@ -1,22 +0,0 @@
1
- import { SearchQuery } from '@yuuvis/client-core';
2
- import { InputToken, TokenInputComponent } from '@yuuvis/client-framework/common';
3
- import { SearchToken } from './token-search.interface';
4
- import * as i0 from "@angular/core";
5
- export declare class TokenSearchComponent {
6
- tokenInput: import("@angular/core").Signal<TokenInputComponent>;
7
- private OPERATOR_TOKENS;
8
- onEnterKey(event: KeyboardEvent): void;
9
- tokens: import("@angular/core").InputSignal<SearchToken[]>;
10
- innerTokens: import("@angular/core").Signal<SearchToken[]>;
11
- search: import("@angular/core").OutputEmitterRef<SearchQuery | undefined>;
12
- _searchTokens: SearchToken[];
13
- icons: {
14
- search: string;
15
- clear: string;
16
- };
17
- clearQuery(): void;
18
- generateQuery(): void;
19
- onTokenInputChange(tokens: InputToken[]): void;
20
- static ɵfac: i0.ɵɵFactoryDeclaration<TokenSearchComponent, never>;
21
- static ɵcmp: i0.ɵɵComponentDeclaration<TokenSearchComponent, "yuv-token-search", never, { "tokens": { "alias": "tokens"; "required": true; "isSignal": true; }; }, { "search": "search"; }, never, never, true, never>;
22
- }
@@ -1,4 +0,0 @@
1
- import { InputToken } from "@yuuvis/client-framework/common";
2
- export interface SearchToken extends InputToken {
3
- type: 'field' | 'type' | 'operator';
4
- }
@@ -1,3 +0,0 @@
1
- # @yuuvis/client-framework/user-avatar
2
-
3
- Secondary entry point of `@yuuvis/client-framework`. It can be used by importing from `@yuuvis/client-framework/user-avatar`.
@@ -1,2 +0,0 @@
1
- export * from './lib/user-avatar.component';
2
- export * from './lib/user-avatar.module';
@@ -1,44 +0,0 @@
1
- import { ElementRef, Renderer2 } from '@angular/core';
2
- import { DomSanitizer, SafeStyle } from '@angular/platform-browser';
3
- import * as i0 from "@angular/core";
4
- export interface YuvUser {
5
- id: string;
6
- username: string;
7
- firstname: string;
8
- lastname: string;
9
- title: string;
10
- email: string;
11
- image: string;
12
- tenant: string;
13
- domain: string;
14
- authorities: string[];
15
- substituteOf: string[];
16
- enabled: boolean;
17
- }
18
- /**
19
- * Component rendering a users avatar. If there is no avatar image availbale, the
20
- * component will render the initials of the user, but only if we can fetch a first-
21
- * and lastname. Otherwise there will be a fallback image.
22
- *
23
- * [Screenshot](../assets/images/yuv-user-avatar.gif)
24
- *
25
- *
26
- *
27
- */
28
- export declare class UserAvatarComponent {
29
- private sanitizer;
30
- private elRef;
31
- private renderer;
32
- private currentUserId?;
33
- private defaultUserImage;
34
- /**
35
- * The user to display the avatar image for.
36
- */
37
- set user(u: YuvUser | undefined);
38
- img: SafeStyle | null;
39
- constructor(sanitizer: DomSanitizer, elRef: ElementRef, renderer: Renderer2);
40
- getUserImage(user: YuvUser): void;
41
- private setDefaulUserImage;
42
- static ɵfac: i0.ɵɵFactoryDeclaration<UserAvatarComponent, never>;
43
- static ɵcmp: i0.ɵɵComponentDeclaration<UserAvatarComponent, "yuv-user-avatar", never, { "user": { "alias": "user"; "required": false; }; }, {}, never, never, false, never>;
44
- }