@eo-sdk/client 10.0.0-beta.4 → 10.0.0-rc.1

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 (314) hide show
  1. package/app/eo-client/about-state/about-state.component.d.ts +0 -5
  2. package/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
  3. package/app/eo-client/dashboard/dashboard.component.d.ts +25 -33
  4. package/app/eo-client/dashboard/dashboard.component.d.ts.map +1 -1
  5. package/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.d.ts +19 -0
  6. package/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.d.ts.map +1 -0
  7. package/app/eo-client/dashboard/widgets/iframe-widget/iframe-widget.component.d.ts +24 -0
  8. package/app/eo-client/dashboard/widgets/iframe-widget/iframe-widget.component.d.ts.map +1 -0
  9. package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.d.ts +20 -0
  10. package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.d.ts.map +1 -0
  11. package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-widget.component.d.ts +19 -0
  12. package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-widget.component.d.ts.map +1 -0
  13. package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox.model.d.ts +4 -0
  14. package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox.model.d.ts.map +1 -0
  15. package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.d.ts +25 -0
  16. package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.d.ts.map +1 -0
  17. package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-widget.component.d.ts +20 -0
  18. package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-widget.component.d.ts.map +1 -0
  19. package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray.model.d.ts +4 -0
  20. package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray.model.d.ts.map +1 -0
  21. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.d.ts +28 -0
  22. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.d.ts.map +1 -0
  23. package/app/eo-client/dashboard/widgets/search-widget/search-widget.component.d.ts +44 -0
  24. package/app/eo-client/dashboard/widgets/search-widget/search-widget.component.d.ts.map +1 -0
  25. package/app/eo-client/eo-client.module.d.ts +24 -13
  26. package/app/eo-client/eo-client.module.d.ts.map +1 -1
  27. package/app/eo-client/favorite-state/favorite-state.component.d.ts +7 -8
  28. package/app/eo-client/favorite-state/favorite-state.component.d.ts.map +1 -1
  29. package/app/eo-client/inbox-state/inbox-state/inbox-state.component.d.ts +8 -10
  30. package/app/eo-client/inbox-state/inbox-state/inbox-state.component.d.ts.map +1 -1
  31. package/app/eo-client/login/login.component.d.ts +12 -5
  32. package/app/eo-client/login/login.component.d.ts.map +1 -1
  33. package/app/eo-client/notifications-state/notifications-state.component.d.ts +9 -11
  34. package/app/eo-client/notifications-state/notifications-state.component.d.ts.map +1 -1
  35. package/app/eo-client/object-state/object-state/object-state.component.d.ts +10 -11
  36. package/app/eo-client/object-state/object-state/object-state.component.d.ts.map +1 -1
  37. package/app/eo-client/prepare-state/prepare-state/prepare-state.component.d.ts +8 -9
  38. package/app/eo-client/prepare-state/prepare-state/prepare-state.component.d.ts.map +1 -1
  39. package/app/eo-client/process-state/process-state.component.d.ts +8 -10
  40. package/app/eo-client/process-state/process-state.component.d.ts.map +1 -1
  41. package/app/eo-client/recyclebin-state/recyclebin-state.component.d.ts +5 -6
  42. package/app/eo-client/recyclebin-state/recyclebin-state.component.d.ts.map +1 -1
  43. package/app/eo-client/result-state/result-state.component.d.ts +3 -5
  44. package/app/eo-client/result-state/result-state.component.d.ts.map +1 -1
  45. package/app/eo-client/settings/settings.component.d.ts +6 -7
  46. package/app/eo-client/settings/settings.component.d.ts.map +1 -1
  47. package/app/eo-client/stored-queries-state/stored-queries-state.component.d.ts +8 -10
  48. package/app/eo-client/stored-queries-state/stored-queries-state.component.d.ts.map +1 -1
  49. package/app/eo-client/version-state/version-state.component.d.ts +5 -7
  50. package/app/eo-client/version-state/version-state.component.d.ts.map +1 -1
  51. package/app/eo-framework/accordion/accordion.module.d.ts +1 -2
  52. package/app/eo-framework/accordion/accordion.module.d.ts.map +1 -1
  53. package/app/eo-framework/actions/action-menu/action-menu.component.d.ts +4 -5
  54. package/app/eo-framework/actions/action-menu/action-menu.component.d.ts.map +1 -1
  55. package/app/eo-framework/actions/action.module.d.ts +11 -10
  56. package/app/eo-framework/actions/action.module.d.ts.map +1 -1
  57. package/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.d.ts +3 -2
  58. package/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.d.ts.map +1 -1
  59. package/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.d.ts +9 -13
  60. package/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.d.ts.map +1 -1
  61. package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts +3 -4
  62. package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts.map +1 -1
  63. package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
  64. package/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.d.ts +1 -2
  65. package/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.d.ts.map +1 -1
  66. package/app/eo-framework/app-shell/app-shell.module.d.ts +18 -20
  67. package/app/eo-framework/app-shell/app-shell.module.d.ts.map +1 -1
  68. package/app/eo-framework/app-shell/index.d.ts +0 -1
  69. package/app/eo-framework/app-shell/index.d.ts.map +1 -1
  70. package/app/eo-framework/eo-framework.module.d.ts +37 -38
  71. package/app/eo-framework/eo-framework.module.d.ts.map +1 -1
  72. package/app/eo-framework/form-elements/date/date.component.d.ts +0 -2
  73. package/app/eo-framework/form-elements/date/date.component.d.ts.map +1 -1
  74. package/app/eo-framework/form-elements/form-elements.module.d.ts +9 -18
  75. package/app/eo-framework/form-elements/form-elements.module.d.ts.map +1 -1
  76. package/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.d.ts +1 -0
  77. package/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.d.ts.map +1 -1
  78. package/app/eo-framework/grid/filters/datetime-filter.component.d.ts +0 -2
  79. package/app/eo-framework/grid/filters/datetime-filter.component.d.ts.map +1 -1
  80. package/app/eo-framework/grid/grid.component.d.ts +7 -8
  81. package/app/eo-framework/grid/grid.component.d.ts.map +1 -1
  82. package/app/eo-framework/grid/grid.module.d.ts +7 -8
  83. package/app/eo-framework/grid/grid.module.d.ts.map +1 -1
  84. package/app/eo-framework/inbox-details/inbox-details.component.d.ts +1 -2
  85. package/app/eo-framework/inbox-details/inbox-details.component.d.ts.map +1 -1
  86. package/app/eo-framework/index.d.ts +0 -4
  87. package/app/eo-framework/index.d.ts.map +1 -1
  88. package/app/eo-framework/media/media.component.d.ts +4 -3
  89. package/app/eo-framework/media/media.component.d.ts.map +1 -1
  90. package/app/eo-framework/object-details/favorite-icon/favorite-icon.component.d.ts +2 -3
  91. package/app/eo-framework/object-details/favorite-icon/favorite-icon.component.d.ts.map +1 -1
  92. package/app/eo-framework/object-details/object-details.component.d.ts +14 -6
  93. package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
  94. package/app/eo-framework/object-details/object-details.module.d.ts +2 -1
  95. package/app/eo-framework/object-details/object-details.module.d.ts.map +1 -1
  96. package/app/eo-framework/object-details/object-history/object-history.component.d.ts +2 -3
  97. package/app/eo-framework/object-details/object-history/object-history.component.d.ts.map +1 -1
  98. package/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.d.ts +10 -0
  99. package/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.d.ts.map +1 -0
  100. package/app/eo-framework/object-form/object-form/form-element/form-element.component.d.ts +8 -3
  101. package/app/eo-framework/object-form/object-form/form-element/form-element.component.d.ts.map +1 -1
  102. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts +1 -2
  103. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts.map +1 -1
  104. package/app/eo-framework/object-form/object-form/form-element-table/form-element.interface.d.ts +7 -2
  105. package/app/eo-framework/object-form/object-form/form-element-table/form-element.interface.d.ts.map +1 -1
  106. package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts +28 -11
  107. package/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.d.ts.map +1 -1
  108. package/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.d.ts.map +1 -1
  109. package/app/eo-framework/object-form/object-form/object-form.component.d.ts +1 -2
  110. package/app/eo-framework/object-form/object-form/object-form.component.d.ts.map +1 -1
  111. package/app/eo-framework/object-form/object-form-helper.service.d.ts.map +1 -1
  112. package/app/eo-framework/object-form/object-form.module.d.ts +9 -9
  113. package/app/eo-framework/object-state-details/object-state-details.component.d.ts +1 -2
  114. package/app/eo-framework/object-state-details/object-state-details.component.d.ts.map +1 -1
  115. package/app/eo-framework/prepare-details/prepare-details.component.d.ts +8 -9
  116. package/app/eo-framework/prepare-details/prepare-details.component.d.ts.map +1 -1
  117. package/app/eo-framework/process/details/process-details.component.d.ts +7 -8
  118. package/app/eo-framework/process/details/process-details.component.d.ts.map +1 -1
  119. package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts +9 -11
  120. package/app/eo-framework/recyclebin-details/recyclebin-details.component.d.ts.map +1 -1
  121. package/app/eo-framework/result-list/result-list.component.d.ts +5 -6
  122. package/app/eo-framework/result-list/result-list.component.d.ts.map +1 -1
  123. package/app/eo-framework/settings/settings.module.d.ts +3 -4
  124. package/app/eo-framework/settings/settings.module.d.ts.map +1 -1
  125. package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts +4 -5
  126. package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts.map +1 -1
  127. package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts +2 -3
  128. package/app/eo-framework/ui/eo-dialog/eo-dialog.component.d.ts.map +1 -1
  129. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts +1 -0
  130. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts.map +1 -1
  131. package/app/eo-framework/ui/outside-click/outside-click.directive.d.ts +1 -2
  132. package/app/eo-framework/ui/outside-click/outside-click.directive.d.ts.map +1 -1
  133. package/app/eo-framework/ui/signature-tab/signature-tab.component.d.ts +0 -1
  134. package/app/eo-framework/ui/signature-tab/signature-tab.component.d.ts.map +1 -1
  135. package/app/eo-framework/util/index.d.ts +0 -1
  136. package/app/eo-framework/util/index.d.ts.map +1 -1
  137. package/app/eo-framework/util/util.module.d.ts +0 -1
  138. package/app/eo-framework/util/util.module.d.ts.map +1 -1
  139. package/app/eo-framework-core/layout/layout.service.d.ts +2 -26
  140. package/app/eo-framework-core/layout/layout.service.d.ts.map +1 -1
  141. package/app/eo-framework-core/pipes/locale-number.pipe.d.ts +2 -3
  142. package/app/eo-framework-core/pipes/locale-number.pipe.d.ts.map +1 -1
  143. package/assets/_default/i18n/de.json +32 -2
  144. package/assets/_default/i18n/en.json +37 -7
  145. package/assets/_default/svg/ic_add_document_file_as_new_version.svg +1 -0
  146. package/assets/_default/svg/ic_create_document.svg +1 -0
  147. package/assets/_default/svg/ic_create_document_in_folder.svg +1 -0
  148. package/assets/_default/svg/ic_noUrl.svg +1 -0
  149. package/assets/dashboard.json +47 -0
  150. package/esm2020/app/eo-client/about-state/about-state.component.mjs +5 -11
  151. package/esm2020/app/eo-client/dashboard/dashboard.component.mjs +143 -98
  152. package/esm2020/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.mjs +59 -0
  153. package/esm2020/app/eo-client/dashboard/widgets/iframe-widget/iframe-widget.component.mjs +39 -0
  154. package/esm2020/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.mjs +53 -0
  155. package/esm2020/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-widget.component.mjs +42 -0
  156. package/esm2020/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox.model.mjs +2 -0
  157. package/esm2020/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.mjs +65 -0
  158. package/esm2020/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-widget.component.mjs +43 -0
  159. package/esm2020/app/eo-client/dashboard/widgets/info-intray-widget/info-intray.model.mjs +2 -0
  160. package/esm2020/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.mjs +117 -0
  161. package/esm2020/app/eo-client/dashboard/widgets/search-widget/search-widget.component.mjs +115 -0
  162. package/esm2020/app/eo-client/eo-client.module.mjs +44 -6
  163. package/esm2020/app/eo-client/favorite-state/favorite-state.component.mjs +15 -14
  164. package/esm2020/app/eo-client/inbox-state/inbox-state/inbox-state.component.mjs +14 -11
  165. package/esm2020/app/eo-client/login/login.component.mjs +33 -13
  166. package/esm2020/app/eo-client/notifications-state/notifications-state.component.mjs +16 -12
  167. package/esm2020/app/eo-client/object-state/object-state/object-state.component.mjs +27 -23
  168. package/esm2020/app/eo-client/prepare-state/prepare-state/prepare-state.component.mjs +12 -9
  169. package/esm2020/app/eo-client/process-state/process-state.component.mjs +6 -9
  170. package/esm2020/app/eo-client/recyclebin-state/recyclebin-state.component.mjs +14 -11
  171. package/esm2020/app/eo-client/result-state/result-state.component.mjs +11 -8
  172. package/esm2020/app/eo-client/settings/settings.component.mjs +16 -12
  173. package/esm2020/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +16 -13
  174. package/esm2020/app/eo-client/version-state/version-state.component.mjs +13 -10
  175. package/esm2020/app/eo-framework/accordion/accordion.module.mjs +3 -7
  176. package/esm2020/app/eo-framework/accordion/simple-accordion/simple-accordion.component.mjs +3 -3
  177. package/esm2020/app/eo-framework/actions/action-menu/action-menu.component.mjs +15 -11
  178. package/esm2020/app/eo-framework/actions/action.module.mjs +5 -2
  179. package/esm2020/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.mjs +5 -7
  180. package/esm2020/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +3 -3
  181. package/esm2020/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +2 -2
  182. package/esm2020/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.mjs +43 -48
  183. package/esm2020/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +2 -2
  184. package/esm2020/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.mjs +2 -2
  185. package/esm2020/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +16 -14
  186. package/esm2020/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +8 -3
  187. package/esm2020/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.mjs +4 -6
  188. package/esm2020/app/eo-framework/app-shell/app-shell.module.mjs +1 -8
  189. package/esm2020/app/eo-framework/app-shell/index.mjs +1 -2
  190. package/esm2020/app/eo-framework/eo-framework.module.mjs +35 -43
  191. package/esm2020/app/eo-framework/form-elements/date/date.component.mjs +2 -12
  192. package/esm2020/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +3 -3
  193. package/esm2020/app/eo-framework/form-elements/form-elements.module.mjs +28 -37
  194. package/esm2020/app/eo-framework/form-elements/form-input/form-input.component.mjs +3 -3
  195. package/esm2020/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.mjs +10 -6
  196. package/esm2020/app/eo-framework/form-elements/organization/organization.component.mjs +3 -3
  197. package/esm2020/app/eo-framework/form-elements/reference/reference.component.mjs +5 -6
  198. package/esm2020/app/eo-framework/form-elements/string/string.component.mjs +2 -2
  199. package/esm2020/app/eo-framework/frame/frame.component.mjs +2 -2
  200. package/esm2020/app/eo-framework/grid/filters/datetime-filter.component.mjs +2 -6
  201. package/esm2020/app/eo-framework/grid/filters/dynamic-list-filter.component.mjs +3 -3
  202. package/esm2020/app/eo-framework/grid/filters/organization-filter.component.mjs +3 -3
  203. package/esm2020/app/eo-framework/grid/grid.component.mjs +16 -12
  204. package/esm2020/app/eo-framework/grid/grid.module.mjs +1 -5
  205. package/esm2020/app/eo-framework/inbox-details/inbox-details.component.mjs +16 -11
  206. package/esm2020/app/eo-framework/index.mjs +1 -5
  207. package/esm2020/app/eo-framework/media/media.component.mjs +31 -12
  208. package/esm2020/app/eo-framework/object-details/favorite-icon/favorite-icon.component.mjs +13 -10
  209. package/esm2020/app/eo-framework/object-details/object-details.component.mjs +64 -38
  210. package/esm2020/app/eo-framework/object-details/object-details.module.mjs +7 -3
  211. package/esm2020/app/eo-framework/object-details/object-history/object-history.component.mjs +13 -9
  212. package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element-template.directive.mjs +18 -0
  213. package/esm2020/app/eo-framework/object-form/object-form/form-element/form-element.component.mjs +20 -6
  214. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +21 -22
  215. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/form-element.interface.mjs +1 -1
  216. package/esm2020/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +94 -32
  217. package/esm2020/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.mjs +6 -4
  218. package/esm2020/app/eo-framework/object-form/object-form/object-form-script/object-form-script.service.mjs +2 -3
  219. package/esm2020/app/eo-framework/object-form/object-form/object-form.component.mjs +3 -5
  220. package/esm2020/app/eo-framework/object-form/object-form-helper.service.mjs +2 -2
  221. package/esm2020/app/eo-framework/object-form/object-form.module.mjs +9 -10
  222. package/esm2020/app/eo-framework/object-state-details/object-state-details.component.mjs +15 -13
  223. package/esm2020/app/eo-framework/prepare-details/prepare-details.component.mjs +16 -14
  224. package/esm2020/app/eo-framework/process/details/process-details.component.mjs +16 -12
  225. package/esm2020/app/eo-framework/process-form/process-form.component.mjs +2 -2
  226. package/esm2020/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +25 -17
  227. package/esm2020/app/eo-framework/result-list/result-list.component.mjs +21 -15
  228. package/esm2020/app/eo-framework/settings/settings.module.mjs +1 -5
  229. package/esm2020/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.mjs +17 -13
  230. package/esm2020/app/eo-framework/ui/eo-dialog/eo-dialog.component.mjs +12 -8
  231. package/esm2020/app/eo-framework/ui/eo-icon/eo-icon.component.mjs +2 -2
  232. package/esm2020/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +20 -12
  233. package/esm2020/app/eo-framework/ui/outside-click/outside-click.directive.mjs +11 -8
  234. package/esm2020/app/eo-framework/ui/signature-tab/signature-tab.component.mjs +3 -6
  235. package/esm2020/app/eo-framework/upload-overlay/upload-overlay.component.mjs +3 -3
  236. package/esm2020/app/eo-framework/util/index.mjs +1 -2
  237. package/esm2020/app/eo-framework/util/util.module.mjs +2 -3
  238. package/esm2020/app/eo-framework-core/layout/layout.service.mjs +61 -63
  239. package/esm2020/app/eo-framework-core/pipes/locale-number.pipe.mjs +11 -8
  240. package/esm2020/projects/eo-sdk/core/lib/eo-core.module.mjs +8 -8
  241. package/esm2020/projects/eo-sdk/core/lib/model/inbox-item.model.mjs +2 -6
  242. package/esm2020/projects/eo-sdk/core/lib/service/auth/auth.service.mjs +24 -30
  243. package/esm2020/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.mjs +1 -1
  244. package/esm2020/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.mjs +8 -6
  245. package/esm2020/projects/eo-sdk/core/lib/service/config/config.service.mjs +1 -1
  246. package/esm2020/projects/eo-sdk/core/lib/service/dms/dms.service.mjs +14 -16
  247. package/esm2020/projects/eo-sdk/core/lib/service/prepare/prepare.service.mjs +15 -12
  248. package/esm2020/projects/eo-sdk/core/lib/service/signing/signing.service.mjs +12 -6
  249. package/esm2020/projects/eo-sdk/core/lib/service/system/system.service.mjs +2 -6
  250. package/esm2020/projects/eo-sdk/core/lib/service/user/user.service.mjs +11 -1
  251. package/esm2020/projects/eo-sdk/core/lib/util/utils.mjs +3 -3
  252. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +1069 -1066
  253. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
  254. package/fesm2015/eo-sdk-client.mjs +14808 -15012
  255. package/fesm2015/eo-sdk-client.mjs.map +1 -1
  256. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +1069 -1066
  257. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
  258. package/fesm2020/eo-sdk-client.mjs +16587 -16787
  259. package/fesm2020/eo-sdk-client.mjs.map +1 -1
  260. package/package.json +5 -5
  261. package/projects/eo-sdk/core/lib/eo-core.module.d.ts.map +1 -1
  262. package/projects/eo-sdk/core/lib/model/inbox-item.model.d.ts.map +1 -1
  263. package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts +14 -20
  264. package/projects/eo-sdk/core/lib/service/auth/auth.service.d.ts.map +1 -1
  265. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.d.ts +4 -0
  266. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.model.d.ts.map +1 -1
  267. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.d.ts +3 -1
  268. package/projects/eo-sdk/core/lib/service/capabilities/capabilities.service.d.ts.map +1 -1
  269. package/projects/eo-sdk/core/lib/service/config/config.service.d.ts.map +1 -1
  270. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts +10 -8
  271. package/projects/eo-sdk/core/lib/service/dms/dms.service.d.ts.map +1 -1
  272. package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts +1 -0
  273. package/projects/eo-sdk/core/lib/service/prepare/prepare.service.d.ts.map +1 -1
  274. package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts +4 -1
  275. package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts.map +1 -1
  276. package/projects/eo-sdk/core/lib/service/system/system.service.d.ts.map +1 -1
  277. package/projects/eo-sdk/core/lib/service/user/user.service.d.ts +6 -0
  278. package/projects/eo-sdk/core/lib/service/user/user.service.d.ts.map +1 -1
  279. package/projects/eo-sdk/core/lib/util/utils.d.ts +3 -4
  280. package/projects/eo-sdk/core/lib/util/utils.d.ts.map +1 -1
  281. package/scss/_eo-variables.scss +1 -0
  282. package/scss/_main.scss +1 -1
  283. package/scss/_mixins.scss +6 -6
  284. package/styles.css +2 -1
  285. package/app/eo-framework/app-shell/app-bar/app-layout/app-layout.component.d.ts +0 -24
  286. package/app/eo-framework/app-shell/app-bar/app-layout/app-layout.component.d.ts.map +0 -1
  287. package/app/eo-framework/split/index.d.ts +0 -5
  288. package/app/eo-framework/split/index.d.ts.map +0 -1
  289. package/app/eo-framework/split/split/split.component.d.ts +0 -83
  290. package/app/eo-framework/split/split/split.component.d.ts.map +0 -1
  291. package/app/eo-framework/split/split-area/split-area.component.d.ts +0 -37
  292. package/app/eo-framework/split/split-area/split-area.component.d.ts.map +0 -1
  293. package/app/eo-framework/split/split-gutter/split-gutter.directive.d.ts +0 -21
  294. package/app/eo-framework/split/split-gutter/split-gutter.directive.d.ts.map +0 -1
  295. package/app/eo-framework/split/split.module.d.ts +0 -12
  296. package/app/eo-framework/split/split.module.d.ts.map +0 -1
  297. package/app/eo-framework/undock-split/undock-split.component.d.ts +0 -28
  298. package/app/eo-framework/undock-split/undock-split.component.d.ts.map +0 -1
  299. package/app/eo-framework/undock-split/undock-split.service.d.ts +0 -43
  300. package/app/eo-framework/undock-split/undock-split.service.d.ts.map +0 -1
  301. package/app/eo-framework/undock-split/undock-state.interface.d.ts +0 -6
  302. package/app/eo-framework/undock-split/undock-state.interface.d.ts.map +0 -1
  303. package/app/eo-framework/util/unsubscribe/unsubscribe.component.d.ts +0 -11
  304. package/app/eo-framework/util/unsubscribe/unsubscribe.component.d.ts.map +0 -1
  305. package/esm2020/app/eo-framework/app-shell/app-bar/app-layout/app-layout.component.mjs +0 -67
  306. package/esm2020/app/eo-framework/split/index.mjs +0 -5
  307. package/esm2020/app/eo-framework/split/split/split.component.mjs +0 -373
  308. package/esm2020/app/eo-framework/split/split-area/split-area.component.mjs +0 -131
  309. package/esm2020/app/eo-framework/split/split-gutter/split-gutter.directive.mjs +0 -73
  310. package/esm2020/app/eo-framework/split/split.module.mjs +0 -28
  311. package/esm2020/app/eo-framework/undock-split/undock-split.component.mjs +0 -89
  312. package/esm2020/app/eo-framework/undock-split/undock-split.service.mjs +0 -135
  313. package/esm2020/app/eo-framework/undock-split/undock-state.interface.mjs +0 -2
  314. package/esm2020/app/eo-framework/util/unsubscribe/unsubscribe.component.mjs +0 -23
