@acorex/components 16.0.2 → 17.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1254) hide show
  1. package/action-sheet/README.md +3 -0
  2. package/action-sheet/index.d.ts +4 -0
  3. package/action-sheet/lib/action-sheet.class.d.ts +31 -0
  4. package/action-sheet/lib/action-sheet.component.d.ts +23 -0
  5. package/action-sheet/lib/action-sheet.module.d.ts +16 -0
  6. package/action-sheet/lib/action-sheet.service.d.ts +13 -0
  7. package/alert/README.md +3 -0
  8. package/alert/index.d.ts +2 -0
  9. package/alert/lib/alert.component.d.ts +55 -0
  10. package/alert/lib/alert.module.d.ts +9 -0
  11. package/avatar/README.md +3 -0
  12. package/avatar/index.d.ts +3 -0
  13. package/avatar/lib/avatar-group.component.d.ts +5 -0
  14. package/avatar/lib/avatar.component.d.ts +17 -0
  15. package/avatar/lib/avatar.module.d.ts +9 -0
  16. package/badge/README.md +3 -0
  17. package/badge/index.d.ts +2 -0
  18. package/badge/lib/badge.component.d.ts +8 -0
  19. package/badge/lib/badge.module.d.ts +8 -0
  20. package/bottom-navigation/README.md +3 -0
  21. package/bottom-navigation/index.d.ts +3 -0
  22. package/bottom-navigation/lib/bottom-navigation-item/bottom-navigation-item.component.d.ts +15 -0
  23. package/bottom-navigation/lib/bottom-navigation.component.d.ts +17 -0
  24. package/bottom-navigation/lib/bottom-navigation.module.d.ts +9 -0
  25. package/breadcrumbs/README.md +3 -0
  26. package/breadcrumbs/index.d.ts +4 -0
  27. package/breadcrumbs/lib/breadcrumbs-item.class.d.ts +9 -0
  28. package/breadcrumbs/lib/breadcrumbs-item.component.d.ts +14 -0
  29. package/breadcrumbs/lib/breadcrumbs.component.d.ts +9 -0
  30. package/breadcrumbs/lib/breadcrumbs.module.d.ts +10 -0
  31. package/button/README.md +3 -0
  32. package/button/index.d.ts +5 -0
  33. package/button/lib/button-item-list.component.d.ts +19 -0
  34. package/button/lib/button-item.class.d.ts +24 -0
  35. package/button/lib/button-item.component.d.ts +30 -0
  36. package/button/lib/button.component.d.ts +26 -0
  37. package/button/lib/button.module.d.ts +13 -0
  38. package/button-group/README.md +3 -0
  39. package/button-group/index.d.ts +2 -0
  40. package/button-group/lib/button-group.component.d.ts +24 -0
  41. package/button-group/lib/button-group.module.d.ts +8 -0
  42. package/calendar/README.md +3 -0
  43. package/calendar/index.d.ts +4 -0
  44. package/calendar/lib/calendar-range.component.d.ts +31 -0
  45. package/calendar/lib/calendar.class.d.ts +80 -0
  46. package/calendar/lib/calendar.component.d.ts +51 -0
  47. package/calendar/lib/calendar.module.d.ts +11 -0
  48. package/chat/README.md +3 -0
  49. package/chat/index.d.ts +13 -0
  50. package/chat/lib/chat-input/chat-input.component.d.ts +35 -0
  51. package/chat/lib/chat-input/chat-input.interface.d.ts +10 -0
  52. package/chat/lib/chat-message/chat-message.component.d.ts +12 -0
  53. package/chat/lib/chat-messages/chat-message-audio.component.d.ts +7 -0
  54. package/chat/lib/chat-messages/chat-message-text.component.d.ts +8 -0
  55. package/chat/lib/chat-view/chat-view.component.d.ts +10 -0
  56. package/chat/lib/chat-voice/chat-voice.component.d.ts +6 -0
  57. package/chat/lib/chat.module.d.ts +29 -0
  58. package/chat/lib/chat.types.d.ts +21 -0
  59. package/chat/lib/classes/events.interface.d.ts +4 -0
  60. package/chat/lib/services/chat-message-type-registry.service.d.ts +9 -0
  61. package/chat/lib/services/chat.service.d.ts +5 -0
  62. package/chat/lib/services/recording.service.d.ts +20 -0
  63. package/check-box/README.md +3 -0
  64. package/check-box/index.d.ts +2 -0
  65. package/check-box/lib/check-box.component.d.ts +16 -0
  66. package/check-box/lib/check-box.module.d.ts +10 -0
  67. package/chips/README.md +3 -0
  68. package/chips/index.d.ts +2 -0
  69. package/chips/lib/chips.component.d.ts +11 -0
  70. package/chips/lib/chips.module.d.ts +8 -0
  71. package/circular-progress/README.md +3 -0
  72. package/circular-progress/index.d.ts +2 -0
  73. package/circular-progress/lib/circular-progress.component.d.ts +33 -0
  74. package/circular-progress/lib/circular-progress.module.d.ts +7 -0
  75. package/collapse/README.md +3 -0
  76. package/collapse/index.d.ts +3 -0
  77. package/collapse/lib/collapse-group.component.d.ts +30 -0
  78. package/collapse/lib/collapse.component.d.ts +46 -0
  79. package/collapse/lib/collapse.module.d.ts +10 -0
  80. package/color-box/README.md +3 -0
  81. package/color-box/index.d.ts +2 -0
  82. package/color-box/lib/color-box.component.d.ts +27 -0
  83. package/color-box/lib/color-box.module.d.ts +11 -0
  84. package/color-palette/README.md +3 -0
  85. package/color-palette/index.d.ts +7 -0
  86. package/color-palette/lib/color-palette-input.component.d.ts +25 -0
  87. package/color-palette/lib/color-palette-picker.component.d.ts +35 -0
  88. package/color-palette/lib/color-palette-preview.component.d.ts +16 -0
  89. package/color-palette/lib/color-palette-swatches.component.d.ts +21 -0
  90. package/color-palette/lib/color-palette.class.d.ts +28 -0
  91. package/color-palette/lib/color-palette.component.d.ts +10 -0
  92. package/color-palette/lib/color-palette.module.d.ts +20 -0
  93. package/common/README.md +3 -0
  94. package/common/index.d.ts +28 -0
  95. package/common/lib/classes/components.class.d.ts +83 -0
  96. package/common/lib/classes/datalist.class.d.ts +37 -0
  97. package/common/lib/classes/datasource.class.d.ts +78 -0
  98. package/common/lib/classes/events.class.d.ts +96 -0
  99. package/common/lib/classes/styles.class.d.ts +8 -0
  100. package/common/lib/common.module.d.ts +10 -0
  101. package/common/lib/components/base-component.class.d.ts +38 -0
  102. package/common/lib/components/button-base-component.class.d.ts +35 -0
  103. package/common/lib/components/color-component.class.d.ts +12 -0
  104. package/common/lib/components/colorlook-component.class.d.ts +6 -0
  105. package/common/lib/components/input-base-value-component.class.d.ts +27 -0
  106. package/common/lib/components/interactive-component.class.d.ts +42 -0
  107. package/common/lib/components/look-component.class.d.ts +18 -0
  108. package/common/lib/components/selection-base.component.class.d.ts +48 -0
  109. package/common/lib/components/value-component.class.d.ts +67 -0
  110. package/common/lib/directives/auto-focus.directive.d.ts +15 -0
  111. package/common/lib/directives/delayed-value-changed.directive.d.ts +17 -0
  112. package/common/lib/directives/hotkey.directive.d.ts +22 -0
  113. package/common/lib/directives/infinite-scroll.directive.d.ts +25 -0
  114. package/common/lib/directives/responsive.directive.d.ts +10 -0
  115. package/common/lib/directives/ripple.directive.d.ts +16 -0
  116. package/common/lib/services/dom.service.d.ts +6 -0
  117. package/common/lib/services/hotkey.service.d.ts +31 -0
  118. package/common/lib/types/direction.d.ts +4 -0
  119. package/common/lib/types/orientation.d.ts +4 -0
  120. package/common/lib/types/placement.d.ts +30 -0
  121. package/common/lib/types/range.d.ts +4 -0
  122. package/common/lib/types/selection-mode.d.ts +4 -0
  123. package/data-pager/README.md +3 -0
  124. package/data-pager/index.d.ts +9 -0
  125. package/data-pager/lib/data-pager-base.component.d.ts +54 -0
  126. package/data-pager/lib/data-pager-info.component.d.ts +11 -0
  127. package/data-pager/lib/data-pager-input-selector.component.d.ts +11 -0
  128. package/data-pager/lib/data-pager-next-buttons.components.d.ts +10 -0
  129. package/data-pager/lib/data-pager-numeric-selector.component.d.ts +13 -0
  130. package/data-pager/lib/data-pager-pagesize-dropdown.component.d.ts +14 -0
  131. package/data-pager/lib/data-pager-prev-buttons.component.d.ts +10 -0
  132. package/data-pager/lib/data-pager.component.d.ts +34 -0
  133. package/data-pager/lib/data-pager.module.d.ts +21 -0
  134. package/data-table/README.md +3 -0
  135. package/data-table/index.d.ts +10 -0
  136. package/data-table/lib/base-data-table.class.d.ts +25 -0
  137. package/data-table/lib/columns/data-table-column-resizable.directive.d.ts +22 -0
  138. package/data-table/lib/columns/data-table-column.d.ts +20 -0
  139. package/data-table/lib/columns/data-text-column.component.d.ts +18 -0
  140. package/data-table/lib/columns/row-command-column.component.d.ts +40 -0
  141. package/data-table/lib/columns/row-index-column.component.d.ts +18 -0
  142. package/data-table/lib/columns/row-select-column.component.d.ts +14 -0
  143. package/data-table/lib/data-table/data-table.component.d.ts +52 -0
  144. package/data-table/lib/data-table.module.d.ts +26 -0
  145. package/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.d.ts +66 -0
  146. package/datetime-box/README.md +3 -0
  147. package/datetime-box/index.d.ts +2 -0
  148. package/datetime-box/lib/datetime-box.component.d.ts +36 -0
  149. package/datetime-box/lib/datetime-box.module.d.ts +13 -0
  150. package/datetime-input/README.md +3 -0
  151. package/datetime-input/index.d.ts +2 -0
  152. package/datetime-input/lib/datetime-input.component.d.ts +45 -0
  153. package/datetime-input/lib/datetime-input.module.d.ts +10 -0
  154. package/datetime-picker/README.md +3 -0
  155. package/datetime-picker/index.d.ts +3 -0
  156. package/datetime-picker/lib/datetime-picker.component.d.ts +49 -0
  157. package/datetime-picker/lib/datetime-picker.config.d.ts +8 -0
  158. package/datetime-picker/lib/datetime-picker.module.d.ts +15 -0
  159. package/decorators/README.md +3 -0
  160. package/decorators/index.d.ts +5 -0
  161. package/decorators/lib/components/clear-button.component.d.ts +13 -0
  162. package/decorators/lib/components/close-button.component.d.ts +12 -0
  163. package/decorators/lib/components/generic-content.component.d.ts +6 -0
  164. package/decorators/lib/components/icon.component.d.ts +8 -0
  165. package/decorators/lib/decorators.module.d.ts +11 -0
  166. package/dialog/README.md +3 -0
  167. package/dialog/index.d.ts +4 -0
  168. package/dialog/lib/dialog.class.d.ts +36 -0
  169. package/dialog/lib/dialog.component.d.ts +19 -0
  170. package/dialog/lib/dialog.module.d.ts +16 -0
  171. package/dialog/lib/dialog.service.d.ts +31 -0
  172. package/drawer/README.md +3 -0
  173. package/drawer/index.d.ts +3 -0
  174. package/drawer/lib/drawer-container.component.d.ts +7 -0
  175. package/drawer/lib/drawer.component.d.ts +39 -0
  176. package/drawer/lib/drawer.module.d.ts +9 -0
  177. package/dropdown/README.md +3 -0
  178. package/dropdown/index.d.ts +4 -0
  179. package/dropdown/lib/dropdown-box.class.d.ts +15 -0
  180. package/dropdown/lib/dropdown-box.component.d.ts +30 -0
  181. package/dropdown/lib/dropdown-panel.component.d.ts +33 -0
  182. package/dropdown/lib/dropdown.module.d.ts +14 -0
  183. package/dropdown-button/README.md +3 -0
  184. package/dropdown-button/index.d.ts +2 -0
  185. package/dropdown-button/lib/dropdown-button.component.d.ts +28 -0
  186. package/dropdown-button/lib/dropdown-button.module.d.ts +13 -0
  187. package/esm2022/action-sheet/acorex-components-action-sheet.mjs +5 -0
  188. package/esm2022/action-sheet/index.mjs +5 -0
  189. package/esm2022/action-sheet/lib/action-sheet.class.mjs +2 -0
  190. package/esm2022/action-sheet/lib/action-sheet.component.mjs +98 -0
  191. package/esm2022/action-sheet/lib/action-sheet.module.mjs +54 -0
  192. package/esm2022/action-sheet/lib/action-sheet.service.mjs +57 -0
  193. package/esm2022/alert/acorex-components-alert.mjs +5 -0
  194. package/esm2022/alert/index.mjs +3 -0
  195. package/esm2022/alert/lib/alert.component.mjs +195 -0
  196. package/esm2022/alert/lib/alert.module.mjs +22 -0
  197. package/esm2022/avatar/acorex-components-avatar.mjs +5 -0
  198. package/esm2022/avatar/index.mjs +4 -0
  199. package/esm2022/avatar/lib/avatar-group.component.mjs +14 -0
  200. package/esm2022/avatar/lib/avatar.component.mjs +41 -0
  201. package/esm2022/avatar/lib/avatar.module.mjs +22 -0
  202. package/esm2022/badge/acorex-components-badge.mjs +5 -0
  203. package/esm2022/badge/index.mjs +3 -0
  204. package/esm2022/badge/lib/badge.component.mjs +24 -0
  205. package/esm2022/badge/lib/badge.module.mjs +19 -0
  206. package/esm2022/bottom-navigation/acorex-components-bottom-navigation.mjs +5 -0
  207. package/esm2022/bottom-navigation/index.mjs +4 -0
  208. package/esm2022/bottom-navigation/lib/bottom-navigation-item/bottom-navigation-item.component.mjs +46 -0
  209. package/esm2022/bottom-navigation/lib/bottom-navigation.component.mjs +49 -0
  210. package/esm2022/bottom-navigation/lib/bottom-navigation.module.mjs +27 -0
  211. package/esm2022/breadcrumbs/acorex-components-breadcrumbs.mjs +5 -0
  212. package/esm2022/breadcrumbs/index.mjs +5 -0
  213. package/esm2022/breadcrumbs/lib/breadcrumbs-item.class.mjs +2 -0
  214. package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +36 -0
  215. package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +19 -0
  216. package/esm2022/breadcrumbs/lib/breadcrumbs.module.mjs +21 -0
  217. package/esm2022/button/acorex-components-button.mjs +5 -0
  218. package/esm2022/button/index.mjs +6 -0
  219. package/esm2022/button/lib/button-item-list.component.mjs +114 -0
  220. package/esm2022/button/lib/button-item.class.mjs +2 -0
  221. package/esm2022/button/lib/button-item.component.mjs +106 -0
  222. package/esm2022/button/lib/button.component.mjs +98 -0
  223. package/esm2022/button/lib/button.module.mjs +47 -0
  224. package/esm2022/button-group/acorex-components-button-group.mjs +5 -0
  225. package/esm2022/button-group/index.mjs +3 -0
  226. package/esm2022/button-group/lib/button-group.component.mjs +118 -0
  227. package/esm2022/button-group/lib/button-group.module.mjs +21 -0
  228. package/esm2022/calendar/acorex-components-calendar.mjs +5 -0
  229. package/esm2022/calendar/index.mjs +5 -0
  230. package/esm2022/calendar/lib/calendar-range.component.mjs +175 -0
  231. package/esm2022/calendar/lib/calendar.class.mjs +176 -0
  232. package/esm2022/calendar/lib/calendar.component.mjs +477 -0
  233. package/esm2022/calendar/lib/calendar.module.mjs +24 -0
  234. package/esm2022/chat/acorex-components-chat.mjs +5 -0
  235. package/esm2022/chat/index.mjs +15 -0
  236. package/esm2022/chat/lib/chat-input/chat-input.component.mjs +125 -0
  237. package/esm2022/chat/lib/chat-input/chat-input.interface.mjs +2 -0
  238. package/esm2022/chat/lib/chat-message/chat-message.component.mjs +30 -0
  239. package/esm2022/chat/lib/chat-messages/chat-message-audio.component.mjs +17 -0
  240. package/esm2022/chat/lib/chat-messages/chat-message-text.component.mjs +23 -0
  241. package/esm2022/chat/lib/chat-view/chat-view.component.mjs +22 -0
  242. package/esm2022/chat/lib/chat-voice/chat-voice.component.mjs +12 -0
  243. package/esm2022/chat/lib/chat.module.mjs +125 -0
  244. package/esm2022/chat/lib/chat.types.mjs +10 -0
  245. package/esm2022/chat/lib/classes/events.interface.mjs +2 -0
  246. package/esm2022/chat/lib/services/chat-message-type-registry.service.mjs +20 -0
  247. package/esm2022/chat/lib/services/chat.service.mjs +10 -0
  248. package/esm2022/chat/lib/services/recording.service.mjs +78 -0
  249. package/esm2022/check-box/acorex-components-check-box.mjs +5 -0
  250. package/esm2022/check-box/index.mjs +3 -0
  251. package/esm2022/check-box/lib/check-box.component.mjs +100 -0
  252. package/esm2022/check-box/lib/check-box.module.mjs +21 -0
  253. package/esm2022/chips/acorex-components-chips.mjs +5 -0
  254. package/esm2022/chips/index.mjs +3 -0
  255. package/esm2022/chips/lib/chips.component.mjs +28 -0
  256. package/esm2022/chips/lib/chips.module.mjs +19 -0
  257. package/esm2022/circular-progress/acorex-components-circular-progress.mjs +5 -0
  258. package/esm2022/circular-progress/index.mjs +3 -0
  259. package/esm2022/circular-progress/lib/circular-progress.component.mjs +96 -0
  260. package/esm2022/circular-progress/lib/circular-progress.module.mjs +17 -0
  261. package/esm2022/collapse/acorex-components-collapse.mjs +5 -0
  262. package/esm2022/collapse/index.mjs +4 -0
  263. package/esm2022/collapse/lib/collapse-group.component.mjs +131 -0
  264. package/esm2022/collapse/lib/collapse.component.mjs +146 -0
  265. package/esm2022/collapse/lib/collapse.module.mjs +21 -0
  266. package/esm2022/color-box/acorex-components-color-box.mjs +5 -0
  267. package/esm2022/color-box/index.mjs +3 -0
  268. package/esm2022/color-box/lib/color-box.component.mjs +71 -0
  269. package/esm2022/color-box/lib/color-box.module.mjs +32 -0
  270. package/esm2022/color-palette/acorex-components-color-palette.mjs +5 -0
  271. package/esm2022/color-palette/index.mjs +8 -0
  272. package/esm2022/color-palette/lib/color-palette-input.component.mjs +127 -0
  273. package/esm2022/color-palette/lib/color-palette-picker.component.mjs +175 -0
  274. package/esm2022/color-palette/lib/color-palette-preview.component.mjs +71 -0
  275. package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +95 -0
  276. package/esm2022/color-palette/lib/color-palette.class.mjs +238 -0
  277. package/esm2022/color-palette/lib/color-palette.component.mjs +66 -0
  278. package/esm2022/color-palette/lib/color-palette.module.mjs +63 -0
  279. package/esm2022/common/acorex-components-common.mjs +5 -0
  280. package/esm2022/common/index.mjs +29 -0
  281. package/esm2022/common/lib/classes/components.class.mjs +76 -0
  282. package/esm2022/common/lib/classes/datalist.class.mjs +50 -0
  283. package/esm2022/common/lib/classes/datasource.class.mjs +133 -0
  284. package/esm2022/common/lib/classes/events.class.mjs +79 -0
  285. package/esm2022/common/lib/classes/styles.class.mjs +20 -0
  286. package/esm2022/common/lib/common.module.mjs +38 -0
  287. package/esm2022/common/lib/components/base-component.class.mjs +81 -0
  288. package/esm2022/common/lib/components/button-base-component.class.mjs +67 -0
  289. package/esm2022/common/lib/components/color-component.class.mjs +25 -0
  290. package/esm2022/common/lib/components/colorlook-component.class.mjs +6 -0
  291. package/esm2022/common/lib/components/input-base-value-component.class.mjs +47 -0
  292. package/esm2022/common/lib/components/interactive-component.class.mjs +107 -0
  293. package/esm2022/common/lib/components/look-component.class.mjs +33 -0
  294. package/esm2022/common/lib/components/selection-base.component.class.mjs +196 -0
  295. package/esm2022/common/lib/components/value-component.class.mjs +223 -0
  296. package/esm2022/common/lib/directives/auto-focus.directive.mjs +66 -0
  297. package/esm2022/common/lib/directives/delayed-value-changed.directive.mjs +51 -0
  298. package/esm2022/common/lib/directives/hotkey.directive.mjs +81 -0
  299. package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +61 -0
  300. package/esm2022/common/lib/directives/responsive.directive.mjs +42 -0
  301. package/esm2022/common/lib/directives/ripple.directive.mjs +62 -0
  302. package/esm2022/common/lib/services/dom.service.mjs +16 -0
  303. package/esm2022/common/lib/services/hotkey.service.mjs +53 -0
  304. package/esm2022/common/lib/types/direction.mjs +2 -0
  305. package/esm2022/common/lib/types/orientation.mjs +2 -0
  306. package/esm2022/common/lib/types/placement.mjs +180 -0
  307. package/esm2022/common/lib/types/range.mjs +2 -0
  308. package/esm2022/common/lib/types/selection-mode.mjs +5 -0
  309. package/esm2022/data-pager/acorex-components-data-pager.mjs +5 -0
  310. package/esm2022/data-pager/index.mjs +10 -0
  311. package/esm2022/data-pager/lib/data-pager-base.component.mjs +50 -0
  312. package/esm2022/data-pager/lib/data-pager-info.component.mjs +47 -0
  313. package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +73 -0
  314. package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +61 -0
  315. package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +129 -0
  316. package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +109 -0
  317. package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +97 -0
  318. package/esm2022/data-pager/lib/data-pager.component.mjs +170 -0
  319. package/esm2022/data-pager/lib/data-pager.module.mjs +70 -0
  320. package/esm2022/data-table/acorex-components-data-table.mjs +5 -0
  321. package/esm2022/data-table/index.mjs +11 -0
  322. package/esm2022/data-table/lib/base-data-table.class.mjs +36 -0
  323. package/esm2022/data-table/lib/columns/data-table-column-resizable.directive.mjs +59 -0
  324. package/esm2022/data-table/lib/columns/data-table-column.mjs +38 -0
  325. package/esm2022/data-table/lib/columns/data-text-column.component.mjs +81 -0
  326. package/esm2022/data-table/lib/columns/row-command-column.component.mjs +231 -0
  327. package/esm2022/data-table/lib/columns/row-index-column.component.mjs +71 -0
  328. package/esm2022/data-table/lib/columns/row-select-column.component.mjs +61 -0
  329. package/esm2022/data-table/lib/data-table/data-table.component.mjs +233 -0
  330. package/esm2022/data-table/lib/data-table.module.mjs +107 -0
  331. package/esm2022/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.mjs +272 -0
  332. package/esm2022/datetime-box/acorex-components-datetime-box.mjs +5 -0
  333. package/esm2022/datetime-box/index.mjs +3 -0
  334. package/esm2022/datetime-box/lib/datetime-box.component.mjs +110 -0
  335. package/esm2022/datetime-box/lib/datetime-box.module.mjs +38 -0
  336. package/esm2022/datetime-input/acorex-components-datetime-input.mjs +5 -0
  337. package/esm2022/datetime-input/index.mjs +3 -0
  338. package/esm2022/datetime-input/lib/datetime-input.component.mjs +553 -0
  339. package/esm2022/datetime-input/lib/datetime-input.module.mjs +23 -0
  340. package/esm2022/datetime-picker/acorex-components-datetime-picker.mjs +5 -0
  341. package/esm2022/datetime-picker/index.mjs +4 -0
  342. package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +266 -0
  343. package/esm2022/datetime-picker/lib/datetime-picker.config.mjs +22 -0
  344. package/esm2022/datetime-picker/lib/datetime-picker.module.mjs +44 -0
  345. package/esm2022/decorators/acorex-components-decorators.mjs +5 -0
  346. package/esm2022/decorators/index.mjs +6 -0
  347. package/esm2022/decorators/lib/components/clear-button.component.mjs +70 -0
  348. package/esm2022/decorators/lib/components/close-button.component.mjs +52 -0
  349. package/esm2022/decorators/lib/components/generic-content.component.mjs +38 -0
  350. package/esm2022/decorators/lib/components/icon.component.mjs +25 -0
  351. package/esm2022/decorators/lib/decorators.module.mjs +35 -0
  352. package/esm2022/dialog/acorex-components-dialog.mjs +5 -0
  353. package/esm2022/dialog/index.mjs +5 -0
  354. package/esm2022/dialog/lib/dialog.class.mjs +2 -0
  355. package/esm2022/dialog/lib/dialog.component.mjs +62 -0
  356. package/esm2022/dialog/lib/dialog.module.mjs +48 -0
  357. package/esm2022/dialog/lib/dialog.service.mjs +164 -0
  358. package/esm2022/drawer/acorex-components-drawer.mjs +5 -0
  359. package/esm2022/drawer/index.mjs +4 -0
  360. package/esm2022/drawer/lib/drawer-container.component.mjs +33 -0
  361. package/esm2022/drawer/lib/drawer.component.mjs +151 -0
  362. package/esm2022/drawer/lib/drawer.module.mjs +22 -0
  363. package/esm2022/dropdown/acorex-components-dropdown.mjs +5 -0
  364. package/esm2022/dropdown/index.mjs +5 -0
  365. package/esm2022/dropdown/lib/dropdown-box.class.mjs +38 -0
  366. package/esm2022/dropdown/lib/dropdown-box.component.mjs +103 -0
  367. package/esm2022/dropdown/lib/dropdown-panel.component.mjs +145 -0
  368. package/esm2022/dropdown/lib/dropdown.module.mjs +42 -0
  369. package/esm2022/dropdown-button/acorex-components-dropdown-button.mjs +5 -0
  370. package/esm2022/dropdown-button/index.mjs +3 -0
  371. package/esm2022/dropdown-button/lib/dropdown-button.component.mjs +97 -0
  372. package/esm2022/dropdown-button/lib/dropdown-button.module.mjs +45 -0
  373. package/esm2022/form/acorex-components-form.mjs +5 -0
  374. package/esm2022/form/index.mjs +7 -0
  375. package/esm2022/form/lib/form-field.component.mjs +40 -0
  376. package/esm2022/form/lib/form.component.mjs +122 -0
  377. package/esm2022/form/lib/form.config.mjs +16 -0
  378. package/esm2022/form/lib/form.module.mjs +60 -0
  379. package/esm2022/form/lib/validation-rule.directive.mjs +36 -0
  380. package/esm2022/form/lib/validation-summary.component.mjs +133 -0
  381. package/esm2022/image/acorex-components-image.mjs +5 -0
  382. package/esm2022/image/index.mjs +3 -0
  383. package/esm2022/image/lib/image.component.mjs +72 -0
  384. package/esm2022/image/lib/image.module.mjs +19 -0
  385. package/esm2022/index.mjs +2 -158
  386. package/esm2022/label/acorex-components-label.mjs +5 -0
  387. package/esm2022/label/index.mjs +3 -0
  388. package/esm2022/label/lib/label.component.mjs +47 -0
  389. package/esm2022/label/lib/label.module.mjs +21 -0
  390. package/esm2022/list/acorex-components-list.mjs +5 -0
  391. package/esm2022/list/index.mjs +3 -0
  392. package/esm2022/list/lib/list.component.mjs +184 -0
  393. package/esm2022/list/lib/list.module.mjs +23 -0
  394. package/esm2022/loading/acorex-components-loading.mjs +5 -0
  395. package/esm2022/loading/index.mjs +7 -0
  396. package/esm2022/loading/lib/loading-spinner.component.mjs +44 -0
  397. package/esm2022/loading/lib/loading.component.mjs +62 -0
  398. package/esm2022/loading/lib/loading.config.mjs +17 -0
  399. package/esm2022/loading/lib/loading.directive.mjs +39 -0
  400. package/esm2022/loading/lib/loading.module.mjs +35 -0
  401. package/esm2022/loading/lib/loading.service.mjs +129 -0
  402. package/esm2022/loading-dialog/acorex-components-loading-dialog.mjs +5 -0
  403. package/esm2022/loading-dialog/index.mjs +5 -0
  404. package/esm2022/loading-dialog/lib/loading-dialog.class.mjs +2 -0
  405. package/esm2022/loading-dialog/lib/loading-dialog.component.mjs +63 -0
  406. package/esm2022/loading-dialog/lib/loading-dialog.module.mjs +46 -0
  407. package/esm2022/loading-dialog/lib/loading-dialog.service.mjs +37 -0
  408. package/esm2022/menu/acorex-components-menu.mjs +5 -0
  409. package/esm2022/menu/index.mjs +5 -0
  410. package/esm2022/menu/lib/class/root-menu.class.mjs +3 -0
  411. package/esm2022/menu/lib/menu-item/menu-item.component.mjs +140 -0
  412. package/esm2022/menu/lib/menu.component.mjs +48 -0
  413. package/esm2022/menu/lib/menu.module.mjs +37 -0
  414. package/esm2022/nav/acorex-components-nav.mjs +5 -0
  415. package/esm2022/nav/index.mjs +4 -0
  416. package/esm2022/nav/lib/nav-item/nav-item.component.mjs +41 -0
  417. package/esm2022/nav/lib/nav.component.mjs +12 -0
  418. package/esm2022/nav/lib/nav.module.mjs +23 -0
  419. package/esm2022/navbar/acorex-components-navbar.mjs +5 -0
  420. package/esm2022/navbar/index.mjs +3 -0
  421. package/esm2022/navbar/lib/navbar.component.mjs +18 -0
  422. package/esm2022/navbar/lib/navbar.module.mjs +18 -0
  423. package/esm2022/notification/acorex-components-notification.mjs +5 -0
  424. package/esm2022/notification/index.mjs +6 -0
  425. package/esm2022/notification/lib/notification.class.mjs +2 -0
  426. package/esm2022/notification/lib/notification.component.mjs +105 -0
  427. package/esm2022/notification/lib/notification.config.mjs +20 -0
  428. package/esm2022/notification/lib/notification.module.mjs +42 -0
  429. package/esm2022/notification/lib/notification.service.mjs +102 -0
  430. package/esm2022/number-box/acorex-components-number-box.mjs +5 -0
  431. package/esm2022/number-box/index.mjs +3 -0
  432. package/esm2022/number-box/lib/number-box.component.mjs +294 -0
  433. package/esm2022/number-box/lib/number-box.module.mjs +35 -0
  434. package/esm2022/otp/acorex-components-otp.mjs +5 -0
  435. package/esm2022/otp/index.mjs +4 -0
  436. package/esm2022/otp/lib/otp.class.mjs +4 -0
  437. package/esm2022/otp/lib/otp.component.mjs +158 -0
  438. package/esm2022/otp/lib/otp.module.mjs +22 -0
  439. package/esm2022/page/acorex-components-page.mjs +5 -0
  440. package/esm2022/page/index.mjs +4 -0
  441. package/esm2022/page/lib/base-page.class.mjs +62 -0
  442. package/esm2022/page/lib/page.component.mjs +44 -0
  443. package/esm2022/page/lib/page.module.mjs +18 -0
  444. package/esm2022/password-box/acorex-components-password-box.mjs +5 -0
  445. package/esm2022/password-box/index.mjs +3 -0
  446. package/esm2022/password-box/lib/password-box.component.mjs +94 -0
  447. package/esm2022/password-box/lib/password-box.module.mjs +24 -0
  448. package/esm2022/phone-box/acorex-components-phone-box.mjs +5 -0
  449. package/esm2022/phone-box/index.mjs +3 -0
  450. package/esm2022/phone-box/lib/phone-box.component.mjs +135 -0
  451. package/esm2022/phone-box/lib/phone-box.module.mjs +44 -0
  452. package/esm2022/picker/acorex-components-picker.mjs +5 -0
  453. package/esm2022/picker/index.mjs +4 -0
  454. package/esm2022/picker/lib/picker-column.directive.mjs +66 -0
  455. package/esm2022/picker/lib/picker.component.mjs +164 -0
  456. package/esm2022/picker/lib/picker.module.mjs +22 -0
  457. package/esm2022/popover/acorex-components-popover.mjs +5 -0
  458. package/esm2022/popover/index.mjs +3 -0
  459. package/esm2022/popover/lib/popover.component.mjs +379 -0
  460. package/esm2022/popover/lib/popover.module.mjs +19 -0
  461. package/esm2022/popup/acorex-components-popup.mjs +5 -0
  462. package/esm2022/popup/index.mjs +5 -0
  463. package/esm2022/popup/lib/popup.component.mjs +153 -0
  464. package/esm2022/popup/lib/popup.interface.mjs +2 -0
  465. package/esm2022/popup/lib/popup.module.mjs +45 -0
  466. package/esm2022/popup/lib/popup.service.mjs +65 -0
  467. package/esm2022/progress-bar/acorex-components-progress-bar.mjs +5 -0
  468. package/esm2022/progress-bar/index.mjs +3 -0
  469. package/esm2022/progress-bar/lib/progress-bar.component.mjs +57 -0
  470. package/esm2022/progress-bar/lib/progress-bar.module.mjs +19 -0
  471. package/esm2022/radio/acorex-components-radio.mjs +5 -0
  472. package/esm2022/radio/index.mjs +3 -0
  473. package/esm2022/radio/lib/radio.component.mjs +62 -0
  474. package/esm2022/radio/lib/radio.module.mjs +22 -0
  475. package/esm2022/range-slider/acorex-components-range-slider.mjs +5 -0
  476. package/esm2022/range-slider/index.mjs +3 -0
  477. package/esm2022/range-slider/lib/range-slider.component.mjs +117 -0
  478. package/esm2022/range-slider/lib/range-slider.module.mjs +23 -0
  479. package/esm2022/result/acorex-components-result.mjs +5 -0
  480. package/esm2022/result/index.mjs +3 -0
  481. package/esm2022/result/lib/result.component.mjs +27 -0
  482. package/esm2022/result/lib/result.module.mjs +19 -0
  483. package/esm2022/routing-progress/acorex-components-routing-progress.mjs +5 -0
  484. package/esm2022/routing-progress/index.mjs +3 -0
  485. package/esm2022/routing-progress/lib/routing-progress.component.mjs +57 -0
  486. package/esm2022/routing-progress/lib/routing-progress.module.mjs +21 -0
  487. package/esm2022/scheduler/acorex-components-scheduler.mjs +5 -0
  488. package/esm2022/scheduler/index.mjs +5 -0
  489. package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +53 -0
  490. package/esm2022/scheduler/lib/scheduler-week-view.component.mjs +12 -0
  491. package/esm2022/scheduler/lib/scheduler.component.mjs +43 -0
  492. package/esm2022/scheduler/lib/scheduler.module.mjs +45 -0
  493. package/esm2022/scss/acorex-components-scss.mjs +5 -0
  494. package/esm2022/scss/index.mjs +2 -0
  495. package/esm2022/scss/lib/scss.module.mjs +15 -0
  496. package/esm2022/search-box/acorex-components-search-box.mjs +5 -0
  497. package/esm2022/search-box/index.mjs +3 -0
  498. package/esm2022/search-box/lib/search-box.component.mjs +87 -0
  499. package/esm2022/search-box/lib/search-box.module.mjs +46 -0
  500. package/esm2022/select-box/acorex-components-select-box.mjs +5 -0
  501. package/esm2022/select-box/index.mjs +3 -0
  502. package/esm2022/select-box/lib/select-box.component.mjs +299 -0
  503. package/esm2022/select-box/lib/select-box.module.mjs +69 -0
  504. package/esm2022/selection-list/acorex-components-selection-list.mjs +5 -0
  505. package/esm2022/selection-list/index.mjs +3 -0
  506. package/esm2022/selection-list/lib/selection-list.component.mjs +135 -0
  507. package/esm2022/selection-list/lib/selection-list.module.mjs +41 -0
  508. package/esm2022/side-menu/acorex-components-side-menu.mjs +5 -0
  509. package/esm2022/side-menu/index.mjs +4 -0
  510. package/esm2022/side-menu/lib/side-menu-item/side-menu-item.compoent.mjs +147 -0
  511. package/esm2022/side-menu/lib/side-menu.component.mjs +12 -0
  512. package/esm2022/side-menu/lib/side-menu.module.mjs +25 -0
  513. package/esm2022/skeleton/acorex-components-skeleton.mjs +5 -0
  514. package/esm2022/skeleton/index.mjs +3 -0
  515. package/esm2022/skeleton/lib/skeleton.component.mjs +24 -0
  516. package/esm2022/skeleton/lib/skeleton.module.mjs +18 -0
  517. package/esm2022/step-wizard/acorex-components-step-wizard.mjs +5 -0
  518. package/esm2022/step-wizard/index.mjs +6 -0
  519. package/esm2022/step-wizard/lib/step-wizard-item/step-wizard-item.component.mjs +66 -0
  520. package/esm2022/step-wizard/lib/step-wizard.class.mjs +2 -0
  521. package/esm2022/step-wizard/lib/step-wizard.component.mjs +102 -0
  522. package/esm2022/step-wizard/lib/step-wizard.directive.mjs +28 -0
  523. package/esm2022/step-wizard/lib/step-wizard.module.mjs +33 -0
  524. package/esm2022/switch/acorex-components-switch.mjs +5 -0
  525. package/esm2022/switch/index.mjs +4 -0
  526. package/esm2022/switch/lib/switch-content.component.mjs +15 -0
  527. package/esm2022/switch/lib/switch.component.mjs +51 -0
  528. package/esm2022/switch/lib/switch.module.mjs +21 -0
  529. package/esm2022/tabs/acorex-components-tabs.mjs +5 -0
  530. package/esm2022/tabs/index.mjs +6 -0
  531. package/esm2022/tabs/lib/tab-content.directive.mjs +28 -0
  532. package/esm2022/tabs/lib/tab-item.component.mjs +121 -0
  533. package/esm2022/tabs/lib/tabs.class.mjs +4 -0
  534. package/esm2022/tabs/lib/tabs.component.mjs +99 -0
  535. package/esm2022/tabs/lib/tabs.module.mjs +25 -0
  536. package/esm2022/tag/acorex-components-tag.mjs +5 -0
  537. package/esm2022/tag/index.mjs +3 -0
  538. package/esm2022/tag/lib/tag.component.mjs +20 -0
  539. package/esm2022/tag/lib/tag.module.mjs +19 -0
  540. package/esm2022/text-area/acorex-components-text-area.mjs +5 -0
  541. package/esm2022/text-area/index.mjs +3 -0
  542. package/esm2022/text-area/lib/text-area.component.mjs +65 -0
  543. package/esm2022/text-area/lib/text-area.module.mjs +19 -0
  544. package/esm2022/text-box/acorex-components-text-box.mjs +5 -0
  545. package/esm2022/text-box/index.mjs +4 -0
  546. package/esm2022/text-box/lib/mask-options.directive.mjs +17 -0
  547. package/esm2022/text-box/lib/text-box.component.mjs +131 -0
  548. package/esm2022/text-box/lib/text-box.module.mjs +38 -0
  549. package/esm2022/toast/acorex-components-toast.mjs +5 -0
  550. package/esm2022/toast/index.mjs +6 -0
  551. package/esm2022/toast/lib/toast.class.mjs +2 -0
  552. package/esm2022/toast/lib/toast.component.mjs +81 -0
  553. package/esm2022/toast/lib/toast.config.mjs +25 -0
  554. package/esm2022/toast/lib/toast.module.mjs +39 -0
  555. package/esm2022/toast/lib/toast.service.mjs +139 -0
  556. package/esm2022/tooltip/acorex-components-tooltip.mjs +5 -0
  557. package/esm2022/tooltip/index.mjs +4 -0
  558. package/esm2022/tooltip/lib/tooltip.component.mjs +16 -0
  559. package/esm2022/tooltip/lib/tooltip.directive.mjs +80 -0
  560. package/esm2022/tooltip/lib/tooltip.module.mjs +22 -0
  561. package/esm2022/uploader/acorex-components-uploader.mjs +5 -0
  562. package/esm2022/uploader/index.mjs +8 -0
  563. package/esm2022/uploader/lib/uploader-browse-handle.directive.mjs +27 -0
  564. package/esm2022/uploader/lib/uploader-dialog-container.component.mjs +40 -0
  565. package/esm2022/uploader/lib/uploader-drop-zone.component.mjs +14 -0
  566. package/esm2022/uploader/lib/uploader-list.component.mjs +21 -0
  567. package/esm2022/uploader/lib/uploader-zone.directive.mjs +79 -0
  568. package/esm2022/uploader/lib/uploader.models.mjs +68 -0
  569. package/esm2022/uploader/lib/uploader.module.mjs +84 -0
  570. package/esm2022/uploader/lib/uploader.service.mjs +86 -0
  571. package/fesm2022/acorex-components-action-sheet.mjs +205 -0
  572. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -0
  573. package/fesm2022/acorex-components-alert.mjs +220 -0
  574. package/fesm2022/acorex-components-alert.mjs.map +1 -0
  575. package/fesm2022/acorex-components-avatar.mjs +78 -0
  576. package/fesm2022/acorex-components-avatar.mjs.map +1 -0
  577. package/fesm2022/acorex-components-badge.mjs +47 -0
  578. package/fesm2022/acorex-components-badge.mjs.map +1 -0
  579. package/fesm2022/acorex-components-bottom-navigation.mjs +120 -0
  580. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -0
  581. package/fesm2022/acorex-components-breadcrumbs.mjs +73 -0
  582. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -0
  583. package/fesm2022/acorex-components-button-group.mjs +143 -0
  584. package/fesm2022/acorex-components-button-group.mjs.map +1 -0
  585. package/fesm2022/acorex-components-button.mjs +356 -0
  586. package/fesm2022/acorex-components-button.mjs.map +1 -0
  587. package/fesm2022/acorex-components-calendar.mjs +840 -0
  588. package/fesm2022/acorex-components-calendar.mjs.map +1 -0
  589. package/fesm2022/acorex-components-chat.mjs +441 -0
  590. package/fesm2022/acorex-components-chat.mjs.map +1 -0
  591. package/fesm2022/acorex-components-check-box.mjs +124 -0
  592. package/fesm2022/acorex-components-check-box.mjs.map +1 -0
  593. package/fesm2022/acorex-components-chips.mjs +51 -0
  594. package/fesm2022/acorex-components-chips.mjs.map +1 -0
  595. package/fesm2022/acorex-components-circular-progress.mjs +117 -0
  596. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -0
  597. package/fesm2022/acorex-components-collapse.mjs +296 -0
  598. package/fesm2022/acorex-components-collapse.mjs.map +1 -0
  599. package/fesm2022/acorex-components-color-box.mjs +104 -0
  600. package/fesm2022/acorex-components-color-box.mjs.map +1 -0
  601. package/fesm2022/acorex-components-color-palette.mjs +800 -0
  602. package/fesm2022/acorex-components-color-palette.mjs.map +1 -0
  603. package/fesm2022/acorex-components-common.mjs +1737 -0
  604. package/fesm2022/acorex-components-common.mjs.map +1 -0
  605. package/fesm2022/acorex-components-data-pager.mjs +758 -0
  606. package/fesm2022/acorex-components-data-pager.mjs.map +1 -0
  607. package/fesm2022/acorex-components-data-table.mjs +1143 -0
  608. package/fesm2022/acorex-components-data-table.mjs.map +1 -0
  609. package/fesm2022/acorex-components-datetime-box.mjs +147 -0
  610. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -0
  611. package/fesm2022/acorex-components-datetime-input.mjs +578 -0
  612. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -0
  613. package/fesm2022/acorex-components-datetime-picker.mjs +328 -0
  614. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -0
  615. package/fesm2022/acorex-components-decorators.mjs +210 -0
  616. package/fesm2022/acorex-components-decorators.mjs.map +1 -0
  617. package/fesm2022/acorex-components-dialog.mjs +271 -0
  618. package/fesm2022/acorex-components-dialog.mjs.map +1 -0
  619. package/fesm2022/acorex-components-drawer.mjs +206 -0
  620. package/fesm2022/acorex-components-drawer.mjs.map +1 -0
  621. package/fesm2022/acorex-components-dropdown-button.mjs +145 -0
  622. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -0
  623. package/fesm2022/acorex-components-dropdown.mjs +319 -0
  624. package/fesm2022/acorex-components-dropdown.mjs.map +1 -0
  625. package/fesm2022/acorex-components-form.mjs +394 -0
  626. package/fesm2022/acorex-components-form.mjs.map +1 -0
  627. package/fesm2022/acorex-components-image.mjs +95 -0
  628. package/fesm2022/acorex-components-image.mjs.map +1 -0
  629. package/fesm2022/acorex-components-label.mjs +72 -0
  630. package/fesm2022/acorex-components-label.mjs.map +1 -0
  631. package/fesm2022/acorex-components-list.mjs +210 -0
  632. package/fesm2022/acorex-components-list.mjs.map +1 -0
  633. package/fesm2022/acorex-components-loading-dialog.mjs +144 -0
  634. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -0
  635. package/fesm2022/acorex-components-loading.mjs +313 -0
  636. package/fesm2022/acorex-components-loading.mjs.map +1 -0
  637. package/fesm2022/acorex-components-menu.mjs +224 -0
  638. package/fesm2022/acorex-components-menu.mjs.map +1 -0
  639. package/fesm2022/acorex-components-nav.mjs +75 -0
  640. package/fesm2022/acorex-components-nav.mjs.map +1 -0
  641. package/fesm2022/acorex-components-navbar.mjs +40 -0
  642. package/fesm2022/acorex-components-navbar.mjs.map +1 -0
  643. package/fesm2022/acorex-components-notification.mjs +264 -0
  644. package/fesm2022/acorex-components-notification.mjs.map +1 -0
  645. package/fesm2022/acorex-components-number-box.mjs +331 -0
  646. package/fesm2022/acorex-components-number-box.mjs.map +1 -0
  647. package/fesm2022/acorex-components-otp.mjs +186 -0
  648. package/fesm2022/acorex-components-otp.mjs.map +1 -0
  649. package/fesm2022/acorex-components-page.mjs +125 -0
  650. package/fesm2022/acorex-components-page.mjs.map +1 -0
  651. package/fesm2022/acorex-components-password-box.mjs +121 -0
  652. package/fesm2022/acorex-components-password-box.mjs.map +1 -0
  653. package/fesm2022/acorex-components-phone-box.mjs +182 -0
  654. package/fesm2022/acorex-components-phone-box.mjs.map +1 -0
  655. package/fesm2022/acorex-components-picker.mjs +251 -0
  656. package/fesm2022/acorex-components-picker.mjs.map +1 -0
  657. package/fesm2022/acorex-components-popover.mjs +402 -0
  658. package/fesm2022/acorex-components-popover.mjs.map +1 -0
  659. package/fesm2022/acorex-components-popup.mjs +256 -0
  660. package/fesm2022/acorex-components-popup.mjs.map +1 -0
  661. package/fesm2022/acorex-components-progress-bar.mjs +80 -0
  662. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -0
  663. package/fesm2022/acorex-components-radio.mjs +87 -0
  664. package/fesm2022/acorex-components-radio.mjs.map +1 -0
  665. package/fesm2022/acorex-components-range-slider.mjs +142 -0
  666. package/fesm2022/acorex-components-range-slider.mjs.map +1 -0
  667. package/fesm2022/acorex-components-result.mjs +50 -0
  668. package/fesm2022/acorex-components-result.mjs.map +1 -0
  669. package/fesm2022/acorex-components-routing-progress.mjs +82 -0
  670. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -0
  671. package/fesm2022/acorex-components-scheduler.mjs +142 -0
  672. package/fesm2022/acorex-components-scheduler.mjs.map +1 -0
  673. package/fesm2022/acorex-components-scss.mjs +22 -0
  674. package/fesm2022/acorex-components-scss.mjs.map +1 -0
  675. package/fesm2022/acorex-components-search-box.mjs +135 -0
  676. package/fesm2022/acorex-components-search-box.mjs.map +1 -0
  677. package/fesm2022/acorex-components-select-box.mjs +368 -0
  678. package/fesm2022/acorex-components-select-box.mjs.map +1 -0
  679. package/fesm2022/acorex-components-selection-list.mjs +179 -0
  680. package/fesm2022/acorex-components-selection-list.mjs.map +1 -0
  681. package/fesm2022/acorex-components-side-menu.mjs +183 -0
  682. package/fesm2022/acorex-components-side-menu.mjs.map +1 -0
  683. package/fesm2022/acorex-components-skeleton.mjs +46 -0
  684. package/fesm2022/acorex-components-skeleton.mjs.map +1 -0
  685. package/fesm2022/acorex-components-step-wizard.mjs +224 -0
  686. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -0
  687. package/fesm2022/acorex-components-switch.mjs +86 -0
  688. package/fesm2022/acorex-components-switch.mjs.map +1 -0
  689. package/fesm2022/acorex-components-tabs.mjs +271 -0
  690. package/fesm2022/acorex-components-tabs.mjs.map +1 -0
  691. package/fesm2022/acorex-components-tag.mjs +43 -0
  692. package/fesm2022/acorex-components-tag.mjs.map +1 -0
  693. package/fesm2022/acorex-components-text-area.mjs +87 -0
  694. package/fesm2022/acorex-components-text-area.mjs.map +1 -0
  695. package/fesm2022/acorex-components-text-box.mjs +184 -0
  696. package/fesm2022/acorex-components-text-box.mjs.map +1 -0
  697. package/fesm2022/acorex-components-toast.mjs +280 -0
  698. package/fesm2022/acorex-components-toast.mjs.map +1 -0
  699. package/fesm2022/acorex-components-tooltip.mjs +117 -0
  700. package/fesm2022/acorex-components-tooltip.mjs.map +1 -0
  701. package/fesm2022/acorex-components-uploader.mjs +399 -0
  702. package/fesm2022/acorex-components-uploader.mjs.map +1 -0
  703. package/fesm2022/acorex-components.mjs +2 -17392
  704. package/fesm2022/acorex-components.mjs.map +1 -1
  705. package/form/README.md +3 -0
  706. package/form/index.d.ts +6 -0
  707. package/form/lib/form-field.component.d.ts +12 -0
  708. package/form/lib/form.component.d.ts +42 -0
  709. package/form/lib/form.config.d.ts +7 -0
  710. package/form/lib/form.module.d.ts +16 -0
  711. package/form/lib/validation-rule.directive.d.ts +16 -0
  712. package/form/lib/validation-summary.component.d.ts +25 -0
  713. package/image/README.md +3 -0
  714. package/image/index.d.ts +2 -0
  715. package/image/lib/image.component.d.ts +21 -0
  716. package/image/lib/image.module.d.ts +8 -0
  717. package/index.d.ts +1 -155
  718. package/label/README.md +3 -0
  719. package/label/index.d.ts +2 -0
  720. package/label/lib/label.component.d.ts +14 -0
  721. package/list/README.md +3 -0
  722. package/list/index.d.ts +2 -0
  723. package/list/lib/list.component.d.ts +39 -0
  724. package/list/lib/list.module.d.ts +10 -0
  725. package/loading/README.md +3 -0
  726. package/loading/index.d.ts +6 -0
  727. package/loading/lib/loading-spinner.component.d.ts +10 -0
  728. package/loading/lib/loading.component.d.ts +18 -0
  729. package/loading/lib/loading.config.d.ts +8 -0
  730. package/loading/lib/loading.directive.d.ts +15 -0
  731. package/loading/lib/loading.module.d.ts +13 -0
  732. package/loading/lib/loading.service.d.ts +29 -0
  733. package/loading-dialog/README.md +3 -0
  734. package/loading-dialog/index.d.ts +4 -0
  735. package/loading-dialog/lib/loading-dialog.class.d.ts +35 -0
  736. package/loading-dialog/lib/loading-dialog.component.d.ts +25 -0
  737. package/loading-dialog/lib/loading-dialog.module.d.ts +14 -0
  738. package/loading-dialog/lib/loading-dialog.service.d.ts +8 -0
  739. package/menu/README.md +3 -0
  740. package/menu/index.d.ts +4 -0
  741. package/menu/lib/class/root-menu.class.d.ts +6 -0
  742. package/menu/lib/menu-item/menu-item.component.d.ts +37 -0
  743. package/menu/lib/menu.component.d.ts +14 -0
  744. package/menu/lib/menu.module.d.ts +14 -0
  745. package/nav/README.md +3 -0
  746. package/nav/index.d.ts +3 -0
  747. package/nav/lib/nav-item/nav-item.component.d.ts +15 -0
  748. package/nav/lib/nav.component.d.ts +6 -0
  749. package/nav/lib/nav.module.d.ts +10 -0
  750. package/navbar/README.md +3 -0
  751. package/navbar/index.d.ts +2 -0
  752. package/navbar/lib/navbar.component.d.ts +7 -0
  753. package/navbar/lib/navbar.module.d.ts +8 -0
  754. package/notification/README.md +3 -0
  755. package/notification/index.d.ts +5 -0
  756. package/notification/lib/notification.class.d.ts +40 -0
  757. package/notification/lib/notification.component.d.ts +29 -0
  758. package/notification/lib/notification.config.d.ts +13 -0
  759. package/notification/lib/notification.module.d.ts +14 -0
  760. package/notification/lib/notification.service.d.ts +12 -0
  761. package/number-box/README.md +3 -0
  762. package/number-box/index.d.ts +2 -0
  763. package/number-box/lib/number-box.component.d.ts +80 -0
  764. package/number-box/lib/number-box.module.d.ts +12 -0
  765. package/otp/README.md +3 -0
  766. package/otp/index.d.ts +3 -0
  767. package/otp/lib/otp.class.d.ts +5 -0
  768. package/otp/lib/otp.component.d.ts +31 -0
  769. package/otp/lib/otp.module.d.ts +9 -0
  770. package/package.json +403 -6
  771. package/page/README.md +3 -0
  772. package/page/index.d.ts +3 -0
  773. package/page/lib/base-page.class.d.ts +22 -0
  774. package/page/lib/page.component.d.ts +14 -0
  775. package/page/lib/page.module.d.ts +6 -0
  776. package/password-box/README.md +3 -0
  777. package/password-box/index.d.ts +2 -0
  778. package/password-box/lib/password-box.component.d.ts +29 -0
  779. package/password-box/lib/password-box.module.d.ts +11 -0
  780. package/phone-box/README.md +3 -0
  781. package/phone-box/index.d.ts +2 -0
  782. package/phone-box/lib/phone-box.component.d.ts +30 -0
  783. package/phone-box/lib/phone-box.module.d.ts +15 -0
  784. package/picker/README.md +3 -0
  785. package/picker/index.d.ts +3 -0
  786. package/picker/lib/picker-column.directive.d.ts +16 -0
  787. package/picker/lib/picker.component.d.ts +31 -0
  788. package/picker/lib/picker.module.d.ts +9 -0
  789. package/popover/README.md +3 -0
  790. package/popover/index.d.ts +2 -0
  791. package/popover/lib/popover.component.d.ts +72 -0
  792. package/popup/README.md +3 -0
  793. package/popup/index.d.ts +4 -0
  794. package/popup/lib/popup.component.d.ts +40 -0
  795. package/popup/lib/popup.interface.d.ts +28 -0
  796. package/popup/lib/popup.module.d.ts +15 -0
  797. package/popup/lib/popup.service.d.ts +21 -0
  798. package/progress-bar/README.md +3 -0
  799. package/progress-bar/index.d.ts +2 -0
  800. package/progress-bar/lib/progress-bar.component.d.ts +25 -0
  801. package/radio/README.md +3 -0
  802. package/radio/index.d.ts +2 -0
  803. package/radio/lib/radio.component.d.ts +16 -0
  804. package/radio/lib/radio.module.d.ts +9 -0
  805. package/range-slider/README.md +3 -0
  806. package/range-slider/index.d.ts +2 -0
  807. package/range-slider/lib/range-slider.component.d.ts +40 -0
  808. package/range-slider/lib/range-slider.module.d.ts +10 -0
  809. package/result/README.md +3 -0
  810. package/result/index.d.ts +2 -0
  811. package/result/lib/result.component.d.ts +10 -0
  812. package/result/lib/result.module.d.ts +8 -0
  813. package/routing-progress/README.md +3 -0
  814. package/routing-progress/index.d.ts +2 -0
  815. package/routing-progress/lib/routing-progress.component.d.ts +14 -0
  816. package/routing-progress/lib/routing-progress.module.d.ts +8 -0
  817. package/scheduler/README.md +3 -0
  818. package/scheduler/index.d.ts +4 -0
  819. package/scheduler/lib/scheduler-month-view.component.d.ts +21 -0
  820. package/scheduler/lib/scheduler-week-view.component.d.ts +6 -0
  821. package/scheduler/lib/scheduler.component.d.ts +17 -0
  822. package/scheduler/lib/scheduler.module.d.ts +14 -0
  823. package/scss/README.md +3 -0
  824. package/scss/index.d.ts +1 -0
  825. package/scss/lib/scss.module.d.ts +7 -0
  826. package/search-box/README.md +3 -0
  827. package/search-box/index.d.ts +2 -0
  828. package/search-box/lib/search-box.component.d.ts +17 -0
  829. package/search-box/lib/search-box.module.d.ts +14 -0
  830. package/select-box/README.md +3 -0
  831. package/select-box/index.d.ts +2 -0
  832. package/select-box/lib/select-box.component.d.ts +60 -0
  833. package/select-box/lib/select-box.module.d.ts +20 -0
  834. package/selection-list/README.md +3 -0
  835. package/selection-list/index.d.ts +2 -0
  836. package/selection-list/lib/selection-list.component.d.ts +30 -0
  837. package/selection-list/lib/selection-list.module.d.ts +13 -0
  838. package/side-menu/README.md +3 -0
  839. package/side-menu/index.d.ts +3 -0
  840. package/side-menu/lib/side-menu-item/side-menu-item.compoent.d.ts +48 -0
  841. package/side-menu/lib/side-menu.component.d.ts +6 -0
  842. package/side-menu/lib/side-menu.module.d.ts +12 -0
  843. package/skeleton/README.md +3 -0
  844. package/skeleton/index.d.ts +2 -0
  845. package/skeleton/lib/skeleton.component.d.ts +8 -0
  846. package/skeleton/lib/skeleton.module.d.ts +8 -0
  847. package/step-wizard/README.md +3 -0
  848. package/step-wizard/index.d.ts +5 -0
  849. package/step-wizard/lib/step-wizard-item/step-wizard-item.component.d.ts +23 -0
  850. package/step-wizard/lib/step-wizard.class.d.ts +5 -0
  851. package/step-wizard/lib/step-wizard.component.d.ts +28 -0
  852. package/step-wizard/lib/step-wizard.directive.d.ts +11 -0
  853. package/step-wizard/lib/step-wizard.module.d.ts +12 -0
  854. package/switch/README.md +3 -0
  855. package/switch/index.d.ts +3 -0
  856. package/switch/lib/switch-content.component.d.ts +6 -0
  857. package/switch/lib/switch.component.d.ts +15 -0
  858. package/switch/lib/switch.module.d.ts +10 -0
  859. package/tabs/README.md +3 -0
  860. package/tabs/index.d.ts +5 -0
  861. package/tabs/lib/tab-content.directive.d.ts +11 -0
  862. package/tabs/lib/tab-item.component.d.ts +18 -0
  863. package/tabs/lib/tabs.class.d.ts +8 -0
  864. package/tabs/lib/tabs.component.d.ts +27 -0
  865. package/tabs/lib/tabs.module.d.ts +12 -0
  866. package/tag/README.md +3 -0
  867. package/tag/index.d.ts +2 -0
  868. package/tag/lib/tag.component.d.ts +8 -0
  869. package/tag/lib/tag.module.d.ts +8 -0
  870. package/text-area/README.md +3 -0
  871. package/text-area/index.d.ts +2 -0
  872. package/text-area/lib/text-area.component.d.ts +19 -0
  873. package/text-area/lib/text-area.module.d.ts +9 -0
  874. package/text-box/README.md +3 -0
  875. package/text-box/index.d.ts +3 -0
  876. package/text-box/lib/mask-options.directive.d.ts +13 -0
  877. package/text-box/lib/text-box.component.d.ts +33 -0
  878. package/text-box/lib/text-box.module.d.ts +13 -0
  879. package/toast/README.md +3 -0
  880. package/toast/index.d.ts +5 -0
  881. package/toast/lib/toast.class.d.ts +24 -0
  882. package/toast/lib/toast.component.d.ts +27 -0
  883. package/toast/lib/toast.config.d.ts +12 -0
  884. package/toast/lib/toast.module.d.ts +13 -0
  885. package/toast/lib/toast.service.d.ts +21 -0
  886. package/tooltip/README.md +3 -0
  887. package/tooltip/index.d.ts +3 -0
  888. package/tooltip/lib/tooltip.component.d.ts +8 -0
  889. package/tooltip/lib/tooltip.directive.d.ts +22 -0
  890. package/tooltip/lib/tooltip.module.d.ts +10 -0
  891. package/uploader/README.md +3 -0
  892. package/uploader/index.d.ts +7 -0
  893. package/uploader/lib/uploader-browse-handle.directive.d.ts +11 -0
  894. package/uploader/lib/uploader-dialog-container.component.d.ts +9 -0
  895. package/uploader/lib/uploader-drop-zone.component.d.ts +6 -0
  896. package/uploader/lib/uploader-list.component.d.ts +8 -0
  897. package/uploader/lib/uploader-zone.directive.d.ts +24 -0
  898. package/uploader/lib/uploader.models.d.ts +19 -0
  899. package/uploader/lib/uploader.module.d.ts +22 -0
  900. package/uploader/lib/uploader.service.d.ts +21 -0
  901. package/esm2022/lib/accordion/accordion.component.mjs +0 -45
  902. package/esm2022/lib/accordion/accordion.module.mjs +0 -20
  903. package/esm2022/lib/base/base-page.class.mjs +0 -97
  904. package/esm2022/lib/base/components.class.mjs +0 -17
  905. package/esm2022/lib/base/element.class.mjs +0 -301
  906. package/esm2022/lib/base/events.class.mjs +0 -17
  907. package/esm2022/lib/button/button.component.mjs +0 -74
  908. package/esm2022/lib/button/button.module.mjs +0 -21
  909. package/esm2022/lib/calendar/calendar-box/calendar-box.component.mjs +0 -426
  910. package/esm2022/lib/calendar/calendar-box/calendar-box.module.mjs +0 -22
  911. package/esm2022/lib/calendar/scheduler/scheduler-views.property.mjs +0 -59
  912. package/esm2022/lib/calendar/scheduler/scheduler.class.mjs +0 -16
  913. package/esm2022/lib/calendar/scheduler/scheduler.component.mjs +0 -226
  914. package/esm2022/lib/calendar/scheduler/scheduler.module.mjs +0 -68
  915. package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +0 -136
  916. package/esm2022/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +0 -37
  917. package/esm2022/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +0 -49
  918. package/esm2022/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +0 -102
  919. package/esm2022/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +0 -214
  920. package/esm2022/lib/calendar/scheduler/views/scheduler-view.component.mjs +0 -99
  921. package/esm2022/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +0 -85
  922. package/esm2022/lib/checkbox/checkbox.component.mjs +0 -109
  923. package/esm2022/lib/checkbox/checkbox.module.mjs +0 -20
  924. package/esm2022/lib/color-picker/color-box/color-box.component.mjs +0 -423
  925. package/esm2022/lib/color-picker/color-picker.component.mjs +0 -89
  926. package/esm2022/lib/color-picker/color-picker.module.mjs +0 -24
  927. package/esm2022/lib/context-menu/context-menu.component.mjs +0 -68
  928. package/esm2022/lib/context-menu/context-menu.directive.mjs +0 -146
  929. package/esm2022/lib/context-menu/context-menu.module.mjs +0 -20
  930. package/esm2022/lib/data-filter/columns/filter-column-date.component.mjs +0 -140
  931. package/esm2022/lib/data-filter/columns/filter-column-number.component.mjs +0 -119
  932. package/esm2022/lib/data-filter/columns/filter-column-selection.component.mjs +0 -75
  933. package/esm2022/lib/data-filter/columns/filter-column-string.component.mjs +0 -119
  934. package/esm2022/lib/data-filter/filter-panel/filter-panel.component.mjs +0 -267
  935. package/esm2022/lib/data-filter/filter.class.mjs +0 -46
  936. package/esm2022/lib/data-filter/filter.module.mjs +0 -88
  937. package/esm2022/lib/data-filter/toolbar/filter-toolbar.component.mjs +0 -168
  938. package/esm2022/lib/data-list/core/data-list.component.mjs +0 -37
  939. package/esm2022/lib/data-list/list/list.component.mjs +0 -134
  940. package/esm2022/lib/data-list/list/list.module.mjs +0 -22
  941. package/esm2022/lib/data-list/list/toolbar-list-view.component.mjs +0 -84
  942. package/esm2022/lib/data-source/datasource.component.mjs +0 -47
  943. package/esm2022/lib/data-source/datasource.module.mjs +0 -18
  944. package/esm2022/lib/data-source/read-param.mjs +0 -7
  945. package/esm2022/lib/date-picker/date-picker.component.mjs +0 -1102
  946. package/esm2022/lib/date-picker/date-picker.module.mjs +0 -49
  947. package/esm2022/lib/dialog/dialog.component.mjs +0 -26
  948. package/esm2022/lib/dialog/dialog.module.mjs +0 -21
  949. package/esm2022/lib/dialog/dialog.service.mjs +0 -160
  950. package/esm2022/lib/drawer/content.component.mjs +0 -18
  951. package/esm2022/lib/drawer/drawer-container.component.mjs +0 -38
  952. package/esm2022/lib/drawer/drawer.component.mjs +0 -146
  953. package/esm2022/lib/drawer/drawer.module.mjs +0 -23
  954. package/esm2022/lib/dropdown/dropdown.component.mjs +0 -186
  955. package/esm2022/lib/dropdown/dropdown.module.mjs +0 -26
  956. package/esm2022/lib/fieldset/fieldset.component.mjs +0 -57
  957. package/esm2022/lib/fieldset/fieldset.module.mjs +0 -19
  958. package/esm2022/lib/form-group/form-group.component.mjs +0 -37
  959. package/esm2022/lib/form-group/form-group.module.mjs +0 -21
  960. package/esm2022/lib/label/label.component.mjs +0 -19
  961. package/esm2022/lib/label/label.module.mjs +0 -21
  962. package/esm2022/lib/loading/loading-indicator.component.mjs +0 -18
  963. package/esm2022/lib/loading/loading-panel.component.mjs +0 -45
  964. package/esm2022/lib/loading/loading.module.mjs +0 -21
  965. package/esm2022/lib/loading/loading.service.mjs +0 -47
  966. package/esm2022/lib/menu/menu-item.component.mjs +0 -50
  967. package/esm2022/lib/menu/menu.component.mjs +0 -98
  968. package/esm2022/lib/menu/menu.module.mjs +0 -22
  969. package/esm2022/lib/menu/menu2.component.mjs +0 -100
  970. package/esm2022/lib/number-box/number-box.component.mjs +0 -628
  971. package/esm2022/lib/number-box/number-box.module.mjs +0 -21
  972. package/esm2022/lib/page/content.component.mjs +0 -27
  973. package/esm2022/lib/page/footer.component.mjs +0 -19
  974. package/esm2022/lib/page/page.component.mjs +0 -57
  975. package/esm2022/lib/page/page.module.mjs +0 -22
  976. package/esm2022/lib/panel-box/panel-box.component.mjs +0 -87
  977. package/esm2022/lib/panel-box/panel-box.module.mjs +0 -19
  978. package/esm2022/lib/password-box/password-box.component.mjs +0 -32
  979. package/esm2022/lib/password-box/password-box.module.mjs +0 -23
  980. package/esm2022/lib/popover/custom-cdk-overlay.service.mjs +0 -50
  981. package/esm2022/lib/popover/overlay.service.mjs +0 -94
  982. package/esm2022/lib/popover/popover.component.mjs +0 -145
  983. package/esm2022/lib/popover/popover.module.mjs +0 -19
  984. package/esm2022/lib/popup/popup.component.mjs +0 -160
  985. package/esm2022/lib/popup/popup.module.mjs +0 -25
  986. package/esm2022/lib/popup/popup.service.mjs +0 -94
  987. package/esm2022/lib/progress-bar/progress-bar.component.mjs +0 -16
  988. package/esm2022/lib/progress-bar/progress-bar.module.mjs +0 -19
  989. package/esm2022/lib/property-editor/editors/check-editor/check-editor.mjs +0 -65
  990. package/esm2022/lib/property-editor/editors/check-editor/check.module.mjs +0 -22
  991. package/esm2022/lib/property-editor/editors/color-editor/color.editor.mjs +0 -41
  992. package/esm2022/lib/property-editor/editors/color-editor/color.module.mjs +0 -24
  993. package/esm2022/lib/property-editor/editors/column-editor/column.editor.mjs +0 -118
  994. package/esm2022/lib/property-editor/editors/column-editor/column.module.mjs +0 -32
  995. package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +0 -216
  996. package/esm2022/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +0 -76
  997. package/esm2022/lib/property-editor/editors/date-editor/date.editor.mjs +0 -87
  998. package/esm2022/lib/property-editor/editors/date-editor/date.module.mjs +0 -24
  999. package/esm2022/lib/property-editor/editors/number-editor/number.editor.mjs +0 -72
  1000. package/esm2022/lib/property-editor/editors/number-editor/number.module.mjs +0 -24
  1001. package/esm2022/lib/property-editor/editors/range-editor/range.editor.mjs +0 -145
  1002. package/esm2022/lib/property-editor/editors/range-editor/range.module.mjs +0 -59
  1003. package/esm2022/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +0 -76
  1004. package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +0 -75
  1005. package/esm2022/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +0 -25
  1006. package/esm2022/lib/property-editor/editors/selection-editor/selection-editor.mjs +0 -73
  1007. package/esm2022/lib/property-editor/editors/selection-editor/selection.module.mjs +0 -22
  1008. package/esm2022/lib/property-editor/editors/switch-editor/number.editor.mjs +0 -30
  1009. package/esm2022/lib/property-editor/editors/switch-editor/number.module.mjs +0 -25
  1010. package/esm2022/lib/property-editor/editors/text-editor/text.editor.mjs +0 -36
  1011. package/esm2022/lib/property-editor/editors/text-editor/text.module.mjs +0 -24
  1012. package/esm2022/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +0 -35
  1013. package/esm2022/lib/property-editor/editors/textarea-editor/textarea.module.mjs +0 -24
  1014. package/esm2022/lib/property-editor/editors/time-editor/time.editor.mjs +0 -55
  1015. package/esm2022/lib/property-editor/editors/time-editor/time.module.mjs +0 -24
  1016. package/esm2022/lib/property-editor/property-editor-renderer.directive.mjs +0 -167
  1017. package/esm2022/lib/property-editor/property-editor.class.mjs +0 -108
  1018. package/esm2022/lib/property-editor/property-editor.module.mjs +0 -194
  1019. package/esm2022/lib/query-builder/query-builder-group.component.mjs +0 -129
  1020. package/esm2022/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +0 -177
  1021. package/esm2022/lib/query-builder/query-builder-rule.component.mjs +0 -428
  1022. package/esm2022/lib/query-builder/query-builder.class.mjs +0 -42
  1023. package/esm2022/lib/query-builder/query-builder.component.mjs +0 -92
  1024. package/esm2022/lib/query-builder/query-builder.module.mjs +0 -62
  1025. package/esm2022/lib/query-builder/query-builder.service.mjs +0 -199
  1026. package/esm2022/lib/search-bar/search-bar.component.mjs +0 -293
  1027. package/esm2022/lib/search-bar/search-bar.module.mjs +0 -61
  1028. package/esm2022/lib/searchbox/searchbox.component.mjs +0 -106
  1029. package/esm2022/lib/searchbox/searchbox.module.mjs +0 -24
  1030. package/esm2022/lib/selectbox/selectbox.component.mjs +0 -1135
  1031. package/esm2022/lib/selectbox/selectbox.module.mjs +0 -44
  1032. package/esm2022/lib/selectbox/selectbox2.component.mjs +0 -617
  1033. package/esm2022/lib/selection-list/selection-list.component.mjs +0 -113
  1034. package/esm2022/lib/selection-list/selection-list.module.mjs +0 -21
  1035. package/esm2022/lib/switch/switch.component.mjs +0 -55
  1036. package/esm2022/lib/switch/switch.module.mjs +0 -20
  1037. package/esm2022/lib/tab-page/tab-page-Renderer.component.mjs +0 -75
  1038. package/esm2022/lib/tab-page/tab-page-host.component.mjs +0 -124
  1039. package/esm2022/lib/tab-page/tab-page.module.mjs +0 -21
  1040. package/esm2022/lib/tab-page/tab-page.service.mjs +0 -159
  1041. package/esm2022/lib/tab-strip/tab-strip.component.mjs +0 -38
  1042. package/esm2022/lib/tab-strip/tab-strip.module.mjs +0 -19
  1043. package/esm2022/lib/tab-view/dynamic-tabs.directive.mjs +0 -25
  1044. package/esm2022/lib/tab-view/tab-view.component.mjs +0 -110
  1045. package/esm2022/lib/tab-view/tab-view.module.mjs +0 -21
  1046. package/esm2022/lib/tab-view/tab.component.mjs +0 -33
  1047. package/esm2022/lib/textarea/textarea.component.mjs +0 -27
  1048. package/esm2022/lib/textarea/textarea.module.mjs +0 -21
  1049. package/esm2022/lib/textbox/textbox.component.mjs +0 -42
  1050. package/esm2022/lib/textbox/textbox.module.mjs +0 -36
  1051. package/esm2022/lib/time-picker/time-picker.component.mjs +0 -1107
  1052. package/esm2022/lib/time-picker/time-picker.module.mjs +0 -34
  1053. package/esm2022/lib/toast/toast-message/toast-message.component.mjs +0 -76
  1054. package/esm2022/lib/toast/toast-wrapper/toast-wrapper.component.mjs +0 -13
  1055. package/esm2022/lib/toast/toast.module.mjs +0 -21
  1056. package/esm2022/lib/toast/toast.service.mjs +0 -45
  1057. package/esm2022/lib/toolbar/group-button/toolbar-group-button.component.mjs +0 -77
  1058. package/esm2022/lib/toolbar/menu/toolbar-menu.component.mjs +0 -62
  1059. package/esm2022/lib/toolbar/search/toolbar-search.component.mjs +0 -56
  1060. package/esm2022/lib/toolbar/title/toolbar-title.component.mjs +0 -37
  1061. package/esm2022/lib/toolbar/toolbar-item.mjs +0 -4
  1062. package/esm2022/lib/toolbar/toolbar.component.mjs +0 -13
  1063. package/esm2022/lib/toolbar/toolbar.module.mjs +0 -40
  1064. package/esm2022/lib/tooltip/tooltip.directive.mjs +0 -104
  1065. package/esm2022/lib/tooltip/tooltip.module.mjs +0 -19
  1066. package/esm2022/lib/tree-side-menu/tree-side-menu.component.mjs +0 -697
  1067. package/esm2022/lib/tree-side-menu/tree-side-menu.module.mjs +0 -33
  1068. package/esm2022/lib/tree-view/tree-view.component.mjs +0 -854
  1069. package/esm2022/lib/tree-view/tree-view.module.mjs +0 -22
  1070. package/esm2022/lib/upload-file/upload-file.component.mjs +0 -226
  1071. package/esm2022/lib/upload-file/upload-file.events.mjs +0 -2
  1072. package/esm2022/lib/upload-file/upload-file.module.mjs +0 -24
  1073. package/esm2022/lib/validation/validation-form.component.mjs +0 -68
  1074. package/esm2022/lib/validation/validation-rule.widget.mjs +0 -114
  1075. package/esm2022/lib/validation/validation.class.mjs +0 -2
  1076. package/esm2022/lib/validation/validation.component.mjs +0 -89
  1077. package/esm2022/lib/validation/validation.module.mjs +0 -34
  1078. package/lib/accordion/accordion.component.d.ts +0 -13
  1079. package/lib/accordion/accordion.module.d.ts +0 -9
  1080. package/lib/base/base-page.class.d.ts +0 -46
  1081. package/lib/base/components.class.d.ts +0 -10
  1082. package/lib/base/element.class.d.ts +0 -106
  1083. package/lib/base/events.class.d.ts +0 -18
  1084. package/lib/button/button.component.d.ts +0 -21
  1085. package/lib/button/button.module.d.ts +0 -8
  1086. package/lib/calendar/calendar-box/calendar-box.component.d.ts +0 -81
  1087. package/lib/calendar/calendar-box/calendar-box.module.d.ts +0 -11
  1088. package/lib/calendar/scheduler/scheduler-views.property.d.ts +0 -19
  1089. package/lib/calendar/scheduler/scheduler.class.d.ts +0 -36
  1090. package/lib/calendar/scheduler/scheduler.component.d.ts +0 -39
  1091. package/lib/calendar/scheduler/scheduler.module.d.ts +0 -21
  1092. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.d.ts +0 -25
  1093. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.d.ts +0 -14
  1094. package/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.d.ts +0 -16
  1095. package/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.d.ts +0 -26
  1096. package/lib/calendar/scheduler/views/month/scheduler-month-view.component.d.ts +0 -37
  1097. package/lib/calendar/scheduler/views/scheduler-view.component.d.ts +0 -28
  1098. package/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.d.ts +0 -24
  1099. package/lib/checkbox/checkbox.component.d.ts +0 -30
  1100. package/lib/checkbox/checkbox.module.d.ts +0 -9
  1101. package/lib/color-picker/color-box/color-box.component.d.ts +0 -25
  1102. package/lib/color-picker/color-picker.component.d.ts +0 -30
  1103. package/lib/color-picker/color-picker.module.d.ts +0 -13
  1104. package/lib/context-menu/context-menu.component.d.ts +0 -22
  1105. package/lib/context-menu/context-menu.directive.d.ts +0 -38
  1106. package/lib/context-menu/context-menu.module.d.ts +0 -9
  1107. package/lib/data-filter/columns/filter-column-date.component.d.ts +0 -22
  1108. package/lib/data-filter/columns/filter-column-number.component.d.ts +0 -15
  1109. package/lib/data-filter/columns/filter-column-selection.component.d.ts +0 -18
  1110. package/lib/data-filter/columns/filter-column-string.component.d.ts +0 -15
  1111. package/lib/data-filter/filter-panel/filter-panel.component.d.ts +0 -45
  1112. package/lib/data-filter/filter.class.d.ts +0 -40
  1113. package/lib/data-filter/filter.module.d.ts +0 -24
  1114. package/lib/data-filter/toolbar/filter-toolbar.component.d.ts +0 -25
  1115. package/lib/data-list/core/data-list.component.d.ts +0 -15
  1116. package/lib/data-list/list/list.component.d.ts +0 -40
  1117. package/lib/data-list/list/list.module.d.ts +0 -11
  1118. package/lib/data-list/list/toolbar-list-view.component.d.ts +0 -17
  1119. package/lib/data-source/datasource.component.d.ts +0 -16
  1120. package/lib/data-source/datasource.module.d.ts +0 -7
  1121. package/lib/data-source/read-param.d.ts +0 -40
  1122. package/lib/date-picker/date-picker.component.d.ts +0 -84
  1123. package/lib/date-picker/date-picker.module.d.ts +0 -14
  1124. package/lib/dialog/dialog.component.d.ts +0 -14
  1125. package/lib/dialog/dialog.module.d.ts +0 -10
  1126. package/lib/dialog/dialog.service.d.ts +0 -36
  1127. package/lib/drawer/content.component.d.ts +0 -7
  1128. package/lib/drawer/drawer-container.component.d.ts +0 -10
  1129. package/lib/drawer/drawer.component.d.ts +0 -34
  1130. package/lib/drawer/drawer.module.d.ts +0 -10
  1131. package/lib/dropdown/dropdown.component.d.ts +0 -38
  1132. package/lib/dropdown/dropdown.module.d.ts +0 -13
  1133. package/lib/fieldset/fieldset.component.d.ts +0 -11
  1134. package/lib/fieldset/fieldset.module.d.ts +0 -8
  1135. package/lib/form-group/form-group.component.d.ts +0 -14
  1136. package/lib/form-group/form-group.module.d.ts +0 -8
  1137. package/lib/label/label.component.d.ts +0 -9
  1138. package/lib/loading/loading-indicator.component.d.ts +0 -9
  1139. package/lib/loading/loading-panel.component.d.ts +0 -13
  1140. package/lib/loading/loading.module.d.ts +0 -10
  1141. package/lib/loading/loading.service.d.ts +0 -13
  1142. package/lib/menu/menu-item.component.d.ts +0 -18
  1143. package/lib/menu/menu.component.d.ts +0 -35
  1144. package/lib/menu/menu.module.d.ts +0 -11
  1145. package/lib/menu/menu2.component.d.ts +0 -21
  1146. package/lib/number-box/number-box.component.d.ts +0 -52
  1147. package/lib/number-box/number-box.module.d.ts +0 -10
  1148. package/lib/page/content.component.d.ts +0 -8
  1149. package/lib/page/footer.component.d.ts +0 -5
  1150. package/lib/page/page.component.d.ts +0 -16
  1151. package/lib/page/page.module.d.ts +0 -11
  1152. package/lib/panel-box/panel-box.component.d.ts +0 -19
  1153. package/lib/panel-box/panel-box.module.d.ts +0 -8
  1154. package/lib/password-box/password-box.component.d.ts +0 -12
  1155. package/lib/password-box/password-box.module.d.ts +0 -10
  1156. package/lib/popover/custom-cdk-overlay.service.d.ts +0 -19
  1157. package/lib/popover/overlay.service.d.ts +0 -32
  1158. package/lib/popover/popover.component.d.ts +0 -35
  1159. package/lib/popup/popup.component.d.ts +0 -40
  1160. package/lib/popup/popup.module.d.ts +0 -13
  1161. package/lib/popup/popup.service.d.ts +0 -22
  1162. package/lib/progress-bar/progress-bar.component.d.ts +0 -7
  1163. package/lib/property-editor/editors/check-editor/check-editor.d.ts +0 -19
  1164. package/lib/property-editor/editors/check-editor/check.module.d.ts +0 -11
  1165. package/lib/property-editor/editors/color-editor/color.editor.d.ts +0 -13
  1166. package/lib/property-editor/editors/color-editor/color.module.d.ts +0 -12
  1167. package/lib/property-editor/editors/column-editor/column.editor.d.ts +0 -34
  1168. package/lib/property-editor/editors/column-editor/column.module.d.ts +0 -20
  1169. package/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.d.ts +0 -44
  1170. package/lib/property-editor/editors/conditional-color-editor/conditional-color.module.d.ts +0 -19
  1171. package/lib/property-editor/editors/date-editor/date.editor.d.ts +0 -28
  1172. package/lib/property-editor/editors/date-editor/date.module.d.ts +0 -12
  1173. package/lib/property-editor/editors/number-editor/number.editor.d.ts +0 -22
  1174. package/lib/property-editor/editors/number-editor/number.module.d.ts +0 -12
  1175. package/lib/property-editor/editors/range-editor/range.editor.d.ts +0 -29
  1176. package/lib/property-editor/editors/range-editor/range.module.d.ts +0 -18
  1177. package/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.d.ts +0 -29
  1178. package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +0 -28
  1179. package/lib/property-editor/editors/selectbox-editor/selectbox.module.d.ts +0 -14
  1180. package/lib/property-editor/editors/selection-editor/selection-editor.d.ts +0 -25
  1181. package/lib/property-editor/editors/selection-editor/selection.module.d.ts +0 -11
  1182. package/lib/property-editor/editors/switch-editor/number.editor.d.ts +0 -11
  1183. package/lib/property-editor/editors/switch-editor/number.module.d.ts +0 -13
  1184. package/lib/property-editor/editors/text-editor/text.editor.d.ts +0 -18
  1185. package/lib/property-editor/editors/text-editor/text.module.d.ts +0 -12
  1186. package/lib/property-editor/editors/textarea-editor/textarea.editor.d.ts +0 -17
  1187. package/lib/property-editor/editors/textarea-editor/textarea.module.d.ts +0 -12
  1188. package/lib/property-editor/editors/time-editor/time.editor.d.ts +0 -17
  1189. package/lib/property-editor/editors/time-editor/time.module.d.ts +0 -12
  1190. package/lib/property-editor/property-editor-renderer.directive.d.ts +0 -31
  1191. package/lib/property-editor/property-editor.class.d.ts +0 -93
  1192. package/lib/property-editor/property-editor.module.d.ts +0 -21
  1193. package/lib/query-builder/query-builder-group.component.d.ts +0 -33
  1194. package/lib/query-builder/query-builder-popup/query-builder-popup.component.d.ts +0 -35
  1195. package/lib/query-builder/query-builder-rule.component.d.ts +0 -45
  1196. package/lib/query-builder/query-builder.class.d.ts +0 -45
  1197. package/lib/query-builder/query-builder.component.d.ts +0 -29
  1198. package/lib/query-builder/query-builder.module.d.ts +0 -23
  1199. package/lib/query-builder/query-builder.service.d.ts +0 -18
  1200. package/lib/search-bar/search-bar.component.d.ts +0 -62
  1201. package/lib/search-bar/search-bar.module.d.ts +0 -18
  1202. package/lib/searchbox/searchbox.component.d.ts +0 -23
  1203. package/lib/searchbox/searchbox.module.d.ts +0 -13
  1204. package/lib/selectbox/selectbox.component.d.ts +0 -149
  1205. package/lib/selectbox/selectbox.module.d.ts +0 -15
  1206. package/lib/selectbox/selectbox2.component.d.ts +0 -103
  1207. package/lib/selection-list/selection-list.component.d.ts +0 -32
  1208. package/lib/selection-list/selection-list.module.d.ts +0 -10
  1209. package/lib/switch/switch.component.d.ts +0 -20
  1210. package/lib/switch/switch.module.d.ts +0 -9
  1211. package/lib/tab-page/tab-page-Renderer.component.d.ts +0 -16
  1212. package/lib/tab-page/tab-page-host.component.d.ts +0 -24
  1213. package/lib/tab-page/tab-page.module.d.ts +0 -10
  1214. package/lib/tab-page/tab-page.service.d.ts +0 -30
  1215. package/lib/tab-strip/tab-strip.component.d.ts +0 -28
  1216. package/lib/tab-strip/tab-strip.module.d.ts +0 -8
  1217. package/lib/tab-view/dynamic-tabs.directive.d.ts +0 -16
  1218. package/lib/tab-view/tab-view.component.d.ts +0 -26
  1219. package/lib/tab-view/tab-view.module.d.ts +0 -10
  1220. package/lib/tab-view/tab.component.d.ts +0 -12
  1221. package/lib/textarea/textarea.component.d.ts +0 -12
  1222. package/lib/textarea/textarea.module.d.ts +0 -8
  1223. package/lib/textbox/textbox.component.d.ts +0 -16
  1224. package/lib/textbox/textbox.module.d.ts +0 -11
  1225. package/lib/time-picker/time-picker.component.d.ts +0 -53
  1226. package/lib/time-picker/time-picker.module.d.ts +0 -11
  1227. package/lib/toast/toast-message/toast-message.component.d.ts +0 -18
  1228. package/lib/toast/toast-wrapper/toast-wrapper.component.d.ts +0 -8
  1229. package/lib/toast/toast.module.d.ts +0 -9
  1230. package/lib/toast/toast.service.d.ts +0 -18
  1231. package/lib/toolbar/group-button/toolbar-group-button.component.d.ts +0 -12
  1232. package/lib/toolbar/menu/toolbar-menu.component.d.ts +0 -24
  1233. package/lib/toolbar/search/toolbar-search.component.d.ts +0 -16
  1234. package/lib/toolbar/title/toolbar-title.component.d.ts +0 -9
  1235. package/lib/toolbar/toolbar-item.d.ts +0 -3
  1236. package/lib/toolbar/toolbar.component.d.ts +0 -8
  1237. package/lib/toolbar/toolbar.module.d.ts +0 -14
  1238. package/lib/tooltip/tooltip.directive.d.ts +0 -21
  1239. package/lib/tooltip/tooltip.module.d.ts +0 -8
  1240. package/lib/tree-side-menu/tree-side-menu.component.d.ts +0 -111
  1241. package/lib/tree-side-menu/tree-side-menu.module.d.ts +0 -11
  1242. package/lib/tree-view/tree-view.component.d.ts +0 -121
  1243. package/lib/tree-view/tree-view.module.d.ts +0 -11
  1244. package/lib/upload-file/upload-file.component.d.ts +0 -42
  1245. package/lib/upload-file/upload-file.events.d.ts +0 -10
  1246. package/lib/upload-file/upload-file.module.d.ts +0 -13
  1247. package/lib/validation/validation-form.component.d.ts +0 -19
  1248. package/lib/validation/validation-rule.widget.d.ts +0 -23
  1249. package/lib/validation/validation.class.d.ts +0 -16
  1250. package/lib/validation/validation.component.d.ts +0 -25
  1251. package/lib/validation/validation.module.d.ts +0 -11
  1252. /package/{lib/label → label/lib}/label.module.d.ts +0 -0
  1253. /package/{lib/popover → popover/lib}/popover.module.d.ts +0 -0
  1254. /package/{lib/progress-bar → progress-bar/lib}/progress-bar.module.d.ts +0 -0
