@acorex/components 21.0.2-next.35 → 21.0.2-next.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/fesm2022/acorex-components-accordion.mjs +32 -37
  2. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  3. package/fesm2022/acorex-components-action-sheet.mjs +32 -32
  4. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  5. package/fesm2022/acorex-components-alert.mjs +21 -21
  6. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  7. package/fesm2022/acorex-components-aspect-ratio.mjs +6 -6
  8. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
  9. package/fesm2022/acorex-components-audio-wave.mjs +15 -14
  10. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  11. package/fesm2022/acorex-components-autocomplete.mjs +16 -16
  12. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  13. package/fesm2022/acorex-components-avatar.mjs +17 -17
  14. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  15. package/fesm2022/acorex-components-badge.mjs +11 -11
  16. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  17. package/fesm2022/acorex-components-bottom-navigation.mjs +15 -15
  18. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  19. package/fesm2022/acorex-components-breadcrumbs.mjs +14 -14
  20. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  21. package/fesm2022/acorex-components-button-group.mjs +63 -28
  22. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  23. package/fesm2022/acorex-components-button.mjs +31 -31
  24. package/fesm2022/acorex-components-button.mjs.map +1 -1
  25. package/fesm2022/acorex-components-calendar.mjs +27 -27
  26. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  27. package/fesm2022/acorex-components-check-box.mjs +12 -12
  28. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  29. package/fesm2022/acorex-components-chips.mjs +13 -15
  30. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  31. package/fesm2022/acorex-components-circular-progress.mjs +18 -16
  32. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  33. package/fesm2022/acorex-components-code-editor.mjs +30 -30
  34. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  35. package/fesm2022/acorex-components-color-box.mjs +16 -16
  36. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  37. package/fesm2022/acorex-components-color-palette.mjs +85 -44
  38. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  39. package/fesm2022/acorex-components-command.mjs +20 -20
  40. package/fesm2022/acorex-components-command.mjs.map +1 -1
  41. package/fesm2022/acorex-components-comment.mjs +37 -37
  42. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  43. package/fesm2022/acorex-components-conversation.mjs +119 -119
  44. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  45. package/fesm2022/acorex-components-conversation2.mjs +720 -708
  46. package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
  47. package/fesm2022/acorex-components-cron-job.mjs +60 -60
  48. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  49. package/fesm2022/acorex-components-data-list.mjs +34 -34
  50. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  51. package/fesm2022/acorex-components-data-pager.mjs +42 -42
  52. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  53. package/fesm2022/acorex-components-data-table.mjs +69 -516
  54. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  55. package/fesm2022/acorex-components-datetime-box.mjs +28 -40
  56. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  57. package/fesm2022/acorex-components-datetime-input.mjs +31 -39
  58. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  59. package/fesm2022/acorex-components-datetime-picker.mjs +54 -57
  60. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  61. package/fesm2022/acorex-components-decorators.mjs +56 -49
  62. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  63. package/fesm2022/acorex-components-dialog.mjs +16 -16
  64. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  65. package/fesm2022/acorex-components-drawer.mjs +25 -26
  66. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  67. package/fesm2022/acorex-components-dropdown-button.mjs +19 -11
  68. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  69. package/fesm2022/acorex-components-dropdown.mjs +22 -22
  70. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  71. package/fesm2022/acorex-components-editor.mjs +15 -15
  72. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  73. package/fesm2022/acorex-components-fab.mjs +18 -18
  74. package/fesm2022/acorex-components-fab.mjs.map +1 -1
  75. package/fesm2022/acorex-components-flow-chart.mjs +80 -63
  76. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  77. package/fesm2022/acorex-components-form.mjs +47 -39
  78. package/fesm2022/acorex-components-form.mjs.map +1 -1
  79. package/fesm2022/acorex-components-grid-layout-builder.mjs +18 -19
  80. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  81. package/fesm2022/acorex-components-image-editor.mjs +93 -93
  82. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  83. package/fesm2022/acorex-components-image.mjs +12 -12
  84. package/fesm2022/acorex-components-image.mjs.map +1 -1
  85. package/fesm2022/acorex-components-json-viewer.mjs +13 -13
  86. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  87. package/fesm2022/acorex-components-kanban.mjs +28 -26
  88. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  89. package/fesm2022/acorex-components-kbd.mjs +17 -17
  90. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  91. package/fesm2022/acorex-components-label.mjs +9 -9
  92. package/fesm2022/acorex-components-label.mjs.map +1 -1
  93. package/fesm2022/acorex-components-list.mjs +16 -16
  94. package/fesm2022/acorex-components-list.mjs.map +1 -1
  95. package/fesm2022/acorex-components-loading-dialog.mjs +20 -20
  96. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  97. package/fesm2022/acorex-components-loading.mjs +23 -23
  98. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  99. package/fesm2022/acorex-components-map.mjs +47 -47
  100. package/fesm2022/acorex-components-map.mjs.map +1 -1
  101. package/fesm2022/acorex-components-media-viewer.mjs +85 -85
  102. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  103. package/fesm2022/acorex-components-menu.mjs +49 -49
  104. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  105. package/fesm2022/{acorex-components-modal-acorex-components-modal-DwBY73dZ.mjs → acorex-components-modal-acorex-components-modal-JpPBSiVh.mjs} +29 -29
  106. package/fesm2022/acorex-components-modal-acorex-components-modal-JpPBSiVh.mjs.map +1 -0
  107. package/fesm2022/acorex-components-modal-modal-content.component-DKweXQfl.mjs +214 -0
  108. package/fesm2022/acorex-components-modal-modal-content.component-DKweXQfl.mjs.map +1 -0
  109. package/fesm2022/acorex-components-modal.mjs +1 -1
  110. package/fesm2022/acorex-components-navbar.mjs +9 -9
  111. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  112. package/fesm2022/acorex-components-notification.mjs +29 -29
  113. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  114. package/fesm2022/acorex-components-number-box.mjs +21 -21
  115. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  116. package/fesm2022/acorex-components-otp.mjs +13 -13
  117. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  118. package/fesm2022/acorex-components-page.mjs +10 -10
  119. package/fesm2022/acorex-components-page.mjs.map +1 -1
  120. package/fesm2022/acorex-components-paint.mjs +60 -65
  121. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  122. package/fesm2022/acorex-components-password-box.mjs +31 -39
  123. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  124. package/fesm2022/acorex-components-pdf-reader.mjs +10 -10
  125. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  126. package/fesm2022/acorex-components-phone-box.mjs +20 -20
  127. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  128. package/fesm2022/acorex-components-picker.mjs +33 -33
  129. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  130. package/fesm2022/acorex-components-popover.mjs +11 -11
  131. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  132. package/fesm2022/acorex-components-popup.mjs +25 -25
  133. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  134. package/fesm2022/acorex-components-progress-bar.mjs +11 -9
  135. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  136. package/fesm2022/acorex-components-qrcode.mjs +38 -21
  137. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  138. package/fesm2022/acorex-components-query-builder.mjs +16 -15
  139. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  140. package/fesm2022/acorex-components-radio.mjs +10 -9
  141. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  142. package/fesm2022/acorex-components-rail-navigation.mjs +53 -51
  143. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  144. package/fesm2022/acorex-components-range-slider.mjs +36 -36
  145. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  146. package/fesm2022/acorex-components-rate-picker.mjs +27 -42
  147. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  148. package/fesm2022/acorex-components-rest-api-generator.mjs +39 -39
  149. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  150. package/fesm2022/acorex-components-result.mjs +8 -8
  151. package/fesm2022/acorex-components-result.mjs.map +1 -1
  152. package/fesm2022/acorex-components-routing-progress.mjs +8 -8
  153. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  154. package/fesm2022/acorex-components-rrule.mjs +38 -38
  155. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  156. package/fesm2022/acorex-components-scheduler-picker.mjs +228 -234
  157. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  158. package/fesm2022/acorex-components-scheduler.mjs +292 -302
  159. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  160. package/fesm2022/acorex-components-search-box.mjs +19 -13
  161. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  162. package/fesm2022/acorex-components-select-box.mjs +27 -25
  163. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  164. package/fesm2022/acorex-components-selection-list-2.mjs +15 -15
  165. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  166. package/fesm2022/acorex-components-selection-list.mjs +12 -12
  167. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  168. package/fesm2022/acorex-components-side-menu.mjs +44 -44
  169. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  170. package/fesm2022/acorex-components-skeleton.mjs +8 -8
  171. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  172. package/fesm2022/acorex-components-slider.mjs +13 -13
  173. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  174. package/fesm2022/acorex-components-sliding-item.mjs +28 -28
  175. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  176. package/fesm2022/acorex-components-step-wizard.mjs +41 -41
  177. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  178. package/fesm2022/acorex-components-switch.mjs +14 -14
  179. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  180. package/fesm2022/acorex-components-tabs.mjs +22 -22
  181. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  182. package/fesm2022/acorex-components-tag-box.mjs +20 -20
  183. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  184. package/fesm2022/acorex-components-tag.mjs +10 -10
  185. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  186. package/fesm2022/acorex-components-text-area.mjs +9 -9
  187. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  188. package/fesm2022/acorex-components-text-box.mjs +14 -14
  189. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  190. package/fesm2022/acorex-components-time-duration.mjs +29 -31
  191. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  192. package/fesm2022/acorex-components-time-line.mjs +21 -21
  193. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  194. package/fesm2022/acorex-components-toast.mjs +27 -27
  195. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  196. package/fesm2022/acorex-components-toolbar.mjs +14 -14
  197. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  198. package/fesm2022/acorex-components-tooltip.mjs +17 -17
  199. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  200. package/fesm2022/acorex-components-tree-view.mjs +57 -57
  201. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  202. package/fesm2022/acorex-components-uploader.mjs +18 -18
  203. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  204. package/fesm2022/acorex-components-video-player.mjs +10 -10
  205. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  206. package/fesm2022/acorex-components-wysiwyg.mjs +58 -58
  207. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  208. package/fesm2022/acorex-components.mjs.map +1 -1
  209. package/package.json +115 -138
  210. package/{accordion/index.d.ts → types/acorex-components-accordion.d.ts} +0 -1
  211. package/{button-group/index.d.ts → types/acorex-components-button-group.d.ts} +20 -12
  212. package/{button/index.d.ts → types/acorex-components-button.d.ts} +3 -3
  213. package/{check-box/index.d.ts → types/acorex-components-check-box.d.ts} +1 -1
  214. package/{chips/index.d.ts → types/acorex-components-chips.d.ts} +3 -8
  215. package/{color-palette/index.d.ts → types/acorex-components-color-palette.d.ts} +2 -0
  216. package/{conversation2/index.d.ts → types/acorex-components-conversation2.d.ts} +647 -647
  217. package/{data-table/index.d.ts → types/acorex-components-data-table.d.ts} +4 -262
  218. package/{datetime-box/index.d.ts → types/acorex-components-datetime-box.d.ts} +7 -7
  219. package/{datetime-input/index.d.ts → types/acorex-components-datetime-input.d.ts} +2 -2
  220. package/{datetime-picker/index.d.ts → types/acorex-components-datetime-picker.d.ts} +3 -3
  221. package/{dropdown-button/index.d.ts → types/acorex-components-dropdown-button.d.ts} +4 -2
  222. package/{flow-chart/index.d.ts → types/acorex-components-flow-chart.d.ts} +4 -0
  223. package/{form/index.d.ts → types/acorex-components-form.d.ts} +24 -24
  224. package/{grid-layout-builder/index.d.ts → types/acorex-components-grid-layout-builder.d.ts} +0 -1
  225. package/{loading/index.d.ts → types/acorex-components-loading.d.ts} +1 -1
  226. package/{menu/index.d.ts → types/acorex-components-menu.d.ts} +6 -6
  227. package/{paint/index.d.ts → types/acorex-components-paint.d.ts} +1 -6
  228. package/{qrcode/index.d.ts → types/acorex-components-qrcode.d.ts} +1 -0
  229. package/{radio/index.d.ts → types/acorex-components-radio.d.ts} +1 -1
  230. package/{rate-picker/index.d.ts → types/acorex-components-rate-picker.d.ts} +5 -15
  231. package/{scheduler-picker/index.d.ts → types/acorex-components-scheduler-picker.d.ts} +82 -81
  232. package/{select-box/index.d.ts → types/acorex-components-select-box.d.ts} +2 -1
  233. package/{slider/index.d.ts → types/acorex-components-slider.d.ts} +2 -2
  234. package/{tabs/index.d.ts → types/acorex-components-tabs.d.ts} +1 -1
  235. package/{tag/index.d.ts → types/acorex-components-tag.d.ts} +3 -3
  236. package/collapse/README.md +0 -3
  237. package/collapse/index.d.ts +0 -174
  238. package/drawer-legacy/README.md +0 -3
  239. package/drawer-legacy/index.d.ts +0 -86
  240. package/fesm2022/acorex-components-collapse.mjs +0 -366
  241. package/fesm2022/acorex-components-collapse.mjs.map +0 -1
  242. package/fesm2022/acorex-components-drawer-legacy.mjs +0 -218
  243. package/fesm2022/acorex-components-drawer-legacy.mjs.map +0 -1
  244. package/fesm2022/acorex-components-file-explorer.mjs +0 -307
  245. package/fesm2022/acorex-components-file-explorer.mjs.map +0 -1
  246. package/fesm2022/acorex-components-modal-acorex-components-modal-DwBY73dZ.mjs.map +0 -1
  247. package/fesm2022/acorex-components-modal-modal-content.component-DPMt_zaI.mjs +0 -212
  248. package/fesm2022/acorex-components-modal-modal-content.component-DPMt_zaI.mjs.map +0 -1
  249. package/fesm2022/acorex-components-number-box-legacy.mjs +0 -430
  250. package/fesm2022/acorex-components-number-box-legacy.mjs.map +0 -1
  251. package/fesm2022/acorex-components-scss.mjs +0 -22
  252. package/fesm2022/acorex-components-scss.mjs.map +0 -1
  253. package/fesm2022/acorex-components-tree-view-legacy.mjs +0 -511
  254. package/fesm2022/acorex-components-tree-view-legacy.mjs.map +0 -1
  255. package/file-explorer/README.md +0 -3
  256. package/file-explorer/index.d.ts +0 -103
  257. package/number-box-legacy/README.md +0 -3
  258. package/number-box-legacy/index.d.ts +0 -191
  259. package/scss/README.md +0 -3
  260. package/scss/index.d.ts +0 -10
  261. package/tree-view-legacy/README.md +0 -3
  262. package/tree-view-legacy/index.d.ts +0 -184
  263. package/{action-sheet/index.d.ts → types/acorex-components-action-sheet.d.ts} +0 -0
  264. package/{alert/index.d.ts → types/acorex-components-alert.d.ts} +0 -0
  265. package/{aspect-ratio/index.d.ts → types/acorex-components-aspect-ratio.d.ts} +0 -0
  266. package/{audio-wave/index.d.ts → types/acorex-components-audio-wave.d.ts} +0 -0
  267. package/{autocomplete/index.d.ts → types/acorex-components-autocomplete.d.ts} +0 -0
  268. package/{avatar/index.d.ts → types/acorex-components-avatar.d.ts} +0 -0
  269. package/{badge/index.d.ts → types/acorex-components-badge.d.ts} +0 -0
  270. package/{bottom-navigation/index.d.ts → types/acorex-components-bottom-navigation.d.ts} +0 -0
  271. package/{breadcrumbs/index.d.ts → types/acorex-components-breadcrumbs.d.ts} +0 -0
  272. package/{calendar/index.d.ts → types/acorex-components-calendar.d.ts} +0 -0
  273. package/{circular-progress/index.d.ts → types/acorex-components-circular-progress.d.ts} +0 -0
  274. package/{code-editor/index.d.ts → types/acorex-components-code-editor.d.ts} +0 -0
  275. package/{color-box/index.d.ts → types/acorex-components-color-box.d.ts} +0 -0
  276. package/{command/index.d.ts → types/acorex-components-command.d.ts} +0 -0
  277. package/{comment/index.d.ts → types/acorex-components-comment.d.ts} +0 -0
  278. package/{conversation/index.d.ts → types/acorex-components-conversation.d.ts} +0 -0
  279. package/{cron-job/index.d.ts → types/acorex-components-cron-job.d.ts} +0 -0
  280. package/{data-list/index.d.ts → types/acorex-components-data-list.d.ts} +0 -0
  281. package/{data-pager/index.d.ts → types/acorex-components-data-pager.d.ts} +0 -0
  282. package/{decorators/index.d.ts → types/acorex-components-decorators.d.ts} +0 -0
  283. package/{dialog/index.d.ts → types/acorex-components-dialog.d.ts} +0 -0
  284. package/{drawer/index.d.ts → types/acorex-components-drawer.d.ts} +0 -0
  285. package/{dropdown/index.d.ts → types/acorex-components-dropdown.d.ts} +0 -0
  286. package/{editor/index.d.ts → types/acorex-components-editor.d.ts} +0 -0
  287. package/{fab/index.d.ts → types/acorex-components-fab.d.ts} +0 -0
  288. package/{image-editor/index.d.ts → types/acorex-components-image-editor.d.ts} +0 -0
  289. package/{image/index.d.ts → types/acorex-components-image.d.ts} +0 -0
  290. package/{json-viewer/index.d.ts → types/acorex-components-json-viewer.d.ts} +0 -0
  291. package/{kanban/index.d.ts → types/acorex-components-kanban.d.ts} +0 -0
  292. package/{kbd/index.d.ts → types/acorex-components-kbd.d.ts} +0 -0
  293. package/{label/index.d.ts → types/acorex-components-label.d.ts} +0 -0
  294. package/{list/index.d.ts → types/acorex-components-list.d.ts} +0 -0
  295. package/{loading-dialog/index.d.ts → types/acorex-components-loading-dialog.d.ts} +0 -0
  296. package/{map/index.d.ts → types/acorex-components-map.d.ts} +0 -0
  297. package/{media-viewer/index.d.ts → types/acorex-components-media-viewer.d.ts} +0 -0
  298. package/{modal/index.d.ts → types/acorex-components-modal.d.ts} +0 -0
  299. package/{navbar/index.d.ts → types/acorex-components-navbar.d.ts} +0 -0
  300. package/{notification/index.d.ts → types/acorex-components-notification.d.ts} +0 -0
  301. package/{number-box/index.d.ts → types/acorex-components-number-box.d.ts} +0 -0
  302. package/{otp/index.d.ts → types/acorex-components-otp.d.ts} +0 -0
  303. package/{page/index.d.ts → types/acorex-components-page.d.ts} +0 -0
  304. package/{password-box/index.d.ts → types/acorex-components-password-box.d.ts} +0 -0
  305. package/{pdf-reader/index.d.ts → types/acorex-components-pdf-reader.d.ts} +0 -0
  306. package/{phone-box/index.d.ts → types/acorex-components-phone-box.d.ts} +0 -0
  307. package/{picker/index.d.ts → types/acorex-components-picker.d.ts} +0 -0
  308. package/{popover/index.d.ts → types/acorex-components-popover.d.ts} +0 -0
  309. package/{popup/index.d.ts → types/acorex-components-popup.d.ts} +0 -0
  310. package/{progress-bar/index.d.ts → types/acorex-components-progress-bar.d.ts} +0 -0
  311. package/{query-builder/index.d.ts → types/acorex-components-query-builder.d.ts} +1 -1
  312. /package/{rail-navigation/index.d.ts → types/acorex-components-rail-navigation.d.ts} +0 -0
  313. /package/{range-slider/index.d.ts → types/acorex-components-range-slider.d.ts} +0 -0
  314. /package/{rest-api-generator/index.d.ts → types/acorex-components-rest-api-generator.d.ts} +0 -0
  315. /package/{result/index.d.ts → types/acorex-components-result.d.ts} +0 -0
  316. /package/{routing-progress/index.d.ts → types/acorex-components-routing-progress.d.ts} +0 -0
  317. /package/{rrule/index.d.ts → types/acorex-components-rrule.d.ts} +0 -0
  318. /package/{scheduler/index.d.ts → types/acorex-components-scheduler.d.ts} +0 -0
  319. /package/{search-box/index.d.ts → types/acorex-components-search-box.d.ts} +0 -0
  320. /package/{selection-list-2/index.d.ts → types/acorex-components-selection-list-2.d.ts} +0 -0
  321. /package/{selection-list/index.d.ts → types/acorex-components-selection-list.d.ts} +0 -0
  322. /package/{side-menu/index.d.ts → types/acorex-components-side-menu.d.ts} +0 -0
  323. /package/{skeleton/index.d.ts → types/acorex-components-skeleton.d.ts} +0 -0
  324. /package/{sliding-item/index.d.ts → types/acorex-components-sliding-item.d.ts} +0 -0
  325. /package/{step-wizard/index.d.ts → types/acorex-components-step-wizard.d.ts} +0 -0
  326. /package/{switch/index.d.ts → types/acorex-components-switch.d.ts} +0 -0
  327. /package/{tag-box/index.d.ts → types/acorex-components-tag-box.d.ts} +0 -0
  328. /package/{text-area/index.d.ts → types/acorex-components-text-area.d.ts} +0 -0
  329. /package/{text-box/index.d.ts → types/acorex-components-text-box.d.ts} +0 -0
  330. /package/{time-duration/index.d.ts → types/acorex-components-time-duration.d.ts} +0 -0
  331. /package/{time-line/index.d.ts → types/acorex-components-time-line.d.ts} +0 -0
  332. /package/{toast/index.d.ts → types/acorex-components-toast.d.ts} +0 -0
  333. /package/{toolbar/index.d.ts → types/acorex-components-toolbar.d.ts} +0 -0
  334. /package/{tooltip/index.d.ts → types/acorex-components-tooltip.d.ts} +0 -0
  335. /package/{tree-view/index.d.ts → types/acorex-components-tree-view.d.ts} +0 -0
  336. /package/{uploader/index.d.ts → types/acorex-components-uploader.d.ts} +0 -0
  337. /package/{video-player/index.d.ts → types/acorex-components-video-player.d.ts} +0 -0
  338. /package/{wysiwyg/index.d.ts → types/acorex-components-wysiwyg.d.ts} +0 -0
  339. /package/{index.d.ts → types/acorex-components.d.ts} +0 -0
