@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,114 @@
1
+ import { computed, contentChildren, Directive, ElementRef, HostListener, inject, input, output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DragSelectDirective {
4
+ constructor() {
5
+ this.#selectStartX = 0;
6
+ this.#selectStartY = 0;
7
+ this.#selection = [];
8
+ this.items = contentChildren(DragSelectItemDirective);
9
+ this.#selectables = computed(() => this.items().map((item) => item.el));
10
+ this.yuvDragSelect = input();
11
+ this.dragSelectChange = output();
12
+ this.dragSelect = output();
13
+ this.#onPointerUp = () => {
14
+ removeEventListener('pointermove', this.#resize);
15
+ removeEventListener('pointerup', this.#onPointerUp);
16
+ if (this.#selection.length)
17
+ this.dragSelect.emit(this.#selection);
18
+ if (this.#selector)
19
+ this.#selector.remove();
20
+ };
21
+ this.#resize = (event) => {
22
+ if (!this.#selector)
23
+ return;
24
+ const diffX = event.pageX - this.#selectStartX;
25
+ const diffY = event.pageY - this.#selectStartY;
26
+ this.#selector.style.left = diffX < 0 ? this.#selectStartX + diffX + 'px' : this.#selectStartX + 'px';
27
+ this.#selector.style.top = diffY < 0 ? this.#selectStartY + diffY + 'px' : this.#selectStartY + 'px';
28
+ this.#selector.style.height = Math.abs(diffY) + 'px';
29
+ this.#selector.style.width = Math.abs(diffX) + 'px';
30
+ this.#selector.style.border = `1px solid ${this.yuvDragSelect()?.selectorColor || 'var(--color-accent'}`;
31
+ this.#checkSelected();
32
+ };
33
+ this.#checkSelected = () => {
34
+ if (!this.#selector)
35
+ return;
36
+ const select = this.#selector.getBoundingClientRect();
37
+ const { x, y, height, width } = select;
38
+ if (!height || !width)
39
+ return;
40
+ const currSelectionLength = this.#selection.length;
41
+ this.#selectables().forEach((selectable, idx) => {
42
+ const r1 = { x: x + window.scrollX, y: y + window.scrollY, height, width };
43
+ const r2 = selectable.getBoundingClientRect();
44
+ this.#selection = this.#selection.filter((s) => s !== idx);
45
+ if (this.#checkRectIntersection(r1, r2)) {
46
+ this.#selection.push(idx);
47
+ }
48
+ });
49
+ if (currSelectionLength !== this.#selection.length) {
50
+ this.dragSelectChange.emit(this.#selection);
51
+ }
52
+ };
53
+ this.#checkRectIntersection = (r1, r2) => {
54
+ 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);
55
+ };
56
+ }
57
+ #selector;
58
+ #selectStartX;
59
+ #selectStartY;
60
+ #selection;
61
+ onPointerDown(event) {
62
+ if (this.yuvDragSelect()?.disabled)
63
+ return;
64
+ event.preventDefault();
65
+ this.#selectStartX = event.pageX;
66
+ this.#selectStartY = event.pageY;
67
+ const div = document.createElement('div');
68
+ div.style.position = 'absolute';
69
+ div.style.width = '0';
70
+ div.style.height = '0';
71
+ div.style.left = this.#selectStartX + 'px';
72
+ div.style.top = this.#selectStartY + 'px';
73
+ div.classList.add('drag-select');
74
+ this.#selector = div;
75
+ document.body.append(this.#selector);
76
+ this.#selection = [];
77
+ addEventListener('pointermove', this.#resize);
78
+ addEventListener('pointerup', this.#onPointerUp);
79
+ }
80
+ #selectables;
81
+ #onPointerUp;
82
+ #resize;
83
+ #checkSelected;
84
+ #checkRectIntersection;
85
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DragSelectDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
86
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.13", type: DragSelectDirective, isStandalone: true, selector: "[yuvDragSelect]", inputs: { yuvDragSelect: { classPropertyName: "yuvDragSelect", publicName: "yuvDragSelect", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dragSelectChange: "dragSelectChange", dragSelect: "dragSelect" }, host: { listeners: { "pointerdown": "onPointerDown($event)" } }, queries: [{ propertyName: "items", predicate: DragSelectItemDirective, isSignal: true }], ngImport: i0 }); }
87
+ }
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DragSelectDirective, decorators: [{
89
+ type: Directive,
90
+ args: [{
91
+ selector: '[yuvDragSelect]',
92
+ standalone: true
93
+ }]
94
+ }], propDecorators: { onPointerDown: [{
95
+ type: HostListener,
96
+ args: ['pointerdown', ['$event']]
97
+ }] } });
98
+ export class DragSelectItemDirective {
99
+ constructor() {
100
+ this.#elRef = inject(ElementRef);
101
+ this.el = this.#elRef.nativeElement;
102
+ }
103
+ #elRef;
104
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DragSelectItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
105
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DragSelectItemDirective, isStandalone: true, selector: "[yuvDragSelectItem]", ngImport: i0 }); }
106
+ }
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DragSelectItemDirective, decorators: [{
108
+ type: Directive,
109
+ args: [{
110
+ selector: '[yuvDragSelectItem]',
111
+ standalone: true
112
+ }]
113
+ }] });
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1zZWxlY3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9jb21tb24vc3JjL2xpYi9kaXJlY3RpdmVzL2RyYWctc2VsZWN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFrQnRILE1BQU0sT0FBTyxtQkFBbUI7SUFKaEM7UUFNRSxrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUNsQixrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUVsQixlQUFVLEdBQWEsRUFBRSxDQUFDO1FBdUIxQixVQUFLLEdBQUcsZUFBZSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDakQsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFbkUsa0JBQWEsR0FBRyxLQUFLLEVBQXFCLENBQUM7UUFDM0MscUJBQWdCLEdBQUcsTUFBTSxFQUFZLENBQUM7UUFDdEMsZUFBVSxHQUFHLE1BQU0sRUFBWSxDQUFDO1FBRWhDLGlCQUFZLEdBQUcsR0FBRyxFQUFFO1lBQ2xCLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakQsbUJBQW1CLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNwRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTTtnQkFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FB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VCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgY29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmludGVyZmFjZSBTZWxlY3RhYmxlUmVjdCB7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEcmFnU2VsZWN0T3B0aW9ucyB7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgc2VsZWN0b3JDb2xvcj86IHN0cmluZztcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3l1dkRyYWdTZWxlY3RdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEcmFnU2VsZWN0RGlyZWN0aXZlIHtcbiAgI3NlbGVjdG9yPzogSFRNTERpdkVsZW1lbnQ7XG4gICNzZWxlY3RTdGFydFggPSAwO1xuICAjc2VsZWN0U3RhcnRZID0gMDtcblxuICAjc2VsZWN0aW9uOiBudW1iZXJbXSA9IFtdO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgWyckZXZlbnQnXSkgb25Qb2ludGVyRG93bihldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgaWYgKHRoaXMueXV2RHJhZ1NlbGVjdCgpPy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy4jc2VsZWN0U3RhcnRYID0gZXZlbnQucGFnZVg7XG4gICAgdGhpcy4jc2VsZWN0U3RhcnRZID0gZXZlbnQucGFnZVk7XG5cbiAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBkaXYuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgIGRpdi5zdHlsZS53aWR0aCA9ICcwJztcbiAgICBkaXYuc3R5bGUuaGVpZ2h0ID0gJzAnO1xuICAgIGRpdi5zdHlsZS5sZWZ0ID0gdGhpcy4jc2VsZWN0U3RhcnRYICsgJ3B4JztcbiAgICBkaXYuc3R5bGUudG9wID0gdGhpcy4jc2VsZWN0U3RhcnRZICsgJ3B4JztcbiAgICBkaXYuY2xhc3NMaXN0LmFkZCgnZHJhZy1zZWxlY3QnKTtcbiAgICB0aGlzLiNzZWxlY3RvciA9IGRpdjtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZCh0aGlzLiNzZWxlY3Rvcik7XG5cbiAgICB0aGlzLiNzZWxlY3Rpb24gPSBbXTtcbiAgICBhZGRFdmVudExpc3RlbmVyKCdwb2ludGVybW92ZScsIHRoaXMuI3Jlc2l6ZSk7XG4gICAgYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgdGhpcy4jb25Qb2ludGVyVXApO1xuICB9XG5cbiAgaXRlbXMgPSBjb250ZW50Q2hpbGRyZW4oRHJhZ1NlbGVjdEl0ZW1EaXJlY3RpdmUpO1xuICAjc2VsZWN0YWJsZXMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLml0ZW1zKCkubWFwKChpdGVtKSA9PiBpdGVtLmVsKSk7XG5cbiAgeXV2RHJhZ1NlbGVjdCA9IGlucHV0PERyYWdTZWxlY3RPcHRpb25zPigpO1xuICBkcmFnU2VsZWN0Q2hhbmdlID0gb3V0cHV0PG51bWJlcltdPigpO1xuICBkcmFnU2VsZWN0ID0gb3V0cHV0PG51bWJlcltdPigpO1xuXG4gICNvblBvaW50ZXJVcCA9ICgpID0+IHtcbiAgICByZW1vdmVFdmVudExpc3RlbmVyKCdwb2ludGVybW92ZScsIHRoaXMuI3Jlc2l6ZSk7XG4gICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgdGhpcy4jb25Qb2ludGVyVXApO1xuICAgIGlmICh0aGlzLiNzZWxlY3Rpb24ubGVuZ3RoKSB0aGlzLmRyYWdTZWxlY3QuZW1pdCh0aGlzLiNzZWxlY3Rpb24pO1xuICAgIGlmICh0aGlzLiNzZWxlY3RvcikgdGhpcy4jc2VsZWN0b3IucmVtb3ZlKCk7XG4gIH07XG5cbiAgI3Jlc2l6ZSA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgaWYgKCF0aGlzLiNzZWxlY3RvcikgcmV0dXJuO1xuICAgIGNvbnN0IGRpZmZYID0gZXZlbnQucGFnZVggLSB0aGlzLiNzZWxlY3RTdGFydFg7XG4gICAgY29uc3QgZGlmZlkgPSBldmVudC5wYWdlWSAtIHRoaXMuI3NlbGVjdFN0YXJ0WTtcbiAgICB0aGlzLiNzZWxlY3Rvci5zdHlsZS5sZWZ0ID0gZGlmZlggPCAwID8gdGhpcy4jc2VsZWN0U3RhcnRYICsgZGlmZlggKyAncHgnIDogdGhpcy4jc2VsZWN0U3RhcnRYICsgJ3B4JztcbiAgICB0aGlzLiNzZWxlY3Rvci5zdHlsZS50b3AgPSBkaWZmWSA8IDAgPyB0aGlzLiNzZWxlY3RTdGFydFkgKyBkaWZmWSArICdweCcgOiB0aGlzLiNzZWxlY3RTdGFydFkgKyAncHgnO1xuICAgIHRoaXMuI3NlbGVjdG9yLnN0eWxlLmhlaWdodCA9IE1hdGguYWJzKGRpZmZZKSArICdweCc7XG4gICAgdGhpcy4jc2VsZWN0b3Iuc3R5bGUud2lkdGggPSBNYXRoLmFicyhkaWZmWCkgKyAncHgnO1xuXG4gICAgdGhpcy4jc2VsZWN0b3Iuc3R5bGUuYm9yZGVyID0gYDFweCBzb2xpZCAke3RoaXMueXV2RHJhZ1NlbGVjdCgpPy5zZWxlY3RvckNvbG9yIHx8ICd2YXIoLS1jb2xvci1hY2NlbnQnfWA7XG4gICAgdGhpcy4jY2hlY2tTZWxlY3RlZCgpO1xuICB9O1xuXG4gICNjaGVja1NlbGVjdGVkID0gKCkgPT4ge1xuICAgIGlmICghdGhpcy4jc2VsZWN0b3IpIHJldHVybjtcbiAgICBjb25zdCBzZWxlY3QgPSB0aGlzLiNzZWxlY3Rvci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB7IHgsIHksIGhlaWdodCwgd2lkdGggfSA9IHNlbGVjdDtcbiAgICBpZiAoIWhlaWdodCB8fCAhd2lkdGgpIHJldHVybjtcblxuICAgIGNvbnN0IGN1cnJTZWxlY3Rpb25MZW5ndGggPSB0aGlzLiNzZWxlY3Rpb24ubGVuZ3RoO1xuICAgIHRoaXMuI3NlbGVjdGFibGVzKCkuZm9yRWFjaCgoc2VsZWN0YWJsZSwgaWR4KSA9PiB7XG4gICAgICBjb25zdCByMTogU2VsZWN0YWJsZVJlY3QgPSB7IHg6IHggKyB3aW5kb3cuc2Nyb2xsWCwgeTogeSArIHdpbmRvdy5zY3JvbGxZLCBoZWlnaHQsIHdpZHRoIH07XG4gICAgICBjb25zdCByMjogU2VsZWN0YWJsZVJlY3QgPSBzZWxlY3RhYmxlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgdGhpcy4jc2VsZWN0aW9uID0gdGhpcy4jc2VsZWN0aW9uLmZpbHRlcigocykgPT4gcyAhPT0gaWR4KTtcbiAgICAgIGlmICh0aGlzLiNjaGVja1JlY3RJbnRlcnNlY3Rpb24ocjEsIHIyKSkge1xuICAgICAgICB0aGlzLiNzZWxlY3Rpb24ucHVzaChpZHgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGN1cnJTZWxlY3Rpb25MZW5ndGggIT09IHRoaXMuI3NlbGVjdGlvbi5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZHJhZ1NlbGVjdENoYW5nZS5lbWl0KHRoaXMuI3NlbGVjdGlvbik7XG4gICAgfVxuICB9O1xuXG4gICNjaGVja1JlY3RJbnRlcnNlY3Rpb24gPSAocjE6IFNlbGVjdGFibGVSZWN0LCByMjogU2VsZWN0YWJsZVJlY3QpID0+IHtcbiAgICByZXR1cm4gIShyMS54ICsgcjEud2lkdGggPCByMi54IHx8IHIyLnggKyByMi53aWR0aCA8IHIxLnggfHwgcjEueSArIHIxLmhlaWdodCA8IHIyLnkgfHwgcjIueSArIHIyLmhlaWdodCA8IHIxLnkpO1xuICB9O1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbeXV2RHJhZ1NlbGVjdEl0ZW1dJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEcmFnU2VsZWN0SXRlbURpcmVjdGl2ZSB7XG4gICNlbFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgZWwgPSB0aGlzLiNlbFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xufVxuIl19
@@ -0,0 +1,153 @@
1
+ import { Directive, ElementRef, HostListener, inject, input, output } from '@angular/core';
2
+ import { Utils } from '@yuuvis/client-core';
3
+ import * as i0 from "@angular/core";
4
+ export class FileDropZoneDirective {
5
+ constructor() {
6
+ this.#elRef = inject(ElementRef);
7
+ this.#fileOver = false;
8
+ this.#defaultDragOverCoverStyles = {
9
+ outline: '2px dashed var(--color-accent)',
10
+ display: 'flex',
11
+ transition: 'background-color .3s ease-in-out',
12
+ 'z-index': '500',
13
+ 'align-items': 'center',
14
+ 'justify-content': 'center',
15
+ 'outline-offset': '-2px',
16
+ 'background-color': 'rgba(var(--color-accent-rgb), .5)'
17
+ };
18
+ this.#defaultDragOverCoverLabelStyles = {
19
+ outline: '1px solid var(--color-accent)',
20
+ padding: 'var(--app-pane-padding, 16px)',
21
+ 'background-color': 'rgba(var(--color-accent-rgb), .9)',
22
+ color: 'var(--color-accent-tone)'
23
+ };
24
+ this.yuvFileDropZone = input();
25
+ this.fileDropDisabled = input(false);
26
+ this.fileDrop = output();
27
+ this.fileDropOver = output();
28
+ }
29
+ #elRef;
30
+ #coverElement;
31
+ #fileOver;
32
+ set fileOver(fo) {
33
+ if (fo !== this.#fileOver) {
34
+ this.#fileOver = fo;
35
+ this.fileDropOver.emit(fo);
36
+ this.#toggleCover();
37
+ }
38
+ }
39
+ get fileOver() {
40
+ return this.#fileOver;
41
+ }
42
+ #defaultDragOverCoverStyles;
43
+ #defaultDragOverCoverLabelStyles;
44
+ onDrop(event) {
45
+ if (this.fileDropDisabled())
46
+ return;
47
+ event.preventDefault();
48
+ event.stopPropagation();
49
+ this.fileOver = false;
50
+ const dataTransfer = event.dataTransfer;
51
+ if (dataTransfer) {
52
+ if (dataTransfer?.items) {
53
+ const files = [];
54
+ for (let i = 0; i < dataTransfer.items.length; i++) {
55
+ // If dropped items aren't files, reject them
56
+ if (dataTransfer.items[i].kind === 'file') {
57
+ const file = dataTransfer.items[i].getAsFile();
58
+ if (file)
59
+ files.push(file);
60
+ }
61
+ }
62
+ dataTransfer.items.clear();
63
+ this.fileDrop.emit(files);
64
+ }
65
+ else {
66
+ const files = dataTransfer.files;
67
+ dataTransfer.clearData();
68
+ this.fileDrop.emit(Array.from(files));
69
+ }
70
+ }
71
+ }
72
+ onDragOver(event) {
73
+ if (this.fileDropDisabled())
74
+ return;
75
+ event.stopPropagation();
76
+ event.preventDefault();
77
+ this.fileOver = true;
78
+ }
79
+ onDragLeave(event) {
80
+ if (this.fileDropDisabled())
81
+ return;
82
+ if (event.target.getAttribute('id') === this.#coverElement?.getAttribute('id')) {
83
+ this.fileOver = false;
84
+ }
85
+ }
86
+ onBodyDragOver(event) {
87
+ event.preventDefault();
88
+ event.stopPropagation();
89
+ }
90
+ onBodyDrop(event) {
91
+ event.preventDefault();
92
+ }
93
+ #toggleCover() {
94
+ const el = this.#elRef.nativeElement;
95
+ if (this.#coverElement) {
96
+ el.style.position = 'initial';
97
+ this.#coverElement.remove();
98
+ this.#coverElement = undefined;
99
+ }
100
+ if (this.#fileOver) {
101
+ el.style.position = 'relative';
102
+ this.#coverElement = this.#createCoverElement();
103
+ el.append(this.#coverElement);
104
+ }
105
+ }
106
+ #createCoverElement() {
107
+ const coverElement = document.createElement('div');
108
+ coverElement.setAttribute('id', Utils.uuid());
109
+ coverElement.style.position = 'absolute';
110
+ coverElement.style.inset = '0';
111
+ const styles = this.yuvFileDropZone()?.coverStyles || this.#defaultDragOverCoverStyles;
112
+ Object.keys(styles).forEach((k) => {
113
+ coverElement.style[k] = styles[k];
114
+ });
115
+ const label = this.yuvFileDropZone()?.label;
116
+ if (label) {
117
+ const coverLabelElement = document.createElement('div');
118
+ coverLabelElement.innerText = label;
119
+ const labelStyles = this.yuvFileDropZone()?.coverLabelStyles || this.#defaultDragOverCoverLabelStyles;
120
+ Object.keys(labelStyles).forEach((k) => {
121
+ coverLabelElement.style[k] = labelStyles[k];
122
+ });
123
+ coverLabelElement.style.pointerEvents = 'none';
124
+ coverElement.append(coverLabelElement);
125
+ }
126
+ return coverElement;
127
+ }
128
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileDropZoneDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
129
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: FileDropZoneDirective, isStandalone: true, selector: "[yuvFileDropZone]", inputs: { yuvFileDropZone: { classPropertyName: "yuvFileDropZone", publicName: "yuvFileDropZone", isSignal: true, isRequired: false, transformFunction: null }, fileDropDisabled: { classPropertyName: "fileDropDisabled", publicName: "fileDropDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { fileDrop: "fileDrop", fileDropOver: "fileDropOver" }, host: { listeners: { "drop": "onDrop($event)", "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "body:dragover": "onBodyDragOver($event)", "body:drop": "onBodyDrop($event)" } }, ngImport: i0 }); }
130
+ }
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileDropZoneDirective, decorators: [{
132
+ type: Directive,
133
+ args: [{
134
+ selector: '[yuvFileDropZone]',
135
+ standalone: true
136
+ }]
137
+ }], propDecorators: { onDrop: [{
138
+ type: HostListener,
139
+ args: ['drop', ['$event']]
140
+ }], onDragOver: [{
141
+ type: HostListener,
142
+ args: ['dragover', ['$event']]
143
+ }], onDragLeave: [{
144
+ type: HostListener,
145
+ args: ['dragleave', ['$event']]
146
+ }], onBodyDragOver: [{
147
+ type: HostListener,
148
+ args: ['body:dragover', ['$event']]
149
+ }], onBodyDrop: [{
150
+ type: HostListener,
151
+ args: ['body:drop', ['$event']]
152
+ }] } });
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLXpvbmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9jb21tb24vc3JjL2xpYi9kaXJlY3RpdmVzL2ZpbGUtZHJvcC16b25lL2ZpbGUtZHJvcC16b25lLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU81QyxNQUFNLE9BQU8scUJBQXFCO0lBSmxDO1FBS0UsV0FBTSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUk1QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBWWxCLGdDQUEyQixHQUEyQjtZQUNwRCxPQUFPLEVBQUUsZ0NBQWdDO1lBQ3pDLE9BQU8sRUFBRSxNQUFNO1lBQ2YsVUFBVSxFQUFFLGtDQUFrQztZQUM5QyxTQUFTLEVBQUUsS0FBSztZQUNoQixhQUFhLEVBQUUsUUFBUTtZQUN2QixpQkFBaUIsRUFBRSxRQUFRO1lBQzNCLGdCQUFnQixFQUFFLE1BQU07WUFDeEIsa0JBQWtCLEVBQUUsbUNBQW1DO1NBQ3hELENBQUM7UUFFRixxQ0FBZ0MsR0FBMkI7WUFDekQsT0FBTyxFQUFFLCtCQUErQjtZQUV4QyxPQUFPLEVBQUUsK0JBQStCO1lBQ3hDLGtCQUFrQixFQUFFLG1DQUFtQztZQUN2RCxLQUFLLEVBQUUsMEJBQTBCO1NBQ2xDLENBQUM7UUFFRixvQkFBZSxHQUFHLEtBQUssRUFBdUIsQ0FBQztRQUMvQyxxQkFBZ0IsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFekMsYUFBUSxHQUFHLE1BQU0sRUFBVSxDQUFDO1FBQzVC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QkFTckMsY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNekMsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBGaWxlRHJvcFpvbmVPcHRpb25zIH0gZnJvbSAnLi9maWxlLWRyb3Atem9uZS5pbnRlcmZhY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbeXV2RmlsZURyb3Bab25lXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRmlsZURyb3Bab25lRGlyZWN0aXZlIHtcbiAgI2VsUmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gICNjb3ZlckVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcblxuICAjZmlsZU92ZXIgPSBmYWxzZTtcbiAgc2V0IGZpbGVPdmVyKGZvOiBib29sZWFuKSB7XG4gICAgaWYgKGZvICE9PSB0aGlzLiNmaWxlT3Zlcikge1xuICAgICAgdGhpcy4jZmlsZU92ZXIgPSBmbztcbiAgICAgIHRoaXMuZmlsZURyb3BPdmVyLmVtaXQoZm8pO1xuICAgICAgdGhpcy4jdG9nZ2xlQ292ZXIoKTtcbiAgICB9XG4gIH1cbiAgZ2V0IGZpbGVPdmVyKCkge1xuICAgIHJldHVybiB0aGlzLiNmaWxlT3ZlcjtcbiAgfVxuXG4gICNkZWZhdWx0RHJhZ092ZXJDb3ZlclN0eWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBvdXRsaW5lOiAnMnB4IGRhc2hlZCB2YXIoLS1jb2xvci1hY2NlbnQpJyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgdHJhbnNpdGlvbjogJ2JhY2tncm91bmQtY29sb3IgLjNzIGVhc2UtaW4tb3V0JyxcbiAgICAnei1pbmRleCc6ICc1MDAnLFxuICAgICdhbGlnbi1pdGVtcyc6ICdjZW50ZXInLFxuICAgICdqdXN0aWZ5LWNvbnRlbnQnOiAnY2VudGVyJyxcbiAgICAnb3V0bGluZS1vZmZzZXQnOiAnLTJweCcsXG4gICAgJ2JhY2tncm91bmQtY29sb3InOiAncmdiYSh2YXIoLS1jb2xvci1hY2NlbnQtcmdiKSwgLjUpJ1xuICB9O1xuXG4gICNkZWZhdWx0RHJhZ092ZXJDb3ZlckxhYmVsU3R5bGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIG91dGxpbmU6ICcxcHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KScsXG5cbiAgICBwYWRkaW5nOiAndmFyKC0tYXBwLXBhbmUtcGFkZGluZywgMTZweCknLFxuICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogJ3JnYmEodmFyKC0tY29sb3ItYWNjZW50LXJnYiksIC45KScsXG4gICAgY29sb3I6ICd2YXIoLS1jb2xvci1hY2NlbnQtdG9uZSknXG4gIH07XG5cbiAgeXV2RmlsZURyb3Bab25lID0gaW5wdXQ8RmlsZURyb3Bab25lT3B0aW9ucz4oKTtcbiAgZmlsZURyb3BEaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBmaWxlRHJvcCA9IG91dHB1dDxGaWxlW10+KCk7XG4gIGZpbGVEcm9wT3ZlciA9IG91dHB1dDxib29sZWFuPigpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxuICBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgIGlmICh0aGlzLmZpbGVEcm9wRGlzYWJsZWQoKSkgcmV0dXJuO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5maWxlT3ZlciA9IGZhbHNlO1xuXG4gICAgY29uc3QgZGF0YVRyYW5zZmVyOiBEYXRhVHJhbnNmZXIgfCBudWxsID0gZXZlbnQuZGF0YVRyYW5zZmVyO1xuXG4gICAgaWYgKGRhdGFUcmFuc2Zlcikge1xuICAgICAgaWYgKGRhdGFUcmFuc2Zlcj8uaXRlbXMpIHtcbiAgICAgICAgY29uc3QgZmlsZXM6IEZpbGVbXSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFUcmFuc2Zlci5pdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIC8vIElmIGRyb3BwZWQgaXRlbXMgYXJlbid0IGZpbGVzLCByZWplY3QgdGhlbVxuICAgICAgICAgIGlmIChkYXRhVHJhbnNmZXIuaXRlbXNbaV0ua2luZCA9PT0gJ2ZpbGUnKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlID0gZGF0YVRyYW5zZmVyLml0ZW1zW2ldLmdldEFzRmlsZSgpO1xuICAgICAgICAgICAgaWYgKGZpbGUpIGZpbGVzLnB1c2goZmlsZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGRhdGFUcmFuc2Zlci5pdGVtcy5jbGVhcigpO1xuICAgICAgICB0aGlzLmZpbGVEcm9wLmVtaXQoZmlsZXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgZmlsZXMgPSBkYXRhVHJhbnNmZXIuZmlsZXM7XG4gICAgICAgIGRhdGFUcmFuc2Zlci5jbGVhckRhdGEoKTtcbiAgICAgICAgdGhpcy5maWxlRHJvcC5lbWl0KEFycmF5LmZyb20oZmlsZXMpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pXG4gIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgIGlmICh0aGlzLmZpbGVEcm9wRGlzYWJsZWQoKSkgcmV0dXJuO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5maWxlT3ZlciA9IHRydWU7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnbGVhdmUnLCBbJyRldmVudCddKVxuICBvbkRyYWdMZWF2ZShldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgaWYgKHRoaXMuZmlsZURyb3BEaXNhYmxlZCgpKSByZXR1cm47XG4gICAgaWYgKChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmdldEF0dHJpYnV0ZSgnaWQnKSA9PT0gdGhpcy4jY292ZXJFbGVtZW50Py5nZXRBdHRyaWJ1dGUoJ2lkJykpIHtcbiAgICAgIHRoaXMuZmlsZU92ZXIgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdib2R5OmRyYWdvdmVyJywgWyckZXZlbnQnXSlcbiAgb25Cb2R5RHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cbiAgQEhvc3RMaXN0ZW5lcignYm9keTpkcm9wJywgWyckZXZlbnQnXSlcbiAgb25Cb2R5RHJvcChldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gICN0b2dnbGVDb3ZlcigpIHtcbiAgICBjb25zdCBlbDogSFRNTEVsZW1lbnQgPSB0aGlzLiNlbFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgaWYgKHRoaXMuI2NvdmVyRWxlbWVudCkge1xuICAgICAgZWwuc3R5bGUucG9zaXRpb24gPSAnaW5pdGlhbCc7XG4gICAgICB0aGlzLiNjb3ZlckVsZW1lbnQucmVtb3ZlKCk7XG4gICAgICB0aGlzLiNjb3ZlckVsZW1lbnQgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLiNmaWxlT3Zlcikge1xuICAgICAgZWwuc3R5bGUucG9zaXRpb24gPSAncmVsYXRpdmUnO1xuICAgICAgdGhpcy4jY292ZXJFbGVtZW50ID0gdGhpcy4jY3JlYXRlQ292ZXJFbGVtZW50KCk7XG4gICAgICBlbC5hcHBlbmQodGhpcy4jY292ZXJFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICAjY3JlYXRlQ292ZXJFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICBjb25zdCBjb3ZlckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBjb3ZlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdpZCcsIFV0aWxzLnV1aWQoKSk7XG4gICAgY292ZXJFbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICBjb3ZlckVsZW1lbnQuc3R5bGUuaW5zZXQgPSAnMCc7XG4gICAgY29uc3Qgc3R5bGVzID0gdGhpcy55dXZGaWxlRHJvcFpvbmUoKT8uY292ZXJTdHlsZXMgfHwgdGhpcy4jZGVmYXVsdERyYWdPdmVyQ292ZXJTdHlsZXM7XG4gICAgT2JqZWN0LmtleXMoc3R5bGVzKS5mb3JFYWNoKChrOiBzdHJpbmcpID0+IHtcbiAgICAgIChjb3ZlckVsZW1lbnQuc3R5bGUgYXMgYW55KVtrXSA9IHN0eWxlc1trXTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGxhYmVsID0gdGhpcy55dXZGaWxlRHJvcFpvbmUoKT8ubGFiZWw7XG4gICAgaWYgKGxhYmVsKSB7XG4gICAgICBjb25zdCBjb3ZlckxhYmVsRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgY292ZXJMYWJlbEVsZW1lbnQuaW5uZXJUZXh0ID0gbGFiZWw7XG4gICAgICBjb25zdCBsYWJlbFN0eWxlcyA9IHRoaXMueXV2RmlsZURyb3Bab25lKCk/LmNvdmVyTGFiZWxTdHlsZXMgfHwgdGhpcy4jZGVmYXVsdERyYWdPdmVyQ292ZXJMYWJlbFN0eWxlcztcbiAgICAgIE9iamVjdC5rZXlzKGxhYmVsU3R5bGVzKS5mb3JFYWNoKChrOiBzdHJpbmcpID0+IHtcbiAgICAgICAgKGNvdmVyTGFiZWxFbGVtZW50LnN0eWxlIGFzIGFueSlba10gPSBsYWJlbFN0eWxlc1trXTtcbiAgICAgIH0pO1xuICAgICAgY292ZXJMYWJlbEVsZW1lbnQuc3R5bGUucG9pbnRlckV2ZW50cyA9ICdub25lJztcbiAgICAgIGNvdmVyRWxlbWVudC5hcHBlbmQoY292ZXJMYWJlbEVsZW1lbnQpO1xuICAgIH1cbiAgICByZXR1cm4gY292ZXJFbGVtZW50O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLXpvbmUuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9jb21tb24vc3JjL2xpYi9kaXJlY3RpdmVzL2ZpbGUtZHJvcC16b25lL2ZpbGUtZHJvcC16b25lLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBGaWxlRHJvcFpvbmVPcHRpb25zIHtcbiAgICAvLyBjc3MgY2xhc3MgdG8gYmUgYWRkZWQgd2hlbiBhIGZpbGUgaXMgZHJhZ2dlbmQgb3ZlciB0aGUgaG9zdCBjb21wb25lbnRcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICAvLyBzdHlsZXMgdG8gYmUgYXBwbGllZCB0byB0aGUgZmlsZU92ZXIgY292ZXIgZWxlbWVudFxuICAgIGNvdmVyU3R5bGVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICAvLyBzdHlsZXMgdG8gYmUgYXBwbGllZCB0byB0aGUgbGFiZWwgZWxlbWVudCBvbiB0aGUgZmlsZU92ZXIgY292ZXIgZWxlbWVudFxuICAgIC8vIG9ubHkgYXBwbGllcyBpZiBhIGxhYmVsIGhhcyBiZWVuIHByb3ZpZGVkXG4gICAgY292ZXJMYWJlbFN0eWxlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59Il19
@@ -0,0 +1,81 @@
1
+ import { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Directive keeping track of the focus beeing within a component. Once the component or
5
+ * any of its child components gain focus, a class of `focusWithin` will be set on the
6
+ * host component in order to allow styling it while beeing focused. Furthermore you can
7
+ * register callbacks once the component gets or looses focus.
8
+ *
9
+ * @example
10
+ * // just set the css class
11
+ * <some-component yuvFocusWithin></some-component>
12
+ * // set the css class and listen to focus changes
13
+ * <some-component (yuvFocusWithin)="onFocusEnter()" (yuvFocusWithinBlur)="onFocusLeave()"></some-component>
14
+ */
15
+ export class FocusWithinDirective {
16
+ onFocusIn(evt) {
17
+ const hadFocusWithin = this.hasFocusWithin;
18
+ this.hasFocusWithin = this.matchesFocusWithin();
19
+ if (!hadFocusWithin && this.hasFocusWithin) {
20
+ this.yuvFocusWithin.emit();
21
+ }
22
+ }
23
+ onFocusOut(evt) {
24
+ const hadFocusWithin = this.hasFocusWithin;
25
+ this.hasFocusWithin = this.matchesFocusWithin();
26
+ if (hadFocusWithin && !this.hasFocusWithin) {
27
+ this.yuvFocusWithinBlur.emit();
28
+ }
29
+ }
30
+ /**
31
+ * @ignore
32
+ */
33
+ constructor(elRef) {
34
+ this.elRef = elRef;
35
+ this.eventCount = 0;
36
+ this.hasFocusWithin = false;
37
+ /**
38
+ * Emitted once the component or any of its child components gains focus.
39
+ */
40
+ this.yuvFocusWithin = new EventEmitter();
41
+ /**
42
+ * Emitted once the component (incl. any of its child components) looses focus.
43
+ */
44
+ this.yuvFocusWithinBlur = new EventEmitter();
45
+ }
46
+ // Determine if the given node matches the given selector.
47
+ // @see: https://www.bennadel.com/blog/3476-checking-to-see-if-an-element-has-a-css-pseudo-class-in-javascript.htm
48
+ matchesFocusWithin() {
49
+ const node = this.elRef.nativeElement;
50
+ var nativeMatches = node.matches || node.msMatchesSelector;
51
+ try {
52
+ return nativeMatches.call(node, ':focus-within');
53
+ }
54
+ catch (error) {
55
+ return false;
56
+ }
57
+ }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FocusWithinDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
59
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: FocusWithinDirective, isStandalone: true, selector: "[yuvFocusWithin]", outputs: { yuvFocusWithin: "yuvFocusWithin", yuvFocusWithinBlur: "yuvFocusWithinBlur" }, host: { listeners: { "focusin": "onFocusIn($event)", "focusout": "onFocusOut($event)" }, properties: { "class.focusWithin": "this.hasFocusWithin" } }, ngImport: i0 }); }
60
+ }
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FocusWithinDirective, decorators: [{
62
+ type: Directive,
63
+ args: [{
64
+ selector: '[yuvFocusWithin]',
65
+ standalone: true
66
+ }]
67
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { hasFocusWithin: [{
68
+ type: HostBinding,
69
+ args: ['class.focusWithin']
70
+ }], onFocusIn: [{
71
+ type: HostListener,
72
+ args: ['focusin', ['$event']]
73
+ }], onFocusOut: [{
74
+ type: HostListener,
75
+ args: ['focusout', ['$event']]
76
+ }], yuvFocusWithin: [{
77
+ type: Output
78
+ }], yuvFocusWithinBlur: [{
79
+ type: Output
80
+ }] } });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtd2l0aGluLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvY29tbW9uL3NyYy9saWIvZGlyZWN0aXZlcy9mb2N1cy13aXRoaW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFDdkc7Ozs7Ozs7Ozs7O0dBV0c7QUFLSCxNQUFNLE9BQU8sb0JBQW9CO0lBR00sU0FBUyxDQUFDLEdBQWU7UUFDNUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMzQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFDcUMsVUFBVSxDQUFDLEdBQWU7UUFDOUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMzQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ2hELElBQUksY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQVdEOztPQUVHO0lBRUgsWUFBb0IsS0FBaUI7UUFBakIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQTlCN0IsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNXLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBZ0J6RDs7V0FFRztRQUNPLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM5Qzs7V0FFRztRQUNPLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFNVCxDQUFDO0lBRTFDLDBEQUEwRDtJQUMxRCxrSEFBa0g7SUFDMUcsa0JBQWtCO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQ3RDLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQzNELElBQUksQ0FBQztZQUNILE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDOytHQTNDVSxvQkFBb0I7bUdBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFKaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7K0VBR21DLGNBQWM7c0JBQS9DLFdBQVc7dUJBQUMsbUJBQW1CO2dCQUNLLFNBQVM7c0JBQTdDLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU9HLFVBQVU7c0JBQS9DLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVcxQixjQUFjO3NCQUF2QixNQUFNO2dCQUlHLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbi8qKlxuICogRGlyZWN0aXZlIGtlZXBpbmcgdHJhY2sgb2YgdGhlIGZvY3VzIGJlZWluZyB3aXRoaW4gYSBjb21wb25lbnQuIE9uY2UgdGhlIGNvbXBvbmVudCBvclxuICogYW55IG9mIGl0cyBjaGlsZCBjb21wb25lbnRzIGdhaW4gZm9jdXMsIGEgY2xhc3Mgb2YgYGZvY3VzV2l0aGluYCB3aWxsIGJlIHNldCBvbiB0aGVcbiAqIGhvc3QgY29tcG9uZW50IGluIG9yZGVyIHRvIGFsbG93IHN0eWxpbmcgaXQgd2hpbGUgYmVlaW5nIGZvY3VzZWQuIEZ1cnRoZXJtb3JlIHlvdSBjYW5cbiAqIHJlZ2lzdGVyIGNhbGxiYWNrcyBvbmNlIHRoZSBjb21wb25lbnQgZ2V0cyBvciBsb29zZXMgZm9jdXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIGp1c3Qgc2V0IHRoZSBjc3MgY2xhc3NcbiAqIDxzb21lLWNvbXBvbmVudCB5dXZGb2N1c1dpdGhpbj48L3NvbWUtY29tcG9uZW50PlxuICogLy8gc2V0IHRoZSBjc3MgY2xhc3MgYW5kIGxpc3RlbiB0byBmb2N1cyBjaGFuZ2VzXG4gKiA8c29tZS1jb21wb25lbnQgKHl1dkZvY3VzV2l0aGluKT1cIm9uRm9jdXNFbnRlcigpXCIgKHl1dkZvY3VzV2l0aGluQmx1cik9XCJvbkZvY3VzTGVhdmUoKVwiPjwvc29tZS1jb21wb25lbnQ+XG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t5dXZGb2N1c1dpdGhpbl0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEZvY3VzV2l0aGluRGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSBldmVudENvdW50ID0gMDtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mb2N1c1dpdGhpbicpIGhhc0ZvY3VzV2l0aGluID0gZmFsc2U7XG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzaW4nLCBbJyRldmVudCddKSBvbkZvY3VzSW4oZXZ0OiBGb2N1c0V2ZW50KSB7XG4gICAgY29uc3QgaGFkRm9jdXNXaXRoaW4gPSB0aGlzLmhhc0ZvY3VzV2l0aGluO1xuICAgIHRoaXMuaGFzRm9jdXNXaXRoaW4gPSB0aGlzLm1hdGNoZXNGb2N1c1dpdGhpbigpO1xuICAgIGlmICghaGFkRm9jdXNXaXRoaW4gJiYgdGhpcy5oYXNGb2N1c1dpdGhpbikge1xuICAgICAgdGhpcy55dXZGb2N1c1dpdGhpbi5lbWl0KCk7XG4gICAgfVxuICB9XG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JywgWyckZXZlbnQnXSkgb25Gb2N1c091dChldnQ6IEZvY3VzRXZlbnQpIHtcbiAgICBjb25zdCBoYWRGb2N1c1dpdGhpbiA9IHRoaXMuaGFzRm9jdXNXaXRoaW47XG4gICAgdGhpcy5oYXNGb2N1c1dpdGhpbiA9IHRoaXMubWF0Y2hlc0ZvY3VzV2l0aGluKCk7XG4gICAgaWYgKGhhZEZvY3VzV2l0aGluICYmICF0aGlzLmhhc0ZvY3VzV2l0aGluKSB7XG4gICAgICB0aGlzLnl1dkZvY3VzV2l0aGluQmx1ci5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgb25jZSB0aGUgY29tcG9uZW50IG9yIGFueSBvZiBpdHMgY2hpbGQgY29tcG9uZW50cyBnYWlucyBmb2N1cy5cbiAgICovXG4gIEBPdXRwdXQoKSB5dXZGb2N1c1dpdGhpbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgb25jZSB0aGUgY29tcG9uZW50IChpbmNsLiBhbnkgb2YgaXRzIGNoaWxkIGNvbXBvbmVudHMpIGxvb3NlcyBmb2N1cy5cbiAgICovXG4gIEBPdXRwdXQoKSB5dXZGb2N1c1dpdGhpbkJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZikgeyB9XG5cbiAgLy8gRGV0ZXJtaW5lIGlmIHRoZSBnaXZlbiBub2RlIG1hdGNoZXMgdGhlIGdpdmVuIHNlbGVjdG9yLlxuICAvLyBAc2VlOiBodHRwczovL3d3dy5iZW5uYWRlbC5jb20vYmxvZy8zNDc2LWNoZWNraW5nLXRvLXNlZS1pZi1hbi1lbGVtZW50LWhhcy1hLWNzcy1wc2V1ZG8tY2xhc3MtaW4tamF2YXNjcmlwdC5odG1cbiAgcHJpdmF0ZSBtYXRjaGVzRm9jdXNXaXRoaW4oKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudDtcbiAgICB2YXIgbmF0aXZlTWF0Y2hlcyA9IG5vZGUubWF0Y2hlcyB8fCBub2RlLm1zTWF0Y2hlc1NlbGVjdG9yO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gbmF0aXZlTWF0Y2hlcy5jYWxsKG5vZGUsICc6Zm9jdXMtd2l0aGluJyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,9 @@
1
+ export * from './busy-overlay.directive';
2
+ export * from './focus-within.directive';
3
+ export * from './file-drop-zone/file-drop-zone.directive';
4
+ export * from './click-double.directive';
5
+ export * from './light-dismiss.directive';
6
+ export * from './container-size.directive';
7
+ export * from './longpress.directive';
8
+ export * from './drag-select.directive';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2NvbW1vbi9zcmMvbGliL2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9idXN5LW92ZXJsYXkuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZm9jdXMtd2l0aGluLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGUtZHJvcC16b25lL2ZpbGUtZHJvcC16b25lLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NsaWNrLWRvdWJsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWdodC1kaXNtaXNzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRhaW5lci1zaXplLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xvbmdwcmVzcy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcmFnLXNlbGVjdC5kaXJlY3RpdmUnO1xuIl19
@@ -0,0 +1,44 @@
1
+ import { Directive, ElementRef, HostListener, inject, output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Directive for applying light dismiss actions. Adding this directive will trigger
5
+ * the given function when the user clicks outside the component or hits escape.
6
+ *
7
+ * ```ts
8
+ * <div class="notifications" (yuvLightDismiss)="close()">
9
+ * ...
10
+ * </div>
11
+ * ```
12
+ */
13
+ export class LightDismissDirective {
14
+ constructor() {
15
+ this.elRef = inject(ElementRef);
16
+ this.yuvLightDismiss = output();
17
+ }
18
+ onKeydownHandler(event) {
19
+ if (!event.defaultPrevented) {
20
+ this.yuvLightDismiss.emit();
21
+ }
22
+ }
23
+ onMousedown(event) {
24
+ if (!this.elRef.nativeElement.contains(event.target)) {
25
+ this.yuvLightDismiss.emit();
26
+ }
27
+ }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LightDismissDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
29
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: LightDismissDirective, isStandalone: true, selector: "[yuvLightDismiss]", outputs: { yuvLightDismiss: "yuvLightDismiss" }, host: { listeners: { "document:keydown.escape": "onKeydownHandler($event)", "document:mousedown": "onMousedown($event)" } }, ngImport: i0 }); }
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LightDismissDirective, decorators: [{
32
+ type: Directive,
33
+ args: [{
34
+ selector: '[yuvLightDismiss]',
35
+ standalone: true
36
+ }]
37
+ }], propDecorators: { onKeydownHandler: [{
38
+ type: HostListener,
39
+ args: ['document:keydown.escape', ['$event']]
40
+ }], onMousedown: [{
41
+ type: HostListener,
42
+ args: ['document:mousedown', ['$event']]
43
+ }] } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHQtZGlzbWlzcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2NvbW1vbi9zcmMvbGliL2RpcmVjdGl2ZXMvbGlnaHQtZGlzbWlzcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXBGOzs7Ozs7Ozs7R0FTRztBQUtILE1BQU0sT0FBTyxxQkFBcUI7SUFKbEM7UUFLVSxVQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBZ0JuQyxvQkFBZSxHQUFHLE1BQU0sRUFBRSxDQUFDO0tBQzVCO0lBZEMsZ0JBQWdCLENBQUMsS0FBb0I7UUFDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFHRCxXQUFXLENBQUMsS0FBaUI7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNyRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDOytHQWZVLHFCQUFxQjttR0FBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFLQyxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFRbkQsV0FBVztzQkFEVixZQUFZO3VCQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIGluamVjdCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogRGlyZWN0aXZlIGZvciBhcHBseWluZyBsaWdodCBkaXNtaXNzIGFjdGlvbnMuIEFkZGluZyB0aGlzIGRpcmVjdGl2ZSB3aWxsIHRyaWdnZXJcbiAqIHRoZSBnaXZlbiBmdW5jdGlvbiB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvdXRzaWRlIHRoZSBjb21wb25lbnQgb3IgaGl0cyBlc2NhcGUuXG4gKlxuICogYGBgdHNcbiAqIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb25zXCIgKHl1dkxpZ2h0RGlzbWlzcyk9XCJjbG9zZSgpXCI+XG4gKiAgIC4uLlxuICogPC9kaXY+XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3l1dkxpZ2h0RGlzbWlzc10nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIExpZ2h0RGlzbWlzc0RpcmVjdGl2ZSB7XG4gIHByaXZhdGUgZWxSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnLCBbJyRldmVudCddKVxuICBvbktleWRvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKCFldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICB0aGlzLnl1dkxpZ2h0RGlzbWlzcy5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgb25Nb3VzZWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XG4gICAgICB0aGlzLnl1dkxpZ2h0RGlzbWlzcy5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgeXV2TGlnaHREaXNtaXNzID0gb3V0cHV0KCk7XG59XG4iXX0=
@@ -0,0 +1,36 @@
1
+ import { Directive, ElementRef, inject, input, output } from '@angular/core';
2
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
+ import { fromEvent, merge, of, timer } from 'rxjs';
4
+ import { filter, map, switchMap } from 'rxjs/operators';
5
+ import * as i0 from "@angular/core";
6
+ export class LongPressDirective {
7
+ constructor() {
8
+ this.elRef = inject(ElementRef);
9
+ this.threshold = 500;
10
+ this.yuvLongPress = input({
11
+ enabled: false
12
+ });
13
+ this.longpress = output();
14
+ const mousedown = fromEvent(this.elRef.nativeElement, 'mousedown').pipe(takeUntilDestroyed(), filter((event) => event.button == 0), // Only allow left button (Primary button)
15
+ map(() => true) // turn on threshold counter
16
+ );
17
+ const touchstart = fromEvent(this.elRef.nativeElement, 'touchstart').pipe(takeUntilDestroyed(), map(() => true));
18
+ const touchEnd = fromEvent(this.elRef.nativeElement, 'touchend').pipe(takeUntilDestroyed(), map(() => false));
19
+ const mouseup = fromEvent(window, 'mouseup').pipe(takeUntilDestroyed(), filter((event) => event.button == 0), // Only allow left button (Primary button)
20
+ map(() => false) // reset threshold counter
21
+ );
22
+ merge(mousedown, mouseup, touchstart, touchEnd)
23
+ .pipe(takeUntilDestroyed(), switchMap((state) => (state ? timer(this.threshold, 100) : of(null))), filter((value) => !!value))
24
+ .subscribe(() => this.longpress.emit());
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LongPressDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
27
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: LongPressDirective, isStandalone: true, selector: "[yuvLongPress]", inputs: { yuvLongPress: { classPropertyName: "yuvLongPress", publicName: "yuvLongPress", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { longpress: "longpress" }, ngImport: i0 }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LongPressDirective, decorators: [{
30
+ type: Directive,
31
+ args: [{
32
+ selector: '[yuvLongPress]',
33
+ standalone: true
34
+ }]
35
+ }], ctorParameters: () => [] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9uZ3ByZXNzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvY29tbW9uL3NyYy9saWIvZGlyZWN0aXZlcy9sb25ncHJlc3MuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTXhELE1BQU0sT0FBTyxrQkFBa0I7SUFVN0I7UUFUUSxVQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRW5DLGNBQVMsR0FBRyxHQUFHLENBQUM7UUFFaEIsaUJBQVksR0FBRyxLQUFLLENBQTRCO1lBQzlDLE9BQU8sRUFBRSxLQUFLO1NBQ2YsQ0FBQyxDQUFDO1FBQ0gsY0FBUyxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBR25CLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBYSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQ2pGLGtCQUFrQixFQUFFLEVBQ3BCLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsRUFBRSwwQ0FBMEM7UUFDaEYsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLDRCQUE0QjtTQUM3QyxDQUFDO1FBQ0YsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FDdkUsa0JBQWtCLEVBQUUsRUFDcEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUNoQixDQUFDO1FBQ0YsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDbkUsa0JBQWtCLEVBQUUsRUFDcEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUNqQixDQUFDO1FBQ0YsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFhLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQzNELGtCQUFrQixFQUFFLEVBQ3BCLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsRUFBRSwwQ0FBMEM7UUFDaEYsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLDBCQUEwQjtTQUM1QyxDQUFDO1FBQ0YsS0FBSyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQzthQUM1QyxJQUFJLENBQ0gsa0JBQWtCLEVBQUUsRUFDcEIsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ3JFLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUMzQjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQzsrR0FwQ1Usa0JBQWtCO21HQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGZyb21FdmVudCwgbWVyZ2UsIG9mLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3l1dkxvbmdQcmVzc10nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIExvbmdQcmVzc0RpcmVjdGl2ZSB7XG4gIHByaXZhdGUgZWxSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgdGhyZXNob2xkID0gNTAwO1xuXG4gIHl1dkxvbmdQcmVzcyA9IGlucHV0PExvbmdQcmVzc0RpcmVjdGl2ZU9wdGlvbnM+KHtcbiAgICBlbmFibGVkOiBmYWxzZVxuICB9KTtcbiAgbG9uZ3ByZXNzID0gb3V0cHV0KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3QgbW91c2Vkb3duID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgJ21vdXNlZG93bicpLnBpcGUoXG4gICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LmJ1dHRvbiA9PSAwKSwgLy8gT25seSBhbGxvdyBsZWZ0IGJ1dHRvbiAoUHJpbWFyeSBidXR0b24pXG4gICAgICBtYXAoKCkgPT4gdHJ1ZSkgLy8gdHVybiBvbiB0aHJlc2hvbGQgY291bnRlclxuICAgICk7XG4gICAgY29uc3QgdG91Y2hzdGFydCA9IGZyb21FdmVudCh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICd0b3VjaHN0YXJ0JykucGlwZShcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgbWFwKCgpID0+IHRydWUpXG4gICAgKTtcbiAgICBjb25zdCB0b3VjaEVuZCA9IGZyb21FdmVudCh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICd0b3VjaGVuZCcpLnBpcGUoXG4gICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgICAgIG1hcCgoKSA9PiBmYWxzZSlcbiAgICApO1xuICAgIGNvbnN0IG1vdXNldXAgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4od2luZG93LCAnbW91c2V1cCcpLnBpcGUoXG4gICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LmJ1dHRvbiA9PSAwKSwgLy8gT25seSBhbGxvdyBsZWZ0IGJ1dHRvbiAoUHJpbWFyeSBidXR0b24pXG4gICAgICBtYXAoKCkgPT4gZmFsc2UpIC8vIHJlc2V0IHRocmVzaG9sZCBjb3VudGVyXG4gICAgKTtcbiAgICBtZXJnZShtb3VzZWRvd24sIG1vdXNldXAsIHRvdWNoc3RhcnQsIHRvdWNoRW5kKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgICBzd2l0Y2hNYXAoKHN0YXRlKSA9PiAoc3RhdGUgPyB0aW1lcih0aGlzLnRocmVzaG9sZCwgMTAwKSA6IG9mKG51bGwpKSksXG4gICAgICAgIGZpbHRlcigodmFsdWUpID0+ICEhdmFsdWUpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMubG9uZ3ByZXNzLmVtaXQoKSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb25nUHJlc3NEaXJlY3RpdmVPcHRpb25zIHtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -0,0 +1,42 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ /* eslint-disable @typescript-eslint/no-empty-function */
3
+ import { Directive, forwardRef, inject } from '@angular/core';
4
+ import { FormControlDirective, FormControlName, NG_VALUE_ACCESSOR, NgControl, NgModel } from '@angular/forms';
5
+ import * as i0 from "@angular/core";
6
+ // @see: https://netbasal.com/forwarding-form-controls-to-custom-control-components-in-angular-701e8406cc55
7
+ export class NoopValueAccessorDirective {
8
+ writeValue(obj) { }
9
+ registerOnChange(fn) { }
10
+ registerOnTouched(fn) { }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NoopValueAccessorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
12
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: NoopValueAccessorDirective, isStandalone: true, providers: [
13
+ {
14
+ provide: NG_VALUE_ACCESSOR,
15
+ multi: true,
16
+ useExisting: forwardRef(() => NoopValueAccessorDirective),
17
+ },
18
+ ], ngImport: i0 }); }
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NoopValueAccessorDirective, decorators: [{
21
+ type: Directive,
22
+ args: [{
23
+ standalone: true,
24
+ providers: [
25
+ {
26
+ provide: NG_VALUE_ACCESSOR,
27
+ multi: true,
28
+ useExisting: forwardRef(() => NoopValueAccessorDirective),
29
+ },
30
+ ],
31
+ }]
32
+ }] });
33
+ export function injectNgControl() {
34
+ const ngControl = inject(NgControl, { self: true, optional: true });
35
+ if (!ngControl)
36
+ throw new Error('...');
37
+ if (ngControl instanceof FormControlDirective || ngControl instanceof FormControlName || ngControl instanceof NgModel) {
38
+ return ngControl;
39
+ }
40
+ throw new Error('...');
41
+ }
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9vcC12YWx1ZS1hY2Nlc3Nvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2NvbW1vbi9zcmMvbGliL2RpcmVjdGl2ZXMvbm9vcC12YWx1ZS1hY2Nlc3Nvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0RBQXNEO0FBQ3RELHlEQUF5RDtBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUF3QixvQkFBb0IsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUVwSSwyR0FBMkc7QUFXM0csTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxVQUFVLENBQUMsR0FBUSxJQUFTLENBQUM7SUFDN0IsZ0JBQWdCLENBQUMsRUFBTyxJQUFTLENBQUM7SUFDbEMsaUJBQWlCLENBQUMsRUFBTyxJQUFTLENBQUM7K0dBSHhCLDBCQUEwQjttR0FBMUIsMEJBQTBCLGlDQVIxQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMEJBQTBCLENBQUM7YUFDMUQ7U0FDRjs7NEZBRVUsMEJBQTBCO2tCQVZ0QyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMkJBQTJCLENBQUM7eUJBQzFEO3FCQUNGO2lCQUNGOztBQU9ELE1BQU0sVUFBVSxlQUFlO0lBQzdCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRXBFLElBQUksQ0FBQyxTQUFTO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUV2QyxJQUFJLFNBQVMsWUFBWSxvQkFBb0IsSUFBSSxTQUFTLFlBQVksZUFBZSxJQUFJLFNBQVMsWUFBWSxPQUFPLEVBQUUsQ0FBQztRQUN0SCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gKi9cbmltcG9ydCB7IERpcmVjdGl2ZSwgZm9yd2FyZFJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2xEaXJlY3RpdmUsIEZvcm1Db250cm9sTmFtZSwgTkdfVkFMVUVfQUNDRVNTT1IsIE5nQ29udHJvbCwgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLy8gQHNlZTogaHR0cHM6Ly9uZXRiYXNhbC5jb20vZm9yd2FyZGluZy1mb3JtLWNvbnRyb2xzLXRvLWN1c3RvbS1jb250cm9sLWNvbXBvbmVudHMtaW4tYW5ndWxhci03MDFlODQwNmNjNTVcbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTm9vcFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUpLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5vb3BWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7fVxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHt9XG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHt9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3ROZ0NvbnRyb2woKSB7XG4gIGNvbnN0IG5nQ29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wsIHsgc2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgaWYgKCFuZ0NvbnRyb2wpIHRocm93IG5ldyBFcnJvcignLi4uJyk7XG5cbiAgaWYgKG5nQ29udHJvbCBpbnN0YW5jZW9mIEZvcm1Db250cm9sRGlyZWN0aXZlIHx8IG5nQ29udHJvbCBpbnN0YW5jZW9mIEZvcm1Db250cm9sTmFtZSB8fCBuZ0NvbnRyb2wgaW5zdGFuY2VvZiBOZ01vZGVsKSB7XG4gICAgcmV0dXJuIG5nQ29udHJvbDtcbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcignLi4uJyk7XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXV1dmlzLWNsaWVudC1mcmFtZXdvcmstY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9jb21tb24vc3JjL3l1dXZpcy1jbGllbnQtZnJhbWV3b3JrLWNvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,19 @@
1
+ export { CatalogComponent } from './lib/elements/catalog/catalog.component';
2
+ // export { CheckboxComponent } from './lib/elements/checkbox/checkbox.component';
3
+ export { DatetimeRangeComponent } from './lib/elements/datetime-range/datetime-range.component';
4
+ // export { DatepickerComponent } from './lib/elements/datetime/datepicker/datepicker.component';
5
+ export { DatetimeComponent } from './lib/elements/datetime/datetime.component';
6
+ // export { YearRangeDirective } from './lib/elements/datetime/year-range/year-range.directive';
7
+ // export { DynamicCatalogManagementComponent } from './lib/elements/dynamic-catalog/dynamic-catalog-management/dynamic-catalog-management.component';
8
+ // export { DynamicCatalogComponent } from './lib/elements/dynamic-catalog/dynamic-catalog.component';
9
+ export { NumberRangeComponent } from './lib/elements/number-range/number-range.component';
10
+ export { NumberComponent } from './lib/elements/number/number.component';
11
+ // export { OrganizationSetComponent } from './lib/elements/organization-set/organization-set.component';
12
+ export { OrganizationComponent } from './lib/elements/organization/organization.component';
13
+ // export { ReferenceItemComponent } from './lib/elements/reference/reference-item/reference-item.component';
14
+ // export { ReferenceComponent } from './lib/elements/reference/reference.component';
15
+ // export * from './lib/elements/reference/reference.interface';
16
+ export { StringComponent } from './lib/elements/string/string.component';
17
+ export { FormInputComponent } from './lib/form-input/form-input.component';
18
+ export * from './lib/forms.module';
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2Zvcm1zL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RSxrRkFBa0Y7QUFDbEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDaEcsaUdBQWlHO0FBQ2pHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLGdHQUFnRztBQUNoRyxzSkFBc0o7QUFDdEosc0dBQXNHO0FBQ3RHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSx5R0FBeUc7QUFDekcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDM0YsNkdBQTZHO0FBQzdHLHFGQUFxRjtBQUNyRixnRUFBZ0U7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTNFLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBDYXRhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvZWxlbWVudHMvY2F0YWxvZy9jYXRhbG9nLmNvbXBvbmVudCc7XG4vLyBleHBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vbGliL2VsZW1lbnRzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQgeyBEYXRldGltZVJhbmdlQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvZWxlbWVudHMvZGF0ZXRpbWUtcmFuZ2UvZGF0ZXRpbWUtcmFuZ2UuY29tcG9uZW50Jztcbi8vIGV4cG9ydCB7IERhdGVwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2xpYi9lbGVtZW50cy9kYXRldGltZS9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCB7IERhdGV0aW1lQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvZWxlbWVudHMvZGF0ZXRpbWUvZGF0ZXRpbWUuY29tcG9uZW50Jztcbi8vIGV4cG9ydCB7IFllYXJSYW5nZURpcmVjdGl2ZSB9IGZyb20gJy4vbGliL2VsZW1lbnRzL2RhdGV0aW1lL3llYXItcmFuZ2UveWVhci1yYW5nZS5kaXJlY3RpdmUnO1xuLy8gZXhwb3J0IHsgRHluYW1pY0NhdGFsb2dNYW5hZ2VtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9saWIvZWxlbWVudHMvZHluYW1pYy1jYXRhbG9nL2R5bmFtaWMtY2F0YWxvZy1tYW5hZ2VtZW50L2R5bmFtaWMtY2F0YWxvZy1tYW5hZ2VtZW50LmNvbXBvbmVudCc7XG4vLyBleHBvcnQgeyBEeW5hbWljQ2F0YWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vbGliL2VsZW1lbnRzL2R5bmFtaWMtY2F0YWxvZy9keW5hbWljLWNhdGFsb2cuY29tcG9uZW50JztcbmV4cG9ydCB7IE51bWJlclJhbmdlQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvZWxlbWVudHMvbnVtYmVyLXJhbmdlL251bWJlci1yYW5nZS5jb21wb25lbnQnO1xuZXhwb3J0IHsgTnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvZWxlbWVudHMvbnVtYmVyL251bWJlci5jb21wb25lbnQnO1xuLy8gZXhwb3J0IHsgT3JnYW5pemF0aW9uU2V0Q29tcG9uZW50IH0gZnJvbSAnLi9saWIvZWxlbWVudHMvb3JnYW5pemF0aW9uLXNldC9vcmdhbml6YXRpb24tc2V0LmNvbXBvbmVudCc7XG5leHBvcnQgeyBPcmdhbml6YXRpb25Db21wb25lbnQgfSBmcm9tICcuL2xpYi9lbGVtZW50cy9vcmdhbml6YXRpb24vb3JnYW5pemF0aW9uLmNvbXBvbmVudCc7XG4vLyBleHBvcnQgeyBSZWZlcmVuY2VJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvZWxlbWVudHMvcmVmZXJlbmNlL3JlZmVyZW5jZS1pdGVtL3JlZmVyZW5jZS1pdGVtLmNvbXBvbmVudCc7XG4vLyBleHBvcnQgeyBSZWZlcmVuY2VDb21wb25lbnQgfSBmcm9tICcuL2xpYi9lbGVtZW50cy9yZWZlcmVuY2UvcmVmZXJlbmNlLmNvbXBvbmVudCc7XG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9lbGVtZW50cy9yZWZlcmVuY2UvcmVmZXJlbmNlLmludGVyZmFjZSc7XG5leHBvcnQgeyBTdHJpbmdDb21wb25lbnQgfSBmcm9tICcuL2xpYi9lbGVtZW50cy9zdHJpbmcvc3RyaW5nLmNvbXBvbmVudCc7XG5leHBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2xpYi9mb3JtLWlucHV0L2Zvcm0taW5wdXQuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMubW9kdWxlJztcbiJdfQ==