@yuuvis/client-framework 0.6.5

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 (392) hide show
  1. package/README.md +62 -0
  2. package/actions/README.md +3 -0
  3. package/actions/index.d.ts +6 -0
  4. package/actions/lib/actions/copy-action/copy-action.d.ts +17 -0
  5. package/actions/lib/actions/cut-action/cut-action.d.ts +17 -0
  6. package/actions/lib/actions/delete-action/delete/delete.component.d.ts +22 -0
  7. package/actions/lib/actions/delete-action/delete-action.d.ts +17 -0
  8. package/actions/lib/actions/download-action/download-action.d.ts +17 -0
  9. package/actions/lib/actions.icon.d.ts +7 -0
  10. package/actions/lib/actions.interface.d.ts +86 -0
  11. package/actions/lib/actions.module.d.ts +8 -0
  12. package/actions/lib/actions.service.d.ts +38 -0
  13. package/actions/lib/components/contextmenu/contextmenu.component.d.ts +11 -0
  14. package/app-bar/README.md +3 -0
  15. package/app-bar/index.d.ts +1 -0
  16. package/app-bar/lib/app-bar.component.d.ts +47 -0
  17. package/clipboard/README.md +3 -0
  18. package/clipboard/index.d.ts +1 -0
  19. package/clipboard/lib/clipboard.component.d.ts +16 -0
  20. package/common/README.md +3 -0
  21. package/common/index.d.ts +5 -0
  22. package/common/lib/components/focus-indicator/focus-indicator.component.d.ts +7 -0
  23. package/common/lib/components/token-input/token-input.component.d.ts +55 -0
  24. package/common/lib/components/token-input/token-input.interface.d.ts +8 -0
  25. package/common/lib/directives/busy-overlay.directive.d.ts +25 -0
  26. package/common/lib/directives/click-double.directive.d.ts +17 -0
  27. package/common/lib/directives/container-size.directive.d.ts +30 -0
  28. package/common/lib/directives/drag-select.directive.d.ts +21 -0
  29. package/common/lib/directives/file-drop-zone/file-drop-zone.directive.d.ts +18 -0
  30. package/common/lib/directives/file-drop-zone/file-drop-zone.interface.d.ts +5 -0
  31. package/common/lib/directives/focus-within.directive.d.ts +36 -0
  32. package/common/lib/directives/index.d.ts +8 -0
  33. package/common/lib/directives/light-dismiss.directive.d.ts +19 -0
  34. package/common/lib/directives/longpress.directive.d.ts +13 -0
  35. package/common/lib/directives/noop-value-accessor.directive.d.ts +10 -0
  36. package/esm2022/actions/index.mjs +7 -0
  37. package/esm2022/actions/lib/actions/copy-action/copy-action.mjs +31 -0
  38. package/esm2022/actions/lib/actions/cut-action/cut-action.mjs +30 -0
  39. package/esm2022/actions/lib/actions/delete-action/delete/delete.component.mjs +67 -0
  40. package/esm2022/actions/lib/actions/delete-action/delete-action.mjs +44 -0
  41. package/esm2022/actions/lib/actions/download-action/download-action.mjs +33 -0
  42. package/esm2022/actions/lib/actions.icon.mjs +8 -0
  43. package/esm2022/actions/lib/actions.interface.mjs +19 -0
  44. package/esm2022/actions/lib/actions.module.mjs +16 -0
  45. package/esm2022/actions/lib/actions.service.mjs +89 -0
  46. package/esm2022/actions/lib/components/contextmenu/contextmenu.component.mjs +27 -0
  47. package/esm2022/actions/yuuvis-client-framework-actions.mjs +5 -0
  48. package/esm2022/app-bar/index.mjs +2 -0
  49. package/esm2022/app-bar/lib/app-bar.component.mjs +89 -0
  50. package/esm2022/app-bar/yuuvis-client-framework-app-bar.mjs +5 -0
  51. package/esm2022/clipboard/index.mjs +2 -0
  52. package/esm2022/clipboard/lib/clipboard.component.mjs +48 -0
  53. package/esm2022/clipboard/yuuvis-client-framework-clipboard.mjs +5 -0
  54. package/esm2022/common/index.mjs +6 -0
  55. package/esm2022/common/lib/components/focus-indicator/focus-indicator.component.mjs +41 -0
  56. package/esm2022/common/lib/components/token-input/token-input.component.mjs +324 -0
  57. package/esm2022/common/lib/components/token-input/token-input.interface.mjs +2 -0
  58. package/esm2022/common/lib/directives/busy-overlay.directive.mjs +88 -0
  59. package/esm2022/common/lib/directives/click-double.directive.mjs +61 -0
  60. package/esm2022/common/lib/directives/container-size.directive.mjs +56 -0
  61. package/esm2022/common/lib/directives/drag-select.directive.mjs +114 -0
  62. package/esm2022/common/lib/directives/file-drop-zone/file-drop-zone.directive.mjs +153 -0
  63. package/esm2022/common/lib/directives/file-drop-zone/file-drop-zone.interface.mjs +2 -0
  64. package/esm2022/common/lib/directives/focus-within.directive.mjs +81 -0
  65. package/esm2022/common/lib/directives/index.mjs +9 -0
  66. package/esm2022/common/lib/directives/light-dismiss.directive.mjs +44 -0
  67. package/esm2022/common/lib/directives/longpress.directive.mjs +36 -0
  68. package/esm2022/common/lib/directives/noop-value-accessor.directive.mjs +42 -0
  69. package/esm2022/common/yuuvis-client-framework-common.mjs +5 -0
  70. package/esm2022/forms/index.mjs +19 -0
  71. package/esm2022/forms/lib/elements/catalog/catalog.component.mjs +118 -0
  72. package/esm2022/forms/lib/elements/datetime/datetime.component.mjs +82 -0
  73. package/esm2022/forms/lib/elements/datetime-range/datetime-range.component.mjs +166 -0
  74. package/esm2022/forms/lib/elements/number/number.component.mjs +195 -0
  75. package/esm2022/forms/lib/elements/number-range/number-range.component.mjs +176 -0
  76. package/esm2022/forms/lib/elements/organization/organization.component.mjs +268 -0
  77. package/esm2022/forms/lib/elements/string/string.component.mjs +254 -0
  78. package/esm2022/forms/lib/form-input/form-input.component.mjs +88 -0
  79. package/esm2022/forms/lib/forms.module.mjs +58 -0
  80. package/esm2022/forms/yuuvis-client-framework-forms.mjs +5 -0
  81. package/esm2022/icons/index.mjs +4 -0
  82. package/esm2022/icons/lib/icon.service.mjs +59 -0
  83. package/esm2022/icons/lib/icons.mjs +31 -0
  84. package/esm2022/icons/lib/object-type-icon/object-type-icon.component.mjs +29 -0
  85. package/esm2022/icons/yuuvis-client-framework-icons.mjs +5 -0
  86. package/esm2022/index.mjs +2 -0
  87. package/esm2022/lib/yuuvis-client-framework.module.mjs +15 -0
  88. package/esm2022/list/index.mjs +3 -0
  89. package/esm2022/list/lib/list-item.directive.mjs +72 -0
  90. package/esm2022/list/lib/list.component.mjs +133 -0
  91. package/esm2022/list/yuuvis-client-framework-list.mjs +5 -0
  92. package/esm2022/metadata-form/index.mjs +4 -0
  93. package/esm2022/metadata-form/lib/metadata-default-templates/metadata-default-templates.component.mjs +31 -0
  94. package/esm2022/metadata-form/lib/metadata-form-element-registry.service.mjs +99 -0
  95. package/esm2022/metadata-form/lib/metadata-form-field/metadata-form-field.component.mjs +126 -0
  96. package/esm2022/metadata-form/lib/object-metadata-element-template.directive.mjs +52 -0
  97. package/esm2022/metadata-form/yuuvis-client-framework-metadata-form.mjs +5 -0
  98. package/esm2022/object-details/index.mjs +7 -0
  99. package/esm2022/object-details/lib/object-audit/object-audit.component.mjs +195 -0
  100. package/esm2022/object-details/lib/object-details-shell/object-details-shell.component.mjs +127 -0
  101. package/esm2022/object-details/lib/object-details.component.mjs +61 -0
  102. package/esm2022/object-details/lib/object-metadata/form-section-group.pipe.mjs +17 -0
  103. package/esm2022/object-details/lib/object-metadata/object-metadata.component.mjs +201 -0
  104. package/esm2022/object-details/lib/object-metadata/object-metadata.interface.mjs +2 -0
  105. package/esm2022/object-details/yuuvis-client-framework-object-details.mjs +5 -0
  106. package/esm2022/object-flavor/index.mjs +6 -0
  107. package/esm2022/object-flavor/lib/abstract-apply-create-flavor/abstract-apply-create-flavor.component.mjs +25 -0
  108. package/esm2022/object-flavor/lib/abstract-apply-object-flavor/abstract-apply-object-flavor.component.mjs +21 -0
  109. package/esm2022/object-flavor/lib/flavor-chip/flavor-chip.component.mjs +35 -0
  110. package/esm2022/object-flavor/lib/object-flavor/object-flavor.component.mjs +93 -0
  111. package/esm2022/object-flavor/lib/object-flavor-picker/object-flavor-picker.component.mjs +43 -0
  112. package/esm2022/object-flavor/yuuvis-client-framework-object-flavor.mjs +5 -0
  113. package/esm2022/object-form/index.mjs +5 -0
  114. package/esm2022/object-form/lib/form-scripting.api.interface.mjs +2 -0
  115. package/esm2022/object-form/lib/form-scripting.service.mjs +160 -0
  116. package/esm2022/object-form/lib/object-form-element/object-form-element.component.mjs +87 -0
  117. package/esm2022/object-form/lib/object-form-extension.interface.mjs +36 -0
  118. package/esm2022/object-form/lib/object-form-group/object-form-group.component.mjs +85 -0
  119. package/esm2022/object-form/lib/object-form-script/form-scripting-element-extension/form-scripting-element-extension.component.mjs +23 -0
  120. package/esm2022/object-form/lib/object-form-script/object-form-script.service.mjs +115 -0
  121. package/esm2022/object-form/lib/object-form-script/object-form-scripting-scope.mjs +251 -0
  122. package/esm2022/object-form/lib/object-form-translate.service.mjs +73 -0
  123. package/esm2022/object-form/lib/object-form.component.mjs +627 -0
  124. package/esm2022/object-form/lib/object-form.interface.mjs +9 -0
  125. package/esm2022/object-form/lib/object-form.model.mjs +20 -0
  126. package/esm2022/object-form/lib/object-form.service.mjs +127 -0
  127. package/esm2022/object-form/lib/object-form.utils.mjs +55 -0
  128. package/esm2022/object-form/lib/object-form.validation.mjs +48 -0
  129. package/esm2022/object-form/yuuvis-client-framework-object-form.mjs +5 -0
  130. package/esm2022/object-preview/index.mjs +3 -0
  131. package/esm2022/object-preview/lib/components/index.mjs +3 -0
  132. package/esm2022/object-preview/lib/components/object-email-preview/object-email-preview.component.mjs +45 -0
  133. package/esm2022/object-preview/lib/components/object-preview/object-preview.component.mjs +78 -0
  134. package/esm2022/object-preview/lib/services/object-preview.service.mjs +92 -0
  135. package/esm2022/object-preview/yuuvis-client-framework-object-preview.mjs +5 -0
  136. package/esm2022/object-summary/index.mjs +5 -0
  137. package/esm2022/object-summary/lib/multi-object-summary/multi-object-summary.component.mjs +33 -0
  138. package/esm2022/object-summary/lib/object-summary/object-summary.component.mjs +273 -0
  139. package/esm2022/object-summary/lib/object-summary-data/object-summary-data.component.mjs +80 -0
  140. package/esm2022/object-summary/lib/object-summary.module.mjs +15 -0
  141. package/esm2022/object-summary/yuuvis-client-framework-object-summary.mjs +5 -0
  142. package/esm2022/pagination/index.mjs +3 -0
  143. package/esm2022/pagination/lib/pagination.component.mjs +48 -0
  144. package/esm2022/pagination/lib/pagination.interface.mjs +2 -0
  145. package/esm2022/pagination/yuuvis-client-framework-pagination.mjs +5 -0
  146. package/esm2022/panel/index.mjs +2 -0
  147. package/esm2022/panel/lib/panel.component.mjs +20 -0
  148. package/esm2022/panel/yuuvis-client-framework-panel.mjs +5 -0
  149. package/esm2022/renderer/index.mjs +11 -0
  150. package/esm2022/renderer/lib/property-renderer/abstract.renderer.mjs +29 -0
  151. package/esm2022/renderer/lib/property-renderer/datetime.renderer.mjs +13 -0
  152. package/esm2022/renderer/lib/property-renderer/decimal.renderer.component.mjs +12 -0
  153. package/esm2022/renderer/lib/property-renderer/filesize.renderer.component.mjs +28 -0
  154. package/esm2022/renderer/lib/property-renderer/icon.renderer.component.mjs +23 -0
  155. package/esm2022/renderer/lib/property-renderer/integer.renderer.component.mjs +12 -0
  156. package/esm2022/renderer/lib/property-renderer/organization.renderer.mjs +19 -0
  157. package/esm2022/renderer/lib/property-renderer/string.renderer.component.mjs +12 -0
  158. package/esm2022/renderer/lib/property-renderer/unknown.renderer.mjs +12 -0
  159. package/esm2022/renderer/lib/renderer.directive.mjs +51 -0
  160. package/esm2022/renderer/lib/services/renderer/renderer.interface.mjs +2 -0
  161. package/esm2022/renderer/lib/services/renderer/renderer.service.mjs +84 -0
  162. package/esm2022/renderer/yuuvis-client-framework-renderer.mjs +5 -0
  163. package/esm2022/sequence-list/index.mjs +6 -0
  164. package/esm2022/sequence-list/lib/due-date-picker/due-date-picker.component.mjs +99 -0
  165. package/esm2022/sequence-list/lib/sequence-list-template-manage/sequence-list-template-manage.component.mjs +183 -0
  166. package/esm2022/sequence-list/lib/sequence-list-templates/sequence-list-templates.component.mjs +114 -0
  167. package/esm2022/sequence-list/lib/sequence-list.component.mjs +146 -0
  168. package/esm2022/sequence-list/lib/sequence-list.interface.mjs +2 -0
  169. package/esm2022/sequence-list/yuuvis-client-framework-sequence-list.mjs +5 -0
  170. package/esm2022/simple-search/index.mjs +3 -0
  171. package/esm2022/simple-search/lib/simple-search/simple-search.component.mjs +111 -0
  172. package/esm2022/simple-search/lib/simple-search/simple-search.interface.mjs +2 -0
  173. package/esm2022/simple-search/yuuvis-client-framework-simple-search.mjs +5 -0
  174. package/esm2022/tile-list/index.mjs +11 -0
  175. package/esm2022/tile-list/lib/tile/tile.component.mjs +53 -0
  176. package/esm2022/tile-list/lib/tile-config/action-select/action-select.component.mjs +22 -0
  177. package/esm2022/tile-list/lib/tile-config/icon-select/icon-select.component.mjs +33 -0
  178. package/esm2022/tile-list/lib/tile-config/property-select/property-select.component.mjs +91 -0
  179. package/esm2022/tile-list/lib/tile-config/tile-config-tile/tile-config-tile.component.mjs +66 -0
  180. package/esm2022/tile-list/lib/tile-config/tile-config-trigger/tile-config-trigger.component.mjs +46 -0
  181. package/esm2022/tile-list/lib/tile-config/tile-config.component.mjs +156 -0
  182. package/esm2022/tile-list/lib/tile-extension/directive/tile-extension.directive.mjs +37 -0
  183. package/esm2022/tile-list/lib/tile-extension/extensions/email.extension.mjs +42 -0
  184. package/esm2022/tile-list/lib/tile-extension/tile-extension.service.mjs +35 -0
  185. package/esm2022/tile-list/lib/tile-list/tile-list.component.mjs +510 -0
  186. package/esm2022/tile-list/lib/tile-list/tile-list.interface.mjs +2 -0
  187. package/esm2022/tile-list/yuuvis-client-framework-tile-list.mjs +5 -0
  188. package/esm2022/token-search/index.mjs +3 -0
  189. package/esm2022/token-search/token-search.component.mjs +78 -0
  190. package/esm2022/token-search/token-search.interface.mjs +2 -0
  191. package/esm2022/token-search/yuuvis-client-framework-token-search.mjs +5 -0
  192. package/esm2022/tree/index.mjs +3 -0
  193. package/esm2022/tree/lib/tree-node/tree-node.component.mjs +65 -0
  194. package/esm2022/tree/lib/tree.component.mjs +148 -0
  195. package/esm2022/tree/lib/tree.interface.mjs +2 -0
  196. package/esm2022/tree/lib/tree.service.mjs +95 -0
  197. package/esm2022/tree/yuuvis-client-framework-tree.mjs +5 -0
  198. package/esm2022/upload-progress/index.mjs +2 -0
  199. package/esm2022/upload-progress/lib/upload-progress/upload-progress-overlay/upload-progress-overlay.component.mjs +49 -0
  200. package/esm2022/upload-progress/lib/upload-progress/upload-progress.component.mjs +37 -0
  201. package/esm2022/upload-progress/yuuvis-client-framework-upload-progress.mjs +5 -0
  202. package/esm2022/user-avatar/index.mjs +3 -0
  203. package/esm2022/user-avatar/lib/user-avatar.component.mjs +69 -0
  204. package/esm2022/user-avatar/lib/user-avatar.module.mjs +24 -0
  205. package/esm2022/user-avatar/yuuvis-client-framework-user-avatar.mjs +5 -0
  206. package/esm2022/yuuvis-client-framework.mjs +5 -0
  207. package/fesm2022/yuuvis-client-framework-actions.mjs +333 -0
  208. package/fesm2022/yuuvis-client-framework-actions.mjs.map +1 -0
  209. package/fesm2022/yuuvis-client-framework-app-bar.mjs +96 -0
  210. package/fesm2022/yuuvis-client-framework-app-bar.mjs.map +1 -0
  211. package/fesm2022/yuuvis-client-framework-clipboard.mjs +55 -0
  212. package/fesm2022/yuuvis-client-framework-clipboard.mjs.map +1 -0
  213. package/fesm2022/yuuvis-client-framework-common.mjs +1020 -0
  214. package/fesm2022/yuuvis-client-framework-common.mjs.map +1 -0
  215. package/fesm2022/yuuvis-client-framework-forms.mjs +1355 -0
  216. package/fesm2022/yuuvis-client-framework-forms.mjs.map +1 -0
  217. package/fesm2022/yuuvis-client-framework-icons.mjs +123 -0
  218. package/fesm2022/yuuvis-client-framework-icons.mjs.map +1 -0
  219. package/fesm2022/yuuvis-client-framework-list.mjs +209 -0
  220. package/fesm2022/yuuvis-client-framework-list.mjs.map +1 -0
  221. package/fesm2022/yuuvis-client-framework-metadata-form.mjs +302 -0
  222. package/fesm2022/yuuvis-client-framework-metadata-form.mjs.map +1 -0
  223. package/fesm2022/yuuvis-client-framework-object-details.mjs +583 -0
  224. package/fesm2022/yuuvis-client-framework-object-details.mjs.map +1 -0
  225. package/fesm2022/yuuvis-client-framework-object-flavor.mjs +200 -0
  226. package/fesm2022/yuuvis-client-framework-object-flavor.mjs.map +1 -0
  227. package/fesm2022/yuuvis-client-framework-object-form.mjs +1664 -0
  228. package/fesm2022/yuuvis-client-framework-object-form.mjs.map +1 -0
  229. package/fesm2022/yuuvis-client-framework-object-preview.mjs +213 -0
  230. package/fesm2022/yuuvis-client-framework-object-preview.mjs.map +1 -0
  231. package/fesm2022/yuuvis-client-framework-object-summary.mjs +397 -0
  232. package/fesm2022/yuuvis-client-framework-object-summary.mjs.map +1 -0
  233. package/fesm2022/yuuvis-client-framework-pagination.mjs +55 -0
  234. package/fesm2022/yuuvis-client-framework-pagination.mjs.map +1 -0
  235. package/fesm2022/yuuvis-client-framework-panel.mjs +27 -0
  236. package/fesm2022/yuuvis-client-framework-panel.mjs.map +1 -0
  237. package/fesm2022/yuuvis-client-framework-renderer.mjs +262 -0
  238. package/fesm2022/yuuvis-client-framework-renderer.mjs.map +1 -0
  239. package/fesm2022/yuuvis-client-framework-sequence-list.mjs +519 -0
  240. package/fesm2022/yuuvis-client-framework-sequence-list.mjs.map +1 -0
  241. package/fesm2022/yuuvis-client-framework-simple-search.mjs +118 -0
  242. package/fesm2022/yuuvis-client-framework-simple-search.mjs.map +1 -0
  243. package/fesm2022/yuuvis-client-framework-tile-list.mjs +1036 -0
  244. package/fesm2022/yuuvis-client-framework-tile-list.mjs.map +1 -0
  245. package/fesm2022/yuuvis-client-framework-token-search.mjs +85 -0
  246. package/fesm2022/yuuvis-client-framework-token-search.mjs.map +1 -0
  247. package/fesm2022/yuuvis-client-framework-tree.mjs +307 -0
  248. package/fesm2022/yuuvis-client-framework-tree.mjs.map +1 -0
  249. package/fesm2022/yuuvis-client-framework-upload-progress.mjs +84 -0
  250. package/fesm2022/yuuvis-client-framework-upload-progress.mjs.map +1 -0
  251. package/fesm2022/yuuvis-client-framework-user-avatar.mjs +96 -0
  252. package/fesm2022/yuuvis-client-framework-user-avatar.mjs.map +1 -0
  253. package/fesm2022/yuuvis-client-framework.mjs +22 -0
  254. package/fesm2022/yuuvis-client-framework.mjs.map +1 -0
  255. package/forms/README.md +3 -0
  256. package/forms/index.d.ts +9 -0
  257. package/forms/lib/elements/catalog/catalog.component.d.ts +68 -0
  258. package/forms/lib/elements/datetime/datetime.component.d.ts +32 -0
  259. package/forms/lib/elements/datetime-range/datetime-range.component.d.ts +51 -0
  260. package/forms/lib/elements/number/number.component.d.ts +77 -0
  261. package/forms/lib/elements/number-range/number-range.component.d.ts +66 -0
  262. package/forms/lib/elements/organization/organization.component.d.ts +93 -0
  263. package/forms/lib/elements/string/string.component.d.ts +104 -0
  264. package/forms/lib/form-input/form-input.component.d.ts +48 -0
  265. package/forms/lib/forms.module.d.ts +16 -0
  266. package/icons/README.md +5 -0
  267. package/icons/index.d.ts +3 -0
  268. package/icons/lib/icon.service.d.ts +38 -0
  269. package/icons/lib/icons.d.ts +1 -0
  270. package/icons/lib/object-type-icon/object-type-icon.component.d.ts +11 -0
  271. package/index.d.ts +1 -0
  272. package/lib/yuuvis-client-framework.module.d.ts +7 -0
  273. package/list/README.md +3 -0
  274. package/list/index.d.ts +2 -0
  275. package/list/lib/list-item.directive.d.ts +15 -0
  276. package/list/lib/list.component.d.ts +36 -0
  277. package/metadata-form/README.md +21 -0
  278. package/metadata-form/index.d.ts +3 -0
  279. package/metadata-form/lib/metadata-default-templates/metadata-default-templates.component.d.ts +5 -0
  280. package/metadata-form/lib/metadata-form-element-registry.service.d.ts +47 -0
  281. package/metadata-form/lib/metadata-form-field/metadata-form-field.component.d.ts +31 -0
  282. package/metadata-form/lib/object-metadata-element-template.directive.d.ts +27 -0
  283. package/object-details/README.md +28 -0
  284. package/object-details/index.d.ts +6 -0
  285. package/object-details/lib/object-audit/object-audit.component.d.ts +59 -0
  286. package/object-details/lib/object-details-shell/object-details-shell.component.d.ts +51 -0
  287. package/object-details/lib/object-details.component.d.ts +36 -0
  288. package/object-details/lib/object-metadata/form-section-group.pipe.d.ts +8 -0
  289. package/object-details/lib/object-metadata/object-metadata.component.d.ts +48 -0
  290. package/object-details/lib/object-metadata/object-metadata.interface.d.ts +26 -0
  291. package/object-flavor/README.md +3 -0
  292. package/object-flavor/index.d.ts +5 -0
  293. package/object-flavor/lib/abstract-apply-create-flavor/abstract-apply-create-flavor.component.d.ts +12 -0
  294. package/object-flavor/lib/abstract-apply-object-flavor/abstract-apply-object-flavor.component.d.ts +12 -0
  295. package/object-flavor/lib/flavor-chip/flavor-chip.component.d.ts +17 -0
  296. package/object-flavor/lib/object-flavor/object-flavor.component.d.ts +26 -0
  297. package/object-flavor/lib/object-flavor-picker/object-flavor-picker.component.d.ts +10 -0
  298. package/object-form/README.md +3 -0
  299. package/object-form/index.d.ts +4 -0
  300. package/object-form/lib/form-scripting.api.interface.d.ts +131 -0
  301. package/object-form/lib/form-scripting.service.d.ts +30 -0
  302. package/object-form/lib/object-form-element/object-form-element.component.d.ts +22 -0
  303. package/object-form/lib/object-form-extension.interface.d.ts +22 -0
  304. package/object-form/lib/object-form-group/object-form-group.component.d.ts +22 -0
  305. package/object-form/lib/object-form-script/form-scripting-element-extension/form-scripting-element-extension.component.d.ts +10 -0
  306. package/object-form/lib/object-form-script/object-form-script.service.d.ts +45 -0
  307. package/object-form/lib/object-form-script/object-form-scripting-scope.d.ts +50 -0
  308. package/object-form/lib/object-form-translate.service.d.ts +15 -0
  309. package/object-form/lib/object-form.component.d.ts +60 -0
  310. package/object-form/lib/object-form.interface.d.ts +113 -0
  311. package/object-form/lib/object-form.model.d.ts +18 -0
  312. package/object-form/lib/object-form.service.d.ts +39 -0
  313. package/object-form/lib/object-form.utils.d.ts +20 -0
  314. package/object-form/lib/object-form.validation.d.ts +21 -0
  315. package/object-preview/README.md +3 -0
  316. package/object-preview/index.d.ts +2 -0
  317. package/object-preview/lib/components/index.d.ts +2 -0
  318. package/object-preview/lib/components/object-email-preview/object-email-preview.component.d.ts +16 -0
  319. package/object-preview/lib/components/object-preview/object-preview.component.d.ts +13 -0
  320. package/object-preview/lib/services/object-preview.service.d.ts +37 -0
  321. package/object-summary/README.md +3 -0
  322. package/object-summary/index.d.ts +4 -0
  323. package/object-summary/lib/multi-object-summary/multi-object-summary.component.d.ts +7 -0
  324. package/object-summary/lib/object-summary/object-summary.component.d.ts +73 -0
  325. package/object-summary/lib/object-summary-data/object-summary-data.component.d.ts +11 -0
  326. package/object-summary/lib/object-summary.module.d.ts +7 -0
  327. package/package.json +173 -0
  328. package/pagination/README.md +3 -0
  329. package/pagination/index.d.ts +2 -0
  330. package/pagination/lib/pagination.component.d.ts +18 -0
  331. package/pagination/lib/pagination.interface.d.ts +5 -0
  332. package/panel/README.md +3 -0
  333. package/panel/index.d.ts +1 -0
  334. package/panel/lib/panel.component.d.ts +12 -0
  335. package/renderer/README.md +5 -0
  336. package/renderer/index.d.ts +10 -0
  337. package/renderer/lib/property-renderer/abstract.renderer.d.ts +14 -0
  338. package/renderer/lib/property-renderer/datetime.renderer.d.ts +6 -0
  339. package/renderer/lib/property-renderer/decimal.renderer.component.d.ts +6 -0
  340. package/renderer/lib/property-renderer/filesize.renderer.component.d.ts +7 -0
  341. package/renderer/lib/property-renderer/icon.renderer.component.d.ts +6 -0
  342. package/renderer/lib/property-renderer/integer.renderer.component.d.ts +6 -0
  343. package/renderer/lib/property-renderer/organization.renderer.d.ts +7 -0
  344. package/renderer/lib/property-renderer/string.renderer.component.d.ts +6 -0
  345. package/renderer/lib/property-renderer/unknown.renderer.d.ts +6 -0
  346. package/renderer/lib/renderer.directive.d.ts +17 -0
  347. package/renderer/lib/services/renderer/renderer.interface.d.ts +8 -0
  348. package/renderer/lib/services/renderer/renderer.service.d.ts +35 -0
  349. package/sequence-list/README.md +3 -0
  350. package/sequence-list/index.d.ts +5 -0
  351. package/sequence-list/lib/due-date-picker/due-date-picker.component.d.ts +28 -0
  352. package/sequence-list/lib/sequence-list-template-manage/sequence-list-template-manage.component.d.ts +52 -0
  353. package/sequence-list/lib/sequence-list-templates/sequence-list-templates.component.d.ts +36 -0
  354. package/sequence-list/lib/sequence-list.component.d.ts +43 -0
  355. package/sequence-list/lib/sequence-list.interface.d.ts +16 -0
  356. package/simple-search/README.md +3 -0
  357. package/simple-search/index.d.ts +2 -0
  358. package/simple-search/lib/simple-search/simple-search.component.d.ts +55 -0
  359. package/simple-search/lib/simple-search/simple-search.interface.d.ts +4 -0
  360. package/styles/client-framework.scss +27 -0
  361. package/tile-list/README.md +3 -0
  362. package/tile-list/index.d.ts +10 -0
  363. package/tile-list/lib/tile/tile.component.d.ts +22 -0
  364. package/tile-list/lib/tile-config/action-select/action-select.component.d.ts +13 -0
  365. package/tile-list/lib/tile-config/icon-select/icon-select.component.d.ts +11 -0
  366. package/tile-list/lib/tile-config/property-select/property-select.component.d.ts +25 -0
  367. package/tile-list/lib/tile-config/tile-config-tile/tile-config-tile.component.d.ts +20 -0
  368. package/tile-list/lib/tile-config/tile-config-trigger/tile-config-trigger.component.d.ts +17 -0
  369. package/tile-list/lib/tile-config/tile-config.component.d.ts +47 -0
  370. package/tile-list/lib/tile-extension/directive/tile-extension.directive.d.ts +11 -0
  371. package/tile-list/lib/tile-extension/extensions/email.extension.d.ts +10 -0
  372. package/tile-list/lib/tile-extension/tile-extension.service.d.ts +16 -0
  373. package/tile-list/lib/tile-list/tile-list.component.d.ts +116 -0
  374. package/tile-list/lib/tile-list/tile-list.interface.d.ts +18 -0
  375. package/token-search/README.md +3 -0
  376. package/token-search/index.d.ts +2 -0
  377. package/token-search/token-search.component.d.ts +22 -0
  378. package/token-search/token-search.interface.d.ts +4 -0
  379. package/tree/README.md +3 -0
  380. package/tree/index.d.ts +2 -0
  381. package/tree/lib/tree-node/tree-node.component.d.ts +21 -0
  382. package/tree/lib/tree.component.d.ts +53 -0
  383. package/tree/lib/tree.interface.d.ts +11 -0
  384. package/tree/lib/tree.service.d.ts +35 -0
  385. package/upload-progress/README.md +3 -0
  386. package/upload-progress/index.d.ts +1 -0
  387. package/upload-progress/lib/upload-progress/upload-progress-overlay/upload-progress-overlay.component.d.ts +17 -0
  388. package/upload-progress/lib/upload-progress/upload-progress.component.d.ts +16 -0
  389. package/user-avatar/README.md +3 -0
  390. package/user-avatar/index.d.ts +2 -0
  391. package/user-avatar/lib/user-avatar.component.d.ts +44 -0
  392. package/user-avatar/lib/user-avatar.module.d.ts +8 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yuuvis-client-framework-common.mjs","sources":["../../../../../libs/yuuvis/client-framework/common/src/lib/directives/busy-overlay.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/focus-within.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/file-drop-zone/file-drop-zone.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/click-double.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/light-dismiss.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/container-size.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/longpress.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/drag-select.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/components/token-input/token-input.component.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/components/token-input/token-input.component.html","../../../../../libs/yuuvis/client-framework/common/src/lib/components/focus-indicator/focus-indicator.component.ts","../../../../../libs/yuuvis/client-framework/common/src/lib/directives/noop-value-accessor.directive.ts","../../../../../libs/yuuvis/client-framework/common/src/yuuvis-client-framework-common.ts"],"sourcesContent":["import { Directive, ElementRef, HostBinding, Input, OnInit, inject } from '@angular/core';\nimport { Utils } from '@yuuvis/client-core';\n\n/**\n * A directive that will overlay its host component with a translucent background\n * and a loading spinner once the condition resolves with true. This is useful for example to\n * prevent user intercation while component data is loading or some processing is done.\n *\n * It'll also set the `inert` attribute on the host element. This will disable the host and\n * all elements inside (like buttons, inputs etc.)\n *\n * @example\n * <div class=\"result-list\" [yuvBusyOverlay]=\"waitingForServerResponse\">...</div>\n *\n */\n@Directive({\n selector: '[yuvBusyOverlay]',\n standalone: true\n})\nexport class BusyOverlayDirective implements OnInit {\n @HostBinding('style.position') stylePosition = 'initial';\n\n #elRef = inject(ElementRef);\n\n #overlayId: string | null = null;\n /**\n * The Boolean expression to evaluate as the condition for showing the busy overlay\n */\n @Input() set yuvBusyOverlay(b: boolean) {\n if (b === true) {\n this.#addBusyOverlay();\n } else if (this.#overlayId) {\n this.#removeBusyOverlay();\n }\n }\n\n #addBusyOverlay() {\n this.stylePosition = 'relative';\n const overlay = document.createElement('div');\n overlay.style.position = 'absolute';\n overlay.style.transition = 'opacity 200ms';\n overlay.style.opacity = '0';\n overlay.style.inset = '0';\n overlay.style.display = 'grid';\n overlay.style.alignItems = 'center';\n overlay.style.justifyContent = 'center';\n overlay.style.zIndex = '5';\n overlay.style.backgroundColor = 'var(--busy-overlay-background)';\n\n this.#overlayId = `p${Utils.uuid()}`;\n overlay.setAttribute('id', this.#overlayId);\n const spinner = document.createElement('div');\n spinner.setAttribute('class', 'yuv-loader');\n overlay.append(spinner);\n const el = this.#elRef.nativeElement as HTMLElement;\n el.setAttribute('inert', '');\n el.append(overlay);\n setTimeout(() => {\n overlay.style.opacity = '1';\n });\n }\n\n #removeBusyOverlay() {\n const el = this.#elRef.nativeElement.querySelector(`#${this.#overlayId}`);\n if (el) {\n el.style.opacity = '0';\n setTimeout(() => {\n el.remove();\n }, 200);\n }\n this.#elRef.nativeElement.removeAttribute('inert');\n this.#overlayId = null;\n }\n\n ngOnInit() {\n this.stylePosition = getComputedStyle(this.#elRef.nativeElement).position;\n }\n}\n","import { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Output } from '@angular/core';\n/**\n * Directive keeping track of the focus beeing within a component. Once the component or\n * any of its child components gain focus, a class of `focusWithin` will be set on the\n * host component in order to allow styling it while beeing focused. Furthermore you can\n * register callbacks once the component gets or looses focus.\n *\n * @example\n * // just set the css class\n * <some-component yuvFocusWithin></some-component>\n * // set the css class and listen to focus changes\n * <some-component (yuvFocusWithin)=\"onFocusEnter()\" (yuvFocusWithinBlur)=\"onFocusLeave()\"></some-component>\n */\n@Directive({\n selector: '[yuvFocusWithin]',\n standalone: true\n})\nexport class FocusWithinDirective {\n private eventCount = 0;\n @HostBinding('class.focusWithin') hasFocusWithin = false;\n @HostListener('focusin', ['$event']) onFocusIn(evt: FocusEvent) {\n const hadFocusWithin = this.hasFocusWithin;\n this.hasFocusWithin = this.matchesFocusWithin();\n if (!hadFocusWithin && this.hasFocusWithin) {\n this.yuvFocusWithin.emit();\n }\n }\n @HostListener('focusout', ['$event']) onFocusOut(evt: FocusEvent) {\n const hadFocusWithin = this.hasFocusWithin;\n this.hasFocusWithin = this.matchesFocusWithin();\n if (hadFocusWithin && !this.hasFocusWithin) {\n this.yuvFocusWithinBlur.emit();\n }\n }\n\n /**\n * Emitted once the component or any of its child components gains focus.\n */\n @Output() yuvFocusWithin = new EventEmitter();\n /**\n * Emitted once the component (incl. any of its child components) looses focus.\n */\n @Output() yuvFocusWithinBlur = new EventEmitter();\n\n /**\n * @ignore\n */\n\n constructor(private elRef: ElementRef) { }\n\n // Determine if the given node matches the given selector.\n // @see: https://www.bennadel.com/blog/3476-checking-to-see-if-an-element-has-a-css-pseudo-class-in-javascript.htm\n private matchesFocusWithin(): boolean {\n const node = this.elRef.nativeElement;\n var nativeMatches = node.matches || node.msMatchesSelector;\n try {\n return nativeMatches.call(node, ':focus-within');\n } catch (error) {\n return false;\n }\n }\n}\n","import { Directive, ElementRef, HostListener, inject, input, output } from '@angular/core';\nimport { Utils } from '@yuuvis/client-core';\nimport { FileDropZoneOptions } from './file-drop-zone.interface';\n\n@Directive({\n selector: '[yuvFileDropZone]',\n standalone: true\n})\nexport class FileDropZoneDirective {\n #elRef = inject(ElementRef);\n\n #coverElement?: HTMLElement;\n\n #fileOver = false;\n set fileOver(fo: boolean) {\n if (fo !== this.#fileOver) {\n this.#fileOver = fo;\n this.fileDropOver.emit(fo);\n this.#toggleCover();\n }\n }\n get fileOver() {\n return this.#fileOver;\n }\n\n #defaultDragOverCoverStyles: Record<string, string> = {\n outline: '2px dashed var(--color-accent)',\n display: 'flex',\n transition: 'background-color .3s ease-in-out',\n 'z-index': '500',\n 'align-items': 'center',\n 'justify-content': 'center',\n 'outline-offset': '-2px',\n 'background-color': 'rgba(var(--color-accent-rgb), .5)'\n };\n\n #defaultDragOverCoverLabelStyles: Record<string, string> = {\n outline: '1px solid var(--color-accent)',\n\n padding: 'var(--app-pane-padding, 16px)',\n 'background-color': 'rgba(var(--color-accent-rgb), .9)',\n color: 'var(--color-accent-tone)'\n };\n\n yuvFileDropZone = input<FileDropZoneOptions>();\n fileDropDisabled = input<boolean>(false);\n\n fileDrop = output<File[]>();\n fileDropOver = output<boolean>();\n\n @HostListener('drop', ['$event'])\n onDrop(event: DragEvent) {\n if (this.fileDropDisabled()) return;\n event.preventDefault();\n event.stopPropagation();\n this.fileOver = false;\n\n const dataTransfer: DataTransfer | null = event.dataTransfer;\n\n if (dataTransfer) {\n if (dataTransfer?.items) {\n const files: File[] = [];\n for (let i = 0; i < dataTransfer.items.length; i++) {\n // If dropped items aren't files, reject them\n if (dataTransfer.items[i].kind === 'file') {\n const file = dataTransfer.items[i].getAsFile();\n if (file) files.push(file);\n }\n }\n dataTransfer.items.clear();\n this.fileDrop.emit(files);\n } else {\n const files = dataTransfer.files;\n dataTransfer.clearData();\n this.fileDrop.emit(Array.from(files));\n }\n }\n }\n\n @HostListener('dragover', ['$event'])\n onDragOver(event: DragEvent) {\n if (this.fileDropDisabled()) return;\n event.stopPropagation();\n event.preventDefault();\n this.fileOver = true;\n }\n\n @HostListener('dragleave', ['$event'])\n onDragLeave(event: DragEvent) {\n if (this.fileDropDisabled()) return;\n if ((event.target as HTMLElement).getAttribute('id') === this.#coverElement?.getAttribute('id')) {\n this.fileOver = false;\n }\n }\n\n @HostListener('body:dragover', ['$event'])\n onBodyDragOver(event: DragEvent) {\n event.preventDefault();\n event.stopPropagation();\n }\n @HostListener('body:drop', ['$event'])\n onBodyDrop(event: DragEvent) {\n event.preventDefault();\n }\n\n #toggleCover() {\n const el: HTMLElement = this.#elRef.nativeElement as HTMLElement;\n\n if (this.#coverElement) {\n el.style.position = 'initial';\n this.#coverElement.remove();\n this.#coverElement = undefined;\n }\n if (this.#fileOver) {\n el.style.position = 'relative';\n this.#coverElement = this.#createCoverElement();\n el.append(this.#coverElement);\n }\n }\n\n #createCoverElement(): HTMLElement {\n const coverElement = document.createElement('div');\n coverElement.setAttribute('id', Utils.uuid());\n coverElement.style.position = 'absolute';\n coverElement.style.inset = '0';\n const styles = this.yuvFileDropZone()?.coverStyles || this.#defaultDragOverCoverStyles;\n Object.keys(styles).forEach((k: string) => {\n (coverElement.style as any)[k] = styles[k];\n });\n\n const label = this.yuvFileDropZone()?.label;\n if (label) {\n const coverLabelElement = document.createElement('div');\n coverLabelElement.innerText = label;\n const labelStyles = this.yuvFileDropZone()?.coverLabelStyles || this.#defaultDragOverCoverLabelStyles;\n Object.keys(labelStyles).forEach((k: string) => {\n (coverLabelElement.style as any)[k] = labelStyles[k];\n });\n coverLabelElement.style.pointerEvents = 'none';\n coverElement.append(coverLabelElement);\n }\n return coverElement;\n }\n}\n","import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n/**\n * Fixes the issue of 'click' event beeing triggered on 'doubleclick' by defining new outputs that\n * distinguish between single and double click.\n */\n@Directive({\n selector: '[click.single],[click.double]',\n standalone: true\n})\nexport class ClickDoubleDirective {\n @Input() debounceTime = 200;\n @Output('click.double') doubleClick = new EventEmitter();\n @Output('click.single') singleClick = new EventEmitter();\n\n private clicksSubject = new Subject<MouseEvent>();\n\n constructor() {\n this.clicksSubject.pipe(takeUntilDestroyed(), debounceTime(this.debounceTime)).subscribe({\n next: (event) => {\n if (event.type === 'click') {\n this.singleClick.emit(event);\n } else {\n this.doubleClick.emit(event);\n }\n }\n });\n }\n\n @HostListener('click', ['$event'])\n clickEvent(event: MouseEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.clicksSubject.next(event);\n }\n @HostListener('dblclick', ['$event'])\n doubleClickEvent(event: MouseEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.clicksSubject.next(event);\n }\n}\n","import { Directive, ElementRef, HostListener, inject, output } from '@angular/core';\n\n/**\n * Directive for applying light dismiss actions. Adding this directive will trigger\n * the given function when the user clicks outside the component or hits escape.\n *\n * ```ts\n * <div class=\"notifications\" (yuvLightDismiss)=\"close()\">\n * ...\n * </div>\n * ```\n */\n@Directive({\n selector: '[yuvLightDismiss]',\n standalone: true\n})\nexport class LightDismissDirective {\n private elRef = inject(ElementRef);\n\n @HostListener('document:keydown.escape', ['$event'])\n onKeydownHandler(event: KeyboardEvent) {\n if (!event.defaultPrevented) {\n this.yuvLightDismiss.emit();\n }\n }\n\n @HostListener('document:mousedown', ['$event'])\n onMousedown(event: MouseEvent) {\n if (!this.elRef.nativeElement.contains(event.target)) {\n this.yuvLightDismiss.emit();\n }\n }\n\n yuvLightDismiss = output();\n}\n","import { Directive, ElementRef, NgZone, OnDestroy, inject, output } from '@angular/core';\n\n/**\n * Directive to watch the size of an element inside the DOM. Usefull for example to provide\n * a different layout (different components) depending on the available screen estate. You\n * should first try to use CSS container queries but somtimes you need a different set of\n * components to be loaded for a certain component size.\n *\n * Let's say you have components designed for bigger screens. You do not want to load them\n * if there is not enough space for them. So you rather load components that are designed to\n * take less space by providing the best user experience on smaller devices.\n *\n * ```html\n * <div yuvContainerSize (containerHeight)=\"onContainerResize($event)\" (containerWidth)=\"onContainerResize($event)\"></div>\n * ```\n *\n */\n@Directive({\n selector: '[yuvContainerSize]',\n standalone: true\n})\nexport class ContainerSizeDirective implements OnDestroy {\n private elRef = inject(ElementRef);\n private ngZone = inject(NgZone);\n\n containerHeight = output<number>();\n containerWidth = output<number>();\n\n private _size?: ResizeObserverSize;\n private _resizeObserver = new ResizeObserver((entries) => {\n const size = entries[0].borderBoxSize[0];\n if (!this._size || size.blockSize !== this._size.blockSize) {\n this._emit(size.blockSize, true);\n }\n if (!this._size || size.inlineSize !== this._size.inlineSize) {\n this._emit(size.inlineSize);\n }\n this._size = size;\n });\n\n constructor() {\n this._resizeObserver.observe(this.elRef.nativeElement);\n }\n\n private _emit(value: number, isHeight = false) {\n // ResizeObserver callback is not covered by change detection\n // so it has to be executed withing ngZone\n this.ngZone.run(() => {\n (isHeight ? this.containerHeight : this.containerWidth).emit(value);\n });\n }\n\n ngOnDestroy(): void {\n this._resizeObserver.unobserve(this.elRef.nativeElement);\n }\n}\n","import { Directive, ElementRef, inject, input, output } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent, merge, of, timer } from 'rxjs';\nimport { filter, map, switchMap } from 'rxjs/operators';\n\n@Directive({\n selector: '[yuvLongPress]',\n standalone: true\n})\nexport class LongPressDirective {\n private elRef = inject(ElementRef);\n\n threshold = 500;\n\n yuvLongPress = input<LongPressDirectiveOptions>({\n enabled: false\n });\n longpress = output();\n\n constructor() {\n const mousedown = fromEvent<MouseEvent>(this.elRef.nativeElement, 'mousedown').pipe(\n takeUntilDestroyed(),\n filter((event) => event.button == 0), // Only allow left button (Primary button)\n map(() => true) // turn on threshold counter\n );\n const touchstart = fromEvent(this.elRef.nativeElement, 'touchstart').pipe(\n takeUntilDestroyed(),\n map(() => true)\n );\n const touchEnd = fromEvent(this.elRef.nativeElement, 'touchend').pipe(\n takeUntilDestroyed(),\n map(() => false)\n );\n const mouseup = fromEvent<MouseEvent>(window, 'mouseup').pipe(\n takeUntilDestroyed(),\n filter((event) => event.button == 0), // Only allow left button (Primary button)\n map(() => false) // reset threshold counter\n );\n merge(mousedown, mouseup, touchstart, touchEnd)\n .pipe(\n takeUntilDestroyed(),\n switchMap((state) => (state ? timer(this.threshold, 100) : of(null))),\n filter((value) => !!value)\n )\n .subscribe(() => this.longpress.emit());\n }\n}\n\nexport interface LongPressDirectiveOptions {\n enabled: boolean;\n}\n","import { computed, contentChildren, Directive, ElementRef, HostListener, inject, input, output } from '@angular/core';\n\ninterface SelectableRect {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\nexport interface DragSelectOptions {\n disabled?: boolean;\n selectorColor?: string;\n}\n\n@Directive({\n selector: '[yuvDragSelect]',\n standalone: true\n})\nexport class DragSelectDirective {\n #selector?: HTMLDivElement;\n #selectStartX = 0;\n #selectStartY = 0;\n\n #selection: number[] = [];\n\n @HostListener('pointerdown', ['$event']) onPointerDown(event: PointerEvent) {\n if (this.yuvDragSelect()?.disabled) return;\n event.preventDefault();\n this.#selectStartX = event.pageX;\n this.#selectStartY = event.pageY;\n\n const div = document.createElement('div');\n div.style.position = 'absolute';\n div.style.width = '0';\n div.style.height = '0';\n div.style.left = this.#selectStartX + 'px';\n div.style.top = this.#selectStartY + 'px';\n div.classList.add('drag-select');\n this.#selector = div;\n document.body.append(this.#selector);\n\n this.#selection = [];\n addEventListener('pointermove', this.#resize);\n addEventListener('pointerup', this.#onPointerUp);\n }\n\n items = contentChildren(DragSelectItemDirective);\n #selectables = computed(() => this.items().map((item) => item.el));\n\n yuvDragSelect = input<DragSelectOptions>();\n dragSelectChange = output<number[]>();\n dragSelect = output<number[]>();\n\n #onPointerUp = () => {\n removeEventListener('pointermove', this.#resize);\n removeEventListener('pointerup', this.#onPointerUp);\n if (this.#selection.length) this.dragSelect.emit(this.#selection);\n if (this.#selector) this.#selector.remove();\n };\n\n #resize = (event: PointerEvent) => {\n if (!this.#selector) return;\n const diffX = event.pageX - this.#selectStartX;\n const diffY = event.pageY - this.#selectStartY;\n this.#selector.style.left = diffX < 0 ? this.#selectStartX + diffX + 'px' : this.#selectStartX + 'px';\n this.#selector.style.top = diffY < 0 ? this.#selectStartY + diffY + 'px' : this.#selectStartY + 'px';\n this.#selector.style.height = Math.abs(diffY) + 'px';\n this.#selector.style.width = Math.abs(diffX) + 'px';\n\n this.#selector.style.border = `1px solid ${this.yuvDragSelect()?.selectorColor || 'var(--color-accent'}`;\n this.#checkSelected();\n };\n\n #checkSelected = () => {\n if (!this.#selector) return;\n const select = this.#selector.getBoundingClientRect();\n const { x, y, height, width } = select;\n if (!height || !width) return;\n\n const currSelectionLength = this.#selection.length;\n this.#selectables().forEach((selectable, idx) => {\n const r1: SelectableRect = { x: x + window.scrollX, y: y + window.scrollY, height, width };\n const r2: SelectableRect = selectable.getBoundingClientRect();\n this.#selection = this.#selection.filter((s) => s !== idx);\n if (this.#checkRectIntersection(r1, r2)) {\n this.#selection.push(idx);\n }\n });\n\n if (currSelectionLength !== this.#selection.length) {\n this.dragSelectChange.emit(this.#selection);\n }\n };\n\n #checkRectIntersection = (r1: SelectableRect, r2: SelectableRect) => {\n return !(r1.x + r1.width < r2.x || r2.x + r2.width < r1.x || r1.y + r1.height < r2.y || r2.y + r2.height < r1.y);\n };\n}\n\n@Directive({\n selector: '[yuvDragSelectItem]',\n standalone: true\n})\nexport class DragSelectItemDirective {\n #elRef = inject(ElementRef);\n el = this.#elRef.nativeElement as HTMLElement;\n}\n","import { Component, ElementRef, HostListener, NgZone, TemplateRef, contentChild, inject, input, output, viewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InnerInputToken, InputToken } from './token-input.interface';\nimport { YvcOverlayRef, YvcOverlayService } from '@yuuvis/components/overlay';\nimport { YvcAutocompleteModule } from '@yuuvis/components/autocomplete';\n\n// TODO: Move to @yuuvis/components\n@Component({\n selector: 'yuv-token-input',\n standalone: true,\n imports: [CommonModule, YvcAutocompleteModule],\n templateUrl: './token-input.component.html',\n styleUrl: './token-input.component.scss'\n})\nexport class TokenInputComponent {\n private elRef = inject(ElementRef);\n private overlay = inject(YvcOverlayService);\n private ngZone = inject(NgZone);\n\n optionsTemplate = viewChild.required<TemplateRef<any>>('options');\n /**\n * Template to be used for rendering selected tokens\n */\n tokenTemplate = contentChild<TemplateRef<any>>('tokenTemplate');\n /**\n * Template to be used for rendering autocomplete suggestion entries\n */\n optionTemplate = contentChild<TemplateRef<any>>('optionTemplate');\n\n TEXT_TOKEN_TYPE = 'txt';\n private _inputElement?: HTMLInputElement;\n private _overlayRef?: YvcOverlayRef;\n\n tokens = input<InputToken[]>([]);\n caseSensitive = input<boolean>(false);\n\n change = output<InputToken[]>();\n\n private readonly _cleanFormTokens: InputToken[] = [this._newTextToken()];\n formTokens: InputToken[] = structuredClone(this._cleanFormTokens);\n autocompleteValues: InputToken[] = [];\n autocompleteSelectedIndex = -1;\n focusedTokenIndex = -1;\n\n @HostListener('keydown.arrowUp', ['$event']) onArrowUpKey(event: KeyboardEvent) {\n event.preventDefault();\n event.stopPropagation();\n if (this.autocompleteSelectedIndex > 0) this.autocompleteSelectedIndex--;\n }\n @HostListener('keydown.arrowDown', ['$event']) onArrowDownKey(event: KeyboardEvent) {\n event.preventDefault();\n event.stopPropagation();\n if (this.autocompleteValues && this.autocompleteSelectedIndex < this.autocompleteValues.length - 1) this.autocompleteSelectedIndex++;\n }\n @HostListener('keydown.enter', ['$event']) onEnterKey(event: KeyboardEvent) {\n if (this.autocompleteValues.length && this.autocompleteSelectedIndex >= 0) {\n event.preventDefault();\n event.stopPropagation();\n this.onOptionSelect(this.autocompleteValues[this.autocompleteSelectedIndex]);\n }\n }\n\n clear() {\n this.formTokens = structuredClone(this._cleanFormTokens);\n this._inputElement!.innerText = '';\n this._emitChange(true);\n }\n\n onInputFocus(e: any) {\n this._inputElement = e.target;\n this.focusedTokenIndex = this._inputElement ? this.formTokens.findIndex((t) => t.id === this._inputElement!.getAttribute('data-id')) : -1;\n // console.log('FIndex: ' + this.focusedTokenIndex);\n }\n\n onInput(e: any) {\n this._processValue();\n this._emitChange();\n }\n\n onArrowLeft(e: Event) {\n const cp = this._getCaretPos(e.target as Node);\n if (cp === 0) {\n e.stopPropagation();\n e.preventDefault();\n this._focusInput(-1);\n }\n }\n onArrowRight(e: Event) {\n const cp = this._getCaretPos(e.target as Node);\n if (cp === (e.target as HTMLElement).innerText.length) {\n e.stopPropagation();\n e.preventDefault();\n this._focusInput(1);\n }\n }\n\n onDelete(e: Event, index: number) {\n const cp = this._getCaretPos(e.target as Node);\n if (cp === (e.target as HTMLElement).innerText.length) {\n e.stopPropagation();\n e.preventDefault();\n\n // remove next token\n if (index < this.formTokens.length - 2) {\n this.formTokens.splice(index + 1, 1);\n\n // if prev token is also a text token => merge\n const nextIdx = index + 1;\n if (nextIdx < this.formTokens.length && this.formTokens[nextIdx].type === this.TEXT_TOKEN_TYPE) {\n const content = this.formTokens[index].label;\n const nextContent = this.formTokens[nextIdx].label;\n const mergedToken: InputToken = {\n id: this.formTokens[index + 1].id,\n label: `${content} ${nextContent}`,\n type: this.TEXT_TOKEN_TYPE\n };\n this.formTokens.splice(index + 1, 2, mergedToken);\n\n const el: HTMLElement | null = (this.elRef.nativeElement as HTMLElement).querySelector(`[data-id=\"${this.formTokens[index + 1].id}\"]`);\n if (el) {\n el.innerText = mergedToken.label;\n this._setCaretPos(el, content.length);\n }\n }\n this._emitChange();\n }\n }\n }\n\n onBackspace(e: Event, index: number) {\n const cp = this._getCaretPos(e.target as Node);\n if (cp === 0) {\n e.stopPropagation();\n e.preventDefault();\n\n // remove prev token\n if (index > 0) {\n this.formTokens.splice(index - 1, 1);\n // if prev token is also a text token => merge\n const prevIdx = index - 2;\n if (prevIdx >= 0 && this.formTokens[prevIdx].type === this.TEXT_TOKEN_TYPE) {\n const content = this.formTokens[index - 1].label;\n const prevContent = this.formTokens[prevIdx].label;\n const mergedToken: InputToken = {\n id: this.formTokens[prevIdx].id,\n label: `${prevContent} ${content}`,\n type: this.TEXT_TOKEN_TYPE\n };\n this.formTokens.splice(prevIdx, 2, mergedToken);\n const el: HTMLElement | null = (this.elRef.nativeElement as HTMLElement).querySelector(`[data-id=\"${this.formTokens[prevIdx].id}\"]`);\n if (el) {\n el.innerText = mergedToken.label;\n this._setCaretPos(el, prevContent.length);\n }\n } else {\n this._focusFirst();\n }\n this._emitChange();\n }\n }\n }\n\n private _focusFirst() {\n const el: HTMLElement | null = (this.elRef.nativeElement as HTMLElement).querySelector(`[contenteditable]`);\n if (el)\n setTimeout(() => {\n el?.focus();\n });\n }\n\n private _focusInput(offset: number) {\n const inputs: HTMLInputElement[] = Array.from(this.elRef.nativeElement.querySelectorAll('[contenteditable]'));\n let i = inputs.findIndex((i) => i === document.activeElement);\n i = i + offset;\n if (i > inputs.length - 1) i = 0;\n if (i < 0) i = inputs.length - 1;\n this.ngZone.run(() => inputs[i].focus());\n\n this._setCaretPos(inputs[i], offset > 0 || inputs[i].innerText.length === 0 ? 0 : inputs[i].innerText.length);\n }\n\n private _setCaretPos(element: HTMLElement, pos: number) {\n const targetNode = element.childNodes.length ? element.childNodes[0] : element;\n const range = document.createRange();\n range.selectNode(element);\n range.setStart(targetNode, pos);\n range.setEnd(targetNode, pos);\n const selection = window.getSelection();\n selection!.removeAllRanges();\n selection!.addRange(range);\n }\n\n private _getCaretPos(node: Node): number {\n const selection = window.getSelection();\n const range = selection!.getRangeAt(0);\n const clonedRange = range.cloneRange();\n clonedRange.selectNodeContents(node);\n clonedRange.setEnd(range.endContainer, range.endOffset);\n return clonedRange.toString().length;\n }\n\n onOptionSelect(o: InputToken) {\n let tokensAdded = 0;\n let tokensRemoved = 0;\n const inputValue = this._getInputValue();\n const wordTokens: string[] = this._tokenize(inputValue);\n const lastWord = wordTokens[wordTokens.length - 1];\n if (lastWord.length === inputValue.length) {\n this.formTokens.pop();\n tokensRemoved++;\n }\n\n this.formTokens.splice(this.focusedTokenIndex + 1, 0, structuredClone(o));\n tokensAdded++;\n\n const shadowTokens: InputToken[] = [];\n // check for inbetween tokens\n let txtTokenCount = -1;\n this.formTokens.forEach((t: InputToken, i: number) => {\n if (t.type === this.TEXT_TOKEN_TYPE) {\n txtTokenCount++;\n t.id = this._textTokenId(txtTokenCount);\n }\n shadowTokens.push(t);\n const nextToken = this.formTokens[i + 1];\n if (t.type !== this.TEXT_TOKEN_TYPE && nextToken && nextToken.type !== this.TEXT_TOKEN_TYPE) {\n // add inbetween token\n txtTokenCount++;\n shadowTokens.push(this._newTextToken(txtTokenCount));\n tokensAdded++;\n }\n });\n\n if (this.formTokens[this.formTokens.length - 1].type !== this.TEXT_TOKEN_TYPE) {\n // add empty text token at the end\n txtTokenCount++;\n shadowTokens.push(this._newTextToken(txtTokenCount));\n tokensAdded++;\n }\n this.formTokens = shadowTokens;\n this._inputElement!.innerText = inputValue.substring(0, inputValue.length - lastWord.length).trim();\n this._emitChange();\n setTimeout(() => {\n // console.log(`fi: ${this.focusedTokenIndex}, ta: ${tokensAdded}, tr: ${tokensRemoved}, ne: ${this.focusedTokenIndex + (tokensAdded - tokensRemoved)}`);\n\n this._focusTokenInput(this.focusedTokenIndex + (tokensAdded - tokensRemoved));\n });\n\n this.closeOptions();\n }\n\n private _focusTokenInput(index?: number): HTMLElement {\n const selector = index === undefined ? 'div:last-child' : `div:nth-child(${index + 1})`;\n console.log(selector);\n\n const lastInput: HTMLElement = (this.elRef.nativeElement as HTMLElement).querySelector(selector) as HTMLElement;\n lastInput.focus();\n return lastInput;\n }\n\n // private _focusInput(): HTMLElement {\n // const lastInput: HTMLElement = (\n // this.elRef.nativeElement as HTMLElement\n // ).querySelector('[contenteditable]:last-child') as HTMLElement;\n // lastInput.focus();\n // return lastInput;\n // }\n\n openOptions() {\n if (this._overlayRef || !this.autocompleteValues.length) return;\n this._overlayRef = this.overlay.open(\n this.optionsTemplate(),\n null,\n {\n lightDismiss: true,\n maxHeight: '97vh'\n },\n this.elRef\n );\n }\n\n closeOptions(): void {\n if (this._overlayRef) {\n this._overlayRef.close();\n this._overlayRef = undefined;\n }\n this.autocompleteSelectedIndex = -1;\n this.autocompleteValues = [];\n }\n\n onTokenEnter(e: Event) {\n e.preventDefault();\n }\n\n private _emitChange(focusFirst = false) {\n // need to set timeout so DOM changes are applied before accessing elements\n setTimeout(() => {\n this.formTokens.forEach((t) => {\n if (t.type === this.TEXT_TOKEN_TYPE) {\n const el: HTMLElement | null = (this.elRef.nativeElement as HTMLElement).querySelector(`[data-id=\"${t.id}\"]`);\n if (el) t.label = el.innerText;\n }\n });\n this.change.emit(\n this.formTokens\n .filter((t: InnerInputToken) => t.type !== this.TEXT_TOKEN_TYPE || t.label.length > 0)\n .map((t: InnerInputToken) => ({\n id: t.id,\n label: t.label,\n type: t.type\n }))\n );\n if (focusFirst) this._focusFirst();\n });\n }\n\n private _newTextToken(idx?: number): InnerInputToken {\n const index = idx !== undefined ? idx : this.formTokens?.length ? this.formTokens.filter((t) => t.type === this.TEXT_TOKEN_TYPE).length : 0;\n return {\n id: this._textTokenId(index),\n label: '',\n type: this.TEXT_TOKEN_TYPE\n };\n }\n\n private _textTokenId(i: number): string {\n return `txt_${i}`;\n }\n\n private _tokenize(value: string): string[] {\n const wordTokens: string[] = value.split(/\\W+/).filter((t: string) => t?.length);\n return wordTokens;\n }\n\n private _getInputValue(): string {\n return this._inputElement!.innerText.replaceAll('&nbsp;', '');\n }\n\n private _processValue() {\n const wordTokens: string[] = this._tokenize(this._getInputValue());\n const lastWord = wordTokens[wordTokens.length - 1];\n\n this.autocompleteValues =\n !lastWord || lastWord.length < 2\n ? []\n : this.tokens().filter((t: InputToken) => lastWord && new RegExp(lastWord, this.caseSensitive() ? '' : 'i').test(t.label));\n this.autocompleteSelectedIndex = this.autocompleteValues.length ? 0 : -1;\n if (this.autocompleteValues.length) this.openOptions();\n else this.closeOptions();\n }\n}\n","<!-- fi {{focusedTokenIndex}} -->\n\n@for (ft of formTokens; let i = $index; track $index) {\n @if (ft.type === TEXT_TOKEN_TYPE) {\n <div\n contenteditable\n [attr.data-id]=\"ft.id\"\n (input)=\"onInput($event)\"\n (focus)=\"onInputFocus($event)\"\n (keydown.enter)=\"onTokenEnter($event)\"\n (keydown.arrowLeft)=\"onArrowLeft($event)\"\n (keydown.arrowRight)=\"onArrowRight($event)\"\n (keydown.delete)=\"onDelete($event, i)\"\n (keydown.backspace)=\"onBackspace($event, i)\"\n ></div>\n } @else {\n @if (tokenTemplate()) {\n <ng-container *ngTemplateOutlet=\"tokenTemplate()!; context: { $implicit: ft }\"></ng-container>\n } @else {\n <div class=\"chip\">{{ ft.label }}</div>\n }\n }\n}\n\n<ng-template #options>\n <yvc-autocomplete-options\n class=\"popover animateIn\"\n [values]=\"autocompleteValues\"\n [(focusedIndex)]=\"autocompleteSelectedIndex\"\n [autocompleteOptionTemplate]=\"optionTemplate() || null\"\n (optionSelect)=\"onOptionSelect($event)\"\n [field]=\"'label'\"\n ></yvc-autocomplete-options>\n</ng-template>\n","import { Component, ElementRef, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { filter, fromEvent, tap } from 'rxjs';\n\n@Component({\n selector: 'yuv-focus-indicator',\n standalone: true,\n imports: [CommonModule],\n template: '',\n styleUrl: './focus-indicator.component.scss',\n host: {\n inert: 'true'\n }\n})\nexport class FocusIndicatorComponent {\n #elRef = inject(ElementRef);\n\n constructor() {\n fromEvent<KeyboardEvent>(document, 'keyup')\n .pipe(\n takeUntilDestroyed(),\n filter((e: KeyboardEvent) => e.code === 'Tab')\n )\n .subscribe(() => this.#position());\n\n fromEvent(document, 'focusout')\n .pipe(takeUntilDestroyed())\n .subscribe(() => {\n const fi = this.#elRef.nativeElement as HTMLElement;\n fi.classList.remove('visible');\n });\n }\n\n #position() {\n setTimeout(() => {\n const focusedElement = document.activeElement;\n const fi = this.#elRef.nativeElement as HTMLElement;\n\n if (fi && focusedElement && focusedElement.matches(':focus-visible')) {\n fi.classList.add('visible');\n const { left, top, width, height } = focusedElement.getBoundingClientRect();\n fi.style.translate = ` ${Math.round(left)}px ${Math.round(top)}px`;\n fi.style.width = `${Math.round(width)}px`;\n fi.style.height = `${Math.round(height)}px`;\n }\n });\n }\n}\n","/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable @typescript-eslint/no-empty-function */\nimport { Directive, forwardRef, inject } from '@angular/core';\nimport { ControlValueAccessor, FormControlDirective, FormControlName, NG_VALUE_ACCESSOR, NgControl, NgModel } from '@angular/forms';\n\n// @see: https://netbasal.com/forwarding-form-controls-to-custom-control-components-in-angular-701e8406cc55\n@Directive({\n standalone: true,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => NoopValueAccessorDirective),\n },\n ],\n})\nexport class NoopValueAccessorDirective implements ControlValueAccessor {\n writeValue(obj: any): void {}\n registerOnChange(fn: any): void {}\n registerOnTouched(fn: any): void {}\n}\n\nexport function injectNgControl() {\n const ngControl = inject(NgControl, { self: true, optional: true });\n\n if (!ngControl) throw new Error('...');\n\n if (ngControl instanceof FormControlDirective || ngControl instanceof FormControlName || ngControl instanceof NgModel) {\n return ngControl;\n }\n\n throw new Error('...');\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["filter"],"mappings":"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"}