@acorex/components 5.2.2 → 5.2.53

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 (661) hide show
  1. package/README.md +2 -23
  2. package/esm2020/lib/accordion/accordion.component.mjs +44 -0
  3. package/esm2020/lib/accordion/accordion.module.mjs +20 -0
  4. package/esm2020/lib/base/base-page.class.mjs +94 -0
  5. package/esm2020/lib/base/components.class.mjs +17 -0
  6. package/esm2020/lib/base/element.class.mjs +294 -0
  7. package/esm2020/lib/base/events.class.mjs +6 -53
  8. package/esm2020/lib/button/button.component.mjs +58 -50
  9. package/esm2020/lib/button/button.module.mjs +11 -23
  10. package/esm2020/lib/calendar/calendar-box/calendar-box.component.mjs +413 -0
  11. package/esm2020/lib/calendar/calendar-box/calendar-box.module.mjs +22 -0
  12. package/esm2020/lib/calendar/scheduler/scheduler-views.property.mjs +54 -0
  13. package/esm2020/lib/calendar/scheduler/scheduler.class.mjs +18 -0
  14. package/esm2020/lib/calendar/scheduler/scheduler.component.mjs +213 -0
  15. package/esm2020/lib/calendar/scheduler/scheduler.module.mjs +68 -0
  16. package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +132 -0
  17. package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +37 -0
  18. package/esm2020/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +47 -0
  19. package/esm2020/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +95 -0
  20. package/esm2020/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +204 -0
  21. package/esm2020/lib/calendar/scheduler/views/scheduler-view.component.mjs +99 -0
  22. package/esm2020/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +77 -0
  23. package/esm2020/lib/checkbox/checkbox.component.mjs +88 -31
  24. package/esm2020/lib/checkbox/checkbox.module.mjs +7 -8
  25. package/esm2020/lib/color-picker/color-box/color-box.component.mjs +422 -0
  26. package/esm2020/lib/color-picker/color-picker.component.mjs +82 -0
  27. package/esm2020/lib/color-picker/color-picker.module.mjs +24 -0
  28. package/esm2020/lib/context-menu/context-menu.component.mjs +65 -0
  29. package/esm2020/lib/context-menu/context-menu.directive.mjs +135 -0
  30. package/esm2020/lib/context-menu/context-menu.module.mjs +20 -0
  31. package/esm2020/lib/data-filter/columns/filter-column-date.component.mjs +138 -0
  32. package/esm2020/lib/data-filter/columns/filter-column-number.component.mjs +117 -0
  33. package/esm2020/lib/data-filter/columns/filter-column-selection.component.mjs +74 -0
  34. package/esm2020/lib/data-filter/columns/filter-column-string.component.mjs +117 -0
  35. package/esm2020/lib/data-filter/filter-panel/filter-panel.component.mjs +258 -0
  36. package/esm2020/lib/data-filter/filter.class.mjs +44 -0
  37. package/esm2020/lib/data-filter/filter.module.mjs +90 -0
  38. package/esm2020/lib/data-filter/toolbar/filter-toolbar.component.mjs +166 -0
  39. package/esm2020/lib/data-list/core/data-list.component.mjs +40 -0
  40. package/esm2020/lib/data-list/list/list.component.mjs +124 -0
  41. package/esm2020/lib/data-list/list/list.module.mjs +22 -0
  42. package/esm2020/lib/data-list/list/toolbar-list-view.component.mjs +85 -0
  43. package/esm2020/lib/data-source/datasource.component.mjs +47 -0
  44. package/esm2020/lib/data-source/datasource.module.mjs +18 -0
  45. package/esm2020/lib/data-source/read-param.mjs +5 -0
  46. package/esm2020/lib/date-picker/date-picker.component.mjs +705 -0
  47. package/esm2020/lib/date-picker/date-picker.module.mjs +25 -0
  48. package/esm2020/lib/dialog/dialog.component.mjs +17 -33
  49. package/esm2020/lib/dialog/dialog.module.mjs +10 -15
  50. package/esm2020/lib/dialog/dialog.service.mjs +129 -123
  51. package/esm2020/lib/drawer/content.component.mjs +18 -0
  52. package/esm2020/lib/drawer/drawer-container.component.mjs +25 -72
  53. package/esm2020/lib/drawer/drawer.component.mjs +100 -130
  54. package/esm2020/lib/drawer/drawer.module.mjs +7 -7
  55. package/esm2020/lib/dropdown/dropdown.component.mjs +177 -0
  56. package/esm2020/lib/dropdown/dropdown.module.mjs +17 -15
  57. package/esm2020/lib/fieldset/fieldset.component.mjs +59 -0
  58. package/esm2020/lib/fieldset/fieldset.module.mjs +19 -0
  59. package/esm2020/lib/form-group/form-group.component.mjs +34 -0
  60. package/esm2020/lib/form-group/form-group.module.mjs +21 -0
  61. package/esm2020/lib/label/label.component.mjs +13 -19
  62. package/esm2020/lib/label/label.module.mjs +5 -5
  63. package/esm2020/lib/loading/loading-indicator.component.mjs +17 -0
  64. package/esm2020/lib/loading/loading-panel.component.mjs +44 -0
  65. package/esm2020/lib/loading/loading.module.mjs +12 -26
  66. package/esm2020/lib/loading/loading.service.mjs +14 -123
  67. package/esm2020/lib/menu/menu-item.component.mjs +47 -0
  68. package/esm2020/lib/menu/menu.component.mjs +70 -119
  69. package/esm2020/lib/menu/menu.module.mjs +12 -30
  70. package/esm2020/lib/menu/menu2.component.mjs +96 -0
  71. package/esm2020/lib/number-box/number-box.component.mjs +586 -185
  72. package/esm2020/lib/number-box/number-box.module.mjs +10 -27
  73. package/esm2020/lib/page/content.component.mjs +32 -0
  74. package/esm2020/lib/page/footer.component.mjs +19 -0
  75. package/esm2020/lib/page/page.component.mjs +44 -49
  76. package/esm2020/lib/page/page.module.mjs +13 -10
  77. package/esm2020/lib/panel-box/panel-box.component.mjs +88 -0
  78. package/esm2020/lib/panel-box/panel-box.module.mjs +19 -0
  79. package/esm2020/lib/password-box/password-box.component.mjs +22 -50
  80. package/esm2020/lib/password-box/password-box.module.mjs +9 -21
  81. package/esm2020/lib/popover/custom-cdk-overlay.service.mjs +48 -0
  82. package/esm2020/lib/popover/overlay.service.mjs +87 -0
  83. package/esm2020/lib/popover/popover.component.mjs +83 -218
  84. package/esm2020/lib/popover/popover.module.mjs +5 -5
  85. package/esm2020/lib/popup/popup.component.mjs +112 -88
  86. package/esm2020/lib/popup/popup.module.mjs +14 -14
  87. package/esm2020/lib/popup/popup.service.mjs +20 -22
  88. package/esm2020/lib/progress-bar/progress-bar.component.mjs +12 -27
  89. package/esm2020/lib/progress-bar/progress-bar.module.mjs +6 -6
  90. package/esm2020/lib/property-editor/editors/check-editor/check-editor.mjs +61 -0
  91. package/esm2020/lib/property-editor/editors/check-editor/check.module.mjs +22 -0
  92. package/esm2020/lib/property-editor/editors/color-editor/color.editor.mjs +38 -0
  93. package/esm2020/lib/property-editor/editors/color-editor/color.module.mjs +24 -0
  94. package/esm2020/lib/property-editor/editors/column-editor/column.editor.mjs +115 -0
  95. package/esm2020/lib/property-editor/editors/column-editor/column.module.mjs +32 -0
  96. package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +211 -0
  97. package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +78 -0
  98. package/esm2020/lib/property-editor/editors/date-editor/date.editor.mjs +51 -0
  99. package/esm2020/lib/property-editor/editors/date-editor/date.module.mjs +24 -0
  100. package/esm2020/lib/property-editor/editors/number-editor/number.editor.mjs +63 -0
  101. package/esm2020/lib/property-editor/editors/number-editor/number.module.mjs +24 -0
  102. package/esm2020/lib/property-editor/editors/range-editor/range.editor.mjs +140 -0
  103. package/esm2020/lib/property-editor/editors/range-editor/range.module.mjs +61 -0
  104. package/esm2020/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +72 -0
  105. package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +78 -0
  106. package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +25 -0
  107. package/esm2020/lib/property-editor/editors/selection-editor/selection-editor.mjs +69 -0
  108. package/esm2020/lib/property-editor/editors/selection-editor/selection.module.mjs +22 -0
  109. package/esm2020/lib/property-editor/editors/switch-editor/number.editor.mjs +29 -0
  110. package/esm2020/lib/property-editor/editors/switch-editor/number.module.mjs +25 -0
  111. package/esm2020/lib/property-editor/editors/text-editor/text.editor.mjs +32 -0
  112. package/esm2020/lib/property-editor/editors/text-editor/text.module.mjs +24 -0
  113. package/esm2020/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +32 -0
  114. package/esm2020/lib/property-editor/editors/textarea-editor/textarea.module.mjs +24 -0
  115. package/esm2020/lib/property-editor/editors/time-editor/time.editor.mjs +43 -0
  116. package/esm2020/lib/property-editor/editors/time-editor/time.module.mjs +24 -0
  117. package/esm2020/lib/property-editor/property-editor-renderer.directive.mjs +152 -0
  118. package/esm2020/lib/property-editor/property-editor.class.mjs +101 -0
  119. package/esm2020/lib/property-editor/property-editor.module.mjs +196 -0
  120. package/esm2020/lib/query-builder/query-builder-group.component.mjs +124 -0
  121. package/esm2020/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +171 -0
  122. package/esm2020/lib/query-builder/query-builder-rule.component.mjs +357 -0
  123. package/esm2020/lib/query-builder/query-builder.class.mjs +20 -0
  124. package/esm2020/lib/query-builder/query-builder.component.mjs +82 -0
  125. package/esm2020/lib/query-builder/query-builder.module.mjs +59 -0
  126. package/esm2020/lib/query-builder/query-builder.service.mjs +191 -0
  127. package/esm2020/lib/search-bar/search-bar.component.mjs +235 -0
  128. package/esm2020/lib/search-bar/search-bar.module.mjs +28 -0
  129. package/esm2020/lib/searchbox/searchbox.component.mjs +79 -0
  130. package/esm2020/lib/searchbox/searchbox.module.mjs +24 -0
  131. package/esm2020/lib/selectbox/selectbox.component.mjs +886 -261
  132. package/esm2020/lib/selectbox/selectbox.module.mjs +33 -58
  133. package/esm2020/lib/selectbox/selectbox2.component.mjs +574 -0
  134. package/esm2020/lib/selection-list/selection-list.component.mjs +91 -40
  135. package/esm2020/lib/selection-list/selection-list.module.mjs +7 -10
  136. package/esm2020/lib/switch/switch.component.mjs +41 -23
  137. package/esm2020/lib/switch/switch.module.mjs +6 -7
  138. package/esm2020/lib/tab-page/tab-page-Renderer.component.mjs +71 -0
  139. package/esm2020/lib/tab-page/tab-page-host.component.mjs +116 -0
  140. package/esm2020/lib/tab-page/tab-page.module.mjs +21 -0
  141. package/esm2020/lib/tab-page/tab-page.service.mjs +156 -0
  142. package/esm2020/lib/tab-strip/tab-strip.component.mjs +36 -0
  143. package/esm2020/lib/tab-strip/tab-strip.module.mjs +19 -0
  144. package/esm2020/lib/tab-view/dynamic-tabs.directive.mjs +24 -0
  145. package/esm2020/lib/tab-view/tab-view.component.mjs +105 -0
  146. package/esm2020/lib/tab-view/tab-view.module.mjs +21 -0
  147. package/esm2020/lib/tab-view/tab.component.mjs +30 -0
  148. package/esm2020/lib/textarea/textarea.component.mjs +19 -18
  149. package/esm2020/lib/textarea/textarea.module.mjs +13 -18
  150. package/esm2020/lib/textbox/textbox.component.mjs +35 -23
  151. package/esm2020/lib/textbox/textbox.module.mjs +15 -34
  152. package/esm2020/lib/time-picker/time-picker.component.mjs +943 -0
  153. package/esm2020/lib/time-picker/time-picker.module.mjs +22 -0
  154. package/esm2020/lib/toast/toast-message/toast-message.component.mjs +74 -0
  155. package/esm2020/lib/toast/toast-wrapper/toast-wrapper.component.mjs +13 -0
  156. package/esm2020/lib/toast/toast.module.mjs +12 -13
  157. package/esm2020/lib/toast/toast.service.mjs +27 -97
  158. package/esm2020/lib/toolbar/group-button/toolbar-group-button.component.mjs +78 -0
  159. package/esm2020/lib/toolbar/menu/toolbar-menu.component.mjs +57 -0
  160. package/esm2020/lib/toolbar/search/toolbar-search.component.mjs +54 -0
  161. package/esm2020/lib/toolbar/title/toolbar-title.component.mjs +47 -0
  162. package/esm2020/lib/toolbar/toolbar-item.mjs +6 -0
  163. package/esm2020/lib/toolbar/toolbar.component.mjs +13 -0
  164. package/esm2020/lib/toolbar/toolbar.module.mjs +40 -0
  165. package/esm2020/lib/tooltip/tooltip.directive.mjs +84 -70
  166. package/esm2020/lib/tooltip/tooltip.module.mjs +8 -12
  167. package/esm2020/lib/tree-side-menu/tree-side-menu.component.mjs +646 -0
  168. package/esm2020/lib/tree-side-menu/tree-side-menu.module.mjs +35 -0
  169. package/esm2020/lib/tree-view/tree-view.component.mjs +726 -0
  170. package/esm2020/lib/tree-view/tree-view.module.mjs +22 -0
  171. package/esm2020/lib/upload-file/upload-file.component.mjs +170 -0
  172. package/esm2020/lib/upload-file/upload-file.events.mjs +2 -0
  173. package/esm2020/lib/upload-file/upload-file.module.mjs +24 -0
  174. package/esm2020/lib/validation/validation-form.component.mjs +65 -0
  175. package/esm2020/lib/validation/validation-rule.widget.mjs +25 -27
  176. package/esm2020/lib/validation/validation.class.mjs +1 -1
  177. package/esm2020/lib/validation/validation.component.mjs +89 -0
  178. package/esm2020/lib/validation/validation.module.mjs +12 -10
  179. package/esm2020/public-api.mjs +158 -51
  180. package/fesm2015/acorex-components.mjs +14726 -7264
  181. package/fesm2015/acorex-components.mjs.map +1 -1
  182. package/fesm2020/acorex-components.mjs +14592 -7157
  183. package/fesm2020/acorex-components.mjs.map +1 -1
  184. package/lib/accordion/accordion.component.d.ts +13 -0
  185. package/lib/accordion/accordion.module.d.ts +9 -0
  186. package/lib/base/base-page.class.d.ts +46 -0
  187. package/lib/base/components.class.d.ts +10 -0
  188. package/lib/base/element.class.d.ts +106 -0
  189. package/lib/base/events.class.d.ts +8 -75
  190. package/lib/button/button.component.d.ts +18 -18
  191. package/lib/button/button.module.d.ts +2 -6
  192. package/lib/calendar/calendar-box/calendar-box.component.d.ts +81 -0
  193. package/lib/calendar/calendar-box/calendar-box.module.d.ts +11 -0
  194. package/lib/calendar/scheduler/scheduler-views.property.d.ts +19 -0
  195. package/lib/calendar/scheduler/scheduler.class.d.ts +36 -0
  196. package/lib/calendar/scheduler/scheduler.component.d.ts +39 -0
  197. package/lib/calendar/scheduler/scheduler.module.d.ts +21 -0
  198. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.d.ts +25 -0
  199. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.d.ts +14 -0
  200. package/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.d.ts +16 -0
  201. package/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.d.ts +26 -0
  202. package/lib/calendar/scheduler/views/month/scheduler-month-view.component.d.ts +37 -0
  203. package/lib/calendar/scheduler/views/scheduler-view.component.d.ts +28 -0
  204. package/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.d.ts +24 -0
  205. package/lib/checkbox/checkbox.component.d.ts +27 -8
  206. package/lib/checkbox/checkbox.module.d.ts +1 -2
  207. package/lib/color-picker/color-box/color-box.component.d.ts +25 -0
  208. package/lib/color-picker/color-picker.component.d.ts +30 -0
  209. package/lib/color-picker/color-picker.module.d.ts +13 -0
  210. package/lib/context-menu/context-menu.component.d.ts +22 -0
  211. package/lib/context-menu/context-menu.directive.d.ts +38 -0
  212. package/lib/context-menu/context-menu.module.d.ts +9 -0
  213. package/lib/data-filter/columns/filter-column-date.component.d.ts +22 -0
  214. package/lib/data-filter/columns/filter-column-number.component.d.ts +15 -0
  215. package/lib/data-filter/columns/filter-column-selection.component.d.ts +18 -0
  216. package/lib/data-filter/columns/filter-column-string.component.d.ts +15 -0
  217. package/lib/data-filter/filter-panel/filter-panel.component.d.ts +45 -0
  218. package/lib/data-filter/filter.class.d.ts +40 -0
  219. package/lib/data-filter/filter.module.d.ts +24 -0
  220. package/lib/data-filter/toolbar/filter-toolbar.component.d.ts +25 -0
  221. package/lib/data-list/core/data-list.component.d.ts +15 -0
  222. package/lib/data-list/list/list.component.d.ts +40 -0
  223. package/lib/data-list/list/list.module.d.ts +11 -0
  224. package/lib/data-list/list/toolbar-list-view.component.d.ts +17 -0
  225. package/lib/data-source/datasource.component.d.ts +16 -0
  226. package/lib/data-source/datasource.module.d.ts +7 -0
  227. package/lib/data-source/read-param.d.ts +40 -0
  228. package/lib/date-picker/date-picker.component.d.ts +81 -0
  229. package/lib/date-picker/date-picker.module.d.ts +14 -0
  230. package/lib/dialog/dialog.component.d.ts +10 -11
  231. package/lib/dialog/dialog.module.d.ts +3 -6
  232. package/lib/dialog/dialog.service.d.ts +31 -31
  233. package/lib/{decorators → drawer}/content.component.d.ts +1 -2
  234. package/lib/drawer/drawer-container.component.d.ts +7 -10
  235. package/lib/drawer/drawer.component.d.ts +22 -21
  236. package/lib/drawer/drawer.module.d.ts +2 -2
  237. package/lib/dropdown/dropdown.component.d.ts +38 -0
  238. package/lib/dropdown/dropdown.module.d.ts +7 -7
  239. package/lib/fieldset/fieldset.component.d.ts +11 -0
  240. package/lib/fieldset/fieldset.module.d.ts +8 -0
  241. package/lib/form-group/form-group.component.d.ts +14 -0
  242. package/lib/form-group/form-group.module.d.ts +8 -0
  243. package/lib/label/label.component.d.ts +6 -9
  244. package/lib/loading/loading-indicator.component.d.ts +9 -0
  245. package/lib/loading/loading-panel.component.d.ts +13 -0
  246. package/lib/loading/loading.module.d.ts +5 -8
  247. package/lib/loading/loading.service.d.ts +4 -39
  248. package/lib/menu/menu-item.component.d.ts +18 -0
  249. package/lib/menu/menu.component.d.ts +30 -37
  250. package/lib/menu/menu.module.d.ts +5 -6
  251. package/lib/menu/menu2.component.d.ts +21 -0
  252. package/lib/number-box/number-box.component.d.ts +49 -72
  253. package/lib/number-box/number-box.module.d.ts +3 -6
  254. package/lib/page/content.component.d.ts +8 -0
  255. package/lib/page/{page-footer.component.d.ts → footer.component.d.ts} +1 -3
  256. package/lib/page/page.component.d.ts +9 -7
  257. package/lib/page/page.module.d.ts +6 -3
  258. package/lib/panel-box/panel-box.component.d.ts +19 -0
  259. package/lib/panel-box/panel-box.module.d.ts +8 -0
  260. package/lib/password-box/password-box.component.d.ts +8 -19
  261. package/lib/password-box/password-box.module.d.ts +3 -5
  262. package/lib/{base → popover}/custom-cdk-overlay.service.d.ts +0 -0
  263. package/lib/{base → popover}/overlay.service.d.ts +2 -3
  264. package/lib/popover/popover.component.d.ts +23 -42
  265. package/lib/popup/popup.component.d.ts +26 -32
  266. package/lib/popup/popup.module.d.ts +3 -2
  267. package/lib/popup/popup.service.d.ts +9 -25
  268. package/lib/progress-bar/progress-bar.component.d.ts +4 -15
  269. package/lib/property-editor/editors/check-editor/check-editor.d.ts +19 -0
  270. package/lib/property-editor/editors/check-editor/check.module.d.ts +11 -0
  271. package/lib/property-editor/editors/color-editor/color.editor.d.ts +13 -0
  272. package/lib/property-editor/editors/color-editor/color.module.d.ts +12 -0
  273. package/lib/property-editor/editors/column-editor/column.editor.d.ts +34 -0
  274. package/lib/property-editor/editors/column-editor/column.module.d.ts +20 -0
  275. package/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.d.ts +44 -0
  276. package/lib/property-editor/editors/conditional-color-editor/conditional-color.module.d.ts +19 -0
  277. package/lib/property-editor/editors/date-editor/date.editor.d.ts +28 -0
  278. package/lib/property-editor/editors/date-editor/date.module.d.ts +12 -0
  279. package/lib/property-editor/editors/number-editor/number.editor.d.ts +20 -0
  280. package/lib/property-editor/editors/number-editor/number.module.d.ts +12 -0
  281. package/lib/property-editor/editors/range-editor/range.editor.d.ts +29 -0
  282. package/lib/property-editor/editors/range-editor/range.module.d.ts +18 -0
  283. package/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.d.ts +29 -0
  284. package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +29 -0
  285. package/lib/property-editor/editors/selectbox-editor/selectbox.module.d.ts +14 -0
  286. package/lib/property-editor/editors/selection-editor/selection-editor.d.ts +25 -0
  287. package/lib/property-editor/editors/selection-editor/selection.module.d.ts +11 -0
  288. package/lib/property-editor/editors/switch-editor/number.editor.d.ts +11 -0
  289. package/lib/property-editor/editors/switch-editor/number.module.d.ts +13 -0
  290. package/lib/property-editor/editors/text-editor/text.editor.d.ts +18 -0
  291. package/lib/property-editor/editors/text-editor/text.module.d.ts +12 -0
  292. package/lib/property-editor/editors/textarea-editor/textarea.editor.d.ts +17 -0
  293. package/lib/property-editor/editors/textarea-editor/textarea.module.d.ts +12 -0
  294. package/lib/property-editor/editors/time-editor/time.editor.d.ts +17 -0
  295. package/lib/property-editor/editors/time-editor/time.module.d.ts +12 -0
  296. package/lib/property-editor/property-editor-renderer.directive.d.ts +30 -0
  297. package/lib/property-editor/property-editor.class.d.ts +92 -0
  298. package/lib/property-editor/property-editor.module.d.ts +21 -0
  299. package/lib/query-builder/query-builder-group.component.d.ts +33 -0
  300. package/lib/query-builder/query-builder-popup/query-builder-popup.component.d.ts +35 -0
  301. package/lib/query-builder/query-builder-rule.component.d.ts +45 -0
  302. package/lib/query-builder/query-builder.class.d.ts +45 -0
  303. package/lib/query-builder/query-builder.component.d.ts +27 -0
  304. package/lib/query-builder/query-builder.module.d.ts +22 -0
  305. package/lib/query-builder/query-builder.service.d.ts +18 -0
  306. package/lib/search-bar/search-bar.component.d.ts +50 -0
  307. package/lib/search-bar/search-bar.module.d.ts +17 -0
  308. package/lib/searchbox/searchbox.component.d.ts +22 -0
  309. package/lib/searchbox/searchbox.module.d.ts +13 -0
  310. package/lib/selectbox/selectbox.component.d.ts +112 -70
  311. package/lib/selectbox/selectbox.module.d.ts +9 -14
  312. package/lib/selectbox/selectbox2.component.d.ts +103 -0
  313. package/lib/selection-list/selection-list.component.d.ts +27 -18
  314. package/lib/selection-list/selection-list.module.d.ts +1 -4
  315. package/lib/switch/switch.component.d.ts +17 -9
  316. package/lib/switch/switch.module.d.ts +1 -2
  317. package/lib/tab-page/tab-page-Renderer.component.d.ts +16 -0
  318. package/lib/tab-page/tab-page-host.component.d.ts +25 -0
  319. package/lib/tab-page/tab-page.module.d.ts +10 -0
  320. package/lib/tab-page/tab-page.service.d.ts +30 -0
  321. package/lib/tab-strip/tab-strip.component.d.ts +28 -0
  322. package/lib/tab-strip/tab-strip.module.d.ts +8 -0
  323. package/lib/tab-view/dynamic-tabs.directive.d.ts +16 -0
  324. package/lib/tab-view/tab-view.component.d.ts +26 -0
  325. package/lib/tab-view/tab-view.module.d.ts +10 -0
  326. package/lib/tab-view/tab.component.d.ts +12 -0
  327. package/lib/textarea/textarea.component.d.ts +8 -8
  328. package/lib/textarea/textarea.module.d.ts +4 -5
  329. package/lib/textbox/textbox.component.d.ts +12 -12
  330. package/lib/textbox/textbox.module.d.ts +4 -6
  331. package/lib/time-picker/time-picker.component.d.ts +52 -0
  332. package/lib/time-picker/time-picker.module.d.ts +11 -0
  333. package/lib/toast/toast-message/toast-message.component.d.ts +18 -0
  334. package/lib/toast/toast-wrapper/toast-wrapper.component.d.ts +8 -0
  335. package/lib/toast/toast.module.d.ts +4 -4
  336. package/lib/toast/toast.service.d.ts +13 -13
  337. package/lib/toolbar/group-button/toolbar-group-button.component.d.ts +12 -0
  338. package/lib/toolbar/menu/toolbar-menu.component.d.ts +24 -0
  339. package/lib/toolbar/search/toolbar-search.component.d.ts +16 -0
  340. package/lib/toolbar/title/toolbar-title.component.d.ts +9 -0
  341. package/lib/toolbar/toolbar-item.d.ts +3 -0
  342. package/lib/toolbar/toolbar.component.d.ts +8 -0
  343. package/lib/toolbar/toolbar.module.d.ts +14 -0
  344. package/lib/tooltip/tooltip.directive.d.ts +16 -13
  345. package/lib/tooltip/tooltip.module.d.ts +3 -5
  346. package/lib/tree-side-menu/tree-side-menu.component.d.ts +111 -0
  347. package/lib/tree-side-menu/tree-side-menu.module.d.ts +11 -0
  348. package/lib/tree-view/tree-view.component.d.ts +117 -0
  349. package/lib/tree-view/tree-view.module.d.ts +11 -0
  350. package/lib/upload-file/upload-file.component.d.ts +38 -0
  351. package/lib/upload-file/upload-file.events.d.ts +10 -0
  352. package/lib/upload-file/upload-file.module.d.ts +13 -0
  353. package/lib/validation/validation-form.component.d.ts +19 -0
  354. package/lib/validation/validation-rule.widget.d.ts +8 -10
  355. package/lib/validation/validation.class.d.ts +1 -2
  356. package/lib/validation/validation.component.d.ts +25 -0
  357. package/lib/validation/validation.module.d.ts +5 -3
  358. package/package.json +6 -8
  359. package/public-api.d.ts +155 -49
  360. package/esm2020/lib/action-sheet/action-sheet-item.component.mjs +0 -37
  361. package/esm2020/lib/action-sheet/action-sheet.component.mjs +0 -87
  362. package/esm2020/lib/action-sheet/action-sheet.module.mjs +0 -22
  363. package/esm2020/lib/action-sheet/index.mjs +0 -4
  364. package/esm2020/lib/alert/alert-button.component.mjs +0 -51
  365. package/esm2020/lib/alert/alert-content.component.mjs +0 -21
  366. package/esm2020/lib/alert/alert-footer.component.mjs +0 -27
  367. package/esm2020/lib/alert/alert-suffix.component.mjs +0 -27
  368. package/esm2020/lib/alert/alert-title.component.mjs +0 -23
  369. package/esm2020/lib/alert/alert.component.mjs +0 -123
  370. package/esm2020/lib/alert/alert.module.mjs +0 -44
  371. package/esm2020/lib/alert/index.mjs +0 -8
  372. package/esm2020/lib/avatar/avatar-group.component.mjs +0 -17
  373. package/esm2020/lib/avatar/avatar.component.mjs +0 -42
  374. package/esm2020/lib/avatar/avatar.module.mjs +0 -22
  375. package/esm2020/lib/avatar/index.mjs +0 -4
  376. package/esm2020/lib/badge/badge.component.mjs +0 -28
  377. package/esm2020/lib/badge/badge.module.mjs +0 -21
  378. package/esm2020/lib/badge/index.mjs +0 -3
  379. package/esm2020/lib/base/common.module.mjs +0 -19
  380. package/esm2020/lib/base/custom-cdk-overlay.service.mjs +0 -47
  381. package/esm2020/lib/base/drawing.class.mjs +0 -11
  382. package/esm2020/lib/base/index.mjs +0 -9
  383. package/esm2020/lib/base/infinite-scroll.directive.mjs +0 -63
  384. package/esm2020/lib/base/mixin/base-components.class.mjs +0 -100
  385. package/esm2020/lib/base/mixin/base-menu-mixin.class.mjs +0 -136
  386. package/esm2020/lib/base/mixin/button-mixin.class.mjs +0 -91
  387. package/esm2020/lib/base/mixin/clickable-mixin.class.mjs +0 -24
  388. package/esm2020/lib/base/mixin/color-look-mixing.class.mjs +0 -48
  389. package/esm2020/lib/base/mixin/constratctor.mjs +0 -2
  390. package/esm2020/lib/base/mixin/datalist-component.class.mjs +0 -148
  391. package/esm2020/lib/base/mixin/datalist.class.mjs +0 -3
  392. package/esm2020/lib/base/mixin/dropdown-mixin.class.mjs +0 -99
  393. package/esm2020/lib/base/mixin/index.mjs +0 -3
  394. package/esm2020/lib/base/mixin/interactive-mixin.class.mjs +0 -84
  395. package/esm2020/lib/base/mixin/loading-mixin.class.mjs +0 -18
  396. package/esm2020/lib/base/mixin/mixin.class.mjs +0 -27
  397. package/esm2020/lib/base/mixin/selection-component.class.mjs +0 -181
  398. package/esm2020/lib/base/mixin/sizable-mixin.class.mjs +0 -18
  399. package/esm2020/lib/base/mixin/textbox-mixin.class.mjs +0 -34
  400. package/esm2020/lib/base/mixin/value-mixin.class.mjs +0 -209
  401. package/esm2020/lib/base/overlay.service.mjs +0 -91
  402. package/esm2020/lib/base/responsive.directive.mjs +0 -34
  403. package/esm2020/lib/base/styles.class.mjs +0 -4
  404. package/esm2020/lib/breadcrumbs/breadcrumbs-item.class.mjs +0 -2
  405. package/esm2020/lib/breadcrumbs/breadcrumbs-item.component.mjs +0 -20
  406. package/esm2020/lib/breadcrumbs/breadcrumbs.component.mjs +0 -18
  407. package/esm2020/lib/breadcrumbs/breadcrumbs.module.mjs +0 -20
  408. package/esm2020/lib/breadcrumbs/index.mjs +0 -5
  409. package/esm2020/lib/button/button-group.component.mjs +0 -124
  410. package/esm2020/lib/button/button-item.class.mjs +0 -2
  411. package/esm2020/lib/button/button-item.component.mjs +0 -80
  412. package/esm2020/lib/button/index.mjs +0 -6
  413. package/esm2020/lib/calendar/calendar.class.mjs +0 -126
  414. package/esm2020/lib/calendar/calendar.component.mjs +0 -332
  415. package/esm2020/lib/calendar/calendar.module.mjs +0 -26
  416. package/esm2020/lib/calendar/index.mjs +0 -3
  417. package/esm2020/lib/carousel/carousel-arrows.component.mjs +0 -56
  418. package/esm2020/lib/carousel/carousel-item.component.mjs +0 -21
  419. package/esm2020/lib/carousel/carousel-pager.component.mjs +0 -74
  420. package/esm2020/lib/carousel/carousel-splidejs.class.mjs +0 -91
  421. package/esm2020/lib/carousel/carousel.class.mjs +0 -10
  422. package/esm2020/lib/carousel/carousel.component.mjs +0 -438
  423. package/esm2020/lib/carousel/carousel.module.mjs +0 -24
  424. package/esm2020/lib/carousel/index.mjs +0 -7
  425. package/esm2020/lib/checkbox/index.mjs +0 -3
  426. package/esm2020/lib/collapse/collapse-group.component.mjs +0 -50
  427. package/esm2020/lib/collapse/collapse.component.mjs +0 -42
  428. package/esm2020/lib/collapse/collapse.module.mjs +0 -20
  429. package/esm2020/lib/collapse/index.mjs +0 -4
  430. package/esm2020/lib/datalist/datalist.component.mjs +0 -75
  431. package/esm2020/lib/datalist/datalist.module.mjs +0 -24
  432. package/esm2020/lib/datalist/index.mjs +0 -3
  433. package/esm2020/lib/datepicker/datepicker.component.mjs +0 -185
  434. package/esm2020/lib/datepicker/datepicker.module.mjs +0 -47
  435. package/esm2020/lib/datepicker/index.mjs +0 -3
  436. package/esm2020/lib/decorators/addon.component.mjs +0 -20
  437. package/esm2020/lib/decorators/content.component.mjs +0 -26
  438. package/esm2020/lib/decorators/decorators.module.mjs +0 -25
  439. package/esm2020/lib/decorators/header.component.mjs +0 -26
  440. package/esm2020/lib/decorators/index.mjs +0 -8
  441. package/esm2020/lib/decorators/prefix.component.mjs +0 -26
  442. package/esm2020/lib/decorators/suffix.component.mjs +0 -26
  443. package/esm2020/lib/dialog/dialog.class.mjs +0 -2
  444. package/esm2020/lib/dialog/index.mjs +0 -5
  445. package/esm2020/lib/drawer/drawer-content.component.mjs +0 -27
  446. package/esm2020/lib/drawer/index.mjs +0 -5
  447. package/esm2020/lib/dropdown/dropdown-panel.component.mjs +0 -80
  448. package/esm2020/lib/dropdown/index.mjs +0 -3
  449. package/esm2020/lib/form/form-field.component.mjs +0 -20
  450. package/esm2020/lib/form/form-field.module.mjs +0 -21
  451. package/esm2020/lib/form/form-hint.component.mjs +0 -20
  452. package/esm2020/lib/form/form.component.mjs +0 -59
  453. package/esm2020/lib/form/index.mjs +0 -5
  454. package/esm2020/lib/icon/icon.component.mjs +0 -28
  455. package/esm2020/lib/icon/icon.module.mjs +0 -21
  456. package/esm2020/lib/icon/index.mjs +0 -3
  457. package/esm2020/lib/input-mask/index.mjs +0 -3
  458. package/esm2020/lib/input-mask/input-mask.component.mjs +0 -56
  459. package/esm2020/lib/input-mask/input-mask.module.mjs +0 -24
  460. package/esm2020/lib/label/index.mjs +0 -3
  461. package/esm2020/lib/loading/index.mjs +0 -6
  462. package/esm2020/lib/loading/loading-spinner.component.mjs +0 -35
  463. package/esm2020/lib/loading/loading.component.mjs +0 -62
  464. package/esm2020/lib/loading/loading.directive.mjs +0 -67
  465. package/esm2020/lib/menu/index.mjs +0 -3
  466. package/esm2020/lib/number-box/index.mjs +0 -3
  467. package/esm2020/lib/page/base-page.class.mjs +0 -86
  468. package/esm2020/lib/page/index.mjs +0 -6
  469. package/esm2020/lib/page/page-footer.component.mjs +0 -28
  470. package/esm2020/lib/page/page-header.component.mjs +0 -28
  471. package/esm2020/lib/password-box/index.mjs +0 -3
  472. package/esm2020/lib/picker/index.mjs +0 -3
  473. package/esm2020/lib/picker/picker.component.mjs +0 -48
  474. package/esm2020/lib/picker/picker.module.mjs +0 -20
  475. package/esm2020/lib/popover/index.mjs +0 -3
  476. package/esm2020/lib/popup/index.mjs +0 -4
  477. package/esm2020/lib/progress-bar/index.mjs +0 -3
  478. package/esm2020/lib/radio/index.mjs +0 -3
  479. package/esm2020/lib/radio/radio.component.mjs +0 -34
  480. package/esm2020/lib/radio/radio.module.mjs +0 -22
  481. package/esm2020/lib/range-slider/index.mjs +0 -3
  482. package/esm2020/lib/range-slider/range-slider.component.mjs +0 -16
  483. package/esm2020/lib/range-slider/range-slider.module.mjs +0 -21
  484. package/esm2020/lib/rating/index.mjs +0 -3
  485. package/esm2020/lib/rating/rating.component.mjs +0 -41
  486. package/esm2020/lib/rating/rating.component.module.mjs +0 -19
  487. package/esm2020/lib/result/index.mjs +0 -3
  488. package/esm2020/lib/result/result.component.mjs +0 -23
  489. package/esm2020/lib/result/result.module.mjs +0 -19
  490. package/esm2020/lib/selectbox/index.mjs +0 -3
  491. package/esm2020/lib/selection-list/index.mjs +0 -3
  492. package/esm2020/lib/switch/index.mjs +0 -3
  493. package/esm2020/lib/tabs/index.mjs +0 -6
  494. package/esm2020/lib/tabs/tab-content.directive.mjs +0 -29
  495. package/esm2020/lib/tabs/tab-item.component.mjs +0 -121
  496. package/esm2020/lib/tabs/tabs.class.mjs +0 -4
  497. package/esm2020/lib/tabs/tabs.component.mjs +0 -95
  498. package/esm2020/lib/tabs/tabs.module.mjs +0 -25
  499. package/esm2020/lib/textarea/index.mjs +0 -3
  500. package/esm2020/lib/textbox/index.mjs +0 -3
  501. package/esm2020/lib/time-box/index.mjs +0 -3
  502. package/esm2020/lib/time-box/time-box.component.mjs +0 -262
  503. package/esm2020/lib/time-box/time-box.module.mjs +0 -32
  504. package/esm2020/lib/toast/index.mjs +0 -5
  505. package/esm2020/lib/toast/toast.class.mjs +0 -2
  506. package/esm2020/lib/toast/toast.component.mjs +0 -52
  507. package/esm2020/lib/tooltip/index.mjs +0 -4
  508. package/esm2020/lib/tooltip/tooltip.component.mjs +0 -38
  509. package/esm2020/lib/treeview/index.mjs +0 -3
  510. package/esm2020/lib/treeview/tree-view.component.mjs +0 -108
  511. package/esm2020/lib/treeview/tree-view.module.mjs +0 -20
  512. package/esm2020/lib/validation/index.mjs +0 -3
  513. package/lib/action-sheet/action-sheet-item.component.d.ts +0 -15
  514. package/lib/action-sheet/action-sheet.component.d.ts +0 -19
  515. package/lib/action-sheet/action-sheet.module.d.ts +0 -11
  516. package/lib/action-sheet/index.d.ts +0 -3
  517. package/lib/alert/alert-button.component.d.ts +0 -13
  518. package/lib/alert/alert-content.component.d.ts +0 -5
  519. package/lib/alert/alert-footer.component.d.ts +0 -5
  520. package/lib/alert/alert-suffix.component.d.ts +0 -5
  521. package/lib/alert/alert-title.component.d.ts +0 -5
  522. package/lib/alert/alert.component.d.ts +0 -75
  523. package/lib/alert/alert.module.d.ts +0 -14
  524. package/lib/alert/index.d.ts +0 -7
  525. package/lib/avatar/avatar-group.component.d.ts +0 -8
  526. package/lib/avatar/avatar.component.d.ts +0 -22
  527. package/lib/avatar/avatar.module.d.ts +0 -9
  528. package/lib/avatar/index.d.ts +0 -3
  529. package/lib/badge/badge.component.d.ts +0 -41
  530. package/lib/badge/badge.module.d.ts +0 -8
  531. package/lib/badge/index.d.ts +0 -2
  532. package/lib/base/common.module.d.ts +0 -8
  533. package/lib/base/drawing.class.d.ts +0 -9
  534. package/lib/base/index.d.ts +0 -8
  535. package/lib/base/infinite-scroll.directive.d.ts +0 -25
  536. package/lib/base/mixin/base-components.class.d.ts +0 -85
  537. package/lib/base/mixin/base-menu-mixin.class.d.ts +0 -52
  538. package/lib/base/mixin/button-mixin.class.d.ts +0 -63
  539. package/lib/base/mixin/clickable-mixin.class.d.ts +0 -35
  540. package/lib/base/mixin/color-look-mixing.class.d.ts +0 -43
  541. package/lib/base/mixin/constratctor.d.ts +0 -4
  542. package/lib/base/mixin/datalist-component.class.d.ts +0 -58
  543. package/lib/base/mixin/datalist.class.d.ts +0 -11
  544. package/lib/base/mixin/dropdown-mixin.class.d.ts +0 -48
  545. package/lib/base/mixin/index.d.ts +0 -2
  546. package/lib/base/mixin/interactive-mixin.class.d.ts +0 -59
  547. package/lib/base/mixin/loading-mixin.class.d.ts +0 -39
  548. package/lib/base/mixin/mixin.class.d.ts +0 -687
  549. package/lib/base/mixin/selection-component.class.d.ts +0 -60
  550. package/lib/base/mixin/sizable-mixin.class.d.ts +0 -33
  551. package/lib/base/mixin/textbox-mixin.class.d.ts +0 -56
  552. package/lib/base/mixin/value-mixin.class.d.ts +0 -64
  553. package/lib/base/responsive.directive.d.ts +0 -10
  554. package/lib/base/styles.class.d.ts +0 -17
  555. package/lib/breadcrumbs/breadcrumbs-item.class.d.ts +0 -9
  556. package/lib/breadcrumbs/breadcrumbs-item.component.d.ts +0 -12
  557. package/lib/breadcrumbs/breadcrumbs.component.d.ts +0 -11
  558. package/lib/breadcrumbs/breadcrumbs.module.d.ts +0 -9
  559. package/lib/breadcrumbs/index.d.ts +0 -4
  560. package/lib/button/button-group.component.d.ts +0 -36
  561. package/lib/button/button-item.class.d.ts +0 -22
  562. package/lib/button/button-item.component.d.ts +0 -79
  563. package/lib/button/index.d.ts +0 -5
  564. package/lib/calendar/calendar.class.d.ts +0 -50
  565. package/lib/calendar/calendar.component.d.ts +0 -50
  566. package/lib/calendar/calendar.module.d.ts +0 -13
  567. package/lib/calendar/index.d.ts +0 -2
  568. package/lib/carousel/carousel-arrows.component.d.ts +0 -15
  569. package/lib/carousel/carousel-item.component.d.ts +0 -8
  570. package/lib/carousel/carousel-pager.component.d.ts +0 -22
  571. package/lib/carousel/carousel-splidejs.class.d.ts +0 -18
  572. package/lib/carousel/carousel.class.d.ts +0 -71
  573. package/lib/carousel/carousel.component.d.ts +0 -110
  574. package/lib/carousel/carousel.module.d.ts +0 -11
  575. package/lib/carousel/index.d.ts +0 -6
  576. package/lib/checkbox/index.d.ts +0 -2
  577. package/lib/collapse/collapse-group.component.d.ts +0 -15
  578. package/lib/collapse/collapse.component.d.ts +0 -16
  579. package/lib/collapse/collapse.module.d.ts +0 -9
  580. package/lib/collapse/index.d.ts +0 -3
  581. package/lib/datalist/datalist.component.d.ts +0 -25
  582. package/lib/datalist/datalist.module.d.ts +0 -11
  583. package/lib/datalist/index.d.ts +0 -2
  584. package/lib/datepicker/datepicker.component.d.ts +0 -151
  585. package/lib/datepicker/datepicker.module.d.ts +0 -16
  586. package/lib/datepicker/index.d.ts +0 -2
  587. package/lib/decorators/addon.component.d.ts +0 -8
  588. package/lib/decorators/decorators.module.d.ts +0 -12
  589. package/lib/decorators/header.component.d.ts +0 -8
  590. package/lib/decorators/index.d.ts +0 -7
  591. package/lib/decorators/prefix.component.d.ts +0 -8
  592. package/lib/decorators/suffix.component.d.ts +0 -8
  593. package/lib/dialog/dialog.class.d.ts +0 -12
  594. package/lib/dialog/index.d.ts +0 -4
  595. package/lib/drawer/drawer-content.component.d.ts +0 -8
  596. package/lib/drawer/index.d.ts +0 -4
  597. package/lib/dropdown/dropdown-panel.component.d.ts +0 -27
  598. package/lib/dropdown/index.d.ts +0 -2
  599. package/lib/form/form-field.component.d.ts +0 -8
  600. package/lib/form/form-field.module.d.ts +0 -10
  601. package/lib/form/form-hint.component.d.ts +0 -8
  602. package/lib/form/form.component.d.ts +0 -21
  603. package/lib/form/index.d.ts +0 -4
  604. package/lib/icon/icon.component.d.ts +0 -10
  605. package/lib/icon/icon.module.d.ts +0 -8
  606. package/lib/icon/index.d.ts +0 -2
  607. package/lib/input-mask/index.d.ts +0 -2
  608. package/lib/input-mask/input-mask.component.d.ts +0 -25
  609. package/lib/input-mask/input-mask.module.d.ts +0 -10
  610. package/lib/label/index.d.ts +0 -2
  611. package/lib/loading/index.d.ts +0 -5
  612. package/lib/loading/loading-spinner.component.d.ts +0 -6
  613. package/lib/loading/loading.component.d.ts +0 -21
  614. package/lib/loading/loading.directive.d.ts +0 -22
  615. package/lib/menu/index.d.ts +0 -2
  616. package/lib/number-box/index.d.ts +0 -2
  617. package/lib/page/base-page.class.d.ts +0 -45
  618. package/lib/page/index.d.ts +0 -5
  619. package/lib/page/page-header.component.d.ts +0 -7
  620. package/lib/password-box/index.d.ts +0 -2
  621. package/lib/picker/index.d.ts +0 -2
  622. package/lib/picker/picker.component.d.ts +0 -21
  623. package/lib/picker/picker.module.d.ts +0 -9
  624. package/lib/popover/index.d.ts +0 -2
  625. package/lib/popup/index.d.ts +0 -3
  626. package/lib/progress-bar/index.d.ts +0 -2
  627. package/lib/radio/index.d.ts +0 -2
  628. package/lib/radio/radio.component.d.ts +0 -17
  629. package/lib/radio/radio.module.d.ts +0 -9
  630. package/lib/range-slider/index.d.ts +0 -2
  631. package/lib/range-slider/range-slider.component.d.ts +0 -8
  632. package/lib/range-slider/range-slider.module.d.ts +0 -8
  633. package/lib/rating/index.d.ts +0 -2
  634. package/lib/rating/rating.component.d.ts +0 -21
  635. package/lib/rating/rating.component.module.d.ts +0 -8
  636. package/lib/result/index.d.ts +0 -2
  637. package/lib/result/result.component.d.ts +0 -12
  638. package/lib/result/result.module.d.ts +0 -8
  639. package/lib/selectbox/index.d.ts +0 -2
  640. package/lib/selection-list/index.d.ts +0 -2
  641. package/lib/switch/index.d.ts +0 -2
  642. package/lib/tabs/index.d.ts +0 -5
  643. package/lib/tabs/tab-content.directive.d.ts +0 -11
  644. package/lib/tabs/tab-item.component.d.ts +0 -49
  645. package/lib/tabs/tabs.class.d.ts +0 -6
  646. package/lib/tabs/tabs.component.d.ts +0 -24
  647. package/lib/tabs/tabs.module.d.ts +0 -12
  648. package/lib/textarea/index.d.ts +0 -2
  649. package/lib/textbox/index.d.ts +0 -2
  650. package/lib/time-box/index.d.ts +0 -2
  651. package/lib/time-box/time-box.component.d.ts +0 -48
  652. package/lib/time-box/time-box.module.d.ts +0 -11
  653. package/lib/toast/index.d.ts +0 -4
  654. package/lib/toast/toast.class.d.ts +0 -14
  655. package/lib/toast/toast.component.d.ts +0 -24
  656. package/lib/tooltip/index.d.ts +0 -3
  657. package/lib/tooltip/tooltip.component.d.ts +0 -10
  658. package/lib/treeview/index.d.ts +0 -2
  659. package/lib/treeview/tree-view.component.d.ts +0 -33
  660. package/lib/treeview/tree-view.module.d.ts +0 -9
  661. package/lib/validation/index.d.ts +0 -2
