@wavemaker-ai/app-ng-runtime 12.0.0-rc.335 → 12.0.1-rc.338

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 (351) hide show
  1. package/build-task/bundles/index.umd.js +15 -16
  2. package/build-task/fesm2022/index.mjs +15 -16
  3. package/build-task/fesm2022/index.mjs.map +1 -1
  4. package/components/advanced/carousel/bundles/index.umd.js +9 -9
  5. package/components/advanced/carousel/fesm2022/index.mjs +9 -9
  6. package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  7. package/components/advanced/carousel/types/index.d.ts +7 -7
  8. package/components/advanced/custom/bundles/index.umd.js +9 -10
  9. package/components/advanced/custom/fesm2022/index.mjs +9 -10
  10. package/components/advanced/custom/fesm2022/index.mjs.map +1 -1
  11. package/components/advanced/custom/types/index.d.ts +3 -3
  12. package/components/advanced/login/bundles/index.umd.js +3 -3
  13. package/components/advanced/login/fesm2022/index.mjs +3 -3
  14. package/components/advanced/login/fesm2022/index.mjs.map +1 -1
  15. package/components/advanced/login/types/index.d.ts +1 -1
  16. package/components/advanced/marquee/bundles/index.umd.js +3 -3
  17. package/components/advanced/marquee/fesm2022/index.mjs +3 -3
  18. package/components/advanced/marquee/fesm2022/index.mjs.map +1 -1
  19. package/components/advanced/marquee/types/index.d.ts +1 -1
  20. package/components/base/bundles/index.umd.js +40 -46
  21. package/components/base/fesm2022/index.mjs +40 -46
  22. package/components/base/fesm2022/index.mjs.map +1 -1
  23. package/components/base/types/index.d.ts +47 -46
  24. package/components/basic/anchor/bundles/index.umd.js +3 -3
  25. package/components/basic/anchor/fesm2022/index.mjs +3 -3
  26. package/components/basic/anchor/fesm2022/index.mjs.map +1 -1
  27. package/components/basic/anchor/types/index.d.ts +3 -3
  28. package/components/basic/audio/bundles/index.umd.js +3 -3
  29. package/components/basic/audio/fesm2022/index.mjs +3 -3
  30. package/components/basic/audio/fesm2022/index.mjs.map +1 -1
  31. package/components/basic/audio/types/index.d.ts +1 -1
  32. package/components/basic/html/bundles/index.umd.js +10 -11
  33. package/components/basic/html/fesm2022/index.mjs +10 -11
  34. package/components/basic/html/fesm2022/index.mjs.map +1 -1
  35. package/components/basic/html/types/index.d.ts +3 -3
  36. package/components/basic/icon/bundles/index.umd.js +3 -3
  37. package/components/basic/icon/fesm2022/index.mjs +3 -3
  38. package/components/basic/icon/fesm2022/index.mjs.map +1 -1
  39. package/components/basic/icon/types/index.d.ts +1 -1
  40. package/components/basic/iframe/bundles/index.umd.js +5 -5
  41. package/components/basic/iframe/fesm2022/index.mjs +5 -5
  42. package/components/basic/iframe/fesm2022/index.mjs.map +1 -1
  43. package/components/basic/iframe/types/index.d.ts +3 -3
  44. package/components/basic/label/bundles/index.umd.js +10 -11
  45. package/components/basic/label/fesm2022/index.mjs +10 -11
  46. package/components/basic/label/fesm2022/index.mjs.map +1 -1
  47. package/components/basic/label/types/index.d.ts +1 -1
  48. package/components/basic/picture/bundles/index.umd.js +3 -3
  49. package/components/basic/picture/fesm2022/index.mjs +3 -3
  50. package/components/basic/picture/fesm2022/index.mjs.map +1 -1
  51. package/components/basic/picture/types/index.d.ts +2 -2
  52. package/components/basic/progress/progress-bar/bundles/index.umd.js +8 -10
  53. package/components/basic/progress/progress-bar/fesm2022/index.mjs +8 -10
  54. package/components/basic/progress/progress-bar/fesm2022/index.mjs.map +1 -1
  55. package/components/basic/progress/progress-bar/types/index.d.ts +2 -2
  56. package/components/basic/progress/progress-circle/bundles/index.umd.js +3 -3
  57. package/components/basic/progress/progress-circle/fesm2022/index.mjs +3 -3
  58. package/components/basic/progress/progress-circle/fesm2022/index.mjs.map +1 -1
  59. package/components/basic/progress/progress-circle/types/index.d.ts +2 -2
  60. package/components/basic/rich-text-editor/bundles/index.umd.js +3 -3
  61. package/components/basic/rich-text-editor/fesm2022/index.mjs +3 -3
  62. package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  63. package/components/basic/rich-text-editor/types/index.d.ts +3 -3
  64. package/components/basic/search/bundles/index.umd.js +40 -42
  65. package/components/basic/search/fesm2022/index.mjs +40 -42
  66. package/components/basic/search/fesm2022/index.mjs.map +1 -1
  67. package/components/basic/search/types/index.d.ts +13 -13
  68. package/components/basic/spinner/bundles/index.umd.js +3 -3
  69. package/components/basic/spinner/fesm2022/index.mjs +3 -3
  70. package/components/basic/spinner/fesm2022/index.mjs.map +1 -1
  71. package/components/basic/spinner/types/index.d.ts +3 -3
  72. package/components/basic/tree/bundles/index.umd.js +9 -9
  73. package/components/basic/tree/fesm2022/index.mjs +9 -9
  74. package/components/basic/tree/fesm2022/index.mjs.map +1 -1
  75. package/components/basic/tree/types/index.d.ts +7 -7
  76. package/components/basic/video/bundles/index.umd.js +3 -3
  77. package/components/basic/video/fesm2022/index.mjs +3 -3
  78. package/components/basic/video/fesm2022/index.mjs.map +1 -1
  79. package/components/basic/video/types/index.d.ts +2 -2
  80. package/components/chart/bundles/index.umd.js +19 -22
  81. package/components/chart/fesm2022/index.mjs +20 -23
  82. package/components/chart/fesm2022/index.mjs.map +1 -1
  83. package/components/chart/types/index.d.ts +9 -9
  84. package/components/containers/accordion/bundles/index.umd.js +10 -12
  85. package/components/containers/accordion/fesm2022/index.mjs +10 -12
  86. package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  87. package/components/containers/accordion/types/index.d.ts +9 -9
  88. package/components/containers/layout-grid/bundles/index.umd.js +9 -9
  89. package/components/containers/layout-grid/fesm2022/index.mjs +9 -9
  90. package/components/containers/layout-grid/fesm2022/index.mjs.map +1 -1
  91. package/components/containers/layout-grid/types/index.d.ts +4 -4
  92. package/components/containers/linear-layout/bundles/index.umd.js +6 -6
  93. package/components/containers/linear-layout/fesm2022/index.mjs +6 -6
  94. package/components/containers/linear-layout/fesm2022/index.mjs.map +1 -1
  95. package/components/containers/linear-layout/types/index.d.ts +2 -2
  96. package/components/containers/panel/bundles/index.umd.js +3 -3
  97. package/components/containers/panel/fesm2022/index.mjs +3 -3
  98. package/components/containers/panel/fesm2022/index.mjs.map +1 -1
  99. package/components/containers/panel/types/index.d.ts +3 -3
  100. package/components/containers/tabs/bundles/index.umd.js +9 -9
  101. package/components/containers/tabs/fesm2022/index.mjs +9 -9
  102. package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  103. package/components/containers/tabs/types/index.d.ts +8 -8
  104. package/components/containers/tile/bundles/index.umd.js +3 -3
  105. package/components/containers/tile/fesm2022/index.mjs +3 -3
  106. package/components/containers/tile/fesm2022/index.mjs.map +1 -1
  107. package/components/containers/tile/types/index.d.ts +1 -1
  108. package/components/containers/wizard/bundles/index.umd.js +18 -18
  109. package/components/containers/wizard/fesm2022/index.mjs +18 -18
  110. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  111. package/components/containers/wizard/types/index.d.ts +8 -8
  112. package/components/data/card/bundles/index.umd.js +12 -12
  113. package/components/data/card/fesm2022/index.mjs +12 -12
  114. package/components/data/card/fesm2022/index.mjs.map +1 -1
  115. package/components/data/card/types/index.d.ts +6 -6
  116. package/components/data/form/bundles/index.umd.js +72 -75
  117. package/components/data/form/fesm2022/index.mjs +72 -77
  118. package/components/data/form/fesm2022/index.mjs.map +1 -1
  119. package/components/data/form/types/index.d.ts +29 -29
  120. package/components/data/list/bundles/index.umd.js +22 -27
  121. package/components/data/list/fesm2022/index.mjs +22 -27
  122. package/components/data/list/fesm2022/index.mjs.map +1 -1
  123. package/components/data/list/types/index.d.ts +23 -23
  124. package/components/data/live-table/bundles/index.umd.js +3 -3
  125. package/components/data/live-table/fesm2022/index.mjs +3 -3
  126. package/components/data/live-table/fesm2022/index.mjs.map +1 -1
  127. package/components/data/live-table/types/index.d.ts +5 -5
  128. package/components/data/pagination/bundles/index.umd.js +27 -28
  129. package/components/data/pagination/fesm2022/index.mjs +27 -28
  130. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  131. package/components/data/pagination/types/index.d.ts +1 -1
  132. package/components/data/table/bundles/index.umd.js +131 -142
  133. package/components/data/table/fesm2022/index.mjs +131 -143
  134. package/components/data/table/fesm2022/index.mjs.map +1 -1
  135. package/components/data/table/types/index.d.ts +20 -20
  136. package/components/dialogs/alert-dialog/bundles/index.umd.js +3 -3
  137. package/components/dialogs/alert-dialog/fesm2022/index.mjs +3 -3
  138. package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  139. package/components/dialogs/alert-dialog/types/index.d.ts +1 -1
  140. package/components/dialogs/confirm-dialog/bundles/index.umd.js +3 -3
  141. package/components/dialogs/confirm-dialog/fesm2022/index.mjs +3 -3
  142. package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  143. package/components/dialogs/confirm-dialog/types/index.d.ts +1 -1
  144. package/components/dialogs/default/bundles/index.umd.js +12 -12
  145. package/components/dialogs/default/fesm2022/index.mjs +12 -12
  146. package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  147. package/components/dialogs/default/types/index.d.ts +3 -3
  148. package/components/dialogs/design-dialog/bundles/index.umd.js +3 -3
  149. package/components/dialogs/design-dialog/fesm2022/index.mjs +3 -3
  150. package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  151. package/components/dialogs/design-dialog/types/index.d.ts +1 -1
  152. package/components/dialogs/iframe-dialog/bundles/index.umd.js +3 -3
  153. package/components/dialogs/iframe-dialog/fesm2022/index.mjs +3 -3
  154. package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  155. package/components/dialogs/iframe-dialog/types/index.d.ts +1 -1
  156. package/components/dialogs/login-dialog/bundles/index.umd.js +3 -3
  157. package/components/dialogs/login-dialog/fesm2022/index.mjs +3 -3
  158. package/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -1
  159. package/components/dialogs/login-dialog/types/index.d.ts +2 -2
  160. package/components/dialogs/partial-dialog/bundles/index.umd.js +3 -3
  161. package/components/dialogs/partial-dialog/fesm2022/index.mjs +3 -3
  162. package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  163. package/components/dialogs/partial-dialog/types/index.d.ts +1 -1
  164. package/components/input/base-form/bundles/index.umd.js +4 -4
  165. package/components/input/base-form/fesm2022/index.mjs +4 -4
  166. package/components/input/base-form/fesm2022/index.mjs.map +1 -1
  167. package/components/input/base-form-custom/bundles/index.umd.js +3 -3
  168. package/components/input/base-form-custom/fesm2022/index.mjs +3 -3
  169. package/components/input/button/bundles/index.umd.js +3 -3
  170. package/components/input/button/fesm2022/index.mjs +3 -3
  171. package/components/input/button/fesm2022/index.mjs.map +1 -1
  172. package/components/input/button/types/index.d.ts +1 -1
  173. package/components/input/button-group/bundles/index.umd.js +3 -3
  174. package/components/input/button-group/fesm2022/index.mjs +3 -3
  175. package/components/input/button-group/fesm2022/index.mjs.map +1 -1
  176. package/components/input/button-group/types/index.d.ts +1 -1
  177. package/components/input/calendar/bundles/index.umd.js +4 -4
  178. package/components/input/calendar/fesm2022/index.mjs +4 -5
  179. package/components/input/calendar/fesm2022/index.mjs.map +1 -1
  180. package/components/input/calendar/types/index.d.ts +9 -9
  181. package/components/input/caption-position/bundles/index.umd.js +5 -5
  182. package/components/input/caption-position/fesm2022/index.mjs +5 -5
  183. package/components/input/caption-position/fesm2022/index.mjs.map +1 -1
  184. package/components/input/caption-position/types/index.d.ts +4 -4
  185. package/components/input/checkbox/bundles/index.umd.js +3 -3
  186. package/components/input/checkbox/fesm2022/index.mjs +3 -3
  187. package/components/input/checkbox/fesm2022/index.mjs.map +1 -1
  188. package/components/input/checkbox/types/index.d.ts +2 -2
  189. package/components/input/checkboxset/bundles/index.umd.js +4 -4
  190. package/components/input/checkboxset/fesm2022/index.mjs +4 -4
  191. package/components/input/checkboxset/fesm2022/index.mjs.map +1 -1
  192. package/components/input/checkboxset/types/index.d.ts +2 -2
  193. package/components/input/chips/bundles/index.umd.js +5 -5
  194. package/components/input/chips/fesm2022/index.mjs +5 -5
  195. package/components/input/chips/fesm2022/index.mjs.map +1 -1
  196. package/components/input/chips/types/index.d.ts +14 -14
  197. package/components/input/color-picker/bundles/index.umd.js +3 -3
  198. package/components/input/color-picker/fesm2022/index.mjs +3 -3
  199. package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  200. package/components/input/color-picker/types/index.d.ts +2 -2
  201. package/components/input/composite/bundles/index.umd.js +3 -3
  202. package/components/input/composite/fesm2022/index.mjs +3 -3
  203. package/components/input/composite/fesm2022/index.mjs.map +1 -1
  204. package/components/input/composite/types/index.d.ts +1 -1
  205. package/components/input/currency/bundles/index.umd.js +3 -3
  206. package/components/input/currency/fesm2022/index.mjs +3 -3
  207. package/components/input/currency/fesm2022/index.mjs.map +1 -1
  208. package/components/input/currency/types/index.d.ts +3 -3
  209. package/components/input/dataset-aware-form/bundles/index.umd.js +7 -7
  210. package/components/input/dataset-aware-form/fesm2022/index.mjs +7 -7
  211. package/components/input/dataset-aware-form/fesm2022/index.mjs.map +1 -1
  212. package/components/input/dataset-aware-form/types/index.d.ts +1 -1
  213. package/components/input/epoch/base-date-time/bundles/index.umd.js +10 -15
  214. package/components/input/epoch/base-date-time/fesm2022/index.mjs +10 -15
  215. package/components/input/epoch/base-date-time/fesm2022/index.mjs.map +1 -1
  216. package/components/input/epoch/base-date-time/types/index.d.ts +2 -2
  217. package/components/input/epoch/date/bundles/index.umd.js +5 -5
  218. package/components/input/epoch/date/fesm2022/index.mjs +5 -5
  219. package/components/input/epoch/date/fesm2022/index.mjs.map +1 -1
  220. package/components/input/epoch/date/types/index.d.ts +4 -4
  221. package/components/input/epoch/date-time/bundles/index.umd.js +3 -3
  222. package/components/input/epoch/date-time/fesm2022/index.mjs +3 -3
  223. package/components/input/epoch/date-time/fesm2022/index.mjs.map +1 -1
  224. package/components/input/epoch/date-time/types/index.d.ts +8 -8
  225. package/components/input/epoch/date-time-picker/bundles/index.umd.js +8 -8
  226. package/components/input/epoch/date-time-picker/fesm2022/index.mjs +8 -8
  227. package/components/input/epoch/date-time-picker/fesm2022/index.mjs.map +1 -1
  228. package/components/input/epoch/date-time-picker/types/index.d.ts +6 -7
  229. package/components/input/epoch/picker/bundles/index.umd.js +6 -6
  230. package/components/input/epoch/picker/fesm2022/index.mjs +6 -6
  231. package/components/input/epoch/picker/fesm2022/index.mjs.map +1 -1
  232. package/components/input/epoch/time/bundles/index.umd.js +4 -5
  233. package/components/input/epoch/time/fesm2022/index.mjs +5 -6
  234. package/components/input/epoch/time/fesm2022/index.mjs.map +1 -1
  235. package/components/input/epoch/time/types/index.d.ts +4 -4
  236. package/components/input/file-upload/bundles/index.umd.js +4 -4
  237. package/components/input/file-upload/fesm2022/index.mjs +4 -4
  238. package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  239. package/components/input/file-upload/types/index.d.ts +5 -5
  240. package/components/input/number/bundles/index.umd.js +3 -3
  241. package/components/input/number/fesm2022/index.mjs +3 -3
  242. package/components/input/number/fesm2022/index.mjs.map +1 -1
  243. package/components/input/number/types/index.d.ts +1 -1
  244. package/components/input/radioset/bundles/index.umd.js +4 -4
  245. package/components/input/radioset/fesm2022/index.mjs +4 -4
  246. package/components/input/radioset/fesm2022/index.mjs.map +1 -1
  247. package/components/input/radioset/types/index.d.ts +2 -2
  248. package/components/input/rating/bundles/index.umd.js +9 -11
  249. package/components/input/rating/fesm2022/index.mjs +9 -11
  250. package/components/input/rating/fesm2022/index.mjs.map +1 -1
  251. package/components/input/rating/types/index.d.ts +2 -2
  252. package/components/input/select/bundles/index.umd.js +4 -4
  253. package/components/input/select/fesm2022/index.mjs +4 -4
  254. package/components/input/select/fesm2022/index.mjs.map +1 -1
  255. package/components/input/select/types/index.d.ts +1 -1
  256. package/components/input/slider/bundles/index.umd.js +3 -3
  257. package/components/input/slider/fesm2022/index.mjs +3 -3
  258. package/components/input/slider/fesm2022/index.mjs.map +1 -1
  259. package/components/input/slider/types/index.d.ts +1 -1
  260. package/components/input/switch/bundles/index.umd.js +3 -3
  261. package/components/input/switch/fesm2022/index.mjs +3 -3
  262. package/components/input/switch/fesm2022/index.mjs.map +1 -1
  263. package/components/input/switch/types/index.d.ts +1 -1
  264. package/components/input/text/bundles/index.umd.js +31 -35
  265. package/components/input/text/fesm2022/index.mjs +31 -35
  266. package/components/input/text/fesm2022/index.mjs.map +1 -1
  267. package/components/input/text/types/index.d.ts +12 -12
  268. package/components/input/textarea/bundles/index.umd.js +3 -3
  269. package/components/input/textarea/fesm2022/index.mjs +3 -3
  270. package/components/input/textarea/fesm2022/index.mjs.map +1 -1
  271. package/components/input/textarea/types/index.d.ts +2 -2
  272. package/components/navigation/breadcrumb/bundles/index.umd.js +3 -3
  273. package/components/navigation/breadcrumb/fesm2022/index.mjs +3 -3
  274. package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
  275. package/components/navigation/breadcrumb/types/index.d.ts +4 -4
  276. package/components/navigation/menu/bundles/index.umd.js +25 -33
  277. package/components/navigation/menu/fesm2022/index.mjs +25 -33
  278. package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  279. package/components/navigation/menu/types/index.d.ts +21 -21
  280. package/components/navigation/navbar/bundles/index.umd.js +3 -3
  281. package/components/navigation/navbar/fesm2022/index.mjs +3 -3
  282. package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
  283. package/components/navigation/navbar/types/index.d.ts +1 -1
  284. package/components/navigation/popover/bundles/index.umd.js +4 -4
  285. package/components/navigation/popover/fesm2022/index.mjs +4 -4
  286. package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  287. package/components/navigation/popover/types/index.d.ts +4 -4
  288. package/components/page/default/bundles/index.umd.js +23 -23
  289. package/components/page/default/fesm2022/index.mjs +23 -23
  290. package/components/page/default/fesm2022/index.mjs.map +1 -1
  291. package/components/page/default/types/index.d.ts +14 -14
  292. package/components/page/footer/bundles/index.umd.js +3 -3
  293. package/components/page/footer/fesm2022/index.mjs +3 -3
  294. package/components/page/footer/fesm2022/index.mjs.map +1 -1
  295. package/components/page/footer/types/index.d.ts +1 -1
  296. package/components/page/header/bundles/index.umd.js +3 -3
  297. package/components/page/header/fesm2022/index.mjs +3 -3
  298. package/components/page/header/fesm2022/index.mjs.map +1 -1
  299. package/components/page/header/types/index.d.ts +1 -1
  300. package/components/page/left-panel/bundles/index.umd.js +5 -5
  301. package/components/page/left-panel/fesm2022/index.mjs +5 -5
  302. package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  303. package/components/page/left-panel/types/index.d.ts +3 -3
  304. package/components/page/right-panel/bundles/index.umd.js +3 -3
  305. package/components/page/right-panel/fesm2022/index.mjs +3 -3
  306. package/components/page/right-panel/fesm2022/index.mjs.map +1 -1
  307. package/components/page/right-panel/types/index.d.ts +1 -1
  308. package/components/page/top-nav/bundles/index.umd.js +3 -3
  309. package/components/page/top-nav/fesm2022/index.mjs +3 -3
  310. package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  311. package/components/page/top-nav/types/index.d.ts +1 -1
  312. package/components/prefab/bundles/index.umd.js +7 -7
  313. package/components/prefab/fesm2022/index.mjs +7 -7
  314. package/components/prefab/fesm2022/index.mjs.map +1 -1
  315. package/components/prefab/types/index.d.ts +3 -3
  316. package/core/bundles/index.umd.js +84 -89
  317. package/core/fesm2022/index.mjs +84 -89
  318. package/core/fesm2022/index.mjs.map +1 -1
  319. package/core/types/index.d.ts +11 -11
  320. package/http/bundles/index.umd.js +6 -6
  321. package/http/fesm2022/index.mjs +6 -6
  322. package/http/fesm2022/index.mjs.map +1 -1
  323. package/http/types/index.d.ts +1 -1
  324. package/npm-shrinkwrap.json +2 -2
  325. package/oAuth/bundles/index.umd.js +17 -21
  326. package/oAuth/fesm2022/index.mjs +17 -21
  327. package/oAuth/fesm2022/index.mjs.map +1 -1
  328. package/oAuth/types/index.d.ts +1 -1
  329. package/package-lock.json +2 -2
  330. package/package.json +1 -1
  331. package/runtime/base/bundles/index.umd.js +253 -275
  332. package/runtime/base/fesm2022/index.mjs +253 -275
  333. package/runtime/base/fesm2022/index.mjs.map +1 -1
  334. package/runtime/base/types/index.d.ts +90 -96
  335. package/runtime/dynamic/bundles/index.umd.js +28 -28
  336. package/runtime/dynamic/fesm2022/index.mjs +28 -28
  337. package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  338. package/runtime/dynamic/types/index.d.ts +22 -22
  339. package/scripts/datatable/datatable.js +293 -271
  340. package/scripts/tree-keyboard-navigation/keyboard-navigation.js +68 -56
  341. package/security/bundles/index.umd.js +6 -6
  342. package/security/fesm2022/index.mjs +6 -6
  343. package/security/fesm2022/index.mjs.map +1 -1
  344. package/security/types/index.d.ts +5 -5
  345. package/transpiler/bundles/index.umd.js +3 -5
  346. package/transpiler/fesm2022/index.mjs +3 -5
  347. package/transpiler/fesm2022/index.mjs.map +1 -1
  348. package/variables/bundles/index.umd.js +69 -71
  349. package/variables/fesm2022/index.mjs +69 -72
  350. package/variables/fesm2022/index.mjs.map +1 -1
  351. package/variables/types/index.d.ts +9 -9