@@ -6,7 +6,7 @@ import { AXDecoratorGenericComponent } from '@acorex/components/decorators';
6
6
  import { MXDropdownBoxBaseComponent, AXDropdownBoxComponent } from '@acorex/components/dropdown';
7
7
  import { AXSelectBoxComponent } from '@acorex/components/select-box';
8
8
  import * as i0 from '@angular/core';
9
- import { EventEmitter, input, signal, linkedSignal, effect, computed, forwardRef, HostBinding, Output, ViewChild, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
9
+ import { EventEmitter, input, signal, computed, forwardRef, HostBinding, Output, ViewChild, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
10
10
  import * as i1 from '@angular/forms';
11
11
  import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
12
12
  import { classes } from 'polytype';
@@ -40,42 +40,31 @@ class AXDateTimeBoxComponent extends classes((MXInputBaseValueComponent), MXCale
40
40
  *
41
41
  * @defaultValue false
42
42
  */
43
- this.allowTyping = input(false, ...(ngDevMode ? [{ debugName: "allowTyping" }] : []));
44
- this.picker = input('datetime', ...(ngDevMode ? [{ debugName: "picker" }] : []));
43
+ this.allowTyping = input(false, ...(ngDevMode ? [{ debugName: "allowTyping" }] : /* istanbul ignore next */ []));
44
+ this.picker = input('datetime', ...(ngDevMode ? [{ debugName: "picker" }] : /* istanbul ignore next */ []));
45
45
  /**
46
46
  * @description The calendar type to use for the datetime input.
47
47
  */
48
- this.calendar = input(null, ...(ngDevMode ? [{ debugName: "calendar" }] : []));
49
- this.weekend = input([], ...(ngDevMode ? [{ debugName: "weekend" }] : []));
50
- this.weekdays = input([], ...(ngDevMode ? [{ debugName: "weekdays" }] : []));
48
+ this.calendar = input(null, ...(ngDevMode ? [{ debugName: "calendar" }] : /* istanbul ignore next */ []));
49
+ this.weekend = input([], ...(ngDevMode ? [{ debugName: "weekend" }] : /* istanbul ignore next */ []));
50
+ this.weekdays = input([], ...(ngDevMode ? [{ debugName: "weekdays" }] : /* istanbul ignore next */ []));
51
51
  /**
52
52
  * Day view navigation style of the embedded calendar.
53
53
  */
54
- this.calendarLook = input('select', ...(ngDevMode ? [{ debugName: "calendarLook" }] : []));
54
+ this.calendarLook = input('select', ...(ngDevMode ? [{ debugName: "calendarLook" }] : /* istanbul ignore next */ []));
55
55
  /**
56
56
  * Input style of the datetime box.
57
57
  * - `default`: text input with calendar popup.
58
58
  * - `classic`: inline select boxes for date/time parts.
59
59
  */
60
- this.boxLook = input('default', ...(ngDevMode ? [{ debugName: "boxLook" }] : []));
60
+ this.boxLook = input('default', ...(ngDevMode ? [{ debugName: "boxLook" }] : /* istanbul ignore next */ []));
61
61
  /**
62
62
  * @deprecated use locale & mode instead
63
63
  */
64
- this.format = input(...(ngDevMode ? [undefined, { debugName: "format" }] : []));
65
- this._editingDateObj = signal(null, ...(ngDevMode ? [{ debugName: "_editingDateObj" }] : []));
66
- this._calendarSystem = linkedSignal(() => this.calendar() ?? this.type, ...(ngDevMode ? [{ debugName: "_calendarSystem" }] : []));
67
- this._format = linkedSignal(() => this.format(), ...(ngDevMode ? [{ debugName: "_format" }] : []));
68
- this.#effect = effect(() => {
69
- const profile = this.localeService.activeProfile();
70
- //
71
- if (!this.format()) {
72
- this._format.set(this.format() ?? profile.formats[this.picker()]?.short ?? '');
73
- }
74
- //
75
- if (!this.calendar()) {
76
- this._calendarSystem.set(profile.calendar.system);
77
- }
78
- }, ...(ngDevMode ? [{ debugName: "#effect" }] : []));
64
+ this.format = input(...(ngDevMode ? [undefined, { debugName: "format" }] : /* istanbul ignore next */ []));
65
+ this._editingDateObj = signal(null, ...(ngDevMode ? [{ debugName: "_editingDateObj" }] : /* istanbul ignore next */ []));
66
+ this._calendarSystem = computed(() => this.calendar() ?? this.localeService.activeProfile().calendar.system, ...(ngDevMode ? [{ debugName: "_calendarSystem" }] : /* istanbul ignore next */ []));
67
+ this._resolvedFormat = computed(() => this.format() ?? this.localeService.activeProfile().formats[this.picker()]?.short ?? '', ...(ngDevMode ? [{ debugName: "_resolvedFormat" }] : /* istanbul ignore next */ []));
79
68
  this._classicDateFields = AX_DATETIME_BOX_CLASSIC_DATE_FIELDS;
80
69
  this._classicTimeFields = AX_DATETIME_BOX_CLASSIC_TIME_FIELDS;
81
70
  this._classicTimeOptions = {
@@ -87,7 +76,7 @@ class AXDateTimeBoxComponent extends classes((MXInputBaseValueComponent), MXCale
87
76
  return value
88
77
  ? this.calendarService.create(value, this._calendarSystem())
89
78
  : this.calendarService.now(this._calendarSystem());
90
- }, ...(ngDevMode ? [{ debugName: "_classicDate" }] : []));
79
+ }, ...(ngDevMode ? [{ debugName: "_classicDate" }] : /* istanbul ignore next */ []));
91
80
  this._classicYearOptions = computed(() => {
92
81
  const current = this._classicDate();
93
82
  const minYear = this.minValue
@@ -100,25 +89,24 @@ class AXDateTimeBoxComponent extends classes((MXInputBaseValueComponent), MXCale
100
89
  id: minYear + i,
101
90
  text: String(minYear + i),
102
91
  }));
103
- }, ...(ngDevMode ? [{ debugName: "_classicYearOptions" }] : []));
92
+ }, ...(ngDevMode ? [{ debugName: "_classicYearOptions" }] : /* istanbul ignore next */ []));
104
93
  this._classicMonthOptions = computed(() => {
105
94
  const calendar = this._classicDate().calendar.name();
106
95
  return Array.from({ length: 12 }, (_, i) => ({
107
96
  id: i + 1,
108
97
  text: `@acorex:dateTime.months.${calendar}.short.${i}`,
109
98
  }));
110
- }, ...(ngDevMode ? [{ debugName: "_classicMonthOptions" }] : []));
99
+ }, ...(ngDevMode ? [{ debugName: "_classicMonthOptions" }] : /* istanbul ignore next */ []));
111
100
  this._classicDayOptions = computed(() => {
112
101
  const daysInMonth = this._classicDate().endOf('month').dayOfMonth;
113
102
  return Array.from({ length: daysInMonth }, (_, i) => ({
114
103
  id: i + 1,
115
104
  text: String(i + 1).padStart(2, '0'),
116
105
  }));
117
- }, ...(ngDevMode ? [{ debugName: "_classicDayOptions" }] : []));
106
+ }, ...(ngDevMode ? [{ debugName: "_classicDayOptions" }] : /* istanbul ignore next */ []));
118
107
  }
119
- #effect;
120
108
  get _classicBoxClass() {
121
- return `ax-editor-container ax-default ax-classic-datetime-box ax-${this.look}${this.disabled ? ' ax-state-disabled' : ''}`;
109
+ return `ax-editor-container ax-default ax-classic-datetime-box ${this.look}${this.disabled ? ' ax-state-disabled' : ''}`;
122
110
  }