@@ -0,0 +1,22 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { AXTreeViewComponent } from './tree-view.component';
3
+ import { CommonModule } from '@angular/common';
4
+ import { AXDataSourceModule } from '../data-source/datasource.module';
5
+ import { AXCheckBoxModule } from '../checkbox/checkbox.module';
6
+ import { AXContextMenuModule } from '../context-menu/context-menu.module';
7
+ import * as i0 from "@angular/core";
8
+ export class AXTreeViewModule {
9
+ }
10
+ AXTreeViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXTreeViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ AXTreeViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXTreeViewModule, declarations: [AXTreeViewComponent], imports: [AXDataSourceModule, CommonModule, AXCheckBoxModule, AXContextMenuModule], exports: [AXTreeViewComponent] });
12
+ AXTreeViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXTreeViewModule, providers: [], imports: [[AXDataSourceModule, CommonModule, AXCheckBoxModule, AXContextMenuModule]] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXTreeViewModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ declarations: [AXTreeViewComponent],
17
+ imports: [AXDataSourceModule, CommonModule, AXCheckBoxModule, AXContextMenuModule],
18
+ exports: [AXTreeViewComponent],
19
+ providers: []
20
+ }]
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS12aWV3Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvdHJlZS12aWV3L3RyZWUtdmlldy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBVTFFLE1BQU0sT0FBTyxnQkFBZ0I7OzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixpQkFOVixtQkFBbUIsYUFDeEIsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixhQUN2RSxtQkFBbUI7K0dBSXBCLGdCQUFnQixhQUhkLEVBQUUsWUFGSixDQUFDLGtCQUFrQixFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsQ0FBQzs0RkFLekUsZ0JBQWdCO2tCQVA1QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUM7b0JBQ2xGLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUM5QixTQUFTLEVBQUUsRUFBRTtpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFRyZWVWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi90cmVlLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQVhEYXRhU291cmNlTW9kdWxlIH0gZnJvbSAnLi4vZGF0YS1zb3VyY2UvZGF0YXNvdXJjZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBWENoZWNrQm94TW9kdWxlIH0gZnJvbSAnLi4vY2hlY2tib3gvY2hlY2tib3gubW9kdWxlJztcclxuaW1wb3J0IHsgQVhDb250ZXh0TWVudU1vZHVsZSB9IGZyb20gJy4uL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUubW9kdWxlJztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbQVhUcmVlVmlld0NvbXBvbmVudF0sXHJcbiAgICBpbXBvcnRzOiBbQVhEYXRhU291cmNlTW9kdWxlLCBDb21tb25Nb2R1bGUsIEFYQ2hlY2tCb3hNb2R1bGUsIEFYQ29udGV4dE1lbnVNb2R1bGVdLFxyXG4gICAgZXhwb3J0czogW0FYVHJlZVZpZXdDb21wb25lbnRdLFxyXG4gICAgcHJvdmlkZXJzOiBbXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEFYVHJlZVZpZXdNb2R1bGUgeyB9Il19
@@ -0,0 +1,170 @@
1
+ import { Component, ViewChild, Input, ElementRef, ViewEncapsulation, TemplateRef, Renderer2, EventEmitter, Output, ChangeDetectorRef } from '@angular/core';
2
+ import { AXProgressBarComponent } from '../progress-bar/progress-bar.component';
3
+ import { AXBaseComponent } from '../base/element.class';
4
+ import { AXRenderService } from '@acorex/core';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@acorex/core";
7
+ import * as i2 from "../form-group/form-group.component";
8
+ import * as i3 from "../textbox/textbox.component";
9
+ import * as i4 from "../button/button.component";
10
+ import * as i5 from "@angular/common";
11
+ export class AXUploadFileComponent extends AXBaseComponent {
12
+ constructor(el, injectionService, rendrer, cdr) {
13
+ super();
14
+ this.el = el;
15
+ this.injectionService = injectionService;
16
+ this.rendrer = rendrer;
17
+ this.cdr = cdr;
18
+ this.size = "md";
19
+ this.type = 'inline';
20
+ this.disabled = false;
21
+ this.onLoad = new EventEmitter();
22
+ this.onProgress = new EventEmitter();
23
+ this.files = [];
24
+ this.fileName = '';
25
+ }
26
+ focus() { }
27
+ onDeleteClick(e) {
28
+ e.stopPropagation();
29
+ }
30
+ onFileChange(e) {
31
+ const files = e.target.files;
32
+ this.addFile(files[0]);
33
+ this.fileInput.nativeElement.value = null;
34
+ }
35
+ open() {
36
+ this.fileInput.nativeElement.click();
37
+ }
38
+ remove() {
39
+ this.files = [];
40
+ }
41
+ ngAfterViewInit() {
42
+ if (this.dropRef != null) {
43
+ }
44
+ else {
45
+ this.dropRef = this.el.nativeElement;
46
+ }
47
+ //
48
+ if (this.progressRef != null) {
49
+ }
50
+ else {
51
+ this.progressRef = this.el.nativeElement;
52
+ }
53
+ //
54
+ if (this.type === 'hidden' || this.type === 'box') {
55
+ this.overlayDiv = this.rendrer.createElement('div');
56
+ this.overlayDiv.classList.add('overlay');
57
+ this.overlayDiv.innerHTML = `
58
+ <div class="icon-wrapper">
59
+ <i class="far fa-cloud-upload-alt fa-3x"></i>
60
+ <span>Drop File(s) Here</span>
61
+ </div>
62
+ `;
63
+ this.overlayDiv.addEventListener('drag', this.handleOverlayDragOver);
64
+ this.overlayDiv.addEventListener('dragover', this.handleOverlayDragOver);
65
+ this.overlayDiv.addEventListener('dragleave', this.handleOverlayDragOver);
66
+ this.rendrer.appendChild(this.dropRef, this.overlayDiv);
67
+ }
68
+ //
69
+ this.dropRef.classList.add('ax-upload-drop-over');
70
+ this.dropRef.addEventListener('dragover', this.handleDragOver.bind(this));
71
+ this.dropRef.addEventListener('dragleave', this.handleDragLeave.bind(this));
72
+ this.dropRef.addEventListener('drop', this.handleDrop.bind(this));
73
+ }
74
+ handleOverlayDragOver(e) {
75
+ e.preventDefault();
76
+ e.stopPropagation();
77
+ return false;
78
+ }
79
+ handleDragOver(e) {
80
+ e.preventDefault();
81
+ e.stopPropagation();
82
+ this.overlayDiv.classList.add('show');
83
+ return false;
84
+ }
85
+ handleDragLeave(e) {
86
+ e.preventDefault();
87
+ e.stopPropagation();
88
+ this.overlayDiv.classList.remove('show');
89
+ return false;
90
+ }
91
+ handleDrop(e) {
92
+ this.handleDragLeave(e);
93
+ for (let i = 0; i < e.dataTransfer.files.length; i++) {
94
+ const file = e.dataTransfer.files[i];
95
+ this.addFile(file);
96
+ }
97
+ }
98
+ addFile(file) {
99
+ const progressDiv = this.rendrer.createElement('div');
100
+ progressDiv.classList.add('ax-upload-progress-panel');
101
+ const progressLabel = this.rendrer.createElement('small');
102
+ progressLabel.innerText = file.name;
103
+ this.fileName = file.name;
104
+ this.rendrer.appendChild(this.progressRef, progressDiv);
105
+ const com = this.injectionService.appendComponent(AXProgressBarComponent, { progress: 0 }, progressDiv).instance;
106
+ this.rendrer.appendChild(progressDiv, progressLabel);
107
+ const reader = new FileReader();
108
+ reader.addEventListener('load', (e) => {
109
+ this.onLoad.emit({
110
+ file,
111
+ data: e.target.result
112
+ });
113
+ //
114
+ // Fake Upload
115
+ let pv = 0;
116
+ let uploaded = 0;
117
+ const intv = setInterval(() => {
118
+ uploaded += 1024 * 1000;
119
+ if (uploaded > e.total) {
120
+ uploaded = e.total;
121
+ }
122
+ pv = Math.ceil((uploaded / e.total) * 100);
123
+ com.progress = pv;
124
+ this.onProgress.emit({
125
+ file,
126
+ total: e.total,
127
+ uploaded,
128
+ value: pv
129
+ });
130
+ //
131
+ if (com.progress >= 100) {
132
+ clearInterval(intv);
133
+ setTimeout(() => {
134
+ this.rendrer.removeChild(this.progressRef, progressDiv);
135
+ }, 1000);
136
+ }
137
+ }, 100);
138
+ });
139
+ reader.readAsDataURL(file);
140
+ this.files.push(file);
141
+ }
142
+ }
143
+ AXUploadFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXUploadFileComponent, deps: [{ token: i0.ElementRef }, { token: i1.AXRenderService }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
144
+ AXUploadFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXUploadFileComponent, selector: "ax-upload-file", inputs: { dropRef: "dropRef", progressRef: "progressRef", label: "label", size: "size", type: "type", template: "template", disabled: "disabled" }, outputs: { onLoad: "onLoad", onProgress: "onProgress" }, host: { styleAttribute: "display: block; width:100%; position: relative" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<input #fileInput type=\"file\" accept=\"image/*\" style=\"display: none;\" (change)=\"onFileChange($event)\" />\r\n\r\n<ng-container *ngIf=\"type == 'inline'; else elseTemplate\">\r\n <ax-form-group size=\"{{size}}\">\r\n <ax-text-box [value]=\"fileName\" readonly=\"true\" [disabled]=\"disabled\"></ax-text-box>\r\n <ax-button type=\"blank light\" icon=\"far fa-times\" (click)=\"remove()\" *ngIf=\"fileName\" [tabIndex]=\"-1\">\r\n </ax-button>\r\n <ax-button type=\"primary blank\" icon=\"far fa-upload\" (click)=\"open()\" [disabled]=\"disabled\" [tabIndex]=\"-1\">\r\n </ax-button>\r\n </ax-form-group>\r\n</ng-container>\r\n\r\n<ng-template #elseTemplate>\r\n <div class=\"ax upload-file-box\" (click)=\"open()\" #dropRef>\r\n </div>\r\n</ng-template>", components: [{ type: i2.AXFormGroupComponent, selector: "ax-form-group", inputs: ["size"] }, { type: i3.AXTextBoxComponent, selector: "ax-text-box", inputs: ["mask", "type", "showMask", "maxLength", "maskGuid", "maskPlaceholder", "maskKeepCharPositions"] }, { type: i4.AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXUploadFileComponent, decorators: [{
146
+ type: Component,
147
+ args: [{ selector: 'ax-upload-file', encapsulation: ViewEncapsulation.None, host: { style: 'display: block; width:100%; position: relative' }, template: "<input #fileInput type=\"file\" accept=\"image/*\" style=\"display: none;\" (change)=\"onFileChange($event)\" />\r\n\r\n<ng-container *ngIf=\"type == 'inline'; else elseTemplate\">\r\n <ax-form-group size=\"{{size}}\">\r\n <ax-text-box [value]=\"fileName\" readonly=\"true\" [disabled]=\"disabled\"></ax-text-box>\r\n <ax-button type=\"blank light\" icon=\"far fa-times\" (click)=\"remove()\" *ngIf=\"fileName\" [tabIndex]=\"-1\">\r\n </ax-button>\r\n <ax-button type=\"primary blank\" icon=\"far fa-upload\" (click)=\"open()\" [disabled]=\"disabled\" [tabIndex]=\"-1\">\r\n </ax-button>\r\n </ax-form-group>\r\n</ng-container>\r\n\r\n<ng-template #elseTemplate>\r\n <div class=\"ax upload-file-box\" (click)=\"open()\" #dropRef>\r\n </div>\r\n</ng-template>" }]
148
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.AXRenderService }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { dropRef: [{
149
+ type: Input
150
+ }], progressRef: [{
151
+ type: Input
152
+ }], label: [{
153
+ type: Input
154
+ }], size: [{
155
+ type: Input
156
+ }], fileInput: [{
157
+ type: ViewChild,
158
+ args: ['fileInput']
159
+ }], type: [{
160
+ type: Input
161
+ }], template: [{
162
+ type: Input
163
+ }], disabled: [{
164
+ type: Input
165
+ }], onLoad: [{
166
+ type: Output
167
+ }], onProgress: [{
168
+ type: Output
169
+ }] } });
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi91cGxvYWQtZmlsZS91cGxvYWQtZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3VwbG9hZC1maWxlL3VwbG9hZC1maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULEtBQUssRUFDTCxVQUFVLEVBQ1YsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUE4RCxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBUS9DLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxlQUFlO0lBa0N4RCxZQUNVLEVBQTJCLEVBQzNCLGdCQUFpQyxFQUNqQyxPQUFrQixFQUNoQixHQUFzQjtRQUVoQyxLQUFLLEVBQUUsQ0FBQztRQUxBLE9BQUUsR0FBRixFQUFFLENBQXlCO1FBQzNCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDakMsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQUNoQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXpCbEMsU0FBSSxHQUFrQixJQUFJLENBQUM7UUFLM0IsU0FBSSxHQUFnQyxRQUFRLENBQUM7UUFLcEMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUVuQyxXQUFNLEdBQXdDLElBQUksWUFBWSxFQUF5QixDQUFDO1FBR3hG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bGQsXHJcbiAgSW5wdXQsXHJcbiAgRWxlbWVudFJlZixcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBUZW1wbGF0ZVJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE91dHB1dCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFVwbG9hZEZpbGVMb2FkRXZlbnQsIEFYVXBsb2FkRmlsZVByb2dyZXNzRXZlbnQgfSBmcm9tICcuL3VwbG9hZC1maWxlLmV2ZW50cyc7XHJcbmltcG9ydCB7IEFYUHJvZ3Jlc3NCYXJDb21wb25lbnQgfSBmcm9tICcuLi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYQmFzZVRleHRDb21wb25lbnQsIEFYRWxlbWVudFNpemUsIEFYQmFzZVNpemFibGVDb21wb25lbnQsIEFYQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvZWxlbWVudC5jbGFzcyc7XHJcbmltcG9ydCB7IEFYUmVuZGVyU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXVwbG9hZC1maWxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkLWZpbGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgaG9zdDogeyBzdHlsZTogJ2Rpc3BsYXk6IGJsb2NrOyB3aWR0aDoxMDAlOyBwb3NpdGlvbjogcmVsYXRpdmUnIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYVXBsb2FkRmlsZUNvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFYQmFzZVNpemFibGVDb21wb25lbnQge1xyXG4gIHByaXZhdGUgb3ZlcmxheURpdjogSFRNTEVsZW1lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZHJvcFJlZjogSFRNTEVsZW1lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHJvZ3Jlc3NSZWY6IEhUTUxFbGVtZW50O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2l6ZTogQVhFbGVtZW50U2l6ZSA9IFwibWRcIjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgZmlsZUlucHV0OiBFbGVtZW50UmVmO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHR5cGU6ICdib3gnIHwgJ2lubGluZScgfCAnaGlkZGVuJyA9ICdpbmxpbmUnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBAT3V0cHV0KClcclxuICBvbkxvYWQ6IEV2ZW50RW1pdHRlcjxBWFVwbG9hZEZpbGVMb2FkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFVwbG9hZEZpbGVMb2FkRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uUHJvZ3Jlc3M6IEV2ZW50RW1pdHRlcjxBWFVwbG9hZEZpbGVQcm9ncmVzc0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhVcGxvYWRGaWxlUHJvZ3Jlc3NFdmVudD4oKTtcclxuXHJcbiAgZmlsZXM6IEZpbGVbXSA9IFtdO1xyXG4gIGZvY3VzKCkgeyB9XHJcblxyXG4gIGZpbGVOYW1lOiBzdHJpbmcgPSAnJztcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgcHJpdmF0ZSBpbmplY3Rpb25TZXJ2aWNlOiBBWFJlbmRlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlbmRyZXI6IFJlbmRlcmVyMixcclxuICAgIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcblxyXG4gIG9uRGVsZXRlQ2xpY2soZSkge1xyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIG9uRmlsZUNoYW5nZShlKSB7XHJcbiAgICBjb25zdCBmaWxlcyA9IGUudGFyZ2V0LmZpbGVzO1xyXG4gICAgdGhpcy5hZGRGaWxlKGZpbGVzWzBdKTtcclxuICAgICh0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlID0gbnVsbDtcclxuICB9XHJcblxyXG4gIG9wZW4oKSB7XHJcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XHJcbiAgfVxyXG4gIHJlbW92ZSgpIHtcclxuICAgIHRoaXMuZmlsZXMgPSBbXTtcclxuICB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZHJvcFJlZiAhPSBudWxsKSB7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRyb3BSZWYgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICB9XHJcbiAgICAvL1xyXG4gICAgaWYgKHRoaXMucHJvZ3Jlc3NSZWYgIT0gbnVsbCkge1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wcm9ncmVzc1JlZiA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcclxuICAgIH1cclxuICAgIC8vXHJcbiAgICBpZiAodGhpcy50eXBlID09PSAnaGlkZGVuJyB8fCB0aGlzLnR5cGUgPT09ICdib3gnKSB7XHJcbiAgICAgIHRoaXMub3ZlcmxheURpdiA9IHRoaXMucmVuZHJlci5jcmVhdGVFbGVtZW50KCdkaXYnKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgdGhpcy5vdmVybGF5RGl2LmNsYXNzTGlzdC5hZGQoJ292ZXJsYXknKTtcclxuICAgICAgdGhpcy5vdmVybGF5RGl2LmlubmVySFRNTCA9IGBcclxuICAgICAgPGRpdiBjbGFzcz1cImljb24td3JhcHBlclwiPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLWNsb3VkLXVwbG9hZC1hbHQgZmEtM3hcIj48L2k+XHJcbiAgICAgICAgPHNwYW4+RHJvcCBGaWxlKHMpIEhlcmU8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgYDtcclxuICAgICAgdGhpcy5vdmVybGF5RGl2LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWcnLCB0aGlzLmhhbmRsZU92ZXJsYXlEcmFnT3Zlcik7XHJcbiAgICAgIHRoaXMub3ZlcmxheURpdi5hZGRFdmVudExpc3RlbmVyKCdkcmFnb3ZlcicsIHRoaXMuaGFuZGxlT3ZlcmxheURyYWdPdmVyKTtcclxuICAgICAgdGhpcy5vdmVybGF5RGl2LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIHRoaXMuaGFuZGxlT3ZlcmxheURyYWdPdmVyKTtcclxuICAgICAgdGhpcy5yZW5kcmVyLmFwcGVuZENoaWxkKHRoaXMuZHJvcFJlZiwgdGhpcy5vdmVybGF5RGl2KTtcclxuICAgIH1cclxuICAgIC8vXHJcbiAgICB0aGlzLmRyb3BSZWYuY2xhc3NMaXN0LmFkZCgnYXgtdXBsb2FkLWRyb3Atb3ZlcicpO1xyXG4gICAgdGhpcy5kcm9wUmVmLmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdvdmVyJywgdGhpcy5oYW5kbGVEcmFnT3Zlci5iaW5kKHRoaXMpKTtcclxuICAgIHRoaXMuZHJvcFJlZi5hZGRFdmVudExpc3RlbmVyKCdkcmFnbGVhdmUnLCB0aGlzLmhhbmRsZURyYWdMZWF2ZS5iaW5kKHRoaXMpKTtcclxuICAgIHRoaXMuZHJvcFJlZi5hZGRFdmVudExpc3RlbmVyKCdkcm9wJywgdGhpcy5oYW5kbGVEcm9wLmJpbmQodGhpcykpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVPdmVybGF5RHJhZ092ZXIoZTogRHJhZ0V2ZW50KSB7XHJcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVEcmFnT3ZlcihlOiBEcmFnRXZlbnQpIHtcclxuICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLm92ZXJsYXlEaXYuY2xhc3NMaXN0LmFkZCgnc2hvdycpO1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVEcmFnTGVhdmUoZTogRHJhZ0V2ZW50KSB7XHJcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5vdmVybGF5RGl2LmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGhhbmRsZURyb3AoZTogRHJhZ0V2ZW50KSB7XHJcbiAgICB0aGlzLmhhbmRsZURyYWdMZWF2ZShlKTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZS5kYXRhVHJhbnNmZXIuZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgY29uc3QgZmlsZSA9IGUuZGF0YVRyYW5zZmVyLmZpbGVzW2ldO1xyXG4gICAgICB0aGlzLmFkZEZpbGUoZmlsZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZEZpbGUoZmlsZTogRmlsZSkge1xyXG4gICAgY29uc3QgcHJvZ3Jlc3NEaXYgPSB0aGlzLnJlbmRyZXIuY3JlYXRlRWxlbWVudCgnZGl2JykgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBwcm9ncmVzc0Rpdi5jbGFzc0xpc3QuYWRkKCdheC11cGxvYWQtcHJvZ3Jlc3MtcGFuZWwnKTtcclxuICAgIGNvbnN0IHByb2dyZXNzTGFiZWwgPSB0aGlzLnJlbmRyZXIuY3JlYXRlRWxlbWVudCgnc21hbGwnKSBhcyBIVE1MRWxlbWVudDtcclxuICAgIHByb2dyZXNzTGFiZWwuaW5uZXJUZXh0ID0gZmlsZS5uYW1lO1xyXG4gICAgdGhpcy5maWxlTmFtZSA9IGZpbGUubmFtZTtcclxuICAgIHRoaXMucmVuZHJlci5hcHBlbmRDaGlsZCh0aGlzLnByb2dyZXNzUmVmLCBwcm9ncmVzc0Rpdik7XHJcbiAgICBjb25zdCBjb20gPSB0aGlzLmluamVjdGlvblNlcnZpY2UuYXBwZW5kQ29tcG9uZW50KEFYUHJvZ3Jlc3NCYXJDb21wb25lbnQsIHsgcHJvZ3Jlc3M6IDAgfSwgcHJvZ3Jlc3NEaXYpLmluc3RhbmNlIGFzIEFYUHJvZ3Jlc3NCYXJDb21wb25lbnQ7XHJcbiAgICB0aGlzLnJlbmRyZXIuYXBwZW5kQ2hpbGQocHJvZ3Jlc3NEaXYsIHByb2dyZXNzTGFiZWwpO1xyXG5cclxuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIChlKSA9PiB7XHJcbiAgICAgIHRoaXMub25Mb2FkLmVtaXQoe1xyXG4gICAgICAgIGZpbGUsXHJcbiAgICAgICAgZGF0YTogKGUgYXMgYW55KS50YXJnZXQucmVzdWx0XHJcbiAgICAgIH0pO1xyXG4gICAgICAvL1xyXG4gICAgICAvLyBGYWtlIFVwbG9hZFxyXG4gICAgICBsZXQgcHYgPSAwO1xyXG4gICAgICBsZXQgdXBsb2FkZWQgPSAwO1xyXG4gICAgICBjb25zdCBpbnR2ID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgIHVwbG9hZGVkICs9IDEwMjQgKiAxMDAwO1xyXG4gICAgICAgIGlmICh1cGxvYWRlZCA+IGUudG90YWwpIHtcclxuICAgICAgICAgIHVwbG9hZGVkID0gZS50b3RhbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcHYgPSBNYXRoLmNlaWwoKHVwbG9hZGVkIC8gZS50b3RhbCkgKiAxMDApO1xyXG4gICAgICAgIGNvbS5wcm9ncmVzcyA9IHB2O1xyXG4gICAgICAgIHRoaXMub25Qcm9ncmVzcy5lbWl0KHtcclxuICAgICAgICAgIGZpbGUsXHJcbiAgICAgICAgICB0b3RhbDogZS50b3RhbCxcclxuICAgICAgICAgIHVwbG9hZGVkLFxyXG4gICAgICAgICAgdmFsdWU6IHB2XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgLy9cclxuICAgICAgICBpZiAoY29tLnByb2dyZXNzID49IDEwMCkge1xyXG4gICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnR2KTtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRyZXIucmVtb3ZlQ2hpbGQodGhpcy5wcm9ncmVzc1JlZiwgcHJvZ3Jlc3NEaXYpO1xyXG4gICAgICAgICAgfSwgMTAwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCAxMDApO1xyXG4gICAgfSk7XHJcbiAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcclxuICAgIHRoaXMuZmlsZXMucHVzaChmaWxlKTtcclxuICB9XHJcbn1cclxuIiwiPGlucHV0ICNmaWxlSW5wdXQgdHlwZT1cImZpbGVcIiBhY2NlcHQ9XCJpbWFnZS8qXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiIChjaGFuZ2UpPVwib25GaWxlQ2hhbmdlKCRldmVudClcIiAvPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT0gJ2lubGluZSc7IGVsc2UgZWxzZVRlbXBsYXRlXCI+XHJcbiAgPGF4LWZvcm0tZ3JvdXAgc2l6ZT1cInt7c2l6ZX19XCI+XHJcbiAgICA8YXgtdGV4dC1ib3ggW3ZhbHVlXT1cImZpbGVOYW1lXCIgcmVhZG9ubHk9XCJ0cnVlXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+PC9heC10ZXh0LWJveD5cclxuICAgIDxheC1idXR0b24gdHlwZT1cImJsYW5rIGxpZ2h0XCIgaWNvbj1cImZhciBmYS10aW1lc1wiIChjbGljayk9XCJyZW1vdmUoKVwiICpuZ0lmPVwiZmlsZU5hbWVcIiBbdGFiSW5kZXhdPVwiLTFcIj5cclxuICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgPGF4LWJ1dHRvbiB0eXBlPVwicHJpbWFyeSBibGFua1wiIGljb249XCJmYXIgZmEtdXBsb2FkXCIgKGNsaWNrKT1cIm9wZW4oKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFt0YWJJbmRleF09XCItMVwiPlxyXG4gICAgPC9heC1idXR0b24+XHJcbiAgPC9heC1mb3JtLWdyb3VwPlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZWxzZVRlbXBsYXRlPlxyXG4gIDxkaXYgY2xhc3M9XCJheCB1cGxvYWQtZmlsZS1ib3hcIiAoY2xpY2spPVwib3BlbigpXCIgI2Ryb3BSZWY+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+Il19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWZpbGUuZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi91cGxvYWQtZmlsZS91cGxvYWQtZmlsZS5ldmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQVhVcGxvYWRGaWxlUHJvZ3Jlc3NFdmVudCB7XHJcbiAgcmVhZG9ubHkgZmlsZTogRmlsZTtcclxuICByZWFkb25seSB1cGxvYWRlZDogbnVtYmVyO1xyXG4gIHJlYWRvbmx5IHRvdGFsOiBudW1iZXI7XHJcbiAgcmVhZG9ubHkgdmFsdWU6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWFVwbG9hZEZpbGVMb2FkRXZlbnQge1xyXG4gIHJlYWRvbmx5IGZpbGU6IEZpbGU7XHJcbiAgcmVhZG9ubHkgZGF0YTogQXJyYXlCdWZmZXI7XHJcbn1cclxuIl19
@@ -0,0 +1,24 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { AXUploadFileComponent } from './upload-file.component';
4
+ import { AXButtonModule } from '../button/button.module';
5
+ import { AXTextBoxModule } from '../textbox/textbox.module';
6
+ import { AXProgressBarModule } from '../progress-bar/progress-bar.module';
7
+ import { AXLabelModule } from '../label/label.module';
8
+ import { AXFormGroupModule } from '../form-group/form-group.module';
9
+ import * as i0 from "@angular/core";
10
+ export class AXUploadFileModule {
11
+ }
12
+ AXUploadFileModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXUploadFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ AXUploadFileModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXUploadFileModule, declarations: [AXUploadFileComponent], imports: [CommonModule, AXButtonModule, AXTextBoxModule, AXProgressBarModule, AXLabelModule, AXFormGroupModule], exports: [AXUploadFileComponent] });
14
+ AXUploadFileModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXUploadFileModule, providers: [], imports: [[CommonModule, AXButtonModule, AXTextBoxModule, AXProgressBarModule, AXLabelModule, AXFormGroupModule]] });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXUploadFileModule, decorators: [{
16
+ type: NgModule,
17
+ args: [{
18
+ declarations: [AXUploadFileComponent],
19
+ imports: [CommonModule, AXButtonModule, AXTextBoxModule, AXProgressBarModule, AXLabelModule, AXFormGroupModule],
20
+ exports: [AXUploadFileComponent],
21
+ providers: []
22
+ }]
23
+ }] });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWZpbGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi91cGxvYWQtZmlsZS91cGxvYWQtZmlsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBUXBFLE1BQU0sT0FBTyxrQkFBa0I7O2dIQUFsQixrQkFBa0I7aUhBQWxCLGtCQUFrQixpQkFMZCxxQkFBcUIsYUFDMUIsWUFBWSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixhQUNwRyxxQkFBcUI7aUhBR3BCLGtCQUFrQixhQUZsQixFQUFFLFlBRkosQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLENBQUM7NEZBSXBHLGtCQUFrQjtrQkFOOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDckMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixDQUFDO29CQUMvRyxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDaEMsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBWFVwbG9hZEZpbGVDb21wb25lbnQgfSBmcm9tICcuL3VwbG9hZC1maWxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBWFRleHRCb3hNb2R1bGUgfSBmcm9tICcuLi90ZXh0Ym94L3RleHRib3gubW9kdWxlJztcclxuaW1wb3J0IHsgQVhQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJy4uL3Byb2dyZXNzLWJhci9wcm9ncmVzcy1iYXIubW9kdWxlJztcclxuaW1wb3J0IHsgQVhMYWJlbE1vZHVsZSB9IGZyb20gJy4uL2xhYmVsL2xhYmVsLm1vZHVsZSc7XHJcbmltcG9ydCB7IEFYRm9ybUdyb3VwTW9kdWxlIH0gZnJvbSAnLi4vZm9ybS1ncm91cC9mb3JtLWdyb3VwLm1vZHVsZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0FYVXBsb2FkRmlsZUNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQVhCdXR0b25Nb2R1bGUsIEFYVGV4dEJveE1vZHVsZSwgQVhQcm9ncmVzc0Jhck1vZHVsZSwgQVhMYWJlbE1vZHVsZSwgQVhGb3JtR3JvdXBNb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtBWFVwbG9hZEZpbGVDb21wb25lbnRdLFxyXG4gIHByb3ZpZGVyczogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYVXBsb2FkRmlsZU1vZHVsZSB7fVxyXG4iXX0=
@@ -0,0 +1,65 @@
1
+ import { Component, QueryList, ContentChildren, Input, Output, EventEmitter, ElementRef, ChangeDetectorRef } from '@angular/core';
2
+ import { AXValidatableComponent } from '../base/element.class';
3
+ import * as i0 from "@angular/core";
4
+ export class AXValidationFormComponent {
5
+ constructor(ref, cdr) {
6
+ this.ref = ref;
7
+ this.cdr = cdr;
8
+ this.widgets = [];
9
+ this.validateOn = 'submit';
10
+ this.onInit = new EventEmitter();
11
+ }
12
+ ngAfterViewInit() {
13
+ this.onInit.emit({
14
+ component: this,
15
+ htmlElement: this.ref.nativeElement
16
+ });
17
+ }
18
+ validate() {
19
+ this.widgets.push(...this.widgetsQuery.toArray().filter(c => !this.widgets.includes(c)));
20
+ //
21
+ this.widgets.forEach(w => {
22
+ if (w.validation && w.validation.validateOn == null) {
23
+ w.validation.validateOn = this.validateOn;
24
+ }
25
+ });
26
+ return new Promise(resolve => {
27
+ if (!this.widgets || this.widgets.length === 0) {
28
+ return Promise.resolve({ result: true });
29
+ }
30
+ Promise.all(this.widgets.map((c) => c.validate())).then((rules) => {
31
+ const failed = rules.filter((c) => !c.result);
32
+ if (failed.length) {
33
+ resolve({
34
+ result: false,
35
+ items: failed
36
+ });
37
+ }
38
+ else {
39
+ resolve({ result: true });
40
+ }
41
+ });
42
+ });
43
+ }
44
+ addWidget(widget) {
45
+ if (widget)
46
+ this.widgets.push(widget);
47
+ }
48
+ }
49
+ AXValidationFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXValidationFormComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
50
+ AXValidationFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXValidationFormComponent, selector: "ax-validation-form", inputs: { validateOn: "validateOn" }, outputs: { onInit: "onInit" }, queries: [{ propertyName: "widgetsQuery", predicate: AXValidatableComponent, descendants: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXValidationFormComponent, decorators: [{
52
+ type: Component,
53
+ args: [{
54
+ selector: 'ax-validation-form',
55
+ template: '<ng-content></ng-content>'
56
+ }]
57
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { widgetsQuery: [{
58
+ type: ContentChildren,
59
+ args: [AXValidatableComponent, { descendants: true }]
60
+ }], validateOn: [{
61
+ type: Input
62
+ }], onInit: [{
63
+ type: Output
64
+ }] } });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvdmFsaWRhdGlvbi92YWxpZGF0aW9uLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsU0FBUyxFQUNULGVBQWUsRUFDZixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixVQUFVLEVBQ1YsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQU0vRCxNQUFNLE9BQU8seUJBQXlCO0lBRXBDLFlBQW9CLEdBQWUsRUFBVSxHQUFzQjtRQUEvQyxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFHM0QsWUFBTyxHQUE2QixFQUFFLENBQUM7UUFPL0MsZUFBVSxHQUFpQyxRQUFRLENBQUM7UUFHcEQsV0FBTSxHQUE4QixJQUFJLFlBQVksRUFBZSxDQUFDO0lBYkcsQ0FBQztJQWdCeEUsZUFBZTtRQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ2YsU0FBUyxFQUFFLElBQUk7WUFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhO1NBQ3BDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pGLEVBQUU7UUFDRixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLElBQUksSUFBSSxFQUFFO2dCQUNuRCxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQzNDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksT0FBTyxDQUFxQixPQUFPLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQzlDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2FBQzFDO1lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtnQkFDckUsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ25ELElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtvQkFDakIsT0FBTyxDQUFDO3dCQUNOLE1BQU0sRUFBRSxLQUFLO3dCQUNiLEtBQUssRUFBRSxNQUFNO3FCQUNkLENBQUMsQ0FBQztpQkFDSjtxQkFDSTtvQkFDSCxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztpQkFDM0I7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdELFNBQVMsQ0FBQyxNQUE4QjtRQUN0QyxJQUFHLE1BQU07WUFDUCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixDQUFDOzt1SEF6RFUseUJBQXlCOzJHQUF6Qix5QkFBeUIsNEpBUW5CLHNCQUFzQixnREFWN0IsMkJBQTJCOzRGQUUxQix5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsUUFBUSxFQUFFLDJCQUEyQjtpQkFDdEM7aUlBVVMsWUFBWTtzQkFEbkIsZUFBZTt1QkFBQyxzQkFBc0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBSTlELFVBQVU7c0JBRFQsS0FBSztnQkFJTixNQUFNO3NCQURMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIENvbnRlbnRDaGlsZHJlbixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhWYWxpZGF0aW9uUmVzdWx0IH0gZnJvbSAnLi92YWxpZGF0aW9uLmNsYXNzJztcclxuaW1wb3J0IHsgQVhWYWxpZGF0YWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvZWxlbWVudC5jbGFzcyc7XHJcbmltcG9ydCB7IEFYQmFzZUV2ZW50IH0gZnJvbSAnLi4vYmFzZS9ldmVudHMuY2xhc3MnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXZhbGlkYXRpb24tZm9ybScsXHJcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhWYWxpZGF0aW9uRm9ybUNvbXBvbmVudCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSB3aWRnZXRzOiBBWFZhbGlkYXRhYmxlQ29tcG9uZW50W10gPSBbXTtcclxuXHJcblxyXG4gIEBDb250ZW50Q2hpbGRyZW4oQVhWYWxpZGF0YWJsZUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxyXG4gIHByaXZhdGUgd2lkZ2V0c1F1ZXJ5OiBRdWVyeUxpc3Q8QVhWYWxpZGF0YWJsZUNvbXBvbmVudD47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdmFsaWRhdGVPbjogJ2JsdXInIHwgJ2NoYW5nZScgfCAnc3VibWl0JyA9ICdzdWJtaXQnO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvbkluaXQ6IEV2ZW50RW1pdHRlcjxBWEJhc2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQmFzZUV2ZW50PigpO1xyXG5cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5vbkluaXQuZW1pdCh7XHJcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMucmVmLm5hdGl2ZUVsZW1lbnRcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGUoKTogUHJvbWlzZTxBWFZhbGlkYXRpb25SZXN1bHQ+IHtcclxuICAgIHRoaXMud2lkZ2V0cy5wdXNoKC4uLnRoaXMud2lkZ2V0c1F1ZXJ5LnRvQXJyYXkoKS5maWx0ZXIoYyA9PiAhdGhpcy53aWRnZXRzLmluY2x1ZGVzKGMpKSk7XHJcbiAgICAvL1xyXG4gICAgdGhpcy53aWRnZXRzLmZvckVhY2godyA9PiB7XHJcbiAgICAgIGlmICh3LnZhbGlkYXRpb24gJiYgdy52YWxpZGF0aW9uLnZhbGlkYXRlT24gPT0gbnVsbCkge1xyXG4gICAgICAgIHcudmFsaWRhdGlvbi52YWxpZGF0ZU9uID0gdGhpcy52YWxpZGF0ZU9uO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8QVhWYWxpZGF0aW9uUmVzdWx0PihyZXNvbHZlID0+IHtcclxuICAgICAgaWYgKCF0aGlzLndpZGdldHMgfHwgdGhpcy53aWRnZXRzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyByZXN1bHQ6IHRydWUgfSk7XHJcbiAgICAgIH1cclxuICAgICAgUHJvbWlzZS5hbGwodGhpcy53aWRnZXRzLm1hcCgoYykgPT4gYy52YWxpZGF0ZSgpKSkudGhlbigocnVsZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGZhaWxlZCA9IHJ1bGVzLmZpbHRlcigoYzogYW55KSA9PiAhYy5yZXN1bHQpO1xyXG4gICAgICAgIGlmIChmYWlsZWQubGVuZ3RoKSB7XHJcbiAgICAgICAgICByZXNvbHZlKHtcclxuICAgICAgICAgICAgcmVzdWx0OiBmYWxzZSxcclxuICAgICAgICAgICAgaXRlbXM6IGZhaWxlZFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgcmVzb2x2ZSh7IHJlc3VsdDogdHJ1ZSB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgYWRkV2lkZ2V0KHdpZGdldDogQVhWYWxpZGF0YWJsZUNvbXBvbmVudCkge1xyXG4gICAgaWYod2lkZ2V0KVxyXG4gICAgICB0aGlzLndpZGdldHMucHVzaCh3aWRnZXQpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,6 +1,5 @@
1
- import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
1
+ import { Component, ElementRef, Inject, Input, Optional } from '@angular/core';
2
2
  import { AXTranslator } from '@acorex/core';
3
- import { AXBaseComponentMixin } from '../base';
4
3
  import * as i0 from "@angular/core";
5
4
  // @dynamic
6
5
  export class AXValidationRules {
@@ -21,41 +20,39 @@ export class AXValidationRules {
21
20
  }
22
21
  }
23
22
  AXValidationRules.registredRules = [];
24
- export class AXValidationRuleComponent extends AXBaseComponentMixin {
25
- constructor(elementRef, cdr) {
26
- super(elementRef, cdr);
27
- this.rule = 'required';
28
- this.showMessage = true;
23
+ export class AXValidationRuleComponent {
24
+ constructor(ref) {
25
+ this.ref = ref;
26
+ this.type = 'required';
29
27
  this.enabled = true;
30
- }
31
- onInit() {
32
- this._getHostElement().validate = this.validate.bind(this);
28
+ if (ref)
29
+ ref.nativeElement["__axContext__"] = this;
33
30
  }
34
31
  validate(value) {
35
32
  if (this.enabled === false) {
36
33
  return Promise.resolve({ result: true });
37
34
  }
38
- const regRule = AXValidationRules.get(this.rule);
35
+ const regRule = AXValidationRules.get(this.type);
39
36
  if (regRule) {
40
- return this._internalValidate(regRule.rule.rule, value, this.message || regRule.rule.message, regRule.rule.value);
37
+ return this.internalValidate(regRule.rule.type, value, this.message || regRule.rule.message, regRule.rule.value);
41
38
  }
42
39
  else {
43
- return this._internalValidate(this.rule, value, this.message, this.value);
40
+ return this.internalValidate(this.type, value, this.message, this.value);
44
41
  }
45
42
  }
46
- _internalValidate(type, value, message, ruleValue) {
43
+ internalValidate(type, value, message, ruleValue) {
47
44
  return new Promise(resolve => {
48
45
  switch (type) {
49
46
  case 'required':
50
47
  resolve({
51
- message: this.showMessage ? (message || AXTranslator.get('validation.messages.required')) : null,
48
+ message: message || AXTranslator.get('validation.messages.required'),
52
49
  result: value != null && value != '' && (!Array.isArray(value) || (Array.isArray(value) && value.length > 0))
53
50
  });
54
51
  break;
55
52
  case 'regex':
56
53
  const ex = new RegExp(ruleValue);
57
54
  resolve({
58
- message: this.showMessage ? (message || AXTranslator.get('validation.messages.regex')) : null,
55
+ message: message || AXTranslator.get('validation.messages.regex'),
59
56
  result: ex.test(value)
60
57
  });
61
58
  break;
@@ -63,7 +60,7 @@ export class AXValidationRuleComponent extends AXBaseComponentMixin {
63
60
  case 'callback':
64
61
  if (typeof ruleValue === 'function') {
65
62
  const res = {};
66
- res.message = this.showMessage ? message : null;
63
+ res.message = message;
67
64
  const val = ruleValue({ value, message });
68
65
  if (val instanceof Promise) {
69
66
  val.then(c => {
@@ -89,25 +86,26 @@ export class AXValidationRuleComponent extends AXBaseComponentMixin {
89
86
  });
90
87
  }
91
88
  }
92
- AXValidationRuleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXValidationRuleComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
93
- AXValidationRuleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: AXValidationRuleComponent, selector: "ax-validation-rule", inputs: { rule: "rule", message: "message", showMessage: "showMessage", value: "value", enabled: "enabled" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXValidationRuleComponent, decorators: [{
89
+ AXValidationRuleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXValidationRuleComponent, deps: [{ token: ElementRef, optional: true }], target: i0.ɵɵFactoryTarget.Component });
90
+ AXValidationRuleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXValidationRuleComponent, selector: "ax-validation-rule", inputs: { type: "type", message: "message", value: "value", enabled: "enabled" }, ngImport: i0, template: '', isInline: true });
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXValidationRuleComponent, decorators: [{
95
92
  type: Component,
96
93
  args: [{
97
94
  selector: 'ax-validation-rule',
98
- template: '',
99
- changeDetection: ChangeDetectionStrategy.OnPush,
100
- encapsulation: ViewEncapsulation.None
95
+ template: ''
101
96
  }]
102
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { rule: [{
97
+ }], ctorParameters: function () { return [{ type: i0.ElementRef, decorators: [{
98
+ type: Inject,
99
+ args: [ElementRef]
100
+ }, {
101
+ type: Optional
102
+ }] }]; }, propDecorators: { type: [{
103
103
  type: Input
104
104
  }], message: [{
105
105
  type: Input
106
- }], showMessage: [{
107
- type: Input
108
106
  }], value: [{
109
107
  type: Input
110
108
  }], enabled: [{
111
109
  type: Input
112
110
  }] } });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1ydWxlLndpZGdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvdmFsaWRhdGlvbi92YWxpZGF0aW9uLXJ1bGUud2lkZ2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUEyQixLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBRy9DLFdBQVc7QUFDWCxNQUFNLE9BQU8saUJBQWlCO0lBR3JCLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBWSxFQUFFLElBQXNCO1FBQ3hELE1BQU0sTUFBTSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxJQUFJLE1BQU0sRUFBRTtZQUNWLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1NBQ3BCO2FBQ0k7WUFDSCxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUNwQyxJQUFJO2dCQUNKLElBQUk7YUFDTCxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQVk7UUFDNUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7QUFqQmMsZ0NBQWMsR0FBK0MsRUFBRSxDQUFDO0FBMkJqRixNQUFNLE9BQU8seUJBQTBCLFNBQVEsb0JBQW9CO0lBaUJqRSxZQUFZLFVBQXNCLEVBQUUsR0FBc0I7UUFDeEQsS0FBSyxDQUFDLFVBQVUsRUFBRSxH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QUFFO2dDQUNYLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDOzRCQUNqQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0NBQ1gsR0FBRyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7NEJBQ3JCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUU7Z0NBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDOzRCQUNmLENBQUMsQ0FBQyxDQUFDO3lCQUNKOzZCQUNJOzRCQUNILEdBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDOzRCQUNqQixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7eUJBQ2Q7cUJBQ0Y7eUJBQ0k7d0JBQ0gsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7cUJBQzNCO29CQUNELE1BQU07Z0JBQ1I7b0JBQ0UsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7YUFDN0I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3NIQW5GVSx5QkFBeUI7MEdBQXpCLHlCQUF5QiwrTEFKMUIsRUFBRTsyRkFJRCx5QkFBeUI7a0JBTnJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0QztpSUFJQyxJQUFJO3NCQURILEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhWYWxpZGF0aW9uUnVsZVJlc3VsdCwgQVhWYWxpZGF0aW9uUnVsZSwgQVhWYWxpZGF0aW9uUnVsZVR5cGVzIH0gZnJvbSAnLi92YWxpZGF0aW9uLmNsYXNzJztcclxuaW1wb3J0IHsgQVhUcmFuc2xhdG9yIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50TWl4aW4gfSBmcm9tICcuLi9iYXNlJztcclxuXHJcblxyXG4vLyBAZHluYW1pY1xyXG5leHBvcnQgY2xhc3MgQVhWYWxpZGF0aW9uUnVsZXMge1xyXG4gIHByaXZhdGUgc3RhdGljIHJlZ2lzdHJlZFJ1bGVzOiB7IG5hbWU6IHN0cmluZywgcnVsZTogQVhWYWxpZGF0aW9uUnVsZSB9W10gPSBbXTtcclxuXHJcbiAgcHVibGljIHN0YXRpYyBhZGRSdWxlKG5hbWU6IHN0cmluZywgcnVsZTogQVhWYWxpZGF0aW9uUnVsZSkge1xyXG4gICAgY29uc3QgZXhpc3RzID0gQVhWYWxpZGF0aW9uUnVsZXMuZ2V0KG5hbWUpO1xyXG4gICAgaWYgKGV4aXN0cykge1xyXG4gICAgICBleGlzdHMucnVsZSA9IHJ1bGU7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgQVhWYWxpZGF0aW9uUnVsZXMucmVnaXN0cmVkUnVsZXMucHVzaCh7XHJcbiAgICAgICAgbmFtZSxcclxuICAgICAgICBydWxlXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBnZXQobmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yZWdpc3RyZWRSdWxlcy5maW5kKGMgPT4gYy5uYW1lID09PSBuYW1lKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXZhbGlkYXRpb24tcnVsZScsXHJcbiAgdGVtcGxhdGU6ICcnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYVmFsaWRhdGlvblJ1bGVDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VDb21wb25lbnRNaXhpbiBpbXBsZW1lbnRzIEFYVmFsaWRhdGlvblJ1bGUge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHJ1bGU6IEFYVmFsaWRhdGlvblJ1bGVUeXBlcyA9ICdyZXF1aXJlZCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbWVzc2FnZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dNZXNzYWdlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICB2YWx1ZTogYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGVuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xyXG4gIH1cclxuXHJcbiAgb25Jbml0KCkge1xyXG4gICAgKHRoaXMuX2dldEhvc3RFbGVtZW50KCkgYXMgYW55KS52YWxpZGF0ZSA9IHRoaXMudmFsaWRhdGUuYmluZCh0aGlzKTtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlKHZhbHVlOiBhbnkpOiBQcm9taXNlPEFYVmFsaWRhdGlvblJ1bGVSZXN1bHQ+IHtcclxuICAgIGlmICh0aGlzLmVuYWJsZWQgPT09IGZhbHNlKSB7XHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyByZXN1bHQ6IHRydWUgfSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCByZWdSdWxlID0gQVhWYWxpZGF0aW9uUnVsZXMuZ2V0KHRoaXMucnVsZSk7XHJcbiAgICBpZiAocmVnUnVsZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5faW50ZXJuYWxWYWxpZGF0ZShyZWdSdWxlLnJ1bGUucnVsZSwgdmFsdWUsIHRoaXMubWVzc2FnZSB8fCByZWdSdWxlLnJ1bGUubWVzc2FnZSwgcmVnUnVsZS5ydWxlLnZhbHVlKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5faW50ZXJuYWxWYWxpZGF0ZSh0aGlzLnJ1bGUsIHZhbHVlLCB0aGlzLm1lc3NhZ2UsIHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgX2ludGVybmFsVmFsaWRhdGUodHlwZTogc3RyaW5nLCB2YWx1ZT86IGFueSwgbWVzc2FnZT86IHN0cmluZywgcnVsZVZhbHVlPzogYW55KTogUHJvbWlzZTxBWFZhbGlkYXRpb25SdWxlUmVzdWx0PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8QVhWYWxpZGF0aW9uUnVsZVJlc3VsdD4ocmVzb2x2ZSA9PiB7XHJcbiAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ3JlcXVpcmVkJzpcclxuICAgICAgICAgIHJlc29sdmUoe1xyXG4gICAgICAgICAgICBtZXNzYWdlOiB0aGlzLnNob3dNZXNzYWdlID8gKG1lc3NhZ2UgfHwgQVhUcmFuc2xhdG9yLmdldCgndmFsaWRhdGlvbi5tZXNzYWdlcy5yZXF1aXJlZCcpKSA6IG51bGwsXHJcbiAgICAgICAgICAgIHJlc3VsdDogdmFsdWUgIT0gbnVsbCAmJiB2YWx1ZSAhPSAnJyAmJiAoIUFycmF5LmlzQXJyYXkodmFsdWUpIHx8IChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPiAwKSlcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAncmVnZXgnOlxyXG4gICAgICAgICAgY29uc3QgZXggPSBuZXcgUmVnRXhwKHJ1bGVWYWx1ZSk7XHJcbiAgICAgICAgICByZXNvbHZlKHtcclxuICAgICAgICAgICAgbWVzc2FnZTogdGhpcy5zaG93TWVzc2FnZSA/IChtZXNzYWdlIHx8IEFYVHJhbnNsYXRvci5nZXQoJ3ZhbGlkYXRpb24ubWVzc2FnZXMucmVnZXgnKSkgOiBudWxsLFxyXG4gICAgICAgICAgICByZXN1bHQ6IGV4LnRlc3QodmFsdWUpXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2N1c3RvbSc6XHJcbiAgICAgICAgY2FzZSAnY2FsbGJhY2snOlxyXG4gICAgICAgICAgaWYgKHR5cGVvZiBydWxlVmFsdWUgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgY29uc3QgcmVzOiBhbnkgPSB7fTtcclxuICAgICAgICAgICAgcmVzLm1lc3NhZ2UgPSB0aGlzLnNob3dNZXNzYWdlID8gbWVzc2FnZSA6IG51bGw7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbCA9IHJ1bGVWYWx1ZSh7IHZhbHVlLCBtZXNzYWdlIH0pO1xyXG4gICAgICAgICAgICBpZiAodmFsIGluc3RhbmNlb2YgUHJvbWlzZSkge1xyXG4gICAgICAgICAgICAgIHZhbC50aGVuKGMgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmVzLnJlc3VsdCA9IGM7XHJcbiAgICAgICAgICAgICAgfSkuY2F0Y2goYyA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXMucmVzdWx0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgfSkuZmluYWxseSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKHJlcyk7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgcmVzLnJlc3VsdCA9IHZhbDtcclxuICAgICAgICAgICAgICByZXNvbHZlKHJlcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICByZXNvbHZlKHsgcmVzdWx0OiB0cnVlIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHJlc29sdmUoeyByZXN1bHQ6IHRydWUgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1ydWxlLndpZGdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvdmFsaWRhdGlvbi92YWxpZGF0aW9uLXJ1bGUud2lkZ2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBVSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRzVDLFdBQVc7QUFDWCxNQUFNLE9BQU8saUJBQWlCO0lBR3JCLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBWSxFQUFFLElBQXNCO1FBQ3hELE1BQU0sTUFBTSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxJQUFJLE1BQU0sRUFBRTtZQUNWLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1NBQ3BCO2FBQ0k7WUFDSCxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUNwQyxJQUFJO2dCQUNKLElBQUk7YUFDTCxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQVk7UUFDNUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7QUFqQmMsZ0NBQWMsR0FBK0MsRUFBRSxDQUFDO0FBeUJqRixNQUFNLE9BQU8seUJBQXlCO0lBWXBDLFlBR1UsR0FBZ0I7UUFBaEIsUUFBRyxHQUFILEdBQUcsQ0FBYTtRQWIxQixTQUFJLEdBQTBCLFVBQVUsQ0FBQztRQU96QyxZQUFPLEdBQVksSUFBSSxDQUFDO1FBT3RCLElBQUks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d0JBQ0gsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7cUJBQzNCO29CQUNELE1BQU07Z0JBQ1I7b0JBQ0UsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7YUFDN0I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3VIQTlFVSx5QkFBeUIsa0JBYTFCLFVBQVU7MkdBYlQseUJBQXlCLDRJQUYxQixFQUFFOzRGQUVELHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsRUFBRTtpQkFDYjs7MEJBY0ksTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsUUFBUTs0Q0FaWCxJQUFJO3NCQURILEtBQUs7Z0JBR04sT0FBTztzQkFETixLQUFLO2dCQUdOLEtBQUs7c0JBREosS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCwgaW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhWYWxpZGF0aW9uUnVsZVJlc3VsdCwgQVhWYWxpZGF0aW9uUnVsZSwgQVhWYWxpZGF0aW9uUnVsZVR5cGVzIH0gZnJvbSAnLi92YWxpZGF0aW9uLmNsYXNzJztcclxuaW1wb3J0IHsgQVhUcmFuc2xhdG9yIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuXHJcblxyXG4vLyBAZHluYW1pY1xyXG5leHBvcnQgY2xhc3MgQVhWYWxpZGF0aW9uUnVsZXMge1xyXG4gIHByaXZhdGUgc3RhdGljIHJlZ2lzdHJlZFJ1bGVzOiB7IG5hbWU6IHN0cmluZywgcnVsZTogQVhWYWxpZGF0aW9uUnVsZSB9W10gPSBbXTtcclxuXHJcbiAgcHVibGljIHN0YXRpYyBhZGRSdWxlKG5hbWU6IHN0cmluZywgcnVsZTogQVhWYWxpZGF0aW9uUnVsZSkge1xyXG4gICAgY29uc3QgZXhpc3RzID0gQVhWYWxpZGF0aW9uUnVsZXMuZ2V0KG5hbWUpO1xyXG4gICAgaWYgKGV4aXN0cykge1xyXG4gICAgICBleGlzdHMucnVsZSA9IHJ1bGU7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgQVhWYWxpZGF0aW9uUnVsZXMucmVnaXN0cmVkUnVsZXMucHVzaCh7XHJcbiAgICAgICAgbmFtZSxcclxuICAgICAgICBydWxlXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBnZXQobmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yZWdpc3RyZWRSdWxlcy5maW5kKGMgPT4gYy5uYW1lID09PSBuYW1lKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXZhbGlkYXRpb24tcnVsZScsXHJcbiAgdGVtcGxhdGU6ICcnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFZhbGlkYXRpb25SdWxlQ29tcG9uZW50IGltcGxlbWVudHMgQVhWYWxpZGF0aW9uUnVsZSB7XHJcbiAgQElucHV0KClcclxuICB0eXBlOiBBWFZhbGlkYXRpb25SdWxlVHlwZXMgPSAncmVxdWlyZWQnO1xyXG4gIEBJbnB1dCgpXHJcbiAgbWVzc2FnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgdmFsdWU6IGFueTtcclxuXHJcbiAgQElucHV0KClcclxuICBlbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChFbGVtZW50UmVmKVxyXG4gICAgQE9wdGlvbmFsKClcclxuICAgIHByaXZhdGUgcmVmPzogRWxlbWVudFJlZikge1xyXG4gICAgaWYgKHJlZilcclxuICAgICAgcmVmLm5hdGl2ZUVsZW1lbnRbXCJfX2F4Q29udGV4dF9fXCJdID0gdGhpcztcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlKHZhbHVlOiBhbnkpOiBQcm9taXNlPEFYVmFsaWRhdGlvblJ1bGVSZXN1bHQ+IHtcclxuICAgIGlmICh0aGlzLmVuYWJsZWQgPT09IGZhbHNlKSB7XHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyByZXN1bHQ6IHRydWUgfSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCByZWdSdWxlID0gQVhWYWxpZGF0aW9uUnVsZXMuZ2V0KHRoaXMudHlwZSk7XHJcbiAgICBpZiAocmVnUnVsZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbFZhbGlkYXRlKHJlZ1J1bGUucnVsZS50eXBlLCB2YWx1ZSwgdGhpcy5tZXNzYWdlIHx8IHJlZ1J1bGUucnVsZS5tZXNzYWdlLCByZWdSdWxlLnJ1bGUudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmludGVybmFsVmFsaWRhdGUodGhpcy50eXBlLCB2YWx1ZSwgdGhpcy5tZXNzYWdlLCB0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGludGVybmFsVmFsaWRhdGUodHlwZTogc3RyaW5nLCB2YWx1ZT86IGFueSwgbWVzc2FnZT86IHN0cmluZywgcnVsZVZhbHVlPzogYW55KTogUHJvbWlzZTxBWFZhbGlkYXRpb25SdWxlUmVzdWx0PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8QVhWYWxpZGF0aW9uUnVsZVJlc3VsdD4ocmVzb2x2ZSA9PiB7XHJcbiAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ3JlcXVpcmVkJzpcclxuICAgICAgICAgIHJlc29sdmUoe1xyXG4gICAgICAgICAgICBtZXNzYWdlOiBtZXNzYWdlIHx8IEFYVHJhbnNsYXRvci5nZXQoJ3ZhbGlkYXRpb24ubWVzc2FnZXMucmVxdWlyZWQnKSxcclxuICAgICAgICAgICAgcmVzdWx0OiB2YWx1ZSAhPSBudWxsICYmIHZhbHVlICE9ICcnICYmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkgfHwgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA+IDApKVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdyZWdleCc6XHJcbiAgICAgICAgICBjb25zdCBleCA9IG5ldyBSZWdFeHAocnVsZVZhbHVlKTtcclxuICAgICAgICAgIHJlc29sdmUoe1xyXG4gICAgICAgICAgICBtZXNzYWdlOiBtZXNzYWdlIHx8IEFYVHJhbnNsYXRvci5nZXQoJ3ZhbGlkYXRpb24ubWVzc2FnZXMucmVnZXgnKSxcclxuICAgICAgICAgICAgcmVzdWx0OiBleC50ZXN0KHZhbHVlKVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdjdXN0b20nOlxyXG4gICAgICAgIGNhc2UgJ2NhbGxiYWNrJzpcclxuICAgICAgICAgIGlmICh0eXBlb2YgcnVsZVZhbHVlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlczogYW55ID0ge307XHJcbiAgICAgICAgICAgIHJlcy5tZXNzYWdlID0gbWVzc2FnZTtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gcnVsZVZhbHVlKHsgdmFsdWUsIG1lc3NhZ2UgfSk7XHJcbiAgICAgICAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBQcm9taXNlKSB7XHJcbiAgICAgICAgICAgICAgdmFsLnRoZW4oYyA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXMucmVzdWx0ID0gYztcclxuICAgICAgICAgICAgICB9KS5jYXRjaChjID0+IHtcclxuICAgICAgICAgICAgICAgIHJlcy5yZXN1bHQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB9KS5maW5hbGx5KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUocmVzKTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICByZXMucmVzdWx0ID0gdmFsO1xyXG4gICAgICAgICAgICAgIHJlc29sdmUocmVzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUoeyByZXN1bHQ6IHRydWUgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgcmVzb2x2ZSh7IHJlc3VsdDogdHJ1ZSB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvdmFsaWRhdGlvbi92YWxpZGF0aW9uLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuZXhwb3J0IHR5cGUgQVhWYWxpZGF0aW9uUnVsZVR5cGVzID0gJ3JlcXVpcmVkJyB8ICdyZWdleCcgfCAnY2FsbGJhY2snIHwgJ2N1c3RvbSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYVmFsaWRhdGlvblJ1bGUge1xyXG4gIG1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgcnVsZTogQVhWYWxpZGF0aW9uUnVsZVR5cGVzO1xyXG4gIHZhbHVlPzogYW55O1xyXG4gIGVuYWJsZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYVmFsaWRhdGlvblJ1bGVSZXN1bHQge1xyXG4gIG1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgcmVzdWx0OiBib29sZWFuO1xyXG4gIHRhcmdldD86IGFueTtcclxuICB2YWx1ZT86IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWFZhbGlkYXRpb25SZXN1bHQge1xyXG4gIHJlc3VsdDogYm9vbGVhbjtcclxuICBpdGVtcz86IEFYVmFsaWRhdGlvblJ1bGVSZXN1bHRbXTtcclxufVxyXG5cclxuXHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvdmFsaWRhdGlvbi92YWxpZGF0aW9uLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuZXhwb3J0IHR5cGUgQVhWYWxpZGF0aW9uUnVsZVR5cGVzID0gJ3JlcXVpcmVkJyB8ICdyZWdleCcgfCAnY2FsbGJhY2snIHwgJ2N1c3RvbSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYVmFsaWRhdGlvblJ1bGUge1xyXG4gIG1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgdHlwZTogQVhWYWxpZGF0aW9uUnVsZVR5cGVzO1xyXG4gIHZhbHVlPzogYW55O1xyXG4gIGVuYWJsZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYVmFsaWRhdGlvblJ1bGVSZXN1bHQge1xyXG4gIG1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgcmVzdWx0OiBib29sZWFuO1xyXG4gIHRhcmdldD86IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWFZhbGlkYXRpb25SZXN1bHQge1xyXG4gIHJlc3VsdDogYm9vbGVhbjtcclxuICBpdGVtcz86IEFYVmFsaWRhdGlvblJ1bGVSZXN1bHRbXTtcclxufVxyXG5cclxuXHJcbiJdfQ==
@@ -0,0 +1,89 @@
1
+ import { Component, Input, Output, EventEmitter, Injectable, ElementRef, Optional, Inject } from '@angular/core';
2
+ import { AXValidationRuleComponent } from './validation-rule.widget';
3
+ import * as i0 from "@angular/core";
4
+ export class AXValidation {
5
+ constructor() {
6
+ this.validateOn = 'submit';
7
+ }
8
+ validate(value) {
9
+ if (!this.rules || this.rules.length === 0) {
10
+ return Promise.resolve({ result: true });
11
+ }
12
+ return new Promise(resolve => {
13
+ Promise.all(this.rules.map(c => {
14
+ if (c instanceof AXValidationRuleComponent) {
15
+ return c.validate(value);
16
+ }
17
+ else {
18
+ const v = new AXValidationRuleComponent();
19
+ Object.assign(v, c);
20
+ return v.validate(value);
21
+ }
22
+ })).then(d => {
23
+ const error = d.find(c => c.result === false);
24
+ if (error) {
25
+ resolve(error);
26
+ }
27
+ else {
28
+ resolve({ result: true });
29
+ }
30
+ });
31
+ });
32
+ }
33
+ }
34
+ AXValidation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXValidation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
35
+ AXValidation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXValidation });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXValidation, decorators: [{
37
+ type: Injectable
38
+ }] });
39
+ export class AXValidationComponent extends AXValidation {
40
+ constructor(ref) {
41
+ super();
42
+ this.ref = ref;
43
+ this.rulesChange = new EventEmitter();
44
+ this.showMessage = true;
45
+ this._rules = [];
46
+ this.validateOn = null;
47
+ }
48
+ _getComponenets() {
49
+ return Array.from(this.ref?.nativeElement.querySelectorAll('ax-validation-rule')).map(c => c["__axContext__"]);
50
+ }
51
+ get rules() {
52
+ return this._rules;
53
+ }
54
+ set rules(v) {
55
+ this._rules = v;
56
+ if (this.rulesChange) {
57
+ this.rulesChange.emit(v);
58
+ }
59
+ }
60
+ ngAfterContentInit() {
61
+ if (this.rules && this.rules.length === 0) {
62
+ this.rules.push(...this._getComponenets());
63
+ }
64
+ }
65
+ }
66
+ AXValidationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXValidationComponent, deps: [{ token: ElementRef, optional: true }], target: i0.ɵɵFactoryTarget.Component });
67
+ AXValidationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXValidationComponent, selector: "ax-validation", inputs: { rules: "rules", validateOn: "validateOn" }, outputs: { rulesChange: "rulesChange", showMessage: "showMessage" }, providers: [{ provide: AXValidation, useExisting: AXValidationComponent }], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXValidationComponent, decorators: [{
69
+ type: Component,
70
+ args: [{
71
+ selector: 'ax-validation',
72
+ template: '<ng-content></ng-content>',
73
+ providers: [{ provide: AXValidation, useExisting: AXValidationComponent }]
74
+ }]
75
+ }], ctorParameters: function () { return [{ type: i0.ElementRef, decorators: [{
76
+ type: Inject,
77
+ args: [ElementRef]
78
+ }, {
79
+ type: Optional
80
+ }] }]; }, propDecorators: { rulesChange: [{
81
+ type: Output
82
+ }], showMessage: [{
83
+ type: Output
84
+ }], rules: [{
85
+ type: Input
86
+ }], validateOn: [{
87
+ type: Input
88
+ }] } });
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBOEIsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdJLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUtyRSxNQUFNLE9BQWdCLFlBQVk7SUFEbEM7UUFJRSxlQUFVLEdBQWlDLFFBQVEsQ0FBQztLQThCckQ7SUEzQkMsUUFBUSxDQUFDLEtBQVU7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzFDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQzFDO1FBQ0QsT0FBTyxJQUFJLE9BQU8sQ0FBeUIsT0FBTyxDQUFDLEVBQUU7WUFDbkQsT0FBTyxDQUFDLEdBQUcsQ0FDVCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFlBQVkseUJBQXlCLEVBQUU7b0JBQzFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDMUI7cUJBQ0k7b0JBQ0gsTUFBTSxDQUFDLEdBQUcsSUFBSSx5QkFBeUIsRUFBRSxDQUFDO29CQUMxQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDcEIsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUMxQjtZQUNILENBQUMsQ0FBQyxDQUNILENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNULE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLEtBQUssRUFBRTtvQkFDVCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2hCO3FCQUFNO29CQUNMLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2lCQUMzQjtZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzswR0EvQm1CLFlBQVk7OEdBQVosWUFBWTs0RkFBWixZQUFZO2tCQURqQyxVQUFVOztBQTBDWCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsWUFBWTtJQU1yRCxZQUdVLEdBQWdCO1FBRXhCLEtBQUssRUFBRSxDQUFDO1FBRkEsUUFBRyxHQUFILEdBQUcsQ0FBYTtRQU8xQixnQkFBVyxHQUFxQyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUd2RixnQkFBVyxHQUFZLElBQUksQ0FBQztRQUVwQixXQUFNLEdBQXVCLEVBQUUsQ0FBQztRQWN4QyxlQUFVLEdBQWlDLElBQUksQ0FBQztJQXZCaEQsQ0FBQztJQVZELGVBQWU7UUFDYixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQXFCLENBQUMsQ0FBQztJQUNySSxDQUFDO0lBbUJELElBQ1csS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBVyxLQUFLLENBQUMsQ0FBcUI7UUFDcEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQU1ELGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7U0FDNUM7SUFDSCxDQUFDOzttSEExQ1UscUJBQXFCLGtCQU90QixVQUFVO3VHQVBULHFCQUFxQixtS0FGckIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLENBQUMsaURBRGhFLDJCQUEyQjs0RkFHMUIscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyx1QkFBdUIsRUFBRSxDQUFDO2lCQUMzRTs7MEJBUUksTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsUUFBUTs0Q0FRWCxXQUFXO3NCQURWLE1BQU07Z0JBSVAsV0FBVztzQkFEVixNQUFNO2dCQU1JLEtBQUs7c0JBRGYsS0FBSztnQkFZTixVQUFVO3NCQURULEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUsIEVsZW1lbnRSZWYsIE9wdGlvbmFsLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhWYWxpZGF0YWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvZWxlbWVudC5jbGFzcyc7XHJcbmltcG9ydCB7IEFYVmFsaWRhdGlvblJ1bGVDb21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRpb24tcnVsZS53aWRnZXQnO1xyXG5pbXBvcnQgeyBBWFZhbGlkYXRpb25SdWxlLCBBWFZhbGlkYXRpb25SdWxlUmVzdWx0IH0gZnJvbSAnLi92YWxpZGF0aW9uLmNsYXNzJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFZhbGlkYXRpb24ge1xyXG5cclxuICBhYnN0cmFjdCBydWxlczogQVhWYWxpZGF0aW9uUnVsZVtdO1xyXG4gIHZhbGlkYXRlT246ICdibHVyJyB8ICdjaGFuZ2UnIHwgJ3N1Ym1pdCcgPSAnc3VibWl0JztcclxuICBzaG93TWVzc2FnZTogYm9vbGVhbjtcclxuXHJcbiAgdmFsaWRhdGUodmFsdWU6IGFueSk6IFByb21pc2U8QVhWYWxpZGF0aW9uUnVsZVJlc3VsdD4ge1xyXG4gICAgaWYgKCF0aGlzLnJ1bGVzIHx8IHRoaXMucnVsZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyByZXN1bHQ6IHRydWUgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8QVhWYWxpZGF0aW9uUnVsZVJlc3VsdD4ocmVzb2x2ZSA9PiB7XHJcbiAgICAgIFByb21pc2UuYWxsKFxyXG4gICAgICAgIHRoaXMucnVsZXMubWFwKGMgPT4ge1xyXG4gICAgICAgICAgaWYgKGMgaW5zdGFuY2VvZiBBWFZhbGlkYXRpb25SdWxlQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjLnZhbGlkYXRlKHZhbHVlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCB2ID0gbmV3IEFYVmFsaWRhdGlvblJ1bGVDb21wb25lbnQoKTtcclxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih2LCBjKTtcclxuICAgICAgICAgICAgcmV0dXJuIHYudmFsaWRhdGUodmFsdWUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICkudGhlbihkID0+IHtcclxuICAgICAgICBjb25zdCBlcnJvciA9IGQuZmluZChjID0+IGMucmVzdWx0ID09PSBmYWxzZSk7XHJcbiAgICAgICAgaWYgKGVycm9yKSB7XHJcbiAgICAgICAgICByZXNvbHZlKGVycm9yKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVzb2x2ZSh7IHJlc3VsdDogdHJ1ZSB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtdmFsaWRhdGlvbicsXHJcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYVmFsaWRhdGlvbiwgdXNlRXhpc3Rpbmc6IEFYVmFsaWRhdGlvbkNvbXBvbmVudCB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhWYWxpZGF0aW9uQ29tcG9uZW50IGV4dGVuZHMgQVhWYWxpZGF0aW9uIHtcclxuXHJcbiAgX2dldENvbXBvbmVuZXRzKCk6IEFYVmFsaWRhdGlvblJ1bGVbXSB7XHJcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnJlZj8ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdheC12YWxpZGF0aW9uLXJ1bGUnKSkubWFwKGMgPT4gY1tcIl9fYXhDb250ZXh0X19cIl0gYXMgQVhWYWxpZGF0aW9uUnVsZSk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoRWxlbWVudFJlZilcclxuICAgIEBPcHRpb25hbCgpXHJcbiAgICBwcml2YXRlIHJlZj86IEVsZW1lbnRSZWZcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcnVsZXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxBWFZhbGlkYXRpb25SdWxlW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFZhbGlkYXRpb25SdWxlW10+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHNob3dNZXNzYWdlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHJpdmF0ZSBfcnVsZXM6IEFYVmFsaWRhdGlvblJ1bGVbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgcnVsZXMoKTogQVhWYWxpZGF0aW9uUnVsZVtdIHtcclxuICAgIHJldHVybiB0aGlzLl9ydWxlcztcclxuICB9XHJcbiAgcHVibGljIHNldCBydWxlcyh2OiBBWFZhbGlkYXRpb25SdWxlW10pIHtcclxuICAgIHRoaXMuX3J1bGVzID0gdjtcclxuICAgIGlmICh0aGlzLnJ1bGVzQ2hhbmdlKSB7XHJcbiAgICAgIHRoaXMucnVsZXNDaGFuZ2UuZW1pdCh2KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdmFsaWRhdGVPbjogJ2JsdXInIHwgJ2NoYW5nZScgfCAnc3VibWl0JyA9IG51bGw7XHJcblxyXG5cclxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5ydWxlcyAmJiB0aGlzLnJ1bGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnJ1bGVzLnB1c2goLi4udGhpcy5fZ2V0Q29tcG9uZW5ldHMoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==