@@ -24,14 +24,14 @@
24
24
  var i0__namespace = /*#__PURE__*/_interopNamespaceDefault(i0);
25
25
 
26
26
  class PickerGroupComponent {
27
- static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0__namespace, type: PickerGroupComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.20", type: PickerGroupComponent, isStandalone: true, selector: "wm-pickergroup", ngImport: i0__namespace, template: `
27
+ static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0__namespace, type: PickerGroupComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.21", type: PickerGroupComponent, isStandalone: true, selector: "wm-pickergroup", ngImport: i0__namespace, template: `
29
29
  <div class="app-picker-group">
30
30
  <ng-content></ng-content>
31
31
  </div>
32
32
  `, isInline: true }); }
33
33
  }
34
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0__namespace, type: PickerGroupComponent, decorators: [{
34
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0__namespace, type: PickerGroupComponent, decorators: [{
35
35
  type: i0.Component,
36
36
  args: [{
37
37
  standalone: true,
@@ -84,8 +84,8 @@
84
84
  ngAfterViewInit() {
85
85
  this.pickerAnimator = new PickerAnimator(this);
86
86
  }
87
- static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0__namespace, type: PickerComponent, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
88
- static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: PickerComponent, isStandalone: true, selector: "wm-picker", inputs: { selectedValue: "selectedValue", options: "options" }, outputs: { change: "change" }, ngImport: i0__namespace, template: `
87
+ static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0__namespace, type: PickerComponent, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
88
+ static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.21", type: PickerComponent, isStandalone: true, selector: "wm-picker", inputs: { selectedValue: "selectedValue", options: "options" }, outputs: { change: "change" }, ngImport: i0__namespace, template: `
89
89
  <div class="app-picker">
90
90
  <div class="app-picker-option-container">
91
91
  <div class="app-picker-option app-picker-empty-option">E</div>
@@ -102,7 +102,7 @@
102
102
  </div>
103
103
  `, isInline: true }); }
104
104
  }
105
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0__namespace, type: PickerComponent, decorators: [{
105
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0__namespace, type: PickerComponent, decorators: [{
106
106
  type: i0.Component,
107
107
  args: [{
108
108
  selector: 'wm-picker',
@@ -2,14 +2,14 @@ import * as i0 from '@angular/core';
2
2
  import { Component, EventEmitter, ElementRef, Input, Output } from '@angular/core';
3
3
 
4
4
  class PickerGroupComponent {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: PickerGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.20", type: PickerGroupComponent, isStandalone: true, selector: "wm-pickergroup", ngImport: i0, template: `
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: PickerGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.21", type: PickerGroupComponent, isStandalone: true, selector: "wm-pickergroup", ngImport: i0, template: `
7
7
  <div class="app-picker-group">
8
8
  <ng-content></ng-content>
9
9
  </div>
10
10
  `, isInline: true }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: PickerGroupComponent, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: PickerGroupComponent, decorators: [{
13
13
  type: Component,
14
14
  args: [{
15
15
  standalone: true,
@@ -62,8 +62,8 @@ class PickerComponent {
62
62
  ngAfterViewInit() {
63
63
  this.pickerAnimator = new PickerAnimator(this);
64
64
  }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: PickerComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
66
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: PickerComponent, isStandalone: true, selector: "wm-picker", inputs: { selectedValue: "selectedValue", options: "options" }, outputs: { change: "change" }, ngImport: i0, template: `
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: PickerComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
66
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.21", type: PickerComponent, isStandalone: true, selector: "wm-picker", inputs: { selectedValue: "selectedValue", options: "options" }, outputs: { change: "change" }, ngImport: i0, template: `
67
67
  <div class="app-picker">
68
68
  <div class="app-picker-option-container">
69
69
  <div class="app-picker-option app-picker-empty-option">E</div>
@@ -80,7 +80,7 @@ class PickerComponent {
80
80
  </div>
81
81
  `, isInline: true }); }
82
82
  }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: PickerComponent, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: PickerComponent, decorators: [{
84
84
  type: Component,
85
85
  args: [{
86
86
  selector: 'wm-picker',
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../../projects/components/widgets/input/epoch/picker/src/picker.component.ts","../../../../../../projects/components/widgets/input/epoch/picker/src/index.ts"],"sourcesContent":["import { AfterViewInit, Component, ElementRef, EventEmitter, Injector, Input, Output } from '@angular/core';\n\ndeclare const $;\n\n@Component({\n standalone: true,\n selector: 'wm-pickergroup',\n template: `\n <div class=\"app-picker-group\">\n <ng-content></ng-content>\n </div>\n `\n})\nexport class PickerGroupComponent {\n\n}\n\n@Component({\n selector: 'wm-picker',\n standalone: true,\n template: `\n <div class=\"app-picker\">\n <div class=\"app-picker-option-container\">\n <div class=\"app-picker-option app-picker-empty-option\">E</div>\n <div class=\"app-picker-option app-picker-empty-option\">E</div>\n @for (option of options; track option; let i = $index) {\n <div class=\"app-picker-option\">\n {{option.label}}\n </div>\n }\n <div class=\"app-picker-option app-picker-empty-option\">E</div>\n <div class=\"app-picker-option app-picker-empty-option\">E</div>\n </div>\n <div class=\"app-picker-ruler\"></div>\n </div>\n `\n})\nexport class PickerComponent implements AfterViewInit {\n\n public $el;\n\n private pickerAnimator;\n\n @Output() change = new EventEmitter<{\n label: string,\n value?: any\n }>();\n\n private _selectedIndex = 0;\n\n private _selectedValue: any;\n\n private _options: Array<{label: string, value?: any}> = [];\n\n noOfEmptyElements = 2;\n\n constructor(protected inj: Injector) {\n this.$el = $(inj.get(ElementRef).nativeElement);\n }\n\n @Input()\n set selectedValue(s: string) {\n this._selectedValue = s;\n this.reRender();\n }\n\n get selectedValue() {\n return this._selectedValue;\n }\n\n @Input()\n set options(opts: Array<{label: string, value?: any}>) {\n this._options = opts.map(o => ({\n label: o.label,\n value: o.value !== undefined ? o.value : o.label\n }));\n this.reRender();\n }\n\n get options() {\n return this._options;\n }\n\n reRender() {\n this._selectedIndex = this.options.findIndex(o => o.value === this.selectedValue);\n this.pickerAnimator?.select(this._selectedIndex + this.noOfEmptyElements);\n }\n\n set selectedIndex(i: number) {\n this._selectedIndex = i;\n this._selectedValue = this.options[i].value;\n this.change.emit(this.options[i]);\n }\n\n get selectedIndex() {\n return this._selectedIndex;\n }\n\n ngAfterViewInit(): void {\n this.pickerAnimator = new PickerAnimator(this);\n }\n\n}\n\nclass PickerAnimator {\n\n constructor(private picker: PickerComponent) {\n let lastSelectedIndex = picker.selectedIndex + picker.noOfEmptyElements;\n const computeIndex = (d: number) => lastSelectedIndex + Math.floor(d / 16);\n this.select(lastSelectedIndex);\n this.getElement().swipey({\n 'direction': $.fn.swipey.DIRECTIONS.VERTICAL,\n 'threshold': 10,\n 'target': picker.$el,\n 'onSwipe': (e, data) => {\n this.select(computeIndex(-1 * data.length));\n },\n 'onSwipeEnd': (e, data) => {\n const nextSelectedIndex = computeIndex(-1 * data.length);\n this.select(nextSelectedIndex);\n lastSelectedIndex = picker.selectedIndex + picker.noOfEmptyElements;\n }\n });\n }\n\n getElement() {\n return this.picker.$el.find('.app-picker-option-container:first');\n }\n\n getOptionElements() {\n return this.getElement().find('.app-picker-option');\n }\n\n select(selectedIndex: number) {\n const options = this.getOptionElements();\n if (selectedIndex < this.picker.noOfEmptyElements\n || selectedIndex >= options.length - this.picker.noOfEmptyElements) {\n return;\n }\n this.getElement()\n .find('.app-picker-option.app-picker-option-selected')\n .removeClass('app-picker-option-selected');\n options.eq(selectedIndex).addClass('app-picker-option-selected');\n this.picker.selectedIndex = selectedIndex - this.picker.noOfEmptyElements;\n const minIndex = selectedIndex - this.picker.noOfEmptyElements;\n const maxIndex = selectedIndex + this.picker.noOfEmptyElements;\n options.each((i, e) => {\n if (i >= minIndex && i <= maxIndex) {\n const rotation = (i - selectedIndex) * 30;\n const opacity = 1 - Math.abs(i - selectedIndex) * 0.3;\n $(e).css({\n transform : 'perspective(500px) rotateX(' + rotation + 'deg)',\n opacity: opacity\n }).show();\n } else {\n $(e).hide();\n }\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../../projects/components/widgets/input/epoch/picker/src/picker.component.ts","../../../../../../projects/components/widgets/input/epoch/picker/src/index.ts"],"sourcesContent":["import { AfterViewInit, Component, ElementRef, EventEmitter, Injector, Input, Output } from '@angular/core';\n\ndeclare const $;\n\n@Component({\n standalone: true,\n selector: 'wm-pickergroup',\n template: `\n <div class=\"app-picker-group\">\n <ng-content></ng-content>\n </div>\n `\n})\nexport class PickerGroupComponent {\n\n}\n\n@Component({\n selector: 'wm-picker',\n standalone: true,\n template: `\n <div class=\"app-picker\">\n <div class=\"app-picker-option-container\">\n <div class=\"app-picker-option app-picker-empty-option\">E</div>\n <div class=\"app-picker-option app-picker-empty-option\">E</div>\n @for (option of options; track option; let i = $index) {\n <div class=\"app-picker-option\">\n {{option.label}}\n </div>\n }\n <div class=\"app-picker-option app-picker-empty-option\">E</div>\n <div class=\"app-picker-option app-picker-empty-option\">E</div>\n </div>\n <div class=\"app-picker-ruler\"></div>\n </div>\n `\n})\nexport class PickerComponent implements AfterViewInit {\n\n public $el;\n\n private pickerAnimator;\n\n @Output() change = new EventEmitter<{\n label: string,\n value?: any\n }>();\n\n private _selectedIndex = 0;\n\n private _selectedValue: any;\n\n private _options: Array<{label: string, value?: any}> = [];\n\n noOfEmptyElements = 2;\n\n constructor(protected inj: Injector) {\n this.$el = $(inj.get(ElementRef).nativeElement);\n }\n\n @Input()\n set selectedValue(s: string) {\n this._selectedValue = s;\n this.reRender();\n }\n\n get selectedValue() {\n return this._selectedValue;\n }\n\n @Input()\n set options(opts: Array<{label: string, value?: any}>) {\n this._options = opts.map(o => ({\n label: o.label,\n value: o.value !== undefined ? o.value : o.label\n }));\n this.reRender();\n }\n\n get options() {\n return this._options;\n }\n\n reRender() {\n this._selectedIndex = this.options.findIndex(o => o.value === this.selectedValue);\n this.pickerAnimator?.select(this._selectedIndex + this.noOfEmptyElements);\n }\n\n set selectedIndex(i: number) {\n this._selectedIndex = i;\n this._selectedValue = this.options[i].value;\n this.change.emit(this.options[i]);\n }\n\n get selectedIndex() {\n return this._selectedIndex;\n }\n\n ngAfterViewInit(): void {\n this.pickerAnimator = new PickerAnimator(this);\n }\n\n}\n\nclass PickerAnimator {\n\n constructor(private readonly picker: PickerComponent) {\n let lastSelectedIndex = picker.selectedIndex + picker.noOfEmptyElements;\n const computeIndex = (d: number) => lastSelectedIndex + Math.floor(d / 16);\n this.select(lastSelectedIndex);\n this.getElement().swipey({\n 'direction': $.fn.swipey.DIRECTIONS.VERTICAL,\n 'threshold': 10,\n 'target': picker.$el,\n 'onSwipe': (e, data) => {\n this.select(computeIndex(-1 * data.length));\n },\n 'onSwipeEnd': (e, data) => {\n const nextSelectedIndex = computeIndex(-1 * data.length);\n this.select(nextSelectedIndex);\n lastSelectedIndex = picker.selectedIndex + picker.noOfEmptyElements;\n }\n });\n }\n\n getElement() {\n return this.picker.$el.find('.app-picker-option-container:first');\n }\n\n getOptionElements() {\n return this.getElement().find('.app-picker-option');\n }\n\n select(selectedIndex: number) {\n const options = this.getOptionElements();\n if (selectedIndex < this.picker.noOfEmptyElements\n || selectedIndex >= options.length - this.picker.noOfEmptyElements) {\n return;\n }\n this.getElement()\n .find('.app-picker-option.app-picker-option-selected')\n .removeClass('app-picker-option-selected');\n options.eq(selectedIndex).addClass('app-picker-option-selected');\n this.picker.selectedIndex = selectedIndex - this.picker.noOfEmptyElements;\n const minIndex = selectedIndex - this.picker.noOfEmptyElements;\n const maxIndex = selectedIndex + this.picker.noOfEmptyElements;\n options.each((i, e) => {\n if (i >= minIndex && i <= maxIndex) {\n const rotation = (i - selectedIndex) * 30;\n const opacity = 1 - Math.abs(i - selectedIndex) * 0.3;\n $(e).css({\n transform : 'perspective(500px) rotateX(' + rotation + 'deg)',\n opacity: opacity\n }).show();\n } else {\n $(e).hide();\n }\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -267,9 +267,8 @@
267
267
  this.bsTimeValue = newVal;
268
268
  }
269
269
  } // sometimes library is not returning the correct value when the min and max time are given, displaying the datavalue based on the value given by the user