@@ -1,373 +0,0 @@
1
- import { takeUntil, debounceTime } from 'rxjs/operators';
2
- import { Component, ChangeDetectionStrategy, HostBinding, Input, Output, EventEmitter } from '@angular/core';
3
- import { Subject, of as observableOf } from 'rxjs';
4
- import { UnsubscribeOnDestroy } from '../../util/unsubscribe/unsubscribe.component';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../../eo-framework-core/layout/layout.service";
7
- import * as i2 from "@eo-sdk/core";
8
- import * as i3 from "@angular/common";
9
- import * as i4 from "../split-gutter/split-gutter.directive";
10
- export class SplitComponent extends UnsubscribeOnDestroy {
11
- get styleFlexDirection() {
12
- return this.direction === 'vertical';
13
- }
14
- get styleFlexDirectionStyle() {
15
- return this.direction === 'horizontal' ? 'row' : 'column';
16
- }
17
- get dragging() {
18
- // prevent animation of areas when visibleTransition is false, or resizing
19
- return !this.visibleTransition || this.isDragging;
20
- }
21
- get styleWidth() {
22
- return (this.width && !isNaN(this.width) && this.width > 0) ? this.width + 'px' : '100%';
23
- }
24
- get styleHeight() {
25
- return (this.height && !isNaN(this.height) && this.height > 0) ? this.height + 'px' : '100%';
26
- }
27
- get visibleAreas() {
28
- return this.areas.filter(a => a.component.visible);
29
- }
30
- get nbGutters() {
31
- return this.visibleAreas.length - 1;
32
- }
33
- set cacheLayout(val) {
34
- if (this.applyCacheLayout) {
35
- (val && val.subscribe ? val : observableOf(val))
36
- .subscribe(cacheLayout => {
37
- this._cacheLayout = cacheLayout;
38
- this.updateLayout();
39
- });
40
- }
41
- }
42
- get cacheLayout() {
43
- return this._cacheLayout;
44
- }
45
- constructor(cdRef, elementRef, renderer, _ngZone, layoutService, userService) {
46
- super();
47
- this.cdRef = cdRef;
48
- this.elementRef = elementRef;
49
- this.renderer = renderer;
50
- this._ngZone = _ngZone;
51
- this.layoutService = layoutService;
52
- this.userService = userService;
53
- this.direction = 'horizontal';
54
- this.switchable = false;
55
- this.gutterSize = 10;
56
- this.disabled = false;
57
- this.visibleTransition = false;
58
- this.dragStart = new EventEmitter(false);
59
- this.dragProgress = new EventEmitter(false);
60
- this.dragEnd = new EventEmitter(false);
61
- this.visibleTransitionEndInternal = new Subject();
62
- this.visibleTransitionEnd = this.visibleTransitionEndInternal.asObservable().pipe(debounceTime(20));
63
- this.areas = [];
64
- this.minPercent = 5;
65
- this.isDragging = false;
66
- this.containerSize = 0;
67
- this.areaASize = 0;
68
- this.areaBSize = 0;
69
- this.directionIndex = 1;
70
- this.eventsDragFct = [];
71
- this._cacheLayout = false;
72
- this._afterViewInit = false;
73
- this.applyCacheLayout = true;
74
- this.userService.user$.pipe(takeUntil(this.componentDestroyed$)).subscribe((user) => {
75
- this.directionIndex = (user.uiDirection === 'rtl') ? -1 : 1;
76
- });
77
- }
78
- toggleDirection() {
79
- if (this.switchable) {
80
- this.direction = this.direction === 'horizontal' ? 'vertical' : 'horizontal';
81
- }
82
- }
83
- updateLayout() {
84
- if (this._afterViewInit && this.cacheLayout) {
85
- this.layoutService.getLayout(`eo.split.layout.${this.cacheLayout}`)
86
- .subscribe(layout => {
87
- (layout || []).forEach((area) => {
88
- if (area && this.areas.length > area.index) {
89
- this.areas[area.index].size = area.size;
90
- this.areas[area.index].sizeUser = area.size;
91
- this.areas[area.index].component.visible = area.visible;
92
- }
93
- });
94
- this.layoutService.visibilityUpdate();
95
- this.refreshStyleSizes();
96
- });
97
- }
98
- }
99
- ngAfterViewInit() {
100
- this._afterViewInit = true;
101
- this.updateLayout();
102
- }
103
- ngOnChanges(changes) {
104
- if (changes['gutterSize'] || changes['disabled']) {
105
- this.refresh();
106
- }
107
- }
108
- addArea(component, orderUser, sizeUser, minPixel) {
109
- this.areas.push({
110
- component,
111
- orderUser,
112
- order: -1,
113
- sizeUser,
114
- size: -1,
115
- minPixel
116
- });
117
- this.refresh();
118
- }
119
- updateArea(component, orderUser, sizeUser, minPixel) {
120
- const item = this.areas.find(a => a.component === component);
121
- if (item) {
122
- item.orderUser = orderUser;
123
- item.sizeUser = sizeUser;
124
- item.minPixel = minPixel;
125
- this.refresh();
126
- }
127
- }
128
- removeArea(area) {
129
- const item = this.areas.find(a => a.component === area);
130
- if (item) {
131
- const index = this.areas.indexOf(item);
132
- this.areas.splice(index, 1);
133
- this.areas.forEach((a, i) => a.order = i * 2);
134
- this.refresh();
135
- }
136
- }
137
- hideArea(area) {
138
- const item = this.areas.find(a => a.component === area);
139
- if (item) {
140
- this.refresh();
141
- this.updateLayoutCache();
142
- }
143
- }
144
- showArea(area) {
145
- const item = this.areas.find(a => a.component === area);
146
- if (item) {
147
- this.refresh();
148
- this.updateLayoutCache();
149
- }
150
- }
151
- isLastVisibleArea(area) {
152
- const visibleAreas = this.visibleAreas;
153
- return visibleAreas.length > 0 ? area === visibleAreas[visibleAreas.length - 1] : false;
154
- }
155
- refresh() {
156
- this.stopDragging();
157
- const visibleAreas = this.visibleAreas;
158
- // ORDERS: Set css 'order' property depending on user input or added order
159
- const nbCorrectOrder = this.areas.filter(a => a.orderUser !== null && !isNaN(a.orderUser)).length;
160
- if (nbCorrectOrder === this.areas.length) {
161
- this.areas.sort((a, b) => +a.orderUser - +b.orderUser);
162
- }
163
- this.areas.forEach((a, i) => {
164
- a.order = i * 2;
165
- a.component.setStyle('order', a.order);
166
- });
167
- // SIZES: Set css 'flex-basis' property depending on user input or equal sizes
168
- const nbCorrectSize = s => s !== null && !isNaN(s) && s >= this.minPercent ? Number(s) : Number((100 / visibleAreas.length).toFixed(3));
169
- const totalSize = visibleAreas.map(a => a.sizeUser).reduce((acc, s) => acc + nbCorrectSize(s), 0);
170
- visibleAreas.forEach(a => a.size = nbCorrectSize(a.sizeUser));
171
- if (Math.round(totalSize) !== 100 && visibleAreas.length) {
172
- const last = visibleAreas[visibleAreas.length - 1];
173
- last.size = last.size - totalSize + 100;
174
- }
175
- this.refreshStyleSizes();
176
- this.cdRef.markForCheck();
177
- }
178
- refreshStyleSizes() {
179
- //this._ngZone.run(() => {
180
- const visibleAreas = this.visibleAreas;
181
- const f = this.gutterSize * this.nbGutters / visibleAreas.length;
182
- visibleAreas.forEach(a => a.component.setStyle('flex-basis', `calc( ${a.size}% - ${f}px )`));
183
- //});
184
- //});
185
- }
186
- startDragging(startEvent, gutterOrder) {
187
- startEvent.preventDefault();
188
- if (this.disabled) {
189
- return;
190
- }
191
- const areaA = this.visibleAreas.filter(a => a.order < gutterOrder).pop();
192
- const areaB = this.visibleAreas.filter(a => a.order > gutterOrder)[0];
193
- if (!areaA || !areaB) {
194
- return;
195
- }
196
- const prop = (this.direction === 'horizontal') ? 'offsetWidth' : 'offsetHeight';
197
- this.containerSize = this.elementRef.nativeElement[prop];
198
- this.areaASize = this.containerSize * areaA.size / 100;
199
- this.areaBSize = this.containerSize * areaB.size / 100;
200
- let start;
201
- if (startEvent instanceof MouseEvent) {
202
- start = {
203
- x: startEvent.screenX,
204
- y: startEvent.screenY
205
- };
206
- }
207
- else if (startEvent instanceof TouchEvent) {
208
- start = {
209
- x: startEvent.touches[0].screenX,
210
- y: startEvent.touches[0].screenY
211
- };
212
- }
213
- else {
214
- return;
215
- }
216
- this._ngZone.runOutsideAngular(_ => {
217
- this.eventsDragFct.push(this.renderer.listen('document', 'mousemove', e => this.dragEvent(e, start, areaA, areaB)));
218
- this.eventsDragFct.push(this.renderer.listen('document', 'touchmove', e => this.dragEvent(e, start, areaA, areaB)));
219
- this.eventsDragFct.push(this.renderer.listen('document', 'mouseup', e => this.stopDragging()));
220
- this.eventsDragFct.push(this.renderer.listen('document', 'touchend', e => this.stopDragging()));
221
- this.eventsDragFct.push(this.renderer.listen('document', 'touchcancel', e => this.stopDragging()));
222
- });
223
- areaA.component.lockEvents();
224
- areaB.component.lockEvents();
225
- this.isDragging = true;
226
- this.notify('start');
227
- }
228
- dragEvent(event, start, areaA, areaB) {
229
- if (!this.isDragging) {
230
- return;
231
- }
232
- let end;
233
- if (event instanceof MouseEvent) {
234
- end = {
235
- x: event.screenX,
236
- y: event.screenY
237
- };
238
- }
239
- else if (event instanceof TouchEvent) {
240
- end = {
241
- x: event.touches[0].screenX,
242
- y: event.touches[0].screenY
243
- };
244
- }
245
- else {
246
- return;
247
- }
248
- this.drag(start, end, areaA, areaB);
249
- }
250
- drag(start, end, areaA, areaB) {
251
- const offsetPixel = (this.direction === 'horizontal') ? (start.x - end.x) : (start.y - end.y);
252
- const newSizePixelA = this.areaASize - offsetPixel * this.directionIndex;
253
- const newSizePixelB = this.areaBSize + offsetPixel * this.directionIndex;
254
- if (newSizePixelA <= areaA.minPixel || newSizePixelB < areaB.minPixel) {
255
- return;
256
- }
257
- let newSizePercentA = newSizePixelA / this.containerSize * 100;
258
- let newSizePercentB = newSizePixelB / this.containerSize * 100;
259
- if (newSizePercentA <= this.minPercent) {
260
- newSizePercentA = this.minPercent;
261
- newSizePercentB = areaA.size + areaB.size - this.minPercent;
262
- }
263
- else if (newSizePercentB <= this.minPercent) {
264
- newSizePercentB = this.minPercent;
265
- newSizePercentA = areaA.size + areaB.size - this.minPercent;
266
- }
267
- else {
268
- newSizePercentA = Number(newSizePercentA.toFixed(3));
269
- newSizePercentB = Number((areaA.size + areaB.size - newSizePercentA).toFixed(3));
270
- }
271
- areaA.size = newSizePercentA;
272
- areaB.size = newSizePercentB;
273
- if (this.areas.length === this.visibleAreas.length) {
274
- areaA.sizeUser = newSizePercentA;
275
- areaB.sizeUser = newSizePercentB;
276
- }
277
- this.refreshStyleSizes();
278
- this.notify('progress');
279
- }
280
- stopDragging() {
281
- if (!this.isDragging) {
282
- return;
283
- }
284
- this.areas.forEach(a => a.component.unlockEvents());
285
- while (this.eventsDragFct.length > 0) {
286
- const fct = this.eventsDragFct.pop();
287
- if (fct) {
288
- fct();
289
- }
290
- }
291
- this.containerSize = 0;
292
- this.areaASize = 0;
293
- this.areaBSize = 0;
294
- this.updateLayoutCache();
295
- this.isDragging = false;
296
- this.notify('end');
297
- }
298
- notify(type) {
299
- const data = this.visibleAreas.map(a => a.size);
300
- switch (type) {
301
- case 'start':
302
- return this.dragStart.emit(data);
303
- case 'progress':
304
- return this.dragProgress.emit(data);
305
- case 'end':
306
- return this.dragEnd.emit(data);
307
- case 'visibleTransitionEnd':
308
- return this.visibleTransitionEndInternal.next(data);
309
- }
310
- }
311
- updateLayoutCache() {
312
- if (this.cacheLayout) {
313
- let layout = this.areas.map((a, i) => ({ index: i, size: a.size, visible: a.component.visible }));
314
- this.layoutService.cacheLayout(`eo.split.layout.${this.cacheLayout}`, layout);
315
- }
316
- }
317
- ngOnDestroy() {
318
- this.stopDragging();
319
- }
320
- }
321
- SplitComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SplitComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i1.LayoutService }, { token: i2.UserService }], target: i0.ɵɵFactoryTarget.Component });
322
- SplitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: SplitComponent, selector: "eo-split", inputs: { direction: "direction", switchable: "switchable", width: "width", height: "height", gutterSize: "gutterSize", gutterColor: "gutterColor", disabled: "disabled", visibleTransition: "visibleTransition", applyCacheLayout: "applyCacheLayout", cacheLayout: "cacheLayout" }, outputs: { dragStart: "dragStart", dragProgress: "dragProgress", dragEnd: "dragEnd", visibleTransitionEnd: "visibleTransitionEnd" }, host: { properties: { "class.vertical": "this.styleFlexDirection", "style.flex-direction": "this.styleFlexDirectionStyle", "class.notransition": "this.dragging", "style.width": "this.styleWidth", "style.height": "this.styleHeight", "class.dragging": "this.isDragging" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n<ng-template ngFor let-area [ngForOf]=\"areas\" let-index=\"index\" let-last=\"last\">\n <div eoSplitGutter *ngIf=\"last === false && area.component.visible === true && !isLastVisibleArea(area)\"\n [order]=\"index*2+1\"\n [style.background-color]=\"gutterColor ? gutterColor : 'transparent'\"\n [direction]=\"direction\"\n [size]=\"gutterSize\"\n [disabled]=\"disabled\"\n (mousedown)=\"startDragging($event, index*2+1)\"\n (dblclick)=\"toggleDirection()\"\n (touchstart)=\"startDragging($event, index*2+1)\"></div>\n</ng-template>\n", styles: [":host{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;flex-direction:row}:host.vertical{flex-direction:column}:host.vertical div[eosplitgutter]{width:100%}div[eosplitgutter]{flex-grow:0;flex-shrink:0;background-position:center center;background-repeat:no-repeat}:host ::ng-deep eo-split-area{transition:flex-basis .3s;position:relative;min-width:0}:host ::ng-deep eo-split-area:not(.visible){flex-basis:0!important;flex-grow:0!important;overflow:hidden!important}:host.dragging ::ng-deep eo-split-area:before{content:\"\";z-index:5;position:absolute;inset:0}:host.notransition ::ng-deep eo-split-area{transition:none!important}:host.vertical ::ng-deep eo-split-area:not(.visible){max-width:0}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.SplitGutterDirective, selector: "[eoSplitGutter]", inputs: ["order", "direction", "size", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
323
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SplitComponent, decorators: [{
324
- type: Component,
325
- args: [{ selector: 'eo-split', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n<ng-template ngFor let-area [ngForOf]=\"areas\" let-index=\"index\" let-last=\"last\">\n <div eoSplitGutter *ngIf=\"last === false && area.component.visible === true && !isLastVisibleArea(area)\"\n [order]=\"index*2+1\"\n [style.background-color]=\"gutterColor ? gutterColor : 'transparent'\"\n [direction]=\"direction\"\n [size]=\"gutterSize\"\n [disabled]=\"disabled\"\n (mousedown)=\"startDragging($event, index*2+1)\"\n (dblclick)=\"toggleDirection()\"\n (touchstart)=\"startDragging($event, index*2+1)\"></div>\n</ng-template>\n", styles: [":host{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;flex-direction:row}:host.vertical{flex-direction:column}:host.vertical div[eosplitgutter]{width:100%}div[eosplitgutter]{flex-grow:0;flex-shrink:0;background-position:center center;background-repeat:no-repeat}:host ::ng-deep eo-split-area{transition:flex-basis .3s;position:relative;min-width:0}:host ::ng-deep eo-split-area:not(.visible){flex-basis:0!important;flex-grow:0!important;overflow:hidden!important}:host.dragging ::ng-deep eo-split-area:before{content:\"\";z-index:5;position:absolute;inset:0}:host.notransition ::ng-deep eo-split-area{transition:none!important}:host.vertical ::ng-deep eo-split-area:not(.visible){max-width:0}\n"] }]
326
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i1.LayoutService }, { type: i2.UserService }]; }, propDecorators: { direction: [{
327
- type: Input
328
- }], switchable: [{
329
- type: Input
330
- }], width: [{
331
- type: Input
332
- }], height: [{
333
- type: Input
334
- }], gutterSize: [{
335
- type: Input
336
- }], gutterColor: [{
337
- type: Input
338
- }], disabled: [{
339
- type: Input
340
- }], visibleTransition: [{
341
- type: Input
342
- }], dragStart: [{
343
- type: Output
344
- }], dragProgress: [{
345
- type: Output
346
- }], dragEnd: [{
347
- type: Output
348
- }], visibleTransitionEnd: [{
349
- type: Output
350
- }], styleFlexDirection: [{
351
- type: HostBinding,
352
- args: ['class.vertical']
353
- }], styleFlexDirectionStyle: [{
354
- type: HostBinding,
355
- args: ['style.flex-direction']
356
- }], dragging: [{
357
- type: HostBinding,
358
- args: ['class.notransition']
359
- }], styleWidth: [{
360
- type: HostBinding,
361
- args: ['style.width']
362
- }], styleHeight: [{
363
- type: HostBinding,
364
- args: ['style.height']
365
- }], isDragging: [{
366
- type: HostBinding,
367
- args: ['class.dragging']
368
- }], applyCacheLayout: [{
369
- type: Input
370
- }], cacheLayout: [{
371
- type: Input
372
- }] } });
373
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvc3BsaXQvc3BsaXQvc3BsaXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvc3BsaXQvc3BsaXQvc3BsaXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQ0wsU0FBUyxFQUF3Qix1QkFBdUIsRUFDbEIsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUMvRSxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsT0FBTyxFQUFjLEVBQUUsSUFBSSxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFJN0QsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sOENBQThDLENBQUM7Ozs7OztBQXVCbEYsTUFBTSxPQUFPLGNBQWUsU0FBUSxvQkFBb0I7SUFpQnRELElBQW1DLGtCQUFrQjtRQUNuRCxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssVUFBVSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUF5Qyx1QkFBdUI7UUFDOUQsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDNUQsQ0FBQztJQUVELElBQXVDLFFBQVE7UUFDN0MsMEVBQTBFO1FBQzFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBZ0MsVUFBVTtRQUN4QyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMs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Z0JBV3BCLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFTyxXQUFXO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0YWtlVW50aWwsIGRlYm91bmNlVGltZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLFxuICBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIFNpbXBsZUNoYW5nZXMsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEFmdGVyVmlld0luaXQsIE5nWm9uZSwgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiBhcyBvYnNlcnZhYmxlT2Z9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1VzZXJTZXJ2aWNlLCBFb1VzZXIsIEFwcENhY2hlU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7U3BsaXRBcmVhQ29tcG9uZW50fSBmcm9tICcuLi9zcGxpdC1hcmVhL3NwbGl0LWFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7VW5zdWJzY3JpYmVPbkRlc3Ryb3l9IGZyb20gJy4uLy4uL3V0aWwvdW5zdWJzY3JpYmUvdW5zdWJzY3JpYmUuY29tcG9uZW50JztcbmltcG9ydCB7TGF5b3V0U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvbGF5b3V0L2xheW91dC5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBJQXJlYURhdGEge1xuICBjb21wb25lbnQ6IFNwbGl0QXJlYUNvbXBvbmVudDtcbiAgc2l6ZVVzZXI6IG51bWJlciB8IG51bGw7XG4gIHNpemU6IG51bWJlcjtcbiAgb3JkZXJVc2VyOiBudW1iZXIgfCBudWxsO1xuICBvcmRlcjogbnVtYmVyO1xuICBtaW5QaXhlbDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvaW50IHtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLXNwbGl0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGxpdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NwbGl0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU3BsaXRDb21wb25lbnQgZXh0ZW5kcyBVbnN1YnNjcmliZU9uRGVzdHJveSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcblxuICBASW5wdXQoKSBkaXJlY3Rpb24gPSAnaG9yaXpvbnRhbCc7XG4gIEBJbnB1dCgpIHN3aXRjaGFibGUgPSBmYWxzZTtcbiAgQElucHV0KCkgd2lkdGg6IG51bWJlcjtcbiAgQElucHV0KCkgaGVpZ2h0OiBudW1iZXI7XG4gIEBJbnB1dCgpIGd1dHRlclNpemUgPSAxMDtcbiAgQElucHV0KCkgZ3V0dGVyQ29sb3I6IHN0cmluZztcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgdmlzaWJsZVRyYW5zaXRpb24gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgZHJhZ1N0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjxBcnJheTxudW1iZXI+PihmYWxzZSk7XG4gIEBPdXRwdXQoKSBkcmFnUHJvZ3Jlc3MgPSBuZXcgRXZlbnRFbWl0dGVyPEFycmF5PG51bWJlcj4+KGZhbHNlKTtcbiAgQE91dHB1dCgpIGRyYWdFbmQgPSBuZXcgRXZlbnRFbWl0dGVyPEFycmF5PG51bWJlcj4+KGZhbHNlKTtcbiAgdmlzaWJsZVRyYW5zaXRpb25FbmRJbnRlcm5hbCA9IG5ldyBTdWJqZWN0PEFycmF5PG51bWJlcj4+KCk7XG4gIEBPdXRwdXQoKSB2aXNpYmxlVHJhbnNpdGlvbkVuZDogT2JzZXJ2YWJsZTxBcnJheTxudW1iZXI+PiA9IHRoaXMudmlzaWJsZVRyYW5zaXRpb25FbmRJbnRlcm5hbC5hc09ic2VydmFibGUoKS5waXBlKGRlYm91bmNlVGltZSgyMCkpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudmVydGljYWwnKSBnZXQgc3R5bGVGbGV4RGlyZWN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUuZmxleC1kaXJlY3Rpb24nKSBnZXQgc3R5bGVGbGV4RGlyZWN0aW9uU3R5bGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCcgPyAncm93JyA6ICdjb2x1bW4nO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5ub3RyYW5zaXRpb24nKSBnZXQgZHJhZ2dpbmcoKSB7XG4gICAgLy8gcHJldmVudCBhbmltYXRpb24gb2YgYXJlYXMgd2hlbiB2aXNpYmxlVHJhbnNpdGlvbiBpcyBmYWxzZSwgb3IgcmVzaXppbmdcbiAgICByZXR1cm4gIXRoaXMudmlzaWJsZVRyYW5zaXRpb24gfHwgdGhpcy5pc0RyYWdnaW5nO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpIGdldCBzdHlsZVdpZHRoKCkge1xuICAgIHJldHVybiAodGhpcy53aWR0aCAmJiAhaXNOYU4odGhpcy53aWR0aCkgJiYgdGhpcy53aWR0aCA+IDApID8gdGhpcy53aWR0aCArICdweCcgOiAnMTAwJSc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpIGdldCBzdHlsZUhlaWdodCgpIHtcbiAgICByZXR1cm4gKHRoaXMuaGVpZ2h0ICYmICFpc05hTih0aGlzLmhlaWdodCkgJiYgdGhpcy5oZWlnaHQgPiAwKSA/IHRoaXMuaGVpZ2h0ICsgJ3B4JyA6ICcxMDAlJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHZpc2libGVBcmVhcygpOiBJQXJlYURhdGFbXSB7XG4gICAgcmV0dXJuIHRoaXMuYXJlYXMuZmlsdGVyKGEgPT4gYS5jb21wb25lbnQudmlzaWJsZSk7XG4gIH1cblxuICBwcml2YXRlIGdldCBuYkd1dHRlcnMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy52aXNpYmxlQXJlYXMubGVuZ3RoIC0gMTtcbiAgfVxuXG4gIHB1YmxpYyBhcmVhczogQXJyYXk8SUFyZWFEYXRhPiA9IFtdO1xuICBwcml2YXRlIG1pblBlcmNlbnQgPSA1O1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRyYWdnaW5nJylcbiAgaXNEcmFnZ2luZyA9IGZhbHNlO1xuICBwcml2YXRlIGNvbnRhaW5lclNpemUgPSAwO1xuICBwcml2YXRlIGFyZWFBU2l6ZSA9IDA7XG4gIHByaXZhdGUgYXJlYUJTaXplID0gMDtcbiAgcHJpdmF0ZSBkaXJlY3Rpb25JbmRleCA9IDE7XG4gIHByaXZhdGUgZXZlbnRzRHJhZ0ZjdDogQXJyYXk8RnVuY3Rpb24+ID0gW107XG5cbiAgcHJpdmF0ZSBfY2FjaGVMYXlvdXQ6IGFueSA9IGZhbHNlO1xuICBwcml2YXRlIF9hZnRlclZpZXdJbml0ID0gZmFsc2U7XG5cbiAgQElucHV0KCkgYXBwbHlDYWNoZUxheW91dCA9IHRydWU7XG5cbiAgQElucHV0KCkgc2V0IGNhY2hlTGF5b3V0KHZhbDogYW55KSB7XG4gICAgaWYgKHRoaXMuYXBwbHlDYWNoZUxheW91dCkge1xuICAgICAgKHZhbCAmJiB2YWwuc3Vic2NyaWJlID8gdmFsIDogb2JzZXJ2YWJsZU9mKHZhbCkpXG4gICAgICAgIC5zdWJzY3JpYmUoY2FjaGVMYXlvdXQgPT4ge1xuICAgICAgICAgIHRoaXMuX2NhY2hlTGF5b3V0ID0gY2FjaGVMYXlvdXQ7XG4gICAgICAgICAgdGhpcy51cGRhdGVMYXlvdXQoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGNhY2hlTGF5b3V0KCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2NhY2hlTGF5b3V0O1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICAgICAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBsYXlvdXRTZXJ2aWNlOiBMYXlvdXRTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIkLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkJCkpLnN1YnNjcmliZSgodXNlcjogRW9Vc2VyKSA9PiB7XG4gICAgICB0aGlzLmRpcmVjdGlvbkluZGV4ID0gKHVzZXIudWlEaXJlY3Rpb24gPT09ICdydGwnKSA/IC0xIDogMTtcbiAgICB9KTtcbiAgfVxuXG4gIHRvZ2dsZURpcmVjdGlvbigpe1xuICAgIGlmKHRoaXMuc3dpdGNoYWJsZSl7XG4gICAgICB0aGlzLmRpcmVjdGlvbiA9IHRoaXMuZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCcgPyAndmVydGljYWwnIDogJ2hvcml6b250YWwnXG4gICAgfVxuICB9XG5cbiAgdXBkYXRlTGF5b3V0KCkge1xuICAgIGlmICh0aGlzLl9hZnRlclZpZXdJbml0ICYmIHRoaXMuY2FjaGVMYXlvdXQpIHtcbiAgICAgIHRoaXMubGF5b3V0U2VydmljZS5nZXRMYXlvdXQoYGVvLnNwbGl0LmxheW91dC4ke3RoaXMuY2FjaGVMYXlvdXR9YClcbiAgICAgICAgLnN1YnNjcmliZShsYXlvdXQgPT4ge1xuICAgICAgICAgIChsYXlvdXQgfHwgW10pLmZvckVhY2goKGFyZWEpID0+IHtcbiAgICAgICAgICAgIGlmIChhcmVhICYmIHRoaXMuYXJlYXMubGVuZ3RoID4gYXJlYS5pbmRleCkge1xuICAgICAgICAgICAgICB0aGlzLmFyZWFzW2FyZWEuaW5kZXhdLnNpemUgPSBhcmVhLnNpemU7XG4gICAgICAgICAgICAgIHRoaXMuYXJlYXNbYXJlYS5pbmRleF0uc2l6ZVVzZXIgPSBhcmVhLnNpemU7XG4gICAgICAgICAgICAgIHRoaXMuYXJlYXNbYXJlYS5pbmRleF0uY29tcG9uZW50LnZpc2libGUgPSBhcmVhLnZpc2libGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnZpc2liaWxpdHlVcGRhdGUoKTtcbiAgICAgICAgICB0aGlzLnJlZnJlc2hTdHlsZVNpemVzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLl9hZnRlclZpZXdJbml0ID0gdHJ1ZTtcbiAgICB0aGlzLnVwZGF0ZUxheW91dCgpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1snZ3V0dGVyU2l6ZSddIHx8IGNoYW5nZXNbJ2Rpc2FibGVkJ10pIHtcbiAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhZGRBcmVhKGNvbXBvbmVudDogU3BsaXRBcmVhQ29tcG9uZW50LCBvcmRlclVzZXI6IG51bWJlciB8IG51bGwsIHNpemVVc2VyOiBudW1iZXIgfCBudWxsLCBtaW5QaXhlbDogbnVtYmVyKSB7XG4gICAgdGhpcy5hcmVhcy5wdXNoKHtcbiAgICAgIGNvbXBvbmVudCxcbiAgICAgIG9yZGVyVXNlcixcbiAgICAgIG9yZGVyOiAtMSxcbiAgICAgIHNpemVVc2VyLFxuICAgICAgc2l6ZTogLTEsXG4gICAgICBtaW5QaXhlbFxuICAgIH0pO1xuXG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQXJlYShjb21wb25lbnQ6IFNwbGl0QXJlYUNvbXBvbmVudCwgb3JkZXJVc2VyOiBudW1iZXIgfCBudWxsLCBzaXplVXNlcjogbnVtYmVyIHwgbnVsbCwgbWluUGl4ZWw6IG51bWJlcikge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmFyZWFzLmZpbmQoYSA9PiBhLmNvbXBvbmVudCA9PT0gY29tcG9uZW50KTtcblxuICAgIGlmIChpdGVtKSB7XG4gICAgICBpdGVtLm9yZGVyVXNlciA9IG9yZGVyVXNlcjtcbiAgICAgIGl0ZW0uc2l6ZVVzZXIgPSBzaXplVXNlcjtcbiAgICAgIGl0ZW0ubWluUGl4ZWwgPSBtaW5QaXhlbDtcblxuICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlbW92ZUFyZWEoYXJlYTogU3BsaXRBcmVhQ29tcG9uZW50KSB7XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuYXJlYXMuZmluZChhID0+IGEuY29tcG9uZW50ID09PSBhcmVhKTtcblxuICAgIGlmIChpdGVtKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuYXJlYXMuaW5kZXhPZihpdGVtKTtcbiAgICAgIHRoaXMuYXJlYXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIHRoaXMuYXJlYXMuZm9yRWFjaCgoYSwgaSkgPT4gYS5vcmRlciA9IGkgKiAyKTtcblxuICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhpZGVBcmVhKGFyZWE6IFNwbGl0QXJlYUNvbXBvbmVudCkge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmFyZWFzLmZpbmQoYSA9PiBhLmNvbXBvbmVudCA9PT0gYXJlYSk7XG5cbiAgICBpZiAoaXRlbSkge1xuICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgICB0aGlzLnVwZGF0ZUxheW91dENhY2hlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNob3dBcmVhKGFyZWE6IFNwbGl0QXJlYUNvbXBvbmVudCkge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmFyZWFzLmZpbmQoYSA9PiBhLmNvbXBvbmVudCA9PT0gYXJlYSk7XG5cbiAgICBpZiAoaXRlbSkge1xuICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgICB0aGlzLnVwZGF0ZUxheW91dENhY2hlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzTGFzdFZpc2libGVBcmVhKGFyZWE6IElBcmVhRGF0YSkge1xuICAgIGNvbnN0IHZpc2libGVBcmVhcyA9IHRoaXMudmlzaWJsZUFyZWFzO1xuICAgIHJldHVybiB2aXNpYmxlQXJlYXMubGVuZ3RoID4gMCA/IGFyZWEgPT09IHZpc2libGVBcmVhc1t2aXNpYmxlQXJlYXMubGVuZ3RoIC0gMV0gOiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgcmVmcmVzaCgpIHtcbiAgICB0aGlzLnN0b3BEcmFnZ2luZygpO1xuXG4gICAgY29uc3QgdmlzaWJsZUFyZWFzID0gdGhpcy52aXNpYmxlQXJlYXM7XG5cbiAgICAvLyBPUkRFUlM6IFNldCBjc3MgJ29yZGVyJyBwcm9wZXJ0eSBkZXBlbmRpbmcgb24gdXNlciBpbnB1dCBvciBhZGRlZCBvcmRlclxuICAgIGNvbnN0IG5iQ29ycmVjdE9yZGVyID0gdGhpcy5hcmVhcy5maWx0ZXIoYSA9PiBhLm9yZGVyVXNlciAhPT0gbnVsbCAmJiAhaXNOYU4oYS5vcmRlclVzZXIpKS5sZW5ndGg7XG4gICAgaWYgKG5iQ29ycmVjdE9yZGVyID09PSB0aGlzLmFyZWFzLmxlbmd0aCkge1xuICAgICAgdGhpcy5hcmVhcy5zb3J0KChhLCBiKSA9PiArYS5vcmRlclVzZXIgLSArYi5vcmRlclVzZXIpO1xuICAgIH1cblxuICAgIHRoaXMuYXJlYXMuZm9yRWFjaCgoYSwgaSkgPT4ge1xuICAgICAgYS5vcmRlciA9IGkgKiAyO1xuICAgICAgYS5jb21wb25lbnQuc2V0U3R5bGUoJ29yZGVyJywgYS5vcmRlcik7XG4gICAgfSk7XG5cbiAgICAvLyBTSVpFUzogU2V0IGNzcyAnZmxleC1iYXNpcycgcHJvcGVydHkgZGVwZW5kaW5nIG9uIHVzZXIgaW5wdXQgb3IgZXF1YWwgc2l6ZXNcbiAgICBjb25zdCBuYkNvcnJlY3RTaXplID0gcyA9PiBzICE9PSBudWxsICYmICFpc05hTihzKSAmJiBzID49IHRoaXMubWluUGVyY2VudCA/IE51bWJlcihzKSA6IE51bWJlcigoMTAwIC8gdmlzaWJsZUFyZWFzLmxlbmd0aCkudG9GaXhlZCgzKSk7XG4gICAgY29uc3QgdG90YWxTaXplID0gdmlzaWJsZUFyZWFzLm1hcChhID0+IGEuc2l6ZVVzZXIpLnJlZHVjZSgoYWNjLCBzKSA9PiBhY2MgKyBuYkNvcnJlY3RTaXplKHMpLCAwKTtcblxuICAgIHZpc2libGVBcmVhcy5mb3JFYWNoKGEgPT4gYS5zaXplID0gbmJDb3JyZWN0U2l6ZShhLnNpemVVc2VyKSk7XG5cbiAgICBpZiAoTWF0aC5yb3VuZCh0b3RhbFNpemUpICE9PSAxMDAgJiYgdmlzaWJsZUFyZWFzLmxlbmd0aCkge1xuICAgICAgY29uc3QgbGFzdCA9IHZpc2libGVBcmVhc1t2aXNpYmxlQXJlYXMubGVuZ3RoIC0gMV07XG4gICAgICBsYXN0LnNpemUgPSBsYXN0LnNpemUgLSB0b3RhbFNpemUgKyAxMDA7XG4gICAgfVxuXG4gICAgdGhpcy5yZWZyZXNoU3R5bGVTaXplcygpO1xuICAgIHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIHJlZnJlc2hTdHlsZVNpemVzKCkge1xuICAgIC8vdGhpcy5fbmdab25lLnJ1bigoKSA9PiB7XG4gICAgY29uc3QgdmlzaWJsZUFyZWFzID0gdGhpcy52aXNpYmxlQXJlYXM7XG5cbiAgICBjb25zdCBmID0gdGhpcy5ndXR0ZXJTaXplICogdGhpcy5uYkd1dHRlcnMgLyB2aXNpYmxlQXJlYXMubGVuZ3RoO1xuICAgIHZpc2libGVBcmVhcy5mb3JFYWNoKGEgPT4gYS5jb21wb25lbnQuc2V0U3R5bGUoJ2ZsZXgtYmFzaXMnLCBgY2FsYyggJHthLnNpemV9JSAtICR7Zn1weCApYCkpO1xuICAgIC8vfSk7XG4gICAgLy99KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGFydERyYWdnaW5nKHN0YXJ0RXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50LCBndXR0ZXJPcmRlcjogbnVtYmVyKSB7XG4gICAgc3RhcnRFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBhcmVhQSA9IHRoaXMudmlzaWJsZUFyZWFzLmZpbHRlcihhID0+IGEub3JkZXIgPCBndXR0ZXJPcmRlcikucG9wKCk7XG4gICAgY29uc3QgYXJlYUIgPSB0aGlzLnZpc2libGVBcmVhcy5maWx0ZXIoYSA9PiBhLm9yZGVyID4gZ3V0dGVyT3JkZXIpWzBdO1xuICAgIGlmICghYXJlYUEgfHwgIWFyZWFCKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcHJvcCA9ICh0aGlzLmRpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnKSA/ICdvZmZzZXRXaWR0aCcgOiAnb2Zmc2V0SGVpZ2h0JztcbiAgICB0aGlzLmNvbnRhaW5lclNpemUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudFtwcm9wXTtcbiAgICB0aGlzLmFyZWFBU2l6ZSA9IHRoaXMuY29udGFpbmVyU2l6ZSAqIGFyZWFBLnNpemUgLyAxMDA7XG4gICAgdGhpcy5hcmVhQlNpemUgPSB0aGlzLmNvbnRhaW5lclNpemUgKiBhcmVhQi5zaXplIC8gMTAwO1xuXG4gICAgbGV0IHN0YXJ0OiBQb2ludDtcbiAgICBpZiAoc3RhcnRFdmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQpIHtcbiAgICAgIHN0YXJ0ID0ge1xuICAgICAgICB4OiBzdGFydEV2ZW50LnNjcmVlblgsXG4gICAgICAgIHk6IHN0YXJ0RXZlbnQuc2NyZWVuWVxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHN0YXJ0RXZlbnQgaW5zdGFuY2VvZiBUb3VjaEV2ZW50KSB7XG4gICAgICBzdGFydCA9IHtcbiAgICAgICAgeDogc3RhcnRFdmVudC50b3VjaGVzWzBdLnNjcmVlblgsXG4gICAgICAgIHk6IHN0YXJ0RXZlbnQudG91Y2hlc1swXS5zY3JlZW5ZXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG5cbiAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoXyA9PiB7XG4gICAgICB0aGlzLmV2ZW50c0RyYWdGY3QucHVzaCh0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnbW91c2Vtb3ZlJywgZSA9PiB0aGlzLmRyYWdFdmVudChlLCBzdGFydCwgYXJlYUEsIGFyZWFCKSkpO1xuICAgICAgdGhpcy5ldmVudHNEcmFnRmN0LnB1c2godGhpcy5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ3RvdWNobW92ZScsIGUgPT4gdGhpcy5kcmFnRXZlbnQoZSwgc3RhcnQsIGFyZWFBLCBhcmVhQikpKTtcbiAgICAgIHRoaXMuZXZlbnRzRHJhZ0ZjdC5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdtb3VzZXVwJywgZSA9PiB0aGlzLnN0b3BEcmFnZ2luZygpKSk7XG4gICAgICB0aGlzLmV2ZW50c0RyYWdGY3QucHVzaCh0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAndG91Y2hlbmQnLCBlID0+IHRoaXMuc3RvcERyYWdnaW5nKCkpKTtcbiAgICAgIHRoaXMuZXZlbnRzRHJhZ0ZjdC5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICd0b3VjaGNhbmNlbCcsIGUgPT4gdGhpcy5zdG9wRHJhZ2dpbmcoKSkpO1xuICAgIH0pO1xuXG4gICAgYXJlYUEuY29tcG9uZW50LmxvY2tFdmVudHMoKTtcbiAgICBhcmVhQi5jb21wb25lbnQubG9ja0V2ZW50cygpO1xuXG4gICAgdGhpcy5pc0RyYWdnaW5nID0gdHJ1ZTtcbiAgICB0aGlzLm5vdGlmeSgnc3RhcnQnKTtcbiAgfVxuXG4gIHByaXZhdGUgZHJhZ0V2ZW50KGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCwgc3RhcnQ6IFBvaW50LCBhcmVhQTogSUFyZWFEYXRhLCBhcmVhQjogSUFyZWFEYXRhKSB7XG4gICAgaWYgKCF0aGlzLmlzRHJhZ2dpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgZW5kOiBQb2ludDtcbiAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBNb3VzZUV2ZW50KSB7XG4gICAgICBlbmQgPSB7XG4gICAgICAgIHg6IGV2ZW50LnNjcmVlblgsXG4gICAgICAgIHk6IGV2ZW50LnNjcmVlbllcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIFRvdWNoRXZlbnQpIHtcbiAgICAgIGVuZCA9IHtcbiAgICAgICAgeDogZXZlbnQudG91Y2hlc1swXS5zY3JlZW5YLFxuICAgICAgICB5OiBldmVudC50b3VjaGVzWzBdLnNjcmVlbllcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmRyYWcoc3RhcnQsIGVuZCwgYXJlYUEsIGFyZWFCKTtcbiAgfVxuXG4gIHByaXZhdGUgZHJhZyhzdGFydDogUG9pbnQsIGVuZDogUG9pbnQsIGFyZWFBOiBJQXJlYURhdGEsIGFyZWFCOiBJQXJlYURhdGEpIHtcbiAgICBjb25zdCBvZmZzZXRQaXhlbCA9ICh0aGlzLmRpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnKSA/IChzdGFydC54IC0gZW5kLngpIDogKHN0YXJ0LnkgLSBlbmQueSk7XG5cbiAgICBjb25zdCBuZXdTaXplUGl4ZWxBID0gdGhpcy5hcmVhQVNpemUgLSBvZmZzZXRQaXhlbCAqIHRoaXMuZGlyZWN0aW9uSW5kZXg7XG4gICAgY29uc3QgbmV3U2l6ZVBpeGVsQiA9IHRoaXMuYXJlYUJTaXplICsgb2Zmc2V0UGl4ZWwgKiB0aGlzLmRpcmVjdGlvbkluZGV4O1xuXG4gICAgaWYgKG5ld1NpemVQaXhlbEEgPD0gYXJlYUEubWluUGl4ZWwgfHwgbmV3U2l6ZVBpeGVsQiA8IGFyZWFCLm1pblBpeGVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IG5ld1NpemVQZXJjZW50QSA9IG5ld1NpemVQaXhlbEEgLyB0aGlzLmNvbnRhaW5lclNpemUgKiAxMDA7XG4gICAgbGV0IG5ld1NpemVQZXJjZW50QiA9IG5ld1NpemVQaXhlbEIgLyB0aGlzLmNvbnRhaW5lclNpemUgKiAxMDA7XG5cbiAgICBpZiAobmV3U2l6ZVBlcmNlbnRBIDw9IHRoaXMubWluUGVyY2VudCkge1xuICAgICAgbmV3U2l6ZVBlcmNlbnRBID0gdGhpcy5taW5QZXJjZW50O1xuICAgICAgbmV3U2l6ZVBlcmNlbnRCID0gYXJlYUEuc2l6ZSArIGFyZWFCLnNpemUgLSB0aGlzLm1pblBlcmNlbnQ7XG4gICAgfSBlbHNlIGlmIChuZXdTaXplUGVyY2VudEIgPD0gdGhpcy5taW5QZXJjZW50KSB7XG4gICAgICBuZXdTaXplUGVyY2VudEIgPSB0aGlzLm1pblBlcmNlbnQ7XG4gICAgICBuZXdTaXplUGVyY2VudEEgPSBhcmVhQS5zaXplICsgYXJlYUIuc2l6ZSAtIHRoaXMubWluUGVyY2VudDtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3U2l6ZVBlcmNlbnRBID0gTnVtYmVyKG5ld1NpemVQZXJjZW50QS50b0ZpeGVkKDMpKTtcbiAgICAgIG5ld1NpemVQZXJjZW50QiA9IE51bWJlcigoYXJlYUEuc2l6ZSArIGFyZWFCLnNpemUgLSBuZXdTaXplUGVyY2VudEEpLnRvRml4ZWQoMykpO1xuICAgIH1cblxuICAgIGFyZWFBLnNpemUgPSBuZXdTaXplUGVyY2VudEE7XG4gICAgYXJlYUIuc2l6ZSA9IG5ld1NpemVQZXJjZW50QjtcbiAgICBpZiAodGhpcy5hcmVhcy5sZW5ndGggPT09IHRoaXMudmlzaWJsZUFyZWFzLmxlbmd0aCkge1xuICAgICAgYXJlYUEuc2l6ZVVzZXIgPSBuZXdTaXplUGVyY2VudEE7XG4gICAgICBhcmVhQi5zaXplVXNlciA9IG5ld1NpemVQZXJjZW50QjtcbiAgICB9XG5cbiAgICB0aGlzLnJlZnJlc2hTdHlsZVNpemVzKCk7XG4gICAgdGhpcy5ub3RpZnkoJ3Byb2dyZXNzJyk7XG4gIH1cblxuICBwcml2YXRlIHN0b3BEcmFnZ2luZygpIHtcbiAgICBpZiAoIXRoaXMuaXNEcmFnZ2luZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYXJlYXMuZm9yRWFjaChhID0+IGEuY29tcG9uZW50LnVubG9ja0V2ZW50cygpKTtcblxuICAgIHdoaWxlICh0aGlzLmV2ZW50c0RyYWdGY3QubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZmN0ID0gdGhpcy5ldmVudHNEcmFnRmN0LnBvcCgpO1xuICAgICAgaWYgKGZjdCkge1xuICAgICAgICBmY3QoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmNvbnRhaW5lclNpemUgPSAwO1xuICAgIHRoaXMuYXJlYUFTaXplID0gMDtcbiAgICB0aGlzLmFyZWFCU2l6ZSA9IDA7XG5cbiAgICB0aGlzLnVwZGF0ZUxheW91dENhY2hlKCk7XG5cbiAgICB0aGlzLmlzRHJhZ2dpbmcgPSBmYWxzZTtcbiAgICB0aGlzLm5vdGlmeSgnZW5kJyk7XG4gIH1cblxuICBub3RpZnkodHlwZTogc3RyaW5nKSB7XG4gICAgY29uc3QgZGF0YTogQXJyYXk8bnVtYmVyPiA9IHRoaXMudmlzaWJsZUFyZWFzLm1hcChhID0+IGEuc2l6ZSk7XG5cbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ3N0YXJ0JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuZHJhZ1N0YXJ0LmVtaXQoZGF0YSk7XG5cbiAgICAgIGNhc2UgJ3Byb2dyZXNzJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuZHJhZ1Byb2dyZXNzLmVtaXQoZGF0YSk7XG5cbiAgICAgIGNhc2UgJ2VuZCc6XG4gICAgICAgIHJldHVybiB0aGlzLmRyYWdFbmQuZW1pdChkYXRhKTtcblxuICAgICAgY2FzZSAndmlzaWJsZVRyYW5zaXRpb25FbmQnOlxuICAgICAgICByZXR1cm4gdGhpcy52aXNpYmxlVHJhbnNpdGlvbkVuZEludGVybmFsLm5leHQoZGF0YSk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlTGF5b3V0Q2FjaGUoKSB7ICAgIFxuICAgIGlmICh0aGlzLmNhY2hlTGF5b3V0KSB7XG4gICAgICBsZXQgbGF5b3V0ID0gdGhpcy5hcmVhcy5tYXAoKGEsIGkpID0+ICh7aW5kZXg6IGksIHNpemU6IGEuc2l6ZSwgdmlzaWJsZTogYS5jb21wb25lbnQudmlzaWJsZX0pKTtcbiAgICAgIHRoaXMubGF5b3V0U2VydmljZS5jYWNoZUxheW91dChgZW8uc3BsaXQubGF5b3V0LiR7dGhpcy5jYWNoZUxheW91dH1gLCBsYXlvdXQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN0b3BEcmFnZ2luZygpO1xuICB9XG5cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtYXJlYSBbbmdGb3JPZl09XCJhcmVhc1wiIGxldC1pbmRleD1cImluZGV4XCIgbGV0LWxhc3Q9XCJsYXN0XCI+XG4gIDxkaXYgZW9TcGxpdEd1dHRlciAqbmdJZj1cImxhc3QgPT09IGZhbHNlICYmIGFyZWEuY29tcG9uZW50LnZpc2libGUgPT09IHRydWUgJiYgIWlzTGFzdFZpc2libGVBcmVhKGFyZWEpXCJcbiAgICAgICAgICAgICAgICBbb3JkZXJdPVwiaW5kZXgqMisxXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJndXR0ZXJDb2xvciA/IGd1dHRlckNvbG9yIDogJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgICAgICAgICAgW2RpcmVjdGlvbl09XCJkaXJlY3Rpb25cIlxuICAgICAgICAgICAgICAgIFtzaXplXT1cImd1dHRlclNpemVcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJzdGFydERyYWdnaW5nKCRldmVudCwgaW5kZXgqMisxKVwiXG4gICAgICAgICAgICAgICAgKGRibGNsaWNrKT1cInRvZ2dsZURpcmVjdGlvbigpXCJcbiAgICAgICAgICAgICAgICAodG91Y2hzdGFydCk9XCJzdGFydERyYWdnaW5nKCRldmVudCwgaW5kZXgqMisxKVwiPjwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,131 +0,0 @@
1
- import { Component, HostBinding, HostListener, Input, } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../split/split.component";
4
- export class SplitAreaComponent {
5
- set height(height) {
6
- this._height = height;
7
- }
8
- set order(v) {
9
- this._order = !isNaN(v) ? v : null;
10
- this.split.updateArea(this, this._order, this._size, this._minSizePixel);
11
- }
12
- set size(v) {
13
- this._size = !isNaN(v) ? v : null;
14
- this.split.updateArea(this, this._order, this._size, this._minSizePixel);
15
- }
16
- set minSizePixel(v) {
17
- this._minSizePixel = (!isNaN(v) && v > 0) ? v : 0;
18
- this.minWidth = this._minSizePixel;
19
- this.split.updateArea(this, this._order, this._size, this._minSizePixel);
20
- }
21
- set visible(v) {
22
- this.visibility = v ? 'block' : 'none';
23
- this._visible = this.visibleCls = v;
24
- if (this.visible) {
25
- // this.loaded = true; // loaded after first visualization
26
- this.split.showArea(this);
27
- this.minWidth = this._minSizePixel;
28
- }
29
- else {
30
- this.minWidth = 0;
31
- this.split.hideArea(this);
32
- }
33
- }
34
- get visible() {
35
- return this._visible;
36
- }
37
- constructor(elementRef, renderer, split, viewContainer) {
38
- this.elementRef = elementRef;
39
- this.renderer = renderer;
40
- this.split = split;
41
- this.cache = false;
42
- this._flexGrow = 1;
43
- this._hidden = 'hidden';
44
- this._auto = 'auto';
45
- this._height = 100;
46
- this.minWidth = 0;
47
- this.visibleCls = true;
48
- this._visible = true;
49
- this._order = null;
50
- this._size = null;
51
- this._minSizePixel = 0;
52
- this.visibility = 'block';
53
- this.eventsLockFct = [];
54
- // super(viewContainer);
55
- }
56
- onTransitionEnd(evt) {
57
- // Limit only flex-basis transition to trigger the event
58
- if (evt.propertyName === 'flex-basis') {
59
- this.split.notify('visibleTransitionEnd');
60
- }
61
- }
62
- ngOnInit() {
63
- this.split.addArea(this, this._order, this._size, this._minSizePixel);
64
- }
65
- lockEvents() {
66
- this.eventsLockFct.push(this.renderer.listen(this.elementRef.nativeElement, 'selectstart', e => false));
67
- this.eventsLockFct.push(this.renderer.listen(this.elementRef.nativeElement, 'dragstart', e => false));
68
- }
69
- unlockEvents() {
70
- while (this.eventsLockFct.length > 0) {
71
- const fct = this.eventsLockFct.pop();
72
- if (fct) {
73
- fct();
74
- }
75
- }
76
- }
77
- setStyle(key, value) {
78
- this.renderer.setStyle(this.elementRef.nativeElement, key, value);
79
- }
80
- ngOnDestroy() {
81
- this.split.removeArea(this);
82
- }
83
- }
84
- SplitAreaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SplitAreaComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.SplitComponent }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
85
- SplitAreaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: SplitAreaComponent, selector: "eo-split-area", inputs: { cache: "cache", height: "height", order: "order", size: "size", minSizePixel: "minSizePixel", visible: "visible" }, host: { listeners: { "transitionend": "onTransitionEnd($event)" }, properties: { "style.flex-grow": "this._flexGrow", "style.overflow-x": "this._hidden", "style.overflow-y": "this._auto", "style.height.%": "this._height", "style.min-width.px": "this.minWidth", "class.visible": "this.visibleCls" } }, ngImport: i0, template: `
86
- <ng-content></ng-content>
87
- <!--ng-container *ngIf="contentTemplate">
88
- <ng-container *ngTemplateOutlet="contentTemplate"></ng-container>
89
- </ng-container-->`, isInline: true });
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SplitAreaComponent, decorators: [{
91
- type: Component,
92
- args: [{ selector: 'eo-split-area', template: `
93
- <ng-content></ng-content>
94
- <!--ng-container *ngIf="contentTemplate">
95
- <ng-container *ngTemplateOutlet="contentTemplate"></ng-container>
96
- </ng-container-->` }]
97
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.SplitComponent }, { type: i0.ViewContainerRef }]; }, propDecorators: { cache: [{
98
- type: Input
99
- }], _flexGrow: [{
100
- type: HostBinding,
101
- args: ['style.flex-grow']
102
- }], _hidden: [{
103
- type: HostBinding,
104
- args: ['style.overflow-x']
105
- }], _auto: [{
106
- type: HostBinding,
107
- args: ['style.overflow-y']
108
- }], _height: [{
109
- type: HostBinding,
110
- args: ['style.height.%']
111
- }], minWidth: [{
112
- type: HostBinding,
113
- args: ['style.min-width.px']
114
- }], visibleCls: [{
115
- type: HostBinding,
116
- args: ['class.visible']
117
- }], height: [{
118
- type: Input
119
- }], order: [{
120
- type: Input
121
- }], size: [{
122
- type: Input
123
- }], minSizePixel: [{
124
- type: Input
125
- }], visible: [{
126
- type: Input
127
- }], onTransitionEnd: [{
128
- type: HostListener,
129
- args: ['transitionend', ['$event']]
130
- }] } });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9zcGxpdC9zcGxpdC1hcmVhL3NwbGl0LWFyZWEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEdBS04sTUFBTSxlQUFlLENBQUM7OztBQWF2QixNQUFNLE9BQU8sa0JBQWtCO0lBYTdCLElBQWEsTUFBTSxDQUFDLE1BQWM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDeEIsQ0FBQztJQUdELElBQWEsS0FBSyxDQUFDLENBQVM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUdELElBQWEsSUFBSSxDQUFDLENBQU07UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUdELElBQWEsWUFBWSxDQUFDLENBQVM7UUFFakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMs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ZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTcGxpdENvbXBvbmVudCB9IGZyb20gJy4uL3NwbGl0L3NwbGl0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLXNwbGl0LWFyZWEnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8IS0tbmctY29udGFpbmVyICpuZ0lmPVwiY29udGVudFRlbXBsYXRlXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lci0tPmAsXG4gIHN0eWxlczogW11cbn0pXG5leHBvcnQgY2xhc3MgU3BsaXRBcmVhQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG5ASW5wdXQoKSBjYWNoZSA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUuZmxleC1ncm93JykgX2ZsZXhHcm93ID0gMTtcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5vdmVyZmxvdy14JykgX2hpZGRlbiA9ICdoaWRkZW4nO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm92ZXJmbG93LXknKSBfYXV0byA9ICdhdXRvJztcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQuJScpIF9oZWlnaHQgPSAxMDA7XG4gIEBIb3N0QmluZGluZygnc3R5bGUubWluLXdpZHRoLnB4JykgbWluV2lkdGggPSAwO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudmlzaWJsZScpIHZpc2libGVDbHMgPSB0cnVlO1xuICBwcml2YXRlIF92aXNpYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKSBzZXQgaGVpZ2h0KGhlaWdodDogbnVtYmVyKSB7XG4gICAgdGhpcy5faGVpZ2h0ID0gaGVpZ2h0O1xuICB9XG5cbiAgcHJpdmF0ZSBfb3JkZXI6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBzZXQgb3JkZXIodjogbnVtYmVyKSB7XG4gICAgdGhpcy5fb3JkZXIgPSAhaXNOYU4odikgPyB2IDogbnVsbDtcbiAgICB0aGlzLnNwbGl0LnVwZGF0ZUFyZWEodGhpcywgdGhpcy5fb3JkZXIsIHRoaXMuX3NpemUsIHRoaXMuX21pblNpemVQaXhlbCk7XG4gIH1cblxuICBwcml2YXRlIF9zaXplOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgc2V0IHNpemUodjogYW55KSB7XG4gICAgdGhpcy5fc2l6ZSA9ICFpc05hTih2KSA/IHYgOiBudWxsO1xuICAgIHRoaXMuc3BsaXQudXBkYXRlQXJlYSh0aGlzLCB0aGlzLl9vcmRlciwgdGhpcy5fc2l6ZSwgdGhpcy5fbWluU2l6ZVBpeGVsKTtcbiAgfVxuXG4gIHByaXZhdGUgX21pblNpemVQaXhlbCA9IDA7XG4gIEBJbnB1dCgpIHNldCBtaW5TaXplUGl4ZWwodjogbnVtYmVyKSB7XG5cbiAgICB0aGlzLl9taW5TaXplUGl4ZWwgPSAoIWlzTmFOKHYpICYmIHYgPiAwKSA/IHYgOiAwO1xuICAgIHRoaXMubWluV2lkdGggPSB0aGlzLl9taW5TaXplUGl4ZWw7XG4gICAgdGhpcy5zcGxpdC51cGRhdGVBcmVhKHRoaXMsIHRoaXMuX29yZGVyLCB0aGlzLl9zaXplLCB0aGlzLl9taW5TaXplUGl4ZWwpO1xuICB9XG4gIEBJbnB1dCgpIHNldCB2aXNpYmxlKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnZpc2liaWxpdHkgPSB2ID8gJ2Jsb2NrJyA6ICdub25lJztcbiAgICB0aGlzLl92aXNpYmxlID0gdGhpcy52aXNpYmxlQ2xzID0gdjtcblxuICAgIGlmICh0aGlzLnZpc2libGUpIHtcbiAgICAgIC8vIHRoaXMubG9hZGVkID0gdHJ1ZTsgLy8gbG9hZGVkIGFmdGVyIGZpcnN0IHZpc3VhbGl6YXRpb25cbiAgICAgIHRoaXMuc3BsaXQuc2hvd0FyZWEodGhpcyk7XG4gICAgICB0aGlzLm1pbldpZHRoID0gdGhpcy5fbWluU2l6ZVBpeGVsO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1pbldpZHRoID0gMDtcbiAgICAgIHRoaXMuc3BsaXQuaGlkZUFyZWEodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XG4gIH1cblxuICB2aXNpYmlsaXR5ID0gJ2Jsb2NrJztcblxuICBldmVudHNMb2NrRmN0OiBBcnJheTxGdW5jdGlvbj4gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgc3BsaXQ6IFNwbGl0Q29tcG9uZW50LFxuICAgIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICAvLyBzdXBlcih2aWV3Q29udGFpbmVyKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3RyYW5zaXRpb25lbmQnLCBbJyRldmVudCddKVxuICBvblRyYW5zaXRpb25FbmQoZXZ0OiBUcmFuc2l0aW9uRXZlbnQpIHtcbiAgICAvLyBMaW1pdCBvbmx5IGZsZXgtYmFzaXMgdHJhbnNpdGlvbiB0byB0cmlnZ2VyIHRoZSBldmVudFxuICAgIGlmIChldnQucHJvcGVydHlOYW1lID09PSAnZmxleC1iYXNpcycpIHtcbiAgICAgIHRoaXMuc3BsaXQubm90aWZ5KCd2aXNpYmxlVHJhbnNpdGlvbkVuZCcpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNwbGl0LmFkZEFyZWEodGhpcywgdGhpcy5fb3JkZXIsIHRoaXMuX3NpemUsIHRoaXMuX21pblNpemVQaXhlbCk7XG4gIH1cblxuICBwdWJsaWMgbG9ja0V2ZW50cygpIHtcbiAgICB0aGlzLmV2ZW50c0xvY2tGY3QucHVzaCh0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3NlbGVjdHN0YXJ0JywgZSA9PiBmYWxzZSkpO1xuICAgIHRoaXMuZXZlbnRzTG9ja0ZjdC5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZHJhZ3N0YXJ0JywgZSA9PiBmYWxzZSkpO1xuICB9XG5cbiAgcHVibGljIHVubG9ja0V2ZW50cygpIHtcbiAgICB3aGlsZSAodGhpcy5ldmVudHNMb2NrRmN0Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGZjdCA9IHRoaXMuZXZlbnRzTG9ja0ZjdC5wb3AoKTtcbiAgICAgIGlmIChmY3QpIHtcbiAgICAgICAgZmN0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldFN0eWxlKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwga2V5LCB2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zcGxpdC5yZW1vdmVBcmVhKHRoaXMpO1xuICB9XG5cblxufVxuIl19