@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,413 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ChangeDetectorRef, ViewEncapsulation, ElementRef } from '@angular/core';
2
+ import { AXDateTime, AXDateTimeRange, AXTranslator } from '@acorex/core';
3
+ import { AXConfig } from '@acorex/core';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../button/button.component";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@acorex/core";
8
+ export class AXCalendarBoxComponent {
9
+ constructor(cdr, ref) {
10
+ this.cdr = cdr;
11
+ this.ref = ref;
12
+ this.weekdays = [];
13
+ this.d = {
14
+ jalali: {
15
+ locale: AXConfig.get('dateTime.jalali.locale') || 'fa',
16
+ dir: 'rtl',
17
+ number: 1
18
+ },
19
+ gregorian: {
20
+ locale: AXConfig.get('dateTime.gregorian.locale') || 'en',
21
+ dir: 'ltr',
22
+ number: 0
23
+ }
24
+ };
25
+ this.size = 'md';
26
+ this.selectableHoliday = true;
27
+ this.dayStyle = [];
28
+ this.dayMinMaxResoan = '';
29
+ this.showTodayButton = false;
30
+ this.matrix = [];
31
+ this.rotated = false;
32
+ this._view = 'day';
33
+ this._depth = 'day';
34
+ this.holidays = [];
35
+ this.weekends = [];
36
+ this.onValueChanged = new EventEmitter();
37
+ this.onClick = new EventEmitter();
38
+ this.valueChange = new EventEmitter();
39
+ // set defaults
40
+ this.getHoliday = AXConfig.get('dateTime.holidays');
41
+ this.getWeekend = AXConfig.get('dateTime.weekends');
42
+ }
43
+ get view() {
44
+ return this._view;
45
+ }
46
+ set view(v) {
47
+ this._view = v;
48
+ this.navigate(0);
49
+ }
50
+ get depth() {
51
+ return this._depth;
52
+ }
53
+ set depth(v) {
54
+ this._depth = v;
55
+ this.view = v;
56
+ }
57
+ get value() {
58
+ return this._value?.date;
59
+ }
60
+ set value(v) {
61
+ let vv;
62
+ if (v) {
63
+ vv = AXDateTime.convert(v);
64
+ }
65
+ let unValidDate = false;
66
+ if (this.max || this.min) {
67
+ unValidDate = this.isInMInMaxRange(vv);
68
+ }
69
+ if (!unValidDate) {
70
+ if (vv && !vv.equal(this._value)) {
71
+ this._value = vv;
72
+ this._value.type = this.type;
73
+ this.setFocus(this._value.clone());
74
+ this.valueChange.emit(vv.date);
75
+ this.onValueChanged.emit({
76
+ component: this,
77
+ value: this._value?.date,
78
+ htmlElement: this.ref.nativeElement
79
+ });
80
+ }
81
+ if (v == undefined) {
82
+ this._value = null;
83
+ this.focusedValue = this.today;
84
+ this.viewRange = this.today.month.range;
85
+ this.navigate(0);
86
+ }
87
+ this.onClick.emit({
88
+ component: this,
89
+ value: this._value?.date,
90
+ htmlElement: this.ref.nativeElement
91
+ });
92
+ }
93
+ }
94
+ get today() {
95
+ return new AXDateTime(new Date(), this.type);
96
+ }
97
+ findDay(date) {
98
+ if (this.dayStyle.find((c) => c.date.split('T')[0] == date.toISOString().split('T')[0])) {
99
+ return true;
100
+ }
101
+ else {
102
+ return false;
103
+ }
104
+ }
105
+ getStyle(date) {
106
+ if (this.dayStyle.find((c) => c.date.split('T')[0] == date.toISOString().split('T')[0])) {
107
+ return this.dayStyle.find((c) => c.date.split('T')[0] == date.toISOString().split('T')[0]).style;
108
+ }
109
+ else {
110
+ return '';
111
+ }
112
+ }
113
+ getTitle(date) {
114
+ if (this.dayStyle.find((c) => c.date.split('T')[0] == date.toISOString().split('T')[0])) {
115
+ return this.dayStyle.find((c) => c.date.split('T')[0] == date.toISOString().split('T')[0]).text;
116
+ }
117
+ else {
118
+ if ((this.min && this.max && date.compaireNew(new AXDateTime(this.min, this.type), 'YMD', this.type) === -1) ||
119
+ date.compaireNew(new AXDateTime(this.max, this.type), 'YMD', this.type) === 1) {
120
+ return this.dayMinMaxResoan;
121
+ }
122
+ else {
123
+ return '';
124
+ }
125
+ }
126
+ }
127
+ ngOnInit() {
128
+ this.focusedValue = new AXDateTime(new Date(), this.type);
129
+ //
130
+ this.initLayout();
131
+ //
132
+ this.viewRange = this.today.month.range;
133
+ if (this.value) {
134
+ this.setFocus(new AXDateTime(this.value, this.type));
135
+ }
136
+ else {
137
+ this.setFocus(this.today);
138
+ }
139
+ this.view = 'day';
140
+ }
141
+ getViewCompaire(view) {
142
+ switch (view) {
143
+ case 'day':
144
+ return 'YMD';
145
+ case 'month':
146
+ return 'YM';
147
+ case 'year':
148
+ return 'Y';
149
+ }
150
+ }
151
+ ngAfterViewInit() {
152
+ this.navigate(0);
153
+ }
154
+ initLayout() {
155
+ if (!this.type) {
156
+ this.type = AXConfig.get('dateTime.type') || 'gregorian';
157
+ }
158
+ if (!this.locale) {
159
+ this.locale = this.d[this.type]?.locale || this.locale;
160
+ }
161
+ if (!this.dir) {
162
+ this.dir = this.d[this.type]?.dir || 'ltr';
163
+ }
164
+ this.numRotate = this.d[this.type]?.number || 0;
165
+ const path = 'dateTime.weekdaysShort';
166
+ this.weekdays = [
167
+ AXTranslator.get(`${path}.sun`, this.locale),
168
+ AXTranslator.get(`${path}.mon`, this.locale),
169
+ AXTranslator.get(`${path}.tue`, this.locale),
170
+ AXTranslator.get(`${path}.wed`, this.locale),
171
+ AXTranslator.get(`${path}.thu`, this.locale),
172
+ AXTranslator.get(`${path}.fri`, this.locale),
173
+ AXTranslator.get(`${path}.sat`, this.locale)
174
+ ];
175
+ }
176
+ getTodayName() {
177
+ return AXTranslator.get('dateTime.today', this.locale);
178
+ }
179
+ prev() {
180
+ this.navigate(-1);
181
+ }
182
+ next() {
183
+ this.navigate(1);
184
+ }
185
+ rotate(array, n) {
186
+ const len = array.length;
187
+ return !(n % len) ? array : n > 0 ? array.map((e, i, a) => a[(i + n) % len]) : array.map((e, i, a) => a[(len - ((len - i - n) % len)) % len]);
188
+ }
189
+ navigate(value) {
190
+ let start;
191
+ let end;
192
+ if (this.view === 'day') {
193
+ let fd;
194
+ if (value instanceof AXDateTime) {
195
+ fd = value.startOf('month');
196
+ }
197
+ else {
198
+ fd = this.viewRange.startTime.add('day', 15).add('month', value).startOf('month');
199
+ }
200
+ start = fd.firstDayOfWeek;
201
+ end = fd.endOf('month').endDayOfWeek;
202
+ start = start.add('day', -this.numRotate);
203
+ end = end.add('day', 7).add('day', -this.numRotate);
204
+ // TODO: apply start of week
205
+ if (!this.rotated && this.weekdays.length > 0) {
206
+ if (this.type === 'jalali') {
207
+ this.weekdays = this.rotate(this.weekdays, -this.numRotate);
208
+ }
209
+ else {
210
+ this.weekdays = this.rotate(this.weekdays, this.numRotate);
211
+ }
212
+ this.rotated = true;
213
+ }
214
+ }
215
+ else if (this.view === 'month') {
216
+ let fd;
217
+ if (value instanceof AXDateTime) {
218
+ fd = value.startOf('year');
219
+ }
220
+ else {
221
+ fd = this.viewRange.startTime.add('day', 15).add('year', value).startOf('year');
222
+ }
223
+ start = fd;
224
+ end = fd.endOf('year');
225
+ }
226
+ else if (this.view === 'year') {
227
+ let fd;
228
+ if (value instanceof AXDateTime) {
229
+ fd = value.startOf('year');
230
+ }
231
+ else {
232
+ fd = this.viewRange.startTime
233
+ .add('day', 15)
234
+ .add('year', value * 10)
235
+ .startOf('year');
236
+ }
237
+ start = fd.add('year', -4);
238
+ end = start.add('year', 8).endOf('year');
239
+ }
240
+ this.viewRange = new AXDateTimeRange(start, end);
241
+ //
242
+ if (this.getHoliday && typeof this.getHoliday === 'function') {
243
+ this.holidays = this.getHoliday(start.date, end.date, this.type);
244
+ }
245
+ if (this.getWeekend && typeof this.getWeekend === 'function') {
246
+ this.weekends = this.getWeekend(start.date, end.date, this.type);
247
+ }
248
+ //
249
+ if (this.view === 'day') {
250
+ this.matrix = this.matrixify(this.applyStyle(this.viewRange.enumurate('day', this.type)), 7);
251
+ if (this.matrix.length > 0 && this.matrix[0].find((c) => c.nextMonth === false) === undefined) {
252
+ this.matrix.splice(0, 1);
253
+ }
254
+ if (this.matrix[this.matrix.length - 1].find((c) => c.nextMonth === false) === undefined) {
255
+ this.matrix.splice(this.matrix.length - 1, 1);
256
+ }
257
+ }
258
+ else if (this.view === 'month') {
259
+ this.matrix = this.matrixify(this.applyStyle(this.viewRange.enumurate('month', this.type)), 3);
260
+ }
261
+ else if (this.view === 'year') {
262
+ this.matrix = this.matrixify(this.applyStyle(this.viewRange.enumurate('year', this.type)), 3);
263
+ }
264
+ this.cdr.detectChanges();
265
+ }
266
+ applyStyle(dates) {
267
+ const items = [];
268
+ dates.forEach((d, i, j) => {
269
+ const item = {};
270
+ item.date = d;
271
+ item.selected = d.compaireNew(new AXDateTime(this.value, this.type), this.getViewCompaire(this.view), this.type) === 0;
272
+ item.focused = d.compaireNew(this.focusedValue, this.getViewCompaire(this.view), this.type) === 0;
273
+ item.today = this.today && d.compaireNew(this.today, this.getViewCompaire(this.view), this.type) === 0;
274
+ if (this.view === 'day') {
275
+ // item.nextMonth = d.compaireNew(this.viewRange.startTime.add('day', 10), 'YM') !== 0;
276
+ item.nextMonth = d.compaireNew(this.viewRange.startTime.add('day', 10), 'YM', this.type) !== 0;
277
+ item.unselect = this.isInMInMaxRange(d);
278
+ this.holidays.forEach((h) => {
279
+ const comp = d.compaireNew(new AXDateTime(h.date, this.type), 'YMD', this.type);
280
+ if (comp === 0) {
281
+ item.holiday = true;
282
+ if (this.selectableHoliday === false) {
283
+ item.unselect = true;
284
+ }
285
+ }
286
+ });
287
+ const indexDay = i - Math.floor(i / 7) * 7;
288
+ this.weekends.forEach((cc) => {
289
+ if (Number(cc) === indexDay) {
290
+ item.holiday = true;
291
+ if (this.selectableHoliday === false) {
292
+ item.unselect = true;
293
+ }
294
+ }
295
+ });
296
+ }
297
+ items.push(item);
298
+ });
299
+ return items;
300
+ }
301
+ changeView() {
302
+ if (this.view === 'day') {
303
+ this.view = 'month';
304
+ }
305
+ else if (this.view === 'month') {
306
+ this.view = 'year';
307
+ }
308
+ }
309
+ matrixify(arr, cols) {
310
+ const rows = Math.ceil(arr.length / cols);
311
+ const matrix = [];
312
+ if (rows * cols === arr.length) {
313
+ for (let i = 0; i < arr.length; i += cols) {
314
+ matrix.push(arr.slice(i, cols + i));
315
+ }
316
+ }
317
+ return matrix;
318
+ }
319
+ setDayClick(event, item) {
320
+ if (item.unselect !== true) {
321
+ this.value = item.date.date;
322
+ }
323
+ event.stopPropagation();
324
+ }
325
+ isInMInMaxRange(d) {
326
+ let r = false;
327
+ if (d !== undefined) {
328
+ if (this.min && !this.max) {
329
+ r = d.compaireNew(new AXDateTime(this.min, this.type), this.getViewCompaire(this.view), this.type) === -1;
330
+ }
331
+ if (this.max && !this.min) {
332
+ r = d.compaireNew(new AXDateTime(this.max, this.type), this.getViewCompaire(this.view), this.type) === 1;
333
+ }
334
+ if (this.min && this.max) {
335
+ r =
336
+ d.compaireNew(new AXDateTime(this.min, this.type), this.getViewCompaire(this.view), this.type) === -1 ||
337
+ d.compaireNew(new AXDateTime(this.max, this.type), this.getViewCompaire(this.view), this.type) === 1;
338
+ }
339
+ }
340
+ return r;
341
+ }
342
+ setMonthClick(event, date) {
343
+ if (this.depth === 'month') {
344
+ this.value = date.date;
345
+ }
346
+ else {
347
+ this.view = 'day';
348
+ this.setFocus(new AXDateTime(this.value, this.type).set('year', date.year).set('month', date.monthOfYear));
349
+ }
350
+ event.stopPropagation();
351
+ }
352
+ setYearClick(event, date) {
353
+ if (this.depth === 'year') {
354
+ this.value = date.date;
355
+ }
356
+ else {
357
+ this.view = 'month';
358
+ this.setFocus(new AXDateTime(this.value, this.type).set('year', date.year));
359
+ }
360
+ event.stopPropagation();
361
+ }
362
+ setFocus(date) {
363
+ this.focusedValue = date;
364
+ this.navigate(this.focusedValue);
365
+ }
366
+ setToday() {
367
+ this.value = this.today.date;
368
+ this.view = 'day';
369
+ }
370
+ trackByFn(index, item) {
371
+ return item.date.date.getTime();
372
+ }
373
+ }
374
+ AXCalendarBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXCalendarBoxComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
375
+ AXCalendarBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXCalendarBoxComponent, selector: "ax-calendar-box", inputs: { size: "size", type: "type", locale: "locale", dir: "dir", min: "min", max: "max", selectableHoliday: "selectableHoliday", dayStyle: "dayStyle", dayMinMaxResoan: "dayMinMaxResoan", showTodayButton: "showTodayButton", view: "view", depth: "depth", value: "value" }, outputs: { onValueChanged: "onValueChanged", onClick: "onClick", valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"ax-calendar-container {{size}}\" [ngClass]=\"type\">\r\n <div class=\"ax-calendar-header\">\r\n <div class=\"ax-controll-button\">\r\n <ax-button type=\"light blank\" (click)=\"next()\">\r\n {{'common.next' | trans}}\r\n </ax-button>\r\n </div>\r\n <div class=\"ax-nav-button\" [ngSwitch]=\"view\">\r\n <ax-button type=\"light blank\" (click)=\"changeView()\">\r\n <ng-container *ngSwitchCase=\"'day'\">\r\n {{viewRange.startTime.add('day',10) | dt:\"MMM YYYY\"}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'month'\">\r\n {{viewRange.startTime | dt:\"YYYY\"}}\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{viewRange.startTime | dt:\"YYYY\"}} - {{viewRange.endTime | dt:\"YYYY\"}}\r\n </ng-container>\r\n </ax-button>\r\n </div>\r\n <div class=\"ax-controll-button\">\r\n <ax-button type=\"light blank\" (click)=\"prev()\">\r\n {{'common.prev' | trans}}\r\n </ax-button>\r\n </div>\r\n </div>\r\n <div class=\"ax-calendar-body\">\r\n <ng-container [ngSwitch]=\"view\">\r\n <ng-container *ngSwitchCase=\"'day'\">\r\n <div class=\"ax-month-items\">\r\n <ng-container *ngFor='let w of weekdays'>\r\n <div class=\"ax-month-item\">{{w}}</div>\r\n </ng-container>\r\n </div>\r\n <div class=\"ax-day-items\">\r\n <ng-container *ngFor=\"let r of matrix\">\r\n <div class=\"ax-day-item ax-state-event\" *ngFor=\"let d of r;trackBy:trackByFn\" [title]=\"getTitle(d.date)\" [ngClass]=\"{'selected': d.selected,'focused':d.focused,'today':d.today,'next-month':d.nextMonth , 'holiday':d.holiday , 'unselect':d.unselect}\" [ngStyle]=\"(findDay(d.date)) ? getStyle(d.date):''\"\r\n (click)=\"setDayClick($event,d)\">\r\n {{d.date.dayInMonth}}</div>\r\n </ng-container>\r\n\r\n </div>\r\n </ng-container>\r\n <div class=\"ax-month-container\" *ngSwitchCase=\"'month'\">\r\n <ng-container *ngFor=\"let r of matrix\">\r\n <div class=\"ax-month-item\" *ngFor=\"let d of r;trackBy:trackByFn\" [ngClass]=\"{'selected': d.selected,'focused':d.focused,'today':d.today}\" (click)=\"setMonthClick($event,d.date)\">\r\n <strong>\r\n {{d.date| dt:\"MMM\"}}\r\n </strong>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"ax-year-container\" *ngSwitchCase=\"'year'\">\r\n <ng-container class=\"calendar-row\" *ngFor=\"let r of matrix\">\r\n <div class=\"ax-year-item\" *ngFor=\"let d of r;trackBy:trackByFn\" [ngClass]=\"{'selected': d.selected,'focused':d.focused,'today':d.today}\" (click)=\"setYearClick($event,d.date)\">\r\n <strong>{{d.date | dt:\"YYYY\"}}</strong>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <div class=\"ax-calendar-footer\">\r\n <ax-button (click)=\"setToday()\" *ngIf=\"showTodayButton\" type=\"dark\">\r\n {{getTodayName()}}\r\n </ax-button>\r\n </div>\r\n</div>", components: [{ type: i1.AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "trans": i3.AXTranslatorPipe, "dt": i3.AXDateTimePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
376
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXCalendarBoxComponent, decorators: [{
377
+ type: Component,
378
+ args: [{ selector: 'ax-calendar-box', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ax-calendar-container {{size}}\" [ngClass]=\"type\">\r\n <div class=\"ax-calendar-header\">\r\n <div class=\"ax-controll-button\">\r\n <ax-button type=\"light blank\" (click)=\"next()\">\r\n {{'common.next' | trans}}\r\n </ax-button>\r\n </div>\r\n <div class=\"ax-nav-button\" [ngSwitch]=\"view\">\r\n <ax-button type=\"light blank\" (click)=\"changeView()\">\r\n <ng-container *ngSwitchCase=\"'day'\">\r\n {{viewRange.startTime.add('day',10) | dt:\"MMM YYYY\"}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'month'\">\r\n {{viewRange.startTime | dt:\"YYYY\"}}\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n {{viewRange.startTime | dt:\"YYYY\"}} - {{viewRange.endTime | dt:\"YYYY\"}}\r\n </ng-container>\r\n </ax-button>\r\n </div>\r\n <div class=\"ax-controll-button\">\r\n <ax-button type=\"light blank\" (click)=\"prev()\">\r\n {{'common.prev' | trans}}\r\n </ax-button>\r\n </div>\r\n </div>\r\n <div class=\"ax-calendar-body\">\r\n <ng-container [ngSwitch]=\"view\">\r\n <ng-container *ngSwitchCase=\"'day'\">\r\n <div class=\"ax-month-items\">\r\n <ng-container *ngFor='let w of weekdays'>\r\n <div class=\"ax-month-item\">{{w}}</div>\r\n </ng-container>\r\n </div>\r\n <div class=\"ax-day-items\">\r\n <ng-container *ngFor=\"let r of matrix\">\r\n <div class=\"ax-day-item ax-state-event\" *ngFor=\"let d of r;trackBy:trackByFn\" [title]=\"getTitle(d.date)\" [ngClass]=\"{'selected': d.selected,'focused':d.focused,'today':d.today,'next-month':d.nextMonth , 'holiday':d.holiday , 'unselect':d.unselect}\" [ngStyle]=\"(findDay(d.date)) ? getStyle(d.date):''\"\r\n (click)=\"setDayClick($event,d)\">\r\n {{d.date.dayInMonth}}</div>\r\n </ng-container>\r\n\r\n </div>\r\n </ng-container>\r\n <div class=\"ax-month-container\" *ngSwitchCase=\"'month'\">\r\n <ng-container *ngFor=\"let r of matrix\">\r\n <div class=\"ax-month-item\" *ngFor=\"let d of r;trackBy:trackByFn\" [ngClass]=\"{'selected': d.selected,'focused':d.focused,'today':d.today}\" (click)=\"setMonthClick($event,d.date)\">\r\n <strong>\r\n {{d.date| dt:\"MMM\"}}\r\n </strong>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"ax-year-container\" *ngSwitchCase=\"'year'\">\r\n <ng-container class=\"calendar-row\" *ngFor=\"let r of matrix\">\r\n <div class=\"ax-year-item\" *ngFor=\"let d of r;trackBy:trackByFn\" [ngClass]=\"{'selected': d.selected,'focused':d.focused,'today':d.today}\" (click)=\"setYearClick($event,d.date)\">\r\n <strong>{{d.date | dt:\"YYYY\"}}</strong>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <div class=\"ax-calendar-footer\">\r\n <ax-button (click)=\"setToday()\" *ngIf=\"showTodayButton\" type=\"dark\">\r\n {{getTodayName()}}\r\n </ax-button>\r\n </div>\r\n</div>" }]
379
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { size: [{
380
+ type: Input
381
+ }], type: [{
382
+ type: Input
383
+ }], locale: [{
384
+ type: Input
385
+ }], dir: [{
386
+ type: Input
387
+ }], min: [{
388
+ type: Input
389
+ }], max: [{
390
+ type: Input
391
+ }], selectableHoliday: [{
392
+ type: Input
393
+ }], dayStyle: [{
394
+ type: Input
395
+ }], dayMinMaxResoan: [{
396
+ type: Input
397
+ }], showTodayButton: [{
398
+ type: Input,
399
+ args: ['showTodayButton']
400
+ }], view: [{
401
+ type: Input
402
+ }], depth: [{
403
+ type: Input
404
+ }], onValueChanged: [{
405
+ type: Output
406
+ }], onClick: [{
407
+ type: Output
408
+ }], valueChange: [{
409
+ type: Output
410
+ }], value: [{
411
+ type: Input
412
+ }] } });
413
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvY2FsZW5kYXIvY2FsZW5kYXItYm94L2NhbGVuZGFyLWJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLWJveC9jYWxlbmRhci1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEosT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQWtCLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUd6RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7OztBQXlCeEMsTUFBTSxPQUFPLHNCQUFzQjtJQXFJakMsWUFBb0IsR0FBc0IsRUFBVSxHQUFlO1FBQS9DLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQXBJbkUsYUFBUSxHQUFhLEVBQUUsQ0FBQztRQUVoQixNQUFDLEdBQUc7WUFDVixNQUFNLEVBQUU7Z0JBQ04sTUFBTSxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsSUFBSSxJQUFJO2dCQUN0RCxHQUFHLEVBQUUsS0FBSztnQkFDVixNQUFNLEVBQUUsQ0FBQzthQUNWO1lBQ0QsU0FBUyxFQUFFO2dCQUNULE1BQU0sRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLElBQUksSUFBSTtnQkFDekQsR0FBRyxFQUFFLEtBQUs7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QUFVO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLFdBQVcsQ0FBQztTQUMxRDtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDeEQ7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNiLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEtBQUssQ0FBQztTQUM1QztRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUNoRCxNQUFNLElBQUksR0FBRyx3QkFBd0IsQ0FBQztRQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHO1lBQ2QsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDNUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDNUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDNUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDNUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDNUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElB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aUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO2lJQXFCL0MsSUFBSTtzQkFESCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sR0FBRztzQkFERixLQUFLO2dCQUlOLEdBQUc7c0JBREYsS0FBSztnQkFJTixHQUFHO3NCQURGLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBUUMsZUFBZTtzQkFEckIsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBT2IsSUFBSTtzQkFEZCxLQUFLO2dCQVlLLEtBQUs7c0JBRGYsS0FBSztnQkFjTixjQUFjO3NCQURiLE1BQU07Z0JBSVAsT0FBTztzQkFETixNQUFNO2dCQUlQLFdBQVc7c0JBRFYsTUFBTTtnQkFLSSxLQUFLO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBWaWV3RW5jYXBzdWxhdGlvbiwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWERhdGVUaW1lLCBBWERhdGVUaW1lUmFuZ2UsIEFYQ2FsZW5kYXJUeXBlLCBBWFRyYW5zbGF0b3IgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5pbXBvcnQgeyBBWEJhc2VTaXphYmxlQ29tcG9uZW50LCBBWEVsZW1lbnRTaXplIH0gZnJvbSAnLi4vLi4vYmFzZS9lbGVtZW50LmNsYXNzJztcclxuaW1wb3J0IHsgQVhWYWx1ZUV2ZW50IH0gZnJvbSAnLi4vLi4vYmFzZS9ldmVudHMuY2xhc3MnO1xyXG5pbXBvcnQgeyBBWENvbmZpZyB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcblxyXG5leHBvcnQgdHlwZSBBWENhbGVuZGFyVmlld1R5cGUgPSAneWVhcicgfCAnbW9udGgnIHwgJ2RheSc7XHJcblxyXG5leHBvcnQgdHlwZSBBWENhbGVuZGFySG9saWRheXMgPSBBWENhbGVuZGFySG9saWRheVtdO1xyXG5leHBvcnQgdHlwZSBBWENhbGVuZGFySG9saWRheXNGdW5jID0gKHN0YXJ0OiBEYXRlLCBlbmQ6IERhdGUsIHR5cGU6IEFYQ2FsZW5kYXJUeXBlKSA9PiBBWENhbGVuZGFySG9saWRheVtdO1xyXG5leHBvcnQgaW50ZXJmYWNlIEFYQ2FsZW5kYXJIb2xpZGF5IHtcclxuICBkYXRlOiBEYXRlO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEFYQ2FsZW5kYXJXZWVrZW5kcyA9IEFYQ2FsZW5kYXJXZWVrZW5kW107XHJcbmV4cG9ydCB0eXBlIEFYQ2FsZW5kYXJXZWVrZW5kc0Z1bmMgPSAoc3RhcnQ6IERhdGUsIGVuZDogRGF0ZSwgdHlwZTogQVhDYWxlbmRhclR5cGUpID0+IEFYQ2FsZW5kYXJXZWVrZW5kW107XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYQ2FsZW5kYXJXZWVrZW5kIHtcclxuICBpbmRleERheTogbnVtYmVyO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LWNhbGVuZGFyLWJveCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLWJveC5jb21wb25lbnQuaHRtbCcsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhDYWxlbmRhckJveENvbXBvbmVudCBpbXBsZW1lbnRzIEFYQmFzZVNpemFibGVDb21wb25lbnQge1xyXG4gIHdlZWtkYXlzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIGQgPSB7XHJcbiAgICBqYWxhbGk6IHtcclxuICAgICAgbG9jYWxlOiBBWENvbmZpZy5nZXQoJ2RhdGVUaW1lLmphbGFsaS5sb2NhbGUnKSB8fCAnZmEnLFxyXG4gICAgICBkaXI6ICdydGwnLFxyXG4gICAgICBudW1iZXI6IDFcclxuICAgIH0sXHJcbiAgICBncmVnb3JpYW46IHtcclxuICAgICAgbG9jYWxlOiBBWENvbmZpZy5nZXQoJ2RhdGVUaW1lLmdyZWdvcmlhbi5sb2NhbGUnKSB8fCAnZW4nLFxyXG4gICAgICBkaXI6ICdsdHInLFxyXG4gICAgICBudW1iZXI6IDBcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBudW1Sb3RhdGU6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBzaXplOiBBWEVsZW1lbnRTaXplID0gJ21kJztcclxuXHJcbiAgQElucHV0KClcclxuICB0eXBlOiBBWENhbGVuZGFyVHlwZTtcclxuXHJcbiAgQElucHV0KClcclxuICBsb2NhbGU6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBkaXI6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBtaW46IERhdGU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbWF4OiBEYXRlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNlbGVjdGFibGVIb2xpZGF5OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBkYXlTdHlsZSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRheU1pbk1heFJlc29hbiA9ICcnO1xyXG5cclxuICBwcml2YXRlIGdldEhvbGlkYXk6IEFYQ2FsZW5kYXJIb2xpZGF5cyB8IEFYQ2FsZW5kYXJIb2xpZGF5c0Z1bmM7XHJcblxyXG4gIHByaXZhdGUgZ2V0V2Vla2VuZDogQVhDYWxlbmRhcldlZWtlbmRzIHwgQVhDYWxlbmRhcldlZWtlbmRzRnVuYztcclxuXHJcbiAgQElucHV0KCdzaG93VG9kYXlCdXR0b24nKVxyXG4gIHB1YmxpYyBzaG93VG9kYXlCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgbWF0cml4OiBhbnlbXSA9IFtdO1xyXG4gIHJvdGF0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIF92aWV3OiBBWENhbGVuZGFyVmlld1R5cGUgPSAnZGF5JztcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgdmlldygpOiBBWENhbGVuZGFyVmlld1R5cGUge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZpZXc7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgdmlldyh2OiBBWENhbGVuZGFyVmlld1R5cGUpIHtcclxuICAgIHRoaXMuX3ZpZXcgPSB2O1xyXG4gICAgdGhpcy5uYXZpZ2F0ZSgwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RlcHRoOiBBWENhbGVuZGFyVmlld1R5cGUgPSAnZGF5JztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IGRlcHRoKCk6IEFYQ2FsZW5kYXJWaWV3VHlwZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVwdGg7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgZGVwdGgodjogQVhDYWxlbmRhclZpZXdUeXBlKSB7XHJcbiAgICB0aGlzLl9kZXB0aCA9IHY7XHJcbiAgICB0aGlzLnZpZXcgPSB2O1xyXG4gIH1cclxuXHJcbiAgdmlld1JhbmdlOiBBWERhdGVUaW1lUmFuZ2U7XHJcbiAgcHJpdmF0ZSBob2xpZGF5czogQVhDYWxlbmRhckhvbGlkYXlbXSA9IFtdO1xyXG4gIHByaXZhdGUgd2Vla2VuZHM6IEFYQ2FsZW5kYXJXZWVrZW5kW10gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgb25WYWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFZhbHVlRXZlbnQ8RGF0ZT4+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFZhbHVlRXZlbnQ8RGF0ZT4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxBWFZhbHVlRXZlbnQ8RGF0ZT4+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFZhbHVlRXZlbnQ8RGF0ZT4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcblxyXG4gIHByaXZhdGUgX3ZhbHVlOiBBWERhdGVUaW1lO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCB2YWx1ZSgpOiBEYXRlIHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZT8uZGF0ZTtcclxuICB9XHJcbiAgcHVibGljIHNldCB2YWx1ZSh2OiBEYXRlKSB7XHJcbiAgICBsZXQgdnY6IEFYRGF0ZVRpbWU7XHJcbiAgICBpZiAodikge1xyXG4gICAgICB2diA9IEFYRGF0ZVRpbWUuY29udmVydCh2KTtcclxuICAgIH1cclxuICAgIGxldCB1blZhbGlkRGF0ZSA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMubWF4IHx8IHRoaXMubWluKSB7XHJcbiAgICAgIHVuVmFsaWREYXRlID0gdGhpcy5pc0luTUluTWF4UmFuZ2UodnYpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF1blZhbGlkRGF0ZSkge1xyXG4gICAgICBpZiAodnYgJiYgIXZ2LmVxdWFsKHRoaXMuX3ZhbHVlKSkge1xyXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdnY7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUudHlwZSA9IHRoaXMudHlwZTtcclxuICAgICAgICB0aGlzLnNldEZvY3VzKHRoaXMuX3ZhbHVlLmNsb25lKCkpO1xyXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2di5kYXRlKTtcclxuICAgICAgICB0aGlzLm9uVmFsdWVDaGFuZ2VkLmVtaXQoe1xyXG4gICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgICAgdmFsdWU6IHRoaXMuX3ZhbHVlPy5kYXRlLFxyXG4gICAgICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMucmVmLm5hdGl2ZUVsZW1lbnRcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodiA9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5mb2N1c2VkVmFsdWUgPSB0aGlzLnRvZGF5O1xyXG4gICAgICAgIHRoaXMudmlld1JhbmdlID0gdGhpcy50b2RheS5tb250aC5yYW5nZTtcclxuICAgICAgICB0aGlzLm5hdmlnYXRlKDApO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMub25DbGljay5lbWl0KHtcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgdmFsdWU6IHRoaXMuX3ZhbHVlPy5kYXRlLFxyXG4gICAgICAgIGh0bWxFbGVtZW50OiB0aGlzLnJlZi5uYXRpdmVFbGVtZW50XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZm9jdXNlZFZhbHVlOiBBWERhdGVUaW1lO1xyXG4gIGdldCB0b2RheSgpOiBBWERhdGVUaW1lIHtcclxuICAgIHJldHVybiBuZXcgQVhEYXRlVGltZShuZXcgRGF0ZSgpLCB0aGlzLnR5cGUpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHJlZjogRWxlbWVudFJlZikge1xyXG4gICAgLy8gc2V0IGRlZmF1bHRzXHJcbiAgICB0aGlzLmdldEhvbGlkYXkgPSBBWENvbmZpZy5nZXQoJ2RhdGVUaW1lLmhvbGlkYXlzJyk7XHJcbiAgICB0aGlzLmdldFdlZWtlbmQgPSBBWENvbmZpZy5nZXQoJ2RhdGVUaW1lLndlZWtlbmRzJyk7XHJcbiAgfVxyXG4gIGZpbmREYXkoZGF0ZTogQVhEYXRlVGltZSkge1xyXG4gICAgaWYgKHRoaXMuZGF5U3R5bGUuZmluZCgoYykgPT4gYy5kYXRlLnNwbGl0KCdUJylbMF0gPT0gZGF0ZS50b0lTT1N0cmluZygpLnNwbGl0KCdUJylbMF0pKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXRTdHlsZShkYXRlOiBBWERhdGVUaW1lKSB7XHJcbiAgICBpZiAodGhpcy5kYXlTdHlsZS5maW5kKChjKSA9PiBjLmRhdGUuc3BsaXQoJ1QnKVswXSA9PSBkYXRlLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF5U3R5bGUuZmluZCgoYykgPT4gYy5kYXRlLnNwbGl0KCdUJylbMF0gPT0gZGF0ZS50b0lTT1N0cmluZygpLnNwbGl0KCdUJylbMF0pLnN0eWxlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0VGl0bGUoZGF0ZTogQVhEYXRlVGltZSkge1xyXG4gICAgaWYgKHRoaXMuZGF5U3R5bGUuZmluZCgoYykgPT4gYy5kYXRlLnNwbGl0KCdUJylbMF0gPT0gZGF0ZS50b0lTT1N0cmluZygpLnNwbGl0KCdUJylbMF0pKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRheVN0eWxlLmZpbmQoKGMpID0+IGMuZGF0ZS5zcGxpdCgnVCcpWzBdID09IGRhdGUudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdKS50ZXh0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgICh0aGlzLm1pbiAmJiB0aGlzLm1heCAmJiBkYXRlLmNvbXBhaXJlTmV3KG5ldyBBWERhdGVUaW1lKHRoaXMubWluLCB0aGlzLnR5cGUpLCAnWU1EJywgdGhpcy50eXBlKSA9PT0gLTEpIHx8XHJcbiAgICAgICAgZGF0ZS5jb21wYWlyZU5ldyhuZXcgQVhEYXRlVGltZSh0aGlzLm1heCwgdGhpcy50eXBlKSwgJ1lNRCcsIHRoaXMudHlwZSkgPT09IDFcclxuICAgICAgKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF5TWluTWF4UmVzb2FuO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiAnJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmZvY3VzZWRWYWx1ZSA9IG5ldyBBWERhdGVUaW1lKG5ldyBEYXRlKCksIHRoaXMudHlwZSk7XHJcbiAgICAvL1xyXG4gICAgdGhpcy5pbml0TGF5b3V0KCk7XHJcbiAgICAvL1xyXG4gICAgdGhpcy52aWV3UmFuZ2UgPSB0aGlzLnRvZGF5Lm1vbnRoLnJhbmdlO1xyXG4gICAgaWYgKHRoaXMudmFsdWUpIHtcclxuICAgICAgdGhpcy5zZXRGb2N1cyhuZXcgQVhEYXRlVGltZSh0aGlzLnZhbHVlLCB0aGlzLnR5cGUpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0Rm9jdXModGhpcy50b2RheSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy52aWV3ID0gJ2RheSc7XHJcbiAgfVxyXG5cclxuICBnZXRWaWV3Q29tcGFpcmUodmlldzogQVhDYWxlbmRhclZpZXdUeXBlKSB7XHJcbiAgICBzd2l0Y2ggKHZpZXcpIHtcclxuICAgICAgY2FzZSAnZGF5JzpcclxuICAgICAgICByZXR1cm4gJ1lNRCc7XHJcbiAgICAgIGNhc2UgJ21vbnRoJzpcclxuICAgICAgICByZXR1cm4gJ1lNJztcclxuICAgICAgY2FzZSAneWVhcic6XHJcbiAgICAgICAgcmV0dXJuICdZJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubmF2aWdhdGUoMCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRMYXlvdXQoKSB7XHJcbiAgICBpZiAoIXRoaXMudHlwZSkge1xyXG4gICAgICB0aGlzLnR5cGUgPSBBWENvbmZpZy5nZXQoJ2RhdGVUaW1lLnR5cGUnKSB8fCAnZ3JlZ29yaWFuJztcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5sb2NhbGUpIHtcclxuICAgICAgdGhpcy5sb2NhbGUgPSB0aGlzLmRbdGhpcy50eXBlXT8ubG9jYWxlIHx8IHRoaXMubG9jYWxlO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLmRpcikge1xyXG4gICAgICB0aGlzLmRpciA9IHRoaXMuZFt0aGlzLnR5cGVdPy5kaXIgfHwgJ2x0cic7XHJcbiAgICB9XHJcbiAgICB0aGlzLm51bVJvdGF0ZSA9IHRoaXMuZFt0aGlzLnR5cGVdPy5udW1iZXIgfHwgMDtcclxuICAgIGNvbnN0IHBhdGggPSAnZGF0ZVRpbWUud2Vla2RheXNTaG9ydCc7XHJcbiAgICB0aGlzLndlZWtkYXlzID0gW1xyXG4gICAgICBBWFRyYW5zbGF0b3IuZ2V0KGAke3BhdGh9LnN1bmAsIHRoaXMubG9jYWxlKSxcclxuICAgICAgQVhUcmFuc2xhdG9yLmdldChgJHtwYXRofS5tb25gLCB0aGlzLmxvY2FsZSksXHJcbiAgICAgIEFYVHJhbnNsYXRvci5nZXQoYCR7cGF0aH0udHVlYCwgdGhpcy5sb2NhbGUpLFxyXG4gICAgICBBWFRyYW5zbGF0b3IuZ2V0KGAke3BhdGh9LndlZGAsIHRoaXMubG9jYWxlKSxcclxuICAgICAgQVhUcmFuc2xhdG9yLmdldChgJHtwYXRofS50aHVgLCB0aGlzLmxvY2FsZSksXHJcbiAgICAgIEFYVHJhbnNsYXRvci5nZXQoYCR7cGF0aH0uZnJpYCwgdGhpcy5sb2NhbGUpLFxyXG4gICAgICBBWFRyYW5zbGF0b3IuZ2V0KGAke3BhdGh9LnNhdGAsIHRoaXMubG9jYWxlKVxyXG4gICAgXTtcclxuICB9XHJcblxyXG4gIGdldFRvZGF5TmFtZSgpIHtcclxuICAgIHJldHVybiBBWFRyYW5zbGF0b3IuZ2V0KCdkYXRlVGltZS50b2RheScsIHRoaXMubG9jYWxlKTtcclxuICB9XHJcblxyXG4gIHByZXYoKSB7XHJcbiAgICB0aGlzLm5hdmlnYXRlKC0xKTtcclxuICB9XHJcblxyXG4gIG5leHQoKSB7XHJcbiAgICB0aGlzLm5hdmlnYXRlKDEpO1xyXG4gIH1cclxuXHJcbiAgcm90YXRlKGFycmF5LCBuKSB7XHJcbiAgICBjb25zdCBsZW4gPSBhcnJheS5sZW5ndGg7XHJcbiAgICByZXR1cm4gIShuICUgbGVuKSA/IGFycmF5IDogbiA+IDAgPyBhcnJheS5tYXAoKGUsIGksIGEpID0+IGFbKGkgKyBuKSAlIGxlbl0pIDogYXJyYXkubWFwKChlLCBpLCBhKSA9PiBhWyhsZW4gLSAoKGxlbiAtIGkgLSBuKSAlIGxlbikpICUgbGVuXSk7XHJcbiAgfVxyXG5cclxuICBuYXZpZ2F0ZSh2YWx1ZTogbnVtYmVyIHwgQVhEYXRlVGltZSkge1xyXG4gICAgbGV0IHN0YXJ0OiBBWERhdGVUaW1lO1xyXG4gICAgbGV0IGVuZDogQVhEYXRlVGltZTtcclxuICAgIGlmICh0aGlzLnZpZXcgPT09ICdkYXknKSB7XHJcbiAgICAgIGxldCBmZDogQVhEYXRlVGltZTtcclxuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQVhEYXRlVGltZSkge1xyXG4gICAgICAgIGZkID0gdmFsdWUuc3RhcnRPZignbW9udGgnKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBmZCA9IHRoaXMudmlld1JhbmdlLnN0YXJ0VGltZS5hZGQoJ2RheScsIDE1KS5hZGQoJ21vbnRoJywgdmFsdWUpLnN0YXJ0T2YoJ21vbnRoJyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHN0YXJ0ID0gZmQuZmlyc3REYXlPZldlZWs7XHJcbiAgICAgIGVuZCA9IGZkLmVuZE9mKCdtb250aCcpLmVuZERheU9mV2VlaztcclxuXHJcbiAgICAgIHN0YXJ0ID0gc3RhcnQuYWRkKCdkYXknLCAtdGhpcy5udW1Sb3RhdGUpO1xyXG4gICAgICBlbmQgPSBlbmQuYWRkKCdkYXknLCA3KS5hZGQoJ2RheScsIC10aGlzLm51bVJvdGF0ZSk7XHJcblxyXG4gICAgICAvLyBUT0RPOiBhcHBseSBzdGFydCBvZiB3ZWVrXHJcbiAgICAgIGlmICghdGhpcy5yb3RhdGVkICYmIHRoaXMud2Vla2RheXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdqYWxhbGknKSB7XHJcbiAgICAgICAgICB0aGlzLndlZWtkYXlzID0gdGhpcy5yb3RhdGUodGhpcy53ZWVrZGF5cywgLXRoaXMubnVtUm90YXRlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy53ZWVrZGF5cyA9IHRoaXMucm90YXRlKHRoaXMud2Vla2RheXMsIHRoaXMubnVtUm90YXRlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucm90YXRlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy52aWV3ID09PSAnbW9udGgnKSB7XHJcbiAgICAgIGxldCBmZDogQVhEYXRlVGltZTtcclxuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQVhEYXRlVGltZSkge1xyXG4gICAgICAgIGZkID0gdmFsdWUuc3RhcnRPZigneWVhcicpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGZkID0gdGhpcy52aWV3UmFuZ2Uuc3RhcnRUaW1lLmFkZCgnZGF5JywgMTUpLmFkZCgneWVhcicsIHZhbHVlKS5zdGFydE9mKCd5ZWFyJyk7XHJcbiAgICAgIH1cclxuICAgICAgc3RhcnQgPSBmZDtcclxuICAgICAgZW5kID0gZmQuZW5kT2YoJ3llYXInKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy52aWV3ID09PSAneWVhcicpIHtcclxuICAgICAgbGV0IGZkOiBBWERhdGVUaW1lO1xyXG4gICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBBWERhdGVUaW1lKSB7XHJcbiAgICAgICAgZmQgPSB2YWx1ZS5zdGFydE9mKCd5ZWFyJyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZmQgPSB0aGlzLnZpZXdSYW5nZS5zdGFydFRpbWVcclxuICAgICAgICAgIC5hZGQoJ2RheScsIDE1KVxyXG4gICAgICAgICAgLmFkZCgneWVhcicsIHZhbHVlICogMTApXHJcbiAgICAgICAgICAuc3RhcnRPZigneWVhcicpO1xyXG4gICAgICB9XHJcbiAgICAgIHN0YXJ0ID0gZmQuYWRkKCd5ZWFyJywgLTQpO1xyXG4gICAgICBlbmQgPSBzdGFydC5hZGQoJ3llYXInLCA4KS5lbmRPZigneWVhcicpO1xyXG4gICAgfVxyXG4gICAgdGhpcy52aWV3UmFuZ2UgPSBuZXcgQVhEYXRlVGltZVJhbmdlKHN0YXJ0LCBlbmQpO1xyXG4gICAgLy9cclxuICAgIGlmICh0aGlzLmdldEhvbGlkYXkgJiYgdHlwZW9mIHRoaXMuZ2V0SG9saWRheSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICB0aGlzLmhvbGlkYXlzID0gdGhpcy5nZXRIb2xpZGF5KHN0YXJ0LmRhdGUsIGVuZC5kYXRlLCB0aGlzLnR5cGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmdldFdlZWtlbmQgJiYgdHlwZW9mIHRoaXMuZ2V0V2Vla2VuZCA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICB0aGlzLndlZWtlbmRzID0gdGhpcy5nZXRXZWVrZW5kKHN0YXJ0LmRhdGUsIGVuZC5kYXRlLCB0aGlzLnR5cGUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vXHJcbiAgICBpZiAodGhpcy52aWV3ID09PSAnZGF5Jykge1xyXG4gICAgICB0aGlzLm1hdHJpeCA9IHRoaXMubWF0cml4aWZ5KHRoaXMuYXBwbHlTdHlsZSh0aGlzLnZpZXdSYW5nZS5lbnVtdXJhdGUoJ2RheScsIHRoaXMudHlwZSkpLCA3KTtcclxuICAgICAgaWYgKHRoaXMubWF0cml4Lmxlbmd0aCA+IDAgJiYgdGhpcy5tYXRyaXhbMF0uZmluZCgoYykgPT4gYy5uZXh0TW9udGggPT09IGZhbHNlKSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5tYXRyaXguc3BsaWNlKDAsIDEpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLm1hdHJpeFt0aGlzLm1hdHJpeC5sZW5ndGggLSAxXS5maW5kKChjKSA9PiBjLm5leHRNb250aCA9PT0gZmFsc2UpID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLm1hdHJpeC5zcGxpY2UodGhpcy5tYXRyaXgubGVuZ3RoIC0gMSwgMSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy52aWV3ID09PSAnbW9udGgnKSB7XHJcbiAgICAgIHRoaXMubWF0cml4ID0gdGhpcy5tYXRyaXhpZnkodGhpcy5hcHBseVN0eWxlKHRoaXMudmlld1JhbmdlLmVudW11cmF0ZSgnbW9udGgnLCB0aGlzLnR5cGUpKSwgMyk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudmlldyA9PT0gJ3llYXInKSB7XHJcbiAgICAgIHRoaXMubWF0cml4ID0gdGhpcy5tYXRyaXhpZnkodGhpcy5hcHBseVN0eWxlKHRoaXMudmlld1JhbmdlLmVudW11cmF0ZSgneWVhcicsIHRoaXMudHlwZSkpLCAzKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBwbHlTdHlsZShkYXRlczogQVhEYXRlVGltZVtdKTogYW55W10ge1xyXG4gICAgY29uc3QgaXRlbXM6IGFueVtdID0gW107XHJcbiAgICBkYXRlcy5mb3JFYWNoKChkLCBpLCBqKSA9PiB7XHJcbiAgICAgIGNvbnN0IGl0ZW06IGFueSA9IHt9O1xyXG4gICAgICBpdGVtLmRhdGUgPSBkO1xyXG5cclxuICAgICAgaXRlbS5zZWxlY3RlZCA9IGQuY29tcGFpcmVOZXcobmV3IEFYRGF0ZVRpbWUodGhpcy52YWx1ZSwgdGhpcy50eXBlKSwgdGhpcy5nZXRWaWV3Q29tcGFpcmUodGhpcy52aWV3KSwgdGhpcy50eXBlKSA9PT0gMDtcclxuICAgICAgaXRlbS5mb2N1c2VkID0gZC5jb21wYWlyZU5ldyh0aGlzLmZvY3VzZWRWYWx1ZSwgdGhpcy5nZXRWaWV3Q29tcGFpcmUodGhpcy52aWV3KSwgdGhpcy50eXBlKSA9PT0gMDtcclxuICAgICAgaXRlbS50b2RheSA9IHRoaXMudG9kYXkgJiYgZC5jb21wYWlyZU5ldyh0aGlzLnRvZGF5LCB0aGlzLmdldFZpZXdDb21wYWlyZSh0aGlzLnZpZXcpLCB0aGlzLnR5cGUpID09PSAwO1xyXG4gICAgICBpZiAodGhpcy52aWV3ID09PSAnZGF5Jykge1xyXG4gICAgICAgIC8vICBpdGVtLm5leHRNb250aCA9IGQuY29tcGFpcmVOZXcodGhpcy52aWV3UmFuZ2Uuc3RhcnRUaW1lLmFkZCgnZGF5JywgMTApLCAnWU0nKSAhPT0gMDtcclxuICAgICAgICBpdGVtLm5leHRNb250aCA9IGQuY29tcGFpcmVOZXcodGhpcy52aWV3UmFuZ2Uuc3RhcnRUaW1lLmFkZCgnZGF5JywgMTApLCAnWU0nLCB0aGlzLnR5cGUpICE9PSAwO1xyXG5cclxuICAgICAgICBpdGVtLnVuc2VsZWN0ID0gdGhpcy5pc0luTUluTWF4UmFuZ2UoZCk7XHJcbiAgICAgICAgdGhpcy5ob2xpZGF5cy5mb3JFYWNoKChoKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBjb21wID0gZC5jb21wYWlyZU5ldyhuZXcgQVhEYXRlVGltZShoLmRhdGUsIHRoaXMudHlwZSksICdZTUQnLCB0aGlzLnR5cGUpO1xyXG4gICAgICAgICAgaWYgKGNvbXAgPT09IDApIHtcclxuICAgICAgICAgICAgaXRlbS5ob2xpZGF5ID0gdHJ1ZTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0YWJsZUhvbGlkYXkgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgICAgaXRlbS51bnNlbGVjdCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgY29uc3QgaW5kZXhEYXkgPSBpIC0gTWF0aC5mbG9vcihpIC8gNykgKiA3O1xyXG4gICAgICAgIHRoaXMud2Vla2VuZHMuZm9yRWFjaCgoY2MpID0+IHtcclxuICAgICAgICAgIGlmIChOdW1iZXIoY2MpID09PSBpbmRleERheSkge1xyXG4gICAgICAgICAgICBpdGVtLmhvbGlkYXkgPSB0cnVlO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RhYmxlSG9saWRheSA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICBpdGVtLnVuc2VsZWN0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGl0ZW1zLnB1c2goaXRlbSk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBpdGVtcztcclxuICB9XHJcblxyXG4gIGNoYW5nZVZpZXcoKSB7XHJcbiAgICBpZiAodGhpcy52aWV3ID09PSAnZGF5Jykge1xyXG4gICAgICB0aGlzLnZpZXcgPSAnbW9udGgnO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnZpZXcgPT09ICdtb250aCcpIHtcclxuICAgICAgdGhpcy52aWV3ID0gJ3llYXInO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbWF0cml4aWZ5KGFycjogYW55W10sIGNvbHMpIHtcclxuICAgIGNvbnN0IHJvd3MgPSBNYXRoLmNlaWwoYXJyLmxlbmd0aCAvIGNvbHMpO1xyXG4gICAgY29uc3QgbWF0cml4ID0gW107XHJcbiAgICBpZiAocm93cyAqIGNvbHMgPT09IGFyci5sZW5ndGgpIHtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpICs9IGNvbHMpIHtcclxuICAgICAgICBtYXRyaXgucHVzaChhcnIuc2xpY2UoaSwgY29scyArIGkpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1hdHJpeDtcclxuICB9XHJcblxyXG4gIHNldERheUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50LCBpdGVtKSB7XHJcbiAgICBpZiAoaXRlbS51bnNlbGVjdCAhPT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gaXRlbS5kYXRlLmRhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBpc0luTUluTWF4UmFuZ2UoZCkge1xyXG4gICAgbGV0IHIgPSBmYWxzZTtcclxuICAgIGlmIChkICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgaWYgKHRoaXMubWluICYmICF0aGlzLm1heCkge1xyXG4gICAgICAgIHIgPSBkLmNvbXBhaXJlTmV3KG5ldyBBWERhdGVUaW1lKHRoaXMubWluLCB0aGlzLnR5cGUpLCB0aGlzLmdldFZpZXdDb21wYWlyZSh0aGlzLnZpZXcpLCB0aGlzLnR5cGUpID09PSAtMTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5tYXggJiYgIXRoaXMubWluKSB7XHJcbiAgICAgICAgciA9IGQuY29tcGFpcmVOZXcobmV3IEFYRGF0ZVRpbWUodGhpcy5tYXgsIHRoaXMudHlwZSksIHRoaXMuZ2V0Vmlld0NvbXBhaXJlKHRoaXMudmlldyksIHRoaXMudHlwZSkgPT09IDE7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMubWluICYmIHRoaXMubWF4KSB7XHJcbiAgICAgICAgciA9XHJcbiAgICAgICAgICBkLmNvbXBhaXJlTmV3KG5ldyBBWERhdGVUaW1lKHRoaXMubWluLCB0aGlzLnR5cGUpLCB0aGlzLmdldFZpZXdDb21wYWlyZSh0aGlzLnZpZXcpLCB0aGlzLnR5cGUpID09PSAtMSB8fFxyXG4gICAgICAgICAgZC5jb21wYWlyZU5ldyhuZXcgQVhEYXRlVGltZSh0aGlzLm1heCwgdGhpcy50eXBlKSwgdGhpcy5nZXRWaWV3Q29tcGFpcmUodGhpcy52aWV3KSwgdGhpcy50eXBlKSA9PT0gMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHI7XHJcbiAgfVxyXG5cclxuICBzZXRNb250aENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50LCBkYXRlOiBBWERhdGVUaW1lKSB7XHJcbiAgICBpZiAodGhpcy5kZXB0aCA9PT0gJ21vbnRoJykge1xyXG4gICAgICB0aGlzLnZhbHVlID0gZGF0ZS5kYXRlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52aWV3ID0gJ2RheSc7XHJcbiAgICAgIHRoaXMuc2V0Rm9jdXMobmV3IEFYRGF0ZVRpbWUodGhpcy52YWx1ZSwgdGhpcy50eXBlKS5zZXQoJ3llYXInLCBkYXRlLnllYXIpLnNldCgnbW9udGgnLCBkYXRlLm1vbnRoT2ZZZWFyKSk7XHJcbiAgICB9XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIHNldFllYXJDbGljayhldmVudDogTW91c2VFdmVudCwgZGF0ZTogQVhEYXRlVGltZSkge1xyXG4gICAgaWYgKHRoaXMuZGVwdGggPT09ICd5ZWFyJykge1xyXG4gICAgICB0aGlzLnZhbHVlID0gZGF0ZS5kYXRlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52aWV3ID0gJ21vbnRoJztcclxuICAgICAgdGhpcy5zZXRGb2N1cyhuZXcgQVhEYXRlVGltZSh0aGlzLnZhbHVlLCB0aGlzLnR5cGUpLnNldCgneWVhcicsIGRhdGUueWVhcikpO1xyXG4gICAgfVxyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBzZXRGb2N1cyhkYXRlOiBBWERhdGVUaW1lKSB7XHJcbiAgICB0aGlzLmZvY3VzZWRWYWx1ZSA9IGRhdGU7XHJcbiAgICB0aGlzLm5hdmlnYXRlKHRoaXMuZm9jdXNlZFZhbHVlKTtcclxuICB9XHJcblxyXG4gIHNldFRvZGF5KCkge1xyXG4gICAgdGhpcy52YWx1ZSA9IHRoaXMudG9kYXkuZGF0ZTtcclxuICAgIHRoaXMudmlldyA9ICdkYXknO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeUZuKGluZGV4LCBpdGVtOiBhbnkpIHtcclxuICAgIHJldHVybiBpdGVtLmRhdGUuZGF0ZS5nZXRUaW1lKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1jb250YWluZXIge3tzaXplfX1cIiBbbmdDbGFzc109XCJ0eXBlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItaGVhZGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNvbnRyb2xsLWJ1dHRvblwiPlxyXG4gICAgICAgICAgICA8YXgtYnV0dG9uIHR5cGU9XCJsaWdodCBibGFua1wiIChjbGljayk9XCJuZXh0KClcIj5cclxuICAgICAgICAgICAgICAgIHt7J2NvbW1vbi5uZXh0JyB8IHRyYW5zfX1cclxuICAgICAgICAgICAgPC9heC1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LW5hdi1idXR0b25cIiBbbmdTd2l0Y2hdPVwidmlld1wiPlxyXG4gICAgICAgICAgICA8YXgtYnV0dG9uIHR5cGU9XCJsaWdodCBibGFua1wiIChjbGljayk9XCJjaGFuZ2VWaWV3KClcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidkYXknXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3t2aWV3UmFuZ2Uuc3RhcnRUaW1lLmFkZCgnZGF5JywxMCkgfCBkdDpcIk1NTSBZWVlZXCJ9fVxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbW9udGgnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3t2aWV3UmFuZ2Uuc3RhcnRUaW1lIHwgZHQ6XCJZWVlZXCJ9fVxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgICAgICAgICAgICAgICAge3t2aWV3UmFuZ2Uuc3RhcnRUaW1lIHwgZHQ6XCJZWVlZXCJ9fSAtIHt7dmlld1JhbmdlLmVuZFRpbWUgfCBkdDpcIllZWVlcIn19XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9heC1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNvbnRyb2xsLWJ1dHRvblwiPlxyXG4gICAgICAgICAgICA8YXgtYnV0dG9uIHR5cGU9XCJsaWdodCBibGFua1wiIChjbGljayk9XCJwcmV2KClcIj5cclxuICAgICAgICAgICAgICAgIHt7J2NvbW1vbi5wcmV2JyB8IHRyYW5zfX1cclxuICAgICAgICAgICAgPC9heC1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1ib2R5XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwidmlld1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGF5J1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LW1vbnRoLWl0ZW1zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9J2xldCB3IG9mIHdlZWtkYXlzJz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LW1vbnRoLWl0ZW1cIj57e3d9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZGF5LWl0ZW1zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgciBvZiBtYXRyaXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWRheS1pdGVtIGF4LXN0YXRlLWV2ZW50XCIgKm5nRm9yPVwibGV0IGQgb2Ygcjt0cmFja0J5OnRyYWNrQnlGblwiIFt0aXRsZV09XCJnZXRUaXRsZShkLmRhdGUpXCIgW25nQ2xhc3NdPVwieydzZWxlY3RlZCc6IGQuc2VsZWN0ZWQsJ2ZvY3VzZWQnOmQuZm9jdXNlZCwndG9kYXknOmQudG9kYXksJ25leHQtbW9udGgnOmQubmV4dE1vbnRoICwgJ2hvbGlkYXknOmQuaG9saWRheSAsICd1bnNlbGVjdCc6ZC51bnNlbGVjdH1cIiBbbmdTdHlsZV09XCIoZmluZERheShkLmRhdGUpKSA/IGdldFN0eWxlKGQuZGF0ZSk6JydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldERheUNsaWNrKCRldmVudCxkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkLmRhdGUuZGF5SW5Nb250aH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbW9udGgtY29udGFpbmVyXCIgKm5nU3dpdGNoQ2FzZT1cIidtb250aCdcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHIgb2YgbWF0cml4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LW1vbnRoLWl0ZW1cIiAqbmdGb3I9XCJsZXQgZCBvZiByO3RyYWNrQnk6dHJhY2tCeUZuXCIgW25nQ2xhc3NdPVwieydzZWxlY3RlZCc6IGQuc2VsZWN0ZWQsJ2ZvY3VzZWQnOmQuZm9jdXNlZCwndG9kYXknOmQudG9kYXl9XCIgKGNsaWNrKT1cInNldE1vbnRoQ2xpY2soJGV2ZW50LGQuZGF0ZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZC5kYXRlfCBkdDpcIk1NTVwifX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdHJvbmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC15ZWFyLWNvbnRhaW5lclwiICpuZ1N3aXRjaENhc2U9XCIneWVhcidcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgY2xhc3M9XCJjYWxlbmRhci1yb3dcIiAqbmdGb3I9XCJsZXQgciBvZiBtYXRyaXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgteWVhci1pdGVtXCIgKm5nRm9yPVwibGV0IGQgb2Ygcjt0cmFja0J5OnRyYWNrQnlGblwiIFtuZ0NsYXNzXT1cInsnc2VsZWN0ZWQnOiBkLnNlbGVjdGVkLCdmb2N1c2VkJzpkLmZvY3VzZWQsJ3RvZGF5JzpkLnRvZGF5fVwiIChjbGljayk9XCJzZXRZZWFyQ2xpY2soJGV2ZW50LGQuZGF0ZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz57e2QuZGF0ZSB8IGR0OlwiWVlZWVwifX08L3N0cm9uZz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1mb290ZXJcIj5cclxuICAgICAgICA8YXgtYnV0dG9uIChjbGljayk9XCJzZXRUb2RheSgpXCIgKm5nSWY9XCJzaG93VG9kYXlCdXR0b25cIiB0eXBlPVwiZGFya1wiPlxyXG4gICAgICAgICAgICB7e2dldFRvZGF5TmFtZSgpfX1cclxuICAgICAgICA8L2F4LWJ1dHRvbj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -0,0 +1,22 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { AXCalendarBoxComponent } from './calendar-box.component';
4
+ import { AXCoreModule, AXTranslatorModule } from '@acorex/core';
5
+ import { AXPopoverModule } from '../../popover/popover.module';
6
+ import { AXButtonModule } from '../../button/button.module';
7
+ import * as i0 from "@angular/core";
8
+ export class AXCalendarBoxModule {
9
+ }
10
+ AXCalendarBoxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXCalendarBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ AXCalendarBoxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXCalendarBoxModule, declarations: [AXCalendarBoxComponent], imports: [CommonModule, AXButtonModule, AXPopoverModule, AXCoreModule, AXTranslatorModule], exports: [AXCalendarBoxComponent] });
12
+ AXCalendarBoxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXCalendarBoxModule, providers: [], imports: [[CommonModule, AXButtonModule, AXPopoverModule, AXCoreModule, AXTranslatorModule]] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXCalendarBoxModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ declarations: [AXCalendarBoxComponent],
17
+ imports: [CommonModule, AXButtonModule, AXPopoverModule, AXCoreModule, AXTranslatorModule],
18
+ exports: [AXCalendarBoxComponent],
19
+ providers: []
20
+ }]
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItYm94Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvY2FsZW5kYXIvY2FsZW5kYXItYm94L2NhbGVuZGFyLWJveC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQVM1RCxNQUFNLE9BQU8sbUJBQW1COztpSEFBbkIsbUJBQW1CO2tIQUFuQixtQkFBbUIsaUJBTGYsc0JBQXNCLGFBQzNCLFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBQyxrQkFBa0IsYUFDOUUsc0JBQXNCO2tIQUdyQixtQkFBbUIsYUFGbkIsRUFBRSxZQUZKLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFDLGtCQUFrQixDQUFDOzRGQUk5RSxtQkFBbUI7a0JBTi9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ3RDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBQyxrQkFBa0IsQ0FBQztvQkFDekYsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQVhDYWxlbmRhckJveENvbXBvbmVudCB9IGZyb20gJy4vY2FsZW5kYXItYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYQ29yZU1vZHVsZSwgQVhUcmFuc2xhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgQVhQb3BvdmVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vcG9wb3Zlci9wb3BvdmVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbQVhDYWxlbmRhckJveENvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQVhCdXR0b25Nb2R1bGUsIEFYUG9wb3Zlck1vZHVsZSwgQVhDb3JlTW9kdWxlLEFYVHJhbnNsYXRvck1vZHVsZV0sXHJcbiAgZXhwb3J0czogW0FYQ2FsZW5kYXJCb3hDb21wb25lbnRdLFxyXG4gIHByb3ZpZGVyczogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJCb3hNb2R1bGUge1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,54 @@
1
+ import { Component, ContentChildren, QueryList, Input, Attribute } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AXSchedulerViewProperty {
4
+ constructor(type, caption, name) {
5
+ this.type = type;
6
+ this.caption = caption;
7
+ this.name = name;
8
+ }
9
+ ngOnInit() {
10
+ if (!this.interval) {
11
+ this.interval = 1;
12
+ }
13
+ }
14
+ }
15
+ AXSchedulerViewProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSchedulerViewProperty, deps: [{ token: 'type', attribute: true }, { token: 'caption', attribute: true }, { token: 'name', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
16
+ AXSchedulerViewProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXSchedulerViewProperty, selector: "ax-scheduler-view", inputs: { interval: "interval" }, ngImport: i0, template: ``, isInline: true });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSchedulerViewProperty, decorators: [{
18
+ type: Component,
19
+ args: [{
20
+ selector: 'ax-scheduler-view',
21
+ template: ``
22
+ }]
23
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
24
+ type: Attribute,
25
+ args: ['type']
26
+ }] }, { type: undefined, decorators: [{
27
+ type: Attribute,
28
+ args: ['caption']
29
+ }] }, { type: undefined, decorators: [{
30
+ type: Attribute,
31
+ args: ['name']
32
+ }] }]; }, propDecorators: { interval: [{
33
+ type: Input
34
+ }] } });
35
+ export class AXSchedulerViewsProperty {
36
+ constructor() { }
37
+ }
38
+ AXSchedulerViewsProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSchedulerViewsProperty, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
+ AXSchedulerViewsProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXSchedulerViewsProperty, selector: "ax-scheduler-views", queries: [{ propertyName: "views", predicate: AXSchedulerViewProperty }], ngImport: i0, template: `
40
+ <ng-content>
41
+ </ng-content>`, isInline: true });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSchedulerViewsProperty, decorators: [{
43
+ type: Component,
44
+ args: [{
45
+ selector: 'ax-scheduler-views',
46
+ template: `
47
+ <ng-content>
48
+ </ng-content>`,
49
+ }]
50
+ }], ctorParameters: function () { return []; }, propDecorators: { views: [{
51
+ type: ContentChildren,
52
+ args: [AXSchedulerViewProperty]
53
+ }] } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGVyLXZpZXdzLnByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jYWxlbmRhci9zY2hlZHVsZXIvc2NoZWR1bGVyLXZpZXdzLnByb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU94RixNQUFNLE9BQU8sdUJBQXVCO0lBRWhDLFlBQzhCLElBQXlCLEVBQ3RCLE9BQWUsRUFDbEIsSUFBWTtRQUZaLFNBQUksR0FBSixJQUFJLENBQXFCO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDbEIsU0FBSSxHQUFKLElBQUksQ0FBUTtJQUcxQyxDQUFDO0lBTUQsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1NBQ3JCO0lBQ0wsQ0FBQzs7cUhBbEJRLHVCQUF1QixrQkFHakIsTUFBTSw4QkFDTixTQUFTLDhCQUNULE1BQU07eUdBTFosdUJBQXVCLDJGQUZ0QixFQUFFOzRGQUVILHVCQUF1QjtrQkFKbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixRQUFRLEVBQUUsRUFBRTtpQkFDZjs7MEJBSVEsU0FBUzsyQkFBQyxNQUFNOzswQkFDaEIsU0FBUzsyQkFBQyxTQUFTOzswQkFDbkIsU0FBUzsyQkFBQyxNQUFNOzRDQU1kLFFBQVE7c0JBRGQsS0FBSzs7QUFpQlYsTUFBTSxPQUFPLHdCQUF3QjtJQUVqQyxnQkFBZ0IsQ0FBQzs7c0hBRlIsd0JBQXdCOzBHQUF4Qix3QkFBd0IsZ0ZBQ2hCLHVCQUF1Qiw2QkFMOUI7O2tCQUVJOzRGQUVMLHdCQUF3QjtrQkFOcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUU7O2tCQUVJO2lCQUNqQjswRUFFNkMsS0FBSztzQkFBOUMsZUFBZTt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBJbnB1dCwgQXR0cmlidXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYU2NoZWR1bGVyVmlld1R5cGUgfSBmcm9tICcuL3NjaGVkdWxlci5jbGFzcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXgtc2NoZWR1bGVyLXZpZXcnLFxyXG4gICAgdGVtcGxhdGU6IGBgXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFNjaGVkdWxlclZpZXdQcm9wZXJ0eSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQEF0dHJpYnV0ZSgndHlwZScpIHB1YmxpYyB0eXBlOiBBWFNjaGVkdWxlclZpZXdUeXBlLFxyXG4gICAgICAgIEBBdHRyaWJ1dGUoJ2NhcHRpb24nKSBwdWJsaWMgY2FwdGlvbjogc3RyaW5nLFxyXG4gICAgICAgIEBBdHRyaWJ1dGUoJ25hbWUnKSBwdWJsaWMgbmFtZTogc3RyaW5nLFxyXG4gICAgKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaW50ZXJ2YWw6IG51bWJlcjtcclxuXHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmludGVydmFsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW50ZXJ2YWwgPSAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2F4LXNjaGVkdWxlci12aWV3cycsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgPG5nLWNvbnRlbnQ+XHJcbiAgICA8L25nLWNvbnRlbnQ+YCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYU2NoZWR1bGVyVmlld3NQcm9wZXJ0eSB7XHJcbiAgICBAQ29udGVudENoaWxkcmVuKEFYU2NoZWR1bGVyVmlld1Byb3BlcnR5KSB2aWV3czogUXVlcnlMaXN0PEFYU2NoZWR1bGVyVmlld1Byb3BlcnR5PjtcclxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XHJcbn1cclxuIl19
@@ -0,0 +1,18 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ export class AXAsyncEventArgs {
3
+ constructor() {
4
+ this.onComplete = new EventEmitter(true);
5
+ }
6
+ complete() {
7
+ if (this.onComplete) {
8
+ this.onComplete.emit(this);
9
+ }
10
+ }
11
+ }
12
+ export class AXSchedulerEventChangeArgs extends AXAsyncEventArgs {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.canceled = false;
16
+ }
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGVyLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9jYWxlbmRhci9zY2hlZHVsZXIvc2NoZWR1bGVyLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFhN0MsTUFBTSxPQUFnQixnQkFBZ0I7SUFBdEM7UUFDSSxlQUFVLEdBQXNCLElBQUksWUFBWSxDQUFNLElBQUksQ0FBQyxDQUFDO0lBTWhFLENBQUM7SUFMRyxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCO0lBQ0wsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGdCQUFnQjtJQUFoRTs7UUFDSSxhQUFRLEdBQVksS0FBSyxDQUFDO0lBSTlCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGF0ZVRpbWUsIEFYRGF0ZVRpbWVSYW5nZSB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuXHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQVhTY2hlZHVsZXJWaWV3VHlwZSA9ICdkYXknIHwgJ3dlZWsnIHwgJ21vbnRoJyB8ICd0aW1lbGluZScgfCAnYWdlbmRhJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhTY2hlZHVsZXJSZXF1ZXN0RGF0YUFyZ2Uge1xyXG4gICAgc3RhcnRUaW1lOiBBWERhdGVUaW1lO1xyXG4gICAgZW5kVGltZTogQVhEYXRlVGltZTtcclxuICAgIGV2ZW50czogQVhTY2hlZHVsZXJFdmVudFtdO1xyXG59XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhBc3luY0V2ZW50QXJncyB7XHJcbiAgICBvbkNvbXBsZXRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55Pih0cnVlKTtcclxuICAgIGNvbXBsZXRlKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLm9uQ29tcGxldGUpIHtcclxuICAgICAgICAgICAgdGhpcy5vbkNvbXBsZXRlLmVtaXQodGhpcyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQVhTY2hlZHVsZXJFdmVudENoYW5nZUFyZ3MgZXh0ZW5kcyBBWEFzeW5jRXZlbnRBcmdzIHtcclxuICAgIGNhbmNlbGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBldmVudDogQVhTY2hlZHVsZXJFdmVudDtcclxuICAgIG9sZFNsb3Q6IEFYU2NoZWR1bGVyU2xvdDtcclxuICAgIG5ld1Nsb3Q6IEFYU2NoZWR1bGVyU2xvdDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWFNjaGVkdWxlclNsb3Qge1xyXG4gICAgcmFuZ2U6IEFYRGF0ZVRpbWVSYW5nZTtcclxuICAgIGV2ZW50cz86IEFYU2NoZWR1bGVyRXZlbnRbXTtcclxuICAgIHVpZD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWFNjaGVkdWxlckV2ZW50IHtcclxuICAgIHJhbmdlOiBBWERhdGVUaW1lUmFuZ2U7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgICB1aWQ6IHN0cmluZztcclxuICAgIGNvbG9yOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhTY2hlZHVsZXJPY2Nhc2lvbiB7XHJcbiAgICByYW5nZTogQVhEYXRlVGltZVJhbmdlO1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xyXG4gICAgYmxvY2tlZD86IGJvb2xlYW47XHJcbn1cclxuIl19