@@ -0,0 +1,477 @@
1
+ import { AXValuableComponent, MXInteractiveComponent, MXValueComponent, } from '@acorex/components/common';
2
+ import { AXDateTimeRange } from '@acorex/core/date-time';
3
+ import { ChangeDetectionStrategy, Component, HostBinding, HostListener, ViewEncapsulation, forwardRef } from '@angular/core';
4
+ import { AXUnsubscriber } from '@acorex/core/utils';
5
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
+ import { classes } from 'polytype';
7
+ import { MXCalendarBaseComponent } from './calendar.class';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@acorex/core/utils";
10
+ import * as i2 from "@angular/common";
11
+ import * as i3 from "@acorex/core/translation";
12
+ export class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveComponent, MXCalendarBaseComponent) {
13
+ get displayRange() {
14
+ return new AXDateTimeRange(this.views[0].range.startTime, this.views[this.views.length - 1].range.endTime);
15
+ }
16
+ _setDisplayRange(current) {
17
+ switch (this.activeView) {
18
+ case 'year': {
19
+ const y = current.startOf('year').year;
20
+ const min = y - (y % 10);
21
+ const max = min + 9;
22
+ return new AXDateTimeRange(this.calendarService.create({
23
+ year: min,
24
+ month: 1,
25
+ date: 1,
26
+ }, this.type), this.calendarService.create({
27
+ year: max,
28
+ month: 12,
29
+ date: 28,
30
+ }, this.type));
31
+ }
32
+ case 'month':
33
+ return new AXDateTimeRange(current.startOf('year'), current.endOf('year').add('day', -1));
34
+ default:
35
+ return new AXDateTimeRange(current.startOf('month'), current.endOf('month'));
36
+ }
37
+ }
38
+ _initValues() {
39
+ this._today = this.calendarService.create(new Date(), this.type);
40
+ this._weekdays = this._today.calendar.weekdays;
41
+ }
42
+ _refresh() {
43
+ this._initValues();
44
+ this.navTo(this.value || this._today);
45
+ }
46
+ constructor(unsubscriber) {
47
+ super();
48
+ this._today = this.calendarService.create(new Date(), this.type);
49
+ this._navUserInteraction = false;
50
+ this._footPrint = {
51
+ year: null,
52
+ month: null,
53
+ day: null,
54
+ };
55
+ this.views = [];
56
+ this._weekdays = [];
57
+ this.calendarService.onHolidaysChanged.pipe(unsubscriber.takeUntilDestroy).subscribe(() => {
58
+ this.render();
59
+ });
60
+ this.calendarService.calendarChanges$.pipe(unsubscriber.takeUntilDestroy).subscribe(() => {
61
+ this._refresh();
62
+ });
63
+ }
64
+ ngOnInit() {
65
+ super.ngOnInit();
66
+ this._initValues();
67
+ }
68
+ ngAfterViewInit() {
69
+ if (!this.value) {
70
+ this.goToday();
71
+ }
72
+ }
73
+ ngOnDestroy() { }
74
+ render() {
75
+ if (!this._viewStartDate)
76
+ return;
77
+ const applyCellClass = (slot, cellClass = this.cellClass) => {
78
+ switch (typeof cellClass) {
79
+ case 'string':
80
+ cellClass.split(' ').forEach((c) => (slot.cssClass[c] = true));
81
+ break;
82
+ case 'object':
83
+ Object.assign(slot.cssClass, cellClass);
84
+ break;
85
+ case 'function':
86
+ applyCellClass(slot, cellClass(slot.date));
87
+ break;
88
+ }
89
+ };
90
+ this.views = [];
91
+ for (let i = 0; i < this.count; i++) {
92
+ let unit = 'month';
93
+ let value = i;
94
+ //
95
+ if (this.activeView == 'day') {
96
+ unit = 'month';
97
+ value = i;
98
+ }
99
+ else if (this.activeView == 'month') {
100
+ unit = 'year';
101
+ value = i;
102
+ }
103
+ else {
104
+ unit = 'year';
105
+ value = i * 10;
106
+ }
107
+ //
108
+ const current = this._viewStartDate.add(unit, value);
109
+ const view = {
110
+ range: this._setDisplayRange(current),
111
+ slots: [],
112
+ };
113
+ this.views.push(view);
114
+ //
115
+ // year view
116
+ if (this.activeView == 'year') {
117
+ const a = view.range.enumurate('year');
118
+ view.slots = a.map((d, i) => {
119
+ const r = {};
120
+ r.date = d;
121
+ //
122
+ r.text = d.format('YYYY');
123
+ r.tooltip = d.format('YYYY');
124
+ //
125
+ r.today = d.equal(this._today, 'year');
126
+ //
127
+ r.selected = this.value && this.depth == 'year' && d.equal(this.value, 'year');
128
+ //
129
+ const focused = d.year == this._footPrint.year;
130
+ //
131
+ r.disabled =
132
+ (this.minValue && d.compare(this.minValue, 'year') == -1) || (this.maxValue && d.compare(this.maxValue, 'year') == 1);
133
+ //
134
+ if (r.disabled) {
135
+ r.cssClass = {
136
+ 'ax-state-disabled': r.disabled,
137
+ };
138
+ }
139
+ else {
140
+ r.cssClass = {
141
+ 'ax-state-today': r.today,
142
+ 'ax-state-selected': r.selected,
143
+ 'ax-state-focused': focused,
144
+ };
145
+ }
146
+ applyCellClass(r);
147
+ return r;
148
+ });
149
+ }
150
+ // month view
151
+ else if (this.activeView == 'month') {
152
+ const a = view.range.enumurate('month');
153
+ view.slots = a.map((d, i) => {
154
+ const r = {};
155
+ r.date = d;
156
+ r.text = d.format('MMM');
157
+ r.tooltip = d.format('MMMM YYYY');
158
+ r.today = d.equal(this._today, 'month');
159
+ //
160
+ r.disabled =
161
+ (this.minValue && d.compare(this.minValue, 'month') == -1) || (this.maxValue && d.compare(this.maxValue, 'month') == 1);
162
+ //
163
+ r.selected = this.value && this.depth == 'month' && d.equal(this.value, 'month');
164
+ //
165
+ const focused = d.monthOfYear == this._footPrint.month && d.year == this._footPrint.year;
166
+ //
167
+ if (r.disabled) {
168
+ r.cssClass = {
169
+ 'ax-state-disabled': r.disabled,
170
+ };
171
+ }
172
+ else {
173
+ r.cssClass = {
174
+ 'ax-state-today': r.today,
175
+ 'ax-state-selected': r.selected,
176
+ 'ax-state-focused': focused,
177
+ };
178
+ }
179
+ applyCellClass(r);
180
+ return r;
181
+ });
182
+ }
183
+ // day view
184
+ else {
185
+ const a = view.range.enumurate('day');
186
+ view.slots = a.map((d, i) => {
187
+ const r = {};
188
+ r.date = d;
189
+ r.text = d.dayOfMonth;
190
+ r.tooltip = d.format('longDate');
191
+ r.today = d.equal(this._today, 'day');
192
+ r.selected = this.value && d.equal(this.value, 'day');
193
+ r.holiday = this.isHoliday(d) || this.isWeekend(d);
194
+ r.disabled =
195
+ (this.minValue && d.compare(this.minValue, 'day') == -1) ||
196
+ (this.maxValue && d.compare(this.maxValue, 'day') == 1) ||
197
+ this.isDisabled(d);
198
+ //
199
+ const focused = d.dayOfMonth == this._footPrint.day && d.monthOfYear == this._footPrint.month && d.year == this._footPrint.year;
200
+ //
201
+ if (r.disabled) {
202
+ r.cssClass = {
203
+ 'ax-state-disabled': true,
204
+ };
205
+ }
206
+ else {
207
+ r.cssClass = {
208
+ 'ax-state-today': r.today,
209
+ 'ax-state-selected': r.selected,
210
+ 'ax-state-holiday': r.holiday,
211
+ //'ax-state-focused': focused,
212
+ };
213
+ }
214
+ // ax-col-start-1 ax-col-start-2 ax-col-start-3 ax-col-start-4 ax-col-start-5 ax-col-start-6 ax-col-start-7
215
+ r.cssClass[`ax-column-start-${view.range.startTime.dayOfWeek}`] = i == 0;
216
+ if (this.cellClass)
217
+ applyCellClass(r);
218
+ return r;
219
+ });
220
+ }
221
+ }
222
+ this.cdr.markForCheck();
223
+ }
224
+ _handlePrevClick() {
225
+ this._navUserInteraction = true;
226
+ this.prev();
227
+ this._navUserInteraction = false;
228
+ }
229
+ _handleNextClick() {
230
+ this._navUserInteraction = true;
231
+ this.next();
232
+ this._navUserInteraction = false;
233
+ }
234
+ _handleSlotClick(e, slot) {
235
+ if (slot.disabled || this.disabled)
236
+ return;
237
+ //
238
+ this.onSlotClick.emit({
239
+ component: this,
240
+ item: slot.date.date,
241
+ isUserInteraction: true,
242
+ nativeEvent: e,
243
+ });
244
+ //
245
+ const val = this.calendarService.create(slot.date.date, this.type);
246
+ if (this.activeView == 'day') {
247
+ this._setDate(slot.date.date);
248
+ }
249
+ else if (this.activeView == 'month' && this.depth == 'day') {
250
+ this.activeView = 'day';
251
+ this._footPrint.month = val.monthOfYear;
252
+ this.navTo(slot.date);
253
+ }
254
+ else if (this.activeView == 'month' && this.depth == 'month') {
255
+ this._setDate(slot.date.date);
256
+ }
257
+ else if (this.activeView == 'year' && (this.depth == 'day' || this.depth == 'month')) {
258
+ this.activeView = 'month';
259
+ this._footPrint.year = val.year;
260
+ this.navTo(slot.date);
261
+ }
262
+ else if (this.activeView == 'year' && this.depth == 'year') {
263
+ this._setDate(slot.date.date);
264
+ }
265
+ }
266
+ _handleNavClick(e, view) {
267
+ this._navUserInteraction = true;
268
+ this.activeView = view;
269
+ this._navUserInteraction = false;
270
+ }
271
+ toggleView() {
272
+ if (this.activeView == 'day')
273
+ this.activeView = 'month';
274
+ else if (this.activeView == 'month')
275
+ this.activeView = 'year';
276
+ }
277
+ internalOptionChanged(e) {
278
+ if (e.name == 'depth' || e.name == 'activeView' || e.name == 'disabledDates' || e.name == 'holidayDates') {
279
+ this.render();
280
+ }
281
+ if (e.name == 'type') {
282
+ this._refresh();
283
+ }
284
+ }
285
+ internalValueChanged(value) {
286
+ const val = this.calendarService.create(value, this.type);
287
+ if (!this._viewStartDate ||
288
+ val.compare(this.displayRange.startTime, this.activeView) == -1 ||
289
+ val.compare(this.displayRange.endTime, this.activeView) == 1) {
290
+ this._viewStartDate = this.calendarService.create(value, this.type);
291
+ }
292
+ this._footPrint.year = val.year;
293
+ this._footPrint.month = val.monthOfYear;
294
+ this._footPrint.day = val.dayOfMonth;
295
+ this.render();
296
+ }
297
+ _handleGoToday() {
298
+ this._navUserInteraction = true;
299
+ this._setDate(this._today.date);
300
+ this.goToday();
301
+ this._navUserInteraction = false;
302
+ }
303
+ next() {
304
+ this._navNextPrev(false);
305
+ }
306
+ prev() {
307
+ this._navNextPrev(true);
308
+ }
309
+ focus() {
310
+ const func = (s) => this.getHostElement().querySelector(s);
311
+ const div = func('.ax-calendar-slots>div.ax-state-selected') || func('.ax-calendar-slots>div');
312
+ div?.focus();
313
+ }
314
+ _navNextPrev(prev) {
315
+ const sign = prev ? -1 : 1;
316
+ if (this.activeView == 'day')
317
+ this.navTo(this._viewStartDate.add('month', sign * 1 * this.count));
318
+ else if (this.activeView == 'month')
319
+ this.navTo(this._viewStartDate.add('year', sign * 1 * this.count));
320
+ else
321
+ this.navTo(this._viewStartDate.add('year', sign * 10 * this.count));
322
+ }
323
+ goToday() {
324
+ this.navTo(this._today);
325
+ }
326
+ navTo(date) {
327
+ const val = this.calendarService.convert(date, this.type);
328
+ this._viewStartDate = val.startOf();
329
+ this.render();
330
+ //to make sure its rendred and displayRange is not null
331
+ if (this.views.length > 0) {
332
+ const vr = this.displayRange;
333
+ this.onNavigate.emit({
334
+ component: this,
335
+ isUserInteraction: this._navUserInteraction,
336
+ start: vr.startTime?.date,
337
+ end: vr.endTime?.date,
338
+ htmlElement: this.getHostElement(),
339
+ });
340
+ }
341
+ }
342
+ get __hostClass() {
343
+ const _classes = {
344
+ 'ax-state-disabled': this.disabled,
345
+ 'ax-state-readonly': this.readonly,
346
+ };
347
+ return Object.entries(_classes)
348
+ .filter((c) => c[1])
349
+ .map((c) => c[0])
350
+ .join(' ');
351
+ }
352
+ _setDate(value) {
353
+ if (this.readonly || this.disabled)
354
+ return;
355
+ this.commitValue(this.calendarService.convert(value, this.type).startOf().date, true);
356
+ }
357
+ isDisabled(date) {
358
+ if (Array.isArray(this.disabledDates) && this.disabledDates.length != 0) {
359
+ return this.disabledDates.some((d) => date.equal(d, 'day'));
360
+ }
361
+ else if (typeof this.disabledDates == 'function') {
362
+ return this.disabledDates(date.date);
363
+ }
364
+ return false;
365
+ }
366
+ isHoliday(date) {
367
+ const gh = this.calendarService.holidays.some((d) => date.equal(d.date, 'day'));
368
+ let dh = this.calendarService.holidays.some((d) => date.equal(d.date, 'day'));
369
+ if (Array.isArray(this.holidayDates) && this.holidayDates.length != 0) {
370
+ dh = this.holidayDates.some((d) => date.equal(d, 'day'));
371
+ }
372
+ else if (typeof this.holidayDates == 'function') {
373
+ dh = this.holidayDates(date.date);
374
+ }
375
+ return gh || dh;
376
+ }
377
+ isWeekend(date) {
378
+ const weekend = this.calendarService.resolveCalendar(this.type).weekend;
379
+ return weekend.includes(date.dayOfWeek - 1);
380
+ }
381
+ _handleOnKeydownEvent(e) {
382
+ //TODO: complete keyboad navigation
383
+ const ignore = () => {
384
+ e.preventDefault();
385
+ e.stopPropagation();
386
+ };
387
+ if (e.code === 'ArrowRight' || e.code === 'ArrowLeft') {
388
+ if (e.ctrlKey) {
389
+ e.code === 'ArrowRight' ? this.next() : this.prev();
390
+ setTimeout(() => {
391
+ this.focus();
392
+ }, 50);
393
+ }
394
+ ignore();
395
+ }
396
+ else if (e.code === 'ArrowUp' || e.code === 'ArrowDown') {
397
+ if (e.ctrlKey) {
398
+ e.code === 'ArrowUp' ? this.next() : this.prev();
399
+ setTimeout(() => {
400
+ this.focus();
401
+ }, 50);
402
+ }
403
+ ignore();
404
+ }
405
+ }
406
+ getMonthName(date, style) {
407
+ return `dateTime.months.${date.calendar.name()}.${style}.${date.monthOfYear - 1}`;
408
+ }
409
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXCalendarComponent, deps: [{ token: i1.AXUnsubscriber }], target: i0.ɵɵFactoryTarget.Component }); }
410
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.2", type: AXCalendarComponent, selector: "ax-calendar", inputs: { rtl: "rtl", readonly: "readonly", value: "value", name: "name", disabled: "disabled", depth: "depth", activeView: "activeView", minValue: "minValue", maxValue: "maxValue", disabledDates: "disabledDates", holidayDates: "holidayDates", type: "type", cellTemplate: "cellTemplate", cellClass: "cellClass", showNavigation: "showNavigation", count: "count", id: "id" }, outputs: { onOptionChanged: "onOptionChanged", valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", depthChange: "depthChange", typeChange: "typeChange", activeViewChange: "activeViewChange", disabledDatesChange: "disabledDatesChange", holidayDatesChange: "holidayDatesChange", onNavigate: "onNavigate", onSlotClick: "onSlotClick", countChange: "countChange" }, host: { listeners: { "keydown": "_handleOnKeydownEvent($event)" }, properties: { "class": "this.__hostClass" } }, providers: [
411
+ {
412
+ provide: NG_VALUE_ACCESSOR,
413
+ useExisting: forwardRef(() => AXCalendarComponent),
414
+ multi: true,
415
+ },
416
+ {
417
+ provide: AXValuableComponent,
418
+ useExisting: AXCalendarComponent,
419
+ },
420
+ AXUnsubscriber,
421
+ ], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-header\"></ng-content>\n<div class=\"ax-calendar-body\">\n @for(v of views; let i = $index, first = $first, last = $last; track i){\n @switch (activeView) {\n @case ('year') {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-state-disabled\" (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }} - {{ v.range.endTime.format('YYYY') }}\n </button>\n </div>\n @if(last){\n <div class=\"ax-calendar-header-buttons\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-next\" (click)=\"_handlePrevClick()\">\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handleNextClick()\">\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n <div class=\"ax-calendar-slots ax-calendar-slots-year\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n @for(slot of v.slots; track slot.text){\n <div tabindex=\"0\" class=\"ax-calendar-slot\" [ngClass]=\"slot.cssClass\" (click)=\"_handleSlotClick($event, slot)\">\n @if(cellTemplate){\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n } @else {\n <div [title]=\"slot.tooltip\">\n {{ slot.text }}\n </div>\n }\n </div>\n }\n </div>\n }\n @case ('month') {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\" (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }}\n </button>\n </div>\n @if(last){\n <div class=\"ax-calendar-header-buttons\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handlePrevClick()\">\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handleNextClick()\">\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n <div class=\"ax-calendar-slots ax-calendar-slots-month\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n <div tabindex=\"0\" *ngFor=\"let slot of v.slots\" class=\"ax-calendar-slot\" [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\">\n\n @if(cellTemplate){\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n }@else {\n <div [title]=\"slot.tooltip\">\n {{getMonthName(slot.date,'short') | translate | async }}\n </div>\n }\n\n </div>\n </div>\n }\n @default {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\" (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }}\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\" (click)=\"_handleNavClick($event, 'month')\">\n {{getMonthName(v.range.startTime,'long') | translate | async }}\n </button>\n </div>\n @if(last){\n <div class=\"ax-calendar-header-buttons\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handlePrevClick()\">\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handleNextClick()\">\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n <div class=\"ax-calendar-week\">\n <div *ngFor=\"let d of _weekdays\">{{ ('dateTime.weekdays.short.'+d) | translate | async }}</div>\n </div>\n <div class=\"ax-calendar-slots ax-calendar-slots-day\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n <ng-container *ngFor=\"let slot of v.slots\">\n <div tabindex=\"0\" class=\"ax-calendar-slot\" [ngClass]=\"slot.cssClass\" (click)=\"_handleSlotClick($event, slot)\">\n @if(cellTemplate){\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n } @else{\n <div [title]=\"slot.tooltip\">\n {{ slot.text }}\n </div>\n }\n\n </div>\n </ng-container>\n </div>\n }\n }\n }\n\n</div>\n<ng-content select=\"ax-footer\"></ng-content>", styles: [".ax-dark ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover:not(.ax-dark ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-disabled,.ax-dark ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-selected){background-color:rgba(var(--ax-color-primary-200));color:rgba(var(--ax-color-primary-fore-tint))}.ax-dark ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(.ax-dark ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){outline-color:rgba(var(--ax-color-primary-200))}.ax-dark ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today{border-color:rgba(var(--ax-color-primary-200));color:rgba(var(--ax-color-primary-200))}.ax-dark ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected{background-color:rgba(var(--ax-color-primary-200));color:rgba(var(--ax-color-primary-fore-tint))}.ax-dark ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday{color:rgba(var(--ax-color-danger-200))}.ax-dark ax-calendar .ax-calendar-footer:is(.ax-dark ax-calendar .ax-calendar-footer:focus,.ax-dark ax-calendar .ax-calendar-footer:focus-visible):not(.ax-state-disabled){outline-color:rgba(var(--ax-color-primary-200))}html[dir=rtl] ax-calendar .ax-calendar-header-buttons{flex-direction:row-reverse}ax-calendar{display:block;width:100%;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity));color:rgba(var(--ax-color-surface-fore),var(--tw-text-opacity))}@media (min-width: 768px){ax-calendar{width:max-content}}ax-calendar.ax-state-disabled .ax-calendar-slots{cursor:not-allowed;opacity:.5}ax-calendar.ax-state-readonly .ax-calendar-slots{cursor:text;opacity:.75}ax-calendar .ax-calendar-header{display:flex;justify-content:space-between;padding-left:.25rem;padding-right:.25rem;padding-top:.25rem}ax-calendar .ax-calendar-header .ax-calendar-header-info{font-weight:500}ax-calendar .ax-calendar-header .ax-calendar-header-buttons{display:flex}ax-calendar .ax-calendar-body{display:flex;flex-direction:column}@media (min-width: 1024px){ax-calendar .ax-calendar-body{flex-direction:column}}ax-calendar .ax-calendar-body>div{width:100%;flex:1 1 0%}@media (min-width: 768px){ax-calendar .ax-calendar-body>div{width:20rem}}ax-calendar .ax-calendar-body .ax-calendar-view-header{display:flex;justify-content:space-between;border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default));padding:.5rem}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-info{font-weight:500}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-buttons{display:flex}ax-calendar .ax-calendar-body .ax-calendar-slots{display:grid;gap:.25rem;padding:1rem}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--ax-rounded-border-default);text-align:center;font-size:.875rem;line-height:1.25rem;color:rgba(var(--ax-color-surface-fore));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:before{content:\"\";float:left;padding-top:100%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:after{content:\"\";clear:both;display:block}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-disabled,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-selected){background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){outline-width:2px;outline-color:rgba(var(--ax-color-primary-500))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled{outline-style:dashed;outline-width:2px}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-readonly{cursor:text;opacity:.75}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-1{grid-column-start:1}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-2{grid-column-start:2}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-3{grid-column-start:3}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-4{grid-column-start:4}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-5{grid-column-start:5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-6{grid-column-start:6}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-7{grid-column-start:7}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-other{opacity:.05}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today{border-width:1px;border-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-500))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-focused{border-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected{background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected.ax-state-holiday{color:rgba(var(--ax-color-primary-fore))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday{color:rgba(var(--ax-color-danger-500))}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-day{grid-template-columns:repeat(7,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-year,ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-month{grid-template-columns:repeat(4,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding-left:.5rem;padding-right:.5rem;padding-top:.75rem}ax-calendar .ax-calendar-body .ax-calendar-week>div{position:relative;margin:.125rem;display:flex;cursor:pointer;align-items:center;justify-content:center;text-align:center;font-size:.875rem;line-height:1.25rem}ax-calendar .ax-calendar-footer{margin-top:1.25rem;display:flex;align-items:center;justify-content:center}ax-calendar .ax-calendar-footer .ax-today-button{display:block;height:var(--ax-size-default);width:100%;cursor:pointer;border-radius:var(--ax-rounded-border-default);background-color:rgba(var(--ax-color-primary-500));padding-left:1rem;padding-right:1rem;text-align:center;font-size:.875rem;line-height:1.25rem;color:rgba(var(--ax-color-primary-fore))}ax-calendar .ax-calendar-footer .ax-today-button.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-calendar .ax-calendar-footer .ax-today-button.ax-state-readonly{cursor:text;opacity:.75}ax-calendar .ax-calendar-footer .ax-today-button:is(ax-calendar .ax-calendar-footer .ax-today-button:hover):not(.ax-state-disabled){background-color:rgba(var(--ax-color-primary-600))}ax-calendar .ax-calendar-footer .ax-today-button:is(ax-calendar .ax-calendar-footer .ax-today-button:focus,ax-calendar .ax-calendar-footer .ax-today-button:focus-visible):not(.ax-state-disabled){outline-color:rgba(var(--ax-color-primary-500),1)}.ax-calendar-picker{display:flex;width:100%}.ax-calendar-picker ax-picker{flex:1 1 0%}.ax-overlay-pane ax-calendar{border-style:none}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
422
+ }
423
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXCalendarComponent, decorators: [{
424
+ type: Component,
425
+ args: [{ selector: 'ax-calendar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, inputs: [
426
+ 'rtl',
427
+ 'readonly',
428
+ 'value',
429
+ 'name',
430
+ 'disabled',
431
+ 'depth',
432
+ 'activeView',
433
+ 'minValue',
434
+ 'maxValue',
435
+ 'disabledDates',
436
+ 'holidayDates',
437
+ 'type',
438
+ 'cellTemplate',
439
+ 'cellClass',
440
+ 'showNavigation',
441
+ 'count',
442
+ 'name',
443
+ 'id',
444
+ ], outputs: [
445
+ 'onOptionChanged',
446
+ 'valueChange',
447
+ 'onValueChanged',
448
+ 'onBlur',
449
+ 'onFocus',
450
+ 'depthChange',
451
+ 'typeChange',
452
+ 'activeViewChange',
453
+ 'disabledDatesChange',
454
+ 'holidayDatesChange',
455
+ 'onNavigate',
456
+ 'onSlotClick',
457
+ 'countChange',
458
+ ], providers: [
459
+ {
460
+ provide: NG_VALUE_ACCESSOR,
461
+ useExisting: forwardRef(() => AXCalendarComponent),
462
+ multi: true,
463
+ },
464
+ {
465
+ provide: AXValuableComponent,
466
+ useExisting: AXCalendarComponent,
467
+ },
468
+ AXUnsubscriber,
469
+ ], template: "<ng-content select=\"ax-header\"></ng-content>\n<div class=\"ax-calendar-body\">\n @for(v of views; let i = $index, first = $first, last = $last; track i){\n @switch (activeView) {\n @case ('year') {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-state-disabled\" (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }} - {{ v.range.endTime.format('YYYY') }}\n </button>\n </div>\n @if(last){\n <div class=\"ax-calendar-header-buttons\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-next\" (click)=\"_handlePrevClick()\">\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handleNextClick()\">\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n <div class=\"ax-calendar-slots ax-calendar-slots-year\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n @for(slot of v.slots; track slot.text){\n <div tabindex=\"0\" class=\"ax-calendar-slot\" [ngClass]=\"slot.cssClass\" (click)=\"_handleSlotClick($event, slot)\">\n @if(cellTemplate){\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n } @else {\n <div [title]=\"slot.tooltip\">\n {{ slot.text }}\n </div>\n }\n </div>\n }\n </div>\n }\n @case ('month') {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\" (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }}\n </button>\n </div>\n @if(last){\n <div class=\"ax-calendar-header-buttons\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handlePrevClick()\">\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handleNextClick()\">\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n <div class=\"ax-calendar-slots ax-calendar-slots-month\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n <div tabindex=\"0\" *ngFor=\"let slot of v.slots\" class=\"ax-calendar-slot\" [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\">\n\n @if(cellTemplate){\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n }@else {\n <div [title]=\"slot.tooltip\">\n {{getMonthName(slot.date,'short') | translate | async }}\n </div>\n }\n\n </div>\n </div>\n }\n @default {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\" (click)=\"_handleNavClick($event, 'year')\">\n {{ v.range.startTime.format('YYYY') }}\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\" (click)=\"_handleNavClick($event, 'month')\">\n {{getMonthName(v.range.startTime,'long') | translate | async }}\n </button>\n </div>\n @if(last){\n <div class=\"ax-calendar-header-buttons\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handlePrevClick()\">\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\" (click)=\"_handleNextClick()\">\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n <div class=\"ax-calendar-week\">\n <div *ngFor=\"let d of _weekdays\">{{ ('dateTime.weekdays.short.'+d) | translate | async }}</div>\n </div>\n <div class=\"ax-calendar-slots ax-calendar-slots-day\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n <ng-container *ngFor=\"let slot of v.slots\">\n <div tabindex=\"0\" class=\"ax-calendar-slot\" [ngClass]=\"slot.cssClass\" (click)=\"_handleSlotClick($event, slot)\">\n @if(cellTemplate){\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n } @else{\n <div [title]=\"slot.tooltip\">\n {{ slot.text }}\n </div>\n }\n\n </div>\n </ng-container>\n </div>\n }\n }\n }\n\n</div>\n<ng-content select=\"ax-footer\"></ng-content>", styles: [".ax-dark ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover:not(.ax-dark ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-disabled,.ax-dark ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-selected){background-color:rgba(var(--ax-color-primary-200));color:rgba(var(--ax-color-primary-fore-tint))}.ax-dark ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(.ax-dark ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){outline-color:rgba(var(--ax-color-primary-200))}.ax-dark ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today{border-color:rgba(var(--ax-color-primary-200));color:rgba(var(--ax-color-primary-200))}.ax-dark ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected{background-color:rgba(var(--ax-color-primary-200));color:rgba(var(--ax-color-primary-fore-tint))}.ax-dark ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday{color:rgba(var(--ax-color-danger-200))}.ax-dark ax-calendar .ax-calendar-footer:is(.ax-dark ax-calendar .ax-calendar-footer:focus,.ax-dark ax-calendar .ax-calendar-footer:focus-visible):not(.ax-state-disabled){outline-color:rgba(var(--ax-color-primary-200))}html[dir=rtl] ax-calendar .ax-calendar-header-buttons{flex-direction:row-reverse}ax-calendar{display:block;width:100%;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity));color:rgba(var(--ax-color-surface-fore),var(--tw-text-opacity))}@media (min-width: 768px){ax-calendar{width:max-content}}ax-calendar.ax-state-disabled .ax-calendar-slots{cursor:not-allowed;opacity:.5}ax-calendar.ax-state-readonly .ax-calendar-slots{cursor:text;opacity:.75}ax-calendar .ax-calendar-header{display:flex;justify-content:space-between;padding-left:.25rem;padding-right:.25rem;padding-top:.25rem}ax-calendar .ax-calendar-header .ax-calendar-header-info{font-weight:500}ax-calendar .ax-calendar-header .ax-calendar-header-buttons{display:flex}ax-calendar .ax-calendar-body{display:flex;flex-direction:column}@media (min-width: 1024px){ax-calendar .ax-calendar-body{flex-direction:column}}ax-calendar .ax-calendar-body>div{width:100%;flex:1 1 0%}@media (min-width: 768px){ax-calendar .ax-calendar-body>div{width:20rem}}ax-calendar .ax-calendar-body .ax-calendar-view-header{display:flex;justify-content:space-between;border-bottom-width:1px;border-color:rgba(var(--ax-color-border-default));padding:.5rem}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-info{font-weight:500}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-buttons{display:flex}ax-calendar .ax-calendar-body .ax-calendar-slots{display:grid;gap:.25rem;padding:1rem}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--ax-rounded-border-default);text-align:center;font-size:.875rem;line-height:1.25rem;color:rgba(var(--ax-color-surface-fore));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:before{content:\"\";float:left;padding-top:100%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:after{content:\"\";clear:both;display:block}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-disabled,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-selected){background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){outline-width:2px;outline-color:rgba(var(--ax-color-primary-500))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled{outline-style:dashed;outline-width:2px}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-readonly{cursor:text;opacity:.75}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-1{grid-column-start:1}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-2{grid-column-start:2}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-3{grid-column-start:3}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-4{grid-column-start:4}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-5{grid-column-start:5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-6{grid-column-start:6}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-7{grid-column-start:7}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-other{opacity:.05}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today{border-width:1px;border-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-500))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-focused{border-width:1px;border-color:rgba(var(--ax-color-border-default))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected{background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected.ax-state-holiday{color:rgba(var(--ax-color-primary-fore))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday{color:rgba(var(--ax-color-danger-500))}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-day{grid-template-columns:repeat(7,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-year,ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-month{grid-template-columns:repeat(4,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding-left:.5rem;padding-right:.5rem;padding-top:.75rem}ax-calendar .ax-calendar-body .ax-calendar-week>div{position:relative;margin:.125rem;display:flex;cursor:pointer;align-items:center;justify-content:center;text-align:center;font-size:.875rem;line-height:1.25rem}ax-calendar .ax-calendar-footer{margin-top:1.25rem;display:flex;align-items:center;justify-content:center}ax-calendar .ax-calendar-footer .ax-today-button{display:block;height:var(--ax-size-default);width:100%;cursor:pointer;border-radius:var(--ax-rounded-border-default);background-color:rgba(var(--ax-color-primary-500));padding-left:1rem;padding-right:1rem;text-align:center;font-size:.875rem;line-height:1.25rem;color:rgba(var(--ax-color-primary-fore))}ax-calendar .ax-calendar-footer .ax-today-button.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-calendar .ax-calendar-footer .ax-today-button.ax-state-readonly{cursor:text;opacity:.75}ax-calendar .ax-calendar-footer .ax-today-button:is(ax-calendar .ax-calendar-footer .ax-today-button:hover):not(.ax-state-disabled){background-color:rgba(var(--ax-color-primary-600))}ax-calendar .ax-calendar-footer .ax-today-button:is(ax-calendar .ax-calendar-footer .ax-today-button:focus,ax-calendar .ax-calendar-footer .ax-today-button:focus-visible):not(.ax-state-disabled){outline-color:rgba(var(--ax-color-primary-500),1)}.ax-calendar-picker{display:flex;width:100%}.ax-calendar-picker ax-picker{flex:1 1 0%}.ax-overlay-pane ax-calendar{border-style:none}\n"] }]
470
+ }], ctorParameters: () => [{ type: i1.AXUnsubscriber }], propDecorators: { __hostClass: [{
471
+ type: HostBinding,
472
+ args: ['class']
473
+ }], _handleOnKeydownEvent: [{
474
+ type: HostListener,
475
+ args: ['keydown', ['$event']]
476
+ }] } });
477
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLG1CQUFtQixFQUVuQixzQkFBc0IsRUFDdEIsZ0JBQWdCLEdBQ2pCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFjLGVBQWUsRUFBWSxNQUFNLHdCQUF3QixDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0gsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkMsT0FBTyxFQUEwRCx1QkFBdUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7OztBQXdEbkgsTUFBTSxPQUFPLG1CQUFvQixTQUFRLE9BQU8sQ0FBQyxDQUFBLGdCQUFzQixDQUFBLEVBQUUsc0JBQXNCLEVBQUUsdUJBQXVCLENBQUM7SUFDdkgsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FB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QUFlO3dCQUNmLGNBQWM7d0JBQ2QsTUFBTTt3QkFDTixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixPQUFPO3dCQUNQLE1BQU07d0JBQ04sSUFBSTtxQkFDTCxXQUNRO3dCQUNQLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLFFBQVE7d0JBQ1IsU0FBUzt3QkFDVCxhQUFhO3dCQUNiLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGFBQWE7cUJBQ2QsYUFDVTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQzs0QkFDbEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsV0FBVyxxQkFBcUI7eUJBQ2pDO3dCQUNELGNBQWM7cUJBQ2Y7bUZBbVdXLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTztnQkEyQ3BCLHFCQUFxQjtzQkFEcEIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWENsaWNrRXZlbnQsXG4gIEFYVmFsdWFibGVDb21wb25lbnQsXG4gIE1YQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCxcbiAgTVhJbnRlcmFjdGl2ZUNvbXBvbmVudCxcbiAgTVhWYWx1ZUNvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWERhdGVUaW1lLCBBWERhdGVUaW1lUmFuZ2UsIFRpbWVVbml0IH0gZnJvbSAnQGFjb3JleC9jb3JlL2RhdGUtdGltZSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBWaWV3RW5jYXBzdWxhdGlvbiwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBWFVuc3Vic2NyaWJlciB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICdwb2x5dHlwZSc7XG5pbXBvcnQgeyBBWENhbGVuZGFyVmlldywgQVhDYWxlbmRhclZpZXdTbG90LCBBWENhbGVuZGFyVmlld1R5cGUsIE1YQ2FsZW5kYXJCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9jYWxlbmRhci5jbGFzcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNhbGVuZGFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FsZW5kYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGlucHV0czogW1xuICAgICdydGwnLFxuICAgICdyZWFkb25seScsXG4gICAgJ3ZhbHVlJyxcbiAgICAnbmFtZScsXG4gICAgJ2Rpc2FibGVkJyxcbiAgICAnZGVwdGgnLFxuICAgICdhY3RpdmVWaWV3JyxcbiAgICAnbWluVmFsdWUnLFxuICAgICdtYXhWYWx1ZScsXG4gICAgJ2Rpc2FibGVkRGF0ZXMnLFxuICAgICdob2xpZGF5RGF0ZXMnLFxuICAgICd0eXBlJyxcbiAgICAnY2VsbFRlbXBsYXRlJyxcbiAgICAnY2VsbENsYXNzJyxcbiAgICAnc2hvd05hdmlnYXRpb24nLFxuICAgICdjb3VudCcsXG4gICAgJ25hbWUnLFxuICAgICdpZCcsXG4gIF0sXG4gIG91dHB1dHM6IFtcbiAgICAnb25PcHRpb25DaGFuZ2VkJyxcbiAgICAndmFsdWVDaGFuZ2UnLFxuICAgICdvblZhbHVlQ2hhbmdlZCcsXG4gICAgJ29uQmx1cicsXG4gICAgJ29uRm9jdXMnLFxuICAgICdkZXB0aENoYW5nZScsXG4gICAgJ3R5cGVDaGFuZ2UnLFxuICAgICdhY3RpdmVWaWV3Q2hhbmdlJyxcbiAgICAnZGlzYWJsZWREYXRlc0NoYW5nZScsXG4gICAgJ2hvbGlkYXlEYXRlc0NoYW5nZScsXG4gICAgJ29uTmF2aWdhdGUnLFxuICAgICdvblNsb3RDbGljaycsXG4gICAgJ2NvdW50Q2hhbmdlJyxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBWENhbGVuZGFyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhWYWx1YWJsZUNvbXBvbmVudCxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWENhbGVuZGFyQ29tcG9uZW50LFxuICAgIH0sXG4gICAgQVhVbnN1YnNjcmliZXIsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJDb21wb25lbnQgZXh0ZW5kcyBjbGFzc2VzKE1YVmFsdWVDb21wb25lbnQ8RGF0ZT4sIE1YSW50ZXJhY3RpdmVDb21wb25lbnQsIE1YQ2FsZW5kYXJCYXNlQ29tcG9uZW50KSB7XG4gIHB1YmxpYyBnZXQgZGlzcGxheVJhbmdlKCk6IEFYRGF0ZVRpbWVSYW5nZSB7XG4gICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lUmFuZ2UodGhpcy52aWV3c1swXS5yYW5nZS5zdGFydFRpbWUsIHRoaXMudmlld3NbdGhpcy52aWV3cy5sZW5ndGggLSAxXS5yYW5nZS5lbmRUaW1lKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldERpc3BsYXlSYW5nZShjdXJyZW50OiBBWERhdGVUaW1lKTogQVhEYXRlVGltZVJhbmdlIHtcbiAgICBzd2l0Y2ggKHRoaXMuYWN0aXZlVmlldykge1xuICAgICAgY2FzZSAneWVhcic6IHtcbiAgICAgICAgY29uc3QgeSA9IGN1cnJlbnQuc3RhcnRPZigneWVhcicpLnllYXI7XG4gICAgICAgIGNvbnN0IG1pbiA9IHkgLSAoeSAlIDEwKTtcbiAgICAgICAgY29uc3QgbWF4ID0gbWluICsgOTtcbiAgICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lUmFuZ2UoXG4gICAgICAgICAgdGhpcy5jYWxlbmRhclNlcnZpY2UuY3JlYXRlKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB5ZWFyOiBtaW4sXG4gICAgICAgICAgICAgIG1vbnRoOiAxLFxuICAgICAgICAgICAgICBkYXRlOiAxLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMudHlwZSxcbiAgICAgICAgICApLFxuICAgICAgICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNyZWF0ZShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgeWVhcjogbWF4LFxuICAgICAgICAgICAgICBtb250aDogMTIsXG4gICAgICAgICAgICAgIGRhdGU6IDI4LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMudHlwZSxcbiAgICAgICAgICApLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY2FzZSAnbW9udGgnOlxuICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWVSYW5nZShjdXJyZW50LnN0YXJ0T2YoJ3llYXInKSwgY3VycmVudC5lbmRPZigneWVhcicpLmFkZCgnZGF5JywgLTEpKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBuZXcgQVhEYXRlVGltZVJhbmdlKGN1cnJlbnQuc3RhcnRPZignbW9udGgnKSwgY3VycmVudC5lbmRPZignbW9udGgnKSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF90b2RheSA9IHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNyZWF0ZShuZXcgRGF0ZSgpLCB0aGlzLnR5cGUpO1xuICBwcml2YXRlIF92aWV3U3RhcnREYXRlITogQVhEYXRlVGltZTtcbiAgcHJpdmF0ZSBfbmF2VXNlckludGVyYWN0aW9uID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfZm9vdFByaW50ID0ge1xuICAgIHllYXI6IG51bGwsXG4gICAgbW9udGg6IG51bGwsXG4gICAgZGF5OiBudWxsLFxuICB9O1xuXG4gIHByb3RlY3RlZCB2aWV3czogQVhDYWxlbmRhclZpZXdbXSA9IFtdO1xuICBwcm90ZWN0ZWQgX3dlZWtkYXlzOiBudW1iZXJbXSA9IFtdO1xuXG4gIHByaXZhdGUgX2luaXRWYWx1ZXMoKSB7XG4gICAgdGhpcy5fdG9kYXkgPSB0aGlzLmNhbGVuZGFyU2VydmljZS5jcmVhdGUobmV3IERhdGUoKSwgdGhpcy50eXBlKTtcbiAgICB0aGlzLl93ZWVrZGF5cyA9IHRoaXMuX3RvZGF5LmNhbGVuZGFyLndlZWtkYXlzO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVmcmVzaCgpIHtcbiAgICB0aGlzLl9pbml0VmFsdWVzKCk7XG4gICAgdGhpcy5uYXZUbyh0aGlzLnZhbHVlIHx8IHRoaXMuX3RvZGF5KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHVuc3Vic2NyaWJlcjogQVhVbnN1YnNjcmliZXIpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLm9uSG9saWRheXNDaGFuZ2VkLnBpcGUodW5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlbmRlcigpO1xuICAgIH0pO1xuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNhbGVuZGFyQ2hhbmdlcyQucGlwZSh1bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuX3JlZnJlc2goKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMuX2luaXRWYWx1ZXMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLmdvVG9kYXkoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7fVxuXG4gIHJlbmRlcigpIHtcbiAgICBpZiAoIXRoaXMuX3ZpZXdTdGFydERhdGUpIHJldHVybjtcbiAgICBjb25zdCBhcHBseUNlbGxDbGFzcyA9IChzbG90OiBBWENhbGVuZGFyVmlld1Nsb3QsIGNlbGxDbGFzczogYW55ID0gdGhpcy5jZWxsQ2xhc3MpID0+IHtcbiAgICAgIHN3aXRjaCAodHlwZW9mIGNlbGxDbGFzcykge1xuICAgICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICAgIGNlbGxDbGFzcy5zcGxpdCgnICcpLmZvckVhY2goKGMpID0+IChzbG90LmNzc0NsYXNzW2NdID0gdHJ1ZSkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdvYmplY3QnOlxuICAgICAgICAgIE9iamVjdC5hc3NpZ24oc2xvdC5jc3NDbGFzcywgY2VsbENsYXNzKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnZnVuY3Rpb24nOlxuICAgICAgICAgIGFwcGx5Q2VsbENsYXNzKHNsb3QsIGNlbGxDbGFzcyhzbG90LmRhdGUpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9O1xuICAgIHRoaXMudmlld3MgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY291bnQ7IGkrKykge1xuICAgICAgbGV0IHVuaXQ6IFRpbWVVbml0ID0gJ21vbnRoJztcbiAgICAgIGxldCB2YWx1ZTogbnVtYmVyID0gaTtcbiAgICAgIC8vXG4gICAgICBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdkYXknKSB7XG4gICAgICAgIHVuaXQgPSAnbW9udGgnO1xuICAgICAgICB2YWx1ZSA9IGk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnbW9udGgnKSB7XG4gICAgICAgIHVuaXQgPSAneWVhcic7XG4gICAgICAgIHZhbHVlID0gaTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHVuaXQgPSAneWVhcic7XG4gICAgICAgIHZhbHVlID0gaSAqIDEwO1xuICAgICAgfVxuICAgICAgLy9cbiAgICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLl92aWV3U3RhcnREYXRlLmFkZCh1bml0LCB2YWx1ZSk7XG4gICAgICBjb25zdCB2aWV3OiBBWENhbGVuZGFyVmlldyA9IHtcbiAgICAgICAgcmFuZ2U6IHRoaXMuX3NldERpc3BsYXlSYW5nZShjdXJyZW50KSxcbiAgICAgICAgc2xvdHM6IFtdLFxuICAgICAgfTtcbiAgICAgIHRoaXMudmlld3MucHVzaCh2aWV3KTtcbiAgICAgIC8vXG4gICAgICAvLyB5ZWFyIHZpZXdcbiAgICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ3llYXInKSB7XG4gICAgICAgIGNvbnN0IGEgPSB2aWV3LnJhbmdlLmVudW11cmF0ZSgneWVhcicpO1xuXG4gICAgICAgIHZpZXcuc2xvdHMgPSBhLm1hcCgoZCwgaSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHI6IGFueSA9IHt9O1xuICAgICAgICAgIHIuZGF0ZSA9IGQ7XG4gICAgICAgICAgLy9cbiAgICAgICAgICByLnRleHQgPSBkLmZvcm1hdCgnWVlZWScpO1xuICAgICAgICAgIHIudG9vbHRpcCA9IGQuZm9ybWF0KCdZWVlZJyk7XG4gICAgICAgICAgLy9cbiAgICAgICAgICByLnRvZGF5ID0gZC5lcXVhbCh0aGlzLl90b2RheSwgJ3llYXInKTtcbiAgICAgICAgICAvL1xuICAgICAgICAgIHIuc2VsZWN0ZWQgPSB0aGlzLnZhbHVlICYmIHRoaXMuZGVwdGggPT0gJ3llYXInICYmIGQuZXF1YWwodGhpcy52YWx1ZSwgJ3llYXInKTtcbiAgICAgICAgICAvL1xuICAgICAgICAgIGNvbnN0IGZvY3VzZWQgPSBkLnllYXIgPT0gdGhpcy5fZm9vdFByaW50LnllYXI7XG4gICAgICAgICAgLy9cbiAgICAgICAgICByLmRpc2FibGVkID1cbiAgICAgICAgICAgICh0aGlzLm1pblZhbHVlICYmIGQuY29tcGFyZSh0aGlzLm1pblZhbHVlLCAneWVhcicpID09IC0xKSB8fCAodGhpcy5tYXhWYWx1ZSAmJiBkLmNvbXBhcmUodGhpcy5tYXhWYWx1ZSwgJ3llYXInKSA9PSAxKTtcbiAgICAgICAgICAvL1xuICAgICAgICAgIGlmIChyLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByLmNzc0NsYXNzID0ge1xuICAgICAgICAgICAgICAnYXgtc3RhdGUtZGlzYWJsZWQnOiByLmRpc2FibGVkLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgci5jc3NDbGFzcyA9IHtcbiAgICAgICAgICAgICAgJ2F4LXN0YXRlLXRvZGF5Jzogci50b2RheSxcbiAgICAgICAgICAgICAgJ2F4LXN0YXRlLXNlbGVjdGVkJzogci5zZWxlY3RlZCxcbiAgICAgICAgICAgICAgJ2F4LXN0YXRlLWZvY3VzZWQnOiBmb2N1c2VkLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYXBwbHlDZWxsQ2xhc3Mocik7XG4gICAgICAgICAgcmV0dXJuIHI7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgLy8gbW9udGggdmlld1xuICAgICAgZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdtb250aCcpIHtcbiAgICAgICAgY29uc3QgYSA9IHZpZXcucmFuZ2UuZW51bXVyYXRlKCdtb250aCcpO1xuICAgICAgICB2aWV3LnNsb3RzID0gYS5tYXAoKGQsIGkpID0+IHtcbiAgICAgICAgICBjb25zdCByOiBhbnkgPSB7fTtcbiAgICAgICAgICByLmRhdGUgPSBkO1xuICAgICAgICAgIHIudGV4dCA9IGQuZm9ybWF0KCdNTU0nKTtcbiAgICAgICAgICByLnRvb2x0aXAgPSBkLmZvcm1hdCgnTU1NTSBZWVlZJyk7XG4gICAgICAgICAgci50b2RheSA9IGQuZXF1YWwodGhpcy5fdG9kYXksICdtb250aCcpO1xuICAgICAgICAgIC8vXG4gICAgICAgICAgci5kaXNhYmxlZCA9XG4gICAgICAgICAgICAodGhpcy5taW5WYWx1ZSAmJiBkLmNvbXBhcmUodGhpcy5taW5WYWx1ZSwgJ21vbnRoJykgPT0gLTEpIHx8ICh0aGlzLm1heFZhbHVlICYmIGQuY29tcGFyZSh0aGlzLm1heFZhbHVlLCAnbW9udGgnKSA9PSAxKTtcbiAgICAgICAgICAvL1xuICAgICAgICAgIHIuc2VsZWN0ZWQgPSB0aGlzLnZhbHVlICYmIHRoaXMuZGVwdGggPT0gJ21vbnRoJyAmJiBkLmVxdWFsKHRoaXMudmFsdWUsICdtb250aCcpO1xuICAgICAgICAgIC8vXG4gICAgICAgICAgY29uc3QgZm9jdXNlZCA9IGQubW9udGhPZlllYXIgPT0gdGhpcy5fZm9vdFByaW50Lm1vbnRoICYmIGQueWVhciA9PSB0aGlzLl9mb290UHJpbnQueWVhcjtcbiAgICAgICAgICAvL1xuICAgICAgICAgIGlmIChyLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByLmNzc0NsYXNzID0ge1xuICAgICAgICAgICAgICAnYXgtc3RhdGUtZGlzYWJsZWQnOiByLmRpc2FibGVkLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgci5jc3NDbGFzcyA9IHtcbiAgICAgICAgICAgICAgJ2F4LXN0YXRlLXRvZGF5Jzogci50b2RheSxcbiAgICAgICAgICAgICAgJ2F4LXN0YXRlLXNlbGVjdGVkJzogci5zZWxlY3RlZCxcbiAgICAgICAgICAgICAgJ2F4LXN0YXRlLWZvY3VzZWQnOiBmb2N1c2VkLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYXBwbHlDZWxsQ2xhc3Mocik7XG4gICAgICAgICAgcmV0dXJuIHI7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgLy8gZGF5IHZpZXdcbiAgICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBhID0gdmlldy5yYW5nZS5lbnVtdXJhdGUoJ2RheScpO1xuICAgICAgICB2aWV3LnNsb3RzID0gYS5tYXAoKGQsIGkpID0+IHtcbiAgICAgICAgICBjb25zdCByOiBhbnkgPSB7fTtcbiAgICAgICAgICByLmRhdGUgPSBkO1xuICAgICAgICAgIHIudGV4dCA9IGQuZGF5T2ZNb250aDtcbiAgICAgICAgICByLnRvb2x0aXAgPSBkLmZvcm1hdCgnbG9uZ0RhdGUnKTtcbiAgICAgICAgICByLnRvZGF5ID0gZC5lcXVhbCh0aGlzLl90b2RheSwgJ2RheScpO1xuICAgICAgICAgIHIuc2VsZWN0ZWQgPSB0aGlzLnZhbHVlICYmIGQuZXF1YWwodGhpcy52YWx1ZSwgJ2RheScpO1xuICAgICAgICAgIHIuaG9saWRheSA9IHRoaXMuaXNIb2xpZGF5KGQpIHx8IHRoaXMuaXNXZWVrZW5kKGQpO1xuICAgICAgICAgIHIuZGlzYWJsZWQgPVxuICAgICAgICAgICAgKHRoaXMubWluVmFsdWUgJiYgZC5jb21wYXJlKHRoaXMubWluVmFsdWUsICdkYXknKSA9PSAtMSkgfHxcbiAgICAgICAgICAgICh0aGlzLm1heFZhbHVlICYmIGQuY29tcGFyZSh0aGlzLm1heFZhbHVlLCAnZGF5JykgPT0gMSkgfHxcbiAgICAgICAgICAgIHRoaXMuaXNEaXNhYmxlZChkKTtcbiAgICAgICAgICAvL1xuICAgICAgICAgIGNvbnN0IGZvY3VzZWQgPSBkLmRheU9mTW9udGggPT0gdGhpcy5fZm9vdFByaW50LmRheSAmJiBkLm1vbnRoT2ZZZWFyID09IHRoaXMuX2Zvb3RQcmludC5tb250aCAmJiBkLnllYXIgPT0gdGhpcy5fZm9vdFByaW50LnllYXI7XG4gICAgICAgICAgLy9cbiAgICAgICAgICBpZiAoci5kaXNhYmxlZCkge1xuICAgICAgICAgICAgci5jc3NDbGFzcyA9IHtcbiAgICAgICAgICAgICAgJ2F4LXN0YXRlLWRpc2FibGVkJzogdHJ1ZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHIuY3NzQ2xhc3MgPSB7XG4gICAgICAgICAgICAgICdheC1zdGF0ZS10b2RheSc6IHIudG9kYXksXG4gICAgICAgICAgICAgICdheC1zdGF0ZS1zZWxlY3RlZCc6IHIuc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICdheC1zdGF0ZS1ob2xpZGF5Jzogci5ob2xpZGF5LFxuICAgICAgICAgICAgICAvLydheC1zdGF0ZS1mb2N1c2VkJzogZm9jdXNlZCxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIGF4LWNvbC1zdGFydC0xIGF4LWNvbC1zdGFydC0yIGF4LWNvbC1zdGFydC0zIGF4LWNvbC1zdGFydC00IGF4LWNvbC1zdGFydC01IGF4LWNvbC1zdGFydC02IGF4LWNvbC1zdGFydC03XG4gICAgICAgICAgci5jc3NDbGFzc1tgYXgtY29sdW1uLXN0YXJ0LSR7dmlldy5yYW5nZS5zdGFydFRpbWUuZGF5T2ZXZWVrfWBdID0gaSA9PSAwO1xuICAgICAgICAgIGlmICh0aGlzLmNlbGxDbGFzcykgYXBwbHlDZWxsQ2xhc3Mocik7XG4gICAgICAgICAgcmV0dXJuIHI7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfaGFuZGxlUHJldkNsaWNrKCkge1xuICAgIHRoaXMuX25hdlVzZXJJbnRlcmFjdGlvbiA9IHRydWU7XG4gICAgdGhpcy5wcmV2KCk7XG4gICAgdGhpcy5fbmF2VXNlckludGVyYWN0aW9uID0gZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2hhbmRsZU5leHRDbGljaygpIHtcbiAgICB0aGlzLl9uYXZVc2VySW50ZXJhY3Rpb24gPSB0cnVlO1xuICAgIHRoaXMubmV4dCgpO1xuICAgIHRoaXMuX25hdlVzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9oYW5kbGVTbG90Q2xpY2soZTogTW91c2VFdmVudCwgc2xvdDogQVhDYWxlbmRhclZpZXdTbG90KSB7XG4gICAgaWYgKHNsb3QuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIC8vXG4gICAgdGhpcy5vblNsb3RDbGljay5lbWl0KHtcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgIGl0ZW06IHNsb3QuZGF0ZS5kYXRlLFxuICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRydWUsXG4gICAgICBuYXRpdmVFdmVudDogZSxcbiAgICB9KTtcbiAgICAvL1xuICAgIGNvbnN0IHZhbCA9IHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNyZWF0ZShzbG90LmRhdGUuZGF0ZSwgdGhpcy50eXBlKTtcbiAgICBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdkYXknKSB7XG4gICAgICB0aGlzLl9zZXREYXRlKHNsb3QuZGF0ZS5kYXRlKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnbW9udGgnICYmIHRoaXMuZGVwdGggPT0gJ2RheScpIHtcbiAgICAgIHRoaXMuYWN0aXZlVmlldyA9ICdkYXknO1xuICAgICAgdGhpcy5fZm9vdFByaW50Lm1vbnRoID0gdmFsLm1vbnRoT2ZZZWFyO1xuICAgICAgdGhpcy5uYXZUbyhzbG90LmRhdGUpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdtb250aCcgJiYgdGhpcy5kZXB0aCA9PSAnbW9udGgnKSB7XG4gICAgICB0aGlzLl9zZXREYXRlKHNsb3QuZGF0ZS5kYXRlKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAneWVhcicgJiYgKHRoaXMuZGVwdGggPT0gJ2RheScgfHwgdGhpcy5kZXB0aCA9PSAnbW9udGgnKSkge1xuICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gJ21vbnRoJztcbiAgICAgIHRoaXMuX2Zvb3RQcmludC55ZWFyID0gdmFsLnllYXI7XG4gICAgICB0aGlzLm5hdlRvKHNsb3QuZGF0ZSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ3llYXInICYmIHRoaXMuZGVwdGggPT0gJ3llYXInKSB7XG4gICAgICB0aGlzLl9zZXREYXRlKHNsb3QuZGF0ZS5kYXRlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgX2hhbmRsZU5hdkNsaWNrKGU6IEFYQ2xpY2tFdmVudCB8IGFueSwgdmlldzogQVhDYWxlbmRhclZpZXdUeXBlKSB7XG4gICAgdGhpcy5fbmF2VXNlckludGVyYWN0aW9uID0gdHJ1ZTtcbiAgICB0aGlzLmFjdGl2ZVZpZXcgPSB2aWV3O1xuICAgIHRoaXMuX25hdlVzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZVZpZXcoKSB7XG4gICAgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnZGF5JykgdGhpcy5hY3RpdmVWaWV3ID0gJ21vbnRoJztcbiAgICBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRoJykgdGhpcy5hY3RpdmVWaWV3ID0gJ3llYXInO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGludGVybmFsT3B0aW9uQ2hhbmdlZChlOiBNWENvbXBvbmVudE9wdGlvbkNoYW5nZWQpIHtcbiAgICBpZiAoZS5uYW1lID09ICdkZXB0aCcgfHwgZS5uYW1lID09ICdhY3RpdmVWaWV3JyB8fCBlLm5hbWUgPT0gJ2Rpc2FibGVkRGF0ZXMnIHx8IGUubmFtZSA9PSAnaG9saWRheURhdGVzJykge1xuICAgICAgdGhpcy5yZW5kZXIoKTtcbiAgICB9XG4gICAgaWYgKGUubmFtZSA9PSAndHlwZScpIHtcbiAgICAgIHRoaXMuX3JlZnJlc2goKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaW50ZXJuYWxWYWx1ZUNoYW5nZWQodmFsdWU/OiBEYXRlKSB7XG4gICAgY29uc3QgdmFsID0gdGhpcy5jYWxlbmRhclNlcnZpY2UuY3JlYXRlKHZhbHVlLCB0aGlzLnR5cGUpO1xuICAgIGlmIChcbiAgICAgICF0aGlzLl92aWV3U3RhcnREYXRlIHx8XG4gICAgICB2YWwuY29tcGFyZSh0aGlzLmRpc3BsYXlSYW5nZS5zdGFydFRpbWUsIHRoaXMuYWN0aXZlVmlldykgPT0gLTEgfHxcbiAgICAgIHZhbC5jb21wYXJlKHRoaXMuZGlzcGxheVJhbmdlLmVuZFRpbWUsIHRoaXMuYWN0aXZlVmlldykgPT0gMVxuICAgICkge1xuICAgICAgdGhpcy5fdmlld1N0YXJ0RGF0ZSA9IHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNyZWF0ZSh2YWx1ZSwgdGhpcy50eXBlKTtcbiAgICB9XG4gICAgdGhpcy5fZm9vdFByaW50LnllYXIgPSB2YWwueWVhcjtcbiAgICB0aGlzLl9mb290UHJpbnQubW9udGggPSB2YWwubW9udGhPZlllYXI7XG4gICAgdGhpcy5fZm9vdFByaW50LmRheSA9IHZhbC5kYXlPZk1vbnRoO1xuICAgIHRoaXMucmVuZGVyKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2hhbmRsZUdvVG9kYXkoKSB7XG4gICAgdGhpcy5fbmF2VXNlckludGVyYWN0aW9uID0gdHJ1ZTtcbiAgICB0aGlzLl9zZXREYXRlKHRoaXMuX3RvZGF5LmRhdGUpO1xuICAgIHRoaXMuZ29Ub2RheSgpO1xuICAgIHRoaXMuX25hdlVzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgbmV4dCgpIHtcbiAgICB0aGlzLl9uYXZOZXh0UHJldihmYWxzZSk7XG4gIH1cblxuICBwcmV2KCkge1xuICAgIHRoaXMuX25hdk5leHRQcmV2KHRydWUpO1xuICB9XG5cbiAgb3ZlcnJpZGUgZm9jdXMoKSB7XG4gICAgY29uc3QgZnVuYyA9IChzOiBzdHJpbmcpID0+IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PihzKTtcbiAgICBjb25zdCBkaXYgPSBmdW5jKCcuYXgtY2FsZW5kYXItc2xvdHM+ZGl2LmF4LXN0YXRlLXNlbGVjdGVkJykgfHwgZnVuYygnLmF4LWNhbGVuZGFyLXNsb3RzPmRpdicpO1xuICAgIGRpdj8uZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX25hdk5leHRQcmV2KHByZXY6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBzaWduID0gcHJldiA/IC0xIDogMTtcbiAgICBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdkYXknKSB0aGlzLm5hdlRvKHRoaXMuX3ZpZXdTdGFydERhdGUuYWRkKCdtb250aCcsIHNpZ24gKiAxICogdGhpcy5jb3VudCkpO1xuICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAnbW9udGgnKSB0aGlzLm5hdlRvKHRoaXMuX3ZpZXdTdGFydERhdGUuYWRkKCd5ZWFyJywgc2lnbiAqIDEgKiB0aGlzLmNvdW50KSk7XG4gICAgZWxzZSB0aGlzLm5hdlRvKHRoaXMuX3ZpZXdTdGFydERhdGUuYWRkKCd5ZWFyJywgc2lnbiAqIDEwICogdGhpcy5jb3VudCkpO1xuICB9XG5cbiAgZ29Ub2RheSgpIHtcbiAgICB0aGlzLm5hdlRvKHRoaXMuX3RvZGF5KTtcbiAgfVxuXG4gIG5hdlRvKGRhdGU6IERhdGUgfCBBWERhdGVUaW1lKSB7XG4gICAgY29uc3QgdmFsID0gdGhpcy5jYWxlbmRhclNlcnZpY2UuY29udmVydChkYXRlLCB0aGlzLnR5cGUpO1xuICAgIHRoaXMuX3ZpZXdTdGFydERhdGUgPSB2YWwuc3RhcnRPZigpO1xuICAgIHRoaXMucmVuZGVyKCk7XG4gICAgLy90byBtYWtlIHN1cmUgaXRzIHJlbmRyZWQgYW5kIGRpc3BsYXlSYW5nZSBpcyBub3QgbnVsbFxuICAgIGlmICh0aGlzLnZpZXdzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHZyID0gdGhpcy5kaXNwbGF5UmFuZ2U7XG4gICAgICB0aGlzLm9uTmF2aWdhdGUuZW1pdCh7XG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRoaXMuX25hdlVzZXJJbnRlcmFjdGlvbixcbiAgICAgICAgc3RhcnQ6IHZyLnN0YXJ0VGltZT8uZGF0ZSxcbiAgICAgICAgZW5kOiB2ci5lbmRUaW1lPy5kYXRlLFxuICAgICAgICBodG1sRWxlbWVudDogdGhpcy5nZXRIb3N0RWxlbWVudCgpLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIHByaXZhdGUgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZyB7XG4gICAgY29uc3QgX2NsYXNzZXMgPSB7XG4gICAgICAnYXgtc3RhdGUtZGlzYWJsZWQnOiB0aGlzLmRpc2FibGVkLFxuICAgICAgJ2F4LXN0YXRlLXJlYWRvbmx5JzogdGhpcy5yZWFkb25seSxcbiAgICB9O1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhfY2xhc3NlcylcbiAgICAgIC5maWx0ZXIoKGMpID0+IGNbMV0pXG4gICAgICAubWFwKChjKSA9PiBjWzBdKVxuICAgICAgLmpvaW4oJyAnKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldERhdGUodmFsdWU6IERhdGUpIHtcbiAgICBpZiAodGhpcy5yZWFkb25seSB8fCB0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgdGhpcy5jb21taXRWYWx1ZSh0aGlzLmNhbGVuZGFyU2VydmljZS5jb252ZXJ0KHZhbHVlLCB0aGlzLnR5cGUpLnN0YXJ0T2YoKS5kYXRlLCB0cnVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0Rpc2FibGVkKGRhdGU6IEFYRGF0ZVRpbWUpOiBib29sZWFuIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmRpc2FibGVkRGF0ZXMpICYmIHRoaXMuZGlzYWJsZWREYXRlcy5sZW5ndGggIT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWREYXRlcy5zb21lKChkKSA9PiBkYXRlLmVxdWFsKGQsICdkYXknKSk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdGhpcy5kaXNhYmxlZERhdGVzID09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkRGF0ZXMoZGF0ZS5kYXRlKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzSG9saWRheShkYXRlOiBBWERhdGVUaW1lKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZ2ggPSB0aGlzLmNhbGVuZGFyU2VydmljZS5ob2xpZGF5cy5zb21lKChkKSA9PiBkYXRlLmVxdWFsKGQuZGF0ZSwgJ2RheScpKTtcbiAgICBsZXQgZGggPSB0aGlzLmNhbGVuZGFyU2VydmljZS5ob2xpZGF5cy5zb21lKChkKSA9PiBkYXRlLmVxdWFsKGQuZGF0ZSwgJ2RheScpKTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmhvbGlkYXlEYXRlcykgJiYgdGhpcy5ob2xpZGF5RGF0ZXMubGVuZ3RoICE9IDApIHtcbiAgICAgIGRoID0gdGhpcy5ob2xpZGF5RGF0ZXMuc29tZSgoZCkgPT4gZGF0ZS5lcXVhbChkLCAnZGF5JykpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuaG9saWRheURhdGVzID09ICdmdW5jdGlvbicpIHtcbiAgICAgIGRoID0gdGhpcy5ob2xpZGF5RGF0ZXMoZGF0ZS5kYXRlKTtcbiAgICB9XG4gICAgcmV0dXJuIGdoIHx8IGRoO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzV2Vla2VuZChkYXRlOiBBWERhdGVUaW1lKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgd2Vla2VuZCA9IHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnJlc29sdmVDYWxlbmRhcih0aGlzLnR5cGUpLndlZWtlbmQ7XG4gICAgcmV0dXJuIHdlZWtlbmQuaW5jbHVkZXMoZGF0ZS5kYXlPZldlZWsgLSAxKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBfaGFuZGxlT25LZXlkb3duRXZlbnQoZTogS2V5Ym9hcmRFdmVudCkge1xuICAgIC8vVE9ETzogY29tcGxldGUga2V5Ym9hZCBuYXZpZ2F0aW9uXG4gICAgY29uc3QgaWdub3JlID0gKCkgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9O1xuICAgIGlmIChlLmNvZGUgPT09ICdBcnJvd1JpZ2h0JyB8fCBlLmNvZGUgPT09ICdBcnJvd0xlZnQnKSB7XG4gICAgICBpZiAoZS5jdHJsS2V5KSB7XG4gICAgICAgIGUuY29kZSA9PT0gJ0Fycm93UmlnaHQnID8gdGhpcy5uZXh0KCkgOiB0aGlzLnByZXYoKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5mb2N1cygpO1xuICAgICAgICB9LCA1MCk7XG4gICAgICB9XG4gICAgICBpZ25vcmUoKTtcbiAgICB9IGVsc2UgaWYgKGUuY29kZSA9PT0gJ0Fycm93VXAnIHx8IGUuY29kZSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgIGlmIChlLmN0cmxLZXkpIHtcbiAgICAgICAgZS5jb2RlID09PSAnQXJyb3dVcCcgPyB0aGlzLm5leHQoKSA6IHRoaXMucHJldigpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmZvY3VzKCk7XG4gICAgICAgIH0sIDUwKTtcbiAgICAgIH1cbiAgICAgIGlnbm9yZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRNb250aE5hbWUoZGF0ZTogQVhEYXRlVGltZSwgc3R5bGU6ICdzaG9ydCcgfCAnbG9uZycpIHtcbiAgICByZXR1cm4gYGRhdGVUaW1lLm1vbnRocy4ke2RhdGUuY2FsZW5kYXIubmFtZSgpfS4ke3N0eWxlfS4ke2RhdGUubW9udGhPZlllYXIgLSAxfWA7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImF4LWhlYWRlclwiPjwvbmctY29udGVudD5cbjxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1ib2R5XCI+XG4gIEBmb3IodiBvZiB2aWV3czsgbGV0IGkgPSAkaW5kZXgsIGZpcnN0ID0gJGZpcnN0LCBsYXN0ID0gJGxhc3Q7IHRyYWNrIGkpe1xuICBAc3dpdGNoIChhY3RpdmVWaWV3KSB7XG4gIEBjYXNlICgneWVhcicpIHtcbiAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXZpZXctaGVhZGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWhlYWRlci1pbmZvXCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICcnIDogbnVsbFwiIFthdHRyLnJlYWRvbmx5XT1cInJlYWRvbmx5ID8gJycgOiBudWxsXCJcbiAgICAgICAgY2xhc3M9XCJheC1nZW5lcmFsLWJ1dHRvbiBheC1idXR0b24tcm91bmRlZCBheC1zdGF0ZS1kaXNhYmxlZFwiIChjbGljayk9XCJfaGFuZGxlTmF2Q2xpY2soJGV2ZW50LCAneWVhcicpXCI+XG4gICAgICAgIHt7IHYucmFuZ2Uuc3RhcnRUaW1lLmZvcm1hdCgnWVlZWScpIH19IC0ge3sgdi5yYW5nZS5lbmRUaW1lLmZvcm1hdCgnWVlZWScpIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICBAaWYobGFzdCl7XG4gICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWhlYWRlci1idXR0b25zXCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICcnIDogbnVsbFwiIFthdHRyLnJlYWRvbmx5XT1cInJlYWRvbmx5ID8gJycgOiBudWxsXCJcbiAgICAgICAgY2xhc3M9XCJheC1nZW5lcmFsLWJ1dHRvbiBheC1idXR0b24tcm91bmRlZCBheC1idXR0b24taWNvbiBheC1uZXh0XCIgKGNsaWNrKT1cIl9oYW5kbGVQcmV2Q2xpY2soKVwiPlxuICAgICAgICA8aSBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1jaGV2cm9uLWxlZnRcIj48L2k+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJycgOiBudWxsXCIgW2F0dHIucmVhZG9ubHldPVwicmVhZG9ubHkgPyAnJyA6IG51bGxcIlxuICAgICAgICBjbGFzcz1cImF4LWdlbmVyYWwtYnV0dG9uIGF4LWJ1dHRvbi1yb3VuZGVkIGF4LWJ1dHRvbi1pY29uXCIgKGNsaWNrKT1cIl9oYW5kbGVOZXh0Q2xpY2soKVwiPlxuICAgICAgICA8aSBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1jaGV2cm9uLXJpZ2h0XCI+PC9pPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXNsb3RzIGF4LWNhbGVuZGFyLXNsb3RzLXllYXJcIiBbbmdDbGFzc109XCJ7ICdheC1kZWZhdWx0JzogIWNlbGxUZW1wbGF0ZSB9XCI+XG4gICAgQGZvcihzbG90IG9mIHYuc2xvdHM7IHRyYWNrIHNsb3QudGV4dCl7XG4gICAgPGRpdiB0YWJpbmRleD1cIjBcIiBjbGFzcz1cImF4LWNhbGVuZGFyLXNsb3RcIiBbbmdDbGFzc109XCJzbG90LmNzc0NsYXNzXCIgKGNsaWNrKT1cIl9oYW5kbGVTbG90Q2xpY2soJGV2ZW50LCBzbG90KVwiPlxuICAgICAgQGlmKGNlbGxUZW1wbGF0ZSl7XG4gICAgICA8ZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2VsbFRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogeyBzbG90OiBzbG90IH0gfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgfSBAZWxzZSB7XG4gICAgICA8ZGl2IFt0aXRsZV09XCJzbG90LnRvb2x0aXBcIj5cbiAgICAgICAge3sgc2xvdC50ZXh0IH19XG4gICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuICB9XG4gIEBjYXNlICgnbW9udGgnKSB7XG4gIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci12aWV3LWhlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1oZWFkZXItaW5mb1wiPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnJyA6IG51bGxcIiBbYXR0ci5yZWFkb25seV09XCJyZWFkb25seSA/ICcnIDogbnVsbFwiXG4gICAgICAgIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b24gYXgtYnV0dG9uLXJvdW5kZWRcIiAoY2xpY2spPVwiX2hhbmRsZU5hdkNsaWNrKCRldmVudCwgJ3llYXInKVwiPlxuICAgICAgICB7eyB2LnJhbmdlLnN0YXJ0VGltZS5mb3JtYXQoJ1lZWVknKSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgQGlmKGxhc3Qpe1xuICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1oZWFkZXItYnV0dG9uc1wiPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnJyA6IG51bGxcIiBbYXR0ci5yZWFkb25seV09XCJyZWFkb25seSA/ICcnIDogbnVsbFwiXG4gICAgICAgIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b24gYXgtYnV0dG9uLXJvdW5kZWQgYXgtYnV0dG9uLWljb25cIiAoY2xpY2spPVwiX2hhbmRsZVByZXZDbGljaygpXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWNoZXZyb24tbGVmdFwiPjwvaT5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnJyA6IG51bGxcIiBbYXR0ci5yZWFkb25seV09XCJyZWFkb25seSA/ICcnIDogbnVsbFwiXG4gICAgICAgIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b24gYXgtYnV0dG9uLXJvdW5kZWQgYXgtYnV0dG9uLWljb25cIiAoY2xpY2spPVwiX2hhbmRsZU5leHRDbGljaygpXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWNoZXZyb24tcmlnaHRcIj48L2k+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItc2xvdHMgYXgtY2FsZW5kYXItc2xvdHMtbW9udGhcIiBbbmdDbGFzc109XCJ7ICdheC1kZWZhdWx0JzogIWNlbGxUZW1wbGF0ZSB9XCI+XG4gICAgPGRpdiB0YWJpbmRleD1cIjBcIiAqbmdGb3I9XCJsZXQgc2xvdCBvZiB2LnNsb3RzXCIgY2xhc3M9XCJheC1jYWxlbmRhci1zbG90XCIgW25nQ2xhc3NdPVwic2xvdC5jc3NDbGFzc1wiXG4gICAgICAoY2xpY2spPVwiX2hhbmRsZVNsb3RDbGljaygkZXZlbnQsIHNsb3QpXCI+XG5cbiAgICAgIEBpZihjZWxsVGVtcGxhdGUpe1xuICAgICAgPGRpdj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNlbGxUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IHsgc2xvdDogc2xvdCB9IH1cIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIH1AZWxzZSB7XG4gICAgICA8ZGl2IFt0aXRsZV09XCJzbG90LnRvb2x0aXBcIj5cbiAgICAgICAge3tnZXRNb250aE5hbWUoc2xvdC5kYXRlLCdzaG9ydCcpIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICB9XG4gIEBkZWZhdWx0IHtcbiAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXZpZXctaGVhZGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWhlYWRlci1pbmZvXCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICcnIDogbnVsbFwiIFthdHRyLnJlYWRvbmx5XT1cInJlYWRvbmx5ID8gJycgOiBudWxsXCJcbiAgICAgICAgY2xhc3M9XCJheC1nZW5lcmFsLWJ1dHRvbiBheC1idXR0b24tcm91bmRlZFwiIChjbGljayk9XCJfaGFuZGxlTmF2Q2xpY2soJGV2ZW50LCAneWVhcicpXCI+XG4gICAgICAgIHt7IHYucmFuZ2Uuc3RhcnRUaW1lLmZvcm1hdCgnWVlZWScpIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJycgOiBudWxsXCIgW2F0dHIucmVhZG9ubHldPVwicmVhZG9ubHkgPyAnJyA6IG51bGxcIlxuICAgICAgICBjbGFzcz1cImF4LWdlbmVyYWwtYnV0dG9uIGF4LWJ1dHRvbi1yb3VuZGVkXCIgKGNsaWNrKT1cIl9oYW5kbGVOYXZDbGljaygkZXZlbnQsICdtb250aCcpXCI+XG4gICAgICAgIHt7Z2V0TW9udGhOYW1lKHYucmFuZ2Uuc3RhcnRUaW1lLCdsb25nJykgfCB0cmFuc2xhdGUgfCBhc3luYyB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgQGlmKGxhc3Qpe1xuICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1oZWFkZXItYnV0dG9uc1wiPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnJyA6IG51bGxcIiBbYXR0ci5yZWFkb25seV09XCJyZWFkb25seSA/ICcnIDogbnVsbFwiXG4gICAgICAgIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b24gYXgtYnV0dG9uLXJvdW5kZWQgYXgtYnV0dG9uLWljb25cIiAoY2xpY2spPVwiX2hhbmRsZVByZXZDbGljaygpXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWNoZXZyb24tbGVmdFwiPjwvaT5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnJyA6IG51bGxcIiBbYXR0ci5yZWFkb25seV09XCJyZWFkb25seSA/ICcnIDogbnVsbFwiXG4gICAgICAgIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b24gYXgtYnV0dG9uLXJvdW5kZWQgYXgtYnV0dG9uLWljb25cIiAoY2xpY2spPVwiX2hhbmRsZU5leHRDbGljaygpXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWNoZXZyb24tcmlnaHRcIj48L2k+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItd2Vla1wiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGQgb2YgX3dlZWtkYXlzXCI+e3sgKCdkYXRlVGltZS53ZWVrZGF5cy5zaG9ydC4nK2QpIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1zbG90cyBheC1jYWxlbmRhci1zbG90cy1kYXlcIiBbbmdDbGFzc109XCJ7ICdheC1kZWZhdWx0JzogIWNlbGxUZW1wbGF0ZSB9XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc2xvdCBvZiB2LnNsb3RzXCI+XG4gICAgICA8ZGl2IHRhYmluZGV4PVwiMFwiIGNsYXNzPVwiYXgtY2FsZW5kYXItc2xvdFwiIFtuZ0NsYXNzXT1cInNsb3QuY3NzQ2xhc3NcIiAoY2xpY2spPVwiX2hhbmRsZVNsb3RDbGljaygkZXZlbnQsIHNsb3QpXCI+XG4gICAgICAgIEBpZihjZWxsVGVtcGxhdGUpe1xuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjZWxsVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiB7IHNsb3Q6IHNsb3QgfSB9XCI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB9IEBlbHNle1xuICAgICAgICA8ZGl2IFt0aXRsZV09XCJzbG90LnRvb2x0aXBcIj5cbiAgICAgICAgICB7eyBzbG90LnRleHQgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICB9XG4gIH1cbiAgfVxuXG48L2Rpdj5cbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LWZvb3RlclwiPjwvbmctY29udGVudD4iXX0=