270
- else if (this.bsTimePicker && this.bsTimePicker.min && this.bsTimePicker.max) {
270
+ else if (this.bsTimePicker?.min && this.bsTimePicker.max) {
271
271
  minTimeMeridian = moment(new Date(this.bsTimePicker.min)).format('A');
272
- moment(new Date(this.bsTimePicker.max)).format('A');
273
272
  timeValue = this.bsTimePicker.hours + ':' + (this.bsTimePicker.minutes || 0) + ':' + (this.bsTimePicker.seconds || 0) + (this.bsTimePicker.showMeridian ? (' ' + minTimeMeridian) : '');
274
273
  timeInputValue = i1.getNativeDateObject(timeValue, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });
275
274
  this.bsTimePicker.meridian = minTimeMeridian?.replace(this.meridians[0], this.am)?.replace(this.meridians[1], this.pm);
@@ -373,15 +372,15 @@
373
372
  }
374
373
  this.displayInputElem.value = lodashEs.get(this, 'nativeDisplayValue');
375
374
  }
376
- static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0__namespace, type: TimeComponent, deps: [{ token: i0__namespace.Injector }, { token: i0__namespace.NgZone }, { token: i1__namespace.AppDefaults }, { token: i1__namespace.App }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
377
- static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: TimeComponent, isStandalone: true, selector: "[wmTime]", providers: [
375
+ static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0__namespace, type: TimeComponent, deps: [{ token: i0__namespace.Injector }, { token: i0__namespace.NgZone }, { token: i1__namespace.AppDefaults }, { token: i1__namespace.App }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
376
+ static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.21", type: TimeComponent, isStandalone: true, selector: "[wmTime]", providers: [
378
377
  base.provideAs(TimeComponent, i2.NG_VALUE_ACCESSOR, true),
379
378
  base.provideAs(TimeComponent, i2.NG_VALIDATORS, true),
380
379
  base.provideAsWidgetRef(TimeComponent),
381
380
  { provide: i4.TimepickerConfig, deps: [i1.AbstractI18nService], useFactory: baseDateTime.getTimepickerConfig }
382
381
  ], usesInheritance: true, ngImport: i0__namespace, template: "<div dropdown [isOpen]=\"status.isopen\" (onShown)=\"onShown()\" (onHidden)=\"hideTimepickerDropdown()\" [container]=\"'body'\" style=\"display: inherit\">\n <input [attr.aria-label]=\"arialabel\" class=\"form-control app-textbox display-input\"\n focus-target\n [tabindex]=\"tabindex\"\n [name]=\"name\"\n type=\"text\"\n role=\"timer\"\n [value]=\"displayValue\"\n [disabled]=\"disabled || readonly || isCurrentTime\"\n [autofocus]=\"autofocus\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-atomic]=\"isCurrentTime ? 'true' : 'false'\"\n [required]=\"required\"\n [readOnly]=\"isReadOnly\"\n (click)=\"toggleDropdown($event, true)\"\n (focus)=\"onDateTimeInputFocus(); invokeOnFocus($event);\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onDisplayTimeChange($event)\"\n (keydown)=\"_triggeredByUser = true; onDisplayKeydown($event)\">\n <span class=\"input-group-btn dropdown-toggle\">\n <button type=\"button\" class=\"btn btn-default btn-date\" [tabindex]=\"tabindex\" [disabled]=\"disabled || readonly || isCurrentTime\" aria-label=\"Select time\" aria-haspopup=\"true\" aria-expanded=\"false\" (click)=\"toggleDropdown($event, false)\"><i aria-hidden=\"true\" class=\"app-icon wm-sl-l sl-time\"></i></button>\n </span>\n <div *dropdownMenu class=\"dropdown-menu\" (click)=\"preventTpClose($event)\">\n <timepicker class=\"model-holder\"\n [showMeridian]=\"ismeridian\"\n [readonlyInput]=\"isDisabled\"\n [(ngModel)]=\"bsTimeValue\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"disabled || readonly || isCurrentTime\"\n [min]=\"minTime\"\n [max]=\"maxTime\"\n [hourStep]=\"hourstep\"\n [minuteStep]=\"minutestep\"\n [secondsStep]=\"secondsstep\"\n [mousewheel]=\"true\"\n [arrowkeys]=\"true\"\n (isValid)=\"isValid($event)\"\n [showSeconds]=\"showseconds\" (ngModelChange)=\"onTimeChange($event)\"\n [ngClass]=\"{ 'showbuttons': showampmbuttons }\"></timepicker>\n @if (ismeridian && showampmbuttons) {\n <div class=\"ampm-toggle text-center\">\n <button class=\"meridian-btn mb-1\" [ngClass]=\"{ 'active btn-secondary': getPeriod() === 'AM' }\" (click)=\"setPeriod('AM')\">{{appLocale.LABEL_AM ||\"AM\"}}</button><br>\n <button class=\"meridian-btn\" [ngClass]=\"{ 'active btn-secondary': getPeriod() === 'PM' }\" (click)=\"setPeriod('PM')\">{{appLocale.LABEL_PM ||\"PM\"}}</button>\n </div>\n }\n </div>\n</div>\n@if (loadNativeDateInput) {\n <wm-datetimepicker\n dateTimePicker\n mode=\"TIME\"\n [minTime]=\"minTime\"\n [maxTime]=\"maxTime\"\n [placement]=\"modal\"\n [displayFormat]=\"timepattern\"\n [value]=\"bsTimeValue\"\n (change)=\"onTimeChange($event)\">\n </wm-datetimepicker>\n <div class=\"mobile-input mobile-datepicker-container\"\n tabindex=\"1000000\"\n (click)=\"!(disabled || readonly) && showDatePickerModal(bsTimeValue)\"\n [attr.aria-label]=\"displayValue ? 'Change time ' + displayValue : arialabel || 'Select time'\"\n (focus)=\"onDateTimeInputFocus(true); invokeOnFocus($event); assignModel()\"\n (blur)=\"onDateTimeInputBlur(); invokeOnTouched($event)\"\n role=\"button\">\n </div>\n}\n", dependencies: [{ kind: "ngmodule", type: i2.FormsModule }, { kind: "directive", type: i2__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: dateTimePicker.DateTimePickerComponent, selector: "wm-datetimepicker", inputs: ["mode", "placement", "config", "minTime", "maxTime", "_displayFormat", "excludedDatesToDisable", "value", "excludedDaysToDisable", "displayFormat"], outputs: ["change"] }, { kind: "ngmodule", type: i3.BsDropdownModule }, { kind: "directive", type: i3__namespace.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i3__namespace.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "ngmodule", type: i4.TimepickerModule }, { kind: "component", type: i4__namespace.TimepickerComponent, selector: "timepicker", inputs: ["hourStep", "minuteStep", "secondsStep", "readonlyInput", "disabled", "mousewheel", "arrowkeys", "showSpinners", "showMeridian", "showMinutes", "showSeconds", "meridians", "min", "max", "hoursPlaceholder", "minutesPlaceholder", "secondsPlaceholder"], outputs: ["isValid", "meridianChange"] }, { kind: "ngmodule", type: i5.CommonModule }, { kind: "directive", type: i5__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
383
382
  }
384
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0__namespace, type: TimeComponent, decorators: [{
383
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0__namespace, type: TimeComponent, decorators: [{
385
384
  type: i0.Component,
386
385
  args: [{ standalone: true, imports: [i2.FormsModule, dateTimePicker.DateTimePickerComponent, i3.BsDropdownModule, i4.TimepickerModule, i5.CommonModule], selector: '[wmTime]', providers: [
387
386
  base.provideAs(TimeComponent, i2.NG_VALUE_ACCESSOR, true),
@@ -241,7 +241,7 @@ class TimeComponent extends BaseDateTimeComponent {
241
241
  * This is an internal method used to execute the on time change functionality
242
242
  */
243
243
  onTimeChange(newVal, isNativePicker) {
244
- let timeValue, timeInputValue, minTimeMeridian, maxTimeMeridian;
244
+ let timeValue, timeInputValue, minTimeMeridian;
245
245
  // For nativePicker, newVal is event, get the dateobject from the event.
246
246
  if (isNativePicker) {
247
247
  newVal = getNativeDateObject(newVal.target.value, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });
@@ -254,9 +254,8 @@ class TimeComponent extends BaseDateTimeComponent {
254
254
  this.bsTimeValue = newVal;
255
255
  }
256
256
  } // sometimes library is not returning the correct value when the min and max time are given, displaying the datavalue based on the value given by the user
257
- else if (this.bsTimePicker && this.bsTimePicker.min && this.bsTimePicker.max) {
257
+ else if (this.bsTimePicker?.min && this.bsTimePicker.max) {
258
258
  minTimeMeridian = moment(new Date(this.bsTimePicker.min)).format('A');
259
- maxTimeMeridian = moment(new Date(this.bsTimePicker.max)).format('A');
260
259
  timeValue = this.bsTimePicker.hours + ':' + (this.bsTimePicker.minutes || 0) + ':' + (this.bsTimePicker.seconds || 0) + (this.bsTimePicker.showMeridian ? (' ' + minTimeMeridian) : '');
261
260
  timeInputValue = getNativeDateObject(timeValue, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });
262
261
  this.bsTimePicker.meridian = minTimeMeridian?.replace(this.meridians[0], this.am)?.replace(this.meridians[1], this.pm);
@@ -360,15 +359,15 @@ class TimeComponent extends BaseDateTimeComponent {
360
359
  }
361
360
  this.displayInputElem.value = get(this, 'nativeDisplayValue');
362
361
  }
363
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TimeComponent, deps: [{ token: i0.Injector }, { token: i0.NgZone }, { token: i1.AppDefaults }, { token: i1.App }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
364
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: TimeComponent, isStandalone: true, selector: "[wmTime]", providers: [
362
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: TimeComponent, deps: [{ token: i0.Injector }, { token: i0.NgZone }, { token: i1.AppDefaults }, { token: i1.App }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
363
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.21", type: TimeComponent, isStandalone: true, selector: "[wmTime]", providers: [
365
364
  provideAs(TimeComponent, NG_VALUE_ACCESSOR, true),
366
365
  provideAs(TimeComponent, NG_VALIDATORS, true),
367
366
  provideAsWidgetRef(TimeComponent),
368
367
  { provide: TimepickerConfig, deps: [AbstractI18nService], useFactory: getTimepickerConfig }
369
368
  ], usesInheritance: true, ngImport: i0, template: "<div dropdown [isOpen]=\"status.isopen\" (onShown)=\"onShown()\" (onHidden)=\"hideTimepickerDropdown()\" [container]=\"'body'\" style=\"display: inherit\">\n <input [attr.aria-label]=\"arialabel\" class=\"form-control app-textbox display-input\"\n focus-target\n [tabindex]=\"tabindex\"\n [name]=\"name\"\n type=\"text\"\n role=\"timer\"\n [value]=\"displayValue\"\n [disabled]=\"disabled || readonly || isCurrentTime\"\n [autofocus]=\"autofocus\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-atomic]=\"isCurrentTime ? 'true' : 'false'\"\n [required]=\"required\"\n [readOnly]=\"isReadOnly\"\n (click)=\"toggleDropdown($event, true)\"\n (focus)=\"onDateTimeInputFocus(); invokeOnFocus($event);\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onDisplayTimeChange($event)\"\n (keydown)=\"_triggeredByUser = true; onDisplayKeydown($event)\">\n <span class=\"input-group-btn dropdown-toggle\">\n <button type=\"button\" class=\"btn btn-default btn-date\" [tabindex]=\"tabindex\" [disabled]=\"disabled || readonly || isCurrentTime\" aria-label=\"Select time\" aria-haspopup=\"true\" aria-expanded=\"false\" (click)=\"toggleDropdown($event, false)\"><i aria-hidden=\"true\" class=\"app-icon wm-sl-l sl-time\"></i></button>\n </span>\n <div *dropdownMenu class=\"dropdown-menu\" (click)=\"preventTpClose($event)\">\n <timepicker class=\"model-holder\"\n [showMeridian]=\"ismeridian\"\n [readonlyInput]=\"isDisabled\"\n [(ngModel)]=\"bsTimeValue\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"disabled || readonly || isCurrentTime\"\n [min]=\"minTime\"\n [max]=\"maxTime\"\n [hourStep]=\"hourstep\"\n [minuteStep]=\"minutestep\"\n [secondsStep]=\"secondsstep\"\n [mousewheel]=\"true\"\n [arrowkeys]=\"true\"\n (isValid)=\"isValid($event)\"\n [showSeconds]=\"showseconds\" (ngModelChange)=\"onTimeChange($event)\"\n [ngClass]=\"{ 'showbuttons': showampmbuttons }\"></timepicker>\n @if (ismeridian && showampmbuttons) {\n <div class=\"ampm-toggle text-center\">\n <button class=\"meridian-btn mb-1\" [ngClass]=\"{ 'active btn-secondary': getPeriod() === 'AM' }\" (click)=\"setPeriod('AM')\">{{appLocale.LABEL_AM ||\"AM\"}}</button><br>\n <button class=\"meridian-btn\" [ngClass]=\"{ 'active btn-secondary': getPeriod() === 'PM' }\" (click)=\"setPeriod('PM')\">{{appLocale.LABEL_PM ||\"PM\"}}</button>\n </div>\n }\n </div>\n</div>\n@if (loadNativeDateInput) {\n <wm-datetimepicker\n dateTimePicker\n mode=\"TIME\"\n [minTime]=\"minTime\"\n [maxTime]=\"maxTime\"\n [placement]=\"modal\"\n [displayFormat]=\"timepattern\"\n [value]=\"bsTimeValue\"\n (change)=\"onTimeChange($event)\">\n </wm-datetimepicker>\n <div class=\"mobile-input mobile-datepicker-container\"\n tabindex=\"1000000\"\n (click)=\"!(disabled || readonly) && showDatePickerModal(bsTimeValue)\"\n [attr.aria-label]=\"displayValue ? 'Change time ' + displayValue : arialabel || 'Select time'\"\n (focus)=\"onDateTimeInputFocus(true); invokeOnFocus($event); assignModel()\"\n (blur)=\"onDateTimeInputBlur(); invokeOnTouched($event)\"\n role=\"button\">\n </div>\n}\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: DateTimePickerComponent, selector: "wm-datetimepicker", inputs: ["mode", "placement", "config", "minTime", "maxTime", "_displayFormat", "excludedDatesToDisable", "value", "excludedDaysToDisable", "displayFormat"], outputs: ["change"] }, { kind: "ngmodule", type: BsDropdownModule }, { kind: "directive", type: i3.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i3.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "ngmodule", type: TimepickerModule }, { kind: "component", type: i4.TimepickerComponent, selector: "timepicker", inputs: ["hourStep", "minuteStep", "secondsStep", "readonlyInput", "disabled", "mousewheel", "arrowkeys", "showSpinners", "showMeridian", "showMinutes", "showSeconds", "meridians", "min", "max", "hoursPlaceholder", "minutesPlaceholder", "secondsPlaceholder"], outputs: ["isValid", "meridianChange"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
370
369
  }
371
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TimeComponent, decorators: [{
370
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: TimeComponent, decorators: [{
372
371
  type: Component,
373
372
  args: [{ standalone: true, imports: [FormsModule, DateTimePickerComponent, BsDropdownModule, TimepickerModule, CommonModule], selector: '[wmTime]', providers: [
374
373
  provideAs(TimeComponent, NG_VALUE_ACCESSOR, true),
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../../projects/components/widgets/input/epoch/time/src/time.props.ts","../../../../../../projects/components/widgets/input/epoch/time/src/time.component.ts","../../../../../../projects/components/widgets/input/epoch/time/src/time.component.html","../../../../../../projects/components/widgets/input/epoch/time/src/index.ts"],"sourcesContent":["import {FormWidgetType} from '@wm/core';\n\nimport {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget} from '@wm/components/base';\n\nexport const timeProps = new Map(\n [\n ['autofocus', PROP_BOOLEAN],\n ['class', PROP_STRING],\n ['dataentrymode', {value: 'default', ...PROP_STRING}],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['hint', PROP_STRING],\n ['arialabel', PROP_STRING],\n ['hourstep', {value: 1, ...PROP_NUMBER}],\n ['maxtime', PROP_STRING],\n ['mintime', PROP_STRING],\n ['minutestep', {value: 15, ...PROP_NUMBER}],\n ['name', PROP_STRING],\n ['outputformat', {value: 'HH:mm:ss', ...PROP_STRING}],\n ['placeholder', {value: 'Select time', ...PROP_STRING}],\n ['readonly', PROP_BOOLEAN],\n ['required', PROP_BOOLEAN],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showdropdownon', {value: 'default', ...PROP_STRING}],\n ['showcustompicker', { value: false, ...PROP_BOOLEAN }],\n ['secondsstep', {value: 1, ...PROP_NUMBER}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['timepattern', PROP_STRING],\n ['timestamp', PROP_STRING],\n ['showampmbuttons',{ value: false, ...PROP_BOOLEAN }]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-time',\n timeProps\n );\n registerFormWidget(\n FormWidgetType.TIME,\n new Map(timeProps)\n );\n};\n","import {FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {DateTimePickerComponent} from '@wm/components/input/epoch/date-time-picker';\nimport {CommonModule} from '@angular/common';\nimport {Component, Inject, Injector, NgZone, OnDestroy, Optional} from '@angular/core';\nimport {TimepickerConfig, TimepickerModule} from 'ngx-bootstrap/timepicker';\nimport {\n $appDigest,\n AbstractI18nService,\n addClass,\n addEventListenerOnElement,\n adjustContainerPosition,\n App,\n AppDefaults,\n EVENT_LIFE,\n FormWidgetType,\n getDisplayDateTimeFormat,\n getFormattedDate,\n getMomentLocaleObject,\n getNativeDateObject\n} from '@wm/core';\nimport {provideAs, provideAsWidgetRef, styler} from '@wm/components/base';\n\nimport {BaseDateTimeComponent, getTimepickerConfig} from '@wm/components/input/epoch/base-date-time';\nimport {registerProps} from './time.props';\nimport {forEach, get, includes} from \"lodash-es\";\nimport {BsDropdownModule} from \"ngx-bootstrap/dropdown\";\nimport * as momentLib from 'moment';\n\ndeclare const $;\nconst moment = momentLib.default || window['moment'];\n\nconst CURRENT_TIME = 'CURRENT_TIME';\nconst DEFAULT_CLS = 'input-group app-timeinput';\nconst WIDGET_CONFIG = { widgetType: 'wm-time', hostClass: DEFAULT_CLS };\n\n@Component({\n standalone: true,\n imports: [FormsModule, DateTimePickerComponent, BsDropdownModule, TimepickerModule,CommonModule],\n selector: '[wmTime]',\n templateUrl: './time.component.html',\n providers: [\n provideAs(TimeComponent, NG_VALUE_ACCESSOR, true),\n provideAs(TimeComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(TimeComponent),\n { provide: TimepickerConfig, deps: [AbstractI18nService], useFactory: getTimepickerConfig }\n ]\n})\nexport class TimeComponent extends BaseDateTimeComponent implements OnDestroy {\n static initializeProps = registerProps();\n /**\n * This property sets the display pattern of the time selected\n */\n timepattern: string;\n\n /**\n * This property sets the output format for the selected time datavalue\n */\n outputformat: string;\n\n public showdropdownon: string;\n public mintime;\n public maxtime;\n public hint: string;\n public arialabel: string;\n\n private deregisterEventListener;\n private app: App;\n private displayInputElem: HTMLElement;\n\n get timestamp() {\n return this.bsTimeValue ? this.bsTimeValue.valueOf() : undefined;\n }\n\n // @ts-ignore\n get datavalue(): any {\n if (this.isCurrentTime && !this.bsTimeValue) {\n return CURRENT_TIME;\n }\n return getFormattedDate(this.datePipe, this.bsTimeValue, this.outputformat, this.timeZone, null, null, this) || '';\n }\n\n /**Todo[Shubham]: needs to be redefined\n * This property sets the default value for the time selection\n */\n // @ts-ignore\n set datavalue(newVal: any) {\n if (newVal) {\n if (newVal === CURRENT_TIME) {\n this.isCurrentTime = true;\n this.setTimeInterval();\n } else {\n this.clearTimeInterval();\n this.bsTimeValue = getNativeDateObject(newVal, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n this.isCurrentTime = false;\n this.mintimeMaxtimeValidation();\n }\n } else {\n this.bsTimeValue = undefined;\n this.clearTimeInterval();\n this.isCurrentTime = false;\n }\n this.invokeOnChange(this.datavalue);\n $appDigest();\n }\n\n get displayValue() {\n const display = getFormattedDate(this.datePipe, this.bsTimeValue, this.timepattern, this.timeZone, null, null, this) || '';\n return this.safeReplaceMeridians(display);\n }\n\n get nativeDisplayValue() {\n return getFormattedDate(this.datePipe, this.bsTimeValue, 'HH:mm:ss', this.timeZone, null, null, this) || '';\n }\n\n /* Internal property to have a flag to check the given datavalue is of Current time*/\n public isCurrentTime: boolean;\n\n private timeinterval: any;\n\n /**\n * This is an internal property used to map it to the widget\n */\n private minTime: Date;\n\n /**\n * This is an internal property used to map it to the widget\n */\n private maxTime: Date;\n\n /**\n * This is an internal property used to toggle the timepicker dropdown\n */\n public status = { isopen: false };\n\n /**\n * This is an internal property used to map the main model to the time widget\n */\n private bsTimeValue: Date;\n\n constructor(\n inj: Injector,\n private ngZone: NgZone,\n private appDefaults: AppDefaults,\n app: App,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n\n styler(this.nativeElement, this);\n /**\n * Destroy the timer once the date widget is gone\n */\n this.registerDestroyListener(() => this.clearTimeInterval());\n\n this.timepattern = this.appDefaults.timeFormat || getDisplayDateTimeFormat(FormWidgetType.TIME);\n this.updateFormat('timepattern');\n this.app = app;\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n const isPristine=this.formControl?.pristine;\n if (key === 'tabindex') {\n return;\n }\n if (key === 'timepattern') {\n this.updateFormat('timepattern');\n }\n if (key === 'mintime') {\n this.minTime = getNativeDateObject(nv, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput }); // TODO it is supposed to be time conversion, not to the day\n this.mintimeMaxtimeValidation();\n } else if (key === 'maxtime') {\n this.maxTime = getNativeDateObject(nv, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n this.mintimeMaxtimeValidation();\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n if((key === 'mintime'||key === 'maxtime') && isPristine) {\n this.formControl?.control?.markAsPristine()\n }\n }\n\n setValidateType(min, max, val) {\n if (this.timeNotInRange) {\n if (val < min) {\n (this as any).validateType = 'mintime';\n } else if (val > max) {\n (this as any).validateType = 'maxtime';\n }\n }\n }\n\n /**\n * This is an internal method used to validate mintime and maxtime\n */\n private mintimeMaxtimeValidation() {\n this.timeNotInRange = this.minTime && this.maxTime && (this.bsTimeValue < this.minTime || this.bsTimeValue > this.maxTime);\n this.setValidateType(this.minTime, this.maxTime, this.bsTimeValue);\n this.invokeOnChange(this.datavalue, undefined, false);\n }\n\n /**\n * This is an internal method used to toggle the dropdown of the time widget\n */\n public toggleDropdown($event, skipFocus: boolean = false): void {\n if (this.loadNativeDateInput) {\n //Fixes click event getting triggred twice in Mobile devices.\n if (!skipFocus) {\n this.onDateTimeInputFocus();\n }\n return;\n }\n if ($event.type === 'click') {\n this.invokeEventCallback('click', { $event: $event });\n //this.focusOnInputEl();\n }\n if ($event.target && $($event.target).is('input') && !(this.isDropDownDisplayEnabledOnInput(this.showdropdownon))) {\n return;\n }\n this.ngZone.run(() => {\n this.status.isopen = !this.status.isopen;\n });\n this.addBodyClickListener(this.status.isopen);\n }\n\n /**\n * This is an internal method used to Prevent time picker close while changing time value\n */\n private preventTpClose($event) {\n $event.stopImmediatePropagation();\n const parentEl = $(this.nativeElement).closest('.app-composite-widget.caption-floating');\n if (parentEl.length > 0) {\n this.app.notify('captionPositionAnimate', { displayVal: this.displayValue, nativeEl: parentEl });\n }\n }\n\n private addBodyClickListener(skipListener) {\n if (!skipListener) {\n return;\n }\n const bodyElement = document.querySelector('body');\n setTimeout(() => {\n const dropdownElement = $(bodyElement).find('>bs-dropdown-container .dropdown-menu').get(0);\n this.deregisterEventListener = addEventListenerOnElement(bodyElement, dropdownElement, this.nativeElement, 'click', this.isDropDownDisplayEnabledOnInput(this.showdropdownon), () => {\n this.status.isopen = false;\n }, EVENT_LIFE.ONCE, true);\n }, 350);\n }\n\n /**\n * This is an internal method triggered when pressing key on the time input\n */\n public onDisplayKeydown(event) {\n if (this.isDropDownDisplayEnabledOnInput(this.showdropdownon)) {\n event.stopPropagation();\n if (event.key === 'Enter' || event.key === 'ArrowDown') {\n event.preventDefault();\n this.toggleDropdown(event);\n } else {\n this.hideTimepickerDropdown();\n }\n } else {\n this.hideTimepickerDropdown();\n }\n }\n\n /**\n * This is an internal method triggered when the time input changes\n */\n onDisplayTimeChange($event) {\n const newVal = getNativeDateObject($event.target.value?.replace(this.am, this.meridians[0])?.replace(this.pm, this.meridians[1]), { meridians: this.meridians, pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n // time pattern validation\n // if invalid pattern is entered, device is showing an error.\n if (!this.formatValidation(newVal, $event.target.value)) {\n return;\n }\n this.invalidDateTimeFormat = false;\n this.onTimeChange(newVal);\n }\n\n onInputBlur($event) {\n if (!$($event.relatedTarget).hasClass('bs-timepicker-field')) {\n this.invokeOnTouched();\n this.invokeEventCallback('blur', { $event });\n }\n }\n\n /**\n * This is an internal method used to execute the on time change functionality\n */\n private onTimeChange(newVal, isNativePicker?: boolean) {\n let timeValue,\n timeInputValue,\n minTimeMeridian,\n maxTimeMeridian;\n // For nativePicker, newVal is event, get the dateobject from the event.\n if (isNativePicker) {\n newVal = getNativeDateObject(newVal.target.value, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n }\n if (newVal) {\n // if the newVal is valid but not in the given range then highlight the input field\n this.timeNotInRange = this.minTime && this.maxTime && (newVal < this.minTime || newVal > this.maxTime);\n this.setValidateType(this.minTime, this.maxTime, newVal);\n if(!this.timeNotInRange) {\n this.bsTimeValue = newVal;\n }\n } // sometimes library is not returning the correct value when the min and max time are given, displaying the datavalue based on the value given by the user\n else if (this.bsTimePicker && this.bsTimePicker.min && this.bsTimePicker.max) {\n minTimeMeridian = moment(new Date(this.bsTimePicker.min)).format('A');\n maxTimeMeridian = moment(new Date(this.bsTimePicker.max)).format('A');\n timeValue = this.bsTimePicker.hours + ':' + (this.bsTimePicker.minutes || 0) + ':' + (this.bsTimePicker.seconds || 0) + (this.bsTimePicker.showMeridian ? (' ' + minTimeMeridian) : '');\n timeInputValue = getNativeDateObject(timeValue, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n this.bsTimePicker.meridian = minTimeMeridian?.replace(this.meridians[0], this.am)?.replace(this.meridians[1], this.pm);\n this.timeNotInRange = this.bsTimePicker.min > timeInputValue || this.bsTimePicker.max < timeInputValue;\n\n if (this.timeNotInRange || this.invalidDateTimeFormat) {\n this.bsTimeValue = this.getPrevDataValue();\n setTimeout(() => {\n const timeStr = getFormattedDate(this.datePipe, timeValue, this.timepattern, this.timeZone, null, null, this) || '';\n $(this.nativeElement).find('.display-input').val(this.safeReplaceMeridians(timeStr));\n });\n }\n this.setValidateType(this.bsTimePicker.min, this.bsTimePicker.max, timeInputValue);\n if (!this.timeNotInRange) {\n this.bsTimeValue = timeInputValue;\n }\n }\n // Update UI display if value hasn't changed\n if (!this.timeNotInRange && this.datavalue === this.getPrevDataValue()) {\n const displayTime = getFormattedDate(this.datePipe, this.datavalue, this.timepattern, this.timeZone, null, null, this) || '';\n $(this.nativeElement).find('.display-input').val(this.safeReplaceMeridians(displayTime));\n }\n this.invokeOnTouched();\n this.invokeOnChange(this.datavalue, {}, true);\n }\n\n /**\n * This is an internal method used to maintain a time interval to update the time model when the data value is set to CURRENT_TIME\n */\n private setTimeInterval() {\n if (this.timeinterval) {\n return;\n }\n this.timeinterval = setInterval(() => {\n const now = this.timeZone ? getMomentLocaleObject(this.timeZone) : new Date();\n now.setSeconds(now.getSeconds() + 1);\n this.datavalue = CURRENT_TIME;\n this.onTimeChange(now);\n }, 1000);\n }\n\n /**\n * This is an internal method used to clear the time interval created\n */\n private clearTimeInterval() {\n if (this.timeinterval) {\n clearInterval(this.timeinterval);\n this.timeinterval = null;\n }\n }\n\n /**\n * This function sets the value isOpen/isTimeOpen (i.e when datepicker popup is closed) based on widget type(i.e DateTime, Time)\n * @param val - isOpen/isTimeOpen is set based on the timepicker popup is open/closed\n */\n private setIsTimeOpen(val: boolean) {\n this.status.isopen = val;\n }\n\n // Change event is registered from the template, Prevent the framework from registering one more event\n protected handleEvent(node: HTMLElement, eventName: string, eventCallback: Function, locals: any) {\n if (!includes(['blur', 'focus', 'change', 'click'], eventName)) {\n super.handleEvent(node, eventName, eventCallback, locals);\n }\n }\n\n public hideTimepickerDropdown() {\n this.invokeOnTouched();\n this.status.isopen = false;\n if (this.deregisterEventListener) {\n this.deregisterEventListener();\n }\n this.removeKeyupListener();\n const parentEl = $(this.nativeElement).closest('.app-composite-widget.caption-floating');\n if (parentEl.length > 0) {\n this.app.notify('captionPositionAnimate', { displayVal: this.displayValue, nativeEl: parentEl });\n }\n this.blurDateInput(true);\n }\n\n private isValid(event) {\n if (!event) {\n const enteredDate = $(this.nativeElement).find('input').val()?.replace(this.am, this.meridians[0])?.replace(this.pm, this.meridians[1]);\n const newVal = getNativeDateObject(enteredDate, { meridians: this.meridians, pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n if (!this.formatValidation(newVal, enteredDate)) {\n return;\n }\n }\n }\n /**\n * This is an internal method to add css class for dropdown while opening the time dropdown\n */\n public onShown() {\n const tpElements = document.querySelectorAll('timepicker');\n forEach(tpElements, element => {\n addClass(element.parentElement as HTMLElement, 'app-datetime', true);\n });\n if (this.bsDropdown && (this.timeNotInRange || this.invalidDateTimeFormat)) {\n this.bsTimeValue = null;\n }\n this.focusTimePickerPopover(this);\n this.bindTimePickerKeyboardEvents();\n adjustContainerPosition($('bs-dropdown-container'), this.nativeElement, this.bsDropdown._dropdown, $('bs-dropdown-container .dropdown-menu'));\n }\n\n public assignModel() {\n if (!this.displayInputElem) {\n this.displayInputElem = this.getMobileInput();\n }\n (this.displayInputElem as any).value = get(this, 'nativeDisplayValue');\n }\n}\n","<div dropdown [isOpen]=\"status.isopen\" (onShown)=\"onShown()\" (onHidden)=\"hideTimepickerDropdown()\" [container]=\"'body'\" style=\"display: inherit\">\n <input [attr.aria-label]=\"arialabel\" class=\"form-control app-textbox display-input\"\n focus-target\n [tabindex]=\"tabindex\"\n [name]=\"name\"\n type=\"text\"\n role=\"timer\"\n [value]=\"displayValue\"\n [disabled]=\"disabled || readonly || isCurrentTime\"\n [autofocus]=\"autofocus\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-atomic]=\"isCurrentTime ? 'true' : 'false'\"\n [required]=\"required\"\n [readOnly]=\"isReadOnly\"\n (click)=\"toggleDropdown($event, true)\"\n (focus)=\"onDateTimeInputFocus(); invokeOnFocus($event);\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onDisplayTimeChange($event)\"\n (keydown)=\"_triggeredByUser = true; onDisplayKeydown($event)\">\n <span class=\"input-group-btn dropdown-toggle\">\n <button type=\"button\" class=\"btn btn-default btn-date\" [tabindex]=\"tabindex\" [disabled]=\"disabled || readonly || isCurrentTime\" aria-label=\"Select time\" aria-haspopup=\"true\" aria-expanded=\"false\" (click)=\"toggleDropdown($event, false)\"><i aria-hidden=\"true\" class=\"app-icon wm-sl-l sl-time\"></i></button>\n </span>\n <div *dropdownMenu class=\"dropdown-menu\" (click)=\"preventTpClose($event)\">\n <timepicker class=\"model-holder\"\n [showMeridian]=\"ismeridian\"\n [readonlyInput]=\"isDisabled\"\n [(ngModel)]=\"bsTimeValue\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"disabled || readonly || isCurrentTime\"\n [min]=\"minTime\"\n [max]=\"maxTime\"\n [hourStep]=\"hourstep\"\n [minuteStep]=\"minutestep\"\n [secondsStep]=\"secondsstep\"\n [mousewheel]=\"true\"\n [arrowkeys]=\"true\"\n (isValid)=\"isValid($event)\"\n [showSeconds]=\"showseconds\" (ngModelChange)=\"onTimeChange($event)\"\n [ngClass]=\"{ 'showbuttons': showampmbuttons }\"></timepicker>\n @if (ismeridian && showampmbuttons) {\n <div class=\"ampm-toggle text-center\">\n <button class=\"meridian-btn mb-1\" [ngClass]=\"{ 'active btn-secondary': getPeriod() === 'AM' }\" (click)=\"setPeriod('AM')\">{{appLocale.LABEL_AM ||\"AM\"}}</button><br>\n <button class=\"meridian-btn\" [ngClass]=\"{ 'active btn-secondary': getPeriod() === 'PM' }\" (click)=\"setPeriod('PM')\">{{appLocale.LABEL_PM ||\"PM\"}}</button>\n </div>\n }\n </div>\n</div>\n@if (loadNativeDateInput) {\n <wm-datetimepicker\n dateTimePicker\n mode=\"TIME\"\n [minTime]=\"minTime\"\n [maxTime]=\"maxTime\"\n [placement]=\"modal\"\n [displayFormat]=\"timepattern\"\n [value]=\"bsTimeValue\"\n (change)=\"onTimeChange($event)\">\n </wm-datetimepicker>\n <div class=\"mobile-input mobile-datepicker-container\"\n tabindex=\"1000000\"\n (click)=\"!(disabled || readonly) && showDatePickerModal(bsTimeValue)\"\n [attr.aria-label]=\"displayValue ? 'Change time ' + displayValue : arialabel || 'Select time'\"\n (focus)=\"onDateTimeInputFocus(true); invokeOnFocus($event); assignModel()\"\n (blur)=\"onDateTimeInputBlur(); invokeOnTouched($event)\"\n role=\"button\">\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAIO,MAAM,SAAS,GAAG,IAAI,GAAG,CAC5B;IACI,CAAC,WAAW,EAAE,YAAY,CAAC;IAC3B,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,CAAC,eAAe,EAAE,EAAC,KAAK,EAAE,SAAS,EAAE,GAAG,WAAW,EAAC,CAAC;IACrD,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IAC7B,CAAC,WAAW,EAAE,WAAW,CAAC;IAC1B,CAAC,UAAU,EAAE,YAAY,CAAC;IAC1B,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,WAAW,EAAE,WAAW,CAAC;IAC1B,CAAC,UAAU,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,GAAG,WAAW,EAAC,CAAC;IACxC,CAAC,SAAS,EAAE,WAAW,CAAC;IACxB,CAAC,SAAS,EAAE,WAAW,CAAC;IACxB,CAAC,YAAY,EAAE,EAAC,KAAK,EAAE,EAAE,EAAE,GAAG,WAAW,EAAC,CAAC;IAC3C,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,cAAc,EAAE,EAAC,KAAK,EAAE,UAAU,EAAE,GAAG,WAAW,EAAC,CAAC;IACrD,CAAC,aAAa,EAAE,EAAC,KAAK,EAAE,aAAa,EAAE,GAAG,WAAW,EAAC,CAAC;IACvD,CAAC,UAAU,EAAE,YAAY,CAAC;IAC1B,CAAC,UAAU,EAAE,YAAY,CAAC;IAC1B,CAAC,aAAa,EAAE,WAAW,CAAC;IAC5B,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAC,CAAC;IACxC,CAAC,gBAAgB,EAAE,EAAC,KAAK,EAAE,SAAS,EAAE,GAAG,WAAW,EAAC,CAAC;IACtD,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC;IACvD,CAAC,aAAa,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,GAAG,WAAW,EAAC,CAAC;IAC3C,CAAC,UAAU,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,GAAG,WAAW,EAAC,CAAC;IACxC,CAAC,aAAa,EAAE,WAAW,CAAC;IAC5B,CAAC,WAAW,EAAE,WAAW,CAAC;IAC1B,CAAC,iBAAiB,EAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE;AACvD,CAAA,CACJ;AAEM,MAAM,aAAa,GAAG,MAAK;AAC9B,IAAA,QAAQ,CACJ,SAAS,EACT,SAAS,CACZ;IACD,kBAAkB,CACd,cAAc,CAAC,IAAI,EACnB,IAAI,GAAG,CAAC,SAAS,CAAC,CACrB;AACL,CAAC;;ACfD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC;AAEpD,MAAM,YAAY,GAAG,cAAc;AACnC,MAAM,WAAW,GAAG,2BAA2B;AAC/C,MAAM,aAAa,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE;AAcjE,MAAO,aAAc,SAAQ,qBAAqB,CAAA;AAC7C,IAAA,SAAA,IAAA,CAAA,eAAe,GAAG,aAAa,EAAhB,CAAmB;AAqBzC,IAAA,IAAI,SAAS,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,SAAS;IACpE;;AAGA,IAAA,IAAI,SAAS,GAAA;QACT,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACzC,YAAA,OAAO,YAAY;QACvB;QACA,OAAO,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;IACtH;AAEA;;AAEG;;IAEH,IAAI,SAAS,CAAC,MAAW,EAAA;QACrB,IAAI,MAAM,EAAE;AACR,YAAA,IAAI,MAAM,KAAK,YAAY,EAAE;AACzB,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI;gBACzB,IAAI,CAAC,eAAe,EAAE;YAC1B;iBAAO;gBACH,IAAI,CAAC,iBAAiB,EAAE;AACxB,gBAAA,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,YAAY,GAAG,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC/J,gBAAA,IAAI,CAAC,aAAa,GAAG,KAAK;gBAC1B,IAAI,CAAC,wBAAwB,EAAE;YACnC;QACJ;aAAO;AACH,YAAA,IAAI,CAAC,WAAW,GAAG,SAAS;YAC5B,IAAI,CAAC,iBAAiB,EAAE;AACxB,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK;QAC9B;AACA,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC;AACnC,QAAA,UAAU,EAAE;IAChB;AAEA,IAAA,IAAI,YAAY,GAAA;AACZ,QAAA,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;AAC1H,QAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC;IAC7C;AAEA,IAAA,IAAI,kBAAkB,GAAA;QAClB,OAAO,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;IAC/G;IA2BA,WAAA,CACI,GAAa,EACL,MAAc,EACd,WAAwB,EAChC,GAAQ,EACgC,eAAoB,EAAA;AAE5D,QAAA,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,eAAe,CAAC;QALlC,IAAA,CAAA,MAAM,GAAN,MAAM;QACN,IAAA,CAAA,WAAW,GAAX,WAAW;AAbvB;;AAEG;AACI,QAAA,IAAA,CAAA,MAAM,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE;AAgB7B,QAAA,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC;AAChC;;AAEG;QACH,IAAI,CAAC,uBAAuB,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAE5D,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,IAAI,wBAAwB,CAAC,cAAc,CAAC,IAAI,CAAC;AAC/F,QAAA,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;AAChC,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;IAClB;AAEA,IAAA,gBAAgB,CAAC,GAAW,EAAE,EAAO,EAAE,EAAQ,EAAA;AAC3C,QAAA,MAAM,UAAU,GAAC,IAAI,CAAC,WAAW,EAAE,QAAQ;AAC3C,QAAA,IAAI,GAAG,KAAK,UAAU,EAAE;YACpB;QACJ;AACA,QAAA,IAAI,GAAG,KAAK,aAAa,EAAE;AACvB,YAAA,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;QACpC;AACA,QAAA,IAAI,GAAG,KAAK,SAAS,EAAE;AACnB,YAAA,IAAI,CAAC,OAAO,GAAG,mBAAmB,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,YAAY,GAAG,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;YACxJ,IAAI,CAAC,wBAAwB,EAAE;QACnC;AAAO,aAAA,IAAI,GAAG,KAAK,SAAS,EAAE;AAC1B,YAAA,IAAI,CAAC,OAAO,GAAG,mBAAmB,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,YAAY,GAAG,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvJ,IAAI,CAAC,wBAAwB,EAAE;QACnC;aAAO;YACH,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;QACvC;AACA,QAAA,IAAG,CAAC,GAAG,KAAK,SAAS,IAAE,GAAG,KAAK,SAAS,KAAK,UAAU,EAAE;AACrD,YAAA,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE;QAC/C;IACJ;AAEA,IAAA,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAA;AACzB,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACrB,YAAA,IAAI,GAAG,GAAG,GAAG,EAAE;AACV,gBAAA,IAAY,CAAC,YAAY,GAAG,SAAS;YAC1C;AAAO,iBAAA,IAAI,GAAG,GAAG,GAAG,EAAE;AACjB,gBAAA,IAAY,CAAC,YAAY,GAAG,SAAS;YAC1C;QACJ;IACJ;AAEA;;AAEG;IACK,wBAAwB,GAAA;AAC5B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;AAC1H,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC;QAClE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC;IACzD;AAEA;;AAEG;AACI,IAAA,cAAc,CAAC,MAAM,EAAE,SAAA,GAAqB,KAAK,EAAA;AACpD,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;;YAE1B,IAAI,CAAC,SAAS,EAAE;gBACZ,IAAI,CAAC,oBAAoB,EAAE;YAC/B;YACA;QACJ;AACA,QAAA,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;YACzB,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;;QAEzD;AACA,QAAA,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE;YAC/G;QACJ;AACA,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;YACjB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;AAC5C,QAAA,CAAC,CAAC;QACF,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IACjD;AAEA;;AAEG;AACK,IAAA,cAAc,CAAC,MAAM,EAAA;QACzB,MAAM,CAAC,wBAAwB,EAAE;AACjC,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,wCAAwC,CAAC;AACxF,QAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACrB,YAAA,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,wBAAwB,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QACpG;IACJ;AAEQ,IAAA,oBAAoB,CAAC,YAAY,EAAA;QACrC,IAAI,CAAC,YAAY,EAAE;YACf;QACJ;QACA,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;QAClD,UAAU,CAAC,MAAK;AACZ,YAAA,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3F,IAAI,CAAC,uBAAuB,GAAG,yBAAyB,CAAC,WAAW,EAAE,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,MAAK;AAChL,gBAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK;YAC9B,CAAC,EAAA,CAAA,wBAAmB,IAAI,CAAC;QAC7B,CAAC,EAAE,GAAG,CAAC;IACX;AAEA;;AAEG;AACI,IAAA,gBAAgB,CAAC,KAAK,EAAA;QACzB,IAAI,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;YAC3D,KAAK,CAAC,eAAe,EAAE;AACvB,YAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE;gBACpD,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YAC9B;iBAAO;gBACH,IAAI,CAAC,sBAAsB,EAAE;YACjC;QACJ;aAAO;YACH,IAAI,CAAC,sBAAsB,EAAE;QACjC;IACJ;AAEA;;AAEG;AACH,IAAA,mBAAmB,CAAC,MAAM,EAAA;AACtB,QAAA,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,YAAY,GAAG,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;;;AAG7Q,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACrD;QACJ;AACA,QAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK;AAClC,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IAC7B;AAEA,IAAA,WAAW,CAAC,MAAM,EAAA;AACd,QAAA,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE;YAC1D,IAAI,CAAC,eAAe,EAAE;YACtB,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC;QAChD;IACJ;AAEA;;AAEG;IACK,YAAY,CAAC,MAAM,EAAE,cAAwB,EAAA;AACjD,QAAA,IAAI,SAAS,EACT,cAAc,EACd,eAAe,EACf,eAAe;;QAEnB,IAAI,cAAc,EAAE;AAChB,YAAA,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,YAAY,GAAG,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACtK;QACA,IAAI,MAAM,EAAE;;YAER,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;AACtG,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;AACxD,YAAA,IAAG,CAAC,IAAI,CAAC,cAAc,EAAE;AACrB,gBAAA,IAAI,CAAC,WAAW,GAAG,MAAM;YAC7B;AACJ,QAAA,CAAC;AACI,aAAA,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE;AAC1E,YAAA,eAAe,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;AACrE,YAAA,eAAe,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACrE,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,IAAI,GAAG,GAAG,eAAe,IAAI,EAAE,CAAC;AACvL,YAAA,cAAc,GAAG,mBAAmB,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,YAAY,GAAG,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAChK,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;AACtH,YAAA,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,cAAc,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,cAAc;YAEvG,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,qBAAqB,EAAE;AACnD,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE;gBAC1C,UAAU,CAAC,MAAK;oBACZ,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;oBACnH,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AACxF,gBAAA,CAAC,CAAC;YACN;AACA,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,cAAc,CAAC;AAClF,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,WAAW,GAAG,cAAc;YACrC;QACJ;;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,gBAAgB,EAAE,EAAE;AACpE,YAAA,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YAC5H,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAC5F;QACA,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC;IACjD;AAEA;;AAEG;IACK,eAAe,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB;QACJ;AACA,QAAA,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,MAAK;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,IAAI,EAAE;YAC7E,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AACpC,YAAA,IAAI,CAAC,SAAS,GAAG,YAAY;AAC7B,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;QAC1B,CAAC,EAAE,IAAI,CAAC;IACZ;AAEA;;AAEG;IACK,iBAAiB,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC;AAChC,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;QAC5B;IACJ;AAEA;;;AAGG;AACK,IAAA,aAAa,CAAC,GAAY,EAAA;AAC9B,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG;IAC5B;;AAGU,IAAA,WAAW,CAAC,IAAiB,EAAE,SAAiB,EAAE,aAAuB,EAAE,MAAW,EAAA;AAC5F,QAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE;YAC5D,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC;QAC7D;IACJ;IAEO,sBAAsB,GAAA;QACzB,IAAI,CAAC,eAAe,EAAE;AACtB,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK;AAC1B,QAAA,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAC9B,IAAI,CAAC,uBAAuB,EAAE;QAClC;QACA,IAAI,CAAC,mBAAmB,EAAE;AAC1B,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,wCAAwC,CAAC;AACxF,QAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACrB,YAAA,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,wBAAwB,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QACpG;AACA,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;IAC5B;AAEQ,IAAA,OAAO,CAAC,KAAK,EAAA;QACjB,IAAI,CAAC,KAAK,EAAE;YACR,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACvI,YAAA,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,YAAY,GAAG,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3L,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE;gBAC7C;YACJ;QACJ;IACJ;AACA;;AAEG;IACI,OAAO,GAAA;QACV,MAAM,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAAC,YAAY,CAAC;AAC1D,QAAA,OAAO,CAAC,UAAU,EAAE,OAAO,IAAG;YAC1B,QAAQ,CAAC,OAAO,CAAC,aAA4B,EAAE,cAAc,EAAE,IAAI,CAAC;AACxE,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,qBAAqB,CAAC,EAAE;AACxE,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI;QAC3B;AACA,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;QACjC,IAAI,CAAC,4BAA4B,EAAE;QACnC,uBAAuB,CAAC,CAAC,CAAC,uBAAuB,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,sCAAsC,CAAC,CAAC;IACjJ;IAEO,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AACxB,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE;QACjD;QACC,IAAI,CAAC,gBAAwB,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,oBAAoB,CAAC;IAC1E;AApXS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,8GAiGV,kBAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAjGrB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAPX;AACP,YAAA,SAAS,CAAC,aAAa,EAAE,iBAAiB,EAAE,IAAI,CAAC;AACjD,YAAA,SAAS,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC;YAC7C,kBAAkB,CAAC,aAAa,CAAC;AACjC,YAAA,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,mBAAmB;SAC5F,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7CL,mvGAoEA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED/Bc,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,uBAAuB,gPAAE,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,WAAA,EAAA,YAAA,EAAA,aAAA,EAAA,YAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,aAAA,EAAA,aAAA,EAAA,WAAA,EAAA,KAAA,EAAA,KAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAC,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAUtF,aAAa,EAAA,UAAA,EAAA,CAAA;kBAZzB,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EAAA,OAAA,EACP,CAAC,WAAW,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,gBAAgB,EAAC,YAAY,CAAC,EAAA,QAAA,EACtF,UAAU,EAAA,SAAA,EAET;AACP,wBAAA,SAAS,CAAA,aAAA,EAAgB,iBAAiB,EAAE,IAAI,CAAC;AACjD,wBAAA,SAAS,CAAA,aAAA,EAAgB,aAAa,EAAE,IAAI,CAAC;AAC7C,wBAAA,kBAAkB,CAAA,aAAA,CAAe;AACjC,wBAAA,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,mBAAmB;AAC5F,qBAAA,EAAA,QAAA,EAAA,mvGAAA,EAAA;;0BAmGI,MAAM;2BAAC,kBAAkB;;0BAAG;;;AEhJrC;;AAEG;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../../projects/components/widgets/input/epoch/time/src/time.props.ts","../../../../../../projects/components/widgets/input/epoch/time/src/time.component.ts","../../../../../../projects/components/widgets/input/epoch/time/src/time.component.html","../../../../../../projects/components/widgets/input/epoch/time/src/index.ts"],"sourcesContent":["import {FormWidgetType} from '@wm/core';\n\nimport {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget} from '@wm/components/base';\n\nexport const timeProps = new Map(\n [\n ['autofocus', PROP_BOOLEAN],\n ['class', PROP_STRING],\n ['dataentrymode', {value: 'default', ...PROP_STRING}],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['hint', PROP_STRING],\n ['arialabel', PROP_STRING],\n ['hourstep', {value: 1, ...PROP_NUMBER}],\n ['maxtime', PROP_STRING],\n ['mintime', PROP_STRING],\n ['minutestep', {value: 15, ...PROP_NUMBER}],\n ['name', PROP_STRING],\n ['outputformat', {value: 'HH:mm:ss', ...PROP_STRING}],\n ['placeholder', {value: 'Select time', ...PROP_STRING}],\n ['readonly', PROP_BOOLEAN],\n ['required', PROP_BOOLEAN],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showdropdownon', {value: 'default', ...PROP_STRING}],\n ['showcustompicker', { value: false, ...PROP_BOOLEAN }],\n ['secondsstep', {value: 1, ...PROP_NUMBER}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['timepattern', PROP_STRING],\n ['timestamp', PROP_STRING],\n ['showampmbuttons',{ value: false, ...PROP_BOOLEAN }]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-time',\n timeProps\n );\n registerFormWidget(\n FormWidgetType.TIME,\n new Map(timeProps)\n );\n};\n","import {FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {DateTimePickerComponent} from '@wm/components/input/epoch/date-time-picker';\nimport {CommonModule} from '@angular/common';\nimport {Component, Inject, Injector, NgZone, OnDestroy, Optional} from '@angular/core';\nimport {TimepickerConfig, TimepickerModule} from 'ngx-bootstrap/timepicker';\nimport {\n $appDigest,\n AbstractI18nService,\n addClass,\n addEventListenerOnElement,\n adjustContainerPosition,\n App,\n AppDefaults,\n EVENT_LIFE,\n FormWidgetType,\n getDisplayDateTimeFormat,\n getFormattedDate,\n getMomentLocaleObject,\n getNativeDateObject\n} from '@wm/core';\nimport {provideAs, provideAsWidgetRef, styler} from '@wm/components/base';\n\nimport {BaseDateTimeComponent, getTimepickerConfig} from '@wm/components/input/epoch/base-date-time';\nimport {registerProps} from './time.props';\nimport {forEach, get, includes} from \"lodash-es\";\nimport {BsDropdownModule} from \"ngx-bootstrap/dropdown\";\nimport * as momentLib from 'moment';\n\ndeclare const $;\nconst moment = momentLib.default || window['moment'];\n\nconst CURRENT_TIME = 'CURRENT_TIME';\nconst DEFAULT_CLS = 'input-group app-timeinput';\nconst WIDGET_CONFIG = { widgetType: 'wm-time', hostClass: DEFAULT_CLS };\n\n@Component({\n standalone: true,\n imports: [FormsModule, DateTimePickerComponent, BsDropdownModule, TimepickerModule,CommonModule],\n selector: '[wmTime]',\n templateUrl: './time.component.html',\n providers: [\n provideAs(TimeComponent, NG_VALUE_ACCESSOR, true),\n provideAs(TimeComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(TimeComponent),\n { provide: TimepickerConfig, deps: [AbstractI18nService], useFactory: getTimepickerConfig }\n ]\n})\nexport class TimeComponent extends BaseDateTimeComponent implements OnDestroy {\n static readonly initializeProps = registerProps();\n /**\n * This property sets the display pattern of the time selected\n */\n timepattern: string;\n\n /**\n * This property sets the output format for the selected time datavalue\n */\n outputformat: string;\n\n public showdropdownon: string;\n public mintime;\n public maxtime;\n public hint: string;\n public arialabel: string;\n\n private deregisterEventListener;\n private readonly app: App;\n private displayInputElem: HTMLElement;\n\n get timestamp() {\n return this.bsTimeValue ? this.bsTimeValue.valueOf() : undefined;\n }\n\n // @ts-ignore\n get datavalue(): any {\n if (this.isCurrentTime && !this.bsTimeValue) {\n return CURRENT_TIME;\n }\n return getFormattedDate(this.datePipe, this.bsTimeValue, this.outputformat, this.timeZone, null, null, this) || '';\n }\n\n /**Todo[Shubham]: needs to be redefined\n * This property sets the default value for the time selection\n */\n // @ts-ignore\n set datavalue(newVal: any) {\n if (newVal) {\n if (newVal === CURRENT_TIME) {\n this.isCurrentTime = true;\n this.setTimeInterval();\n } else {\n this.clearTimeInterval();\n this.bsTimeValue = getNativeDateObject(newVal, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n this.isCurrentTime = false;\n this.mintimeMaxtimeValidation();\n }\n } else {\n this.bsTimeValue = undefined;\n this.clearTimeInterval();\n this.isCurrentTime = false;\n }\n this.invokeOnChange(this.datavalue);\n $appDigest();\n }\n\n get displayValue() {\n const display = getFormattedDate(this.datePipe, this.bsTimeValue, this.timepattern, this.timeZone, null, null, this) || '';\n return this.safeReplaceMeridians(display);\n }\n\n get nativeDisplayValue() {\n return getFormattedDate(this.datePipe, this.bsTimeValue, 'HH:mm:ss', this.timeZone, null, null, this) || '';\n }\n\n /* Internal property to have a flag to check the given datavalue is of Current time*/\n public isCurrentTime: boolean;\n\n private timeinterval: any;\n\n /**\n * This is an internal property used to map it to the widget\n */\n private minTime: Date;\n\n /**\n * This is an internal property used to map it to the widget\n */\n private maxTime: Date;\n\n /**\n * This is an internal property used to toggle the timepicker dropdown\n */\n public status = { isopen: false };\n\n /**\n * This is an internal property used to map the main model to the time widget\n */\n private bsTimeValue: Date;\n\n constructor(\n inj: Injector,\n private readonly ngZone: NgZone,\n private readonly appDefaults: AppDefaults,\n app: App,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n\n styler(this.nativeElement, this);\n /**\n * Destroy the timer once the date widget is gone\n */\n this.registerDestroyListener(() => this.clearTimeInterval());\n\n this.timepattern = this.appDefaults.timeFormat || getDisplayDateTimeFormat(FormWidgetType.TIME);\n this.updateFormat('timepattern');\n this.app = app;\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n const isPristine=this.formControl?.pristine;\n if (key === 'tabindex') {\n return;\n }\n if (key === 'timepattern') {\n this.updateFormat('timepattern');\n }\n if (key === 'mintime') {\n this.minTime = getNativeDateObject(nv, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput }); // TODO it is supposed to be time conversion, not to the day\n this.mintimeMaxtimeValidation();\n } else if (key === 'maxtime') {\n this.maxTime = getNativeDateObject(nv, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n this.mintimeMaxtimeValidation();\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n if((key === 'mintime'||key === 'maxtime') && isPristine) {\n this.formControl?.control?.markAsPristine()\n }\n }\n\n setValidateType(min, max, val) {\n if (this.timeNotInRange) {\n if (val < min) {\n (this as any).validateType = 'mintime';\n } else if (val > max) {\n (this as any).validateType = 'maxtime';\n }\n }\n }\n\n /**\n * This is an internal method used to validate mintime and maxtime\n */\n private mintimeMaxtimeValidation() {\n this.timeNotInRange = this.minTime && this.maxTime && (this.bsTimeValue < this.minTime || this.bsTimeValue > this.maxTime);\n this.setValidateType(this.minTime, this.maxTime, this.bsTimeValue);\n this.invokeOnChange(this.datavalue, undefined, false);\n }\n\n /**\n * This is an internal method used to toggle the dropdown of the time widget\n */\n public toggleDropdown($event, skipFocus: boolean = false): void {\n if (this.loadNativeDateInput) {\n //Fixes click event getting triggred twice in Mobile devices.\n if (!skipFocus) {\n this.onDateTimeInputFocus();\n }\n return;\n }\n if ($event.type === 'click') {\n this.invokeEventCallback('click', { $event: $event });\n //this.focusOnInputEl();\n }\n if ($event.target && $($event.target).is('input') && !(this.isDropDownDisplayEnabledOnInput(this.showdropdownon))) {\n return;\n }\n this.ngZone.run(() => {\n this.status.isopen = !this.status.isopen;\n });\n this.addBodyClickListener(this.status.isopen);\n }\n\n /**\n * This is an internal method used to Prevent time picker close while changing time value\n */\n private preventTpClose($event) {\n $event.stopImmediatePropagation();\n const parentEl = $(this.nativeElement).closest('.app-composite-widget.caption-floating');\n if (parentEl.length > 0) {\n this.app.notify('captionPositionAnimate', { displayVal: this.displayValue, nativeEl: parentEl });\n }\n }\n\n private addBodyClickListener(skipListener) {\n if (!skipListener) {\n return;\n }\n const bodyElement = document.querySelector('body');\n setTimeout(() => {\n const dropdownElement = $(bodyElement).find('>bs-dropdown-container .dropdown-menu').get(0);\n this.deregisterEventListener = addEventListenerOnElement(bodyElement, dropdownElement, this.nativeElement, 'click', this.isDropDownDisplayEnabledOnInput(this.showdropdownon), () => {\n this.status.isopen = false;\n }, EVENT_LIFE.ONCE, true);\n }, 350);\n }\n\n /**\n * This is an internal method triggered when pressing key on the time input\n */\n public onDisplayKeydown(event) {\n if (this.isDropDownDisplayEnabledOnInput(this.showdropdownon)) {\n event.stopPropagation();\n if (event.key === 'Enter' || event.key === 'ArrowDown') {\n event.preventDefault();\n this.toggleDropdown(event);\n } else {\n this.hideTimepickerDropdown();\n }\n } else {\n this.hideTimepickerDropdown();\n }\n }\n\n /**\n * This is an internal method triggered when the time input changes\n */\n onDisplayTimeChange($event) {\n const newVal = getNativeDateObject($event.target.value?.replace(this.am, this.meridians[0])?.replace(this.pm, this.meridians[1]), { meridians: this.meridians, pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n // time pattern validation\n // if invalid pattern is entered, device is showing an error.\n if (!this.formatValidation(newVal, $event.target.value)) {\n return;\n }\n this.invalidDateTimeFormat = false;\n this.onTimeChange(newVal);\n }\n\n onInputBlur($event) {\n if (!$($event.relatedTarget).hasClass('bs-timepicker-field')) {\n this.invokeOnTouched();\n this.invokeEventCallback('blur', { $event });\n }\n }\n\n /**\n * This is an internal method used to execute the on time change functionality\n */\n private onTimeChange(newVal, isNativePicker?: boolean) {\n let timeValue,\n timeInputValue,\n minTimeMeridian;\n // For nativePicker, newVal is event, get the dateobject from the event.\n if (isNativePicker) {\n newVal = getNativeDateObject(newVal.target.value, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n }\n if (newVal) {\n // if the newVal is valid but not in the given range then highlight the input field\n this.timeNotInRange = this.minTime && this.maxTime && (newVal < this.minTime || newVal > this.maxTime);\n this.setValidateType(this.minTime, this.maxTime, newVal);\n if(!this.timeNotInRange) {\n this.bsTimeValue = newVal;\n }\n } // sometimes library is not returning the correct value when the min and max time are given, displaying the datavalue based on the value given by the user\n else if (this.bsTimePicker?.min && this.bsTimePicker.max) {\n minTimeMeridian = moment(new Date(this.bsTimePicker.min)).format('A');\n timeValue = this.bsTimePicker.hours + ':' + (this.bsTimePicker.minutes || 0) + ':' + (this.bsTimePicker.seconds || 0) + (this.bsTimePicker.showMeridian ? (' ' + minTimeMeridian) : '');\n timeInputValue = getNativeDateObject(timeValue, { pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n this.bsTimePicker.meridian = minTimeMeridian?.replace(this.meridians[0], this.am)?.replace(this.meridians[1], this.pm);\n this.timeNotInRange = this.bsTimePicker.min > timeInputValue || this.bsTimePicker.max < timeInputValue;\n\n if (this.timeNotInRange || this.invalidDateTimeFormat) {\n this.bsTimeValue = this.getPrevDataValue();\n setTimeout(() => {\n const timeStr = getFormattedDate(this.datePipe, timeValue, this.timepattern, this.timeZone, null, null, this) || '';\n $(this.nativeElement).find('.display-input').val(this.safeReplaceMeridians(timeStr));\n });\n }\n this.setValidateType(this.bsTimePicker.min, this.bsTimePicker.max, timeInputValue);\n if (!this.timeNotInRange) {\n this.bsTimeValue = timeInputValue;\n }\n }\n // Update UI display if value hasn't changed\n if (!this.timeNotInRange && this.datavalue === this.getPrevDataValue()) {\n const displayTime = getFormattedDate(this.datePipe, this.datavalue, this.timepattern, this.timeZone, null, null, this) || '';\n $(this.nativeElement).find('.display-input').val(this.safeReplaceMeridians(displayTime));\n }\n this.invokeOnTouched();\n this.invokeOnChange(this.datavalue, {}, true);\n }\n\n /**\n * This is an internal method used to maintain a time interval to update the time model when the data value is set to CURRENT_TIME\n */\n private setTimeInterval() {\n if (this.timeinterval) {\n return;\n }\n this.timeinterval = setInterval(() => {\n const now = this.timeZone ? getMomentLocaleObject(this.timeZone) : new Date();\n now.setSeconds(now.getSeconds() + 1);\n this.datavalue = CURRENT_TIME;\n this.onTimeChange(now);\n }, 1000);\n }\n\n /**\n * This is an internal method used to clear the time interval created\n */\n private clearTimeInterval() {\n if (this.timeinterval) {\n clearInterval(this.timeinterval);\n this.timeinterval = null;\n }\n }\n\n /**\n * This function sets the value isOpen/isTimeOpen (i.e when datepicker popup is closed) based on widget type(i.e DateTime, Time)\n * @param val - isOpen/isTimeOpen is set based on the timepicker popup is open/closed\n */\n private setIsTimeOpen(val: boolean) {\n this.status.isopen = val;\n }\n\n // Change event is registered from the template, Prevent the framework from registering one more event\n protected handleEvent(node: HTMLElement, eventName: string, eventCallback: Function, locals: any) {\n if (!includes(['blur', 'focus', 'change', 'click'], eventName)) {\n super.handleEvent(node, eventName, eventCallback, locals);\n }\n }\n\n public hideTimepickerDropdown() {\n this.invokeOnTouched();\n this.status.isopen = false;\n if (this.deregisterEventListener) {\n this.deregisterEventListener();\n }\n this.removeKeyupListener();\n const parentEl = $(this.nativeElement).closest('.app-composite-widget.caption-floating');\n if (parentEl.length > 0) {\n this.app.notify('captionPositionAnimate', { displayVal: this.displayValue, nativeEl: parentEl });\n }\n this.blurDateInput(true);\n }\n\n private isValid(event) {\n if (!event) {\n const enteredDate = $(this.nativeElement).find('input').val()?.replace(this.am, this.meridians[0])?.replace(this.pm, this.meridians[1]);\n const newVal = getNativeDateObject(enteredDate, { meridians: this.meridians, pattern: this.loadNativeDateInput ? this.outputformat : undefined, isNativePicker: this.loadNativeDateInput });\n if (!this.formatValidation(newVal, enteredDate)) {\n return;\n }\n }\n }\n /**\n * This is an internal method to add css class for dropdown while opening the time dropdown\n */\n public onShown() {\n const tpElements = document.querySelectorAll('timepicker');\n forEach(tpElements, element => {\n addClass(element.parentElement as HTMLElement, 'app-datetime', true);\n });\n if (this.bsDropdown && (this.timeNotInRange || this.invalidDateTimeFormat)) {\n this.bsTimeValue = null;\n }\n this.focusTimePickerPopover(this);\n this.bindTimePickerKeyboardEvents();\n adjustContainerPosition($('bs-dropdown-container'), this.nativeElement, this.bsDropdown._dropdown, $('bs-dropdown-container .dropdown-menu'));\n }\n\n public assignModel() {\n if (!this.displayInputElem) {\n this.displayInputElem = this.getMobileInput();\n }\n (this.displayInputElem as any).value = get(this, 'nativeDisplayValue');\n }\n}\n","<div dropdown [isOpen]=\"status.isopen\" (onShown)=\"onShown()\" (onHidden)=\"hideTimepickerDropdown()\" [container]=\"'body'\" style=\"display: inherit\">\n <input [attr.aria-label]=\"arialabel\" class=\"form-control app-textbox display-input\"\n focus-target\n [tabindex]=\"tabindex\"\n [name]=\"name\"\n type=\"text\"\n role=\"timer\"\n [value]=\"displayValue\"\n [disabled]=\"disabled || readonly || isCurrentTime\"\n [autofocus]=\"autofocus\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-atomic]=\"isCurrentTime ? 'true' : 'false'\"\n [required]=\"required\"\n [readOnly]=\"isReadOnly\"\n (click)=\"toggleDropdown($event, true)\"\n (focus)=\"onDateTimeInputFocus(); invokeOnFocus($event);\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onDisplayTimeChange($event)\"\n (keydown)=\"_triggeredByUser = true; onDisplayKeydown($event)\">\n <span class=\"input-group-btn dropdown-toggle\">\n <button type=\"button\" class=\"btn btn-default btn-date\" [tabindex]=\"tabindex\" [disabled]=\"disabled || readonly || isCurrentTime\" aria-label=\"Select time\" aria-haspopup=\"true\" aria-expanded=\"false\" (click)=\"toggleDropdown($event, false)\"><i aria-hidden=\"true\" class=\"app-icon wm-sl-l sl-time\"></i></button>\n </span>\n <div *dropdownMenu class=\"dropdown-menu\" (click)=\"preventTpClose($event)\">\n <timepicker class=\"model-holder\"\n [showMeridian]=\"ismeridian\"\n [readonlyInput]=\"isDisabled\"\n [(ngModel)]=\"bsTimeValue\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"disabled || readonly || isCurrentTime\"\n [min]=\"minTime\"\n [max]=\"maxTime\"\n [hourStep]=\"hourstep\"\n [minuteStep]=\"minutestep\"\n [secondsStep]=\"secondsstep\"\n [mousewheel]=\"true\"\n [arrowkeys]=\"true\"\n (isValid)=\"isValid($event)\"\n [showSeconds]=\"showseconds\" (ngModelChange)=\"onTimeChange($event)\"\n [ngClass]=\"{ 'showbuttons': showampmbuttons }\"></timepicker>\n @if (ismeridian && showampmbuttons) {\n <div class=\"ampm-toggle text-center\">\n <button class=\"meridian-btn mb-1\" [ngClass]=\"{ 'active btn-secondary': getPeriod() === 'AM' }\" (click)=\"setPeriod('AM')\">{{appLocale.LABEL_AM ||\"AM\"}}</button><br>\n <button class=\"meridian-btn\" [ngClass]=\"{ 'active btn-secondary': getPeriod() === 'PM' }\" (click)=\"setPeriod('PM')\">{{appLocale.LABEL_PM ||\"PM\"}}</button>\n </div>\n }\n </div>\n</div>\n@if (loadNativeDateInput) {\n <wm-datetimepicker\n dateTimePicker\n mode=\"TIME\"\n [minTime]=\"minTime\"\n [maxTime]=\"maxTime\"\n [placement]=\"modal\"\n [displayFormat]=\"timepattern\"\n [value]=\"bsTimeValue\"\n (change)=\"onTimeChange($event)\">\n </wm-datetimepicker>\n <div class=\"mobile-input mobile-datepicker-container\"\n tabindex=\"1000000\"\n (click)=\"!(disabled || readonly) && showDatePickerModal(bsTimeValue)\"\n [attr.aria-label]=\"displayValue ? 'Change time ' + displayValue : arialabel || 'Select time'\"\n (focus)=\"onDateTimeInputFocus(true); invokeOnFocus($event); assignModel()\"\n (blur)=\"onDateTimeInputBlur(); invokeOnTouched($event)\"\n role=\"button\">\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -4,9 +4,9 @@ import { AppDefaults, App } from '@wm/core';
4
4
  import { BaseDateTimeComponent } from '@wm/components/input/epoch/base-date-time';
5
5
 
6
6
  declare class TimeComponent extends BaseDateTimeComponent implements OnDestroy {
7
- private ngZone;
8
- private appDefaults;
9
- static initializeProps: void;
7
+ private readonly ngZone;
8
+ private readonly appDefaults;
9
+ static readonly initializeProps: void;
10
10
  /**
11
11
  * This property sets the display pattern of the time selected
12
12
  */
@@ -21,7 +21,7 @@ declare class TimeComponent extends BaseDateTimeComponent implements OnDestroy {
21
21
  hint: string;
22
22
  arialabel: string;
23
23
  private deregisterEventListener;
24
- private app;
24
+ private readonly app;
25
25
  private displayInputElem;
26
26
  get timestamp(): number;
27
27
  get datavalue(): any;
@@ -322,7 +322,7 @@
322
322
  const filesData = $event.dataTransfer.items;
323
323
  if (filesData.length > 0) {
324
324
  // Use DataTransferItemList interface to access the file(s)
325
- for (var i = 0; i < filesData.length; i++) {
325
+ for (let i = 0; i < filesData.length; i++) {
326
326
  // Get all the files and push them into an array
327
327
  if (filesData[i].webkitGetAsEntry().isFile) {
328
328
  listOfFiles.push(filesData[i].getAsFile());
@@ -460,12 +460,12 @@
460
460
  }
461
461
  });
462
462
  }
463
- static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0__namespace, type: FileUploadComponent, deps: [{ token: i0__namespace.Injector }, { token: i1__namespace.App }, { token: 'select.event', attribute: true }, { token: i1__namespace.AbstractDialogService }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
464
- static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: FileUploadComponent, isStandalone: true, selector: "[wmFileUpload]", providers: [
463
+ static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0__namespace, type: FileUploadComponent, deps: [{ token: i0__namespace.Injector }, { token: i1__namespace.App }, { token: 'select.event', attribute: true }, { token: i1__namespace.AbstractDialogService }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
464
+ static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.21", type: FileUploadComponent, isStandalone: true, selector: "[wmFileUpload]", providers: [
465
465
  base.provideAsWidgetRef(FileUploadComponent)
466
466
  ], usesInheritance: true, ngImport: i0__namespace, template: "<div class=\"app-fileupload\" init-widget>\n <!-- drag and drop files UI in web -->\n @if (!_isMobileType && multiple) {\n <div class=\"app-multi-file-upload\">\n <div id=\"dropzone\" class=\"drop-box\" (click)=\"triggerFileSelect()\" [ngClass]=\"{'highlight-drop-box' : highlightDropArea}\" (dragover)=\"dragOverHandler($event);\" (drop)=\"onFileDrop($event);\">\n <wm-app-icon [iconclass]=\"iconclass\" [iconurl]=\"iconurl\" alt=\"Upload\"></wm-app-icon>\n <div class=\"message\">\n <label [innerHtml]=\"caption\" class=\"upload-label\"></label>\n <form class=\"form-horizontal\" name=\"{{formName}}\">\n @if (multiple) {\n <input class=\"file-input\" [attr.aria-label]=\"hint || 'File selection field'\" type=\"file\" name=\"files\" [disabled]=\"disabled\" [accept]=\"chooseFilter\" (click)=\"onFileElemClick($event)\" (change)=\"onFileSelect($event, $event.target.files)\" multiple >\n }\n <a class=\"app-anchor upload-label\" href=\"javascript:void(0);\">{{ fileUploadMessage }}</a>\n </form>\n @if (chooseFilter) {\n <label [innerHtml]=\"chooseFilter + ' only '\" class=\"upload-extensions\"></label>\n }\n @if (chooseFilter && maxfilesize) {\n <span class=\"upload-extensions\"> . </span>\n }\n @if (maxfilesize) {\n <label [innerHtml]=\"maxfilesize + 'MB max'\" class=\"upload-extensions\"></label>\n }\n </div>\n </div>\n </div>\n }\n <!-- single file upload in web and single , multiple file upload UI in mobile runmode -->\n @if ((!multiple || _isMobileType)) {\n <div class=\"app-single-file-upload\">\n <div class=\"app-button-wrapper\">\n <form class=\"form-horizontal\" name=\"{{formName}}\">\n <!-- support for file upload in Mobileapp in its runmode (Web) -->\n @if (multiple) {\n <input (change)=\"onFileSelect($event, $event.target.files)\" (click)=\"onFileElemClick($event)\"\n [accept]=\"chooseFilter\" [attr.aria-label]=\"arialabel || 'File selection field'\" [disabled]=\"disabled\" class=\"file-input\"\n multiple name=\"files\" type=\"file\">\n }\n @if (!multiple) {\n <input (change)=\"onFileSelect($event, $event.target.files)\" (click)=\"onFileElemClick($event)\"\n [accept]=\"chooseFilter\" [attr.aria-label]=\"arialabel || 'File selection field'\" [disabled]=\"disabled\" class=\"file-input\"\n name=\"files\" type=\"file\">\n }\n <button id=\"dropzone\" focus-target class=\"app-button btn btn-default\" [ngClass]=\"{'highlight-drop-box' : highlightDropArea}\">\n <wm-app-icon [iconclass]=\"iconclass\" [iconurl]=\"iconurl\" alt=\"Upload\"></wm-app-icon>\n <span class=\"caption\" [innerHTML]=\"caption\"></span>\n </button>\n </form>\n </div>\n <div class=\"app-files-upload-status single\"></div>\n </div>\n }\n <!-- list of selectedfiles UI -->\n @if (uploadedFiles.length > 0) {\n <ul class=\"list-group file-upload\" [ngStyle]=\"{height: filelistheight, overflow: overflow}\"\n tabindex=\"0\">\n @for (ft of uploadedFiles; track ft) {\n @if (ft.status !== 'abort') {\n <li class=\"list-group-item file-upload-status\" tabindex=\"0\">\n <div class=\"media upload-file-list\">\n <div class=\"media-left media-middle file-icon {{getFileExtension(ft.name) | fileIconClass}}\" title=\"{{getFileExtension(ft.name)}}\"></div>\n <div class=\"media-body media-middle file-details\">\n <p class=\"uploaddetails col-md-3\">\n <span class=\"upload-title\">{{ ft.storageName || ft.name }}</span>\n @if (ft.status === 'success' && (!datasource || (datasource && ft._response?.success))) {\n <span\n class=\"status-icon {{ft.status | stateClass }}\"></span>\n }\n <br/>\n @if (ft.fileLength !== 0) {\n <span class=\"filesize\">{{ft.size | filesize:0}}</span>\n }\n @if (ft.status === 'error') {\n <span\n class=\"status-icon {{ft.status | stateClass }}\"\n title=\"{{ft.errMsg || appLocale.MESSAGE_FILE_UPLOAD_FAILED}}\"></span>\n }\n @if (ft.status === 'error') {\n <span class=\"error-message\">Upload Failed</span>\n }\n </p>\n @if (ft.status === 'onProgress' || showprogressbar) {\n <div\n class=\"progress col-md-7 upload-progress\">\n <div [ngClass]=\"ft.status === 'error' ? 'progress-bar-danger' : 'progress-bar-info'\"\n [ngStyle]=\"{width: (ft.progress +'%')}\"\n class=\"progress-bar progress-bar-striped\"></div>\n </div>\n }\n @if ((ft.status === 'onProgress' || showprogressbar && showprogressbarpercentage) && ft.progress ) {\n <div\n class=\"col-md-1 upload-progress-percentage\">{{ ft.progress + '%' }}\n </div>\n }\n </div>\n @if (ft.status === 'onProgress' || ft.status === 'queued') {\n <div class=\"media-right media-middle\">\n <a href=\"javascript:void(0)\" class=\"btn btn-transparent file-upload-stop\" type=\"button\"\n (click)=\"abortFileUpload(ft)\">\n <i class=\"wi wi-close\"></i>\n </a>\n </div>\n }\n <div class=\"media-right media-middle\">\n @if ((cleariconclass !== '' || cleariconurl) && ft.status !== 'onProgress') {\n <a href=\"javascript:void(0)\" (click)=\"clear(ft)\"\n class=\"btn btn-transparent btn-default status-icon\" title=\"{{cleariconhint}}\" type=\"button\">\n <wm-app-icon [iconclass]=\"cleariconclass\" [iconurl]=\"cleariconurl\" alt=\"Clear\"></wm-app-icon>\n </a>\n }\n </div>\n @if (ft.status === 'success' && (!datasource || (datasource && ft._response?.success))) {\n <div class=\"media-right media-middle\">\n <a href=\"javascript:void(0)\" (click)=\"onFileDelete($event, ft)\"\n class=\"btn btn-transparent btn-default status-icon\" title=\"{{deleteiconhint}}\" type=\"button\">\n <i class=\"wi wi-delete\"></i>\n </a>\n </div>\n }\n </div>\n </li>\n }\n }\n </ul>\n }\n <!-- list of selectedfolders UI to show the error in title -->\n @if (selectedFolders.length > 0) {\n <ul class=\"list-group file-upload\" [ngStyle]=\"{height: filelistheight, overflow: overflow}\" title=\"{{appLocale.MESSAGE_FOLDER_UPLOADS_NOT_ALLOWED}}\" >\n @for (ft of selectedFolders; track ft) {\n <li class=\"list-group-item file-upload-status\">\n <div class=\"media upload-file-list\">\n <div class=\"media-left media-middle file-icon fa fa-folder-o\"></div>\n <div class=\"media-body media-middle file-details\">\n <p class=\"uploaddetails\">\n <label class=\"upload-title\">{{ft.name}}</label><br/>\n </p>\n </div>\n <div class=\"media-right media-middle\" >\n <span class=\"status-icon wi wi-cancel text-danger\"></span>\n </div>\n </div>\n </li>\n }\n </ul>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: i2.CommonModule }, { kind: "directive", type: i2__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: base.WmAppIconComponent, selector: "wm-app-icon", inputs: ["icon", "iconclass", "iconurl", "defaultIconClass", "defaultClasses", "iconStyle", "alt"] }, { kind: "pipe", type: base.FileIconClassPipe, name: "fileIconClass" }, { kind: "pipe", type: base.StateClassPipe, name: "stateClass" }, { kind: "pipe", type: base.FileSizePipe, name: "filesize" }] }); }
467
467
  }
468
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0__namespace, type: FileUploadComponent, decorators: [{
468
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0__namespace, type: FileUploadComponent, decorators: [{
469
469
  type: i0.Component,
470
470
  args: [{ standalone: true, imports: [i2.CommonModule, base.FileIconClassPipe, base.StateClassPipe, base.FileSizePipe, base.WmAppIconComponent], selector: '[wmFileUpload]', providers: [
471
471
  base.provideAsWidgetRef(FileUploadComponent)
@@ -305,7 +305,7 @@ class FileUploadComponent extends StylableComponent {
305
305
  const filesData = $event.dataTransfer.items;
306
306
  if (filesData.length > 0) {
307
307
  // Use DataTransferItemList interface to access the file(s)
308
- for (var i = 0; i < filesData.length; i++) {
308
+ for (let i = 0; i < filesData.length; i++) {
309
309
  // Get all the files and push them into an array
310
310
  if (filesData[i].webkitGetAsEntry().isFile) {
311
311
  listOfFiles.push(filesData[i].getAsFile());
@@ -443,12 +443,12 @@ class FileUploadComponent extends StylableComponent {
443
443
  }
444
444
  });
445
445
  }
446
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: FileUploadComponent, deps: [{ token: i0.Injector }, { token: i1.App }, { token: 'select.event', attribute: true }, { token: i1.AbstractDialogService }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
447
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: FileUploadComponent, isStandalone: true, selector: "[wmFileUpload]", providers: [
446
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: FileUploadComponent, deps: [{ token: i0.Injector }, { token: i1.App }, { token: 'select.event', attribute: true }, { token: i1.AbstractDialogService }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
447
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.21", type: FileUploadComponent, isStandalone: true, selector: "[wmFileUpload]", providers: [
448
448
  provideAsWidgetRef(FileUploadComponent)
449
449
  ], usesInheritance: true, ngImport: i0, template: "<div class=\"app-fileupload\" init-widget>\n <!-- drag and drop files UI in web -->\n @if (!_isMobileType && multiple) {\n <div class=\"app-multi-file-upload\">\n <div id=\"dropzone\" class=\"drop-box\" (click)=\"triggerFileSelect()\" [ngClass]=\"{'highlight-drop-box' : highlightDropArea}\" (dragover)=\"dragOverHandler($event);\" (drop)=\"onFileDrop($event);\">\n <wm-app-icon [iconclass]=\"iconclass\" [iconurl]=\"iconurl\" alt=\"Upload\"></wm-app-icon>\n <div class=\"message\">\n <label [innerHtml]=\"caption\" class=\"upload-label\"></label>\n <form class=\"form-horizontal\" name=\"{{formName}}\">\n @if (multiple) {\n <input class=\"file-input\" [attr.aria-label]=\"hint || 'File selection field'\" type=\"file\" name=\"files\" [disabled]=\"disabled\" [accept]=\"chooseFilter\" (click)=\"onFileElemClick($event)\" (change)=\"onFileSelect($event, $event.target.files)\" multiple >\n }\n <a class=\"app-anchor upload-label\" href=\"javascript:void(0);\">{{ fileUploadMessage }}</a>\n </form>\n @if (chooseFilter) {\n <label [innerHtml]=\"chooseFilter + ' only '\" class=\"upload-extensions\"></label>\n }\n @if (chooseFilter && maxfilesize) {\n <span class=\"upload-extensions\"> . </span>\n }\n @if (maxfilesize) {\n <label [innerHtml]=\"maxfilesize + 'MB max'\" class=\"upload-extensions\"></label>\n }\n </div>\n </div>\n </div>\n }\n <!-- single file upload in web and single , multiple file upload UI in mobile runmode -->\n @if ((!multiple || _isMobileType)) {\n <div class=\"app-single-file-upload\">\n <div class=\"app-button-wrapper\">\n <form class=\"form-horizontal\" name=\"{{formName}}\">\n <!-- support for file upload in Mobileapp in its runmode (Web) -->\n @if (multiple) {\n <input (change)=\"onFileSelect($event, $event.target.files)\" (click)=\"onFileElemClick($event)\"\n [accept]=\"chooseFilter\" [attr.aria-label]=\"arialabel || 'File selection field'\" [disabled]=\"disabled\" class=\"file-input\"\n multiple name=\"files\" type=\"file\">\n }\n @if (!multiple) {\n <input (change)=\"onFileSelect($event, $event.target.files)\" (click)=\"onFileElemClick($event)\"\n [accept]=\"chooseFilter\" [attr.aria-label]=\"arialabel || 'File selection field'\" [disabled]=\"disabled\" class=\"file-input\"\n name=\"files\" type=\"file\">\n }\n <button id=\"dropzone\" focus-target class=\"app-button btn btn-default\" [ngClass]=\"{'highlight-drop-box' : highlightDropArea}\">\n <wm-app-icon [iconclass]=\"iconclass\" [iconurl]=\"iconurl\" alt=\"Upload\"></wm-app-icon>\n <span class=\"caption\" [innerHTML]=\"caption\"></span>\n </button>\n </form>\n </div>\n <div class=\"app-files-upload-status single\"></div>\n </div>\n }\n <!-- list of selectedfiles UI -->\n @if (uploadedFiles.length > 0) {\n <ul class=\"list-group file-upload\" [ngStyle]=\"{height: filelistheight, overflow: overflow}\"\n tabindex=\"0\">\n @for (ft of uploadedFiles; track ft) {\n @if (ft.status !== 'abort') {\n <li class=\"list-group-item file-upload-status\" tabindex=\"0\">\n <div class=\"media upload-file-list\">\n <div class=\"media-left media-middle file-icon {{getFileExtension(ft.name) | fileIconClass}}\" title=\"{{getFileExtension(ft.name)}}\"></div>\n <div class=\"media-body media-middle file-details\">\n <p class=\"uploaddetails col-md-3\">\n <span class=\"upload-title\">{{ ft.storageName || ft.name }}</span>\n @if (ft.status === 'success' && (!datasource || (datasource && ft._response?.success))) {\n <span\n class=\"status-icon {{ft.status | stateClass }}\"></span>\n }\n <br/>\n @if (ft.fileLength !== 0) {\n <span class=\"filesize\">{{ft.size | filesize:0}}</span>\n }\n @if (ft.status === 'error') {\n <span\n class=\"status-icon {{ft.status | stateClass }}\"\n title=\"{{ft.errMsg || appLocale.MESSAGE_FILE_UPLOAD_FAILED}}\"></span>\n }\n @if (ft.status === 'error') {\n <span class=\"error-message\">Upload Failed</span>\n }\n </p>\n @if (ft.status === 'onProgress' || showprogressbar) {\n <div\n class=\"progress col-md-7 upload-progress\">\n <div [ngClass]=\"ft.status === 'error' ? 'progress-bar-danger' : 'progress-bar-info'\"\n [ngStyle]=\"{width: (ft.progress +'%')}\"\n class=\"progress-bar progress-bar-striped\"></div>\n </div>\n }\n @if ((ft.status === 'onProgress' || showprogressbar && showprogressbarpercentage) && ft.progress ) {\n <div\n class=\"col-md-1 upload-progress-percentage\">{{ ft.progress + '%' }}\n </div>\n }\n </div>\n @if (ft.status === 'onProgress' || ft.status === 'queued') {\n <div class=\"media-right media-middle\">\n <a href=\"javascript:void(0)\" class=\"btn btn-transparent file-upload-stop\" type=\"button\"\n (click)=\"abortFileUpload(ft)\">\n <i class=\"wi wi-close\"></i>\n </a>\n </div>\n }\n <div class=\"media-right media-middle\">\n @if ((cleariconclass !== '' || cleariconurl) && ft.status !== 'onProgress') {\n <a href=\"javascript:void(0)\" (click)=\"clear(ft)\"\n class=\"btn btn-transparent btn-default status-icon\" title=\"{{cleariconhint}}\" type=\"button\">\n <wm-app-icon [iconclass]=\"cleariconclass\" [iconurl]=\"cleariconurl\" alt=\"Clear\"></wm-app-icon>\n </a>\n }\n </div>\n @if (ft.status === 'success' && (!datasource || (datasource && ft._response?.success))) {\n <div class=\"media-right media-middle\">\n <a href=\"javascript:void(0)\" (click)=\"onFileDelete($event, ft)\"\n class=\"btn btn-transparent btn-default status-icon\" title=\"{{deleteiconhint}}\" type=\"button\">\n <i class=\"wi wi-delete\"></i>\n </a>\n </div>\n }\n </div>\n </li>\n }\n }\n </ul>\n }\n <!-- list of selectedfolders UI to show the error in title -->\n @if (selectedFolders.length > 0) {\n <ul class=\"list-group file-upload\" [ngStyle]=\"{height: filelistheight, overflow: overflow}\" title=\"{{appLocale.MESSAGE_FOLDER_UPLOADS_NOT_ALLOWED}}\" >\n @for (ft of selectedFolders; track ft) {\n <li class=\"list-group-item file-upload-status\">\n <div class=\"media upload-file-list\">\n <div class=\"media-left media-middle file-icon fa fa-folder-o\"></div>\n <div class=\"media-body media-middle file-details\">\n <p class=\"uploaddetails\">\n <label class=\"upload-title\">{{ft.name}}</label><br/>\n </p>\n </div>\n <div class=\"media-right media-middle\" >\n <span class=\"status-icon wi wi-cancel text-danger\"></span>\n </div>\n </div>\n </li>\n }\n </ul>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: WmAppIconComponent, selector: "wm-app-icon", inputs: ["icon", "iconclass", "iconurl", "defaultIconClass", "defaultClasses", "iconStyle", "alt"] }, { kind: "pipe", type: FileIconClassPipe, name: "fileIconClass" }, { kind: "pipe", type: StateClassPipe, name: "stateClass" }, { kind: "pipe", type: FileSizePipe, name: "filesize" }] }); }
450
450
  }
451
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: FileUploadComponent, decorators: [{
451
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: FileUploadComponent, decorators: [{
452
452
  type: Component,
453
453
  args: [{ standalone: true, imports: [CommonModule, FileIconClassPipe, StateClassPipe, FileSizePipe, WmAppIconComponent], selector: '[wmFileUpload]', providers: [
454
454
  provideAsWidgetRef(FileUploadComponent)