@yuuvis/client-framework 1.0.3 → 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 +41 -67
  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,78 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, HostListener, computed, input, output, viewChild } from '@angular/core';
3
- import { Operator } from '@yuuvis/client-core';
4
- import { TokenInputComponent } from '@yuuvis/client-framework/common';
5
- import { ICONS, YvcIconModule } from '@yuuvis/components/icon';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@yuuvis/components/icon";
8
- export class TokenSearchComponent {
9
- constructor() {
10
- this.tokenInput = viewChild.required(TokenInputComponent);
11
- this.OPERATOR_TOKENS = [
12
- { id: 'and', label: 'AND', type: 'operator' },
13
- { id: 'or', label: 'OR', type: 'operator' }
14
- ];
15
- this.tokens = input.required();
16
- this.innerTokens = computed(() => [...this.OPERATOR_TOKENS, ...this.tokens()]);
17
- this.search = output();
18
- this._searchTokens = [];
19
- this.icons = {
20
- search: ICONS.search,
21
- clear: ICONS.clear
22
- };
23
- }
24
- onEnterKey(event) {
25
- this.generateQuery();
26
- }
27
- clearQuery() {
28
- this.tokenInput().clear();
29
- this.search.emit(undefined);
30
- }
31
- generateQuery() {
32
- const fields = {};
33
- const types = [];
34
- let term;
35
- // create a query from the tokens
36
- this._searchTokens.forEach((t, i) => {
37
- switch (t.type) {
38
- case 'type': {
39
- types.push(t.id);
40
- break;
41
- }
42
- case 'field': {
43
- const value = this._searchTokens[i + 1]?.label;
44
- fields[t.id] = value;
45
- break;
46
- }
47
- default: {
48
- if (i === 0) {
49
- term = this._searchTokens[i].label;
50
- }
51
- }
52
- }
53
- });
54
- const q = {
55
- types: types,
56
- term,
57
- filters: Object.keys(fields).map((f) => ({
58
- f,
59
- o: Operator.CONTAINS,
60
- v1: fields[f]
61
- }))
62
- };
63
- this.search.emit(q);
64
- }
65
- onTokenInputChange(tokens) {
66
- this._searchTokens = tokens;
67
- }
68
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TokenSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
69
- 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"] }] }); }
70
- }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TokenSearchComponent, decorators: [{
72
- type: Component,
73
- 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"] }]
74
- }], propDecorators: { onEnterKey: [{
75
- type: HostListener,
76
- args: ['keydown.enter', ['$event']]
77
- }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvdG9rZW4tc2VhcmNoL3NyYy90b2tlbi1zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay90b2tlbi1zZWFyY2gvc3JjL3Rva2VuLXNlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxRQUFRLEVBQWUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQWMsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRixPQUFPLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFVL0QsTUFBTSxPQUFPLG9CQUFvQjtJQVBqQztRQVFFLGVBQVUsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFN0Msb0JBQWUsR0FBa0I7WUFDdkMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUM3QyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO1NBQzVDLENBQUM7UUFNRixXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBaUIsQ0FBQztRQUN6QyxnQkFBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFMUUsV0FBTSxHQUFHLE1BQU0sRUFBMkIsQ0FBQztRQUUzQyxrQkFBYSxHQUFrQixFQUFFLENBQUM7UUFFbEMsVUFBSyxHQUFHO1lBQ04sTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztTQUNuQixDQUFDO0tBNkNIO0lBM0Q0QyxVQUFVLENBQUMsS0FBb0I7UUFDeEUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFjRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxhQUFhO1FBQ1gsTUFBTSxNQUFNLEdBQXdCLEVBQUUsQ0FBQztRQUN2QyxNQUFNLEtBQUssR0FBYSxFQUFFLENBQUM7UUFDM0IsSUFBSSxJQUFJLENBQUM7UUFDVCxpQ0FBaUM7UUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbEMsUUFBUSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2YsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDO29CQUNaLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNqQixNQUFNO2dCQUNSLENBQUM7Z0JBQ0QsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUNiLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQztvQkFDL0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUM7b0JBQ3JCLE1BQU07Z0JBQ1IsQ0FBQztnQkFDRCxPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO3dCQUNaLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztvQkFDckMsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLEdBQWdCO1lBQ3JCLEtBQUssRUFBRSxLQUFLO1lBQ1osSUFBSTtZQUNKLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDdkMsQ0FBQztnQkFDRCxDQUFDLEVBQUUsUUFBUSxDQUFDLFFBQVE7Z0JBQ3BCLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO2FBQ2QsQ0FBQyxDQUFDO1NBQ0osQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxNQUFvQjtRQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQXVCLENBQUM7SUFDL0MsQ0FBQzsrR0FsRVUsb0JBQW9CO21HQUFwQixvQkFBb0IsNlZBQ0MsbUJBQW1CLGdFQ2ZyRCwrVUFTQSxrTERDWSxZQUFZLCtCQUFFLG1CQUFtQixxSEFBRSxhQUFhOzs0RkFJL0Msb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxDQUFDOzhCQVloQixVQUFVO3NCQUFwRCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgY29tcHV0ZWQsIGlucHV0LCBvdXRwdXQsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3BlcmF0b3IsIFNlYXJjaFF1ZXJ5IH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBJbnB1dFRva2VuLCBUb2tlbklucHV0Q29tcG9uZW50IH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2NvbW1vbic7XG5pbXBvcnQgeyBJQ09OUywgWXZjSWNvbk1vZHVsZSB9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy9pY29uJztcbmltcG9ydCB7IFNlYXJjaFRva2VuIH0gZnJvbSAnLi90b2tlbi1zZWFyY2guaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneXV2LXRva2VuLXNlYXJjaCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRva2VuSW5wdXRDb21wb25lbnQsIFl2Y0ljb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9rZW4tc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Rva2VuLXNlYXJjaC5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgVG9rZW5TZWFyY2hDb21wb25lbnQge1xuICB0b2tlbklucHV0ID0gdmlld0NoaWxkLnJlcXVpcmVkKFRva2VuSW5wdXRDb21wb25lbnQpO1xuXG4gIHByaXZhdGUgT1BFUkFUT1JfVE9LRU5TOiBTZWFyY2hUb2tlbltdID0gW1xuICAgIHsgaWQ6ICdhbmQnLCBsYWJlbDogJ0FORCcsIHR5cGU6ICdvcGVyYXRvcicgfSxcbiAgICB7IGlkOiAnb3InLCBsYWJlbDogJ09SJywgdHlwZTogJ29wZXJhdG9yJyB9XG4gIF07XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50J10pIG9uRW50ZXJLZXkoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICB0aGlzLmdlbmVyYXRlUXVlcnkoKTtcbiAgfVxuXG4gIHRva2VucyA9IGlucHV0LnJlcXVpcmVkPFNlYXJjaFRva2VuW10+KCk7XG4gIGlubmVyVG9rZW5zID0gY29tcHV0ZWQoKCkgPT4gWy4uLnRoaXMuT1BFUkFUT1JfVE9LRU5TLCAuLi50aGlzLnRva2VucygpXSk7XG5cbiAgc2VhcmNoID0gb3V0cHV0PFNlYXJjaFF1ZXJ5IHwgdW5kZWZpbmVkPigpO1xuXG4gIF9zZWFyY2hUb2tlbnM6IFNlYXJjaFRva2VuW10gPSBbXTtcblxuICBpY29ucyA9IHtcbiAgICBzZWFyY2g6IElDT05TLnNlYXJjaCxcbiAgICBjbGVhcjogSUNPTlMuY2xlYXJcbiAgfTtcblxuICBjbGVhclF1ZXJ5KCkge1xuICAgIHRoaXMudG9rZW5JbnB1dCgpLmNsZWFyKCk7XG4gICAgdGhpcy5zZWFyY2guZW1pdCh1bmRlZmluZWQpO1xuICB9XG5cbiAgZ2VuZXJhdGVRdWVyeSgpIHtcbiAgICBjb25zdCBmaWVsZHM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICBjb25zdCB0eXBlczogc3RyaW5nW10gPSBbXTtcbiAgICBsZXQgdGVybTtcbiAgICAvLyBjcmVhdGUgYSBxdWVyeSBmcm9tIHRoZSB0b2tlbnNcbiAgICB0aGlzLl9zZWFyY2hUb2tlbnMuZm9yRWFjaCgodCwgaSkgPT4ge1xuICAgICAgc3dpdGNoICh0LnR5cGUpIHtcbiAgICAgICAgY2FzZSAndHlwZSc6IHtcbiAgICAgICAgICB0eXBlcy5wdXNoKHQuaWQpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ2ZpZWxkJzoge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5fc2VhcmNoVG9rZW5zW2kgKyAxXT8ubGFiZWw7XG4gICAgICAgICAgZmllbGRzW3QuaWRdID0gdmFsdWU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIGlmIChpID09PSAwKSB7XG4gICAgICAgICAgICB0ZXJtID0gdGhpcy5fc2VhcmNoVG9rZW5zW2ldLmxhYmVsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IHE6IFNlYXJjaFF1ZXJ5ID0ge1xuICAgICAgdHlwZXM6IHR5cGVzLFxuICAgICAgdGVybSxcbiAgICAgIGZpbHRlcnM6IE9iamVjdC5rZXlzKGZpZWxkcykubWFwKChmKSA9PiAoe1xuICAgICAgICBmLFxuICAgICAgICBvOiBPcGVyYXRvci5DT05UQUlOUyxcbiAgICAgICAgdjE6IGZpZWxkc1tmXVxuICAgICAgfSkpXG4gICAgfTtcbiAgICB0aGlzLnNlYXJjaC5lbWl0KHEpO1xuICB9XG5cbiAgb25Ub2tlbklucHV0Q2hhbmdlKHRva2VuczogSW5wdXRUb2tlbltdKSB7XG4gICAgdGhpcy5fc2VhcmNoVG9rZW5zID0gdG9rZW5zIGFzIFNlYXJjaFRva2VuW107XG4gIH1cbn1cbiIsIjx5dXYtdG9rZW4taW5wdXQgW3Rva2Vuc109XCJpbm5lclRva2VucygpXCIgKGNoYW5nZSk9XCJvblRva2VuSW5wdXRDaGFuZ2UoJGV2ZW50KVwiPjwveXV2LXRva2VuLWlucHV0PlxuQGlmIChfc2VhcmNoVG9rZW5zLmxlbmd0aCkge1xuICA8YnV0dG9uIChjbGljayk9XCJjbGVhclF1ZXJ5KClcIj5cbiAgICA8eXZjLWljb24gW3N2Z109XCJpY29ucy5jbGVhclwiPjwveXZjLWljb24+XG4gIDwvYnV0dG9uPlxufVxuPGJ1dHRvbiAoY2xpY2spPVwiZ2VuZXJhdGVRdWVyeSgpXCI+XG4gIDx5dmMtaWNvbiBbc3ZnXT1cImljb25zLnNlYXJjaFwiPjwveXZjLWljb24+XG48L2J1dHRvbj5cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tc2VhcmNoLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvdG9rZW4tc2VhcmNoL3NyYy90b2tlbi1zZWFyY2guaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dFRva2VuIH0gZnJvbSBcIkB5dXV2aXMvY2xpZW50LWZyYW1ld29yay9jb21tb25cIjtcblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hUb2tlbiBleHRlbmRzIElucHV0VG9rZW4ge1xuICAgIHR5cGU6ICdmaWVsZCcgfCAndHlwZScgfCAnb3BlcmF0b3InO1xuICB9Il19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXV1dmlzLWNsaWVudC1mcmFtZXdvcmstdG9rZW4tc2VhcmNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay90b2tlbi1zZWFyY2gvc3JjL3l1dXZpcy1jbGllbnQtZnJhbWV3b3JrLXRva2VuLXNlYXJjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './lib/tree.component';
2
- export * from './lib/tree.interface';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL3RyZWUvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3RyZWUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RyZWUuaW50ZXJmYWNlJzsiXX0=
@@ -1,65 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, HostBinding, effect, inject, input } from '@angular/core';
3
- import { YvcIconModule } from '@yuuvis/components/icon';
4
- import { TreeService } from '../tree.service';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@yuuvis/components/icon";
8
- export class TreeNodeComponent {
9
- constructor() {
10
- this.treeService = inject(TreeService);
11
- this.node = input.required();
12
- this.toggleIcon = input('<svg xmlns="http://www.w3.org/2000/svg" height="18px" viewBox="0 -960 960 960" width="18px"><path d="M522-480 333-669l51-51 240 240-240 240-51-51 189-189Z"/></svg>');
13
- this.focused = false;
14
- this.selected = false;
15
- this.expanded = false;
16
- this._selectedNodes = [];
17
- this._subs = [];
18
- this.treeSelectEffect = effect(() => {
19
- this._setSelection();
20
- this.expanded = !!this.node().expanded;
21
- });
22
- }
23
- select(evt) {
24
- this.treeService.selectNode(this.node(), evt.ctrlKey);
25
- }
26
- toggleExpanded() {
27
- this.node().expanded = !this.node().expanded;
28
- this.expanded = !!this.node().expanded;
29
- }
30
- _setSelection() {
31
- if (!this.node())
32
- return;
33
- this.selected = this._selectedNodes.includes(this.node().id);
34
- }
35
- ngOnInit() {
36
- this._subs.push(this.treeService.selection$.subscribe((selection) => {
37
- this._selectedNodes = selection.map((n) => n.id);
38
- this._setSelection();
39
- }));
40
- this._subs.push(this.treeService.nodeFocus$.subscribe((id) => {
41
- this.focused = this.node().id === id;
42
- }));
43
- }
44
- ngOnDestroy() {
45
- this._subs.forEach((s) => s.unsubscribe());
46
- }
47
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TreeNodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TreeNodeComponent, isStandalone: true, selector: "yuv-tree-node", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: true, transformFunction: null }, toggleIcon: { classPropertyName: "toggleIcon", publicName: "toggleIcon", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "treeitem" }, properties: { "class.focused": "this.focused", "attr.aria-selected": "this.selected", "attr.aria-expanded": "this.expanded" } }, ngImport: i0, template: "@if (node().children?.length) {\n <!-- toggle children button-->\n <!-- TODO: title should be i18n -->\n <button class=\"toggle\" (click)=\"toggleExpanded()\" title=\"toggle Expand\">\n <yvc-icon [svg]=\"toggleIcon()\"></yvc-icon>\n </button>\n}\n<div class=\"node-label\" [attr.node-id]=\"node().id\" [ngClass]=\"{ selectable: node().selectable }\" (click)=\"select($event)\">\n @if (node().icon) {\n <yvc-icon class=\"node-icon\" [svg]=\"node().icon!\"></yvc-icon>\n }\n <div class=\"label\">{{ node().label }}</div>\n</div>\n\n@if (node().expanded) {\n <div class=\"children\">\n @for (childNode of node().children; track $index) {\n <yuv-tree-node [toggleIcon]=\"toggleIcon()\" [node]=\"childNode\"></yuv-tree-node>\n }\n </div>\n}\n", styles: [":host-context(:focus).focused>.node-label{background-color:var(--item-focus-background-color);outline:1px solid var(--text-color-hint);outline-offset:-3px}:host-context([selectable])[aria-selected=true]>.node-label{background-color:var(--item-selected-background-color)}:host-context([selectable])[aria-selected=true]>.node-label:hover{background-color:var(--item-selected-background-color)}:host{display:grid;grid-template-rows:auto auto;grid-template-columns:var(--toggle-icon-size) 1fr;grid-template-areas:\"toggle label\" \"child child\";align-items:center}:host .node-label{grid-area:label;display:flex;flex-flow:row nowrap;align-items:center}:host .node-label.selectable{cursor:pointer}:host .node-label:hover{background-color:var(--item-focus-background-color)}:host .node-label .label{padding:var(--node-padding);text-align:start;color:var(--text-color-body);background-color:transparent;-webkit-user-select:none;user-select:none;flex:1}:host .node-label .node-icon{color:var(--text-color-caption)}:host .children{grid-area:child;padding-inline-start:var(--node-indent)}:host[aria-expanded=true] button.toggle{rotate:90deg}:host button.toggle{grid-area:toggle;border:0;padding:2px;border-radius:50%;justify-self:center;align-self:center}:host button.toggle yvc-icon{--icon-size: var(--toggle-icon-size)}\n"], dependencies: [{ kind: "component", type: TreeNodeComponent, selector: "yuv-tree-node", inputs: ["node", "toggleIcon"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: YvcIconModule }, { kind: "component", type: i2.Icon, selector: "yvc-icon", inputs: ["label", "svg", "svgSrc"] }] }); }
49
- }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TreeNodeComponent, decorators: [{
51
- type: Component,
52
- args: [{ selector: 'yuv-tree-node', standalone: true, imports: [CommonModule, YvcIconModule], host: {
53
- role: 'treeitem'
54
- }, template: "@if (node().children?.length) {\n <!-- toggle children button-->\n <!-- TODO: title should be i18n -->\n <button class=\"toggle\" (click)=\"toggleExpanded()\" title=\"toggle Expand\">\n <yvc-icon [svg]=\"toggleIcon()\"></yvc-icon>\n </button>\n}\n<div class=\"node-label\" [attr.node-id]=\"node().id\" [ngClass]=\"{ selectable: node().selectable }\" (click)=\"select($event)\">\n @if (node().icon) {\n <yvc-icon class=\"node-icon\" [svg]=\"node().icon!\"></yvc-icon>\n }\n <div class=\"label\">{{ node().label }}</div>\n</div>\n\n@if (node().expanded) {\n <div class=\"children\">\n @for (childNode of node().children; track $index) {\n <yuv-tree-node [toggleIcon]=\"toggleIcon()\" [node]=\"childNode\"></yuv-tree-node>\n }\n </div>\n}\n", styles: [":host-context(:focus).focused>.node-label{background-color:var(--item-focus-background-color);outline:1px solid var(--text-color-hint);outline-offset:-3px}:host-context([selectable])[aria-selected=true]>.node-label{background-color:var(--item-selected-background-color)}:host-context([selectable])[aria-selected=true]>.node-label:hover{background-color:var(--item-selected-background-color)}:host{display:grid;grid-template-rows:auto auto;grid-template-columns:var(--toggle-icon-size) 1fr;grid-template-areas:\"toggle label\" \"child child\";align-items:center}:host .node-label{grid-area:label;display:flex;flex-flow:row nowrap;align-items:center}:host .node-label.selectable{cursor:pointer}:host .node-label:hover{background-color:var(--item-focus-background-color)}:host .node-label .label{padding:var(--node-padding);text-align:start;color:var(--text-color-body);background-color:transparent;-webkit-user-select:none;user-select:none;flex:1}:host .node-label .node-icon{color:var(--text-color-caption)}:host .children{grid-area:child;padding-inline-start:var(--node-indent)}:host[aria-expanded=true] button.toggle{rotate:90deg}:host button.toggle{grid-area:toggle;border:0;padding:2px;border-radius:50%;justify-self:center;align-self:center}:host button.toggle yvc-icon{--icon-size: var(--toggle-icon-size)}\n"] }]
55
- }], propDecorators: { focused: [{
56
- type: HostBinding,
57
- args: ['class.focused']
58
- }], selected: [{
59
- type: HostBinding,
60
- args: ['attr.aria-selected']
61
- }], expanded: [{
62
- type: HostBinding,
63
- args: ['attr.aria-expanded']
64
- }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvdHJlZS9zcmMvbGliL3RyZWUtbm9kZS90cmVlLW5vZGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay90cmVlL3NyYy9saWIvdHJlZS1ub2RlL3RyZWUtbm9kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQXFCLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUd4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFZOUMsTUFBTSxPQUFPLGlCQUFpQjtJQVY5QjtRQVdVLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTFDLFNBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFZLENBQUM7UUFDbEMsZUFBVSxHQUFHLEtBQUssQ0FDaEIscUtBQXFLLENBQ3RLLENBQUM7UUFDNEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNYLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUU1QyxtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUM5QixVQUFLLEdBQW1CLEVBQUUsQ0FBQztRQUVuQyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQzdCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO0tBaUNKO0lBL0JDLE1BQU0sQ0FBQyxHQUErQjtRQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUM7UUFDN0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUN6QyxDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUFFLE9BQU87UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDYixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFxQixFQUFFLEVBQUU7WUFDOUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDYixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUE2QixFQUFFLEVBQUU7WUFDdEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQzsrR0FqRFUsaUJBQWlCO21HQUFqQixpQkFBaUIsNmZDakI5Qiw2dkJBcUJBLDIxQ0RKYSxpQkFBaUIseUZBUGxCLFlBQVksNEhBQUUsYUFBYTs7NEZBTzFCLGlCQUFpQjtrQkFWN0IsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxRQUdoQzt3QkFDSixJQUFJLEVBQUUsVUFBVTtxQkFDakI7OEJBUzZCLE9BQU87c0JBQXBDLFdBQVc7dUJBQUMsZUFBZTtnQkFDTyxRQUFRO3NCQUExQyxXQUFXO3VCQUFDLG9CQUFvQjtnQkFDRSxRQUFRO3NCQUExQyxXQUFXO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBPbkRlc3Ryb3ksIE9uSW5pdCwgZWZmZWN0LCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBZdmNJY29uTW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUcmVlTm9kZSB9IGZyb20gJy4uL3RyZWUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRyZWVTZXJ2aWNlIH0gZnJvbSAnLi4vdHJlZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneXV2LXRyZWUtbm9kZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFl2Y0ljb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vdHJlZS1ub2RlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3RyZWUtbm9kZS5jb21wb25lbnQuc2NzcycsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAndHJlZWl0ZW0nXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgVHJlZU5vZGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgdHJlZVNlcnZpY2UgPSBpbmplY3QoVHJlZVNlcnZpY2UpO1xuXG4gIG5vZGUgPSBpbnB1dC5yZXF1aXJlZDxUcmVlTm9kZT4oKTtcbiAgdG9nZ2xlSWNvbiA9IGlucHV0PHN0cmluZz4oXG4gICAgJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjE4cHhcIiB2aWV3Qm94PVwiMCAtOTYwIDk2MCA5NjBcIiB3aWR0aD1cIjE4cHhcIj48cGF0aCBkPVwiTTUyMi00ODAgMzMzLTY2OWw1MS01MSAyNDAgMjQwLTI0MCAyNDAtNTEtNTEgMTg5LTE4OVpcIi8+PC9zdmc+J1xuICApO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZvY3VzZWQnKSBmb2N1c2VkID0gZmFsc2U7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLXNlbGVjdGVkJykgc2VsZWN0ZWQgPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKSBleHBhbmRlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX3NlbGVjdGVkTm9kZXM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgdHJlZVNlbGVjdEVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgdGhpcy5fc2V0U2VsZWN0aW9uKCk7XG4gICAgdGhpcy5leHBhbmRlZCA9ICEhdGhpcy5ub2RlKCkuZXhwYW5kZWQ7XG4gIH0pO1xuXG4gIHNlbGVjdChldnQ6IE1vdXNlRXZlbnQgfCBLZXlib2FyZEV2ZW50KSB7XG4gICAgdGhpcy50cmVlU2VydmljZS5zZWxlY3ROb2RlKHRoaXMubm9kZSgpLCBldnQuY3RybEtleSk7XG4gIH1cblxuICB0b2dnbGVFeHBhbmRlZCgpIHtcbiAgICB0aGlzLm5vZGUoKS5leHBhbmRlZCA9ICF0aGlzLm5vZGUoKS5leHBhbmRlZDtcbiAgICB0aGlzLmV4cGFuZGVkID0gISF0aGlzLm5vZGUoKS5leHBhbmRlZDtcbiAgfVxuXG4gIHByaXZhdGUgX3NldFNlbGVjdGlvbigpIHtcbiAgICBpZiAoIXRoaXMubm9kZSgpKSByZXR1cm47XG4gICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMuX3NlbGVjdGVkTm9kZXMuaW5jbHVkZXModGhpcy5ub2RlKCkuaWQpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vicy5wdXNoKFxuICAgICAgdGhpcy50cmVlU2VydmljZS5zZWxlY3Rpb24kLnN1YnNjcmliZSgoc2VsZWN0aW9uOiBUcmVlTm9kZVtdKSA9PiB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkTm9kZXMgPSBzZWxlY3Rpb24ubWFwKChuKSA9PiBuLmlkKTtcbiAgICAgICAgdGhpcy5fc2V0U2VsZWN0aW9uKCk7XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5fc3Vicy5wdXNoKFxuICAgICAgdGhpcy50cmVlU2VydmljZS5ub2RlRm9jdXMkLnN1YnNjcmliZSgoaWQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpID0+IHtcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gdGhpcy5ub2RlKCkuaWQgPT09IGlkO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKChzKSA9PiBzLnVuc3Vic2NyaWJlKCkpO1xuICB9XG59XG4iLCJAaWYgKG5vZGUoKS5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gIDwhLS0gdG9nZ2xlIGNoaWxkcmVuIGJ1dHRvbi0tPlxuICA8IS0tIFRPRE86IHRpdGxlIHNob3VsZCBiZSBpMThuIC0tPlxuICA8YnV0dG9uIGNsYXNzPVwidG9nZ2xlXCIgKGNsaWNrKT1cInRvZ2dsZUV4cGFuZGVkKClcIiB0aXRsZT1cInRvZ2dsZSBFeHBhbmRcIj5cbiAgICA8eXZjLWljb24gW3N2Z109XCJ0b2dnbGVJY29uKClcIj48L3l2Yy1pY29uPlxuICA8L2J1dHRvbj5cbn1cbjxkaXYgY2xhc3M9XCJub2RlLWxhYmVsXCIgW2F0dHIubm9kZS1pZF09XCJub2RlKCkuaWRcIiBbbmdDbGFzc109XCJ7IHNlbGVjdGFibGU6IG5vZGUoKS5zZWxlY3RhYmxlIH1cIiAoY2xpY2spPVwic2VsZWN0KCRldmVudClcIj5cbiAgQGlmIChub2RlKCkuaWNvbikge1xuICAgIDx5dmMtaWNvbiBjbGFzcz1cIm5vZGUtaWNvblwiIFtzdmddPVwibm9kZSgpLmljb24hXCI+PC95dmMtaWNvbj5cbiAgfVxuICA8ZGl2IGNsYXNzPVwibGFiZWxcIj57eyBub2RlKCkubGFiZWwgfX08L2Rpdj5cbjwvZGl2PlxuXG5AaWYgKG5vZGUoKS5leHBhbmRlZCkge1xuICA8ZGl2IGNsYXNzPVwiY2hpbGRyZW5cIj5cbiAgICBAZm9yIChjaGlsZE5vZGUgb2Ygbm9kZSgpLmNoaWxkcmVuOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgIDx5dXYtdHJlZS1ub2RlIFt0b2dnbGVJY29uXT1cInRvZ2dsZUljb24oKVwiIFtub2RlXT1cImNoaWxkTm9kZVwiPjwveXV2LXRyZWUtbm9kZT5cbiAgICB9XG4gIDwvZGl2PlxufVxuIl19
@@ -1,148 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, ElementRef, HostAttributeToken, HostBinding, HostListener, Input, effect, inject, input, output } from '@angular/core';
3
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
- import { TreeNodeComponent } from './tree-node/tree-node.component';
5
- import { TreeService } from './tree.service';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * Component rendering a tree.
9
- */
10
- export class TreeComponent {
11
- set _focusedIndex(idx) {
12
- this.__focusedIndex = idx;
13
- this.treeService.focusNode(this.items?.item(idx).getAttribute('node-id'));
14
- }
15
- get _focusedIndex() {
16
- return this.__focusedIndex;
17
- }
18
- /**
19
- * IDs of nodes that should be set 'selected'.
20
- */
21
- set selectedNodes(nodeIds) {
22
- this.treeService.setSelection(nodeIds);
23
- }
24
- onKeydown(event) {
25
- switch (event.code) {
26
- case 'ArrowDown': {
27
- if ((this.items && this._focusedIndex === this.items.length - 1) || this.__focusedIndex === -1) {
28
- this._focusedIndex = 0;
29
- }
30
- else
31
- this._focusedIndex++;
32
- break;
33
- }
34
- case 'ArrowUp': {
35
- if (this.items && (this._focusedIndex === 0 || this.__focusedIndex === -1)) {
36
- this._focusedIndex = this.items.length - 1;
37
- }
38
- else
39
- this._focusedIndex--;
40
- break;
41
- }
42
- case 'ArrowRight': {
43
- this._toggle();
44
- break;
45
- }
46
- case 'ArrowLeft': {
47
- this._toggle();
48
- break;
49
- }
50
- case 'Space': {
51
- this._selectFocusedNode(event.ctrlKey);
52
- break;
53
- }
54
- case 'Enter': {
55
- this._selectFocusedNode(event.ctrlKey);
56
- break;
57
- }
58
- }
59
- }
60
- constructor() {
61
- this.treeService = inject(TreeService);
62
- this.elRef = inject(ElementRef);
63
- this._observer = new MutationObserver(() => {
64
- this._getVisibleNodes();
65
- });
66
- /**
67
- * The tree to be rendered
68
- */
69
- this.tree = input.required();
70
- /**
71
- * Whether or not multiple nodes should be selectable. Only works when selection is enableed by
72
- * setting 'selectable' attribute:
73
- *
74
- * ```html
75
- * <yuv-tree selectable [multiselect]="true"></yuv-tree
76
- * ```
77
- */
78
- this.multiselect = input(false);
79
- /**
80
- * Host attribute to enable persistent selection of nodes.
81
- */
82
- this.selectable = inject(new HostAttributeToken('selectable'), { optional: true });
83
- this.__focusedIndex = -1;
84
- /**
85
- * Emitted when selection changes
86
- */
87
- this.selectionChange = output();
88
- this.tabindex = '0';
89
- this.setTreeEffect = effect(() => {
90
- this.treeService.setTree(this.tree());
91
- // if (this.tree()) this.selectedNodes = [];
92
- });
93
- this.setTreeMultiselectEffect = effect(() => (this.treeService.multiselect = this.multiselect()));
94
- this.treeService.nodeClick$.pipe(takeUntilDestroyed()).subscribe((node) => {
95
- const idx = Array.from(this.items || []).findIndex((i) => i.getAttribute('node-id') === node.id);
96
- if (idx !== -1)
97
- this._focusedIndex = idx;
98
- });
99
- this.treeService.selection$.pipe(takeUntilDestroyed()).subscribe((selection) => {
100
- this.selectionChange.emit(selection);
101
- });
102
- }
103
- _toggle() {
104
- this.treeService.toggleNode(this._getFocusedNodeId());
105
- }
106
- _selectFocusedNode(ctrlKey = false) {
107
- const fid = this._getFocusedNodeId();
108
- if (fid)
109
- this.treeService.selectNodeByID(fid, ctrlKey);
110
- }
111
- _getFocusedNodeId() {
112
- return Array.from(this.items || [])[this.__focusedIndex].getAttribute('node-id');
113
- }
114
- _getVisibleNodes() {
115
- this.items = this.elRef.nativeElement.querySelectorAll('.node-label');
116
- }
117
- ngAfterViewInit() {
118
- this._getVisibleNodes();
119
- this._observer.observe(this.elRef.nativeElement, {
120
- childList: true,
121
- subtree: true
122
- });
123
- }
124
- ngOnDestroy() {
125
- this._observer.disconnect();
126
- }
127
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
128
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: TreeComponent, isStandalone: true, selector: "yuv-tree", inputs: { tree: { classPropertyName: "tree", publicName: "tree", isSignal: true, isRequired: true, transformFunction: null }, multiselect: { classPropertyName: "multiselect", publicName: "multiselect", isSignal: true, isRequired: false, transformFunction: null }, selectedNodes: { classPropertyName: "selectedNodes", publicName: "selectedNodes", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { selectionChange: "selectionChange" }, host: { attributes: { "role": "tree" }, listeners: { "keydown": "onKeydown($event)" }, properties: { "class.selectable": "this.selectable", "attr.tabindex": "this.tabindex" }, classAttribute: "yuv-tree" }, providers: [TreeService], ngImport: i0, template: "@for (node of tree().nodes; track node.id) {\n <yuv-tree-node [node]=\"node\"></yuv-tree-node>\n}\n", styles: [":host{--toggle-icon-size: 18px;--node-padding: calc(var(--app-pane-padding) / 2);--node-indent: var(--toggle-icon-size)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: TreeNodeComponent, selector: "yuv-tree-node", inputs: ["node", "toggleIcon"] }] }); }
129
- }
130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TreeComponent, decorators: [{
131
- type: Component,
132
- args: [{ selector: 'yuv-tree', standalone: true, imports: [CommonModule, TreeNodeComponent], providers: [TreeService], host: {
133
- class: 'yuv-tree',
134
- role: 'tree'
135
- }, template: "@for (node of tree().nodes; track node.id) {\n <yuv-tree-node [node]=\"node\"></yuv-tree-node>\n}\n", styles: [":host{--toggle-icon-size: 18px;--node-padding: calc(var(--app-pane-padding) / 2);--node-indent: var(--toggle-icon-size)}\n"] }]
136
- }], ctorParameters: () => [], propDecorators: { selectable: [{
137
- type: HostBinding,
138
- args: ['class.selectable']
139
- }], selectedNodes: [{
140
- type: Input
141
- }], tabindex: [{
142
- type: HostBinding,
143
- args: ['attr.tabindex']
144
- }], onKeydown: [{
145
- type: HostListener,
146
- args: ['keydown', ['$event']]
147
- }] } });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL3RyZWUvc3JjL2xpYi90cmVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvdHJlZS9zcmMvbGliL3RyZWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUU3Qzs7R0FFRztBQWFILE1BQU0sT0FBTyxhQUFhO0lBZ0N4QixJQUFZLGFBQWEsQ0FBQyxHQUFXO1FBQ25DLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFDRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBYSxhQUFhLENBQUMsT0FBaUI7UUFDMUMsSUFBSSxDQUFDLFdBQVcs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QUFTLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUE2QixDQUFDLGdCQUFnQixDQUFjLGFBQWEsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUU7WUFDL0MsU0FBUyxFQUFFLElBQUk7WUFDZixPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM5QixDQUFDOytHQWhJVSxhQUFhO21HQUFiLGFBQWEsaXRCQVJiLENBQUMsV0FBVyxDQUFDLDBCQzNCMUIsc0dBR0EsbUxEdUJZLFlBQVksK0JBQUUsaUJBQWlCOzs0RkFTOUIsYUFBYTtrQkFaekIsU0FBUzsrQkFDRSxVQUFVLGNBQ1IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGlCQUFpQixDQUFDLGFBQy9CLENBQUMsV0FBVyxDQUFDLFFBR2xCO3dCQUNKLEtBQUssRUFBRSxVQUFVO3dCQUNqQixJQUFJLEVBQUUsTUFBTTtxQkFDYjt3REErQkQsVUFBVTtzQkFEVCxXQUFXO3VCQUFDLGtCQUFrQjtnQkFlbEIsYUFBYTtzQkFBekIsS0FBSztnQkFTaUMsUUFBUTtzQkFBOUMsV0FBVzt1QkFBQyxlQUFlO2dCQUNTLFNBQVM7c0JBQTdDLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEF0dHJpYnV0ZVRva2VuLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFRyZWVOb2RlQ29tcG9uZW50IH0gZnJvbSAnLi90cmVlLW5vZGUvdHJlZS1ub2RlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmVlLCBUcmVlTm9kZSB9IGZyb20gJy4vdHJlZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVHJlZVNlcnZpY2UgfSBmcm9tICcuL3RyZWUuc2VydmljZSc7XG5cbi8qKlxuICogQ29tcG9uZW50IHJlbmRlcmluZyBhIHRyZWUuIFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd5dXYtdHJlZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyZWVOb2RlQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbVHJlZVNlcnZpY2VdLFxuICB0ZW1wbGF0ZVVybDogJy4vdHJlZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi90cmVlLmNvbXBvbmVudC5zY3NzJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAneXV2LXRyZWUnLFxuICAgIHJvbGU6ICd0cmVlJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIFRyZWVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHRyZWVTZXJ2aWNlID0gaW5qZWN0KFRyZWVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBlbFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBwcml2YXRlIGl0ZW1zPzogTm9kZUxpc3RPZjxIVE1MRWxlbWVudD47XG5cbiAgcHJpdmF0ZSBfb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgdGhpcy5fZ2V0VmlzaWJsZU5vZGVzKCk7XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBUaGUgdHJlZSB0byBiZSByZW5kZXJlZFxuICAgKi9cbiAgdHJlZSA9IGlucHV0LnJlcXVpcmVkPFRyZWU+KCk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IG11bHRpcGxlIG5vZGVzIHNob3VsZCBiZSBzZWxlY3RhYmxlLiBPbmx5IHdvcmtzIHdoZW4gc2VsZWN0aW9uIGlzIGVuYWJsZWVkIGJ5IFxuICAgKiBzZXR0aW5nICdzZWxlY3RhYmxlJyBhdHRyaWJ1dGU6XG4gICAqIFxuICAgKiBgYGBodG1sXG4gICAqIDx5dXYtdHJlZSBzZWxlY3RhYmxlIFttdWx0aXNlbGVjdF09XCJ0cnVlXCI+PC95dXYtdHJlZVxuICAgKiBgYGBcbiAgICovXG4gIG11bHRpc2VsZWN0ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBIb3N0IGF0dHJpYnV0ZSB0byBlbmFibGUgcGVyc2lzdGVudCBzZWxlY3Rpb24gb2Ygbm9kZXMuIFxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWxlY3RhYmxlJylcbiAgc2VsZWN0YWJsZTogc3RyaW5nIHwgbnVsbCA9IGluamVjdChuZXcgSG9zdEF0dHJpYnV0ZVRva2VuKCdzZWxlY3RhYmxlJyksIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgcHJpdmF0ZSBfX2ZvY3VzZWRJbmRleCA9IC0xO1xuICBwcml2YXRlIHNldCBfZm9jdXNlZEluZGV4KGlkeDogbnVtYmVyKSB7XG4gICAgdGhpcy5fX2ZvY3VzZWRJbmRleCA9IGlkeDtcbiAgICB0aGlzLnRyZWVTZXJ2aWNlLmZvY3VzTm9kZSh0aGlzLml0ZW1zPy5pdGVtKGlkeCkuZ2V0QXR0cmlidXRlKCdub2RlLWlkJykpO1xuICB9XG4gIGdldCBfZm9jdXNlZEluZGV4KCkge1xuICAgIHJldHVybiB0aGlzLl9fZm9jdXNlZEluZGV4O1xuICB9XG5cbiAgLyoqXG4gICAqIElEcyBvZiBub2RlcyB0aGF0IHNob3VsZCBiZSBzZXQgJ3NlbGVjdGVkJy5cbiAgICovXG4gIEBJbnB1dCgpIHNldCBzZWxlY3RlZE5vZGVzKG5vZGVJZHM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy50cmVlU2VydmljZS5zZXRTZWxlY3Rpb24obm9kZUlkcyk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHNlbGVjdGlvbiBjaGFuZ2VzXG4gICAqL1xuICBzZWxlY3Rpb25DaGFuZ2UgPSBvdXRwdXQ8VHJlZU5vZGVbXT4oKTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKSByZWFkb25seSB0YWJpbmRleCA9ICcwJztcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIHN3aXRjaCAoZXZlbnQuY29kZSkge1xuICAgICAgY2FzZSAnQXJyb3dEb3duJzoge1xuICAgICAgICBpZiAoKHRoaXMuaXRlbXMgJiYgdGhpcy5fZm9jdXNlZEluZGV4ID09PSB0aGlzLml0ZW1zLmxlbmd0aCAtIDEpIHx8IHRoaXMuX19mb2N1c2VkSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgdGhpcy5fZm9jdXNlZEluZGV4ID0gMDtcbiAgICAgICAgfSBlbHNlIHRoaXMuX2ZvY3VzZWRJbmRleCsrO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0Fycm93VXAnOiB7XG4gICAgICAgIGlmICh0aGlzLml0ZW1zICYmICh0aGlzLl9mb2N1c2VkSW5kZXggPT09IDAgfHwgdGhpcy5fX2ZvY3VzZWRJbmRleCA9PT0gLTEpKSB7XG4gICAgICAgICAgdGhpcy5fZm9jdXNlZEluZGV4ID0gdGhpcy5pdGVtcy5sZW5ndGggLSAxO1xuICAgICAgICB9IGVsc2UgdGhpcy5fZm9jdXNlZEluZGV4LS07XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnQXJyb3dSaWdodCc6IHtcbiAgICAgICAgdGhpcy5fdG9nZ2xlKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnQXJyb3dMZWZ0Jzoge1xuICAgICAgICB0aGlzLl90b2dnbGUoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdTcGFjZSc6IHtcbiAgICAgICAgdGhpcy5fc2VsZWN0Rm9jdXNlZE5vZGUoZXZlbnQuY3RybEtleSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnRW50ZXInOiB7XG4gICAgICAgIHRoaXMuX3NlbGVjdEZvY3VzZWROb2RlKGV2ZW50LmN0cmxLZXkpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgc2V0VHJlZUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgdGhpcy50cmVlU2VydmljZS5zZXRUcmVlKHRoaXMudHJlZSgpKTtcbiAgICAvLyBpZiAodGhpcy50cmVlKCkpIHRoaXMuc2VsZWN0ZWROb2RlcyA9IFtdO1xuICB9KTtcbiAgc2V0VHJlZU11bHRpc2VsZWN0RWZmZWN0ID0gZWZmZWN0KCgpID0+ICh0aGlzLnRyZWVTZXJ2aWNlLm11bHRpc2VsZWN0ID0gdGhpcy5tdWx0aXNlbGVjdCgpKSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy50cmVlU2VydmljZS5ub2RlQ2xpY2skLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgobm9kZSkgPT4ge1xuICAgICAgY29uc3QgaWR4ID0gQXJyYXkuZnJvbSh0aGlzLml0ZW1zIHx8IFtdKS5maW5kSW5kZXgoKGkpID0+IGkuZ2V0QXR0cmlidXRlKCdub2RlLWlkJykgPT09IG5vZGUuaWQpO1xuICAgICAgaWYgKGlkeCAhPT0gLTEpIHRoaXMuX2ZvY3VzZWRJbmRleCA9IGlkeDtcbiAgICB9KTtcbiAgICB0aGlzLnRyZWVTZXJ2aWNlLnNlbGVjdGlvbiQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKChzZWxlY3Rpb24pID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoc2VsZWN0aW9uKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3RvZ2dsZSgpIHtcbiAgICB0aGlzLnRyZWVTZXJ2aWNlLnRvZ2dsZU5vZGUodGhpcy5fZ2V0Rm9jdXNlZE5vZGVJZCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NlbGVjdEZvY3VzZWROb2RlKGN0cmxLZXkgPSBmYWxzZSkge1xuICAgIGNvbnN0IGZpZCA9IHRoaXMuX2dldEZvY3VzZWROb2RlSWQoKTtcbiAgICBpZiAoZmlkKSB0aGlzLnRyZWVTZXJ2aWNlLnNlbGVjdE5vZGVCeUlEKGZpZCwgY3RybEtleSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRGb2N1c2VkTm9kZUlkKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuaXRlbXMgfHwgW10pW3RoaXMuX19mb2N1c2VkSW5kZXhdLmdldEF0dHJpYnV0ZSgnbm9kZS1pZCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0VmlzaWJsZU5vZGVzKCkge1xuICAgIHRoaXMuaXRlbXMgPSAodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5xdWVyeVNlbGVjdG9yQWxsPEhUTUxFbGVtZW50PignLm5vZGUtbGFiZWwnKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9nZXRWaXNpYmxlTm9kZXMoKTtcbiAgICB0aGlzLl9vYnNlcnZlci5vYnNlcnZlKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwge1xuICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgc3VidHJlZTogdHJ1ZVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICB9XG59XG4iLCJAZm9yIChub2RlIG9mIHRyZWUoKS5ub2RlczsgdHJhY2sgbm9kZS5pZCkge1xuICA8eXV2LXRyZWUtbm9kZSBbbm9kZV09XCJub2RlXCI+PC95dXYtdHJlZS1ub2RlPlxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL3RyZWUvc3JjL2xpYi90cmVlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUcmVlTm9kZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgc2VsZWN0YWJsZT86IGJvb2xlYW47XG4gICAgZXhwYW5kZWQ/OiBib29sZWFuO1xuICAgIGNoaWxkcmVuPzogVHJlZU5vZGVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmVlIHtcbiAgICBub2RlczogVHJlZU5vZGVbXTtcbn0iXX0=
@@ -1,95 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { ReplaySubject, Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class TreeService {
5
- constructor() {
6
- this._selection = [];
7
- this._selectionSource = new ReplaySubject();
8
- this.selection$ = this._selectionSource.asObservable();
9
- this._nodeClickSource = new Subject();
10
- this.nodeClick$ = this._nodeClickSource.asObservable();
11
- this._nodeFocusSource = new ReplaySubject();
12
- this.nodeFocus$ = this._nodeFocusSource.asObservable();
13
- this.multiselect = false;
14
- }
15
- setTree(tree) {
16
- this._tree = tree;
17
- }
18
- focusNode(id) {
19
- this._nodeFocusSource.next(id);
20
- }
21
- toggleNode(id) {
22
- if (id) {
23
- const node = this._getNodeById(id);
24
- if (node)
25
- node.expanded = !node.expanded;
26
- }
27
- }
28
- selectNodeByID(id, ctrlKey = false) {
29
- const node = this._getNodeById(id);
30
- if (node)
31
- this.selectNode(node, ctrlKey);
32
- }
33
- /**
34
- * Select a tree node. If the node has already been selected it'll be
35
- * removed from the selection. Otherwise it will be added. By default selection
36
- * will only contain a single node. If `multiselect` is set to true and CTRL is
37
- * pressed the current collection will be extended.
38
- * @param node The tree node to be added/removed
39
- * @param ctrlKey Whether or not the CTRL key has been pressed
40
- * @returns The updated list of selected tree nodes
41
- */
42
- selectNode(node, ctrlKey = false) {
43
- if (node.selectable) {
44
- if (!this.multiselect || !ctrlKey) {
45
- this._selection = [node];
46
- }
47
- else {
48
- const ids = this._selection.map((n) => n.id);
49
- if (ids.includes(node.id))
50
- this._selection = this._selection.filter((n) => n.id !== node.id);
51
- else
52
- this._selection.push(node);
53
- }
54
- this._selectionSource.next(this._selection);
55
- }
56
- this._nodeClickSource.next(node);
57
- }
58
- setSelection(nodeIds) {
59
- this._resolveSelectedNodes(nodeIds);
60
- this._selectionSource.next(this._selection);
61
- }
62
- _getNodeById(id) {
63
- return this._tree ? this._getChildNodeById(id, this._tree.nodes) : undefined;
64
- }
65
- _getChildNodeById(id, nodes) {
66
- let match;
67
- nodes.forEach((n) => {
68
- if (n.id === id)
69
- match = n;
70
- if (!match && n.children)
71
- match = this._getChildNodeById(id, n.children);
72
- });
73
- return match;
74
- }
75
- _resolveSelectedNodes(nodeIDs) {
76
- this._selection = [];
77
- if (!this._tree)
78
- return;
79
- this._resolveChildren(nodeIDs, this._tree.nodes);
80
- }
81
- _resolveChildren(nodeIDs, nodes) {
82
- nodes.forEach((n) => {
83
- if (nodeIDs.includes(n.id))
84
- this._selection.push(n);
85
- if (n.children?.length)
86
- this._resolveChildren(nodeIDs, n.children);
87
- });
88
- }
89
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TreeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
90
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TreeService }); }
91
- }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TreeService, decorators: [{
93
- type: Injectable
94
- }] });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay90cmVlL3NyYy9saWIvdHJlZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSTFELE1BQU0sT0FBTyxXQUFXO0lBRHhCO1FBR1UsZUFBVSxHQUFlLEVBQUUsQ0FBQztRQUM1QixxQkFBZ0IsR0FBRyxJQUFJLGFBQWEsRUFBYyxDQUFDO1FBQzNELGVBQVUsR0FBMkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWxFLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFZLENBQUM7UUFDbkQsZUFBVSxHQUF5QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFaEUscUJBQWdCLEdBQUcsSUFBSSxhQUFhLEVBQTZCLENBQUM7UUFDMUUsZUFBVSxHQUEwQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFekYsZ0JBQVcsR0FBRyxLQUFLLENBQUM7S0EwRXJCO0lBeEVDLE9BQU8sQ0FBQyxJQUFVO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxTQUFTLENBQUMsRUFBNkI7UUFDckMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsVUFBVSxDQUFDLEVBQWlCO1FBQzFCLElBQUksRUFBRSxFQUFFLENBQUM7WUFDUCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ25DLElBQUksSUFBSTtnQkFB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TyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDbEIsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLE1BQU07Z0JBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQXJGVSxXQUFXO21IQUFYLFdBQVc7OzRGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUcmVlLCBUcmVlTm9kZSB9IGZyb20gJy4vdHJlZS5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHJlZVNlcnZpY2Uge1xuICBwcml2YXRlIF90cmVlPzogVHJlZTtcbiAgcHJpdmF0ZSBfc2VsZWN0aW9uOiBUcmVlTm9kZVtdID0gW107XG4gIHByaXZhdGUgX3NlbGVjdGlvblNvdXJjZSA9IG5ldyBSZXBsYXlTdWJqZWN0PFRyZWVOb2RlW10+KCk7XG4gIHNlbGVjdGlvbiQ6IE9ic2VydmFibGU8VHJlZU5vZGVbXT4gPSB0aGlzLl9zZWxlY3Rpb25Tb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSBfbm9kZUNsaWNrU291cmNlID0gbmV3IFN1YmplY3Q8VHJlZU5vZGU+KCk7XG4gIG5vZGVDbGljayQ6IE9ic2VydmFibGU8VHJlZU5vZGU+ID0gdGhpcy5fbm9kZUNsaWNrU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgX25vZGVGb2N1c1NvdXJjZSA9IG5ldyBSZXBsYXlTdWJqZWN0PHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+KCk7XG4gIG5vZGVGb2N1cyQ6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD4gPSB0aGlzLl9ub2RlRm9jdXNTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgbXVsdGlzZWxlY3QgPSBmYWxzZTtcblxuICBzZXRUcmVlKHRyZWU6IFRyZWUpIHtcbiAgICB0aGlzLl90cmVlID0gdHJlZTtcbiAgfVxuXG4gIGZvY3VzTm9kZShpZDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX25vZGVGb2N1c1NvdXJjZS5uZXh0KGlkKTtcbiAgfVxuXG4gIHRvZ2dsZU5vZGUoaWQ6IHN0cmluZyB8IG51bGwpIHtcbiAgICBpZiAoaWQpIHtcbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLl9nZXROb2RlQnlJZChpZCk7XG4gICAgICBpZiAobm9kZSkgbm9kZS5leHBhbmRlZCA9ICFub2RlLmV4cGFuZGVkO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdE5vZGVCeUlEKGlkOiBzdHJpbmcsIGN0cmxLZXkgPSBmYWxzZSkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLl9nZXROb2RlQnlJZChpZCk7XG4gICAgaWYgKG5vZGUpIHRoaXMuc2VsZWN0Tm9kZShub2RlLCBjdHJsS2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3QgYSB0cmVlIG5vZGUuIElmIHRoZSBub2RlIGhhcyBhbHJlYWR5IGJlZW4gc2VsZWN0ZWQgaXQnbGwgYmVcbiAgICogcmVtb3ZlZCBmcm9tIHRoZSBzZWxlY3Rpb24uIE90aGVyd2lzZSBpdCB3aWxsIGJlIGFkZGVkLiBCeSBkZWZhdWx0IHNlbGVjdGlvblxuICAgKiB3aWxsIG9ubHkgY29udGFpbiBhIHNpbmdsZSBub2RlLiBJZiBgbXVsdGlzZWxlY3RgIGlzIHNldCB0byB0cnVlIGFuZCBDVFJMIGlzXG4gICAqIHByZXNzZWQgdGhlIGN1cnJlbnQgY29sbGVjdGlvbiB3aWxsIGJlIGV4dGVuZGVkLlxuICAgKiBAcGFyYW0gbm9kZSBUaGUgdHJlZSBub2RlIHRvIGJlIGFkZGVkL3JlbW92ZWRcbiAgICogQHBhcmFtIGN0cmxLZXkgV2hldGhlciBvciBub3QgdGhlIENUUkwga2V5IGhhcyBiZWVuIHByZXNzZWRcbiAgICogQHJldHVybnMgVGhlIHVwZGF0ZWQgbGlzdCBvZiBzZWxlY3RlZCB0cmVlIG5vZGVzXG4gICAqL1xuICBzZWxlY3ROb2RlKG5vZGU6IFRyZWVOb2RlLCBjdHJsS2V5ID0gZmFsc2UpOiB2b2lkIHtcbiAgICBpZiAobm9kZS5zZWxlY3RhYmxlKSB7XG4gICAgICBpZiAoIXRoaXMubXVsdGlzZWxlY3QgfHwgIWN0cmxLZXkpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uID0gW25vZGVdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgaWRzID0gdGhpcy5fc2VsZWN0aW9uLm1hcCgobikgPT4gbi5pZCk7XG4gICAgICAgIGlmIChpZHMuaW5jbHVkZXMobm9kZS5pZCkpIHRoaXMuX3NlbGVjdGlvbiA9IHRoaXMuX3NlbGVjdGlvbi5maWx0ZXIoKG4pID0+IG4uaWQgIT09IG5vZGUuaWQpO1xuICAgICAgICBlbHNlIHRoaXMuX3NlbGVjdGlvbi5wdXNoKG5vZGUpO1xuICAgICAgfVxuICAgICAgdGhpcy5fc2VsZWN0aW9uU291cmNlLm5leHQodGhpcy5fc2VsZWN0aW9uKTtcbiAgICB9XG4gICAgdGhpcy5fbm9kZUNsaWNrU291cmNlLm5leHQobm9kZSk7XG4gIH1cblxuICBzZXRTZWxlY3Rpb24obm9kZUlkczogc3RyaW5nW10pIHtcbiAgICB0aGlzLl9yZXNvbHZlU2VsZWN0ZWROb2Rlcyhub2RlSWRzKTtcbiAgICB0aGlzLl9zZWxlY3Rpb25Tb3VyY2UubmV4dCh0aGlzLl9zZWxlY3Rpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZUJ5SWQoaWQ6IHN0cmluZyk6IFRyZWVOb2RlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fdHJlZSA/IHRoaXMuX2dldENoaWxkTm9kZUJ5SWQoaWQsIHRoaXMuX3RyZWUubm9kZXMpIDogdW5kZWZpbmVkO1xuICB9XG4gIHByaXZhdGUgX2dldENoaWxkTm9kZUJ5SWQoaWQ6IHN0cmluZywgbm9kZXM6IFRyZWVOb2RlW10pOiBUcmVlTm9kZSB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IG1hdGNoOiBUcmVlTm9kZSB8IHVuZGVmaW5lZDtcbiAgICBub2Rlcy5mb3JFYWNoKChuKSA9PiB7XG4gICAgICBpZiAobi5pZCA9PT0gaWQpIG1hdGNoID0gbjtcbiAgICAgIGlmICghbWF0Y2ggJiYgbi5jaGlsZHJlbikgbWF0Y2ggPSB0aGlzLl9nZXRDaGlsZE5vZGVCeUlkKGlkLCBuLmNoaWxkcmVuKTtcbiAgICB9KTtcbiAgICByZXR1cm4gbWF0Y2g7XG4gIH1cblxuICBwcml2YXRlIF9yZXNvbHZlU2VsZWN0ZWROb2Rlcyhub2RlSURzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIHRoaXMuX3NlbGVjdGlvbiA9IFtdO1xuICAgIGlmICghdGhpcy5fdHJlZSkgcmV0dXJuO1xuICAgIHRoaXMuX3Jlc29sdmVDaGlsZHJlbihub2RlSURzLCB0aGlzLl90cmVlLm5vZGVzKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Jlc29sdmVDaGlsZHJlbihub2RlSURzOiBzdHJpbmdbXSwgbm9kZXM6IFRyZWVOb2RlW10pOiB2b2lkIHtcbiAgICBub2Rlcy5mb3JFYWNoKChuKSA9PiB7XG4gICAgICBpZiAobm9kZUlEcy5pbmNsdWRlcyhuLmlkKSkgdGhpcy5fc2VsZWN0aW9uLnB1c2gobik7XG4gICAgICBpZiAobi5jaGlsZHJlbj8ubGVuZ3RoKSB0aGlzLl9yZXNvbHZlQ2hpbGRyZW4obm9kZUlEcywgbi5jaGlsZHJlbik7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXV1dmlzLWNsaWVudC1mcmFtZXdvcmstdHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvdHJlZS9zcmMveXV1dmlzLWNsaWVudC1mcmFtZXdvcmstdHJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './lib/upload-progress/upload-progress.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL3VwbG9hZC1wcm9ncmVzcy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpREFBaUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3VwbG9hZC1wcm9ncmVzcy91cGxvYWQtcHJvZ3Jlc3MuY29tcG9uZW50JztcbiJdfQ==
@@ -1,49 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, computed, inject, input, output } from '@angular/core';
3
- import { TranslateModule, TranslateService, UploadService } from '@yuuvis/client-core';
4
- import { YUV_ICONS } from '@yuuvis/client-framework/icons';
5
- import { ICONS, YvcIconModule } from '@yuuvis/components/icon';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common";
8
- import * as i2 from "@yuuvis/components/icon";
9
- export class UploadProgressOverlayComponent {
10
- constructor() {
11
- this.#uploadService = inject(UploadService);
12
- this.translate = inject(TranslateService);
13
- this.items = input();
14
- this._items = computed(() => {
15
- const items = this.items() || [];
16
- items.forEach((item) => {
17
- if (item.err) {
18
- item.err.message = this.#getErrorMessage(item.err.code);
19
- }
20
- });
21
- return items;
22
- });
23
- this.itemClick = output();
24
- this.icons = {
25
- remove: ICONS.clear,
26
- done: YUV_ICONS.check,
27
- err: YUV_ICONS.attention
28
- };
29
- }
30
- #uploadService;
31
- remove(id) {
32
- this.#uploadService.cancelItem(id);
33
- }
34
- #getErrorMessage(status) {
35
- switch (status) {
36
- case 403:
37
- return this.translate.instant('yuv.upload-progress-overlay.error.403');
38
- default:
39
- return this.translate.instant('yuv.upload-progress-overlay.error.default');
40
- }
41
- }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UploadProgressOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UploadProgressOverlayComponent, isStandalone: true, selector: "yuv-upload-progress-overlay", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemClick: "itemClick" }, ngImport: i0, template: "<ul>\n @for (item of _items(); track item.id) {\n @let progress = item.progress | async;\n <li [ngClass]=\"{ err: !!item.err, done: !!item.result }\" [style.--progress]=\"progress + '%'\">\n <button class=\"remove\" (click)=\"remove(item.id)\">\n <yvc-icon [svg]=\"icons.remove\" [ngClass]=\"{ err: !!item.err }\"></yvc-icon>\n </button>\n\n @if (!item.result) {\n <div class=\"name\">{{ item.filename }}\n @if(item.err) {\n <span class=\"error\">{{item.err.message}}</span>\n }\n </div>\n <div class=\"progress\">\n @if (progress && progress < 100) {\n <div class=\"percentage\">{{ progress }}</div>\n } \n @else if(item.err) {\n <yvc-icon class=\"error\" [svg]=\"icons.err\"></yvc-icon>\n }\n @else {\n <div class=\"yuv-loader-straight\"></div>\n }\n </div>\n } @else {\n <div class=\"result-items\">\n @for (res of item.result; track $index) {\n <div class=\"result-item\">\n <div class=\"name\" (click)=\"itemClick.emit(res)\">\n {{ res.label }}\n </div>\n </div>\n }\n </div>\n <yvc-icon class=\"done\" [svg]=\"icons.done\"></yvc-icon>\n }\n </li>\n }\n</ul>\n", styles: [":host ul{list-style:none;padding:0;margin:calc(var(--app-pane-padding) / 2) 0}:host li{--hover-background: transparent;display:grid;grid-template-columns:1fr auto auto;grid-template-rows:auto;cursor:default;grid-template-areas:\"result progress action\";align-items:center;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);gap:.5em;margin-block-end:1px;background:linear-gradient(90deg,rgba(var(--color-accent-rgb),.1) 0%,rgba(var(--color-accent-rgb),.3) var(--progress),var(--hover-background) var(--progress));transition:background-color .3s ease-in-out}:host li.done{background:var(--hover-background)}:host li:hover{--hover-background: var(--item-focus-background-color)}:host li .name{grid-area:result;max-width:35ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host li .name .error{color:var(--text-color-caption);display:block;font-style:italic;max-width:35ch}:host li .yuv-loader-straight{scale:-.5}:host li .progress{grid-area:progress}:host li .percentage{font-family:monospace;padding:calc(var(--app-pane-padding) / 4) var(--app-pane-padding);font-size:var(--font-hint);color:var(--text-color-caption);align-self:center}:host li .percentage:after{content:\"%\"}:host li yvc-icon.done{--icon-size: 18px;fill:var(--color-accent)}:host li .remove{grid-area:action;padding:0}:host li .remove yvc-icon{color:var(--text-color-hint)}:host .result-items{grid-area:result}:host .result-items .result-item{cursor:pointer}:host yvc-icon{--icon-size: 18px;border-radius:4px}:host yvc-icon.done{background-color:var(--color-accent);color:var(--color-accent-tone)}:host yvc-icon.error{color:var(--color-error)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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 }] }); }
44
- }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UploadProgressOverlayComponent, decorators: [{
46
- type: Component,
47
- args: [{ selector: 'yuv-upload-progress-overlay', standalone: true, imports: [CommonModule, YvcIconModule, TranslateModule], template: "<ul>\n @for (item of _items(); track item.id) {\n @let progress = item.progress | async;\n <li [ngClass]=\"{ err: !!item.err, done: !!item.result }\" [style.--progress]=\"progress + '%'\">\n <button class=\"remove\" (click)=\"remove(item.id)\">\n <yvc-icon [svg]=\"icons.remove\" [ngClass]=\"{ err: !!item.err }\"></yvc-icon>\n </button>\n\n @if (!item.result) {\n <div class=\"name\">{{ item.filename }}\n @if(item.err) {\n <span class=\"error\">{{item.err.message}}</span>\n }\n </div>\n <div class=\"progress\">\n @if (progress && progress < 100) {\n <div class=\"percentage\">{{ progress }}</div>\n } \n @else if(item.err) {\n <yvc-icon class=\"error\" [svg]=\"icons.err\"></yvc-icon>\n }\n @else {\n <div class=\"yuv-loader-straight\"></div>\n }\n </div>\n } @else {\n <div class=\"result-items\">\n @for (res of item.result; track $index) {\n <div class=\"result-item\">\n <div class=\"name\" (click)=\"itemClick.emit(res)\">\n {{ res.label }}\n </div>\n </div>\n }\n </div>\n <yvc-icon class=\"done\" [svg]=\"icons.done\"></yvc-icon>\n }\n </li>\n }\n</ul>\n", styles: [":host ul{list-style:none;padding:0;margin:calc(var(--app-pane-padding) / 2) 0}:host li{--hover-background: transparent;display:grid;grid-template-columns:1fr auto auto;grid-template-rows:auto;cursor:default;grid-template-areas:\"result progress action\";align-items:center;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);gap:.5em;margin-block-end:1px;background:linear-gradient(90deg,rgba(var(--color-accent-rgb),.1) 0%,rgba(var(--color-accent-rgb),.3) var(--progress),var(--hover-background) var(--progress));transition:background-color .3s ease-in-out}:host li.done{background:var(--hover-background)}:host li:hover{--hover-background: var(--item-focus-background-color)}:host li .name{grid-area:result;max-width:35ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host li .name .error{color:var(--text-color-caption);display:block;font-style:italic;max-width:35ch}:host li .yuv-loader-straight{scale:-.5}:host li .progress{grid-area:progress}:host li .percentage{font-family:monospace;padding:calc(var(--app-pane-padding) / 4) var(--app-pane-padding);font-size:var(--font-hint);color:var(--text-color-caption);align-self:center}:host li .percentage:after{content:\"%\"}:host li yvc-icon.done{--icon-size: 18px;fill:var(--color-accent)}:host li .remove{grid-area:action;padding:0}:host li .remove yvc-icon{color:var(--text-color-hint)}:host .result-items{grid-area:result}:host .result-items .result-item{cursor:pointer}:host yvc-icon{--icon-size: 18px;border-radius:4px}:host yvc-icon.done{background-color:var(--color-accent);color:var(--color-accent-tone)}:host yvc-icon.error{color:var(--color-error)}\n"] }]
48
- }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLXByb2dyZXNzLW92ZXJsYXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay91cGxvYWQtcHJvZ3Jlc3Mvc3JjL2xpYi91cGxvYWQtcHJvZ3Jlc3MvdXBsb2FkLXByb2dyZXNzLW92ZXJsYXkvdXBsb2FkLXByb2dyZXNzLW92ZXJsYXkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay91cGxvYWQtcHJvZ3Jlc3Mvc3JjL2xpYi91cGxvYWQtcHJvZ3Jlc3MvdXBsb2FkLXByb2dyZXNzLW92ZXJsYXkvdXBsb2FkLXByb2dyZXNzLW92ZXJsYXkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBc0IsZUFBZSxFQUFFLGdCQUFnQixFQUFnQixhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6SCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0QsT0FBTyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQVMvRCxNQUFNLE9BQU8sOEJBQThCO0lBUDNDO1FBUUUsbUJBQWMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXJDLFVBQUssR0FBRyxLQUFLLEVBQXdCLENBQUM7UUFDdEMsV0FBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDckIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNqQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3JCLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUNiLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMxRCxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO1FBQ0gsY0FBUyxHQUFHLE1BQU0sRUFBZ0IsQ0FBQztRQUVuQyxVQUFLLEdBQUc7WUFDTixNQUFNLEVBQUUsS0FBSyxDQUFDLEtBQUs7WUFDbkIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLO1lBQ3JCLEdBQUcsRUFBRSxTQUFTLENBQUMsU0FBUztTQUN6QixDQUFDO0tBY0g7SUFqQ0MsY0FBYyxDQUF5QjtJQXFCdkMsTUFBTSxDQUFDLEVBQVc7UUFDaEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELGdCQUFnQixDQUFDLE1BQWM7UUFDN0IsUUFBUSxNQUFNLEVBQUUsQ0FBQztZQUNmLEtBQUssR0FBRztnQkFDTixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7WUFDekU7Z0JBQ0UsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1FBQy9FLENBQUM7SUFDSCxDQUFDOytHQWpDVSw4QkFBOEI7bUdBQTlCLDhCQUE4QixnUUNiM0Msd3pDQXdDQSw4dUREL0JZLFlBQVksaUxBQUUsYUFBYSw4SEFBRSxlQUFlOzs0RkFJM0MsOEJBQThCO2tCQVAxQyxTQUFTOytCQUNFLDZCQUE2QixjQUMzQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb2dyZXNzU3RhdHVzSXRlbSwgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlLCBVcGxvYWRSZXN1bHQsIFVwbG9hZFNlcnZpY2UgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFlVVl9JQ09OUyB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWZyYW1ld29yay9pY29ucyc7XG5pbXBvcnQgeyBJQ09OUywgWXZjSWNvbk1vZHVsZSB9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy9pY29uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneXV2LXVwbG9hZC1wcm9ncmVzcy1vdmVybGF5JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgWXZjSWNvbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZC1wcm9ncmVzcy1vdmVybGF5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3VwbG9hZC1wcm9ncmVzcy1vdmVybGF5LmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBVcGxvYWRQcm9ncmVzc092ZXJsYXlDb21wb25lbnQge1xuICAjdXBsb2FkU2VydmljZSA9IGluamVjdChVcGxvYWRTZXJ2aWNlKTtcbiAgdHJhbnNsYXRlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuXG4gIGl0ZW1zID0gaW5wdXQ8UHJvZ3Jlc3NTdGF0dXNJdGVtW10+KCk7XG4gIF9pdGVtcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbXMoKSB8fCBbXTtcbiAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpZiAoaXRlbS5lcnIpIHtcbiAgICAgICAgaXRlbS5lcnIubWVzc2FnZSA9IHRoaXMuI2dldEVycm9yTWVzc2FnZShpdGVtLmVyci5jb2RlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gaXRlbXM7XG4gIH0pO1xuICBpdGVtQ2xpY2sgPSBvdXRwdXQ8VXBsb2FkUmVzdWx0PigpO1xuXG4gIGljb25zID0ge1xuICAgIHJlbW92ZTogSUNPTlMuY2xlYXIsXG4gICAgZG9uZTogWVVWX0lDT05TLmNoZWNrLFxuICAgIGVycjogWVVWX0lDT05TLmF0dGVudGlvblxuICB9O1xuXG4gIHJlbW92ZShpZD86IHN0cmluZykge1xuICAgIHRoaXMuI3VwbG9hZFNlcnZpY2UuY2FuY2VsSXRlbShpZCk7XG4gIH1cblxuICAjZ2V0RXJyb3JNZXNzYWdlKHN0YXR1czogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHN0YXR1cykge1xuICAgICAgY2FzZSA0MDM6XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYudXBsb2FkLXByb2dyZXNzLW92ZXJsYXkuZXJyb3IuNDAzJyk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LnVwbG9hZC1wcm9ncmVzcy1vdmVybGF5LmVycm9yLmRlZmF1bHQnKTtcbiAgICB9XG4gIH1cbn1cbiIsIjx1bD5cbiAgQGZvciAoaXRlbSBvZiBfaXRlbXMoKTsgdHJhY2sgaXRlbS5pZCkge1xuICAgIEBsZXQgcHJvZ3Jlc3MgPSBpdGVtLnByb2dyZXNzIHwgYXN5bmM7XG4gICAgPGxpIFtuZ0NsYXNzXT1cInsgZXJyOiAhIWl0ZW0uZXJyLCBkb25lOiAhIWl0ZW0ucmVzdWx0IH1cIiBbc3R5bGUuLS1wcm9ncmVzc109XCJwcm9ncmVzcyArICclJ1wiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cInJlbW92ZVwiIChjbGljayk9XCJyZW1vdmUoaXRlbS5pZClcIj5cbiAgICAgICAgPHl2Yy1pY29uIFtzdmddPVwiaWNvbnMucmVtb3ZlXCIgW25nQ2xhc3NdPVwieyBlcnI6ICEhaXRlbS5lcnIgfVwiPjwveXZjLWljb24+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgQGlmICghaXRlbS5yZXN1bHQpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWVcIj57eyBpdGVtLmZpbGVuYW1lIH19XG4gICAgICAgICAgQGlmKGl0ZW0uZXJyKSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yXCI+e3tpdGVtLmVyci5tZXNzYWdlfX08L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzXCI+XG4gICAgICAgIEBpZiAocHJvZ3Jlc3MgJiYgcHJvZ3Jlc3MgPCAxMDApIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGVyY2VudGFnZVwiPnt7IHByb2dyZXNzIH19PC9kaXY+XG4gICAgICAgIH0gXG4gICAgICAgIEBlbHNlIGlmKGl0ZW0uZXJyKSB7XG4gICAgICAgICAgICA8eXZjLWljb24gY2xhc3M9XCJlcnJvclwiIFtzdmddPVwiaWNvbnMuZXJyXCI+PC95dmMtaWNvbj5cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInl1di1sb2FkZXItc3RyYWlnaHRcIj48L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHQtaXRlbXNcIj5cbiAgICAgICAgICBAZm9yIChyZXMgb2YgaXRlbS5yZXN1bHQ7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1pdGVtXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCIgKGNsaWNrKT1cIml0ZW1DbGljay5lbWl0KHJlcylcIj5cbiAgICAgICAgICAgICAgICB7eyByZXMubGFiZWwgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8eXZjLWljb24gY2xhc3M9XCJkb25lXCIgW3N2Z109XCJpY29ucy5kb25lXCI+PC95dmMtaWNvbj5cbiAgICAgIH1cbiAgICA8L2xpPlxuICB9XG48L3VsPlxuIl19