123
111
  get _classicHasDatePart() {
124
112
  const mode = this.picker();
@@ -211,7 +199,7 @@ class AXDateTimeBoxComponent extends classes((MXInputBaseValueComponent), MXCale
211
199
  internalValueChanged(value) {
212
200
  try {
213
201
  if (this.calendarService.isValidDate(value)) {
214
- this._editingDateObj.set(this.calendarService.create(value, this.calendar()).date);
202
+ this._editingDateObj.set(this.calendarService.create(value, this._calendarSystem()).date);
215
203
  }
216
204
  else {
217
205
  throw new Error();
@@ -271,8 +259,8 @@ class AXDateTimeBoxComponent extends classes((MXInputBaseValueComponent), MXCale
271
259
  get __hostName() {
272
260
  return this.name;
273
261
  }
274
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXDateTimeBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
275
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXDateTimeBoxComponent, isStandalone: true, selector: "ax-datetime-box", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: false, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, depth: { classPropertyName: "depth", publicName: "depth", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, holidayDates: { classPropertyName: "holidayDates", publicName: "holidayDates", isSignal: false, isRequired: false, transformFunction: null }, allowTyping: { classPropertyName: "allowTyping", publicName: "allowTyping", isSignal: true, isRequired: false, transformFunction: null }, picker: { classPropertyName: "picker", publicName: "picker", isSignal: true, isRequired: false, transformFunction: null }, calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, weekend: { classPropertyName: "weekend", publicName: "weekend", isSignal: true, isRequired: false, transformFunction: null }, weekdays: { classPropertyName: "weekdays", publicName: "weekdays", isSignal: true, isRequired: false, transformFunction: null }, calendarLook: { classPropertyName: "calendarLook", publicName: "calendarLook", isSignal: true, isRequired: false, transformFunction: null }, boxLook: { classPropertyName: "boxLook", publicName: "boxLook", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", onOpened: "onOpened", onClosed: "onClosed", readonlyChange: "readonlyChange", disabledChange: "disabledChange", formatChange: "formatChange" }, host: { attributes: { "ngSkipHydration": "true" }, properties: { "attr.name": "this.__hostName" } }, providers: [
262
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXDateTimeBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
263
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXDateTimeBoxComponent, isStandalone: true, selector: "ax-datetime-box", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: false, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, depth: { classPropertyName: "depth", publicName: "depth", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, holidayDates: { classPropertyName: "holidayDates", publicName: "holidayDates", isSignal: false, isRequired: false, transformFunction: null }, allowTyping: { classPropertyName: "allowTyping", publicName: "allowTyping", isSignal: true, isRequired: false, transformFunction: null }, picker: { classPropertyName: "picker", publicName: "picker", isSignal: true, isRequired: false, transformFunction: null }, calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, weekend: { classPropertyName: "weekend", publicName: "weekend", isSignal: true, isRequired: false, transformFunction: null }, weekdays: { classPropertyName: "weekdays", publicName: "weekdays", isSignal: true, isRequired: false, transformFunction: null }, calendarLook: { classPropertyName: "calendarLook", publicName: "calendarLook", isSignal: true, isRequired: false, transformFunction: null }, boxLook: { classPropertyName: "boxLook", publicName: "boxLook", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", onOpened: "onOpened", onClosed: "onClosed", readonlyChange: "readonlyChange", disabledChange: "disabledChange", formatChange: "formatChange" }, host: { attributes: { "ngSkipHydration": "true" }, properties: { "attr.name": "this.__hostName" } }, providers: [
276
264
  { provide: AXComponent, useExisting: AXDateTimeBoxComponent },
277
265
  { provide: AXFocusableComponent, useExisting: AXDateTimeBoxComponent },
278
266
  { provide: AXValuableComponent, useExisting: AXDateTimeBoxComponent },
@@ -282,9 +270,9 @@ class AXDateTimeBoxComponent extends classes((MXInputBaseValueComponent), MXCale
282
270
  useExisting: forwardRef(() => AXDateTimeBoxComponent),
283
271
  multi: true,
284
272
  },
285
- ], viewQueries: [{ propertyName: "input", first: true, predicate: AXDateTimeInputComponent, descendants: true }, { propertyName: "pickerRef", first: true, predicate: AXDateTimePickerComponent, descendants: true }, { propertyName: "dropdown", first: true, predicate: AXDropdownBoxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (boxLook() === 'classic') {\n <div [class]=\"_classicBoxClass\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <div class=\"ax-classic-datetime-selects\" dir=\"ltr\">\n @if (_classicHasDatePart) {\n <div class=\"ax-classic-datetime-group\">\n @for (field of _classicDateFields; track field.part; let last = $last) {\n <ax-select-box\n look=\"none\"\n [class]=\"'ax-classic-' + field.part + '-select'\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_classicPartOptions(field.part)\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_classicPartValue(field.part)\"\n [dropdownWidth]=\"field.dropdownWidth\"\n [isItemTruncated]=\"false\"\n [maxVisibleItems]=\"field.maxVisibleItems\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleClassicPartChanged($event, field.part)\"\n ></ax-select-box>\n @if (!last) {\n <span class=\"ax-classic-datetime-separator\" aria-hidden=\"true\">-</span>\n }\n }\n </div>\n }\n @if (_classicHasTimePart) {\n <div class=\"ax-classic-datetime-group\">\n @for (field of _classicTimeFields; track field.part; let last = $last) {\n <ax-select-box\n look=\"none\"\n [class]=\"'ax-classic-' + field.part + '-select'\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_classicPartOptions(field.part)\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_classicPartValue(field.part)\"\n [dropdownWidth]=\"field.dropdownWidth\"\n [isItemTruncated]=\"false\"\n [maxVisibleItems]=\"field.maxVisibleItems\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleClassicPartChanged($event, field.part)\"\n ></ax-select-box>\n @if (!last) {\n <span class=\"ax-classic-datetime-separator\" aria-hidden=\"true\">:</span>\n }\n }\n </div>\n }\n </div>\n <ng-content select=\"ax-suffix\"></ng-content>\n </div>\n} @else {\n <ax-dropdown-box\n [look]=\"look\"\n [disabled]=\"disabled\"\n (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\"\n >\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ax-datetime-input\n dir=\"ltr\"\n [name]=\"name\"\n [ngModel]=\"_editingDateObj()\"\n id=\"{{ id }}-input\"\n [format]=\"format()\"\n [picker]=\"picker()\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [allowTyping]=\"allowTyping()\"\n [calendar]=\"_calendarSystem()\"\n (onClick)=\"_handleInputOnClick()\"\n (onBlur)=\"_handleInputOnBlurEvent($event)\"\n (onFocus)=\"_handleInputOnFocusEvent($event)\"\n ></ax-datetime-input>\n @if (value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" class=\"ax-editor-button\" [tabIndex]=\"-1\" [disabled]=\"disabled\" (click)=\"toggle()\">\n <span class=\"ax-icon ax-icon-calendar\"></span>\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n </ng-container>\n <ng-container panel>\n <ax-datetime-picker\n #pickerRef\n [type]=\"type\"\n [depth]=\"depth\"\n [ngModel]=\"_editingDateObj()\"\n [picker]=\"picker()\"\n [format]=\"format()\"\n id=\"{{ id }}-picker\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [weekend]=\"weekend()\"\n [weekdays]=\"weekdays()\"\n [holidayDates]=\"holidayDates\"\n [calendar]=\"_calendarSystem()\"\n [disabledDates]=\"disabledDates\"\n [calendarLook]=\"calendarLook()\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (ngModelChange)=\"_handlePickerModelChange($event)\"\n ></ax-datetime-picker>\n </ng-container>\n </ax-dropdown-box>\n}\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: ["ax-datetime-input{display:contents}ax-datetime-box .ax-classic-datetime-box{overflow:visible;height:auto;min-height:var(--ax-comp-editor-height)}ax-datetime-box .ax-classic-datetime-selects{display:flex;flex:1;align-items:center;justify-content:space-between;gap:1rem;min-width:12rem;flex-wrap:wrap;overflow:visible}ax-datetime-box .ax-classic-datetime-group{display:flex;align-items:center;gap:.125rem}ax-datetime-box .ax-classic-datetime-separator{flex:0 0 auto;padding-inline:.125rem;font-size:var(--ax-comp-editor-font-size);line-height:1;color:rgba(var(--ax-comp-editor-text-color));opacity:.6;-webkit-user-select:none;user-select:none;pointer-events:none}ax-datetime-box .ax-classic-datetime-selects ax-select-box{display:inline-block;width:auto;flex:0 0 auto}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-editor-button{display:none}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-editor-container,ax-datetime-box .ax-classic-datetime-selects ax-select-box ax-dropdown-box.ax-editor-container{gap:0;width:auto;overflow:visible}ax-datetime-box .ax-classic-datetime-selects ax-select-box ax-dropdown-box.ax-editor-container{--ax-comp-editor-space-start-size: 0;--ax-comp-editor-space-end-size: 0;justify-content:flex-start}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-chips-container{flex:0 0 auto;width:auto}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-chips-container .ax-chips{overflow:visible;text-overflow:unset;padding-inline:0}\n"], dependencies: [{ kind: "component", type: AXDropdownBoxComponent, selector: "ax-dropdown-box", inputs: ["disabled", "look", "hasInput", "popoverWidth"], outputs: ["disabledChange", "onBlur", "onFocus", "onClick", "onOpened", "onClosed"] }, { kind: "component", type: AXDateTimeInputComponent, selector: "ax-datetime-input", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "allowTyping", "calendar", "minValue", "maxValue", "picker", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onClick"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXDateTimePickerComponent, selector: "ax-datetime-picker", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "depth", "activeView", "minValue", "maxValue", "disabledDates", "holidayDates", "type", "cellTemplate", "cellClass", "showNavigation", "weekend", "weekdays", "calendarLook", "currentTimeButton", "calendar", "picker", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onClick", "readonlyChange", "disabledChange", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick"] }, { kind: "component", type: AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "itemHeight", "maxVisibleItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
273
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: AXDateTimeInputComponent, descendants: true }, { propertyName: "pickerRef", first: true, predicate: AXDateTimePickerComponent, descendants: true }, { propertyName: "dropdown", first: true, predicate: AXDropdownBoxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (boxLook() === 'classic') {\n <div [class]=\"_classicBoxClass\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <div class=\"ax-classic-datetime-selects\" dir=\"ltr\">\n @if (_classicHasDatePart) {\n <div class=\"ax-classic-datetime-group\">\n @for (field of _classicDateFields; track field.part; let last = $last) {\n <ax-select-box\n look=\"none\"\n [class]=\"'ax-classic-' + field.part + '-select'\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_classicPartOptions(field.part)\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_classicPartValue(field.part)\"\n [dropdownWidth]=\"field.dropdownWidth\"\n [isItemTruncated]=\"false\"\n [maxVisibleItems]=\"field.maxVisibleItems\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleClassicPartChanged($event, field.part)\"\n ></ax-select-box>\n @if (!last) {\n <span class=\"ax-classic-datetime-separator\" aria-hidden=\"true\">-</span>\n }\n }\n </div>\n }\n @if (_classicHasTimePart) {\n <div class=\"ax-classic-datetime-group\">\n @for (field of _classicTimeFields; track field.part; let last = $last) {\n <ax-select-box\n look=\"none\"\n [class]=\"'ax-classic-' + field.part + '-select'\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_classicPartOptions(field.part)\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_classicPartValue(field.part)\"\n [dropdownWidth]=\"field.dropdownWidth\"\n [isItemTruncated]=\"false\"\n [maxVisibleItems]=\"field.maxVisibleItems\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleClassicPartChanged($event, field.part)\"\n ></ax-select-box>\n @if (!last) {\n <span class=\"ax-classic-datetime-separator\" aria-hidden=\"true\">:</span>\n }\n }\n </div>\n }\n </div>\n <ng-content select=\"ax-suffix\"></ng-content>\n </div>\n} @else {\n <ax-dropdown-box\n [look]=\"look\"\n [disabled]=\"disabled\"\n (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\"\n >\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ax-datetime-input\n dir=\"ltr\"\n [name]=\"name\"\n [ngModel]=\"_editingDateObj()\"\n id=\"{{ id }}-input\"\n [format]=\"_resolvedFormat()\"\n [picker]=\"picker()\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [allowTyping]=\"allowTyping()\"\n [calendar]=\"_calendarSystem()\"\n (onClick)=\"_handleInputOnClick()\"\n (onBlur)=\"_handleInputOnBlurEvent($event)\"\n (onFocus)=\"_handleInputOnFocusEvent($event)\"\n ></ax-datetime-input>\n @if (value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" class=\"ax-editor-button\" [tabIndex]=\"-1\" [disabled]=\"disabled\" (click)=\"toggle()\">\n <span class=\"ax-icon ax-icon-calendar\"></span>\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n </ng-container>\n <ng-container panel>\n <ax-datetime-picker\n #pickerRef\n [type]=\"_calendarSystem()\"\n [depth]=\"depth\"\n [ngModel]=\"_editingDateObj()\"\n [picker]=\"picker()\"\n [format]=\"_resolvedFormat()\"\n id=\"{{ id }}-picker\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [weekend]=\"weekend()\"\n [weekdays]=\"weekdays()\"\n [holidayDates]=\"holidayDates\"\n [calendar]=\"_calendarSystem()\"\n [disabledDates]=\"disabledDates\"\n [calendarLook]=\"calendarLook()\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (ngModelChange)=\"_handlePickerModelChange($event)\"\n ></ax-datetime-picker>\n </ng-container>\n </ax-dropdown-box>\n}\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: ["@layer components{ax-datetime-input{display:contents}ax-datetime-box .ax-classic-datetime-box{padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:var(--spacing,.25rem);height:auto;min-height:var(--ax-comp-editor-height);overflow:visible}ax-datetime-box .ax-classic-datetime-selects{flex-wrap:wrap;flex:1;justify-content:space-between;align-items:center;gap:1rem;min-width:12rem;display:flex;overflow:visible}ax-datetime-box .ax-classic-datetime-group{align-items:center;gap:.125rem;display:flex}ax-datetime-box .ax-classic-datetime-separator{font-size:var(--ax-comp-editor-font-size);color:rgba(var(--ax-comp-editor-text-color));opacity:.6;-webkit-user-select:none;user-select:none;pointer-events:none;flex:none;padding-inline:.125rem;line-height:1}ax-datetime-box .ax-classic-datetime-selects ax-select-box{flex:none;width:auto;display:inline-block}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-general-button-icon{display:none}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-editor-container,ax-datetime-box .ax-classic-datetime-selects ax-select-box ax-dropdown-box.ax-editor-container{gap:0;width:auto;overflow:visible}ax-datetime-box .ax-classic-datetime-selects ax-select-box ax-dropdown-box.ax-editor-container{--ax-comp-editor-space-start-size:0;--ax-comp-editor-space-end-size:0;justify-content:flex-start}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-chips-container{flex:none;width:auto}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-chips-container .ax-chips{text-overflow:unset;padding-inline:0;overflow:visible}app-demo-box .log-container{flex-direction:row-reverse;justify-content:space-between;display:flex}}\n/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXDropdownBoxComponent, selector: "ax-dropdown-box", inputs: ["disabled", "look", "hasInput", "popoverWidth"], outputs: ["disabledChange", "onBlur", "onFocus", "onClick", "onOpened", "onClosed"] }, { kind: "component", type: AXDateTimeInputComponent, selector: "ax-datetime-input", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "allowTyping", "calendar", "minValue", "maxValue", "picker", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onClick"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXDateTimePickerComponent, selector: "ax-datetime-picker", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "depth", "activeView", "minValue", "maxValue", "disabledDates", "holidayDates", "type", "cellTemplate", "cellClass", "showNavigation", "weekend", "weekdays", "calendarLook", "currentTimeButton", "calendar", "picker", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onClick", "readonlyChange", "disabledChange", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick"] }, { kind: "component", type: AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "itemHeight", "maxVisibleItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
286
274
  }
287
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXDateTimeBoxComponent, decorators: [{
275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXDateTimeBoxComponent, decorators: [{
288
276
  type: Component,
289
277
  args: [{ selector: 'ax-datetime-box', inputs: [
290
278
  'disabled',
@@ -327,7 +315,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
327
315
  FormsModule,
328
316
  AXDateTimePickerComponent,
329
317
  AXSelectBoxComponent,
330
- ], template: "@if (boxLook() === 'classic') {\n <div [class]=\"_classicBoxClass\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <div class=\"ax-classic-datetime-selects\" dir=\"ltr\">\n @if (_classicHasDatePart) {\n <div class=\"ax-classic-datetime-group\">\n @for (field of _classicDateFields; track field.part; let last = $last) {\n <ax-select-box\n look=\"none\"\n [class]=\"'ax-classic-' + field.part + '-select'\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_classicPartOptions(field.part)\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_classicPartValue(field.part)\"\n [dropdownWidth]=\"field.dropdownWidth\"\n [isItemTruncated]=\"false\"\n [maxVisibleItems]=\"field.maxVisibleItems\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleClassicPartChanged($event, field.part)\"\n ></ax-select-box>\n @if (!last) {\n <span class=\"ax-classic-datetime-separator\" aria-hidden=\"true\">-</span>\n }\n }\n </div>\n }\n @if (_classicHasTimePart) {\n <div class=\"ax-classic-datetime-group\">\n @for (field of _classicTimeFields; track field.part; let last = $last) {\n <ax-select-box\n look=\"none\"\n [class]=\"'ax-classic-' + field.part + '-select'\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_classicPartOptions(field.part)\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_classicPartValue(field.part)\"\n [dropdownWidth]=\"field.dropdownWidth\"\n [isItemTruncated]=\"false\"\n [maxVisibleItems]=\"field.maxVisibleItems\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleClassicPartChanged($event, field.part)\"\n ></ax-select-box>\n @if (!last) {\n <span class=\"ax-classic-datetime-separator\" aria-hidden=\"true\">:</span>\n }\n }\n </div>\n }\n </div>\n <ng-content select=\"ax-suffix\"></ng-content>\n </div>\n} @else {\n <ax-dropdown-box\n [look]=\"look\"\n [disabled]=\"disabled\"\n (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\"\n >\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ax-datetime-input\n dir=\"ltr\"\n [name]=\"name\"\n [ngModel]=\"_editingDateObj()\"\n id=\"{{ id }}-input\"\n [format]=\"format()\"\n [picker]=\"picker()\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [allowTyping]=\"allowTyping()\"\n [calendar]=\"_calendarSystem()\"\n (onClick)=\"_handleInputOnClick()\"\n (onBlur)=\"_handleInputOnBlurEvent($event)\"\n (onFocus)=\"_handleInputOnFocusEvent($event)\"\n ></ax-datetime-input>\n @if (value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" class=\"ax-editor-button\" [tabIndex]=\"-1\" [disabled]=\"disabled\" (click)=\"toggle()\">\n <span class=\"ax-icon ax-icon-calendar\"></span>\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n </ng-container>\n <ng-container panel>\n <ax-datetime-picker\n #pickerRef\n [type]=\"type\"\n [depth]=\"depth\"\n [ngModel]=\"_editingDateObj()\"\n [picker]=\"picker()\"\n [format]=\"format()\"\n id=\"{{ id }}-picker\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [weekend]=\"weekend()\"\n [weekdays]=\"weekdays()\"\n [holidayDates]=\"holidayDates\"\n [calendar]=\"_calendarSystem()\"\n [disabledDates]=\"disabledDates\"\n [calendarLook]=\"calendarLook()\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (ngModelChange)=\"_handlePickerModelChange($event)\"\n ></ax-datetime-picker>\n </ng-container>\n </ax-dropdown-box>\n}\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: ["ax-datetime-input{display:contents}ax-datetime-box .ax-classic-datetime-box{overflow:visible;height:auto;min-height:var(--ax-comp-editor-height)}ax-datetime-box .ax-classic-datetime-selects{display:flex;flex:1;align-items:center;justify-content:space-between;gap:1rem;min-width:12rem;flex-wrap:wrap;overflow:visible}ax-datetime-box .ax-classic-datetime-group{display:flex;align-items:center;gap:.125rem}ax-datetime-box .ax-classic-datetime-separator{flex:0 0 auto;padding-inline:.125rem;font-size:var(--ax-comp-editor-font-size);line-height:1;color:rgba(var(--ax-comp-editor-text-color));opacity:.6;-webkit-user-select:none;user-select:none;pointer-events:none}ax-datetime-box .ax-classic-datetime-selects ax-select-box{display:inline-block;width:auto;flex:0 0 auto}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-editor-button{display:none}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-editor-container,ax-datetime-box .ax-classic-datetime-selects ax-select-box ax-dropdown-box.ax-editor-container{gap:0;width:auto;overflow:visible}ax-datetime-box .ax-classic-datetime-selects ax-select-box ax-dropdown-box.ax-editor-container{--ax-comp-editor-space-start-size: 0;--ax-comp-editor-space-end-size: 0;justify-content:flex-start}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-chips-container{flex:0 0 auto;width:auto}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-chips-container .ax-chips{overflow:visible;text-overflow:unset;padding-inline:0}\n"] }]
318
+ ], template: "@if (boxLook() === 'classic') {\n <div [class]=\"_classicBoxClass\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <div class=\"ax-classic-datetime-selects\" dir=\"ltr\">\n @if (_classicHasDatePart) {\n <div class=\"ax-classic-datetime-group\">\n @for (field of _classicDateFields; track field.part; let last = $last) {\n <ax-select-box\n look=\"none\"\n [class]=\"'ax-classic-' + field.part + '-select'\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_classicPartOptions(field.part)\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_classicPartValue(field.part)\"\n [dropdownWidth]=\"field.dropdownWidth\"\n [isItemTruncated]=\"false\"\n [maxVisibleItems]=\"field.maxVisibleItems\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleClassicPartChanged($event, field.part)\"\n ></ax-select-box>\n @if (!last) {\n <span class=\"ax-classic-datetime-separator\" aria-hidden=\"true\">-</span>\n }\n }\n </div>\n }\n @if (_classicHasTimePart) {\n <div class=\"ax-classic-datetime-group\">\n @for (field of _classicTimeFields; track field.part; let last = $last) {\n <ax-select-box\n look=\"none\"\n [class]=\"'ax-classic-' + field.part + '-select'\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_classicPartOptions(field.part)\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_classicPartValue(field.part)\"\n [dropdownWidth]=\"field.dropdownWidth\"\n [isItemTruncated]=\"false\"\n [maxVisibleItems]=\"field.maxVisibleItems\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleClassicPartChanged($event, field.part)\"\n ></ax-select-box>\n @if (!last) {\n <span class=\"ax-classic-datetime-separator\" aria-hidden=\"true\">:</span>\n }\n }\n </div>\n }\n </div>\n <ng-content select=\"ax-suffix\"></ng-content>\n </div>\n} @else {\n <ax-dropdown-box\n [look]=\"look\"\n [disabled]=\"disabled\"\n (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\"\n >\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ax-datetime-input\n dir=\"ltr\"\n [name]=\"name\"\n [ngModel]=\"_editingDateObj()\"\n id=\"{{ id }}-input\"\n [format]=\"_resolvedFormat()\"\n [picker]=\"picker()\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [allowTyping]=\"allowTyping()\"\n [calendar]=\"_calendarSystem()\"\n (onClick)=\"_handleInputOnClick()\"\n (onBlur)=\"_handleInputOnBlurEvent($event)\"\n (onFocus)=\"_handleInputOnFocusEvent($event)\"\n ></ax-datetime-input>\n @if (value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" class=\"ax-editor-button\" [tabIndex]=\"-1\" [disabled]=\"disabled\" (click)=\"toggle()\">\n <span class=\"ax-icon ax-icon-calendar\"></span>\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n </ng-container>\n <ng-container panel>\n <ax-datetime-picker\n #pickerRef\n [type]=\"_calendarSystem()\"\n [depth]=\"depth\"\n [ngModel]=\"_editingDateObj()\"\n [picker]=\"picker()\"\n [format]=\"_resolvedFormat()\"\n id=\"{{ id }}-picker\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [weekend]=\"weekend()\"\n [weekdays]=\"weekdays()\"\n [holidayDates]=\"holidayDates\"\n [calendar]=\"_calendarSystem()\"\n [disabledDates]=\"disabledDates\"\n [calendarLook]=\"calendarLook()\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (ngModelChange)=\"_handlePickerModelChange($event)\"\n ></ax-datetime-picker>\n </ng-container>\n </ax-dropdown-box>\n}\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: ["@layer components{ax-datetime-input{display:contents}ax-datetime-box .ax-classic-datetime-box{padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:var(--spacing,.25rem);height:auto;min-height:var(--ax-comp-editor-height);overflow:visible}ax-datetime-box .ax-classic-datetime-selects{flex-wrap:wrap;flex:1;justify-content:space-between;align-items:center;gap:1rem;min-width:12rem;display:flex;overflow:visible}ax-datetime-box .ax-classic-datetime-group{align-items:center;gap:.125rem;display:flex}ax-datetime-box .ax-classic-datetime-separator{font-size:var(--ax-comp-editor-font-size);color:rgba(var(--ax-comp-editor-text-color));opacity:.6;-webkit-user-select:none;user-select:none;pointer-events:none;flex:none;padding-inline:.125rem;line-height:1}ax-datetime-box .ax-classic-datetime-selects ax-select-box{flex:none;width:auto;display:inline-block}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-general-button-icon{display:none}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-editor-container,ax-datetime-box .ax-classic-datetime-selects ax-select-box ax-dropdown-box.ax-editor-container{gap:0;width:auto;overflow:visible}ax-datetime-box .ax-classic-datetime-selects ax-select-box ax-dropdown-box.ax-editor-container{--ax-comp-editor-space-start-size:0;--ax-comp-editor-space-end-size:0;justify-content:flex-start}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-chips-container{flex:none;width:auto}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-chips-container .ax-chips{text-overflow:unset;padding-inline:0;overflow:visible}app-demo-box .log-container{flex-direction:row-reverse;justify-content:space-between;display:flex}}\n/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */\n"] }]
331
319
  }], propDecorators: { input: [{
332
320
  type: ViewChild,
333
321
  args: [AXDateTimeInputComponent]
@@ -339,17 +327,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
339
327
  args: [AXDropdownBoxComponent]
340
328
  }], formatChange: [{
341
329
  type: Output
342
- }], __hostName: [{
330
+ }], allowTyping: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowTyping", required: false }] }], picker: [{ type: i0.Input, args: [{ isSignal: true, alias: "picker", required: false }] }], calendar: [{ type: i0.Input, args: [{ isSignal: true, alias: "calendar", required: false }] }], weekend: [{ type: i0.Input, args: [{ isSignal: true, alias: "weekend", required: false }] }], weekdays: [{ type: i0.Input, args: [{ isSignal: true, alias: "weekdays", required: false }] }], calendarLook: [{ type: i0.Input, args: [{ isSignal: true, alias: "calendarLook", required: false }] }], boxLook: [{ type: i0.Input, args: [{ isSignal: true, alias: "boxLook", required: false }] }], format: [{ type: i0.Input, args: [{ isSignal: true, alias: "format", required: false }] }], __hostName: [{
343
331
  type: HostBinding,
344
332
  args: ['attr.name']
345
333
  }] } });
346
334
 
347
335
  class AXDateTimeBoxModule {
348
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXDateTimeBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
349
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.3", ngImport: i0, type: AXDateTimeBoxModule, imports: [AXDateTimeBoxComponent], exports: [AXDateTimeBoxComponent] }); }
350
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXDateTimeBoxModule, imports: [AXDateTimeBoxComponent] }); }
336
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXDateTimeBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
337
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: AXDateTimeBoxModule, imports: [AXDateTimeBoxComponent], exports: [AXDateTimeBoxComponent] }); }
338
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXDateTimeBoxModule, imports: [AXDateTimeBoxComponent] }); }
351
339
  }
352
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXDateTimeBoxModule, decorators: [{
340
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXDateTimeBoxModule, decorators: [{
353
341
  type: NgModule,
354
342
  args: [{
355
343
  imports: [AXDateTimeBoxComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-datetime-box.mjs","sources":["../tmp-esm2022/datetime-box/lib/datetime-box.class.js","../tmp-esm2022/datetime-box/lib/datetime-box.component.js","../tmp-esm2022/datetime-box/lib/datetime-box.module.js","../tmp-esm2022/datetime-box/acorex-components-datetime-box.js"],"sourcesContent":["export const AX_DATETIME_BOX_CLASSIC_DATE_FIELDS = [\n { part: 'year', dropdownWidth: '70', maxVisibleItems: 10 },\n { part: 'month', dropdownWidth: '90', maxVisibleItems: 12 },\n { part: 'day', dropdownWidth: '50', maxVisibleItems: 10 },\n];\nexport const AX_DATETIME_BOX_CLASSIC_TIME_FIELDS = [\n { part: 'hour', dropdownWidth: '50', maxVisibleItems: 10 },\n { part: 'minute', dropdownWidth: '50', maxVisibleItems: 10 },\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtYm94LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9kYXRldGltZS1ib3gvc3JjL2xpYi9kYXRldGltZS1ib3guY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUJBLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFnQztJQUM5RSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFO0lBQzFELEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUU7SUFDM0QsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRTtDQUMxRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQWdDO0lBQzlFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUU7SUFDMUQsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRTtDQUM3RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGltZVVuaXQgfSBmcm9tICdAYWNvcmV4L2NvcmUvZGF0ZS10aW1lJztcblxuLyoqXG4gKiBDb250cm9scyBob3cgZGF0ZS90aW1lIGlzIGNob3NlbiBpbiB0aGUgZGF0ZXRpbWUgYm94LlxuICogLSBgZGVmYXVsdGA6IHRleHQgaW5wdXQgd2l0aCBjYWxlbmRhciBwb3B1cC5cbiAqIC0gYGNsYXNzaWNgOiBpbmxpbmUgc2VsZWN0IGJveGVzIGZvciB5ZWFyLCBtb250aCwgZGF5LCBhbmQgb3B0aW9uYWxseSBob3VyL21pbnV0ZS5cbiAqL1xuZXhwb3J0IHR5cGUgQVhEYXRlVGltZUJveExvb2tUeXBlID0gJ2RlZmF1bHQnIHwgJ2NsYXNzaWMnO1xuXG5leHBvcnQgdHlwZSBBWERhdGVUaW1lQm94Q2xhc3NpY1BhcnQgPSBFeHRyYWN0PFRpbWVVbml0LCAneWVhcicgfCAnbW9udGgnIHwgJ2RheScgfCAnaG91cicgfCAnbWludXRlJz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhEYXRlVGltZUJveENsYXNzaWNGaWVsZCB7XG4gIHBhcnQ6IEFYRGF0ZVRpbWVCb3hDbGFzc2ljUGFydDtcbiAgZHJvcGRvd25XaWR0aDogc3RyaW5nO1xuICBtYXhWaXNpYmxlSXRlbXM6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IEFYX0RBVEVUSU1FX0JPWF9DTEFTU0lDX0RBVEVfRklFTERTOiBBWERhdGVUaW1lQm94Q2xhc3NpY0ZpZWxkW10gPSBbXG4gIHsgcGFydDogJ3llYXInLCBkcm9wZG93bldpZHRoOiAnNzAnLCBtYXhWaXNpYmxlSXRlbXM6IDEwIH0sXG4gIHsgcGFydDogJ21vbnRoJywgZHJvcGRvd25XaWR0aDogJzkwJywgbWF4VmlzaWJsZUl0ZW1zOiAxMiB9LFxuICB7IHBhcnQ6ICdkYXknLCBkcm9wZG93bldpZHRoOiAnNTAnLCBtYXhWaXNpYmxlSXRlbXM6IDEwIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgQVhfREFURVRJTUVfQk9YX0NMQVNTSUNfVElNRV9GSUVMRFM6IEFYRGF0ZVRpbWVCb3hDbGFzc2ljRmllbGRbXSA9IFtcbiAgeyBwYXJ0OiAnaG91cicsIGRyb3Bkb3duV2lkdGg6ICc1MCcsIG1heFZpc2libGVJdGVtczogMTAgfSxcbiAgeyBwYXJ0OiAnbWludXRlJywgZHJvcGRvd25XaWR0aDogJzUwJywgbWF4VmlzaWJsZUl0ZW1zOiAxMCB9LFxuXTtcbiJdfQ==","import { AXClearableComponent, AXComponent, AXFocusableComponent, AXValuableComponent, MXInputBaseValueComponent, MXLookComponent, } from '@acorex/cdk/common';\nimport { MXCalendarBaseComponent, } from '@acorex/components/calendar';\nimport { AXDateTimeInputComponent } from '@acorex/components/datetime-input';\nimport { AXDateTimePickerComponent } from '@acorex/components/datetime-picker';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXDropdownBoxComponent, MXDropdownBoxBaseComponent } from '@acorex/components/dropdown';\nimport { AXSelectBoxComponent } from '@acorex/components/select-box';\nimport { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Output, ViewChild, ViewEncapsulation, computed, effect, forwardRef, input, linkedSignal, signal, } from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { AX_DATETIME_BOX_CLASSIC_DATE_FIELDS, AX_DATETIME_BOX_CLASSIC_TIME_FIELDS, } from './datetime-box.class';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\n/**\n * Represents a date and time input component that allows user interaction and triggers events.\n *\n * @category Components\n */\nexport class AXDateTimeBoxComponent extends classes((MXInputBaseValueComponent), MXCalendarBaseComponent, MXDropdownBoxBaseComponent, MXLookComponent, AXDecoratorGenericComponent) {\n constructor() {\n super(...arguments);\n /**\n * Emitted when the format of the component changes.\n *\n * @event\n */\n this.formatChange = new EventEmitter();\n /**\n * Indicates whether typing is allowed in the component.\n *\n * @defaultValue false\n */\n this.allowTyping = input(false, ...(ngDevMode ? [{ debugName: \"allowTyping\" }] : []));\n this.picker = input('datetime', ...(ngDevMode ? [{ debugName: \"picker\" }] : []));\n /**\n * @description The calendar type to use for the datetime input.\n */\n this.calendar = input(null, ...(ngDevMode ? [{ debugName: \"calendar\" }] : []));\n this.weekend = input([], ...(ngDevMode ? [{ debugName: \"weekend\" }] : []));\n this.weekdays = input([], ...(ngDevMode ? [{ debugName: \"weekdays\" }] : []));\n /**\n * Day view navigation style of the embedded calendar.\n */\n this.calendarLook = input('select', ...(ngDevMode ? [{ debugName: \"calendarLook\" }] : []));\n /**\n * Input style of the datetime box.\n * - `default`: text input with calendar popup.\n * - `classic`: inline select boxes for date/time parts.\n */\n this.boxLook = input('default', ...(ngDevMode ? [{ debugName: \"boxLook\" }] : []));\n /**\n * @deprecated use locale & mode instead\n */\n this.format = input(...(ngDevMode ? [undefined, { debugName: \"format\" }] : []));\n this._editingDateObj = signal(null, ...(ngDevMode ? [{ debugName: \"_editingDateObj\" }] : []));\n this._calendarSystem = linkedSignal(() => this.calendar() ?? this.type, ...(ngDevMode ? [{ debugName: \"_calendarSystem\" }] : []));\n this._format = linkedSignal(() => this.format(), ...(ngDevMode ? [{ debugName: \"_format\" }] : []));\n this.#effect = effect(() => {\n const profile = this.localeService.activeProfile();\n //\n if (!this.format()) {\n this._format.set(this.format() ?? profile.formats[this.picker()]?.short ?? '');\n }\n //\n if (!this.calendar()) {\n this._calendarSystem.set(profile.calendar.system);\n }\n }, ...(ngDevMode ? [{ debugName: \"#effect\" }] : []));\n this._classicDateFields = AX_DATETIME_BOX_CLASSIC_DATE_FIELDS;\n this._classicTimeFields = AX_DATETIME_BOX_CLASSIC_TIME_FIELDS;\n this._classicTimeOptions = {\n hour: Array.from({ length: 24 }, (_, i) => ({ id: i, text: String(i).padStart(2, '0') })),\n minute: Array.from({ length: 60 }, (_, i) => ({ id: i, text: String(i).padStart(2, '0') })),\n };\n this._classicDate = computed(() => {\n const value = this._editingDateObj();\n return value\n ? this.calendarService.create(value, this._calendarSystem())\n : this.calendarService.now(this._calendarSystem());\n }, ...(ngDevMode ? [{ debugName: \"_classicDate\" }] : []));\n this._classicYearOptions = computed(() => {\n const current = this._classicDate();\n const minYear = this.minValue\n ? this.calendarService.create(this.minValue, this._calendarSystem()).year\n : current.year - 100;\n const maxYear = this.maxValue\n ? this.calendarService.create(this.maxValue, this._calendarSystem()).year\n : current.year + 10;\n return Array.from({ length: maxYear - minYear + 1 }, (_, i) => ({\n id: minYear + i,\n text: String(minYear + i),\n }));\n }, ...(ngDevMode ? [{ debugName: \"_classicYearOptions\" }] : []));\n this._classicMonthOptions = computed(() => {\n const calendar = this._classicDate().calendar.name();\n return Array.from({ length: 12 }, (_, i) => ({\n id: i + 1,\n text: `@acorex:dateTime.months.${calendar}.short.${i}`,\n }));\n }, ...(ngDevMode ? [{ debugName: \"_classicMonthOptions\" }] : []));\n this._classicDayOptions = computed(() => {\n const daysInMonth = this._classicDate().endOf('month').dayOfMonth;\n return Array.from({ length: daysInMonth }, (_, i) => ({\n id: i + 1,\n text: String(i + 1).padStart(2, '0'),\n }));\n }, ...(ngDevMode ? [{ debugName: \"_classicDayOptions\" }] : []));\n }\n #effect;\n get _classicBoxClass() {\n return `ax-editor-container ax-default ax-classic-datetime-box ax-${this.look}${this.disabled ? ' ax-state-disabled' : ''}`;\n }\n get _classicHasDatePart() {\n const mode = this.picker();\n return mode === 'date' || mode === 'datetime';\n }\n get _classicHasTimePart() {\n const mode = this.picker();\n return mode === 'time' || mode === 'datetime';\n }\n /**\n * @ignore\n */\n _classicPartValue(part) {\n if (!this._editingDateObj())\n return null;\n const date = this._classicDate();\n const values = {\n year: date.year,\n month: date.monthOfYear,\n day: date.dayOfMonth,\n hour: date.hour,\n minute: date.minute,\n };\n const id = values[part];\n return this._classicPartOptions(part).find((option) => option.id === id) ?? { id, text: String(id) };\n }\n /**\n * @ignore\n */\n _classicPartOptions(part) {\n switch (part) {\n case 'year':\n return this._classicYearOptions();\n case 'month':\n return this._classicMonthOptions();\n case 'day':\n return this._classicDayOptions();\n case 'hour':\n return this._classicTimeOptions.hour;\n case 'minute':\n return this._classicTimeOptions.minute;\n }\n }\n /**\n * @ignore\n */\n _handlePickerModelChange(value) {\n if (this.isOpen) {\n this.commitValue(value, true);\n }\n }\n /**\n * @ignore\n */\n _handleOnOpenedEvent(e) {\n //this.emitOnFocusEvent(null);\n this.emitOnOpenedEvent();\n }\n /**\n * @ignore\n */\n _handleOnClosedEvent(e) {\n //this.emitOnBlurEvent(null);\n this.input?.focus();\n this.emitOnClosedEvent();\n }\n /**\n * @ignore\n */\n _handleInputOnFocusEvent(e) {\n this.emitOnFocusEvent(e.nativeEvent);\n }\n /**\n * @ignore\n */\n _handleInputOnBlurEvent(e) {\n this.emitOnBlurEvent(e.nativeEvent);\n }\n /**\n * @ignore\n */\n _handleCalendarOnNavigate(e) {\n this.onNavigate.emit(e);\n }\n /**\n * Handles changes to the internal value.\n * @param value The new value that was set.\n * @ignore\n */\n internalValueChanged(value) {\n try {\n if (this.calendarService.isValidDate(value)) {\n this._editingDateObj.set(this.calendarService.create(value, this.calendar()).date);\n }\n else {\n throw new Error();\n }\n }\n catch {\n this._editingDateObj.set(null);\n }\n this.commitValue(this._editingDateObj(), false);\n if (this.boxLook() !== 'classic') {\n this.close();\n }\n }\n /**\n * @ignore\n */\n _handleClassicPartChanged(e, part) {\n if (!e.isUserInteraction)\n return;\n const partValue = this._readSelectValue(e.value);\n if (partValue == null)\n return;\n let date = this._editingDateObj()\n ? this.calendarService.create(this._editingDateObj(), this._calendarSystem())\n : this.calendarService.now(this._calendarSystem());\n date = date.set(part, partValue);\n if (part === 'year' || part === 'month') {\n const maxDay = date.endOf('month').dayOfMonth;\n if (date.dayOfMonth > maxDay) {\n date = date.set('day', maxDay);\n }\n }\n this._editingDateObj.set(date.date);\n this.commitValue(date.date, true);\n }\n /**\n * @ignore\n */\n _readSelectValue(value) {\n if (Array.isArray(value))\n return value[0]?.id ?? null;\n if (value && typeof value === 'object')\n return value.id ?? null;\n return value != null ? Number(value) : null;\n }\n /**\n * @ignore\n */\n _handleInputOnClick() {\n if (!this.allowTyping()) {\n this.open();\n }\n else {\n this.close();\n }\n }\n get __hostName() {\n return this.name;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXDateTimeBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.3\", type: AXDateTimeBoxComponent, isStandalone: true, selector: \"ax-datetime-box\", inputs: { disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: \"readonly\", publicName: \"readonly\", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: \"tabIndex\", publicName: \"tabIndex\", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: \"placeholder\", publicName: \"placeholder\", isSignal: false, isRequired: false, transformFunction: null }, minValue: { classPropertyName: \"minValue\", publicName: \"minValue\", isSignal: false, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: \"maxValue\", publicName: \"maxValue\", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: \"state\", publicName: \"state\", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: \"name\", publicName: \"name\", isSignal: false, isRequired: false, transformFunction: null }, depth: { classPropertyName: \"depth\", publicName: \"depth\", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: \"id\", publicName: \"id\", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: \"type\", publicName: \"type\", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: \"look\", publicName: \"look\", isSignal: false, isRequired: false, transformFunction: null }, holidayDates: { classPropertyName: \"holidayDates\", publicName: \"holidayDates\", isSignal: false, isRequired: false, transformFunction: null }, allowTyping: { classPropertyName: \"allowTyping\", publicName: \"allowTyping\", isSignal: true, isRequired: false, transformFunction: null }, picker: { classPropertyName: \"picker\", publicName: \"picker\", isSignal: true, isRequired: false, transformFunction: null }, calendar: { classPropertyName: \"calendar\", publicName: \"calendar\", isSignal: true, isRequired: false, transformFunction: null }, weekend: { classPropertyName: \"weekend\", publicName: \"weekend\", isSignal: true, isRequired: false, transformFunction: null }, weekdays: { classPropertyName: \"weekdays\", publicName: \"weekdays\", isSignal: true, isRequired: false, transformFunction: null }, calendarLook: { classPropertyName: \"calendarLook\", publicName: \"calendarLook\", isSignal: true, isRequired: false, transformFunction: null }, boxLook: { classPropertyName: \"boxLook\", publicName: \"boxLook\", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: \"format\", publicName: \"format\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: \"valueChange\", stateChange: \"stateChange\", onValueChanged: \"onValueChanged\", onBlur: \"onBlur\", onFocus: \"onFocus\", onOpened: \"onOpened\", onClosed: \"onClosed\", readonlyChange: \"readonlyChange\", disabledChange: \"disabledChange\", formatChange: \"formatChange\" }, host: { attributes: { \"ngSkipHydration\": \"true\" }, properties: { \"attr.name\": \"this.__hostName\" } }, providers: [\n { provide: AXComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXClearableComponent, useExisting: AXDateTimeBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimeBoxComponent),\n multi: true,\n },\n ], viewQueries: [{ propertyName: \"input\", first: true, predicate: AXDateTimeInputComponent, descendants: true }, { propertyName: \"pickerRef\", first: true, predicate: AXDateTimePickerComponent, descendants: true }, { propertyName: \"dropdown\", first: true, predicate: AXDropdownBoxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: \"@if (boxLook() === 'classic') {\\n <div [class]=\\\"_classicBoxClass\\\">\\n <ng-content select=\\\"ax-prefix\\\"></ng-content>\\n <div class=\\\"ax-classic-datetime-selects\\\" dir=\\\"ltr\\\">\\n @if (_classicHasDatePart) {\\n <div class=\\\"ax-classic-datetime-group\\\">\\n @for (field of _classicDateFields; track field.part; let last = $last) {\\n <ax-select-box\\n look=\\\"none\\\"\\n [class]=\\\"'ax-classic-' + field.part + '-select'\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [dataSource]=\\\"_classicPartOptions(field.part)\\\"\\n textField=\\\"text\\\"\\n valueField=\\\"id\\\"\\n [ngModel]=\\\"_classicPartValue(field.part)\\\"\\n [dropdownWidth]=\\\"field.dropdownWidth\\\"\\n [isItemTruncated]=\\\"false\\\"\\n [maxVisibleItems]=\\\"field.maxVisibleItems\\\"\\n [itemHeight]=\\\"32\\\"\\n (onValueChanged)=\\\"_handleClassicPartChanged($event, field.part)\\\"\\n ></ax-select-box>\\n @if (!last) {\\n <span class=\\\"ax-classic-datetime-separator\\\" aria-hidden=\\\"true\\\">-</span>\\n }\\n }\\n </div>\\n }\\n @if (_classicHasTimePart) {\\n <div class=\\\"ax-classic-datetime-group\\\">\\n @for (field of _classicTimeFields; track field.part; let last = $last) {\\n <ax-select-box\\n look=\\\"none\\\"\\n [class]=\\\"'ax-classic-' + field.part + '-select'\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [dataSource]=\\\"_classicPartOptions(field.part)\\\"\\n textField=\\\"text\\\"\\n valueField=\\\"id\\\"\\n [ngModel]=\\\"_classicPartValue(field.part)\\\"\\n [dropdownWidth]=\\\"field.dropdownWidth\\\"\\n [isItemTruncated]=\\\"false\\\"\\n [maxVisibleItems]=\\\"field.maxVisibleItems\\\"\\n [itemHeight]=\\\"32\\\"\\n (onValueChanged)=\\\"_handleClassicPartChanged($event, field.part)\\\"\\n ></ax-select-box>\\n @if (!last) {\\n <span class=\\\"ax-classic-datetime-separator\\\" aria-hidden=\\\"true\\\">:</span>\\n }\\n }\\n </div>\\n }\\n </div>\\n <ng-content select=\\\"ax-suffix\\\"></ng-content>\\n </div>\\n} @else {\\n <ax-dropdown-box\\n [look]=\\\"look\\\"\\n [disabled]=\\\"disabled\\\"\\n (onOpened)=\\\"_handleOnOpenedEvent($event)\\\"\\n (onClosed)=\\\"_handleOnClosedEvent($event)\\\"\\n >\\n <ng-container input>\\n <ng-content select=\\\"ax-prefix\\\"> </ng-content>\\n <ax-datetime-input\\n dir=\\\"ltr\\\"\\n [name]=\\\"name\\\"\\n [ngModel]=\\\"_editingDateObj()\\\"\\n id=\\\"{{ id }}-input\\\"\\n [format]=\\\"format()\\\"\\n [picker]=\\\"picker()\\\"\\n [readonly]=\\\"readonly\\\"\\n [disabled]=\\\"disabled\\\"\\n [placeholder]=\\\"placeholder\\\"\\n [allowTyping]=\\\"allowTyping()\\\"\\n [calendar]=\\\"_calendarSystem()\\\"\\n (onClick)=\\\"_handleInputOnClick()\\\"\\n (onBlur)=\\\"_handleInputOnBlurEvent($event)\\\"\\n (onFocus)=\\\"_handleInputOnFocusEvent($event)\\\"\\n ></ax-datetime-input>\\n @if (value && !disabled && !readonly) {\\n <ng-content select=\\\"ax-clear-button\\\"></ng-content>\\n }\\n <button type=\\\"button\\\" class=\\\"ax-editor-button\\\" [tabIndex]=\\\"-1\\\" [disabled]=\\\"disabled\\\" (click)=\\\"toggle()\\\">\\n <span class=\\\"ax-icon ax-icon-calendar\\\"></span>\\n </button>\\n <ng-content select=\\\"ax-suffix\\\"> </ng-content>\\n </ng-container>\\n <ng-container panel>\\n <ax-datetime-picker\\n #pickerRef\\n [type]=\\\"type\\\"\\n [depth]=\\\"depth\\\"\\n [ngModel]=\\\"_editingDateObj()\\\"\\n [picker]=\\\"picker()\\\"\\n [format]=\\\"format()\\\"\\n id=\\\"{{ id }}-picker\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [minValue]=\\\"minValue\\\"\\n [maxValue]=\\\"maxValue\\\"\\n [weekend]=\\\"weekend()\\\"\\n [weekdays]=\\\"weekdays()\\\"\\n [holidayDates]=\\\"holidayDates\\\"\\n [calendar]=\\\"_calendarSystem()\\\"\\n [disabledDates]=\\\"disabledDates\\\"\\n [calendarLook]=\\\"calendarLook()\\\"\\n (onNavigate)=\\\"_handleCalendarOnNavigate($event)\\\"\\n (ngModelChange)=\\\"_handlePickerModelChange($event)\\\"\\n ></ax-datetime-picker>\\n </ng-container>\\n </ax-dropdown-box>\\n}\\n<ng-content select=\\\"ax-validation-rule\\\"> </ng-content>\\n\", styles: [\"ax-datetime-input{display:contents}ax-datetime-box .ax-classic-datetime-box{overflow:visible;height:auto;min-height:var(--ax-comp-editor-height)}ax-datetime-box .ax-classic-datetime-selects{display:flex;flex:1;align-items:center;justify-content:space-between;gap:1rem;min-width:12rem;flex-wrap:wrap;overflow:visible}ax-datetime-box .ax-classic-datetime-group{display:flex;align-items:center;gap:.125rem}ax-datetime-box .ax-classic-datetime-separator{flex:0 0 auto;padding-inline:.125rem;font-size:var(--ax-comp-editor-font-size);line-height:1;color:rgba(var(--ax-comp-editor-text-color));opacity:.6;-webkit-user-select:none;user-select:none;pointer-events:none}ax-datetime-box .ax-classic-datetime-selects ax-select-box{display:inline-block;width:auto;flex:0 0 auto}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-editor-button{display:none}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-editor-container,ax-datetime-box .ax-classic-datetime-selects ax-select-box ax-dropdown-box.ax-editor-container{gap:0;width:auto;overflow:visible}ax-datetime-box .ax-classic-datetime-selects ax-select-box ax-dropdown-box.ax-editor-container{--ax-comp-editor-space-start-size: 0;--ax-comp-editor-space-end-size: 0;justify-content:flex-start}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-chips-container{flex:0 0 auto;width:auto}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-chips-container .ax-chips{overflow:visible;text-overflow:unset;padding-inline:0}\\n\"], dependencies: [{ kind: \"component\", type: AXDropdownBoxComponent, selector: \"ax-dropdown-box\", inputs: [\"disabled\", \"look\", \"hasInput\", \"popoverWidth\"], outputs: [\"disabledChange\", \"onBlur\", \"onFocus\", \"onClick\", \"onOpened\", \"onClosed\"] }, { kind: \"component\", type: AXDateTimeInputComponent, selector: \"ax-datetime-input\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"value\", \"state\", \"name\", \"id\", \"allowTyping\", \"calendar\", \"minValue\", \"maxValue\", \"picker\", \"format\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onClick\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"component\", type: AXDateTimePickerComponent, selector: \"ax-datetime-picker\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"value\", \"state\", \"name\", \"id\", \"depth\", \"activeView\", \"minValue\", \"maxValue\", \"disabledDates\", \"holidayDates\", \"type\", \"cellTemplate\", \"cellClass\", \"showNavigation\", \"weekend\", \"weekdays\", \"calendarLook\", \"currentTimeButton\", \"calendar\", \"picker\", \"format\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"onClick\", \"readonlyChange\", \"disabledChange\", \"depthChange\", \"typeChange\", \"activeViewChange\", \"disabledDatesChange\", \"holidayDatesChange\", \"onNavigate\", \"onSlotClick\"] }, { kind: \"component\", type: AXSelectBoxComponent, selector: \"ax-select-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"minValue\", \"maxValue\", \"value\", \"state\", \"name\", \"id\", \"type\", \"look\", \"multiple\", \"valueField\", \"textField\", \"disabledField\", \"textTemplate\", \"selectedItems\", \"isItemTruncated\", \"showItemTooltip\", \"itemHeight\", \"maxVisibleItems\", \"dataSource\", \"minRecordsForSearch\", \"caption\", \"itemTemplate\", \"selectedTemplate\", \"emptyTemplate\", \"loadingTemplate\", \"dropdownWidth\", \"searchBoxAutoFocus\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onOpened\", \"onClosed\", \"onItemSelected\", \"onItemClick\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXDateTimeBoxComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-datetime-box', inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'placeholder',\n 'minValue',\n 'maxValue',\n 'value',\n 'state',\n 'name',\n 'depth',\n 'id',\n 'type',\n 'look',\n 'holidayDates',\n ], outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'onOpened',\n 'onClosed',\n 'readonlyChange',\n 'disabledChange',\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [\n { provide: AXComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXClearableComponent, useExisting: AXDateTimeBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimeBoxComponent),\n multi: true,\n },\n ], host: { ngSkipHydration: 'true' }, imports: [\n AXDropdownBoxComponent,\n AXDateTimeInputComponent,\n FormsModule,\n AXDateTimePickerComponent,\n AXSelectBoxComponent,\n ], template: \"@if (boxLook() === 'classic') {\\n <div [class]=\\\"_classicBoxClass\\\">\\n <ng-content select=\\\"ax-prefix\\\"></ng-content>\\n <div class=\\\"ax-classic-datetime-selects\\\" dir=\\\"ltr\\\">\\n @if (_classicHasDatePart) {\\n <div class=\\\"ax-classic-datetime-group\\\">\\n @for (field of _classicDateFields; track field.part; let last = $last) {\\n <ax-select-box\\n look=\\\"none\\\"\\n [class]=\\\"'ax-classic-' + field.part + '-select'\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [dataSource]=\\\"_classicPartOptions(field.part)\\\"\\n textField=\\\"text\\\"\\n valueField=\\\"id\\\"\\n [ngModel]=\\\"_classicPartValue(field.part)\\\"\\n [dropdownWidth]=\\\"field.dropdownWidth\\\"\\n [isItemTruncated]=\\\"false\\\"\\n [maxVisibleItems]=\\\"field.maxVisibleItems\\\"\\n [itemHeight]=\\\"32\\\"\\n (onValueChanged)=\\\"_handleClassicPartChanged($event, field.part)\\\"\\n ></ax-select-box>\\n @if (!last) {\\n <span class=\\\"ax-classic-datetime-separator\\\" aria-hidden=\\\"true\\\">-</span>\\n }\\n }\\n </div>\\n }\\n @if (_classicHasTimePart) {\\n <div class=\\\"ax-classic-datetime-group\\\">\\n @for (field of _classicTimeFields; track field.part; let last = $last) {\\n <ax-select-box\\n look=\\\"none\\\"\\n [class]=\\\"'ax-classic-' + field.part + '-select'\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [dataSource]=\\\"_classicPartOptions(field.part)\\\"\\n textField=\\\"text\\\"\\n valueField=\\\"id\\\"\\n [ngModel]=\\\"_classicPartValue(field.part)\\\"\\n [dropdownWidth]=\\\"field.dropdownWidth\\\"\\n [isItemTruncated]=\\\"false\\\"\\n [maxVisibleItems]=\\\"field.maxVisibleItems\\\"\\n [itemHeight]=\\\"32\\\"\\n (onValueChanged)=\\\"_handleClassicPartChanged($event, field.part)\\\"\\n ></ax-select-box>\\n @if (!last) {\\n <span class=\\\"ax-classic-datetime-separator\\\" aria-hidden=\\\"true\\\">:</span>\\n }\\n }\\n </div>\\n }\\n </div>\\n <ng-content select=\\\"ax-suffix\\\"></ng-content>\\n </div>\\n} @else {\\n <ax-dropdown-box\\n [look]=\\\"look\\\"\\n [disabled]=\\\"disabled\\\"\\n (onOpened)=\\\"_handleOnOpenedEvent($event)\\\"\\n (onClosed)=\\\"_handleOnClosedEvent($event)\\\"\\n >\\n <ng-container input>\\n <ng-content select=\\\"ax-prefix\\\"> </ng-content>\\n <ax-datetime-input\\n dir=\\\"ltr\\\"\\n [name]=\\\"name\\\"\\n [ngModel]=\\\"_editingDateObj()\\\"\\n id=\\\"{{ id }}-input\\\"\\n [format]=\\\"format()\\\"\\n [picker]=\\\"picker()\\\"\\n [readonly]=\\\"readonly\\\"\\n [disabled]=\\\"disabled\\\"\\n [placeholder]=\\\"placeholder\\\"\\n [allowTyping]=\\\"allowTyping()\\\"\\n [calendar]=\\\"_calendarSystem()\\\"\\n (onClick)=\\\"_handleInputOnClick()\\\"\\n (onBlur)=\\\"_handleInputOnBlurEvent($event)\\\"\\n (onFocus)=\\\"_handleInputOnFocusEvent($event)\\\"\\n ></ax-datetime-input>\\n @if (value && !disabled && !readonly) {\\n <ng-content select=\\\"ax-clear-button\\\"></ng-content>\\n }\\n <button type=\\\"button\\\" class=\\\"ax-editor-button\\\" [tabIndex]=\\\"-1\\\" [disabled]=\\\"disabled\\\" (click)=\\\"toggle()\\\">\\n <span class=\\\"ax-icon ax-icon-calendar\\\"></span>\\n </button>\\n <ng-content select=\\\"ax-suffix\\\"> </ng-content>\\n </ng-container>\\n <ng-container panel>\\n <ax-datetime-picker\\n #pickerRef\\n [type]=\\\"type\\\"\\n [depth]=\\\"depth\\\"\\n [ngModel]=\\\"_editingDateObj()\\\"\\n [picker]=\\\"picker()\\\"\\n [format]=\\\"format()\\\"\\n id=\\\"{{ id }}-picker\\\"\\n [disabled]=\\\"disabled\\\"\\n [readonly]=\\\"readonly\\\"\\n [minValue]=\\\"minValue\\\"\\n [maxValue]=\\\"maxValue\\\"\\n [weekend]=\\\"weekend()\\\"\\n [weekdays]=\\\"weekdays()\\\"\\n [holidayDates]=\\\"holidayDates\\\"\\n [calendar]=\\\"_calendarSystem()\\\"\\n [disabledDates]=\\\"disabledDates\\\"\\n [calendarLook]=\\\"calendarLook()\\\"\\n (onNavigate)=\\\"_handleCalendarOnNavigate($event)\\\"\\n (ngModelChange)=\\\"_handlePickerModelChange($event)\\\"\\n ></ax-datetime-picker>\\n </ng-container>\\n </ax-dropdown-box>\\n}\\n<ng-content select=\\\"ax-validation-rule\\\"> </ng-content>\\n\", styles: [\"ax-datetime-input{display:contents}ax-datetime-box .ax-classic-datetime-box{overflow:visible;height:auto;min-height:var(--ax-comp-editor-height)}ax-datetime-box .ax-classic-datetime-selects{display:flex;flex:1;align-items:center;justify-content:space-between;gap:1rem;min-width:12rem;flex-wrap:wrap;overflow:visible}ax-datetime-box .ax-classic-datetime-group{display:flex;align-items:center;gap:.125rem}ax-datetime-box .ax-classic-datetime-separator{flex:0 0 auto;padding-inline:.125rem;font-size:var(--ax-comp-editor-font-size);line-height:1;color:rgba(var(--ax-comp-editor-text-color));opacity:.6;-webkit-user-select:none;user-select:none;pointer-events:none}ax-datetime-box .ax-classic-datetime-selects ax-select-box{display:inline-block;width:auto;flex:0 0 auto}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-editor-button{display:none}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-editor-container,ax-datetime-box .ax-classic-datetime-selects ax-select-box ax-dropdown-box.ax-editor-container{gap:0;width:auto;overflow:visible}ax-datetime-box .ax-classic-datetime-selects ax-select-box ax-dropdown-box.ax-editor-container{--ax-comp-editor-space-start-size: 0;--ax-comp-editor-space-end-size: 0;justify-content:flex-start}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-chips-container{flex:0 0 auto;width:auto}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-chips-container .ax-chips{overflow:visible;text-overflow:unset;padding-inline:0}\\n\"] }]\n }], propDecorators: { input: [{\n type: ViewChild,\n args: [AXDateTimeInputComponent]\n }], pickerRef: [{\n type: ViewChild,\n args: [AXDateTimePickerComponent]\n }], dropdown: [{\n type: ViewChild,\n args: [AXDropdownBoxComponent]\n }], formatChange: [{\n type: Output\n }], __hostName: [{\n type: HostBinding,\n args: ['attr.name']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZGF0ZXRpbWUtYm94L3NyYy9saWIvZGF0ZXRpbWUtYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZGF0ZXRpbWUtYm94L3NyYy9saWIvZGF0ZXRpbWUtYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsV0FBVyxFQUdYLG9CQUFvQixFQUNwQixtQkFBbUIsRUFFbkIseUJBQXlCLEVBQ3pCLGVBQWUsR0FDaEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBSUwsdUJBQXVCLEdBQ3hCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDN0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDL0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsTUFBTSxFQUNOLFVBQVUsRUFDVixLQUFLLEVBQ0wsWUFBWSxFQUNaLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFF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TixjQUFjO3FCQUNmLFdBQ1E7d0JBQ1AsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsUUFBUTt3QkFDUixTQUFTO3dCQUNULFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjtxQkFDakIsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsd0JBQXdCLEVBQUU7d0JBQzdELEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsd0JBQXdCLEVBQUU7d0JBQ3RFLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsd0JBQXdCLEVBQUU7d0JBQ3JFLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsd0JBQXdCLEVBQUU7d0JBQ3RFOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDOzRCQUNyRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixRQUNLLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxXQUN4Qjt3QkFDUCxzQkFBc0I7d0JBQ3RCLHdCQUF3Qjt3QkFDeEIsV0FBVzt3QkFDWCx5QkFBeUI7d0JBQ3pCLG9CQUFvQjtxQkFDckI7OEJBYVMsS0FBSztzQkFEZCxTQUFTO3VCQUFDLHdCQUF3QjtnQkFPekIsU0FBUztzQkFEbEIsU0FBUzt1QkFBQyx5QkFBeUI7Z0JBTzFCLFFBQVE7c0JBRGpCLFNBQVM7dUJBQUMsc0JBQXNCO2dCQVNqQyxZQUFZO3NCQURYLE1BQU07Z0JBMlFLLFVBQVU7c0JBRHJCLFdBQVc7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYQ2xlYXJhYmxlQ29tcG9uZW50LFxuICBBWENvbXBvbmVudCxcbiAgQVhFdmVudCxcbiAgQVhGb2N1c0V2ZW50LFxuICBBWEZvY3VzYWJsZUNvbXBvbmVudCxcbiAgQVhWYWx1YWJsZUNvbXBvbmVudCxcbiAgQVhWYWx1ZUNoYW5nZWRFdmVudCxcbiAgTVhJbnB1dEJhc2VWYWx1ZUNvbXBvbmVudCxcbiAgTVhMb29rQ29tcG9uZW50LFxufSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHtcbiAgQVhDYWxlbmRhck5hdmlnYXRlRXZlbnQsXG4gIEFYQ2FsZW5kYXJOYXZpZ2F0aW9uTG9va1R5cGUsXG4gIEFYRGF0ZVRpbWVQaWNrZXJUeXBlLFxuICBNWENhbGVuZGFyQmFzZUNvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NhbGVuZGFyJztcbmltcG9ydCB7IEFYRGF0ZVRpbWVJbnB1dENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kYXRldGltZS1pbnB1dCc7XG5pbXBvcnQgeyBBWERhdGVUaW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlcic7XG5pbXBvcnQgeyBBWERlY29yYXRvckdlbmVyaWNDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWERyb3Bkb3duQm94Q29tcG9uZW50LCBNWERyb3Bkb3duQm94QmFzZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBBWFNlbGVjdEJveENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWxlY3QtYm94JztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgY29tcHV0ZWQsXG4gIGVmZmVjdCxcbiAgZm9yd2FyZFJlZixcbiAgaW5wdXQsXG4gIGxpbmtlZFNpZ25hbCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICdwb2x5dHlwZSc7XG5pbXBvcnQge1xuICBBWERhdGVUaW1lQm94Q2xhc3NpY1BhcnQsXG4gIEFYRGF0ZVRpbWVCb3hMb29rVHlwZSxcbiAgQVhfREFURVRJTUVfQk9YX0NMQVNTSUNfREFURV9GSUVMRFMsXG4gIEFYX0RBVEVUSU1FX0JPWF9DTEFTU0lDX1RJTUVfRklFTERTLFxufSBmcm9tICcuL2RhdGV0aW1lLWJveC5jbGFzcyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGRhdGUgYW5kIHRpbWUgaW5wdXQgY29tcG9uZW50IHRoYXQgYWxsb3dzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGV2ZW50cy5cbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1kYXRldGltZS1ib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXRpbWUtYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2RhdGV0aW1lLWJveC5jb21wb25lbnQuc2NzcycsXG4gIGlucHV0czogW1xuICAgICdkaXNhYmxlZCcsXG4gICAgJ3JlYWRvbmx5JyxcbiAgICAndGFiSW5kZXgnLFxuICAgICdwbGFjZWhvbGRlcicsXG4gICAgJ21pblZhbHVlJyxcbiAgICAnbWF4VmFsdWUnLFxuICAgICd2YWx1ZScsXG4gICAgJ3N0YXRlJyxcbiAgICAnbmFtZScsXG4gICAgJ2RlcHRoJyxcbiAgICAnaWQnLFxuICAgICd0eXBlJyxcbiAgICAnbG9vaycsXG4gICAgJ2hvbGlkYXlEYXRlcycsXG4gIF0sXG4gIG91dHB1dHM6IFtcbiAgICAndmFsdWVDaGFuZ2UnLFxuICAgICdzdGF0ZUNoYW5nZScsXG4gICAgJ29uVmFsdWVDaGFuZ2VkJyxcbiAgICAnb25CbHVyJyxcbiAgICAnb25Gb2N1cycsXG4gICAgJ29uT3BlbmVkJyxcbiAgICAnb25DbG9zZWQnLFxuICAgICdyZWFkb25seUNoYW5nZScsXG4gICAgJ2Rpc2FibGVkQ2hhbmdlJyxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogQVhDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWERhdGVUaW1lQm94Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWEZvY3VzYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYRGF0ZVRpbWVCb3hDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYVmFsdWFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWERhdGVUaW1lQm94Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWENsZWFyYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYRGF0ZVRpbWVCb3hDb21wb25lbnQgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFYRGF0ZVRpbWVCb3hDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgaG9zdDogeyBuZ1NraXBIeWRyYXRpb246ICd0cnVlJyB9LFxuICBpbXBvcnRzOiBbXG4gICAgQVhEcm9wZG93bkJveENvbXBvbmVudCxcbiAgICBBWERhdGVUaW1lSW5wdXRDb21wb25lbnQsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQVhEYXRlVGltZVBpY2tlckNvbXBvbmVudCxcbiAgICBBWFNlbGVjdEJveENvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhEYXRlVGltZUJveENvbXBvbmVudCBleHRlbmRzIGNsYXNzZXMoXG4gIE1YSW5wdXRCYXNlVmFsdWVDb21wb25lbnQ8RGF0ZT4sXG4gIE1YQ2FsZW5kYXJCYXNlQ29tcG9uZW50LFxuICBNWERyb3Bkb3duQm94QmFzZUNvbXBvbmVudCxcbiAgTVhMb29rQ29tcG9uZW50LFxuICBBWERlY29yYXRvckdlbmVyaWNDb21wb25lbnQsXG4pIHtcbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBAVmlld0NoaWxkKEFYRGF0ZVRpbWVJbnB1dENvbXBvbmVudClcbiAgcHJvdGVjdGVkIGlucHV0OiBBWERhdGVUaW1lSW5wdXRDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBAVmlld0NoaWxkKEFYRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQpXG4gIHByb3RlY3RlZCBwaWNrZXJSZWY6IEFYRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBAVmlld0NoaWxkKEFYRHJvcGRvd25Cb3hDb21wb25lbnQpXG4gIHByb3RlY3RlZCBkcm9wZG93bjogQVhEcm9wZG93bkJveENvbXBvbmVudDtcblxuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBmb3JtYXQgb2YgdGhlIGNvbXBvbmVudCBjaGFuZ2VzLlxuICAgKlxuICAgKiBAZXZlbnRcbiAgICovXG4gIEBPdXRwdXQoKVxuICBmb3JtYXRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdHlwaW5nIGlzIGFsbG93ZWQgaW4gdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dUeXBpbmcgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cbiAgcmVhZG9ubHkgcGlja2VyID0gaW5wdXQ8QVhEYXRlVGltZVBpY2tlclR5cGU+KCdkYXRldGltZScpO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIGNhbGVuZGFyIHR5cGUgdG8gdXNlIGZvciB0aGUgZGF0ZXRpbWUgaW5wdXQuXG4gICAqL1xuICByZWFkb25seSBjYWxlbmRhciA9IGlucHV0PHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gIHJlYWRvbmx5IHdlZWtlbmQgPSBpbnB1dDxudW1iZXJbXT4oW10pO1xuICByZWFkb25seSB3ZWVrZGF5cyA9IGlucHV0PG51bWJlcltdPihbXSk7XG5cbiAgLyoqXG4gICAqIERheSB2aWV3IG5hdmlnYXRpb24gc3R5bGUgb2YgdGhlIGVtYmVkZGVkIGNhbGVuZGFyLlxuICAgKi9cbiAgcmVhZG9ubHkgY2FsZW5kYXJMb29rID0gaW5wdXQ8QVhDYWxlbmRhck5hdmlnYXRpb25Mb29rVHlwZT4oJ3NlbGVjdCcpO1xuXG4gIC8qKlxuICAgKiBJbnB1dCBzdHlsZSBvZiB0aGUgZGF0ZXRpbWUgYm94LlxuICAgKiAtIGBkZWZhdWx0YDogdGV4dCBpbnB1dCB3aXRoIGNhbGVuZGFyIHBvcHVwLlxuICAgKiAtIGBjbGFzc2ljYDogaW5saW5lIHNlbGVjdCBib3hlcyBmb3IgZGF0ZS90aW1lIHBhcnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgYm94TG9vayA9IGlucHV0PEFYRGF0ZVRpbWVCb3hMb29rVHlwZT4oJ2RlZmF1bHQnKTtcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGxvY2FsZSAmIG1vZGUgaW5zdGVhZFxuICAgKi9cbiAgcmVhZG9ubHkgZm9ybWF0ID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4oKTtcblxuICBwcm90ZWN0ZWQgX2VkaXRpbmdEYXRlT2JqID0gc2lnbmFsPERhdGUgfCBudWxsPihudWxsKTtcblxuICBwcm90ZWN0ZWQgX2NhbGVuZGFyU3lzdGVtID0gbGlua2VkU2lnbmFsPHN0cmluZyB8IG51bGw+KCgpID0+IHRoaXMuY2FsZW5kYXIoKSA/PyB0aGlzLnR5cGUpO1xuXG4gIHByaXZhdGUgX2Zvcm1hdCA9IGxpbmtlZFNpZ25hbDxzdHJpbmc+KCgpID0+IHRoaXMuZm9ybWF0KCkpO1xuXG4gICNlZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHByb2ZpbGUgPSB0aGlzLmxvY2FsZVNlcnZpY2UuYWN0aXZlUHJvZmlsZSgpO1xuICAgIC8vXG4gICAgaWYgKCF0aGlzLmZvcm1hdCgpKSB7XG4gICAgICB0aGlzLl9mb3JtYXQuc2V0KHRoaXMuZm9ybWF0KCkgPz8gcHJvZmlsZS5mb3JtYXRzW3RoaXMucGlja2VyKCldPy5zaG9ydCA/PyAnJyk7XG4gICAgfVxuICAgIC8vXG4gICAgaWYgKCF0aGlzLmNhbGVuZGFyKCkpIHtcbiAgICAgIHRoaXMuX2NhbGVuZGFyU3lzdGVtLnNldChwcm9maWxlLmNhbGVuZGFyLnN5c3RlbSk7XG4gICAgfVxuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2NsYXNzaWNEYXRlRmllbGRzID0gQVhfREFURVRJTUVfQk9YX0NMQVNTSUNfREFURV9GSUVMRFM7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9jbGFzc2ljVGltZUZpZWxkcyA9IEFYX0RBVEVUSU1FX0JPWF9DTEFTU0lDX1RJTUVfRklFTERTO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NsYXNzaWNUaW1lT3B0aW9ucyA9IHtcbiAgICBob3VyOiBBcnJheS5mcm9tKHsgbGVuZ3RoOiAyNCB9LCAoXywgaSkgPT4gKHsgaWQ6IGksIHRleHQ6IFN0cmluZyhpKS5wYWRTdGFydCgyLCAnMCcpIH0pKSxcbiAgICBtaW51dGU6IEFycmF5LmZyb20oeyBsZW5ndGg6IDYwIH0sIChfLCBpKSA9PiAoeyBpZDogaSwgdGV4dDogU3RyaW5nKGkpLnBhZFN0YXJ0KDIsICcwJykgfSkpLFxuICB9O1xuXG4gIHByb3RlY3RlZCBfY2xhc3NpY0RhdGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLl9lZGl0aW5nRGF0ZU9iaigpO1xuICAgIHJldHVybiB2YWx1ZVxuICAgICAgPyB0aGlzLmNhbGVuZGFyU2VydmljZS5jcmVhdGUodmFsdWUsIHRoaXMuX2NhbGVuZGFyU3lzdGVtKCkpXG4gICAgICA6IHRoaXMuY2FsZW5kYXJTZXJ2aWNlLm5vdyh0aGlzLl9jYWxlbmRhclN5c3RlbSgpKTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIF9jbGFzc2ljWWVhck9wdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuX2NsYXNzaWNEYXRlKCk7XG4gICAgY29uc3QgbWluWWVhciA9IHRoaXMubWluVmFsdWVcbiAgICAgID8gdGhpcy5jYWxlbmRhclNlcnZpY2UuY3JlYXRlKHRoaXMubWluVmFsdWUsIHRoaXMuX2NhbGVuZGFyU3lzdGVtKCkpLnllYXJcbiAgICAgIDogY3VycmVudC55ZWFyIC0gMTAwO1xuICAgIGNvbnN0IG1heFllYXIgPSB0aGlzLm1heFZhbHVlXG4gICAgICA/IHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNyZWF0ZSh0aGlzLm1heFZhbHVlLCB0aGlzLl9jYWxlbmRhclN5c3RlbSgpKS55ZWFyXG4gICAgICA6IGN1cnJlbnQueWVhciArIDEwO1xuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiBtYXhZZWFyIC0gbWluWWVhciArIDEgfSwgKF8sIGkpID0+ICh7XG4gICAgICBpZDogbWluWWVhciArIGksXG4gICAgICB0ZXh0OiBTdHJpbmcobWluWWVhciArIGkpLFxuICAgIH0pKTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIF9jbGFzc2ljTW9udGhPcHRpb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNhbGVuZGFyID0gdGhpcy5fY2xhc3NpY0RhdGUoKS5jYWxlbmRhci5uYW1lKCk7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IDEyIH0sIChfLCBpKSA9PiAoe1xuICAgICAgaWQ6IGkgKyAxLFxuICAgICAgdGV4dDogYEBhY29yZXg6ZGF0ZVRpbWUubW9udGhzLiR7Y2FsZW5kYXJ9LnNob3J0LiR7aX1gLFxuICAgIH0pKTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIF9jbGFzc2ljRGF5T3B0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBkYXlzSW5Nb250aCA9IHRoaXMuX2NsYXNzaWNEYXRlKCkuZW5kT2YoJ21vbnRoJykuZGF5T2ZNb250aDtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogZGF5c0luTW9udGggfSwgKF8sIGkpID0+ICh7XG4gICAgICBpZDogaSArIDEsXG4gICAgICB0ZXh0OiBTdHJpbmcoaSArIDEpLnBhZFN0YXJ0KDIsICcwJyksXG4gICAgfSkpO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgZ2V0IF9jbGFzc2ljQm94Q2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGF4LWVkaXRvci1jb250YWluZXIgYXgtZGVmYXVsdCBheC1jbGFzc2ljLWRhdGV0aW1lLWJveCBheC0ke3RoaXMubG9va30ke3RoaXMuZGlzYWJsZWQgPyAnIGF4LXN0YXRlLWRpc2FibGVkJyA6ICcnfWA7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IF9jbGFzc2ljSGFzRGF0ZVBhcnQoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbW9kZSA9IHRoaXMucGlja2VyKCk7XG4gICAgcmV0dXJuIG1vZGUgPT09ICdkYXRlJyB8fCBtb2RlID09PSAnZGF0ZXRpbWUnO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBfY2xhc3NpY0hhc1RpbWVQYXJ0KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG1vZGUgPSB0aGlzLnBpY2tlcigpO1xuICAgIHJldHVybiBtb2RlID09PSAndGltZScgfHwgbW9kZSA9PT0gJ2RhdGV0aW1lJztcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9jbGFzc2ljUGFydFZhbHVlKHBhcnQ6IEFYRGF0ZVRpbWVCb3hDbGFzc2ljUGFydCk6IHsgaWQ6IG51bWJlcjsgdGV4dDogc3RyaW5nIH0gfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuX2VkaXRpbmdEYXRlT2JqKCkpIHJldHVybiBudWxsO1xuXG4gICAgY29uc3QgZGF0ZSA9IHRoaXMuX2NsYXNzaWNEYXRlKCk7XG4gICAgY29uc3QgdmFsdWVzOiBSZWNvcmQ8QVhEYXRlVGltZUJveENsYXNzaWNQYXJ0LCBudW1iZXI+ID0ge1xuICAgICAgeWVhcjogZGF0ZS55ZWFyLFxuICAgICAgbW9udGg6IGRhdGUubW9udGhPZlllYXIsXG4gICAgICBkYXk6IGRhdGUuZGF5T2ZNb250aCxcbiAgICAgIGhvdXI6IGRhdGUuaG91cixcbiAgICAgIG1pbnV0ZTogZGF0ZS5taW51dGUsXG4gICAgfTtcbiAgICBjb25zdCBpZCA9IHZhbHVlc1twYXJ0XTtcbiAgICByZXR1cm4gdGhpcy5fY2xhc3NpY1BhcnRPcHRpb25zKHBhcnQpLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLmlkID09PSBpZCkgPz8geyBpZCwgdGV4dDogU3RyaW5nKGlkKSB9O1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX2NsYXNzaWNQYXJ0T3B0aW9ucyhwYXJ0OiBBWERhdGVUaW1lQm94Q2xhc3NpY1BhcnQpIHtcbiAgICBzd2l0Y2ggKHBhcnQpIHtcbiAgICAgIGNhc2UgJ3llYXInOlxuICAgICAgICByZXR1cm4gdGhpcy5fY2xhc3NpY1llYXJPcHRpb25zKCk7XG4gICAgICBjYXNlICdtb250aCc6XG4gICAgICAgIHJldHVybiB0aGlzLl9jbGFzc2ljTW9udGhPcHRpb25zKCk7XG4gICAgICBjYXNlICdkYXknOlxuICAgICAgICByZXR1cm4gdGhpcy5fY2xhc3NpY0RheU9wdGlvbnMoKTtcbiAgICAgIGNhc2UgJ2hvdXInOlxuICAgICAgICByZXR1cm4gdGhpcy5fY2xhc3NpY1RpbWVPcHRpb25zLmhvdXI7XG4gICAgICBjYXNlICdtaW51dGUnOlxuICAgICAgICByZXR1cm4gdGhpcy5fY2xhc3NpY1RpbWVPcHRpb25zLm1pbnV0ZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfaGFuZGxlUGlja2VyTW9kZWxDaGFuZ2UodmFsdWU6IERhdGUgfCBudWxsKSB7XG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICB0aGlzLmNvbW1pdFZhbHVlKHZhbHVlLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfaGFuZGxlT25PcGVuZWRFdmVudChlOiBBWEV2ZW50KSB7XG4gICAgLy90aGlzLmVtaXRPbkZvY3VzRXZlbnQobnVsbCk7XG4gICAgdGhpcy5lbWl0T25PcGVuZWRFdmVudCgpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX2hhbmRsZU9uQ2xvc2VkRXZlbnQoZTogQVhFdmVudCkge1xuICAgIC8vdGhpcy5lbWl0T25CbHVyRXZlbnQobnVsbCk7XG4gICAgdGhpcy5pbnB1dD8uZm9jdXMoKTtcbiAgICB0aGlzLmVtaXRPbkNsb3NlZEV2ZW50KCk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfaGFuZGxlSW5wdXRPbkZvY3VzRXZlbnQoZTogQVhGb2N1c0V2ZW50KSB7XG4gICAgdGhpcy5lbWl0T25Gb2N1c0V2ZW50KGUubmF0aXZlRXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX2hhbmRsZUlucHV0T25CbHVyRXZlbnQoZTogQVhGb2N1c0V2ZW50KSB7XG4gICAgdGhpcy5lbWl0T25CbHVyRXZlbnQoZS5uYXRpdmVFdmVudCk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfaGFuZGxlQ2FsZW5kYXJPbk5hdmlnYXRlKGU6IEFYQ2FsZW5kYXJOYXZpZ2F0ZUV2ZW50KSB7XG4gICAgdGhpcy5vbk5hdmlnYXRlLmVtaXQoZSk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyBjaGFuZ2VzIHRvIHRoZSBpbnRlcm5hbCB2YWx1ZS5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBuZXcgdmFsdWUgdGhhdCB3YXMgc2V0LlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBvdmVycmlkZSBpbnRlcm5hbFZhbHVlQ2hhbmdlZCh2YWx1ZSk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBpZiAodGhpcy5jYWxlbmRhclNlcnZpY2UuaXNWYWxpZERhdGUodmFsdWUpKSB7XG4gICAgICAgIHRoaXMuX2VkaXRpbmdEYXRlT2JqLnNldCh0aGlzLmNhbGVuZGFyU2VydmljZS5jcmVhdGUodmFsdWUsIHRoaXMuY2FsZW5kYXIoKSkuZGF0ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIHtcbiAgICAgIHRoaXMuX2VkaXRpbmdEYXRlT2JqLnNldChudWxsKTtcbiAgICB9XG4gICAgdGhpcy5jb21taXRWYWx1ZSh0aGlzLl9lZGl0aW5nRGF0ZU9iaigpLCBmYWxzZSk7XG5cbiAgICBpZiAodGhpcy5ib3hMb29rKCkgIT09ICdjbGFzc2ljJykge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVDbGFzc2ljUGFydENoYW5nZWQoZTogQVhWYWx1ZUNoYW5nZWRFdmVudCwgcGFydDogQVhEYXRlVGltZUJveENsYXNzaWNQYXJ0KSB7XG4gICAgaWYgKCFlLmlzVXNlckludGVyYWN0aW9uKSByZXR1cm47XG5cbiAgICBjb25zdCBwYXJ0VmFsdWUgPSB0aGlzLl9yZWFkU2VsZWN0VmFsdWUoZS52YWx1ZSk7XG4gICAgaWYgKHBhcnRWYWx1ZSA9PSBudWxsKSByZXR1cm47XG5cbiAgICBsZXQgZGF0ZSA9IHRoaXMuX2VkaXRpbmdEYXRlT2JqKClcbiAgICAgID8gdGhpcy5jYWxlbmRhclNlcnZpY2UuY3JlYXRlKHRoaXMuX2VkaXRpbmdEYXRlT2JqKCkhLCB0aGlzLl9jYWxlbmRhclN5c3RlbSgpKVxuICAgICAgOiB0aGlzLmNhbGVuZGFyU2VydmljZS5ub3codGhpcy5fY2FsZW5kYXJTeXN0ZW0oKSk7XG5cbiAgICBkYXRlID0gZGF0ZS5zZXQocGFydCwgcGFydFZhbHVlKTtcblxuICAgIGlmIChwYXJ0ID09PSAneWVhcicgfHwgcGFydCA9PT0gJ21vbnRoJykge1xuICAgICAgY29uc3QgbWF4RGF5ID0gZGF0ZS5lbmRPZignbW9udGgnKS5kYXlPZk1vbnRoO1xuICAgICAgaWYgKGRhdGUuZGF5T2ZNb250aCA+IG1heERheSkge1xuICAgICAgICBkYXRlID0gZGF0ZS5zZXQoJ2RheScsIG1heERheSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fZWRpdGluZ0RhdGVPYmouc2V0KGRhdGUuZGF0ZSk7XG4gICAgdGhpcy5jb21taXRWYWx1ZShkYXRlLmRhdGUsIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIF9yZWFkU2VsZWN0VmFsdWUodmFsdWU6IHVua25vd24pOiBudW1iZXIgfCBudWxsIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHJldHVybiAodmFsdWVbMF0gYXMgeyBpZDogbnVtYmVyIH0gfCB1bmRlZmluZWQpPy5pZCA/PyBudWxsO1xuICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSByZXR1cm4gKHZhbHVlIGFzIHsgaWQ6IG51bWJlciB9KS5pZCA/PyBudWxsO1xuICAgIHJldHVybiB2YWx1ZSAhPSBudWxsID8gTnVtYmVyKHZhbHVlKSA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfaGFuZGxlSW5wdXRPbkNsaWNrKCkge1xuICAgIGlmICghdGhpcy5hbGxvd1R5cGluZygpKSB7XG4gICAgICB0aGlzLm9wZW4oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5uYW1lJylcbiAgcHJpdmF0ZSBnZXQgX19ob3N0TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cbn1cbiIsIkBpZiAoYm94TG9vaygpID09PSAnY2xhc3NpYycpIHtcbiAgPGRpdiBbY2xhc3NdPVwiX2NsYXNzaWNCb3hDbGFzc1wiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPjwvbmctY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtY2xhc3NpYy1kYXRldGltZS1zZWxlY3RzXCIgZGlyPVwibHRyXCI+XG4gICAgICBAaWYgKF9jbGFzc2ljSGFzRGF0ZVBhcnQpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNsYXNzaWMtZGF0ZXRpbWUtZ3JvdXBcIj5cbiAgICAgICAgICBAZm9yIChmaWVsZCBvZiBfY2xhc3NpY0RhdGVGaWVsZHM7IHRyYWNrIGZpZWxkLnBhcnQ7IGxldCBsYXN0ID0gJGxhc3QpIHtcbiAgICAgICAgICAgIDxheC1zZWxlY3QtYm94XG4gICAgICAgICAgICAgIGxvb2s9XCJub25lXCJcbiAgICAgICAgICAgICAgW2NsYXNzXT1cIidheC1jbGFzc2ljLScgKyBmaWVsZC5wYXJ0ICsgJy1zZWxlY3QnXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwiX2NsYXNzaWNQYXJ0T3B0aW9ucyhmaWVsZC5wYXJ0KVwiXG4gICAgICAgICAgICAgIHRleHRGaWVsZD1cInRleHRcIlxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkPVwiaWRcIlxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJfY2xhc3NpY1BhcnRWYWx1ZShmaWVsZC5wYXJ0KVwiXG4gICAgICAgICAgICAgIFtkcm9wZG93bldpZHRoXT1cImZpZWxkLmRyb3Bkb3duV2lkdGhcIlxuICAgICAgICAgICAgICBbaXNJdGVtVHJ1bmNhdGVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgW21heFZpc2libGVJdGVtc109XCJmaWVsZC5tYXhWaXNpYmxlSXRlbXNcIlxuICAgICAgICAgICAgICBbaXRlbUhlaWdodF09XCIzMlwiXG4gICAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJfaGFuZGxlQ2xhc3NpY1BhcnRDaGFuZ2VkKCRldmVudCwgZmllbGQucGFydClcIlxuICAgICAgICAgICAgPjwvYXgtc2VsZWN0LWJveD5cbiAgICAgICAgICAgIEBpZiAoIWxhc3QpIHtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1jbGFzc2ljLWRhdGV0aW1lLXNlcGFyYXRvclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPi08L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIEBpZiAoX2NsYXNzaWNIYXNUaW1lUGFydCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2xhc3NpYy1kYXRldGltZS1ncm91cFwiPlxuICAgICAgICAgIEBmb3IgKGZpZWxkIG9mIF9jbGFzc2ljVGltZUZpZWxkczsgdHJhY2sgZmllbGQucGFydDsgbGV0IGxhc3QgPSAkbGFzdCkge1xuICAgICAgICAgICAgPGF4LXNlbGVjdC1ib3hcbiAgICAgICAgICAgICAgbG9vaz1cIm5vbmVcIlxuICAgICAgICAgICAgICBbY2xhc3NdPVwiJ2F4LWNsYXNzaWMtJyArIGZpZWxkLnBhcnQgKyAnLXNlbGVjdCdcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJfY2xhc3NpY1BhcnRPcHRpb25zKGZpZWxkLnBhcnQpXCJcbiAgICAgICAgICAgICAgdGV4dEZpZWxkPVwidGV4dFwiXG4gICAgICAgICAgICAgIHZhbHVlRmllbGQ9XCJpZFwiXG4gICAgICAgICAgICAgIFtuZ01vZGVsXT1cIl9jbGFzc2ljUGFydFZhbHVlKGZpZWxkLnBhcnQpXCJcbiAgICAgICAgICAgICAgW2Ryb3Bkb3duV2lkdGhdPVwiZmllbGQuZHJvcGRvd25XaWR0aFwiXG4gICAgICAgICAgICAgIFtpc0l0ZW1UcnVuY2F0ZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbbWF4VmlzaWJsZUl0ZW1zXT1cImZpZWxkLm1heFZpc2libGVJdGVtc1wiXG4gICAgICAgICAgICAgIFtpdGVtSGVpZ2h0XT1cIjMyXCJcbiAgICAgICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVDbGFzc2ljUGFydENoYW5nZWQoJGV2ZW50LCBmaWVsZC5wYXJ0KVwiXG4gICAgICAgICAgICA+PC9heC1zZWxlY3QtYm94PlxuICAgICAgICAgICAgQGlmICghbGFzdCkge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWNsYXNzaWMtZGF0ZXRpbWUtc2VwYXJhdG9yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+Ojwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXN1ZmZpeFwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG59IEBlbHNlIHtcbiAgPGF4LWRyb3Bkb3duLWJveFxuICAgIFtsb29rXT1cImxvb2tcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgKG9uT3BlbmVkKT1cIl9oYW5kbGVPbk9wZW5lZEV2ZW50KCRldmVudClcIlxuICAgIChvbkNsb3NlZCk9XCJfaGFuZGxlT25DbG9zZWRFdmVudCgkZXZlbnQpXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgaW5wdXQ+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1wcmVmaXhcIj4gPC9uZy1jb250ZW50PlxuICAgICAgPGF4LWRhdGV0aW1lLWlucHV0XG4gICAgICAgIGRpcj1cImx0clwiXG4gICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICBbbmdNb2RlbF09XCJfZWRpdGluZ0RhdGVPYmooKVwiXG4gICAgICAgIGlkPVwie3sgaWQgfX0taW5wdXRcIlxuICAgICAgICBbZm9ybWF0XT1cImZvcm1hdCgpXCJcbiAgICAgICAgW3BpY2tlcl09XCJwaWNrZXIoKVwiXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgIFthbGxvd1R5cGluZ109XCJhbGxvd1R5cGluZygpXCJcbiAgICAgICAgW2NhbGVuZGFyXT1cIl9jYWxlbmRhclN5c3RlbSgpXCJcbiAgICAgICAgKG9uQ2xpY2spPVwiX2hhbmRsZUlucHV0T25DbGljaygpXCJcbiAgICAgICAgKG9uQmx1cik9XCJfaGFuZGxlSW5wdXRPbkJsdXJFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgKG9uRm9jdXMpPVwiX2hhbmRsZUlucHV0T25Gb2N1c0V2ZW50KCRldmVudClcIlxuICAgICAgPjwvYXgtZGF0ZXRpbWUtaW5wdXQ+XG4gICAgICBAaWYgKHZhbHVlICYmICFkaXNhYmxlZCAmJiAhcmVhZG9ubHkpIHtcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtY2xlYXItYnV0dG9uXCI+PC9uZy1jb250ZW50PlxuICAgICAgfVxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJheC1lZGl0b3ItYnV0dG9uXCIgW3RhYkluZGV4XT1cIi0xXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgKGNsaWNrKT1cInRvZ2dsZSgpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWNhbGVuZGFyXCI+PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj4gPC9uZy1jb250ZW50PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgcGFuZWw+XG4gICAgICA8YXgtZGF0ZXRpbWUtcGlja2VyXG4gICAgICAgICNwaWNrZXJSZWZcbiAgICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgIFtkZXB0aF09XCJkZXB0aFwiXG4gICAgICAgIFtuZ01vZGVsXT1cIl9lZGl0aW5nRGF0ZU9iaigpXCJcbiAgICAgICAgW3BpY2tlcl09XCJwaWNrZXIoKVwiXG4gICAgICAgIFtmb3JtYXRdPVwiZm9ybWF0KClcIlxuICAgICAgICBpZD1cInt7IGlkIH19LXBpY2tlclwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgIFttaW5WYWx1ZV09XCJtaW5WYWx1ZVwiXG4gICAgICAgIFttYXhWYWx1ZV09XCJtYXhWYWx1ZVwiXG4gICAgICAgIFt3ZWVrZW5kXT1cIndlZWtlbmQoKVwiXG4gICAgICAgIFt3ZWVrZGF5c109XCJ3ZWVrZGF5cygpXCJcbiAgICAgICAgW2hvbGlkYXlEYXRlc109XCJob2xpZGF5RGF0ZXNcIlxuICAgICAgICBbY2FsZW5kYXJdPVwiX2NhbGVuZGFyU3lzdGVtKClcIlxuICAgICAgICBbZGlzYWJsZWREYXRlc109XCJkaXNhYmxlZERhdGVzXCJcbiAgICAgICAgW2NhbGVuZGFyTG9va109XCJjYWxlbmRhckxvb2soKVwiXG4gICAgICAgIChvbk5hdmlnYXRlKT1cIl9oYW5kbGVDYWxlbmRhck9uTmF2aWdhdGUoJGV2ZW50KVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIl9oYW5kbGVQaWNrZXJNb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICAgID48L2F4LWRhdGV0aW1lLXBpY2tlcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9heC1kcm9wZG93bi1ib3g+XG59XG48bmctY29udGVudCBzZWxlY3Q9XCJheC12YWxpZGF0aW9uLXJ1bGVcIj4gPC9uZy1jb250ZW50PlxuIl19","import { NgModule } from '@angular/core';\nimport { AXDateTimeBoxComponent } from './datetime-box.component';\nimport * as i0 from \"@angular/core\";\nexport class AXDateTimeBoxModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXDateTimeBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXDateTimeBoxModule, imports: [AXDateTimeBoxComponent], exports: [AXDateTimeBoxComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXDateTimeBoxModule, imports: [AXDateTimeBoxComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXDateTimeBoxModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [AXDateTimeBoxComponent],\n exports: [AXDateTimeBoxComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtYm94Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvZGF0ZXRpbWUtYm94L3NyYy9saWIvZGF0ZXRpbWUtYm94Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQU1sRSxNQUFNLE9BQU8sbUJBQW1COzhHQUFuQixtQkFBbUI7K0dBQW5CLG1CQUFtQixZQUhwQixzQkFBc0IsYUFDdEIsc0JBQXNCOytHQUVyQixtQkFBbUIsWUFIcEIsc0JBQXNCOzsyRkFHckIsbUJBQW1CO2tCQUovQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhEYXRlVGltZUJveENvbXBvbmVudCB9IGZyb20gJy4vZGF0ZXRpbWUtYm94LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtBWERhdGVUaW1lQm94Q29tcG9uZW50XSxcbiAgZXhwb3J0czogW0FYRGF0ZVRpbWVCb3hDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBBWERhdGVUaW1lQm94TW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtZGF0ZXRpbWUtYm94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9kYXRldGltZS1ib3gvc3JjL2Fjb3JleC1jb21wb25lbnRzLWRhdGV0aW1lLWJveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-datetime-box.mjs","sources":["../../../../packages/components/datetime-box/src/lib/datetime-box.class.ts","../../../../packages/components/datetime-box/src/lib/datetime-box.component.ts","../../../../packages/components/datetime-box/src/lib/datetime-box.component.html","../../../../packages/components/datetime-box/src/lib/datetime-box.module.ts","../../../../packages/components/datetime-box/src/acorex-components-datetime-box.ts"],"sourcesContent":["import { TimeUnit } from '@acorex/core/date-time';\n\n/**\n * Controls how date/time is chosen in the datetime box.\n * - `default`: text input with calendar popup.\n * - `classic`: inline select boxes for year, month, day, and optionally hour/minute.\n */\nexport type AXDateTimeBoxLookType = 'default' | 'classic';\n\nexport type AXDateTimeBoxClassicPart = Extract<TimeUnit, 'year' | 'month' | 'day' | 'hour' | 'minute'>;\n\nexport interface AXDateTimeBoxClassicField {\n part: AXDateTimeBoxClassicPart;\n dropdownWidth: string;\n maxVisibleItems: number;\n}\n\nexport const AX_DATETIME_BOX_CLASSIC_DATE_FIELDS: AXDateTimeBoxClassicField[] = [\n { part: 'year', dropdownWidth: '70', maxVisibleItems: 10 },\n { part: 'month', dropdownWidth: '90', maxVisibleItems: 12 },\n { part: 'day', dropdownWidth: '50', maxVisibleItems: 10 },\n];\n\nexport const AX_DATETIME_BOX_CLASSIC_TIME_FIELDS: AXDateTimeBoxClassicField[] = [\n { part: 'hour', dropdownWidth: '50', maxVisibleItems: 10 },\n { part: 'minute', dropdownWidth: '50', maxVisibleItems: 10 },\n];\n","import {\n AXClearableComponent,\n AXComponent,\n AXEvent,\n AXFocusEvent,\n AXFocusableComponent,\n AXValuableComponent,\n AXValueChangedEvent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/cdk/common';\nimport {\n AXCalendarNavigateEvent,\n AXCalendarNavigationLookType,\n AXDateTimePickerType,\n MXCalendarBaseComponent,\n} from '@acorex/components/calendar';\nimport { AXDateTimeInputComponent } from '@acorex/components/datetime-input';\nimport { AXDateTimePickerComponent } from '@acorex/components/datetime-picker';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXDropdownBoxComponent, MXDropdownBoxBaseComponent } from '@acorex/components/dropdown';\nimport { AXSelectBoxComponent } from '@acorex/components/select-box';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Output,\n ViewChild,\n ViewEncapsulation,\n computed,\n forwardRef,\n input,\n signal,\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport {\n AXDateTimeBoxClassicPart,\n AXDateTimeBoxLookType,\n AX_DATETIME_BOX_CLASSIC_DATE_FIELDS,\n AX_DATETIME_BOX_CLASSIC_TIME_FIELDS,\n} from './datetime-box.class';\n\n/**\n * Represents a date and time input component that allows user interaction and triggers events.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-datetime-box',\n templateUrl: './datetime-box.component.html',\n styleUrl: './datetime-box.component.compiled.css',\n inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'placeholder',\n 'minValue',\n 'maxValue',\n 'value',\n 'state',\n 'name',\n 'depth',\n 'id',\n 'type',\n 'look',\n 'holidayDates',\n ],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'onOpened',\n 'onClosed',\n 'readonlyChange',\n 'disabledChange',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXClearableComponent, useExisting: AXDateTimeBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimeBoxComponent),\n multi: true,\n },\n ],\n host: { ngSkipHydration: 'true' },\n imports: [\n AXDropdownBoxComponent,\n AXDateTimeInputComponent,\n FormsModule,\n AXDateTimePickerComponent,\n AXSelectBoxComponent,\n ],\n})\nexport class AXDateTimeBoxComponent extends classes(\n MXInputBaseValueComponent<Date>,\n MXCalendarBaseComponent,\n MXDropdownBoxBaseComponent,\n MXLookComponent,\n AXDecoratorGenericComponent,\n) {\n /**\n * @ignore\n */\n @ViewChild(AXDateTimeInputComponent)\n protected input: AXDateTimeInputComponent;\n\n /**\n * @ignore\n */\n @ViewChild(AXDateTimePickerComponent)\n protected pickerRef: AXDateTimePickerComponent;\n\n /**\n * @ignore\n */\n @ViewChild(AXDropdownBoxComponent)\n protected dropdown: AXDropdownBoxComponent;\n\n /**\n * Emitted when the format of the component changes.\n *\n * @event\n */\n @Output()\n formatChange = new EventEmitter<string>();\n\n /**\n * Indicates whether typing is allowed in the component.\n *\n * @defaultValue false\n */\n readonly allowTyping = input<boolean>(false);\n\n readonly picker = input<AXDateTimePickerType>('datetime');\n\n /**\n * @description The calendar type to use for the datetime input.\n */\n readonly calendar = input<string | null>(null);\n\n readonly weekend = input<number[]>([]);\n readonly weekdays = input<number[]>([]);\n\n /**\n * Day view navigation style of the embedded calendar.\n */\n readonly calendarLook = input<AXCalendarNavigationLookType>('select');\n\n /**\n * Input style of the datetime box.\n * - `default`: text input with calendar popup.\n * - `classic`: inline select boxes for date/time parts.\n */\n readonly boxLook = input<AXDateTimeBoxLookType>('default');\n\n /**\n * @deprecated use locale & mode instead\n */\n readonly format = input<string | null>();\n\n protected _editingDateObj = signal<Date | null>(null);\n\n protected readonly _calendarSystem = computed(\n () => this.calendar() ?? this.localeService.activeProfile().calendar.system,\n );\n\n protected readonly _resolvedFormat = computed(\n () => this.format() ?? this.localeService.activeProfile().formats[this.picker()]?.short ?? '',\n );\n\n protected readonly _classicDateFields = AX_DATETIME_BOX_CLASSIC_DATE_FIELDS;\n\n protected readonly _classicTimeFields = AX_DATETIME_BOX_CLASSIC_TIME_FIELDS;\n\n private readonly _classicTimeOptions = {\n hour: Array.from({ length: 24 }, (_, i) => ({ id: i, text: String(i).padStart(2, '0') })),\n minute: Array.from({ length: 60 }, (_, i) => ({ id: i, text: String(i).padStart(2, '0') })),\n };\n\n protected _classicDate = computed(() => {\n const value = this._editingDateObj();\n return value\n ? this.calendarService.create(value, this._calendarSystem())\n : this.calendarService.now(this._calendarSystem());\n });\n\n protected _classicYearOptions = computed(() => {\n const current = this._classicDate();\n const minYear = this.minValue\n ? this.calendarService.create(this.minValue, this._calendarSystem()).year\n : current.year - 100;\n const maxYear = this.maxValue\n ? this.calendarService.create(this.maxValue, this._calendarSystem()).year\n : current.year + 10;\n return Array.from({ length: maxYear - minYear + 1 }, (_, i) => ({\n id: minYear + i,\n text: String(minYear + i),\n }));\n });\n\n protected _classicMonthOptions = computed(() => {\n const calendar = this._classicDate().calendar.name();\n return Array.from({ length: 12 }, (_, i) => ({\n id: i + 1,\n text: `@acorex:dateTime.months.${calendar}.short.${i}`,\n }));\n });\n\n protected _classicDayOptions = computed(() => {\n const daysInMonth = this._classicDate().endOf('month').dayOfMonth;\n return Array.from({ length: daysInMonth }, (_, i) => ({\n id: i + 1,\n text: String(i + 1).padStart(2, '0'),\n }));\n });\n\n protected get _classicBoxClass(): string {\n return `ax-editor-container ax-default ax-classic-datetime-box ${this.look}${this.disabled ? ' ax-state-disabled' : ''}`;\n }\n\n protected get _classicHasDatePart(): boolean {\n const mode = this.picker();\n return mode === 'date' || mode === 'datetime';\n }\n\n protected get _classicHasTimePart(): boolean {\n const mode = this.picker();\n return mode === 'time' || mode === 'datetime';\n }\n\n /**\n * @ignore\n */\n protected _classicPartValue(part: AXDateTimeBoxClassicPart): { id: number; text: string } | null {\n if (!this._editingDateObj()) return null;\n\n const date = this._classicDate();\n const values: Record<AXDateTimeBoxClassicPart, number> = {\n year: date.year,\n month: date.monthOfYear,\n day: date.dayOfMonth,\n hour: date.hour,\n minute: date.minute,\n };\n const id = values[part];\n return this._classicPartOptions(part).find((option) => option.id === id) ?? { id, text: String(id) };\n }\n\n /**\n * @ignore\n */\n protected _classicPartOptions(part: AXDateTimeBoxClassicPart) {\n switch (part) {\n case 'year':\n return this._classicYearOptions();\n case 'month':\n return this._classicMonthOptions();\n case 'day':\n return this._classicDayOptions();\n case 'hour':\n return this._classicTimeOptions.hour;\n case 'minute':\n return this._classicTimeOptions.minute;\n }\n }\n\n /**\n * @ignore\n */\n protected _handlePickerModelChange(value: Date | null) {\n if (this.isOpen) {\n this.commitValue(value, true);\n }\n }\n\n /**\n * @ignore\n */\n protected _handleOnOpenedEvent(e: AXEvent) {\n //this.emitOnFocusEvent(null);\n this.emitOnOpenedEvent();\n }\n\n /**\n * @ignore\n */\n protected _handleOnClosedEvent(e: AXEvent) {\n //this.emitOnBlurEvent(null);\n this.input?.focus();\n this.emitOnClosedEvent();\n }\n\n /**\n * @ignore\n */\n protected _handleInputOnFocusEvent(e: AXFocusEvent) {\n this.emitOnFocusEvent(e.nativeEvent);\n }\n\n /**\n * @ignore\n */\n protected _handleInputOnBlurEvent(e: AXFocusEvent) {\n this.emitOnBlurEvent(e.nativeEvent);\n }\n\n /**\n * @ignore\n */\n protected _handleCalendarOnNavigate(e: AXCalendarNavigateEvent) {\n this.onNavigate.emit(e);\n }\n\n /**\n * Handles changes to the internal value.\n * @param value The new value that was set.\n * @ignore\n */\n override internalValueChanged(value): void {\n try {\n if (this.calendarService.isValidDate(value)) {\n this._editingDateObj.set(this.calendarService.create(value, this._calendarSystem()).date);\n } else {\n throw new Error();\n }\n } catch {\n this._editingDateObj.set(null);\n }\n this.commitValue(this._editingDateObj(), false);\n\n if (this.boxLook() !== 'classic') {\n this.close();\n }\n }\n\n /**\n * @ignore\n */\n protected _handleClassicPartChanged(e: AXValueChangedEvent, part: AXDateTimeBoxClassicPart) {\n if (!e.isUserInteraction) return;\n\n const partValue = this._readSelectValue(e.value);\n if (partValue == null) return;\n\n let date = this._editingDateObj()\n ? this.calendarService.create(this._editingDateObj()!, this._calendarSystem())\n : this.calendarService.now(this._calendarSystem());\n\n date = date.set(part, partValue);\n\n if (part === 'year' || part === 'month') {\n const maxDay = date.endOf('month').dayOfMonth;\n if (date.dayOfMonth > maxDay) {\n date = date.set('day', maxDay);\n }\n }\n\n this._editingDateObj.set(date.date);\n this.commitValue(date.date, true);\n }\n\n /**\n * @ignore\n */\n private _readSelectValue(value: unknown): number | null {\n if (Array.isArray(value)) return (value[0] as { id: number } | undefined)?.id ?? null;\n if (value && typeof value === 'object') return (value as { id: number }).id ?? null;\n return value != null ? Number(value) : null;\n }\n\n /**\n * @ignore\n */\n protected _handleInputOnClick() {\n if (!this.allowTyping()) {\n this.open();\n } else {\n this.close();\n }\n }\n\n @HostBinding('attr.name')\n private get __hostName(): string {\n return this.name;\n }\n}\n","@if (boxLook() === 'classic') {\n <div [class]=\"_classicBoxClass\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <div class=\"ax-classic-datetime-selects\" dir=\"ltr\">\n @if (_classicHasDatePart) {\n <div class=\"ax-classic-datetime-group\">\n @for (field of _classicDateFields; track field.part; let last = $last) {\n <ax-select-box\n look=\"none\"\n [class]=\"'ax-classic-' + field.part + '-select'\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_classicPartOptions(field.part)\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_classicPartValue(field.part)\"\n [dropdownWidth]=\"field.dropdownWidth\"\n [isItemTruncated]=\"false\"\n [maxVisibleItems]=\"field.maxVisibleItems\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleClassicPartChanged($event, field.part)\"\n ></ax-select-box>\n @if (!last) {\n <span class=\"ax-classic-datetime-separator\" aria-hidden=\"true\">-</span>\n }\n }\n </div>\n }\n @if (_classicHasTimePart) {\n <div class=\"ax-classic-datetime-group\">\n @for (field of _classicTimeFields; track field.part; let last = $last) {\n <ax-select-box\n look=\"none\"\n [class]=\"'ax-classic-' + field.part + '-select'\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_classicPartOptions(field.part)\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_classicPartValue(field.part)\"\n [dropdownWidth]=\"field.dropdownWidth\"\n [isItemTruncated]=\"false\"\n [maxVisibleItems]=\"field.maxVisibleItems\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleClassicPartChanged($event, field.part)\"\n ></ax-select-box>\n @if (!last) {\n <span class=\"ax-classic-datetime-separator\" aria-hidden=\"true\">:</span>\n }\n }\n </div>\n }\n </div>\n <ng-content select=\"ax-suffix\"></ng-content>\n </div>\n} @else {\n <ax-dropdown-box\n [look]=\"look\"\n [disabled]=\"disabled\"\n (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\"\n >\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ax-datetime-input\n dir=\"ltr\"\n [name]=\"name\"\n [ngModel]=\"_editingDateObj()\"\n id=\"{{ id }}-input\"\n [format]=\"_resolvedFormat()\"\n [picker]=\"picker()\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [allowTyping]=\"allowTyping()\"\n [calendar]=\"_calendarSystem()\"\n (onClick)=\"_handleInputOnClick()\"\n (onBlur)=\"_handleInputOnBlurEvent($event)\"\n (onFocus)=\"_handleInputOnFocusEvent($event)\"\n ></ax-datetime-input>\n @if (value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" class=\"ax-editor-button\" [tabIndex]=\"-1\" [disabled]=\"disabled\" (click)=\"toggle()\">\n <span class=\"ax-icon ax-icon-calendar\"></span>\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n </ng-container>\n <ng-container panel>\n <ax-datetime-picker\n #pickerRef\n [type]=\"_calendarSystem()\"\n [depth]=\"depth\"\n [ngModel]=\"_editingDateObj()\"\n [picker]=\"picker()\"\n [format]=\"_resolvedFormat()\"\n id=\"{{ id }}-picker\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [weekend]=\"weekend()\"\n [weekdays]=\"weekdays()\"\n [holidayDates]=\"holidayDates\"\n [calendar]=\"_calendarSystem()\"\n [disabledDates]=\"disabledDates\"\n [calendarLook]=\"calendarLook()\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (ngModelChange)=\"_handlePickerModelChange($event)\"\n ></ax-datetime-picker>\n </ng-container>\n </ax-dropdown-box>\n}\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n","import { NgModule } from '@angular/core';\nimport { AXDateTimeBoxComponent } from './datetime-box.component';\n\n@NgModule({\n imports: [AXDateTimeBoxComponent],\n exports: [AXDateTimeBoxComponent],\n})\nexport class AXDateTimeBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}