@wavemaker-ai/app-ng-runtime 1.0.0-rc.309

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 (1846) hide show
  1. package/build-task/.npmignore +2 -0
  2. package/build-task/bundles/index.umd.js +3060 -0
  3. package/build-task/fesm2022/index.mjs +2949 -0
  4. package/build-task/fesm2022/index.mjs.map +1 -0
  5. package/build-task/index.d.ts +882 -0
  6. package/build-task/package.json +23 -0
  7. package/components/advanced/carousel/.npmignore +2 -0
  8. package/components/advanced/carousel/bundles/index.umd.js +352 -0
  9. package/components/advanced/carousel/fesm2022/index.mjs +335 -0
  10. package/components/advanced/carousel/fesm2022/index.mjs.map +1 -0
  11. package/components/advanced/carousel/index.d.ts +89 -0
  12. package/components/advanced/carousel/package.json +18 -0
  13. package/components/advanced/custom/.npmignore +2 -0
  14. package/components/advanced/custom/bundles/index.umd.js +258 -0
  15. package/components/advanced/custom/fesm2022/index.mjs +244 -0
  16. package/components/advanced/custom/fesm2022/index.mjs.map +1 -0
  17. package/components/advanced/custom/index.d.ts +50 -0
  18. package/components/advanced/custom/package.json +18 -0
  19. package/components/advanced/login/.npmignore +2 -0
  20. package/components/advanced/login/bundles/index.umd.js +135 -0
  21. package/components/advanced/login/fesm2022/index.mjs +120 -0
  22. package/components/advanced/login/fesm2022/index.mjs.map +1 -0
  23. package/components/advanced/login/index.d.ts +34 -0
  24. package/components/advanced/login/package.json +18 -0
  25. package/components/advanced/marquee/.npmignore +2 -0
  26. package/components/advanced/marquee/bundles/index.umd.js +71 -0
  27. package/components/advanced/marquee/fesm2022/index.mjs +53 -0
  28. package/components/advanced/marquee/fesm2022/index.mjs.map +1 -0
  29. package/components/advanced/marquee/index.d.ts +12 -0
  30. package/components/advanced/marquee/package.json +18 -0
  31. package/components/base/.npmignore +2 -0
  32. package/components/base/bundles/index.umd.js +6055 -0
  33. package/components/base/fesm2022/index.mjs +5931 -0
  34. package/components/base/fesm2022/index.mjs.map +1 -0
  35. package/components/base/index.d.ts +1436 -0
  36. package/components/base/package.json +26 -0
  37. package/components/basic/anchor/.npmignore +2 -0
  38. package/components/basic/anchor/bundles/index.umd.js +204 -0
  39. package/components/basic/anchor/fesm2022/index.mjs +187 -0
  40. package/components/basic/anchor/fesm2022/index.mjs.map +1 -0
  41. package/components/basic/anchor/index.d.ts +40 -0
  42. package/components/basic/anchor/package.json +18 -0
  43. package/components/basic/audio/.npmignore +2 -0
  44. package/components/basic/audio/bundles/index.umd.js +83 -0
  45. package/components/basic/audio/fesm2022/index.mjs +65 -0
  46. package/components/basic/audio/fesm2022/index.mjs.map +1 -0
  47. package/components/basic/audio/index.d.ts +23 -0
  48. package/components/basic/audio/package.json +18 -0
  49. package/components/basic/html/.npmignore +2 -0
  50. package/components/basic/html/bundles/index.umd.js +122 -0
  51. package/components/basic/html/fesm2022/index.mjs +105 -0
  52. package/components/basic/html/fesm2022/index.mjs.map +1 -0
  53. package/components/basic/html/index.d.ts +17 -0
  54. package/components/basic/html/package.json +18 -0
  55. package/components/basic/icon/.npmignore +2 -0
  56. package/components/basic/icon/bundles/index.umd.js +80 -0
  57. package/components/basic/icon/fesm2022/index.mjs +62 -0
  58. package/components/basic/icon/fesm2022/index.mjs.map +1 -0
  59. package/components/basic/icon/index.d.ts +18 -0
  60. package/components/basic/icon/package.json +18 -0
  61. package/components/basic/iframe/.npmignore +2 -0
  62. package/components/basic/iframe/bundles/index.umd.js +101 -0
  63. package/components/basic/iframe/fesm2022/index.mjs +84 -0
  64. package/components/basic/iframe/fesm2022/index.mjs.map +1 -0
  65. package/components/basic/iframe/index.d.ts +29 -0
  66. package/components/basic/iframe/package.json +18 -0
  67. package/components/basic/label/.npmignore +2 -0
  68. package/components/basic/label/bundles/index.umd.js +129 -0
  69. package/components/basic/label/fesm2022/index.mjs +113 -0
  70. package/components/basic/label/fesm2022/index.mjs.map +1 -0
  71. package/components/basic/label/index.d.ts +15 -0
  72. package/components/basic/label/package.json +18 -0
  73. package/components/basic/picture/.npmignore +2 -0
  74. package/components/basic/picture/bundles/index.umd.js +138 -0
  75. package/components/basic/picture/fesm2022/index.mjs +121 -0
  76. package/components/basic/picture/fesm2022/index.mjs.map +1 -0
  77. package/components/basic/picture/index.d.ts +22 -0
  78. package/components/basic/picture/package.json +18 -0
  79. package/components/basic/progress/progress-bar/.npmignore +2 -0
  80. package/components/basic/progress/progress-bar/bundles/index.umd.js +170 -0
  81. package/components/basic/progress/progress-bar/fesm2022/index.mjs +154 -0
  82. package/components/basic/progress/progress-bar/fesm2022/index.mjs.map +1 -0
  83. package/components/basic/progress/progress-bar/index.d.ts +45 -0
  84. package/components/basic/progress/progress-bar/package.json +18 -0
  85. package/components/basic/progress/progress-circle/.npmignore +2 -0
  86. package/components/basic/progress/progress-circle/bundles/index.umd.js +171 -0
  87. package/components/basic/progress/progress-circle/fesm2022/index.mjs +155 -0
  88. package/components/basic/progress/progress-circle/fesm2022/index.mjs.map +1 -0
  89. package/components/basic/progress/progress-circle/index.d.ts +43 -0
  90. package/components/basic/progress/progress-circle/package.json +18 -0
  91. package/components/basic/progress/progress-utils/.npmignore +2 -0
  92. package/components/basic/progress/progress-utils/bundles/index.umd.js +35 -0
  93. package/components/basic/progress/progress-utils/fesm2022/index.mjs +32 -0
  94. package/components/basic/progress/progress-utils/fesm2022/index.mjs.map +1 -0
  95. package/components/basic/progress/progress-utils/index.d.ts +5 -0
  96. package/components/basic/progress/progress-utils/package.json +18 -0
  97. package/components/basic/rich-text-editor/.npmignore +2 -0
  98. package/components/basic/rich-text-editor/bundles/index.umd.js +236 -0
  99. package/components/basic/rich-text-editor/fesm2022/index.mjs +222 -0
  100. package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -0
  101. package/components/basic/rich-text-editor/index.d.ts +58 -0
  102. package/components/basic/rich-text-editor/package.json +18 -0
  103. package/components/basic/search/.npmignore +2 -0
  104. package/components/basic/search/bundles/index.umd.js +1091 -0
  105. package/components/basic/search/fesm2022/index.mjs +1080 -0
  106. package/components/basic/search/fesm2022/index.mjs.map +1 -0
  107. package/components/basic/search/index.d.ts +125 -0
  108. package/components/basic/search/package.json +18 -0
  109. package/components/basic/spinner/.npmignore +2 -0
  110. package/components/basic/spinner/bundles/index.umd.js +126 -0
  111. package/components/basic/spinner/fesm2022/index.mjs +111 -0
  112. package/components/basic/spinner/fesm2022/index.mjs.map +1 -0
  113. package/components/basic/spinner/index.d.ts +30 -0
  114. package/components/basic/spinner/package.json +18 -0
  115. package/components/basic/tree/.npmignore +2 -0
  116. package/components/basic/tree/bundles/index.umd.js +767 -0
  117. package/components/basic/tree/fesm2022/index.mjs +751 -0
  118. package/components/basic/tree/fesm2022/index.mjs.map +1 -0
  119. package/components/basic/tree/index.d.ts +97 -0
  120. package/components/basic/tree/package.json +18 -0
  121. package/components/basic/video/.npmignore +2 -0
  122. package/components/basic/video/bundles/index.umd.js +116 -0
  123. package/components/basic/video/fesm2022/index.mjs +99 -0
  124. package/components/basic/video/fesm2022/index.mjs.map +1 -0
  125. package/components/basic/video/index.d.ts +30 -0
  126. package/components/basic/video/package.json +18 -0
  127. package/components/chart/.npmignore +2 -0
  128. package/components/chart/bundles/index.umd.js +1747 -0
  129. package/components/chart/fesm2022/index.mjs +1774 -0
  130. package/components/chart/fesm2022/index.mjs.map +1 -0
  131. package/components/chart/index.d.ts +103 -0
  132. package/components/chart/package.json +18 -0
  133. package/components/containers/accordion/.npmignore +2 -0
  134. package/components/containers/accordion/bundles/index.umd.js +500 -0
  135. package/components/containers/accordion/fesm2022/index.mjs +486 -0
  136. package/components/containers/accordion/fesm2022/index.mjs.map +1 -0
  137. package/components/containers/accordion/index.d.ts +114 -0
  138. package/components/containers/accordion/package.json +18 -0
  139. package/components/containers/layout-grid/.npmignore +2 -0
  140. package/components/containers/layout-grid/bundles/index.umd.js +172 -0
  141. package/components/containers/layout-grid/fesm2022/index.mjs +153 -0
  142. package/components/containers/layout-grid/fesm2022/index.mjs.map +1 -0
  143. package/components/containers/layout-grid/index.d.ts +29 -0
  144. package/components/containers/layout-grid/package.json +18 -0
  145. package/components/containers/linear-layout/.npmignore +2 -0
  146. package/components/containers/linear-layout/bundles/index.umd.js +186 -0
  147. package/components/containers/linear-layout/fesm2022/index.mjs +167 -0
  148. package/components/containers/linear-layout/fesm2022/index.mjs.map +1 -0
  149. package/components/containers/linear-layout/index.d.ts +27 -0
  150. package/components/containers/linear-layout/package.json +18 -0
  151. package/components/containers/panel/.npmignore +2 -0
  152. package/components/containers/panel/bundles/index.umd.js +223 -0
  153. package/components/containers/panel/fesm2022/index.mjs +210 -0
  154. package/components/containers/panel/fesm2022/index.mjs.map +1 -0
  155. package/components/containers/panel/index.d.ts +46 -0
  156. package/components/containers/panel/package.json +18 -0
  157. package/components/containers/tabs/.npmignore +2 -0
  158. package/components/containers/tabs/bundles/index.umd.js +788 -0
  159. package/components/containers/tabs/fesm2022/index.mjs +775 -0
  160. package/components/containers/tabs/fesm2022/index.mjs.map +1 -0
  161. package/components/containers/tabs/index.d.ts +127 -0
  162. package/components/containers/tabs/package.json +18 -0
  163. package/components/containers/tile/.npmignore +2 -0
  164. package/components/containers/tile/bundles/index.umd.js +68 -0
  165. package/components/containers/tile/fesm2022/index.mjs +50 -0
  166. package/components/containers/tile/fesm2022/index.mjs.map +1 -0
  167. package/components/containers/tile/index.d.ts +12 -0
  168. package/components/containers/tile/package.json +18 -0
  169. package/components/containers/wizard/.npmignore +2 -0
  170. package/components/containers/wizard/bundles/index.umd.js +1074 -0
  171. package/components/containers/wizard/fesm2022/index.mjs +1058 -0
  172. package/components/containers/wizard/fesm2022/index.mjs.map +1 -0
  173. package/components/containers/wizard/index.d.ts +257 -0
  174. package/components/containers/wizard/package.json +18 -0
  175. package/components/data/card/.npmignore +2 -0
  176. package/components/data/card/bundles/index.umd.js +237 -0
  177. package/components/data/card/fesm2022/index.mjs +220 -0
  178. package/components/data/card/fesm2022/index.mjs.map +1 -0
  179. package/components/data/card/index.d.ts +51 -0
  180. package/components/data/card/package.json +18 -0
  181. package/components/data/form/.npmignore +2 -0
  182. package/components/data/form/bundles/index.umd.js +3339 -0
  183. package/components/data/form/fesm2022/index.mjs +3327 -0
  184. package/components/data/form/fesm2022/index.mjs.map +1 -0
  185. package/components/data/form/index.d.ts +487 -0
  186. package/components/data/form/package.json +18 -0
  187. package/components/data/list/.npmignore +2 -0
  188. package/components/data/list/bundles/index.umd.js +1610 -0
  189. package/components/data/list/fesm2022/index.mjs +1602 -0
  190. package/components/data/list/fesm2022/index.mjs.map +1 -0
  191. package/components/data/list/index.d.ts +283 -0
  192. package/components/data/list/package.json +18 -0
  193. package/components/data/live-table/.npmignore +2 -0
  194. package/components/data/live-table/bundles/index.umd.js +283 -0
  195. package/components/data/live-table/fesm2022/index.mjs +268 -0
  196. package/components/data/live-table/fesm2022/index.mjs.map +1 -0
  197. package/components/data/live-table/index.d.ts +39 -0
  198. package/components/data/live-table/package.json +18 -0
  199. package/components/data/pagination/.npmignore +2 -0
  200. package/components/data/pagination/bundles/index.umd.js +885 -0
  201. package/components/data/pagination/fesm2022/index.mjs +880 -0
  202. package/components/data/pagination/fesm2022/index.mjs.map +1 -0
  203. package/components/data/pagination/index.d.ts +106 -0
  204. package/components/data/pagination/package.json +18 -0
  205. package/components/data/table/.npmignore +2 -0
  206. package/components/data/table/bundles/index.umd.js +4991 -0
  207. package/components/data/table/fesm2022/index.mjs +4978 -0
  208. package/components/data/table/fesm2022/index.mjs.map +1 -0
  209. package/components/data/table/index.d.ts +744 -0
  210. package/components/data/table/package.json +18 -0
  211. package/components/dialogs/alert-dialog/.npmignore +2 -0
  212. package/components/dialogs/alert-dialog/bundles/index.umd.js +126 -0
  213. package/components/dialogs/alert-dialog/fesm2022/index.mjs +114 -0
  214. package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -0
  215. package/components/dialogs/alert-dialog/index.d.ts +26 -0
  216. package/components/dialogs/alert-dialog/package.json +18 -0
  217. package/components/dialogs/confirm-dialog/.npmignore +2 -0
  218. package/components/dialogs/confirm-dialog/bundles/index.umd.js +129 -0
  219. package/components/dialogs/confirm-dialog/fesm2022/index.mjs +117 -0
  220. package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -0
  221. package/components/dialogs/confirm-dialog/index.d.ts +29 -0
  222. package/components/dialogs/confirm-dialog/package.json +18 -0
  223. package/components/dialogs/default/.npmignore +2 -0
  224. package/components/dialogs/default/bundles/index.umd.js +380 -0
  225. package/components/dialogs/default/fesm2022/index.mjs +363 -0
  226. package/components/dialogs/default/fesm2022/index.mjs.map +1 -0
  227. package/components/dialogs/default/index.d.ts +89 -0
  228. package/components/dialogs/default/package.json +18 -0
  229. package/components/dialogs/design-dialog/.npmignore +2 -0
  230. package/components/dialogs/design-dialog/bundles/index.umd.js +150 -0
  231. package/components/dialogs/design-dialog/fesm2022/index.mjs +135 -0
  232. package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -0
  233. package/components/dialogs/design-dialog/index.d.ts +20 -0
  234. package/components/dialogs/design-dialog/package.json +18 -0
  235. package/components/dialogs/iframe-dialog/.npmignore +2 -0
  236. package/components/dialogs/iframe-dialog/bundles/index.umd.js +119 -0
  237. package/components/dialogs/iframe-dialog/fesm2022/index.mjs +108 -0
  238. package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -0
  239. package/components/dialogs/iframe-dialog/index.d.ts +22 -0
  240. package/components/dialogs/iframe-dialog/package.json +18 -0
  241. package/components/dialogs/login-dialog/.npmignore +2 -0
  242. package/components/dialogs/login-dialog/bundles/index.umd.js +114 -0
  243. package/components/dialogs/login-dialog/fesm2022/index.mjs +98 -0
  244. package/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -0
  245. package/components/dialogs/login-dialog/index.d.ts +26 -0
  246. package/components/dialogs/login-dialog/package.json +18 -0
  247. package/components/dialogs/partial-dialog/.npmignore +2 -0
  248. package/components/dialogs/partial-dialog/bundles/index.umd.js +157 -0
  249. package/components/dialogs/partial-dialog/fesm2022/index.mjs +146 -0
  250. package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -0
  251. package/components/dialogs/partial-dialog/index.d.ts +32 -0
  252. package/components/dialogs/partial-dialog/package.json +18 -0
  253. package/components/input/base-form/.npmignore +2 -0
  254. package/components/input/base-form/bundles/index.umd.js +147 -0
  255. package/components/input/base-form/fesm2022/index.mjs +131 -0
  256. package/components/input/base-form/fesm2022/index.mjs.map +1 -0
  257. package/components/input/base-form/index.d.ts +29 -0
  258. package/components/input/base-form/package.json +18 -0
  259. package/components/input/base-form-custom/.npmignore +2 -0
  260. package/components/input/base-form-custom/bundles/index.umd.js +129 -0
  261. package/components/input/base-form-custom/fesm2022/index.mjs +112 -0
  262. package/components/input/base-form-custom/fesm2022/index.mjs.map +1 -0
  263. package/components/input/base-form-custom/index.d.ts +26 -0
  264. package/components/input/base-form-custom/package.json +18 -0
  265. package/components/input/button/.npmignore +2 -0
  266. package/components/input/button/bundles/index.umd.js +98 -0
  267. package/components/input/button/fesm2022/index.mjs +81 -0
  268. package/components/input/button/fesm2022/index.mjs.map +1 -0
  269. package/components/input/button/index.d.ts +22 -0
  270. package/components/input/button/package.json +18 -0
  271. package/components/input/button-group/.npmignore +2 -0
  272. package/components/input/button-group/bundles/index.umd.js +80 -0
  273. package/components/input/button-group/fesm2022/index.mjs +62 -0
  274. package/components/input/button-group/fesm2022/index.mjs.map +1 -0
  275. package/components/input/button-group/index.d.ts +14 -0
  276. package/components/input/button-group/package.json +18 -0
  277. package/components/input/calendar/.npmignore +2 -0
  278. package/components/input/calendar/bundles/index.umd.js +655 -0
  279. package/components/input/calendar/fesm2022/index.mjs +665 -0
  280. package/components/input/calendar/fesm2022/index.mjs.map +1 -0
  281. package/components/input/calendar/index.d.ts +131 -0
  282. package/components/input/calendar/package.json +18 -0
  283. package/components/input/caption-position/.npmignore +2 -0
  284. package/components/input/caption-position/bundles/index.umd.js +196 -0
  285. package/components/input/caption-position/fesm2022/index.mjs +178 -0
  286. package/components/input/caption-position/fesm2022/index.mjs.map +1 -0
  287. package/components/input/caption-position/index.d.ts +34 -0
  288. package/components/input/caption-position/package.json +18 -0
  289. package/components/input/checkbox/.npmignore +2 -0
  290. package/components/input/checkbox/bundles/index.umd.js +206 -0
  291. package/components/input/checkbox/fesm2022/index.mjs +191 -0
  292. package/components/input/checkbox/fesm2022/index.mjs.map +1 -0
  293. package/components/input/checkbox/index.d.ts +39 -0
  294. package/components/input/checkbox/package.json +18 -0
  295. package/components/input/checkboxset/.npmignore +2 -0
  296. package/components/input/checkboxset/bundles/index.umd.js +178 -0
  297. package/components/input/checkboxset/fesm2022/index.mjs +165 -0
  298. package/components/input/checkboxset/fesm2022/index.mjs.map +1 -0
  299. package/components/input/checkboxset/index.d.ts +27 -0
  300. package/components/input/checkboxset/package.json +18 -0
  301. package/components/input/chips/.npmignore +2 -0
  302. package/components/input/chips/bundles/index.umd.js +741 -0
  303. package/components/input/chips/fesm2022/index.mjs +729 -0
  304. package/components/input/chips/fesm2022/index.mjs.map +1 -0
  305. package/components/input/chips/index.d.ts +90 -0
  306. package/components/input/chips/package.json +18 -0
  307. package/components/input/color-picker/.npmignore +2 -0
  308. package/components/input/color-picker/bundles/index.umd.js +145 -0
  309. package/components/input/color-picker/fesm2022/index.mjs +132 -0
  310. package/components/input/color-picker/fesm2022/index.mjs.map +1 -0
  311. package/components/input/color-picker/index.d.ts +36 -0
  312. package/components/input/color-picker/package.json +18 -0
  313. package/components/input/composite/.npmignore +2 -0
  314. package/components/input/composite/bundles/index.umd.js +120 -0
  315. package/components/input/composite/fesm2022/index.mjs +103 -0
  316. package/components/input/composite/fesm2022/index.mjs.map +1 -0
  317. package/components/input/composite/index.d.ts +27 -0
  318. package/components/input/composite/package.json +18 -0
  319. package/components/input/currency/.npmignore +2 -0
  320. package/components/input/currency/bundles/index.umd.js +112 -0
  321. package/components/input/currency/fesm2022/index.mjs +97 -0
  322. package/components/input/currency/fesm2022/index.mjs.map +1 -0
  323. package/components/input/currency/index.d.ts +31 -0
  324. package/components/input/currency/package.json +18 -0
  325. package/components/input/dataset-aware-form/.npmignore +2 -0
  326. package/components/input/dataset-aware-form/bundles/index.umd.js +354 -0
  327. package/components/input/dataset-aware-form/fesm2022/index.mjs +340 -0
  328. package/components/input/dataset-aware-form/fesm2022/index.mjs.map +1 -0
  329. package/components/input/dataset-aware-form/index.d.ts +80 -0
  330. package/components/input/dataset-aware-form/package.json +18 -0
  331. package/components/input/epoch/base-date-time/.npmignore +2 -0
  332. package/components/input/epoch/base-date-time/bundles/index.umd.js +1093 -0
  333. package/components/input/epoch/base-date-time/fesm2022/index.mjs +1084 -0
  334. package/components/input/epoch/base-date-time/fesm2022/index.mjs.map +1 -0
  335. package/components/input/epoch/base-date-time/index.d.ts +249 -0
  336. package/components/input/epoch/base-date-time/package.json +18 -0
  337. package/components/input/epoch/date/.npmignore +2 -0
  338. package/components/input/epoch/date/bundles/index.umd.js +515 -0
  339. package/components/input/epoch/date/fesm2022/index.mjs +505 -0
  340. package/components/input/epoch/date/fesm2022/index.mjs.map +1 -0
  341. package/components/input/epoch/date/index.d.ts +64 -0
  342. package/components/input/epoch/date/package.json +18 -0
  343. package/components/input/epoch/date-time/.npmignore +2 -0
  344. package/components/input/epoch/date-time/bundles/index.umd.js +519 -0
  345. package/components/input/epoch/date-time/fesm2022/index.mjs +510 -0
  346. package/components/input/epoch/date-time/fesm2022/index.mjs.map +1 -0
  347. package/components/input/epoch/date-time/index.d.ts +112 -0
  348. package/components/input/epoch/date-time/package.json +18 -0
  349. package/components/input/epoch/date-time-picker/.npmignore +2 -0
  350. package/components/input/epoch/date-time-picker/bundles/index.umd.js +453 -0
  351. package/components/input/epoch/date-time-picker/fesm2022/index.mjs +439 -0
  352. package/components/input/epoch/date-time-picker/fesm2022/index.mjs.map +1 -0
  353. package/components/input/epoch/date-time-picker/index.d.ts +83 -0
  354. package/components/input/epoch/date-time-picker/package.json +18 -0
  355. package/components/input/epoch/picker/.npmignore +2 -0
  356. package/components/input/epoch/picker/bundles/index.umd.js +192 -0
  357. package/components/input/epoch/picker/fesm2022/index.mjs +172 -0
  358. package/components/input/epoch/picker/fesm2022/index.mjs.map +1 -0
  359. package/components/input/epoch/picker/index.d.ts +39 -0
  360. package/components/input/epoch/picker/package.json +18 -0
  361. package/components/input/epoch/time/.npmignore +2 -0
  362. package/components/input/epoch/time/bundles/index.umd.js +401 -0
  363. package/components/input/epoch/time/fesm2022/index.mjs +391 -0
  364. package/components/input/epoch/time/fesm2022/index.mjs.map +1 -0
  365. package/components/input/epoch/time/index.d.ts +108 -0
  366. package/components/input/epoch/time/package.json +18 -0
  367. package/components/input/file-upload/.npmignore +2 -0
  368. package/components/input/file-upload/bundles/index.umd.js +483 -0
  369. package/components/input/file-upload/fesm2022/index.mjs +469 -0
  370. package/components/input/file-upload/fesm2022/index.mjs.map +1 -0
  371. package/components/input/file-upload/index.d.ts +106 -0
  372. package/components/input/file-upload/package.json +18 -0
  373. package/components/input/number/.npmignore +2 -0
  374. package/components/input/number/bundles/index.umd.js +109 -0
  375. package/components/input/number/fesm2022/index.mjs +95 -0
  376. package/components/input/number/fesm2022/index.mjs.map +1 -0
  377. package/components/input/number/index.d.ts +29 -0
  378. package/components/input/number/package.json +18 -0
  379. package/components/input/radioset/.npmignore +2 -0
  380. package/components/input/radioset/bundles/index.umd.js +164 -0
  381. package/components/input/radioset/fesm2022/index.mjs +151 -0
  382. package/components/input/radioset/fesm2022/index.mjs.map +1 -0
  383. package/components/input/radioset/index.d.ts +26 -0
  384. package/components/input/radioset/package.json +18 -0
  385. package/components/input/rating/.npmignore +2 -0
  386. package/components/input/rating/bundles/index.umd.js +270 -0
  387. package/components/input/rating/fesm2022/index.mjs +257 -0
  388. package/components/input/rating/fesm2022/index.mjs.map +1 -0
  389. package/components/input/rating/index.d.ts +47 -0
  390. package/components/input/rating/package.json +18 -0
  391. package/components/input/select/.npmignore +2 -0
  392. package/components/input/select/bundles/index.umd.js +225 -0
  393. package/components/input/select/fesm2022/index.mjs +211 -0
  394. package/components/input/select/fesm2022/index.mjs.map +1 -0
  395. package/components/input/select/index.d.ts +39 -0
  396. package/components/input/select/package.json +18 -0
  397. package/components/input/slider/.npmignore +2 -0
  398. package/components/input/slider/bundles/index.umd.js +203 -0
  399. package/components/input/slider/fesm2022/index.mjs +189 -0
  400. package/components/input/slider/fesm2022/index.mjs.map +1 -0
  401. package/components/input/slider/index.d.ts +42 -0
  402. package/components/input/slider/package.json +18 -0
  403. package/components/input/switch/.npmignore +2 -0
  404. package/components/input/switch/bundles/index.umd.js +224 -0
  405. package/components/input/switch/fesm2022/index.mjs +211 -0
  406. package/components/input/switch/fesm2022/index.mjs.map +1 -0
  407. package/components/input/switch/index.d.ts +33 -0
  408. package/components/input/switch/package.json +18 -0
  409. package/components/input/text/.npmignore +2 -0
  410. package/components/input/text/bundles/index.umd.js +1130 -0
  411. package/components/input/text/fesm2022/index.mjs +1114 -0
  412. package/components/input/text/fesm2022/index.mjs.map +1 -0
  413. package/components/input/text/index.d.ts +316 -0
  414. package/components/input/text/package.json +18 -0
  415. package/components/input/textarea/.npmignore +2 -0
  416. package/components/input/textarea/bundles/index.umd.js +108 -0
  417. package/components/input/textarea/fesm2022/index.mjs +94 -0
  418. package/components/input/textarea/fesm2022/index.mjs.map +1 -0
  419. package/components/input/textarea/index.d.ts +33 -0
  420. package/components/input/textarea/package.json +18 -0
  421. package/components/navigation/breadcrumb/.npmignore +2 -0
  422. package/components/navigation/breadcrumb/bundles/index.umd.js +138 -0
  423. package/components/navigation/breadcrumb/fesm2022/index.mjs +121 -0
  424. package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -0
  425. package/components/navigation/breadcrumb/index.d.ts +28 -0
  426. package/components/navigation/breadcrumb/package.json +18 -0
  427. package/components/navigation/menu/.npmignore +2 -0
  428. package/components/navigation/menu/bundles/index.umd.js +947 -0
  429. package/components/navigation/menu/fesm2022/index.mjs +929 -0
  430. package/components/navigation/menu/fesm2022/index.mjs.map +1 -0
  431. package/components/navigation/menu/index.d.ts +189 -0
  432. package/components/navigation/menu/package.json +18 -0
  433. package/components/navigation/navbar/.npmignore +2 -0
  434. package/components/navigation/navbar/bundles/index.umd.js +87 -0
  435. package/components/navigation/navbar/fesm2022/index.mjs +70 -0
  436. package/components/navigation/navbar/fesm2022/index.mjs.map +1 -0
  437. package/components/navigation/navbar/index.d.ts +19 -0
  438. package/components/navigation/navbar/package.json +18 -0
  439. package/components/navigation/popover/.npmignore +2 -0
  440. package/components/navigation/popover/bundles/index.umd.js +527 -0
  441. package/components/navigation/popover/fesm2022/index.mjs +513 -0
  442. package/components/navigation/popover/fesm2022/index.mjs.map +1 -0
  443. package/components/navigation/popover/index.d.ts +86 -0
  444. package/components/navigation/popover/package.json +18 -0
  445. package/components/page/default/.npmignore +2 -0
  446. package/components/page/default/bundles/index.umd.js +458 -0
  447. package/components/page/default/fesm2022/index.mjs +438 -0
  448. package/components/page/default/fesm2022/index.mjs.map +1 -0
  449. package/components/page/default/index.d.ts +124 -0
  450. package/components/page/default/package.json +18 -0
  451. package/components/page/footer/.npmignore +2 -0
  452. package/components/page/footer/bundles/index.umd.js +71 -0
  453. package/components/page/footer/fesm2022/index.mjs +53 -0
  454. package/components/page/footer/fesm2022/index.mjs.map +1 -0
  455. package/components/page/footer/index.d.ts +12 -0
  456. package/components/page/footer/package.json +18 -0
  457. package/components/page/header/.npmignore +2 -0
  458. package/components/page/header/bundles/index.umd.js +67 -0
  459. package/components/page/header/fesm2022/index.mjs +49 -0
  460. package/components/page/header/fesm2022/index.mjs.map +1 -0
  461. package/components/page/header/index.d.ts +13 -0
  462. package/components/page/header/package.json +18 -0
  463. package/components/page/left-panel/.npmignore +2 -0
  464. package/components/page/left-panel/bundles/index.umd.js +415 -0
  465. package/components/page/left-panel/fesm2022/index.mjs +400 -0
  466. package/components/page/left-panel/fesm2022/index.mjs.map +1 -0
  467. package/components/page/left-panel/index.d.ts +41 -0
  468. package/components/page/left-panel/package.json +18 -0
  469. package/components/page/right-panel/.npmignore +2 -0
  470. package/components/page/right-panel/bundles/index.umd.js +86 -0
  471. package/components/page/right-panel/fesm2022/index.mjs +69 -0
  472. package/components/page/right-panel/fesm2022/index.mjs.map +1 -0
  473. package/components/page/right-panel/index.d.ts +13 -0
  474. package/components/page/right-panel/package.json +18 -0
  475. package/components/page/top-nav/.npmignore +2 -0
  476. package/components/page/top-nav/bundles/index.umd.js +68 -0
  477. package/components/page/top-nav/fesm2022/index.mjs +50 -0
  478. package/components/page/top-nav/fesm2022/index.mjs.map +1 -0
  479. package/components/page/top-nav/index.d.ts +12 -0
  480. package/components/page/top-nav/package.json +18 -0
  481. package/components/prefab/.npmignore +2 -0
  482. package/components/prefab/bundles/index.umd.js +176 -0
  483. package/components/prefab/fesm2022/index.mjs +159 -0
  484. package/components/prefab/fesm2022/index.mjs.map +1 -0
  485. package/components/prefab/index.d.ts +33 -0
  486. package/components/prefab/package.json +18 -0
  487. package/core/.npmignore +2 -0
  488. package/core/bundles/index.umd.js +5627 -0
  489. package/core/fesm2022/index.mjs +5475 -0
  490. package/core/fesm2022/index.mjs.map +1 -0
  491. package/core/index.d.ts +2143 -0
  492. package/core/package.json +24 -0
  493. package/http/.npmignore +2 -0
  494. package/http/bundles/index.umd.js +421 -0
  495. package/http/fesm2022/index.mjs +405 -0
  496. package/http/fesm2022/index.mjs.map +1 -0
  497. package/http/index.d.ts +120 -0
  498. package/http/package.json +23 -0
  499. package/locales/angular/af-na.js +17 -0
  500. package/locales/angular/af.js +17 -0
  501. package/locales/angular/agq.js +15 -0
  502. package/locales/angular/ak.js +17 -0
  503. package/locales/angular/am.js +17 -0
  504. package/locales/angular/ar-ae.js +25 -0
  505. package/locales/angular/ar-bh.js +25 -0
  506. package/locales/angular/ar-dj.js +25 -0
  507. package/locales/angular/ar-dz.js +25 -0
  508. package/locales/angular/ar-eg.js +25 -0
  509. package/locales/angular/ar-eh.js +25 -0
  510. package/locales/angular/ar-er.js +25 -0
  511. package/locales/angular/ar-il.js +25 -0
  512. package/locales/angular/ar-iq.js +25 -0
  513. package/locales/angular/ar-jo.js +25 -0
  514. package/locales/angular/ar-km.js +25 -0
  515. package/locales/angular/ar-kw.js +25 -0
  516. package/locales/angular/ar-lb.js +25 -0
  517. package/locales/angular/ar-ly.js +25 -0
  518. package/locales/angular/ar-ma.js +25 -0
  519. package/locales/angular/ar-mr.js +25 -0
  520. package/locales/angular/ar-om.js +25 -0
  521. package/locales/angular/ar-ps.js +25 -0
  522. package/locales/angular/ar-qa.js +25 -0
  523. package/locales/angular/ar-sa.js +25 -0
  524. package/locales/angular/ar-sd.js +25 -0
  525. package/locales/angular/ar-so.js +25 -0
  526. package/locales/angular/ar-ss.js +25 -0
  527. package/locales/angular/ar-sy.js +25 -0
  528. package/locales/angular/ar-td.js +25 -0
  529. package/locales/angular/ar-tn.js +25 -0
  530. package/locales/angular/ar-ye.js +25 -0
  531. package/locales/angular/ar.js +25 -0
  532. package/locales/angular/as.js +17 -0
  533. package/locales/angular/asa.js +17 -0
  534. package/locales/angular/ast.js +17 -0
  535. package/locales/angular/az-cyrl.js +15 -0
  536. package/locales/angular/az-latn.js +17 -0
  537. package/locales/angular/az.js +17 -0
  538. package/locales/angular/bas.js +15 -0
  539. package/locales/angular/be-tarask.js +21 -0
  540. package/locales/angular/be.js +21 -0
  541. package/locales/angular/bem.js +17 -0
  542. package/locales/angular/bez.js +17 -0
  543. package/locales/angular/bg.js +17 -0
  544. package/locales/angular/bm.js +15 -0
  545. package/locales/angular/bn-in.js +17 -0
  546. package/locales/angular/bn.js +17 -0
  547. package/locales/angular/bo-in.js +15 -0
  548. package/locales/angular/bo.js +15 -0
  549. package/locales/angular/br.js +23 -0
  550. package/locales/angular/brx.js +17 -0
  551. package/locales/angular/bs-cyrl.js +15 -0
  552. package/locales/angular/bs-latn.js +19 -0
  553. package/locales/angular/bs.js +19 -0
  554. package/locales/angular/ca-ad.js +17 -0
  555. package/locales/angular/ca-es-valencia.js +17 -0
  556. package/locales/angular/ca-fr.js +17 -0
  557. package/locales/angular/ca-it.js +17 -0
  558. package/locales/angular/ca.js +17 -0
  559. package/locales/angular/ccp-in.js +15 -0
  560. package/locales/angular/ccp.js +15 -0
  561. package/locales/angular/ce.js +17 -0
  562. package/locales/angular/ceb.js +17 -0
  563. package/locales/angular/cgg.js +17 -0
  564. package/locales/angular/chr.js +17 -0
  565. package/locales/angular/ckb-ir.js +17 -0
  566. package/locales/angular/ckb.js +17 -0
  567. package/locales/angular/cs.js +21 -0
  568. package/locales/angular/cy.js +25 -0
  569. package/locales/angular/da-gl.js +17 -0
  570. package/locales/angular/da.js +17 -0
  571. package/locales/angular/dav.js +15 -0
  572. package/locales/angular/de-at.js +17 -0
  573. package/locales/angular/de-be.js +17 -0
  574. package/locales/angular/de-ch.js +17 -0
  575. package/locales/angular/de-it.js +17 -0
  576. package/locales/angular/de-li.js +17 -0
  577. package/locales/angular/de-lu.js +17 -0
  578. package/locales/angular/de.js +17 -0
  579. package/locales/angular/dje.js +15 -0
  580. package/locales/angular/doi.js +17 -0
  581. package/locales/angular/dsb.js +21 -0
  582. package/locales/angular/dua.js +15 -0
  583. package/locales/angular/dyo.js +15 -0
  584. package/locales/angular/dz.js +15 -0
  585. package/locales/angular/ebu.js +15 -0
  586. package/locales/angular/ee-tg.js +17 -0
  587. package/locales/angular/ee.js +17 -0
  588. package/locales/angular/el-cy.js +17 -0
  589. package/locales/angular/el.js +17 -0
  590. package/locales/angular/en-001.js +17 -0
  591. package/locales/angular/en-150.js +17 -0
  592. package/locales/angular/en-ae.js +17 -0
  593. package/locales/angular/en-ag.js +17 -0
  594. package/locales/angular/en-ai.js +17 -0
  595. package/locales/angular/en-as.js +17 -0
  596. package/locales/angular/en-at.js +17 -0
  597. package/locales/angular/en-au.js +17 -0
  598. package/locales/angular/en-bb.js +17 -0
  599. package/locales/angular/en-be.js +17 -0
  600. package/locales/angular/en-bi.js +17 -0
  601. package/locales/angular/en-bm.js +17 -0
  602. package/locales/angular/en-bs.js +17 -0
  603. package/locales/angular/en-bw.js +17 -0
  604. package/locales/angular/en-bz.js +17 -0
  605. package/locales/angular/en-ca.js +17 -0
  606. package/locales/angular/en-cc.js +17 -0
  607. package/locales/angular/en-ch.js +17 -0
  608. package/locales/angular/en-ck.js +17 -0
  609. package/locales/angular/en-cm.js +17 -0
  610. package/locales/angular/en-cx.js +17 -0
  611. package/locales/angular/en-cy.js +17 -0
  612. package/locales/angular/en-de.js +17 -0
  613. package/locales/angular/en-dg.js +17 -0
  614. package/locales/angular/en-dk.js +17 -0
  615. package/locales/angular/en-dm.js +17 -0
  616. package/locales/angular/en-er.js +17 -0
  617. package/locales/angular/en-fi.js +17 -0
  618. package/locales/angular/en-fj.js +17 -0
  619. package/locales/angular/en-fk.js +17 -0
  620. package/locales/angular/en-fm.js +17 -0
  621. package/locales/angular/en-gb.js +17 -0
  622. package/locales/angular/en-gd.js +17 -0
  623. package/locales/angular/en-gg.js +17 -0
  624. package/locales/angular/en-gh.js +17 -0
  625. package/locales/angular/en-gi.js +17 -0
  626. package/locales/angular/en-gm.js +17 -0
  627. package/locales/angular/en-gu.js +17 -0
  628. package/locales/angular/en-gy.js +17 -0
  629. package/locales/angular/en-hk.js +17 -0
  630. package/locales/angular/en-ie.js +17 -0
  631. package/locales/angular/en-il.js +17 -0
  632. package/locales/angular/en-im.js +17 -0
  633. package/locales/angular/en-in.js +17 -0
  634. package/locales/angular/en-io.js +17 -0
  635. package/locales/angular/en-je.js +17 -0
  636. package/locales/angular/en-jm.js +17 -0
  637. package/locales/angular/en-ke.js +17 -0
  638. package/locales/angular/en-ki.js +17 -0
  639. package/locales/angular/en-kn.js +17 -0
  640. package/locales/angular/en-ky.js +17 -0
  641. package/locales/angular/en-lc.js +17 -0
  642. package/locales/angular/en-lr.js +17 -0
  643. package/locales/angular/en-ls.js +17 -0
  644. package/locales/angular/en-mg.js +17 -0
  645. package/locales/angular/en-mh.js +17 -0
  646. package/locales/angular/en-mo.js +17 -0
  647. package/locales/angular/en-mp.js +17 -0
  648. package/locales/angular/en-ms.js +17 -0
  649. package/locales/angular/en-mt.js +17 -0
  650. package/locales/angular/en-mu.js +17 -0
  651. package/locales/angular/en-mv.js +17 -0
  652. package/locales/angular/en-mw.js +17 -0
  653. package/locales/angular/en-my.js +17 -0
  654. package/locales/angular/en-na.js +17 -0
  655. package/locales/angular/en-nf.js +17 -0
  656. package/locales/angular/en-ng.js +17 -0
  657. package/locales/angular/en-nl.js +17 -0
  658. package/locales/angular/en-nr.js +17 -0
  659. package/locales/angular/en-nu.js +17 -0
  660. package/locales/angular/en-nz.js +17 -0
  661. package/locales/angular/en-pg.js +17 -0
  662. package/locales/angular/en-ph.js +17 -0
  663. package/locales/angular/en-pk.js +17 -0
  664. package/locales/angular/en-pn.js +17 -0
  665. package/locales/angular/en-pr.js +17 -0
  666. package/locales/angular/en-pw.js +17 -0
  667. package/locales/angular/en-rw.js +17 -0
  668. package/locales/angular/en-sb.js +17 -0
  669. package/locales/angular/en-sc.js +17 -0
  670. package/locales/angular/en-sd.js +17 -0
  671. package/locales/angular/en-se.js +17 -0
  672. package/locales/angular/en-sg.js +17 -0
  673. package/locales/angular/en-sh.js +17 -0
  674. package/locales/angular/en-si.js +17 -0
  675. package/locales/angular/en-sl.js +17 -0
  676. package/locales/angular/en-ss.js +17 -0
  677. package/locales/angular/en-sx.js +17 -0
  678. package/locales/angular/en-sz.js +17 -0
  679. package/locales/angular/en-tc.js +17 -0
  680. package/locales/angular/en-tk.js +17 -0
  681. package/locales/angular/en-to.js +17 -0
  682. package/locales/angular/en-tt.js +17 -0
  683. package/locales/angular/en-tv.js +17 -0
  684. package/locales/angular/en-tz.js +17 -0
  685. package/locales/angular/en-ug.js +17 -0
  686. package/locales/angular/en-um.js +17 -0
  687. package/locales/angular/en-vc.js +17 -0
  688. package/locales/angular/en-vg.js +17 -0
  689. package/locales/angular/en-vi.js +17 -0
  690. package/locales/angular/en-vu.js +17 -0
  691. package/locales/angular/en-ws.js +17 -0
  692. package/locales/angular/en-za.js +17 -0
  693. package/locales/angular/en-zm.js +17 -0
  694. package/locales/angular/en-zw.js +17 -0
  695. package/locales/angular/en.js +17 -0
  696. package/locales/angular/eo.js +17 -0
  697. package/locales/angular/es-419.js +19 -0
  698. package/locales/angular/es-ar.js +19 -0
  699. package/locales/angular/es-bo.js +19 -0
  700. package/locales/angular/es-br.js +19 -0
  701. package/locales/angular/es-bz.js +19 -0
  702. package/locales/angular/es-cl.js +19 -0
  703. package/locales/angular/es-co.js +19 -0
  704. package/locales/angular/es-cr.js +19 -0
  705. package/locales/angular/es-cu.js +19 -0
  706. package/locales/angular/es-do.js +19 -0
  707. package/locales/angular/es-ea.js +19 -0
  708. package/locales/angular/es-ec.js +19 -0
  709. package/locales/angular/es-gq.js +19 -0
  710. package/locales/angular/es-gt.js +19 -0
  711. package/locales/angular/es-hn.js +19 -0
  712. package/locales/angular/es-ic.js +19 -0
  713. package/locales/angular/es-mx.js +19 -0
  714. package/locales/angular/es-ni.js +19 -0
  715. package/locales/angular/es-pa.js +19 -0
  716. package/locales/angular/es-pe.js +19 -0
  717. package/locales/angular/es-ph.js +19 -0
  718. package/locales/angular/es-pr.js +19 -0
  719. package/locales/angular/es-py.js +19 -0
  720. package/locales/angular/es-sv.js +19 -0
  721. package/locales/angular/es-us.js +19 -0
  722. package/locales/angular/es-uy.js +19 -0
  723. package/locales/angular/es-ve.js +19 -0
  724. package/locales/angular/es.js +19 -0
  725. package/locales/angular/et.js +17 -0
  726. package/locales/angular/eu.js +17 -0
  727. package/locales/angular/ewo.js +15 -0
  728. package/locales/angular/fa-af.js +17 -0
  729. package/locales/angular/fa.js +17 -0
  730. package/locales/angular/ff-adlm-bf.js +15 -0
  731. package/locales/angular/ff-adlm-cm.js +15 -0
  732. package/locales/angular/ff-adlm-gh.js +15 -0
  733. package/locales/angular/ff-adlm-gm.js +15 -0
  734. package/locales/angular/ff-adlm-gw.js +15 -0
  735. package/locales/angular/ff-adlm-lr.js +15 -0
  736. package/locales/angular/ff-adlm-mr.js +15 -0
  737. package/locales/angular/ff-adlm-ne.js +15 -0
  738. package/locales/angular/ff-adlm-ng.js +15 -0
  739. package/locales/angular/ff-adlm-sl.js +15 -0
  740. package/locales/angular/ff-adlm-sn.js +15 -0
  741. package/locales/angular/ff-adlm.js +15 -0
  742. package/locales/angular/ff-cm.js +64 -0
  743. package/locales/angular/ff-gn.js +64 -0
  744. package/locales/angular/ff-latn-bf.js +17 -0
  745. package/locales/angular/ff-latn-cm.js +17 -0
  746. package/locales/angular/ff-latn-gh.js +17 -0
  747. package/locales/angular/ff-latn-gm.js +17 -0
  748. package/locales/angular/ff-latn-gn.js +17 -0
  749. package/locales/angular/ff-latn-gw.js +17 -0
  750. package/locales/angular/ff-latn-lr.js +17 -0
  751. package/locales/angular/ff-latn-mr.js +17 -0
  752. package/locales/angular/ff-latn-ne.js +17 -0
  753. package/locales/angular/ff-latn-ng.js +17 -0
  754. package/locales/angular/ff-latn-sl.js +17 -0
  755. package/locales/angular/ff-latn.js +17 -0
  756. package/locales/angular/ff-mr.js +64 -0
  757. package/locales/angular/ff.js +17 -0
  758. package/locales/angular/fi.js +17 -0
  759. package/locales/angular/fil.js +17 -0
  760. package/locales/angular/fo-dk.js +17 -0
  761. package/locales/angular/fo.js +17 -0
  762. package/locales/angular/fr-be.js +19 -0
  763. package/locales/angular/fr-bf.js +19 -0
  764. package/locales/angular/fr-bi.js +19 -0
  765. package/locales/angular/fr-bj.js +19 -0
  766. package/locales/angular/fr-bl.js +19 -0
  767. package/locales/angular/fr-ca.js +19 -0
  768. package/locales/angular/fr-cd.js +19 -0
  769. package/locales/angular/fr-cf.js +19 -0
  770. package/locales/angular/fr-cg.js +19 -0
  771. package/locales/angular/fr-ch.js +19 -0
  772. package/locales/angular/fr-ci.js +19 -0
  773. package/locales/angular/fr-cm.js +19 -0
  774. package/locales/angular/fr-dj.js +19 -0
  775. package/locales/angular/fr-dz.js +19 -0
  776. package/locales/angular/fr-ga.js +19 -0
  777. package/locales/angular/fr-gf.js +19 -0
  778. package/locales/angular/fr-gn.js +19 -0
  779. package/locales/angular/fr-gp.js +19 -0
  780. package/locales/angular/fr-gq.js +19 -0
  781. package/locales/angular/fr-ht.js +19 -0
  782. package/locales/angular/fr-km.js +19 -0
  783. package/locales/angular/fr-lu.js +19 -0
  784. package/locales/angular/fr-ma.js +19 -0
  785. package/locales/angular/fr-mc.js +19 -0
  786. package/locales/angular/fr-mf.js +19 -0
  787. package/locales/angular/fr-mg.js +19 -0
  788. package/locales/angular/fr-ml.js +19 -0
  789. package/locales/angular/fr-mq.js +19 -0
  790. package/locales/angular/fr-mr.js +19 -0
  791. package/locales/angular/fr-mu.js +19 -0
  792. package/locales/angular/fr-nc.js +19 -0
  793. package/locales/angular/fr-ne.js +19 -0
  794. package/locales/angular/fr-pf.js +19 -0
  795. package/locales/angular/fr-pm.js +19 -0
  796. package/locales/angular/fr-re.js +19 -0
  797. package/locales/angular/fr-rw.js +19 -0
  798. package/locales/angular/fr-sc.js +19 -0
  799. package/locales/angular/fr-sn.js +19 -0
  800. package/locales/angular/fr-sy.js +19 -0
  801. package/locales/angular/fr-td.js +19 -0
  802. package/locales/angular/fr-tg.js +19 -0
  803. package/locales/angular/fr-tn.js +19 -0
  804. package/locales/angular/fr-vu.js +19 -0
  805. package/locales/angular/fr-wf.js +19 -0
  806. package/locales/angular/fr-yt.js +19 -0
  807. package/locales/angular/fr.js +19 -0
  808. package/locales/angular/fur.js +17 -0
  809. package/locales/angular/fy.js +17 -0
  810. package/locales/angular/ga-gb.js +23 -0
  811. package/locales/angular/ga.js +23 -0
  812. package/locales/angular/gd.js +21 -0
  813. package/locales/angular/gl.js +17 -0
  814. package/locales/angular/global/af-na.js +24 -0
  815. package/locales/angular/global/af.js +24 -0
  816. package/locales/angular/global/agq.js +22 -0
  817. package/locales/angular/global/ak.js +24 -0
  818. package/locales/angular/global/am.js +24 -0
  819. package/locales/angular/global/ar-ae.js +32 -0
  820. package/locales/angular/global/ar-bh.js +32 -0
  821. package/locales/angular/global/ar-dj.js +32 -0
  822. package/locales/angular/global/ar-dz.js +32 -0
  823. package/locales/angular/global/ar-eg.js +32 -0
  824. package/locales/angular/global/ar-eh.js +32 -0
  825. package/locales/angular/global/ar-er.js +32 -0
  826. package/locales/angular/global/ar-il.js +32 -0
  827. package/locales/angular/global/ar-iq.js +32 -0
  828. package/locales/angular/global/ar-jo.js +32 -0
  829. package/locales/angular/global/ar-km.js +32 -0
  830. package/locales/angular/global/ar-kw.js +32 -0
  831. package/locales/angular/global/ar-lb.js +32 -0
  832. package/locales/angular/global/ar-ly.js +32 -0
  833. package/locales/angular/global/ar-ma.js +32 -0
  834. package/locales/angular/global/ar-mr.js +32 -0
  835. package/locales/angular/global/ar-om.js +32 -0
  836. package/locales/angular/global/ar-ps.js +32 -0
  837. package/locales/angular/global/ar-qa.js +32 -0
  838. package/locales/angular/global/ar-sa.js +32 -0
  839. package/locales/angular/global/ar-sd.js +32 -0
  840. package/locales/angular/global/ar-so.js +32 -0
  841. package/locales/angular/global/ar-ss.js +32 -0
  842. package/locales/angular/global/ar-sy.js +32 -0
  843. package/locales/angular/global/ar-td.js +32 -0
  844. package/locales/angular/global/ar-tn.js +32 -0
  845. package/locales/angular/global/ar-ye.js +32 -0
  846. package/locales/angular/global/ar.js +32 -0
  847. package/locales/angular/global/as.js +24 -0
  848. package/locales/angular/global/asa.js +24 -0
  849. package/locales/angular/global/ast.js +24 -0
  850. package/locales/angular/global/az-cyrl.js +22 -0
  851. package/locales/angular/global/az-latn.js +24 -0
  852. package/locales/angular/global/az.js +24 -0
  853. package/locales/angular/global/bas.js +22 -0
  854. package/locales/angular/global/be-tarask.js +28 -0
  855. package/locales/angular/global/be.js +28 -0
  856. package/locales/angular/global/bem.js +24 -0
  857. package/locales/angular/global/bez.js +24 -0
  858. package/locales/angular/global/bg.js +24 -0
  859. package/locales/angular/global/bm.js +22 -0
  860. package/locales/angular/global/bn-in.js +24 -0
  861. package/locales/angular/global/bn.js +24 -0
  862. package/locales/angular/global/bo-in.js +22 -0
  863. package/locales/angular/global/bo.js +22 -0
  864. package/locales/angular/global/br.js +30 -0
  865. package/locales/angular/global/brx.js +24 -0
  866. package/locales/angular/global/bs-cyrl.js +22 -0
  867. package/locales/angular/global/bs-latn.js +26 -0
  868. package/locales/angular/global/bs.js +26 -0
  869. package/locales/angular/global/ca-ad.js +24 -0
  870. package/locales/angular/global/ca-es-valencia.js +24 -0
  871. package/locales/angular/global/ca-fr.js +24 -0
  872. package/locales/angular/global/ca-it.js +24 -0
  873. package/locales/angular/global/ca.js +24 -0
  874. package/locales/angular/global/ccp-in.js +22 -0
  875. package/locales/angular/global/ccp.js +22 -0
  876. package/locales/angular/global/ce.js +24 -0
  877. package/locales/angular/global/ceb.js +24 -0
  878. package/locales/angular/global/cgg.js +24 -0
  879. package/locales/angular/global/chr.js +24 -0
  880. package/locales/angular/global/ckb-ir.js +24 -0
  881. package/locales/angular/global/ckb.js +24 -0
  882. package/locales/angular/global/cs.js +28 -0
  883. package/locales/angular/global/cy.js +32 -0
  884. package/locales/angular/global/da-gl.js +24 -0
  885. package/locales/angular/global/da.js +24 -0
  886. package/locales/angular/global/dav.js +22 -0
  887. package/locales/angular/global/de-at.js +24 -0
  888. package/locales/angular/global/de-be.js +24 -0
  889. package/locales/angular/global/de-ch.js +24 -0
  890. package/locales/angular/global/de-it.js +24 -0
  891. package/locales/angular/global/de-li.js +24 -0
  892. package/locales/angular/global/de-lu.js +24 -0
  893. package/locales/angular/global/de.js +24 -0
  894. package/locales/angular/global/dje.js +22 -0
  895. package/locales/angular/global/doi.js +24 -0
  896. package/locales/angular/global/dsb.js +28 -0
  897. package/locales/angular/global/dua.js +22 -0
  898. package/locales/angular/global/dyo.js +22 -0
  899. package/locales/angular/global/dz.js +22 -0
  900. package/locales/angular/global/ebu.js +22 -0
  901. package/locales/angular/global/ee-tg.js +24 -0
  902. package/locales/angular/global/ee.js +24 -0
  903. package/locales/angular/global/el-cy.js +24 -0
  904. package/locales/angular/global/el.js +24 -0
  905. package/locales/angular/global/en-001.js +24 -0
  906. package/locales/angular/global/en-150.js +24 -0
  907. package/locales/angular/global/en-ae.js +24 -0
  908. package/locales/angular/global/en-ag.js +24 -0
  909. package/locales/angular/global/en-ai.js +24 -0
  910. package/locales/angular/global/en-as.js +24 -0
  911. package/locales/angular/global/en-at.js +24 -0
  912. package/locales/angular/global/en-au.js +24 -0
  913. package/locales/angular/global/en-bb.js +24 -0
  914. package/locales/angular/global/en-be.js +24 -0
  915. package/locales/angular/global/en-bi.js +24 -0
  916. package/locales/angular/global/en-bm.js +24 -0
  917. package/locales/angular/global/en-bs.js +24 -0
  918. package/locales/angular/global/en-bw.js +24 -0
  919. package/locales/angular/global/en-bz.js +24 -0
  920. package/locales/angular/global/en-ca.js +24 -0
  921. package/locales/angular/global/en-cc.js +24 -0
  922. package/locales/angular/global/en-ch.js +24 -0
  923. package/locales/angular/global/en-ck.js +24 -0
  924. package/locales/angular/global/en-cm.js +24 -0
  925. package/locales/angular/global/en-cx.js +24 -0
  926. package/locales/angular/global/en-cy.js +24 -0
  927. package/locales/angular/global/en-de.js +24 -0
  928. package/locales/angular/global/en-dg.js +24 -0
  929. package/locales/angular/global/en-dk.js +24 -0
  930. package/locales/angular/global/en-dm.js +24 -0
  931. package/locales/angular/global/en-er.js +24 -0
  932. package/locales/angular/global/en-fi.js +24 -0
  933. package/locales/angular/global/en-fj.js +24 -0
  934. package/locales/angular/global/en-fk.js +24 -0
  935. package/locales/angular/global/en-fm.js +24 -0
  936. package/locales/angular/global/en-gb.js +24 -0
  937. package/locales/angular/global/en-gd.js +24 -0
  938. package/locales/angular/global/en-gg.js +24 -0
  939. package/locales/angular/global/en-gh.js +24 -0
  940. package/locales/angular/global/en-gi.js +24 -0
  941. package/locales/angular/global/en-gm.js +24 -0
  942. package/locales/angular/global/en-gu.js +24 -0
  943. package/locales/angular/global/en-gy.js +24 -0
  944. package/locales/angular/global/en-hk.js +24 -0
  945. package/locales/angular/global/en-ie.js +24 -0
  946. package/locales/angular/global/en-il.js +24 -0
  947. package/locales/angular/global/en-im.js +24 -0
  948. package/locales/angular/global/en-in.js +24 -0
  949. package/locales/angular/global/en-io.js +24 -0
  950. package/locales/angular/global/en-je.js +24 -0
  951. package/locales/angular/global/en-jm.js +24 -0
  952. package/locales/angular/global/en-ke.js +24 -0
  953. package/locales/angular/global/en-ki.js +24 -0
  954. package/locales/angular/global/en-kn.js +24 -0
  955. package/locales/angular/global/en-ky.js +24 -0
  956. package/locales/angular/global/en-lc.js +24 -0
  957. package/locales/angular/global/en-lr.js +24 -0
  958. package/locales/angular/global/en-ls.js +24 -0
  959. package/locales/angular/global/en-mg.js +24 -0
  960. package/locales/angular/global/en-mh.js +24 -0
  961. package/locales/angular/global/en-mo.js +24 -0
  962. package/locales/angular/global/en-mp.js +24 -0
  963. package/locales/angular/global/en-ms.js +24 -0
  964. package/locales/angular/global/en-mt.js +24 -0
  965. package/locales/angular/global/en-mu.js +24 -0
  966. package/locales/angular/global/en-mv.js +24 -0
  967. package/locales/angular/global/en-mw.js +24 -0
  968. package/locales/angular/global/en-my.js +24 -0
  969. package/locales/angular/global/en-na.js +24 -0
  970. package/locales/angular/global/en-nf.js +24 -0
  971. package/locales/angular/global/en-ng.js +24 -0
  972. package/locales/angular/global/en-nl.js +24 -0
  973. package/locales/angular/global/en-nr.js +24 -0
  974. package/locales/angular/global/en-nu.js +24 -0
  975. package/locales/angular/global/en-nz.js +24 -0
  976. package/locales/angular/global/en-pg.js +24 -0
  977. package/locales/angular/global/en-ph.js +24 -0
  978. package/locales/angular/global/en-pk.js +24 -0
  979. package/locales/angular/global/en-pn.js +24 -0
  980. package/locales/angular/global/en-pr.js +24 -0
  981. package/locales/angular/global/en-pw.js +24 -0
  982. package/locales/angular/global/en-rw.js +24 -0
  983. package/locales/angular/global/en-sb.js +24 -0
  984. package/locales/angular/global/en-sc.js +24 -0
  985. package/locales/angular/global/en-sd.js +24 -0
  986. package/locales/angular/global/en-se.js +24 -0
  987. package/locales/angular/global/en-sg.js +24 -0
  988. package/locales/angular/global/en-sh.js +24 -0
  989. package/locales/angular/global/en-si.js +24 -0
  990. package/locales/angular/global/en-sl.js +24 -0
  991. package/locales/angular/global/en-ss.js +24 -0
  992. package/locales/angular/global/en-sx.js +24 -0
  993. package/locales/angular/global/en-sz.js +24 -0
  994. package/locales/angular/global/en-tc.js +24 -0
  995. package/locales/angular/global/en-tk.js +24 -0
  996. package/locales/angular/global/en-to.js +24 -0
  997. package/locales/angular/global/en-tt.js +24 -0
  998. package/locales/angular/global/en-tv.js +24 -0
  999. package/locales/angular/global/en-tz.js +24 -0
  1000. package/locales/angular/global/en-ug.js +24 -0
  1001. package/locales/angular/global/en-um.js +24 -0
  1002. package/locales/angular/global/en-vc.js +24 -0
  1003. package/locales/angular/global/en-vg.js +24 -0
  1004. package/locales/angular/global/en-vi.js +24 -0
  1005. package/locales/angular/global/en-vu.js +24 -0
  1006. package/locales/angular/global/en-ws.js +24 -0
  1007. package/locales/angular/global/en-za.js +24 -0
  1008. package/locales/angular/global/en-zm.js +24 -0
  1009. package/locales/angular/global/en-zw.js +24 -0
  1010. package/locales/angular/global/en.js +24 -0
  1011. package/locales/angular/global/eo.js +24 -0
  1012. package/locales/angular/global/es-419.js +26 -0
  1013. package/locales/angular/global/es-ar.js +26 -0
  1014. package/locales/angular/global/es-bo.js +26 -0
  1015. package/locales/angular/global/es-br.js +26 -0
  1016. package/locales/angular/global/es-bz.js +26 -0
  1017. package/locales/angular/global/es-cl.js +26 -0
  1018. package/locales/angular/global/es-co.js +26 -0
  1019. package/locales/angular/global/es-cr.js +26 -0
  1020. package/locales/angular/global/es-cu.js +26 -0
  1021. package/locales/angular/global/es-do.js +26 -0
  1022. package/locales/angular/global/es-ea.js +26 -0
  1023. package/locales/angular/global/es-ec.js +26 -0
  1024. package/locales/angular/global/es-gq.js +26 -0
  1025. package/locales/angular/global/es-gt.js +26 -0
  1026. package/locales/angular/global/es-hn.js +26 -0
  1027. package/locales/angular/global/es-ic.js +26 -0
  1028. package/locales/angular/global/es-mx.js +26 -0
  1029. package/locales/angular/global/es-ni.js +26 -0
  1030. package/locales/angular/global/es-pa.js +26 -0
  1031. package/locales/angular/global/es-pe.js +26 -0
  1032. package/locales/angular/global/es-ph.js +26 -0
  1033. package/locales/angular/global/es-pr.js +26 -0
  1034. package/locales/angular/global/es-py.js +26 -0
  1035. package/locales/angular/global/es-sv.js +26 -0
  1036. package/locales/angular/global/es-us.js +26 -0
  1037. package/locales/angular/global/es-uy.js +26 -0
  1038. package/locales/angular/global/es-ve.js +26 -0
  1039. package/locales/angular/global/es.js +26 -0
  1040. package/locales/angular/global/et.js +24 -0
  1041. package/locales/angular/global/eu.js +24 -0
  1042. package/locales/angular/global/ewo.js +22 -0
  1043. package/locales/angular/global/fa-af.js +24 -0
  1044. package/locales/angular/global/fa.js +24 -0
  1045. package/locales/angular/global/ff-adlm-bf.js +22 -0
  1046. package/locales/angular/global/ff-adlm-cm.js +22 -0
  1047. package/locales/angular/global/ff-adlm-gh.js +22 -0
  1048. package/locales/angular/global/ff-adlm-gm.js +22 -0
  1049. package/locales/angular/global/ff-adlm-gw.js +22 -0
  1050. package/locales/angular/global/ff-adlm-lr.js +22 -0
  1051. package/locales/angular/global/ff-adlm-mr.js +22 -0
  1052. package/locales/angular/global/ff-adlm-ne.js +22 -0
  1053. package/locales/angular/global/ff-adlm-ng.js +22 -0
  1054. package/locales/angular/global/ff-adlm-sl.js +22 -0
  1055. package/locales/angular/global/ff-adlm-sn.js +22 -0
  1056. package/locales/angular/global/ff-adlm.js +22 -0
  1057. package/locales/angular/global/ff-cm.js +74 -0
  1058. package/locales/angular/global/ff-gn.js +74 -0
  1059. package/locales/angular/global/ff-latn-bf.js +24 -0
  1060. package/locales/angular/global/ff-latn-cm.js +24 -0
  1061. package/locales/angular/global/ff-latn-gh.js +24 -0
  1062. package/locales/angular/global/ff-latn-gm.js +24 -0
  1063. package/locales/angular/global/ff-latn-gn.js +24 -0
  1064. package/locales/angular/global/ff-latn-gw.js +24 -0
  1065. package/locales/angular/global/ff-latn-lr.js +24 -0
  1066. package/locales/angular/global/ff-latn-mr.js +24 -0
  1067. package/locales/angular/global/ff-latn-ne.js +24 -0
  1068. package/locales/angular/global/ff-latn-ng.js +24 -0
  1069. package/locales/angular/global/ff-latn-sl.js +24 -0
  1070. package/locales/angular/global/ff-latn.js +24 -0
  1071. package/locales/angular/global/ff-mr.js +74 -0
  1072. package/locales/angular/global/ff.js +24 -0
  1073. package/locales/angular/global/fi.js +24 -0
  1074. package/locales/angular/global/fil.js +24 -0
  1075. package/locales/angular/global/fo-dk.js +24 -0
  1076. package/locales/angular/global/fo.js +24 -0
  1077. package/locales/angular/global/fr-be.js +26 -0
  1078. package/locales/angular/global/fr-bf.js +26 -0
  1079. package/locales/angular/global/fr-bi.js +26 -0
  1080. package/locales/angular/global/fr-bj.js +26 -0
  1081. package/locales/angular/global/fr-bl.js +26 -0
  1082. package/locales/angular/global/fr-ca.js +26 -0
  1083. package/locales/angular/global/fr-cd.js +26 -0
  1084. package/locales/angular/global/fr-cf.js +26 -0
  1085. package/locales/angular/global/fr-cg.js +26 -0
  1086. package/locales/angular/global/fr-ch.js +26 -0
  1087. package/locales/angular/global/fr-ci.js +26 -0
  1088. package/locales/angular/global/fr-cm.js +26 -0
  1089. package/locales/angular/global/fr-dj.js +26 -0
  1090. package/locales/angular/global/fr-dz.js +26 -0
  1091. package/locales/angular/global/fr-ga.js +26 -0
  1092. package/locales/angular/global/fr-gf.js +26 -0
  1093. package/locales/angular/global/fr-gn.js +26 -0
  1094. package/locales/angular/global/fr-gp.js +26 -0
  1095. package/locales/angular/global/fr-gq.js +26 -0
  1096. package/locales/angular/global/fr-ht.js +26 -0
  1097. package/locales/angular/global/fr-km.js +26 -0
  1098. package/locales/angular/global/fr-lu.js +26 -0
  1099. package/locales/angular/global/fr-ma.js +26 -0
  1100. package/locales/angular/global/fr-mc.js +26 -0
  1101. package/locales/angular/global/fr-mf.js +26 -0
  1102. package/locales/angular/global/fr-mg.js +26 -0
  1103. package/locales/angular/global/fr-ml.js +26 -0
  1104. package/locales/angular/global/fr-mq.js +26 -0
  1105. package/locales/angular/global/fr-mr.js +26 -0
  1106. package/locales/angular/global/fr-mu.js +26 -0
  1107. package/locales/angular/global/fr-nc.js +26 -0
  1108. package/locales/angular/global/fr-ne.js +26 -0
  1109. package/locales/angular/global/fr-pf.js +26 -0
  1110. package/locales/angular/global/fr-pm.js +26 -0
  1111. package/locales/angular/global/fr-re.js +26 -0
  1112. package/locales/angular/global/fr-rw.js +26 -0
  1113. package/locales/angular/global/fr-sc.js +26 -0
  1114. package/locales/angular/global/fr-sn.js +26 -0
  1115. package/locales/angular/global/fr-sy.js +26 -0
  1116. package/locales/angular/global/fr-td.js +26 -0
  1117. package/locales/angular/global/fr-tg.js +26 -0
  1118. package/locales/angular/global/fr-tn.js +26 -0
  1119. package/locales/angular/global/fr-vu.js +26 -0
  1120. package/locales/angular/global/fr-wf.js +26 -0
  1121. package/locales/angular/global/fr-yt.js +26 -0
  1122. package/locales/angular/global/fr.js +26 -0
  1123. package/locales/angular/global/fur.js +24 -0
  1124. package/locales/angular/global/fy.js +24 -0
  1125. package/locales/angular/global/ga-gb.js +30 -0
  1126. package/locales/angular/global/ga.js +30 -0
  1127. package/locales/angular/global/gd.js +28 -0
  1128. package/locales/angular/global/gl.js +24 -0
  1129. package/locales/angular/global/gsw-fr.js +24 -0
  1130. package/locales/angular/global/gsw-li.js +24 -0
  1131. package/locales/angular/global/gsw.js +24 -0
  1132. package/locales/angular/global/gu.js +24 -0
  1133. package/locales/angular/global/guz.js +22 -0
  1134. package/locales/angular/global/gv.js +30 -0
  1135. package/locales/angular/global/ha-gh.js +24 -0
  1136. package/locales/angular/global/ha-ne.js +24 -0
  1137. package/locales/angular/global/ha.js +24 -0
  1138. package/locales/angular/global/haw.js +24 -0
  1139. package/locales/angular/global/he.js +28 -0
  1140. package/locales/angular/global/hi-latn.js +24 -0
  1141. package/locales/angular/global/hi.js +24 -0
  1142. package/locales/angular/global/hr-ba.js +26 -0
  1143. package/locales/angular/global/hr.js +26 -0
  1144. package/locales/angular/global/hsb.js +28 -0
  1145. package/locales/angular/global/hu.js +24 -0
  1146. package/locales/angular/global/hy.js +24 -0
  1147. package/locales/angular/global/ia.js +24 -0
  1148. package/locales/angular/global/id.js +22 -0
  1149. package/locales/angular/global/ig.js +22 -0
  1150. package/locales/angular/global/ii.js +22 -0
  1151. package/locales/angular/global/is.js +24 -0
  1152. package/locales/angular/global/it-ch.js +26 -0
  1153. package/locales/angular/global/it-sm.js +26 -0
  1154. package/locales/angular/global/it-va.js +26 -0
  1155. package/locales/angular/global/it.js +26 -0
  1156. package/locales/angular/global/ja.js +22 -0
  1157. package/locales/angular/global/jgo.js +24 -0
  1158. package/locales/angular/global/jmc.js +24 -0
  1159. package/locales/angular/global/jv.js +22 -0
  1160. package/locales/angular/global/ka.js +24 -0
  1161. package/locales/angular/global/kab.js +24 -0
  1162. package/locales/angular/global/kam.js +22 -0
  1163. package/locales/angular/global/kde.js +22 -0
  1164. package/locales/angular/global/kea.js +22 -0
  1165. package/locales/angular/global/kgp.js +22 -0
  1166. package/locales/angular/global/khq.js +22 -0
  1167. package/locales/angular/global/ki.js +22 -0
  1168. package/locales/angular/global/kk.js +24 -0
  1169. package/locales/angular/global/kkj.js +24 -0
  1170. package/locales/angular/global/kl.js +24 -0
  1171. package/locales/angular/global/kln.js +22 -0
  1172. package/locales/angular/global/km.js +22 -0
  1173. package/locales/angular/global/kn.js +24 -0
  1174. package/locales/angular/global/ko-kp.js +22 -0
  1175. package/locales/angular/global/ko.js +22 -0
  1176. package/locales/angular/global/kok.js +22 -0
  1177. package/locales/angular/global/ks-arab.js +24 -0
  1178. package/locales/angular/global/ks-deva.js +22 -0
  1179. package/locales/angular/global/ks.js +24 -0
  1180. package/locales/angular/global/ksb.js +24 -0
  1181. package/locales/angular/global/ksf.js +22 -0
  1182. package/locales/angular/global/ksh.js +26 -0
  1183. package/locales/angular/global/ku.js +24 -0
  1184. package/locales/angular/global/kw.js +32 -0
  1185. package/locales/angular/global/ky.js +24 -0
  1186. package/locales/angular/global/lag.js +26 -0
  1187. package/locales/angular/global/lb.js +24 -0
  1188. package/locales/angular/global/lg.js +24 -0
  1189. package/locales/angular/global/lkt.js +22 -0
  1190. package/locales/angular/global/ln-ao.js +24 -0
  1191. package/locales/angular/global/ln-cf.js +24 -0
  1192. package/locales/angular/global/ln-cg.js +24 -0
  1193. package/locales/angular/global/ln.js +24 -0
  1194. package/locales/angular/global/lo.js +22 -0
  1195. package/locales/angular/global/lrc-iq.js +22 -0
  1196. package/locales/angular/global/lrc.js +22 -0
  1197. package/locales/angular/global/lt.js +28 -0
  1198. package/locales/angular/global/lu.js +22 -0
  1199. package/locales/angular/global/luo.js +22 -0
  1200. package/locales/angular/global/luy.js +22 -0
  1201. package/locales/angular/global/lv.js +26 -0
  1202. package/locales/angular/global/mai.js +22 -0
  1203. package/locales/angular/global/mas-tz.js +24 -0
  1204. package/locales/angular/global/mas.js +24 -0
  1205. package/locales/angular/global/mer.js +22 -0
  1206. package/locales/angular/global/mfe.js +22 -0
  1207. package/locales/angular/global/mg.js +24 -0
  1208. package/locales/angular/global/mgh.js +22 -0
  1209. package/locales/angular/global/mgo.js +24 -0
  1210. package/locales/angular/global/mi.js +22 -0
  1211. package/locales/angular/global/mk.js +24 -0
  1212. package/locales/angular/global/ml.js +24 -0
  1213. package/locales/angular/global/mn.js +24 -0
  1214. package/locales/angular/global/mni-beng.js +22 -0
  1215. package/locales/angular/global/mni.js +22 -0
  1216. package/locales/angular/global/mr.js +24 -0
  1217. package/locales/angular/global/ms-bn.js +22 -0
  1218. package/locales/angular/global/ms-id.js +22 -0
  1219. package/locales/angular/global/ms-sg.js +22 -0
  1220. package/locales/angular/global/ms.js +22 -0
  1221. package/locales/angular/global/mt.js +28 -0
  1222. package/locales/angular/global/mua.js +22 -0
  1223. package/locales/angular/global/my.js +22 -0
  1224. package/locales/angular/global/mzn.js +22 -0
  1225. package/locales/angular/global/naq.js +26 -0
  1226. package/locales/angular/global/nb-sj.js +24 -0
  1227. package/locales/angular/global/nb.js +24 -0
  1228. package/locales/angular/global/nd.js +24 -0
  1229. package/locales/angular/global/nds-nl.js +22 -0
  1230. package/locales/angular/global/nds.js +22 -0
  1231. package/locales/angular/global/ne-in.js +24 -0
  1232. package/locales/angular/global/ne.js +24 -0
  1233. package/locales/angular/global/nl-aw.js +24 -0
  1234. package/locales/angular/global/nl-be.js +24 -0
  1235. package/locales/angular/global/nl-bq.js +24 -0
  1236. package/locales/angular/global/nl-cw.js +24 -0
  1237. package/locales/angular/global/nl-sr.js +24 -0
  1238. package/locales/angular/global/nl-sx.js +24 -0
  1239. package/locales/angular/global/nl.js +24 -0
  1240. package/locales/angular/global/nmg.js +22 -0
  1241. package/locales/angular/global/nn.js +24 -0
  1242. package/locales/angular/global/nnh.js +24 -0
  1243. package/locales/angular/global/no.js +24 -0
  1244. package/locales/angular/global/nus.js +22 -0
  1245. package/locales/angular/global/nyn.js +24 -0
  1246. package/locales/angular/global/om-ke.js +24 -0
  1247. package/locales/angular/global/om.js +24 -0
  1248. package/locales/angular/global/or.js +24 -0
  1249. package/locales/angular/global/os-ru.js +24 -0
  1250. package/locales/angular/global/os.js +24 -0
  1251. package/locales/angular/global/pa-arab.js +22 -0
  1252. package/locales/angular/global/pa-guru.js +24 -0
  1253. package/locales/angular/global/pa.js +24 -0
  1254. package/locales/angular/global/pcm.js +24 -0
  1255. package/locales/angular/global/pl.js +28 -0
  1256. package/locales/angular/global/ps-pk.js +24 -0
  1257. package/locales/angular/global/ps.js +24 -0
  1258. package/locales/angular/global/pt-ao.js +26 -0
  1259. package/locales/angular/global/pt-ch.js +26 -0
  1260. package/locales/angular/global/pt-cv.js +26 -0
  1261. package/locales/angular/global/pt-gq.js +26 -0
  1262. package/locales/angular/global/pt-gw.js +26 -0
  1263. package/locales/angular/global/pt-lu.js +26 -0
  1264. package/locales/angular/global/pt-mo.js +26 -0
  1265. package/locales/angular/global/pt-mz.js +26 -0
  1266. package/locales/angular/global/pt-pt.js +26 -0
  1267. package/locales/angular/global/pt-st.js +26 -0
  1268. package/locales/angular/global/pt-tl.js +26 -0
  1269. package/locales/angular/global/pt.js +26 -0
  1270. package/locales/angular/global/qu-bo.js +22 -0
  1271. package/locales/angular/global/qu-ec.js +22 -0
  1272. package/locales/angular/global/qu.js +22 -0
  1273. package/locales/angular/global/rm.js +24 -0
  1274. package/locales/angular/global/rn.js +22 -0
  1275. package/locales/angular/global/ro-md.js +26 -0
  1276. package/locales/angular/global/ro.js +26 -0
  1277. package/locales/angular/global/rof.js +24 -0
  1278. package/locales/angular/global/ru-by.js +28 -0
  1279. package/locales/angular/global/ru-kg.js +28 -0
  1280. package/locales/angular/global/ru-kz.js +28 -0
  1281. package/locales/angular/global/ru-md.js +28 -0
  1282. package/locales/angular/global/ru-ua.js +28 -0
  1283. package/locales/angular/global/ru.js +28 -0
  1284. package/locales/angular/global/rw.js +22 -0
  1285. package/locales/angular/global/rwk.js +24 -0
  1286. package/locales/angular/global/sa.js +22 -0
  1287. package/locales/angular/global/sah.js +22 -0
  1288. package/locales/angular/global/saq.js +24 -0
  1289. package/locales/angular/global/sat-olck.js +26 -0
  1290. package/locales/angular/global/sat.js +26 -0
  1291. package/locales/angular/global/sbp.js +22 -0
  1292. package/locales/angular/global/sc.js +24 -0
  1293. package/locales/angular/global/sd-arab.js +24 -0
  1294. package/locales/angular/global/sd-deva.js +22 -0
  1295. package/locales/angular/global/sd.js +24 -0
  1296. package/locales/angular/global/se-fi.js +26 -0
  1297. package/locales/angular/global/se-se.js +26 -0
  1298. package/locales/angular/global/se.js +26 -0
  1299. package/locales/angular/global/seh.js +24 -0
  1300. package/locales/angular/global/ses.js +22 -0
  1301. package/locales/angular/global/sg.js +22 -0
  1302. package/locales/angular/global/shi-latn.js +22 -0
  1303. package/locales/angular/global/shi-tfng.js +26 -0
  1304. package/locales/angular/global/shi.js +26 -0
  1305. package/locales/angular/global/si.js +24 -0
  1306. package/locales/angular/global/sk.js +28 -0
  1307. package/locales/angular/global/sl.js +28 -0
  1308. package/locales/angular/global/smn.js +26 -0
  1309. package/locales/angular/global/sn.js +24 -0
  1310. package/locales/angular/global/so-dj.js +24 -0
  1311. package/locales/angular/global/so-et.js +24 -0
  1312. package/locales/angular/global/so-ke.js +24 -0
  1313. package/locales/angular/global/so.js +24 -0
  1314. package/locales/angular/global/sq-mk.js +24 -0
  1315. package/locales/angular/global/sq-xk.js +24 -0
  1316. package/locales/angular/global/sq.js +24 -0
  1317. package/locales/angular/global/sr-cyrl-ba.js +26 -0
  1318. package/locales/angular/global/sr-cyrl-me.js +26 -0
  1319. package/locales/angular/global/sr-cyrl-xk.js +26 -0
  1320. package/locales/angular/global/sr-cyrl.js +26 -0
  1321. package/locales/angular/global/sr-latn-ba.js +22 -0
  1322. package/locales/angular/global/sr-latn-me.js +22 -0
  1323. package/locales/angular/global/sr-latn-xk.js +22 -0
  1324. package/locales/angular/global/sr-latn.js +22 -0
  1325. package/locales/angular/global/sr.js +26 -0
  1326. package/locales/angular/global/su-latn.js +22 -0
  1327. package/locales/angular/global/su.js +22 -0
  1328. package/locales/angular/global/sv-ax.js +24 -0
  1329. package/locales/angular/global/sv-fi.js +24 -0
  1330. package/locales/angular/global/sv.js +24 -0
  1331. package/locales/angular/global/sw-cd.js +24 -0
  1332. package/locales/angular/global/sw-ke.js +24 -0
  1333. package/locales/angular/global/sw-ug.js +24 -0
  1334. package/locales/angular/global/sw.js +24 -0
  1335. package/locales/angular/global/ta-lk.js +24 -0
  1336. package/locales/angular/global/ta-my.js +24 -0
  1337. package/locales/angular/global/ta-sg.js +24 -0
  1338. package/locales/angular/global/ta.js +24 -0
  1339. package/locales/angular/global/te.js +24 -0
  1340. package/locales/angular/global/teo-ke.js +24 -0
  1341. package/locales/angular/global/teo.js +24 -0
  1342. package/locales/angular/global/tg.js +22 -0
  1343. package/locales/angular/global/th.js +22 -0
  1344. package/locales/angular/global/ti-er.js +24 -0
  1345. package/locales/angular/global/ti.js +24 -0
  1346. package/locales/angular/global/tk.js +24 -0
  1347. package/locales/angular/global/to.js +22 -0
  1348. package/locales/angular/global/tr-cy.js +24 -0
  1349. package/locales/angular/global/tr.js +24 -0
  1350. package/locales/angular/global/tt.js +22 -0
  1351. package/locales/angular/global/twq.js +22 -0
  1352. package/locales/angular/global/tzm.js +24 -0
  1353. package/locales/angular/global/ug.js +24 -0
  1354. package/locales/angular/global/uk.js +28 -0
  1355. package/locales/angular/global/und.js +24 -0
  1356. package/locales/angular/global/ur-in.js +24 -0
  1357. package/locales/angular/global/ur.js +24 -0
  1358. package/locales/angular/global/uz-arab.js +22 -0
  1359. package/locales/angular/global/uz-cyrl.js +22 -0
  1360. package/locales/angular/global/uz-latn.js +24 -0
  1361. package/locales/angular/global/uz.js +24 -0
  1362. package/locales/angular/global/vai-latn.js +22 -0
  1363. package/locales/angular/global/vai-vaii.js +22 -0
  1364. package/locales/angular/global/vai.js +22 -0
  1365. package/locales/angular/global/vi.js +22 -0
  1366. package/locales/angular/global/vun.js +24 -0
  1367. package/locales/angular/global/wae.js +24 -0
  1368. package/locales/angular/global/wo.js +22 -0
  1369. package/locales/angular/global/xh.js +24 -0
  1370. package/locales/angular/global/xog.js +24 -0
  1371. package/locales/angular/global/yav.js +22 -0
  1372. package/locales/angular/global/yi.js +24 -0
  1373. package/locales/angular/global/yo-bj.js +22 -0
  1374. package/locales/angular/global/yo.js +22 -0
  1375. package/locales/angular/global/yrl-co.js +22 -0
  1376. package/locales/angular/global/yrl-ve.js +22 -0
  1377. package/locales/angular/global/yrl.js +22 -0
  1378. package/locales/angular/global/yue-hans.js +22 -0
  1379. package/locales/angular/global/yue-hant.js +22 -0
  1380. package/locales/angular/global/yue.js +22 -0
  1381. package/locales/angular/global/zgh.js +22 -0
  1382. package/locales/angular/global/zh-hans-hk.js +22 -0
  1383. package/locales/angular/global/zh-hans-mo.js +22 -0
  1384. package/locales/angular/global/zh-hans-sg.js +22 -0
  1385. package/locales/angular/global/zh-hans.js +22 -0
  1386. package/locales/angular/global/zh-hant-hk.js +22 -0
  1387. package/locales/angular/global/zh-hant-mo.js +22 -0
  1388. package/locales/angular/global/zh-hant.js +22 -0
  1389. package/locales/angular/global/zh.js +22 -0
  1390. package/locales/angular/global/zu.js +24 -0
  1391. package/locales/angular/gsw-fr.js +17 -0
  1392. package/locales/angular/gsw-li.js +17 -0
  1393. package/locales/angular/gsw.js +17 -0
  1394. package/locales/angular/gu.js +17 -0
  1395. package/locales/angular/guz.js +15 -0
  1396. package/locales/angular/gv.js +23 -0
  1397. package/locales/angular/ha-gh.js +17 -0
  1398. package/locales/angular/ha-ne.js +17 -0
  1399. package/locales/angular/ha.js +17 -0
  1400. package/locales/angular/haw.js +17 -0
  1401. package/locales/angular/he.js +21 -0
  1402. package/locales/angular/hi-latn.js +17 -0
  1403. package/locales/angular/hi.js +17 -0
  1404. package/locales/angular/hr-ba.js +19 -0
  1405. package/locales/angular/hr.js +19 -0
  1406. package/locales/angular/hsb.js +21 -0
  1407. package/locales/angular/hu.js +17 -0
  1408. package/locales/angular/hy.js +17 -0
  1409. package/locales/angular/ia.js +17 -0
  1410. package/locales/angular/id.js +15 -0
  1411. package/locales/angular/ig.js +15 -0
  1412. package/locales/angular/ii.js +15 -0
  1413. package/locales/angular/is.js +17 -0
  1414. package/locales/angular/it-ch.js +19 -0
  1415. package/locales/angular/it-sm.js +19 -0
  1416. package/locales/angular/it-va.js +19 -0
  1417. package/locales/angular/it.js +19 -0
  1418. package/locales/angular/ja.js +15 -0
  1419. package/locales/angular/jgo.js +17 -0
  1420. package/locales/angular/jmc.js +17 -0
  1421. package/locales/angular/jv.js +15 -0
  1422. package/locales/angular/ka.js +17 -0
  1423. package/locales/angular/kab.js +17 -0
  1424. package/locales/angular/kam.js +15 -0
  1425. package/locales/angular/kde.js +15 -0
  1426. package/locales/angular/kea.js +15 -0
  1427. package/locales/angular/kgp.js +15 -0
  1428. package/locales/angular/khq.js +15 -0
  1429. package/locales/angular/ki.js +15 -0
  1430. package/locales/angular/kk.js +17 -0
  1431. package/locales/angular/kkj.js +17 -0
  1432. package/locales/angular/kl.js +17 -0
  1433. package/locales/angular/kln.js +15 -0
  1434. package/locales/angular/km.js +15 -0
  1435. package/locales/angular/kn.js +17 -0
  1436. package/locales/angular/ko-kp.js +15 -0
  1437. package/locales/angular/ko.js +15 -0
  1438. package/locales/angular/kok.js +15 -0
  1439. package/locales/angular/ks-arab.js +17 -0
  1440. package/locales/angular/ks-deva.js +15 -0
  1441. package/locales/angular/ks.js +17 -0
  1442. package/locales/angular/ksb.js +17 -0
  1443. package/locales/angular/ksf.js +15 -0
  1444. package/locales/angular/ksh.js +19 -0
  1445. package/locales/angular/ku.js +17 -0
  1446. package/locales/angular/kw.js +25 -0
  1447. package/locales/angular/ky.js +17 -0
  1448. package/locales/angular/lag.js +19 -0
  1449. package/locales/angular/lb.js +17 -0
  1450. package/locales/angular/lg.js +17 -0
  1451. package/locales/angular/lkt.js +15 -0
  1452. package/locales/angular/ln-ao.js +17 -0
  1453. package/locales/angular/ln-cf.js +17 -0
  1454. package/locales/angular/ln-cg.js +17 -0
  1455. package/locales/angular/ln.js +17 -0
  1456. package/locales/angular/lo.js +15 -0
  1457. package/locales/angular/lrc-iq.js +15 -0
  1458. package/locales/angular/lrc.js +15 -0
  1459. package/locales/angular/lt.js +21 -0
  1460. package/locales/angular/lu.js +15 -0
  1461. package/locales/angular/luo.js +15 -0
  1462. package/locales/angular/luy.js +15 -0
  1463. package/locales/angular/lv.js +19 -0
  1464. package/locales/angular/mai.js +15 -0
  1465. package/locales/angular/mas-tz.js +17 -0
  1466. package/locales/angular/mas.js +17 -0
  1467. package/locales/angular/mer.js +15 -0
  1468. package/locales/angular/mfe.js +15 -0
  1469. package/locales/angular/mg.js +17 -0
  1470. package/locales/angular/mgh.js +15 -0
  1471. package/locales/angular/mgo.js +17 -0
  1472. package/locales/angular/mi.js +15 -0
  1473. package/locales/angular/mk.js +17 -0
  1474. package/locales/angular/ml.js +17 -0
  1475. package/locales/angular/mn.js +17 -0
  1476. package/locales/angular/mni-beng.js +15 -0
  1477. package/locales/angular/mni.js +15 -0
  1478. package/locales/angular/mr.js +17 -0
  1479. package/locales/angular/ms-bn.js +15 -0
  1480. package/locales/angular/ms-id.js +15 -0
  1481. package/locales/angular/ms-sg.js +15 -0
  1482. package/locales/angular/ms.js +15 -0
  1483. package/locales/angular/mt.js +21 -0
  1484. package/locales/angular/mua.js +15 -0
  1485. package/locales/angular/my.js +15 -0
  1486. package/locales/angular/mzn.js +15 -0
  1487. package/locales/angular/naq.js +19 -0
  1488. package/locales/angular/nb-sj.js +17 -0
  1489. package/locales/angular/nb.js +17 -0
  1490. package/locales/angular/nd.js +17 -0
  1491. package/locales/angular/nds-nl.js +15 -0
  1492. package/locales/angular/nds.js +15 -0
  1493. package/locales/angular/ne-in.js +17 -0
  1494. package/locales/angular/ne.js +17 -0
  1495. package/locales/angular/nl-aw.js +17 -0
  1496. package/locales/angular/nl-be.js +17 -0
  1497. package/locales/angular/nl-bq.js +17 -0
  1498. package/locales/angular/nl-cw.js +17 -0
  1499. package/locales/angular/nl-sr.js +17 -0
  1500. package/locales/angular/nl-sx.js +17 -0
  1501. package/locales/angular/nl.js +17 -0
  1502. package/locales/angular/nmg.js +15 -0
  1503. package/locales/angular/nn.js +17 -0
  1504. package/locales/angular/nnh.js +17 -0
  1505. package/locales/angular/no.js +17 -0
  1506. package/locales/angular/nus.js +15 -0
  1507. package/locales/angular/nyn.js +17 -0
  1508. package/locales/angular/om-ke.js +17 -0
  1509. package/locales/angular/om.js +17 -0
  1510. package/locales/angular/or.js +17 -0
  1511. package/locales/angular/os-ru.js +17 -0
  1512. package/locales/angular/os.js +17 -0
  1513. package/locales/angular/pa-arab.js +15 -0
  1514. package/locales/angular/pa-guru.js +17 -0
  1515. package/locales/angular/pa.js +17 -0
  1516. package/locales/angular/pcm.js +17 -0
  1517. package/locales/angular/pl.js +21 -0
  1518. package/locales/angular/ps-pk.js +17 -0
  1519. package/locales/angular/ps.js +17 -0
  1520. package/locales/angular/pt-ao.js +19 -0
  1521. package/locales/angular/pt-ch.js +19 -0
  1522. package/locales/angular/pt-cv.js +19 -0
  1523. package/locales/angular/pt-gq.js +19 -0
  1524. package/locales/angular/pt-gw.js +19 -0
  1525. package/locales/angular/pt-lu.js +19 -0
  1526. package/locales/angular/pt-mo.js +19 -0
  1527. package/locales/angular/pt-mz.js +19 -0
  1528. package/locales/angular/pt-pt.js +19 -0
  1529. package/locales/angular/pt-st.js +19 -0
  1530. package/locales/angular/pt-tl.js +19 -0
  1531. package/locales/angular/pt.js +19 -0
  1532. package/locales/angular/qu-bo.js +15 -0
  1533. package/locales/angular/qu-ec.js +15 -0
  1534. package/locales/angular/qu.js +15 -0
  1535. package/locales/angular/rm.js +17 -0
  1536. package/locales/angular/rn.js +15 -0
  1537. package/locales/angular/ro-md.js +19 -0
  1538. package/locales/angular/ro.js +19 -0
  1539. package/locales/angular/rof.js +17 -0
  1540. package/locales/angular/ru-by.js +21 -0
  1541. package/locales/angular/ru-kg.js +21 -0
  1542. package/locales/angular/ru-kz.js +21 -0
  1543. package/locales/angular/ru-md.js +21 -0
  1544. package/locales/angular/ru-ua.js +21 -0
  1545. package/locales/angular/ru.js +21 -0
  1546. package/locales/angular/rw.js +15 -0
  1547. package/locales/angular/rwk.js +17 -0
  1548. package/locales/angular/sa.js +15 -0
  1549. package/locales/angular/sah.js +15 -0
  1550. package/locales/angular/saq.js +17 -0
  1551. package/locales/angular/sat-olck.js +19 -0
  1552. package/locales/angular/sat.js +19 -0
  1553. package/locales/angular/sbp.js +15 -0
  1554. package/locales/angular/sc.js +17 -0
  1555. package/locales/angular/sd-arab.js +17 -0
  1556. package/locales/angular/sd-deva.js +15 -0
  1557. package/locales/angular/sd.js +17 -0
  1558. package/locales/angular/se-fi.js +19 -0
  1559. package/locales/angular/se-se.js +19 -0
  1560. package/locales/angular/se.js +19 -0
  1561. package/locales/angular/seh.js +17 -0
  1562. package/locales/angular/ses.js +15 -0
  1563. package/locales/angular/sg.js +15 -0
  1564. package/locales/angular/shi-latn.js +15 -0
  1565. package/locales/angular/shi-tfng.js +19 -0
  1566. package/locales/angular/shi.js +19 -0
  1567. package/locales/angular/si.js +17 -0
  1568. package/locales/angular/sk.js +21 -0
  1569. package/locales/angular/sl.js +21 -0
  1570. package/locales/angular/smn.js +19 -0
  1571. package/locales/angular/sn.js +17 -0
  1572. package/locales/angular/so-dj.js +17 -0
  1573. package/locales/angular/so-et.js +17 -0
  1574. package/locales/angular/so-ke.js +17 -0
  1575. package/locales/angular/so.js +17 -0
  1576. package/locales/angular/sq-mk.js +17 -0
  1577. package/locales/angular/sq-xk.js +17 -0
  1578. package/locales/angular/sq.js +17 -0
  1579. package/locales/angular/sr-cyrl-ba.js +19 -0
  1580. package/locales/angular/sr-cyrl-me.js +19 -0
  1581. package/locales/angular/sr-cyrl-xk.js +19 -0
  1582. package/locales/angular/sr-cyrl.js +19 -0
  1583. package/locales/angular/sr-latn-ba.js +15 -0
  1584. package/locales/angular/sr-latn-me.js +15 -0
  1585. package/locales/angular/sr-latn-xk.js +15 -0
  1586. package/locales/angular/sr-latn.js +15 -0
  1587. package/locales/angular/sr.js +19 -0
  1588. package/locales/angular/su-latn.js +15 -0
  1589. package/locales/angular/su.js +15 -0
  1590. package/locales/angular/sv-ax.js +17 -0
  1591. package/locales/angular/sv-fi.js +17 -0
  1592. package/locales/angular/sv.js +17 -0
  1593. package/locales/angular/sw-cd.js +17 -0
  1594. package/locales/angular/sw-ke.js +17 -0
  1595. package/locales/angular/sw-ug.js +17 -0
  1596. package/locales/angular/sw.js +17 -0
  1597. package/locales/angular/ta-lk.js +17 -0
  1598. package/locales/angular/ta-my.js +17 -0
  1599. package/locales/angular/ta-sg.js +17 -0
  1600. package/locales/angular/ta.js +17 -0
  1601. package/locales/angular/te.js +17 -0
  1602. package/locales/angular/teo-ke.js +17 -0
  1603. package/locales/angular/teo.js +17 -0
  1604. package/locales/angular/tg.js +15 -0
  1605. package/locales/angular/th.js +15 -0
  1606. package/locales/angular/ti-er.js +17 -0
  1607. package/locales/angular/ti.js +17 -0
  1608. package/locales/angular/tk.js +17 -0
  1609. package/locales/angular/to.js +15 -0
  1610. package/locales/angular/tr-cy.js +17 -0
  1611. package/locales/angular/tr.js +17 -0
  1612. package/locales/angular/tt.js +15 -0
  1613. package/locales/angular/twq.js +15 -0
  1614. package/locales/angular/tzm.js +17 -0
  1615. package/locales/angular/ug.js +17 -0
  1616. package/locales/angular/uk.js +21 -0
  1617. package/locales/angular/und.js +17 -0
  1618. package/locales/angular/ur-in.js +17 -0
  1619. package/locales/angular/ur.js +17 -0
  1620. package/locales/angular/uz-arab.js +15 -0
  1621. package/locales/angular/uz-cyrl.js +15 -0
  1622. package/locales/angular/uz-latn.js +17 -0
  1623. package/locales/angular/uz.js +17 -0
  1624. package/locales/angular/vai-latn.js +15 -0
  1625. package/locales/angular/vai-vaii.js +15 -0
  1626. package/locales/angular/vai.js +15 -0
  1627. package/locales/angular/vi.js +15 -0
  1628. package/locales/angular/vun.js +17 -0
  1629. package/locales/angular/wae.js +17 -0
  1630. package/locales/angular/wo.js +15 -0
  1631. package/locales/angular/xh.js +17 -0
  1632. package/locales/angular/xog.js +17 -0
  1633. package/locales/angular/yav.js +15 -0
  1634. package/locales/angular/yi.js +17 -0
  1635. package/locales/angular/yo-bj.js +15 -0
  1636. package/locales/angular/yo.js +15 -0
  1637. package/locales/angular/yrl-co.js +15 -0
  1638. package/locales/angular/yrl-ve.js +15 -0
  1639. package/locales/angular/yrl.js +15 -0
  1640. package/locales/angular/yue-hans.js +15 -0
  1641. package/locales/angular/yue-hant.js +15 -0
  1642. package/locales/angular/yue.js +15 -0
  1643. package/locales/angular/zgh.js +15 -0
  1644. package/locales/angular/zh-hans-hk.js +15 -0
  1645. package/locales/angular/zh-hans-mo.js +15 -0
  1646. package/locales/angular/zh-hans-sg.js +15 -0
  1647. package/locales/angular/zh-hans.js +15 -0
  1648. package/locales/angular/zh-hant-hk.js +15 -0
  1649. package/locales/angular/zh-hant-mo.js +15 -0
  1650. package/locales/angular/zh-hant.js +15 -0
  1651. package/locales/angular/zh.js +15 -0
  1652. package/locales/angular/zu.js +17 -0
  1653. package/locales/moment/af.js +82 -0
  1654. package/locales/moment/ar-dz.js +167 -0
  1655. package/locales/moment/ar-kw.js +66 -0
  1656. package/locales/moment/ar-ly.js +182 -0
  1657. package/locales/moment/ar-ma.js +67 -0
  1658. package/locales/moment/ar-ps.js +123 -0
  1659. package/locales/moment/ar-sa.js +116 -0
  1660. package/locales/moment/ar-tn.js +66 -0
  1661. package/locales/moment/ar.js +200 -0
  1662. package/locales/moment/az.js +113 -0
  1663. package/locales/moment/be.js +153 -0
  1664. package/locales/moment/bg.js +98 -0
  1665. package/locales/moment/bm.js +62 -0
  1666. package/locales/moment/bn-bd.js +140 -0
  1667. package/locales/moment/bn.js +130 -0
  1668. package/locales/moment/bo.js +135 -0
  1669. package/locales/moment/br.js +179 -0
  1670. package/locales/moment/bs.js +171 -0
  1671. package/locales/moment/ca.js +111 -0
  1672. package/locales/moment/cs.js +192 -0
  1673. package/locales/moment/cv.js +74 -0
  1674. package/locales/moment/cy.js +109 -0
  1675. package/locales/moment/da.js +64 -0
  1676. package/locales/moment/de-at.js +90 -0
  1677. package/locales/moment/de-ch.js +87 -0
  1678. package/locales/moment/de.js +89 -0
  1679. package/locales/moment/dv.js +101 -0
  1680. package/locales/moment/el.js +117 -0
  1681. package/locales/moment/en-au.js +79 -0
  1682. package/locales/moment/en-ca.js +75 -0
  1683. package/locales/moment/en-gb.js +79 -0
  1684. package/locales/moment/en-ie.js +79 -0
  1685. package/locales/moment/en-il.js +75 -0
  1686. package/locales/moment/en-in.js +79 -0
  1687. package/locales/moment/en-nz.js +79 -0
  1688. package/locales/moment/en-sg.js +79 -0
  1689. package/locales/moment/eo.js +79 -0
  1690. package/locales/moment/es-do.js +119 -0
  1691. package/locales/moment/es-mx.js +121 -0
  1692. package/locales/moment/es-us.js +121 -0
  1693. package/locales/moment/es.js +121 -0
  1694. package/locales/moment/et.js +89 -0
  1695. package/locales/moment/eu.js +76 -0
  1696. package/locales/moment/fa.js +124 -0
  1697. package/locales/moment/fi.js +135 -0
  1698. package/locales/moment/fil.js +69 -0
  1699. package/locales/moment/fo.js +68 -0
  1700. package/locales/moment/fr-ca.js +81 -0
  1701. package/locales/moment/fr-ch.js +85 -0
  1702. package/locales/moment/fr.js +119 -0
  1703. package/locales/moment/fy.js +86 -0
  1704. package/locales/moment/ga.js +106 -0
  1705. package/locales/moment/gd.js +106 -0
  1706. package/locales/moment/gl.js +86 -0
  1707. package/locales/moment/gom-deva.js +137 -0
  1708. package/locales/moment/gom-latn.js +135 -0
  1709. package/locales/moment/gu.js +133 -0
  1710. package/locales/moment/he.js +105 -0
  1711. package/locales/moment/hi.js +179 -0
  1712. package/locales/moment/hr.js +167 -0
  1713. package/locales/moment/hu.js +129 -0
  1714. package/locales/moment/hy-am.js +105 -0
  1715. package/locales/moment/id.js +87 -0
  1716. package/locales/moment/is.js +151 -0
  1717. package/locales/moment/it-ch.js +75 -0
  1718. package/locales/moment/it.js +117 -0
  1719. package/locales/moment/ja.js +159 -0
  1720. package/locales/moment/jv.js +87 -0
  1721. package/locales/moment/ka.js +103 -0
  1722. package/locales/moment/kk.js +93 -0
  1723. package/locales/moment/km.js +114 -0
  1724. package/locales/moment/kn.js +135 -0
  1725. package/locales/moment/ko.js +86 -0
  1726. package/locales/moment/ku-kmr.js +125 -0
  1727. package/locales/moment/ku.js +129 -0
  1728. package/locales/moment/ky.js +95 -0
  1729. package/locales/moment/lb.js +148 -0
  1730. package/locales/moment/lo.js +77 -0
  1731. package/locales/moment/lt.js +136 -0
  1732. package/locales/moment/lv.js +105 -0
  1733. package/locales/moment/me.js +128 -0
  1734. package/locales/moment/mi.js +71 -0
  1735. package/locales/moment/mk.js +97 -0
  1736. package/locales/moment/ml.js +93 -0
  1737. package/locales/moment/mn.js +111 -0
  1738. package/locales/moment/mr.js +214 -0
  1739. package/locales/moment/ms-my.js +87 -0
  1740. package/locales/moment/ms.js +86 -0
  1741. package/locales/moment/mt.js +67 -0
  1742. package/locales/moment/my.js +102 -0
  1743. package/locales/moment/nb.js +71 -0
  1744. package/locales/moment/ne.js +132 -0
  1745. package/locales/moment/nl-be.js +113 -0
  1746. package/locales/moment/nl.js +115 -0
  1747. package/locales/moment/nn.js +70 -0
  1748. package/locales/moment/oc-lnc.js +96 -0
  1749. package/locales/moment/pa-in.js +133 -0
  1750. package/locales/moment/pl.js +151 -0
  1751. package/locales/moment/pt-br.js +69 -0
  1752. package/locales/moment/pt.js +74 -0
  1753. package/locales/moment/ro.js +87 -0
  1754. package/locales/moment/ru.js +224 -0
  1755. package/locales/moment/sd.js +92 -0
  1756. package/locales/moment/se.js +68 -0
  1757. package/locales/moment/si.js +80 -0
  1758. package/locales/moment/sk.js +156 -0
  1759. package/locales/moment/sl.js +182 -0
  1760. package/locales/moment/sq.js +76 -0
  1761. package/locales/moment/sr-cyrl.js +138 -0
  1762. package/locales/moment/sr.js +140 -0
  1763. package/locales/moment/ss.js +95 -0
  1764. package/locales/moment/sv.js +79 -0
  1765. package/locales/moment/sw.js +66 -0
  1766. package/locales/moment/ta.js +142 -0
  1767. package/locales/moment/te.js +99 -0
  1768. package/locales/moment/tet.js +79 -0
  1769. package/locales/moment/tg.js +128 -0
  1770. package/locales/moment/th.js +76 -0
  1771. package/locales/moment/tk.js +102 -0
  1772. package/locales/moment/tl-ph.js +68 -0
  1773. package/locales/moment/tlh.js +135 -0
  1774. package/locales/moment/tr.js +117 -0
  1775. package/locales/moment/tzl.js +100 -0
  1776. package/locales/moment/tzm-latn.js +65 -0
  1777. package/locales/moment/tzm.js +65 -0
  1778. package/locales/moment/ug-cn.js +122 -0
  1779. package/locales/moment/uk.js +178 -0
  1780. package/locales/moment/ur.js +93 -0
  1781. package/locales/moment/uz-latn.js +65 -0
  1782. package/locales/moment/uz.js +62 -0
  1783. package/locales/moment/vi.js +91 -0
  1784. package/locales/moment/x-pseudo.js +84 -0
  1785. package/locales/moment/yo.js +64 -0
  1786. package/locales/moment/zh-cn.js +131 -0
  1787. package/locales/moment/zh-hk.js +112 -0
  1788. package/locales/moment/zh-mo.js +111 -0
  1789. package/locales/moment/zh-tw.js +110 -0
  1790. package/locales/moment-timezone/moment-timezone-with-data.js +1582 -0
  1791. package/npm-shrinkwrap.json +17 -0
  1792. package/oAuth/.npmignore +2 -0
  1793. package/oAuth/bundles/index.umd.js +495 -0
  1794. package/oAuth/fesm2022/index.mjs +478 -0
  1795. package/oAuth/fesm2022/index.mjs.map +1 -0
  1796. package/oAuth/index.d.ts +43 -0
  1797. package/oAuth/package.json +23 -0
  1798. package/package-lock.json +17 -0
  1799. package/package.json +16 -0
  1800. package/runtime/base/.npmignore +2 -0
  1801. package/runtime/base/bundles/index.umd.js +6144 -0
  1802. package/runtime/base/fesm2022/index.mjs +6180 -0
  1803. package/runtime/base/fesm2022/index.mjs.map +1 -0
  1804. package/runtime/base/index.d.ts +1426 -0
  1805. package/runtime/base/package.json +23 -0
  1806. package/runtime/dynamic/.npmignore +2 -0
  1807. package/runtime/dynamic/bundles/index.umd.js +887 -0
  1808. package/runtime/dynamic/fesm2022/index.mjs +950 -0
  1809. package/runtime/dynamic/fesm2022/index.mjs.map +1 -0
  1810. package/runtime/dynamic/index.d.ts +164 -0
  1811. package/runtime/dynamic/package.json +23 -0
  1812. package/scripts/@wavemaker/nvd3/build/nv.d3.min.js +1 -0
  1813. package/scripts/d3/d3.min.js +2 -0
  1814. package/scripts/datatable/datatable.js +3787 -0
  1815. package/scripts/iscroll/build/iscroll.js +2091 -0
  1816. package/scripts/jquery-ui/ui/widgets/droppable.js +503 -0
  1817. package/scripts/jquery-ui/ui/widgets/resizable.js +1275 -0
  1818. package/scripts/jquery-ui/ui/widgets/sortable.js +1608 -0
  1819. package/scripts/jquery.ui.touch-punch/jquery.ui.touch-punch.min.js +11 -0
  1820. package/scripts/summernote/dist/summernote-lite.min.js +2 -0
  1821. package/scripts/swipey/swipey.jquery.plugin.js +799 -0
  1822. package/scripts/tree-keyboard-navigation/keyboard-navigation.js +251 -0
  1823. package/security/.npmignore +2 -0
  1824. package/security/bundles/index.umd.js +446 -0
  1825. package/security/fesm2022/index.mjs +444 -0
  1826. package/security/fesm2022/index.mjs.map +1 -0
  1827. package/security/index.d.ts +130 -0
  1828. package/security/package.json +23 -0
  1829. package/swipey/.npmignore +2 -0
  1830. package/swipey/bundles/index.umd.js +54 -0
  1831. package/swipey/fesm2022/index.mjs +51 -0
  1832. package/swipey/fesm2022/index.mjs.map +1 -0
  1833. package/swipey/index.d.ts +21 -0
  1834. package/swipey/package.json +23 -0
  1835. package/transpiler/.npmignore +2 -0
  1836. package/transpiler/bundles/index.umd.js +814 -0
  1837. package/transpiler/fesm2022/index.mjs +808 -0
  1838. package/transpiler/fesm2022/index.mjs.map +1 -0
  1839. package/transpiler/index.d.ts +47 -0
  1840. package/transpiler/package.json +24 -0
  1841. package/variables/.npmignore +2 -0
  1842. package/variables/bundles/index.umd.js +3174 -0
  1843. package/variables/fesm2022/index.mjs +3236 -0
  1844. package/variables/fesm2022/index.mjs.map +1 -0
  1845. package/variables/index.d.ts +468 -0
  1846. package/variables/package.json +23 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../projects/runtime-base/src/types/types.ts","../../../../projects/runtime-base/src/services/app.manager.service.ts","../../../../projects/runtime-base/src/util/utils.ts","../../../../projects/runtime-base/src/services/prefab-manager.service.ts","../../../../projects/runtime-base/src/util/fragment-monitor.ts","../../../../projects/runtime-base/src/components/base-partial.component.ts","../../../../projects/runtime-base/src/util/wm-route-reuse-strategy.ts","../../../../projects/runtime-base/src/components/base-page.component.ts","../../../../projects/runtime-base/src/components/base-custom-widget.component.ts","../../../../projects/runtime-base/src/components/base-prefab.component.ts","../../../../projects/runtime-base/src/components/base-layout.component.ts","../../../../projects/runtime-base/src/overrides/wm_dom_renderer.ts","../../../../projects/runtime-base/src/overrides/wm_shared_styles_host.ts","../../../../projects/runtime-base/src/components/base-spa-page.component.ts","../../../../projects/runtime-base/src/directives/accessroles.directive.ts","../../../../projects/runtime-base/src/components/app-spinner.component.ts","../../../../projects/runtime-base/src/components/custom-toaster.component.ts","../../../../projects/runtime-base/src/components/empty-component/empty-page.component.ts","../../../../projects/runtime-base/src/services/pipe-provider.service.ts","../../../../projects/runtime-base/src/services/pipe.service.ts","../../../../projects/runtime-base/src/services/app.service.ts","../../../../projects/runtime-base/src/services/toaster.service.ts","../../../../projects/runtime-base/src/services/i18n.service.ts","../../../../projects/runtime-base/src/services/spinner.service.ts","../../../../projects/runtime-base/src/services/navigation.service.ts","../../../../projects/runtime-base/src/services/app-defaults.service.ts","../../../../projects/runtime-base/src/guards/auth.guard.ts","../../../../projects/runtime-base/src/guards/role.guard.ts","../../../../projects/runtime-base/src/guards/page-not-found.guard.ts","../../../../projects/runtime-base/src/resolves/app-js.resolve.ts","../../../../projects/runtime-base/src/resolves/app-extension.resolve.ts","../../../../projects/runtime-base/src/resolves/i18n.resolve.ts","../../../../projects/runtime-base/src/components/app-component/app.component.ts","../../../../projects/runtime-base/src/components/app-component/app.component.html","../../../../projects/runtime-base/src/services/http-interceptor.services.ts","../../../../projects/runtime-base/src/directives/prefab.directive.ts","../../../../projects/runtime-base/src/components/prefab-preview.component.ts","../../../../projects/runtime-base/src/services/dynamic-component-ref-provider.service.ts","../../../../projects/runtime-base/src/guards/can-deactivate-page.guard.ts","../../../../projects/runtime-base/src/runtime-base.module.ts","../../../../projects/runtime-base/src/resolves/app-before-load.resolve.ts","../../../../projects/runtime-base/src/resolves/app-variables.resolve.ts","../../../../projects/runtime-base/src/resolves/metadata.resolve.ts","../../../../projects/runtime-base/src/resolves/security-config.resolve.ts","../../../../projects/runtime-base/src/index.ts"],"sourcesContent":["export enum ComponentType {\n PAGE,\n PREFAB,\n PARTIAL,\n WIDGET\n}\n\nexport abstract class ComponentRefProvider {\n abstract getComponentFactoryRef(componentName: string, componentType: ComponentType): Promise<any>;\n clearComponentFactoryRefCache(): void {};\n}\n\nexport abstract class PrefabConfigProvider {\n abstract getConfig(prefabName: string): Promise<any>;\n}\n\nexport abstract class CustomwidgetConfigProvider {\n abstract getConfig(widgetname: string): Promise<any>;\n}\n\nexport abstract class AppJSProvider {\n abstract getAppScriptFn(): Promise<Function>;\n}\n\nexport abstract class AppVariablesProvider {\n abstract getAppVariables(): Promise<any>;\n}\nexport abstract class AppExtensionProvider {\n abstract loadFormatterConfigScript(callback:Function): void;\n}\n\n","import {Injectable, OnDestroy} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {DatePipe} from '@angular/common';\n\nimport {\n $appDigest,\n AbstractDialogService,\n AbstractHttpService,\n AbstractI18nService,\n AbstractSpinnerService,\n App,\n fetchContent,\n getWmProjectProperties,\n isDefined,\n triggerFn\n} from '@wm/core';\nimport {SecurityService} from '@wm/security';\nimport {$rootScope, MetadataService, VariablesService} from '@wm/variables';\nimport {extend, forEach, get, isEmpty, isObject, isUndefined, merge, trim} from \"lodash-es\";\nimport {getModesFromLocalStorage} from '../public_api';\n\nenum POST_MESSAGES {\n HIDE_TEMPLATES_SHOW_CASE = 'hide-templates-show-case',\n SHOW_TEMPLATES_SHOW_CASE = 'show-templates-show-case',\n UPDATE_LOCATION = 'update-location-path',\n SELECT_TEMPLATE = 'select-template',\n TEMPLATEBUNDLE_CONFIG = 'template-bundle-config',\n ON_LOAD = 'on-load'\n}\n\n\n@Injectable()\nexport class AppManagerService implements OnDestroy {\n static readonly SERVICE_NAME = 'AppManagerService';\n\n private appVariablesLoaded = false;\n private appVariablesFired = false;\n private _noRedirect = false;\n private templates: Array<any>;\n private lastLoggedUserId;\n private appSubscriptions: Array<() => void> = []; // MEMORY LEAK FIX: Track subscriptions\n private windowMessageListener: (event: MessageEvent) => void; // MEMORY LEAK FIX: Store listener reference\n private sessionTimeoutUnsubscribe: () => void; // MEMORY LEAK FIX: Store unsubscribe function\n\n constructor(\n private $http: AbstractHttpService,\n private $security: SecurityService,\n private $dialog: AbstractDialogService,\n private $router: Router,\n private $app: App,\n private $variables: VariablesService,\n private $metadata: MetadataService,\n private $spinner: AbstractSpinnerService,\n private $i18n: AbstractI18nService,\n private $datePipe: DatePipe,\n ) {\n // register method to invoke on session timeout\n // MEMORY LEAK FIX: Store unsubscribe function for cleanup\n this.sessionTimeoutUnsubscribe = this.$http.registerOnSessionTimeout(this.handle401.bind(this));\n\n this.$variables.registerDependency('appManager', this);\n\n // MEMORY LEAK FIX: Store subscription unsubscribe functions\n this.appSubscriptions.push(this.$app.subscribe('toggle-variable-state', (data) => {\n const variable = data.variable,\n active = data.active;\n if (!isEmpty(trim(variable.spinnerContext))) {\n if (active) {\n let spinnerExists;\n // WMS-21117 : Do not trigger spinner, if the current variable is same as spinner which is in context\n if (variable._spinnerId && variable._spinnerId.length) {\n forEach(variable._spinnerId, (item) => {\n if (item.slice(0, item.lastIndexOf('_')) === variable._id && (this.$spinner as any).messagesByContext && (this.$spinner as any).messagesByContext[variable.spinnerContext] &&\n (variable.spinnerMessage === (this.$spinner as any).messagesByContext[variable.spinnerContext][\"finalMessage\"] || variable.spinnerMessage === (this.$spinner as any).messagesByContext[variable.spinnerContext][item])) {\n spinnerExists = true;\n return;\n }\n });\n }\n if (!spinnerExists) {\n variable._spinnerId = variable._spinnerId || [];\n const spinnerId = this.$spinner.show(variable.spinnerMessage,\n variable._id + '_' + Date.now(),\n variable.spinnerclass,\n variable.spinnerContext);\n variable._spinnerId.push(spinnerId);\n }\n } else {\n this.$spinner.hide(variable._spinnerId.shift());\n }\n }\n }));\n this.appSubscriptions.push(this.$app.subscribe('userLoggedIn', () => {\n this.setLandingPage();\n if (this.lastLoggedUserId) {\n this.$security.getConfig(config => {\n if(config && config.userInfo.userId !== this.lastLoggedUserId) {\n this.$app.clearPageCache();\n }\n }, null);\n }\n }));\n this.appSubscriptions.push(this.$app.subscribe('userLoggedOut', () => this.setLandingPage().then(() => {\n this.$app.clearPageCache();\n })));\n this.appSubscriptions.push(this.$app.subscribe('http401', (d = {}) => this.handle401(d.page, d.options)));\n }\n\n /**\n * On session timeout, if the session timeout config is set to a dialog, then open login dialog\n */\n private showLoginDialog() {\n this.$spinner.hide('globalSpinner');\n // Removing the close all dialogs call, so the existing dialogs remain open and\n // the login dialog comes on top of it.\n this.$dialog.open('CommonLoginDialog');\n // Since the login dialog is closed and opened its updated property isn't read by angular.\n // Hence we trigger the digest cycle\n $appDigest();\n }\n\n loadAppJS() {\n\n }\n\n loadCommonPage() {\n\n }\n\n loadSecurityConfig(forceFlag?: boolean) {\n return this.$security.load(forceFlag).then((r) => {\n if (!this.$app.landingPageName) {\n this.setLandingPage();\n }\n return r;\n });\n }\n\n loadMetadata() {\n return this.$metadata.load();\n }\n\n loadAppVariables(variables?: any) {\n if (this.appVariablesLoaded) {\n return Promise.resolve();\n }\n\n const init = response => {\n const data = this.$variables.register('app', response, this.$app);\n // not assigning directly to this.$app to keep the reference in tact\n extend(this.$app.Variables, data.Variables);\n extend(this.$app.Actions, data.Actions);\n this.updateLoggedInUserVariable();\n this.updateSupportedLocaleVariable();\n this.appVariablesLoaded = true;\n this.appVariablesFired = false;\n };\n\n if (isDefined(variables)) {\n init(variables);\n return Promise.resolve();\n }\n\n return this.$http.get('./app.variables.json').then(response => init(response));\n }\n\n /**\n * getter and setter for the property appVariablesFired\n * this flag determines if the app variables(with startUpdate:true) have been fired\n * they should get fired only once through app lifecycle\n * @param {boolean} isFired\n * @returns {boolean}\n */\n isAppVariablesFired(isFired?: boolean) {\n if (isDefined(isFired)) {\n this.appVariablesFired = isFired;\n }\n return this.appVariablesFired;\n }\n\n private clearLoggedInUserVariable(variable) {\n variable.isAuthenticated = false;\n variable.roles = [];\n variable.name = undefined;\n variable.id = undefined;\n variable.tenantId = undefined;\n }\n\n private updateLoggedInUserVariable() {\n const loggedInUser = get(this.$app, 'Variables.loggedInUser.dataSet');\n\n // sanity check\n if (!loggedInUser) {\n return;\n }\n return this.$security.load().then(() => {\n const securityConfig = this.$security.get();\n if (securityConfig && securityConfig.securityEnabled && securityConfig.authenticated) {\n loggedInUser.isAuthenticated = securityConfig.authenticated;\n loggedInUser.roles = securityConfig.userInfo.userRoles;\n loggedInUser.name = securityConfig.userInfo.userName;\n loggedInUser.id = securityConfig.userInfo.userId;\n loggedInUser.tenantId = securityConfig.userInfo.tenantId;\n loggedInUser.userAttributes = securityConfig.userInfo.userAttributes; // assign the extra userAttributes for custom usage.\n } else {\n this.clearLoggedInUserVariable(loggedInUser);\n loggedInUser.isSecurityEnabled = securityConfig && securityConfig.securityEnabled;\n throw null;\n }\n return securityConfig;\n }).catch(err => {\n loggedInUser.isAuthenticated = false;\n loggedInUser.roles = [];\n loggedInUser.name = undefined;\n loggedInUser.id = undefined;\n loggedInUser.tenantId = undefined;\n loggedInUser.userAttributes = {};\n });\n }\n\n /**\n * Overriding the app variable supported locale with the wmProperties i18n DataValues\n *\n * TODO[Vibhu]:\n * Can write a simple migration to sync the supportedLocale variable with '_WM_APP_PROPERTIES.supportedLanguages'\n * Hence, this may not be required\n *\n */\n updateSupportedLocaleVariable() {\n const supportedLocaleVar = get(this.$app, 'Variables.supportedLocale');\n }\n\n handleSSOLogin(config, options) {\n const SSO_URL = 'services/security/ssologin',\n PREVIEW_WINDOW_NAME = 'WM_PREVIEW_WINDOW';\n let page = '',\n queryParams;\n\n // do not provide redirectTo page if fetching HOME page resulted 401\n // on app load, by default Home page is loaded\n\n /*\n * For preview, this.$security.getRedirectedRouteQueryParams() gets the queryparams form the activated route(pagewrappercomponent)\n * For deployed app, canactivate guard resolved to false and gets the queryparams from the canactivate gurard(no active route component)\n */\n queryParams = (options && options.queryParams) || this.$security.getRedirectedRouteQueryParams();\n queryParams = this.$security.getQueryString(queryParams);\n queryParams = queryParams ? '?' + queryParams : '';\n\n const redirectPage = this.$security.getCurrentRoutePage();\n const homePage = getWmProjectProperties().homePage;\n if (redirectPage && (redirectPage !== homePage || !!queryParams)) {\n page = '?redirectPage=' + encodeURIComponent(redirectPage);\n }\n\n // showing a redirecting message\n document.body.textContent = get(this.getAppLocale(), ['MESSAGE_LOGIN_REDIRECTION']) || 'Redirecting to sso login...';\n // appending redirect to page and page params\n const ssoUrl = this.getDeployedURL() + SSO_URL + page + queryParams;\n /*\n * remove iFrame when redirected to IdP login page.\n * this is being done as IDPs do not allow to get themselves loaded into iFrames.\n * remove-toolbar has been assigned with a window name WM_PREVIEW_WINDOW, check if the iframe is our toolbar related and\n * safely change the location of the parent toolbar with current url.\n */\n if (window.self !== window.top) {\n try {\n if (window.parent && window.location.origin === window.parent.origin){\n if(window.parent.name === PREVIEW_WINDOW_NAME) {\n window.parent.location.href = window.self.location.href;\n window.parent.name = \"\"\n }\n } else {\n window.location.href = ssoUrl\n }\n } catch (error) {\n window.location.href = ssoUrl;\n }\n } else {\n window.location.href = ssoUrl;\n }\n }\n\n /**\n * Handles the app when a XHR request returns 401 response\n * If no user was logged in before 401 occurred, First time Login is simulated\n * Else, a session timeout has occurred and the same is simulated\n * @param page if provided, represents the page name for which XHR request returned 401, on re-login\n * if not provided, a service request returned 401\n * @param onSuccess success handler\n * @param onError error handler\n */\n handle401(page?, options?) {\n let sessionTimeoutConfig,\n sessionTimeoutMethod,\n loginConfig,\n loginMethod;\n const LOGIN_METHOD = {\n 'DIALOG' : 'DIALOG',\n 'PAGE' : 'PAGE',\n 'SSO' : 'SSO'\n };\n\n const config = this.$security.get();\n let queryParamsObj = {};\n loginConfig = config.loginConfig;\n this.lastLoggedUserId = config.userInfo && config.userInfo.userId;\n // if user found, 401 was thrown after session time\n if (config.userInfo && config.userInfo.userName) {\n config.authenticated = false;\n sessionTimeoutConfig = loginConfig.sessionTimeout || {'type': LOGIN_METHOD.DIALOG};\n sessionTimeoutMethod = sessionTimeoutConfig.type.toUpperCase();\n switch (sessionTimeoutMethod) {\n case LOGIN_METHOD.DIALOG:\n this.showLoginDialog();\n break;\n case LOGIN_METHOD.PAGE:\n if (!page) {\n page = this.$security.getCurrentRoutePage();\n }\n queryParamsObj['redirectTo'] = page;\n // Adding query params(page params of page being redirected to) to the URL.\n queryParamsObj = merge(queryParamsObj, this.$security.getRedirectedRouteQueryParams());\n // the redirect page should not be same as session timeout login page\n if ( page !== sessionTimeoutConfig.pageName) {\n this.$router.navigate([sessionTimeoutConfig.pageName], {queryParams: queryParamsObj});\n }\n break;\n case LOGIN_METHOD.SSO:\n this.handleSSOLogin(config, options);\n break;\n }\n this.setLandingPage();\n } else {\n // if no user found, 401 was thrown for first time login\n loginMethod = loginConfig.type.toUpperCase();\n switch (loginMethod) {\n case LOGIN_METHOD.DIALOG:\n // Through loginDialog, user will remain in the current state and failed calls will be executed post login through LoginActionService.\n // NOTE: user will be redirected to respective landing page only if dialog is opened manually(not through a failed 401 call).\n this.noRedirect(true);\n this.showLoginDialog();\n break;\n case LOGIN_METHOD.PAGE:\n // do not provide redirectTo page if fetching HOME page resulted 401\n // on app load, by default Home page is loaded\n page = this.$security.getRedirectPage(config, page);\n queryParamsObj['redirectTo'] = page;\n const extraQueryParams = (options && options.queryParams) || this.$security.getRedirectedRouteQueryParams();\n queryParamsObj = merge(queryParamsObj, extraQueryParams);\n this.$router.navigate([loginConfig.pageName], {queryParams: queryParamsObj});\n this.$app.landingPageName = loginConfig.pageName;\n break;\n case LOGIN_METHOD.SSO:\n this.handleSSOLogin(config, options);\n break;\n }\n }\n }\n\n /**\n * Updates data dependent on logged in user\n * Reloads security config, metadata\n * Updates the loggedInUserVariable\n * @returns {Promise<void>}\n */\n reloadAppData() {\n return this.loadSecurityConfig(true).then(() => {\n return this.loadMetadata().then(() => {\n return this.updateLoggedInUserVariable().then((config) => {\n return Promise.resolve(this.beforeAppReady())\n .then(() => Promise.resolve(config));\n })\n });\n });\n }\n\n noRedirect(value?: boolean) {\n if (isUndefined(value)) {\n return this._noRedirect;\n }\n\n this._noRedirect = value;\n return this._noRedirect;\n }\n\n /**\n * invokes session failure requests\n */\n executeSessionFailureRequests() {\n this.$http.executeSessionFailureRequests();\n }\n\n pushToSessionFailureRequests(callback) {\n this.$http.pushToSessionFailureQueue(callback);\n }\n\n public getDeployedURL() {\n return this.$app.deployedUrl ? this.$app.deployedUrl : $rootScope.project.deployedUrl;\n }\n\n /**\n * Fetches the customurlscheme for a mobile app\n * which is used for redirection back to the app from browser in implicit oAuth flow\n * @returns {string}\n */\n public getCustomUrlScheme() {\n return this.$app.customUrlScheme;\n }\n\n notify(eventName, data) {\n this.$app.notify(eventName, data);\n }\n\n subscribe(eventName, data) {\n return this.$app.subscribe(eventName, data);\n }\n\n getActivePage() {\n return this.$app.activePage;\n }\n\n getAppLocale() {\n return this.$app.appLocale;\n }\n\n getSelectedLocale() {\n return this.$i18n.getSelectedLocale();\n }\n\n notifyApp(template, type, title?) {\n this.$app.notifyApp(template, type, title);\n }\n\n /**\n * Triggers the onBeforeService method defined in app.js of the app\n * @param requestParams\n */\n appOnBeforeServiceCall(requestParams: any) {\n return triggerFn(this.$app.onBeforeServiceCall, requestParams);\n }\n\n /**\n * Triggers the onServiceSuccess method defined in app.js of the app\n * @param data\n * @param xhrObj\n */\n appOnServiceSuccess(data: any, xhrObj: any) {\n return triggerFn(this.$app.onServiceSuccess, data, xhrObj);\n }\n\n /**\n * Triggers the onServiceError method defined in app.js of the app\n * @param data\n * @param xhrOb\n */\n appOnServiceError(data: any, xhrOb?: any) {\n return triggerFn(this.$app.onServiceError, data, xhrOb);\n }\n\n /**\n * Triggers the appVariablesReady method defined in app.js of the app\n */\n appVariablesReady() {\n triggerFn(this.$app.onAppVariablesReady);\n }\n\n /**\n * Triggers the onBeforeAppReady method defined in app.js of the app\n */\n beforeAppReady() {\n return triggerFn(this.$app.onBeforeAppReady);\n }\n\n /**\n * Returns the pipe based on the input\n */\n getPipe(pipe) {\n if (pipe === 'date') {\n return this.$datePipe;\n }\n }\n\n private setLandingPage() {\n return this.$security.getPageByLoggedInUser().then(p => this.$app.landingPageName = <string> p);\n }\n\n /**\n * return true if prefab type app\n * @returns {boolean}\n */\n isPrefabType() {\n return this.$app.isPrefabType;\n }\n\n /**\n * return true if template bundle type app\n * @returns {boolean}\n */\n isTemplateBundleType() {\n return this.$app.isTemplateBundleType;\n }\n\n postMessage(content) {\n window.top.postMessage(content, '*');\n }\n\n showTemplate(idx) {\n const template = this.templates[idx];\n // scope.activeTemplateIndex = idx;\n this.$router.navigate([template.id]);\n }\n postTemplateBundleInfo() {\n\n window.onmessage = (evt) => {\n const msgData = evt.data;\n\n if (!isObject(msgData)) {\n return;\n }\n\n // @ts-ignore\n const key = msgData.key;\n\n switch (key) {\n case POST_MESSAGES.HIDE_TEMPLATES_SHOW_CASE:\n // scope.hideShowCase = true;\n break;\n case POST_MESSAGES.SELECT_TEMPLATE:\n // @ts-ignore\n this.showTemplate(msgData.templateIndex);\n break;\n }\n };\n\n setTimeout(() => {\n this.postMessage({key: POST_MESSAGES.ON_LOAD});\n });\n\n return fetchContent('json', './config.json', true, response => {\n this.templates = [];\n if (!response.error) {\n this.templates = response.templates;\n this.postMessage({'key': POST_MESSAGES.TEMPLATEBUNDLE_CONFIG, 'config': response});\n }\n });\n }\n\n postAppTypeInfo() {\n if (this.isTemplateBundleType()) {\n return this.postTemplateBundleInfo();\n }\n }\n\n initAppModes(): void {\n // get modes from local storage\n let storedModes = getModesFromLocalStorage();\n\n // Apply restored modes\n this.$app.setMode(storedModes);\n\n // Listener for postMessage-based mode changes\n // MEMORY LEAK FIX: Store bound function reference for cleanup\n this.windowMessageListener = (event) => {\n const { key, modes, shouldPersist } = event.data || {};\n if (key === 'switch-mode' && modes) {\n this.$app.setMode(modes, !shouldPersist);\n }\n };\n window.addEventListener('message', this.windowMessageListener);\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Unsubscribe from all app subscriptions\n this.appSubscriptions.forEach(unsubscribe => {\n if (unsubscribe) {\n unsubscribe();\n }\n });\n this.appSubscriptions = [];\n\n // MEMORY LEAK FIX: Unsubscribe from session timeout\n if (this.sessionTimeoutUnsubscribe) {\n this.sessionTimeoutUnsubscribe();\n this.sessionTimeoutUnsubscribe = null;\n }\n\n // MEMORY LEAK FIX: Remove window message listener\n if (this.windowMessageListener) {\n window.removeEventListener('message', this.windowMessageListener);\n this.windowMessageListener = null;\n }\n\n // MEMORY LEAK FIX: Clear references\n this.templates = null;\n this.lastLoggedUserId = null;\n }\n}\n","import { _WM_APP_PROJECT } from \"@wm/core\";\nimport { MODE_CONSTANTS } from '@wm/variables';\n\nexport const isPrefabInPreview = (prefabName: string) => prefabName === '__self__';\n\nexport const getPrefabBaseUrl = (prefabName: string) => {\n const basePath = _WM_APP_PROJECT.isPreview ? 'app/prefabs' : _WM_APP_PROJECT.cdnUrl + 'resources';\n return isPrefabInPreview(prefabName) ? '.' : basePath + `/${prefabName}`\n};\n\nexport const getPrefabConfigUrl = (prefabName: string) => `${getPrefabBaseUrl(prefabName)}/config.json`;\n\nexport const getPrefabMinJsonUrl = (prefabName: string) => `${getPrefabBaseUrl(prefabName)}/pages/Main/page.min.json`;\n\nexport const getPrefabPartialJsonUrl = (prefabName: string, partialName: string) => `${getPrefabBaseUrl(prefabName)}/pages/${partialName}/page.min.json`;\n\nexport const getModesFromLocalStorage = () => {\n // get modes\n let storedValue: any = localStorage.getItem(`wm-app-modes`) || '{}';\n\n // parse the modes \n try {\n storedValue = JSON.parse(storedValue);\n } catch (error) {\n console.error(\"Error parsing modes\", error.message);\n storedValue = {}\n }\n \n // return parsed modes\n return storedValue;\n};","import { Injectable } from '@angular/core';\n\nimport { loadScripts, loadStyleSheets, stringStartsWith } from '@wm/core';\nimport { MetadataService } from '@wm/variables';\n\nimport { PrefabConfigProvider } from '../types/types';\nimport { getPrefabBaseUrl, isPrefabInPreview } from '../util/utils';\nimport {endsWith} from \"lodash-es\";\n\nconst prefabsWithError = new Set<string>();\nconst inProgress = new Map<string, Promise<any>>();\nconst resolvedPrefabs = new Set<string>();\n\nconst getPrefabResourceUrl = (resourcePath, resourceBasePath) => {\n let _url = resourcePath;\n if (!stringStartsWith(resourcePath, 'http://|https://|//')) {\n _url = (resourceBasePath + _url);\n }\n return _url;\n};\n\n@Injectable()\nexport class PrefabManagerService {\n\n constructor(\n private $metadata: MetadataService,\n private prefabConfigProvider: PrefabConfigProvider\n ) {}\n\n public getConfig(prefabName): Promise<any> {\n return this.prefabConfigProvider.getConfig(prefabName);\n }\n\n public loadServiceDefs(prefabName): Promise<any> {\n return isPrefabInPreview(prefabName) ? Promise.resolve() : this.$metadata.load(prefabName);\n }\n\n protected loadStyles(prefabName, {resources: {styles}} = {resources: {styles: []}}): Promise<void> {\n const baseUrl = getPrefabBaseUrl(prefabName);\n const _styles = styles.map(url => {\n if (!endsWith(url, '/pages/Main/Main.css')) {\n return getPrefabResourceUrl(url, baseUrl);\n }\n return undefined;\n }).filter(url => !!url);\n\n loadStyleSheets(_styles);\n\n return Promise.resolve();\n }\n\n // TODO [Vinay] - implement onPrefabResourceLoad\n protected loadScripts(prefabName, {resources: {scripts}} = {resources: {scripts: []}}): Promise<any> {\n const baseUrl = getPrefabBaseUrl(prefabName);\n scripts = scripts.filter(script => !script.startsWith('npm://'));\n const _scripts = scripts.map(url => getPrefabResourceUrl(url, baseUrl));\n\n return loadScripts(_scripts, true);\n }\n\n private setInProgress(prefabName: string) {\n let _res;\n let _rej;\n const _promise: any = new Promise((res, rej) => {\n _res = res;\n _rej = rej;\n });\n\n _promise.resolve = _res;\n _promise.reject = _rej;\n\n inProgress.set(prefabName, _promise);\n }\n\n private resolveInProgress(prefabName: string) {\n if (inProgress.get(prefabName)) {\n (inProgress.get(prefabName) as any).resolve();\n inProgress.delete(prefabName);\n }\n }\n\n public loadDependencies(prefabName): Promise<void> {\n\n if (resolvedPrefabs.has(prefabName)) {\n return Promise.resolve();\n }\n\n if (prefabsWithError.has(prefabName)) {\n return Promise.reject('');\n }\n\n if (inProgress.get(prefabName)) {\n return inProgress.get(prefabName);\n }\n\n this.setInProgress(prefabName);\n\n return this.getConfig(prefabName)\n .then(config => {\n return Promise.all([\n this.loadStyles(prefabName, config),\n this.loadScripts(prefabName, config),\n this.loadServiceDefs(prefabName)\n ]).then(() => {\n this.resolveInProgress(prefabName);\n resolvedPrefabs.add(prefabName);\n });\n });\n }\n}\n","import { noop } from '@wm/core';\n\nimport { Subject, Subscription } from 'rxjs';\nimport { Directive } from \"@angular/core\";\n\n@Directive()\nexport abstract class FragmentMonitor {\n fragments = 0;\n viewInit$: Subject<any>;\n isViewInitialized: boolean;\n isPageComponent: boolean = true;\n\n fragmentsLoaded$ = new Subject();\n private viewInitSubscription: Subscription; // MEMORY LEAK FIX: Store subscription reference\n\n constructor() {}\n\n init() {\n // console.log(`inside fragmentMonitor: Page-${(this as any).pageName}, Partial-${(this as any).partialName}`);\n\n // MEMORY LEAK FIX: Store subscription reference for cleanup\n this.viewInitSubscription = this.viewInit$.subscribe(noop, noop, () => {\n this.isViewInitialized = true;\n this.isReady();\n });\n }\n\n /**\n * MEMORY LEAK FIX: Clean up FragmentMonitor resources\n * Should be called from implementing class's ngOnDestroy\n */\n protected cleanupFragmentMonitor() {\n // MEMORY LEAK FIX: Unsubscribe from viewInit$ subscription\n if (this.viewInitSubscription) {\n this.viewInitSubscription.unsubscribe();\n this.viewInitSubscription = null;\n }\n\n // MEMORY LEAK FIX: Complete Subjects to release subscriptions (if not already completed)\n if (this.viewInit$ && !this.viewInit$.closed) {\n this.viewInit$.complete();\n }\n this.viewInit$ = null;\n\n if (this.fragmentsLoaded$ && !this.fragmentsLoaded$.closed) {\n this.fragmentsLoaded$.complete();\n }\n this.fragmentsLoaded$ = null;\n }\n\n registerFragment() {\n this.fragments++;\n }\n\n resolveFragment() {\n this.fragments--;\n this.isReady();\n }\n\n isReady() {\n if (this.isViewInitialized && !this.fragments) {\n this.registerFragment = noop;\n this.resolveFragment = noop;\n this.fragmentsLoaded$.complete();\n }\n }\n}\n","import {\n AfterViewInit,\n Injector,\n OnDestroy,\n ViewChild,\n Directive,\n inject\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { Subject } from 'rxjs';\n\nimport {\n $invokeWatchers,\n AbstractI18nService,\n AbstractNavigationService,\n App,\n noop,\n Viewport,\n ScriptLoaderService,\n UtilsService,\n registerFnByExpr\n} from '@wm/core';\nimport { PartialDirective, WidgetRef} from '@wm/components/base';\nimport { PageDirective, SpaPageDirective } from '@wm/components/page';\nimport {PrefabDirective} from '@wm/components/prefab';\nimport { VariablesService } from '@wm/variables';\n\nimport { FragmentMonitor } from '../util/fragment-monitor';\nimport { AppManagerService } from '../services/app.manager.service';\nimport {each} from \"lodash-es\";\n\nexport const commonPartialWidgets = {};\n\n@Directive()\nexport abstract class BasePartialComponent extends FragmentMonitor implements AfterViewInit, OnDestroy {\n Widgets: any;\n Variables: any;\n Actions: any;\n App: App;\n injector: Injector;\n partialName: string;\n activePageName: string;\n route: ActivatedRoute;\n appManager: AppManagerService;\n navigationService: AbstractNavigationService;\n router: Router;\n pageParams: any;\n containerWidget: any;\n i18nService: AbstractI18nService;\n appLocale: any;\n @ViewChild(PartialDirective) partialDirective;\n pageDirective: PageDirective | SpaPageDirective;\n Prefab: PrefabDirective;\n scriptLoaderService: ScriptLoaderService;\n Viewport: Viewport;\n compileContent = false;\n spa: boolean;\n\n destroy$ = new Subject();\n viewInit$ = new Subject();\n private viewParent: any;\n\n abstract evalUserScript(prefabContext: any, appContext: any, utils: any);\n\n abstract getVariables();\n abstract getExpressions();\n\n getContainerWidgetInjector() {\n return this.containerWidget.inj || this.containerWidget.injector;\n }\n\n init() {\n\n this.App = this.injector ? this.injector.get(App) : inject(App);\n //making the code compatible in both the JIT and AOT modes\n this.containerWidget = this.injector ? this.injector.get(WidgetRef) : inject(WidgetRef);\n this.i18nService = this.injector ? this.injector.get(AbstractI18nService) : inject(AbstractI18nService);\n this.scriptLoaderService = this.injector ? this.injector.get(ScriptLoaderService) : inject(ScriptLoaderService);\n this.Viewport = this.injector ? this.injector.get(Viewport) : inject(Viewport);\n // this.viewContainerRef = this.getContainerWidgetInjector().get(ViewContainerRef);\n // Replacing this.getContainerWidgetInjector().view.component as viewParent\n // this.viewParent = (this.viewContainerRef as any).parentInjector._lView[8];\n this.viewParent = this.containerWidget.viewParent;\n\n if (this.viewParent.registerFragment) {\n this.viewParent.registerFragment();\n }\n\n // register functions for binding evaluation\n this.registerExpressions();\n this.initUserScript();\n\n this.registerWidgets();\n this.initVariables();\n\n this.activePageName = this.App.activePageName; // Todo: remove this\n this.registerPageParams();\n\n this.defineI18nProps();\n\n this.viewInit$.subscribe(noop, noop, () => {\n this.pageParams = this.containerWidget.partialParams;\n });\n\n if (this.spa) {\n // Resolve optionally because Common/app-level partials can initialize before a page exists\n this.pageDirective = this.injector ? this.injector.get(SpaPageDirective, null) : (inject as any)(SpaPageDirective, { optional: true });\n } else {\n this.pageDirective = this.injector ? this.injector.get(PageDirective, null) : (inject as any)(PageDirective, { optional: true });\n }\n if (this.pageDirective) {\n this.registerDestroyListener(this.pageDirective.subscribe('attach', data => this.ngOnAttach(data.refreshData)));\n this.registerDestroyListener(this.pageDirective.subscribe('detach', () => this.ngOnDetach()));\n }\n\n super.init();\n }\n\n registerWidgets() {\n if (this.partialName === 'Common') {\n this.Widgets = commonPartialWidgets;\n } else {\n this.Widgets = Object.create(commonPartialWidgets);\n }\n\n this.containerWidget.Widgets = this.Widgets;\n }\n\n registerDestroyListener(fn: Function) {\n this.destroy$.subscribe(noop, noop, () => fn());\n }\n\n initUserScript() {\n try {\n // partials inside prefab should have access to Prefab properties and events\n if (this.viewParent.prefabName) {\n // for partial within partial within prefabs, just assign the parent partial's prefab object\n if (this.viewParent.Prefab) {\n this.Prefab = this.viewParent.Prefab;\n } else {\n this.Prefab = this.viewParent;\n }\n }\n this.evalUserScript(this, this.App, this.injector ? this.injector.get(UtilsService) : inject(UtilsService));\n } catch (e) {\n console.error(`Error in evaluating partial (${this.partialName}) script\\n`, e);\n }\n }\n\n initVariables() {\n const variablesService = this.injector ? this.injector.get(VariablesService) : inject(VariablesService);\n\n // get variables and actions instances for the page\n const variableCollection = variablesService.register(this.partialName, this.getVariables(), this);\n\n // create namespace for Variables nad Actions on page/partial, which inherits the Variables and Actions from App instance\n this.Variables = Object.create(this.App.Variables);\n this.Actions = Object.create(this.App.Actions);\n\n this.containerWidget.Variables = this.Variables;\n this.containerWidget.Actions = this.Actions;\n\n // assign all the page variables to the pageInstance\n Object.entries(variableCollection.Variables).forEach(([name, variable]) => this.Variables[name] = variable);\n Object.entries(variableCollection.Actions).forEach(([name, action]) => this.Actions[name] = action);\n\n\n this.viewInit$.subscribe(noop, noop, () => {\n // TEMP: triggering watchers so variables watching over params are updated\n $invokeWatchers(true, true);\n variableCollection.callback(variableCollection.Variables).catch(noop);\n variableCollection.callback(variableCollection.Actions);\n });\n }\n\n /**\n * function to register bind expressions generated in this partial instance\n * getExpressions function is defined in the generated page.comp.ts file\n * @param expressions, map of bind expression vs generated function\n */\n registerExpressions() {\n const expressions = this.getExpressions();\n each(expressions, (fn, expr) => {\n registerFnByExpr(expr, fn[0], fn[1]);\n });\n }\n\n registerPageParams() {\n this.pageParams = this.containerWidget.partialParams;\n }\n\n defineI18nProps() {\n this.appLocale = this.i18nService.getAppLocale();\n }\n\n invokeOnReady() {\n let params;\n if (this.containerWidget.userComponentParams) {\n params = this.containerWidget.userComponentParams;\n }\n this.onReady(params);\n if (this.viewParent.resolveFragment) {\n this.viewParent.resolveFragment();\n }\n }\n\n private loadScripts() {\n return new Promise<void>((resolve) => {\n const scriptsRequired = this.partialDirective?.$element.attr('scripts-to-load');\n if (scriptsRequired) {\n this.scriptLoaderService\n .load(...scriptsRequired.split(','))\n .then(resolve);\n } else {\n resolve();\n }\n });\n }\n\n mute() {\n const m = o => { o && o.mute && o.mute(); };\n each(this.Widgets, m);\n each(this.Variables, m);\n each(this.Actions, m);\n }\n\n unmute() {\n const um = o => { o && o.unmute && o.unmute(); };\n each(this.Widgets, um);\n each(this.Variables, um);\n each(this.Actions, um);\n }\n\n // ngOnInit() {\n // this.init();\n // }\n\n ngAfterViewInit(): void {\n this.loadScripts().then(() => {\n this.compileContent = true;\n setTimeout(() => {\n this.viewInit$.complete();\n\n this.fragmentsLoaded$.subscribe(noop, noop, () => this.invokeOnReady());\n\n }, 100);\n });\n }\n\n ngOnDestroy(): void {\n if (this.destroy$) {\n this.destroy$.complete();\n this.destroy$ = null;\n }\n if (this.viewInit$ && !this.viewInit$.closed) {\n this.viewInit$.complete();\n this.viewInit$ = null;\n }\n\n this.App = null;\n this.containerWidget = null;\n this.i18nService = null;\n this.appLocale = null;\n this.partialDirective = null;\n this.pageDirective = null;\n this.Prefab = null;\n this.scriptLoaderService = null;\n this.Viewport = null;\n this.route = null;\n this.appManager = null;\n this.navigationService = null;\n this.router = null;\n this.pageParams = null;\n this.viewParent = null;\n\n this.cleanupFragmentMonitor();\n }\n\n ngOnAttach(refreshData) {\n this.unmute();\n if (refreshData) {\n const refresh = v => { v && v.startUpdate && v.invoke && v.invoke(); };\n each(this.Variables, refresh);\n each(this.Actions, refresh);\n }\n each(this.Widgets, w => w && w.ngOnAttach && w.ngOnAttach());\n }\n\n ngOnDetach() {\n this.mute();\n each(this.Widgets, w => w && w.ngOnDetach && w.ngOnDetach());\n }\n\n onReady(params?) {\n }\n}\n","import {Inject} from '@angular/core';\n/*\nCustom Route Reuse Strategies:\n* WmDefaultRouteReuseStrategy: Base Function & Utils\n* WmRouteReseStrategy : For Preview & WaveMaker Deployments\n* WmNgRouteReuseStrategy : For Angular Deployments\n\nWhen a user invokes navigation action from 'Page1' to 'Page2'\nReuse Route : True,\n if the Page1 & Page2 are same with Same Query Params\nReuse Route : False,\n if the Page1 & Page 2 are different,\n if the Page1 & Page 2 are same, but the query params are different\n*/\nimport {ActivatedRouteSnapshot, DetachedRouteHandle, RouteReuseStrategy,} from '@angular/router';\n\nimport {LRUCache} from '@wm/core';\nimport {isNil} from \"lodash-es\";\n\nexport const CACHE_PAGE = '_cache_page';\nexport const MAX_CACHE_SIZE = 'REUSE_ROUTE_STRATEGY.MAX_CACHE_SIZE';\nexport const MAX_CACHE_AGE = 'REUSE_ROUTE_STRATEGY.MAX_CACHE_AGE';\n\n/* Base Strategy with Default implementations */\nexport class WmDefaultRouteReuseStrategy {\n private cache: LRUCache<DetachedRouteHandle>;\n private currentRouteKey: string;\n private paramsToIgnore = [\n 'wm_state', // state persistence,\n CACHE_PAGE // to use page cache\n ];\n\n constructor(@Inject(MAX_CACHE_SIZE) maxCacheSize?: number,\n @Inject(MAX_CACHE_AGE) maxCacheAge?: number) {\n this.cache = new LRUCache<DetachedRouteHandle>(maxCacheSize, maxCacheAge, (key, handle) => {\n if (this.currentRouteKey === key) {\n this.cache.set(key, handle);\n } else {\n (handle as any).componentRef.destroy();\n }\n });\n }\n\n private getKey(route: ActivatedRouteSnapshot) {\n const queryParams = Object.keys(route.queryParams)\n .filter(k => !this.paramsToIgnore.includes(k))\n .map(k => k + '=' + route.queryParams[k])\n .sort().join('&');\n let pageName = route.params.pageName;\n if (route.data.pageName && route.routeConfig.path === route.data.pageName) {\n pageName = route.data.pageName;\n }\n return pageName && (pageName + (queryParams ? `?${queryParams}`: ''));\n }\n\n protected getSize = (obj: object | null): number =>\n obj ? Object.keys(obj).length : 0;\n\n protected isSameQueryParams(future, current): boolean {\n try {\n const fqParams = future.queryParams;\n const cqParams = current.queryParams;\n const fqParamsCount = fqParams ? this.getSize(fqParams) : 0;\n const cqParamsCount = cqParams ? this.getSize(cqParams) : 0;\n\n if (fqParamsCount === 0 && cqParamsCount === 0) {\n return true;\n }\n if (fqParamsCount !== cqParamsCount) {\n return false;\n }\n return JSON.stringify(fqParams) === JSON.stringify(cqParams);\n } catch (e) {\n return false;\n }\n }\n\n private isCacheEnabled(route: ActivatedRouteSnapshot, defaultValue: boolean) {\n const canReuse = route.queryParams[CACHE_PAGE];\n if (!isNil(canReuse)) {\n return (canReuse === 'true' || canReuse === true);\n }\n return defaultValue;\n }\n\n // DefaultRouteReuseStrategy : Begin\n shouldDetach(route: ActivatedRouteSnapshot): boolean {\n const key = this.getKey(route);\n if (this.isCacheEnabled(route, !!route.data[CACHE_PAGE])) {\n return true;\n }\n this.cache.delete(key);\n return false;\n }\n\n shouldAttach(route: ActivatedRouteSnapshot): boolean {\n const key = this.getKey(route);\n this.currentRouteKey = key;\n const cachedHandle = this.cache.get(key) as DetachedRouteHandle;\n if (cachedHandle && this.isCacheEnabled(route, !!(cachedHandle[CACHE_PAGE]))) {\n return true;\n }\n this.cache.delete(key);\n return false;\n }\n\n store(route: ActivatedRouteSnapshot, handle: DetachedRouteHandle): void {\n if (handle) {\n const key = this.getKey(route);\n handle[CACHE_PAGE] = !!route.data[CACHE_PAGE];\n this.cache.set(key, handle);\n }\n }\n\n retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle | null {\n const key = this.getKey(route);\n return this.cache.get(key);\n }\n\n reset(pageName?: string) {\n if (pageName) {\n this.cache.delete(pageName);\n const pageWithParams = pageName += '?';\n const entriesToDelete = [];\n for(let k of this.cache.keys()) {\n if (k.startsWith(pageWithParams)) {\n entriesToDelete.push(k);\n }\n }\n entriesToDelete.forEach(k => this.cache.delete(k));\n } else {\n return this.cache.clear();\n }\n }\n}\n/* Custom Strategy specifically for preview & WaveMaker Deployments */\nexport class WmRouteReuseStrategy extends WmDefaultRouteReuseStrategy\n implements RouteReuseStrategy {\n constructor() {\n super();\n }\n private isSameRoute(future, current): boolean {\n // Incase of prefab project we have only one route So reloading the route everytime\n if (future.routeConfig && future.routeConfig.path === 'prefab-preview') {\n return false;\n }\n /*\n In WM Deployment, Navigation is handled by PageWrapperComponent\n & Route Info is passed as a parameter\n */\n const fParams = future.params;\n const cParams = current.params;\n const fParamsCount = this.getSize(fParams);\n const cParamsCount = this.getSize(cParams);\n if (fParamsCount === 0 && cParamsCount === 0) {\n return true;\n }\n if (fParamsCount !== cParamsCount) {\n return false;\n }\n if (fParams['pageName'] === cParams['pageName']) {\n return this.isSameQueryParams(future, current);\n }\n return false;\n }\n shouldReuseRoute(\n future: ActivatedRouteSnapshot,\n current: ActivatedRouteSnapshot\n ): boolean {\n return this.isSameRoute(future, current);\n }\n}\n/* Custom Strategy specifically for Angular Deployments */\nexport class WmNgRouteReuseStrategy extends WmDefaultRouteReuseStrategy\n implements RouteReuseStrategy {\n constructor() {\n super();\n }\n private isSameRoute(future, current): boolean {\n /*\n In Angular Deployment, Navigation is handled by Angular\n & Route Info is passed by routeConfig\n */\n if (!future.routeConfig && !current.routeConfig) {\n return true;\n }\n if (future.routeConfig !== current.routeConfig) {\n return false;\n }\n if (future.routeConfig === current.routeConfig) {\n //No need to compare query params for layout routeConfig\n if(future.data.layoutName && current.data.layoutName) {\n return true;\n }\n return this.isSameQueryParams(future, current);\n }\n return true;\n }\n shouldReuseRoute(\n future: ActivatedRouteSnapshot,\n current: ActivatedRouteSnapshot\n ): boolean {\n return this.isSameRoute(future, current);\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n Directive,\n HostListener,\n inject,\n Injector,\n OnDestroy,\n ViewChild\n} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\n\nimport {\n AbstractI18nService,\n AbstractNavigationService,\n App,\n getWmProjectProperties,\n isAndroid,\n isIos,\n muteWatchers,\n noop,\n registerFnByExpr,\n ScriptLoaderService,\n unMuteWatchers,\n UtilsService,\n Viewport\n} from '@wm/core';\nimport {PageDirective} from '@wm/components/page';\n\nimport {Subject} from 'rxjs';\nimport {commonPartialWidgets} from './base-partial.component';\n\n\nimport {VariablesService} from '@wm/variables';\nimport {AppManagerService} from '../services/app.manager.service';\nimport {FragmentMonitor} from '../util/fragment-monitor';\nimport {CACHE_PAGE} from '../util/wm-route-reuse-strategy';\nimport {each, extend} from \"lodash-es\";\n\ndeclare const $;\ndeclare const html2canvas;\n\n@Directive()\nexport abstract class BasePageComponent extends FragmentMonitor implements AfterViewInit, OnDestroy, AfterContentInit {\n static lastPageSnapShot = null;\n Widgets: any;\n Variables: any;\n Actions: any;\n App: App;\n injector: Injector;\n pageName: string;\n activePageName: string;\n route: ActivatedRoute;\n appManager: AppManagerService;\n navigationService: AbstractNavigationService;\n router: Router;\n pageParams: any;\n showPageContent: boolean;\n i18nService: AbstractI18nService;\n appLocale: any;\n startupVariablesLoaded = false;\n pageTransitionCompleted = false;\n @ViewChild(PageDirective) pageDirective;\n $page;\n scriptLoaderService: ScriptLoaderService;\n Viewport: Viewport;\n\n destroy$ = new Subject();\n viewInit$ = new Subject();\n formatsByLocale = {'timezone': ''};\n\n\n abstract evalUserScript(prefabContext: any, appContext: any, utils: any);\n abstract getVariables();\n abstract getExpressions();\n\n init() {\n\n muteWatchers();\n\n this.App = this.injector ? this.injector.get(App) : inject(App);\n this.route = this.injector ? this.injector.get(ActivatedRoute) : inject(ActivatedRoute);\n this.appManager = this.injector ? this.injector.get(AppManagerService) : inject(AppManagerService);\n this.navigationService = this.injector ? this.injector.get(AbstractNavigationService) : inject(AbstractNavigationService);\n this.scriptLoaderService = this.injector ? this.injector.get(ScriptLoaderService) : inject(ScriptLoaderService);\n this.i18nService = this.injector ? this.injector.get(AbstractI18nService) : inject(AbstractI18nService);\n this.router = this.injector ? this.injector.get(Router) : inject(Router);\n this.Viewport = this.injector ? this.injector.get(Viewport) : inject(Viewport);\n\n // register functions for binding evaluation\n this.registerExpressions();\n this.initUserScript();\n\n this.registerWidgets();\n this.initVariables();\n\n this.App.lastActivePageName = this.App.activePageName;\n this.App.activePageName = this.pageName;\n this.App.activePage = this;\n this.activePageName = this.pageName; // Todo: remove this\n\n this.registerPageParams();\n this.defineI18nProps();\n super.init();\n }\n\n registerWidgets() {\n // common partial widgets should be accessible from page\n this.Widgets = Object.create(commonPartialWidgets);\n\n // expose current page widgets on app\n (this.App as any).Widgets = Object.create(this.Widgets);\n }\n\n initUserScript() {\n try {\n this.evalUserScript(this, this.App, this.injector ? this.injector.get(UtilsService) : inject(UtilsService));\n } catch (e) {\n console.error(`Error in evaluating page (${this.pageName}) script\\n`, e);\n }\n }\n\n registerPageParams() {\n\n const subscription = this.route.queryParams.subscribe(params => this.pageParams = (this.App as any).pageParams = extend({}, params));\n this.registerDestroyListener(() => subscription.unsubscribe());\n }\n\n registerDestroyListener(fn: Function) {\n this.destroy$.subscribe(noop, noop, () => fn());\n }\n\n defineI18nProps() {\n this.appLocale = this.i18nService.getAppLocale();\n }\n\n initVariables() {\n const variablesService = this.injector ? this.injector.get(VariablesService) : inject(VariablesService);\n\n // get variables and actions instances for the page\n const variableCollection = variablesService.register(this.pageName, this.getVariables(), this);\n\n // create namespace for Variables nad Actions on page/partial, which inherits the Variables and Actions from App instance\n this.Variables = Object.create(this.App.Variables);\n this.Actions = Object.create(this.App.Actions);\n\n // assign all the page variables to the pageInstance\n Object.entries(variableCollection.Variables).forEach(([name, variable]) => this.Variables[name] = variable);\n Object.entries(variableCollection.Actions).forEach(([name, action]) => this.Actions[name] = action);\n\n\n\n const subscription = this.viewInit$.subscribe(noop, noop, () => {\n\n if (!this.appManager.isAppVariablesFired()) {\n variableCollection.callback(this.App.Variables).catch(noop).then(() => {\n this.appManager.notify('app-variables-data-loaded', {pageName: this.pageName});\n });\n variableCollection.callback(this.App.Actions);\n this.appManager.appVariablesReady();\n this.appManager.isAppVariablesFired(true);\n }\n\n variableCollection.callback(variableCollection.Variables)\n .catch(noop)\n .then(() => {\n this.appManager.notify('page-variables-data-loaded', {pageName: this.pageName});\n this.startupVariablesLoaded = true;\n // hide the loader only after the some setTimeout for smooth page load.\n setTimeout(() => {\n this.showPageContent = true;\n }, 100);\n });\n variableCollection.callback(variableCollection.Actions);\n\n subscription.unsubscribe();\n });\n }\n\n setTimezone(locale) {\n this.i18nService.setTimezone(locale, this);\n }\n\n /**\n * function to register bind expressions generated in this page instance\n * getExpressions function is defined in the generated page.comp.ts file\n * @param expressions, map of bind expression vs generated function\n */\n registerExpressions() {\n const expressions = this.getExpressions();\n each(expressions, (fn, expr) => {\n registerFnByExpr(expr, fn[0], fn[1]);\n });\n }\n\n runPageTransition(transition?: string): Promise<void> {\n transition = transition || this.navigationService.getPageTransition();\n const lastPage = BasePageComponent.lastPageSnapShot\n return new Promise<void>(resolve => {\n if (transition\n && !transition.startsWith('none')\n && lastPage) {\n const $target = lastPage.parent();\n const onTransitionEnd = (e) => {\n if (resolve && !(e && e.pseudoElement)) {\n $target.off('animationend', onTransitionEnd);\n $target.removeClass(transition);\n $target.children().first().remove();\n resolve();\n resolve = null;\n }\n };\n transition = 'page-transition page-transition-' + transition;\n lastPage.addClass('page-exit');\n this.$page.addClass('page-entry');\n $target.addClass(transition);\n $target.on('animationend', onTransitionEnd);\n // Wait for a maximum of 1 second for transition to end.\n setTimeout(onTransitionEnd, 1000);\n } else {\n resolve();\n }\n }).then(() => {\n this.$page && this.$page.removeClass('page-entry');\n if (lastPage) {\n lastPage.remove();\n BasePageComponent.lastPageSnapShot = null;\n }\n this.pageTransitionCompleted = true;\n });\n }\n\n invokeOnReady() {\n this.onReady();\n this.appManager.notify('pageReady', {'name' : this.pageName, instance: this});\n (this.App.onPageReady || noop)(this.pageName, this);\n\n const homePage = getWmProjectProperties()?.homePage;\n if (window.top.name !== window.name && homePage === this.pageName) {\n window.top.postMessage({key: 'onHomepageLoad'}, \"*\");\n }\n }\n\n private loadScripts() {\n return new Promise<void>((resolve) => {\n const scriptsRequired = this.pageDirective && this.pageDirective.$element.attr('scripts-to-load');\n if (scriptsRequired) {\n this.scriptLoaderService\n .load(...scriptsRequired.split(','))\n .then(resolve);\n } else {\n resolve();\n }\n });\n }\n\n private restoreLastPageSnapshot() {}\n\n private savePageSnapShot() {\n if (BasePageComponent.lastPageSnapShot) {\n BasePageComponent.lastPageSnapShot.remove();\n }\n }\n\n private saveScrollPosition() {\n const fn = ($el, key, recursive = true, $target = $el) => {\n if (recursive) {\n $el.children().each((i, v) => fn($(v), key));\n }\n const scrollData = {\n x: $target.scrollLeft(),\n y: $target.scrollTop()\n };\n if(scrollData.x > 0 || scrollData.y > 0) {\n $el.attr(key, scrollData.x + ',' + scrollData.y);\n }\n };\n fn(this.$page, 'data-scroll-position');\n this.$page.attr('data-window-scroll-position', window.scrollX + ',' + window.scrollY);\n }\n\n private restoreScrollPosition() {\n const fn = ($el, key, recursive = true, $target = $el) => {\n const scrollData = ($el.attr(key) || '').split(',');\n if(scrollData.length > 1) {\n $target.scrollLeft(scrollData[0]);\n $target.scrollTop(scrollData[1]);\n }\n $el.removeAttr(key);\n if (recursive) {\n $el.children().each((i, v) => fn($(v), key));\n }\n };\n fn(this.$page, 'data-scroll-position');\n fn(this.$page, 'data-window-scroll-position', false, $(window));\n }\n\n /**\n * canDeactivate is called before a route change.\n * This will internally call onBeforePageLeave method present\n * at page level and app level in the application and decide\n * whether to change route or not based on return value.\n */\n @HostListener('window:beforeunload')\n canDeactivate(nextState?: string){\n let retVal;\n // Calling onBeforePageLeave method present at page level\n retVal = this.onBeforePageLeave();\n // Calling onBeforePageLeave method present at app level only if page level method return true\n // or if there is no page level method\n if (retVal !== false ) {\n retVal = (this.App.onBeforePageLeave || noop)(this.App.activePageName, this.App.activePage, nextState);\n }\n return retVal === undefined ? true : retVal;\n }\n\n ngAfterViewInit(): void {\n this.route.snapshot.data[CACHE_PAGE] = this.canReuse();\n if (this.pageDirective) {\n this.$page = this.pageDirective.$element.parent();\n if (isIos()) {\n this.$page.addClass('ios-page');\n }\n if (isAndroid()) {\n this.$page.addClass('android-page');\n }\n }\n this.restoreLastPageSnapshot();\n this.loadScripts().then(() => {\n this.runPageTransition()\n .then(() => {\n (this as any).compilePageContent = true;\n setTimeout(() => {\n this.onPageContentReady = () => {\n this.fragmentsLoaded$.subscribe(noop, noop, () => {\n this.invokeOnReady();\n });\n unMuteWatchers();\n this.viewInit$.complete();\n this.onPageContentReady = noop;\n };\n }, 0);\n });\n });\n }\n\n ngOnDestroy(): void {\n // MEMORY LEAK FIX: Unwatch all Page-scoped watchers for THIS specific page when page is destroyed\n //this.captureApplicationThumbnail();\n this.savePageSnapShot();\n\n if (this.destroy$) {\n this.destroy$.complete();\n this.destroy$ = null;\n }\n if (this.viewInit$ && !this.viewInit$.closed) {\n this.viewInit$.complete();\n this.viewInit$ = null;\n }\n\n this.App = null;\n this.route = null;\n this.appManager = null;\n this.navigationService = null;\n this.router = null;\n this.pageParams = null;\n this.i18nService = null;\n this.appLocale = null;\n this.pageDirective = null;\n this.$page = null;\n this.scriptLoaderService = null;\n this.Viewport = null;\n\n this.cleanupFragmentMonitor();\n }\n\n captureApplicationThumbnail() {\n const root = this;\n let captureApplicationThumbnail = localStorage.getItem(\"captureApplicationThumbnail\") === \"true\" ? true : false;\n if (captureApplicationThumbnail && this.App.landingPageName === this.pageName && !(<any>this).App.isApplicationThumbnailCaptured) {\n html2canvas(document.body)\n .then(canvas => {\n try {\n (<any>root).App.isApplicationThumbnailCaptured = true;\n const screenshotUrl = canvas.toDataURL(\"image/png\");\n console.log(screenshotUrl);\n\n const a = document.createElement(\"a\");\n a.href = screenshotUrl;\n a.download = \"screenshot.jpg\";\n a.click();\n } catch (error) {\n console.error('Error in html2canvas then block:', error);\n }\n })\n .catch(error => {\n console.error('Error in html2canvas promise:', error);\n });\n\n }\n }\n\n onReady() {}\n\n onBeforePageReady() {}\n\n onBeforePageLeave() {}\n\n onPageContentReady() {}\n\n canReuse() {\n return !!(this.pageDirective && this.pageDirective.cache);\n }\n\n mute() {\n const m = o => { o && o.mute && o.mute(); };\n each(this.Widgets, m);\n each(this.Variables, m);\n each(this.Actions, m);\n }\n\n unmute(c = this) {\n const um = o => { o && o.unmute && o.unmute(); };\n each(this.Widgets, um);\n each(this.Variables, um);\n each(this.Actions, um);\n }\n\n ngOnAttach() {\n this.route.snapshot.data[CACHE_PAGE] = this.canReuse();\n this.registerPageParams();\n this.App.lastActivePageName = this.App.activePageName;\n this.App.activePageName = this.pageName;\n this.App.activePage = this;\n this.activePageName = this.pageName;\n this.restoreLastPageSnapshot();\n this.unmute();\n // expose current page widgets on app\n (this.App as any).Widgets = Object.create(this.Widgets);\n if(this.pageDirective && this.pageDirective.refreshdataonattach) {\n const refresh = v => { v && v.startUpdate && v.invoke && v.invoke(); };\n each(this.Variables, refresh);\n each(this.Actions, refresh);\n }\n this.runPageTransition().then(() => {\n setTimeout(() => this.restoreScrollPosition(), 100);\n each(this.Widgets, w => w && w.ngOnAttach && w.ngOnAttach());\n this.appManager.notify('pageAttach', {'name' : this.pageName, instance: this});\n });\n }\n\n ngOnDetach() {\n this.saveScrollPosition();\n this.savePageSnapShot();\n this.mute();\n each(this.Widgets, w => w && w.ngOnDetach && w.ngOnDetach());\n this.appManager.notify('pageDetach', {'name' : this.pageName, instance: this});\n }\n\n ngAfterContentInit() {\n this.onBeforePageReady();\n }\n\n static clear() {\n if(BasePageComponent.lastPageSnapShot) {\n BasePageComponent.lastPageSnapShot.remove();\n BasePageComponent.lastPageSnapShot = null;\n }\n }\n}\n","import {\n AfterViewInit,\n Injector,\n OnDestroy,\n ViewChild,\n Directive,\n inject\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport {Subject} from 'rxjs';\n\nimport {\n $invokeWatchers,\n AbstractI18nService,\n AbstractNavigationService,\n App,\n noop,\n Viewport,\n ScriptLoaderService,\n UtilsService,\n registerFnByExpr,\n $watch,\n isIE, isDefined\n} from '@wm/core';\nimport {getWidgetPropsByType, WidgetRef} from '@wm/components/base';\nimport { PageDirective, SpaPageDirective } from '@wm/components/page';\nimport {PrefabDirective} from '@wm/components/prefab';\nimport { VariablesService } from '@wm/variables';\nimport { CustomwidgetConfigProvider } from '../types/types';\nimport { FragmentMonitor } from '../util/fragment-monitor';\nimport { AppManagerService } from '../services/app.manager.service';\nimport {commonPartialWidgets} from \"./base-partial.component\";\nimport {capitalize, forEach} from \"lodash-es\";\nimport {CheckboxsetComponent} from \"@wm/components/input/checkboxset\";\nimport {RadiosetComponent} from \"@wm/components/input/radioset\";\n\ndeclare const _;\n\n// export const commonPartialWidgets = {};\n\n@Directive()\nexport abstract class BaseCustomWidgetComponent extends FragmentMonitor implements AfterViewInit, OnDestroy {\n Widgets: any;\n BaseWidget: any = {};\n Variables: any;\n Actions: any;\n App: App;\n injector: Injector;\n customWidgetName: string;\n activePageName: string;\n route: ActivatedRoute;\n appManager: AppManagerService;\n navigationService: AbstractNavigationService;\n router: Router;\n props: any;\n containerWidget: any;\n i18nService: AbstractI18nService;\n appLocale: any;\n // @ViewChild(PartialDirective) partialDirective;\n pageDirective: PageDirective | SpaPageDirective;\n Prefab: PrefabDirective;\n scriptLoaderService: ScriptLoaderService;\n customwidgetConfigProvider: CustomwidgetConfigProvider;\n Viewport: Viewport;\n compileContent = false;\n spa: boolean;\n events: any;\n\n destroy$ = new Subject();\n viewInit$ = new Subject();\n private viewParent: any;\n\n abstract evalUserScript(prefabContext: any, appContext: any, utils: any);\n\n abstract getVariables();\n\n getContainerWidgetInjector() {\n return this.containerWidget.inj || this.containerWidget.injector;\n }\n\n init() {\n let resolveFn: Function;\n const promise = new Promise((res)=> resolveFn = res)\n this.App = this.injector ? this.injector.get(App) : inject(App);\n //making the code compatible in both the JIT and AOT modes\n this.containerWidget = this.injector ? this.injector.get(WidgetRef) : inject(WidgetRef);\n this.i18nService = this.injector ? this.injector.get(AbstractI18nService) : inject(AbstractI18nService);\n this.scriptLoaderService = this.injector ? this.injector.get(ScriptLoaderService) : inject(ScriptLoaderService);\n this.Viewport = this.injector ? this.injector.get(Viewport) : inject(Viewport);\n this.customwidgetConfigProvider = this.injector ? this.injector.get(CustomwidgetConfigProvider) : inject(CustomwidgetConfigProvider);\n // this.viewContainerRef = this.getContainerWidgetInjector().get(ViewContainerRef);\n // Replacing this.getContainerWidgetInjector().view.component as viewParent\n // this.viewParent = (this.viewContainerRef as any).parentInjector._lView[8];\n this.viewParent = this.containerWidget.viewParent;\n\n if (this.viewParent.registerFragment) {\n this.viewParent.registerFragment();\n }\n\n // register functions for binding evaluation\n this.registerExpressions();\n this.initUserScript();\n this.registerPropsInContainerWidget(resolveFn);\n // Using promise to make sure the props are registered in the container widget before registering events, Otherwise no events will be registered\n promise.then(() => this.registerEvents());\n\n this.registerWidgets();\n this.initVariables();\n\n this.activePageName = this.App.activePageName; // Todo: remove this\n this.registerProps();\n this.defineI18nProps();\n\n this.viewInit$.subscribe(noop, noop, () => {\n this.props = this.containerWidget.props;\n });\n\n if(this.spa) {\n // Resolve optionally because custom widgets can initialize before a page exists\n this.pageDirective = this.injector ? this.injector.get(SpaPageDirective, null) : (inject as any)(SpaPageDirective, { optional: true });\n } else {\n this.pageDirective = this.injector ? this.injector.get(PageDirective, null) : (inject as any)(PageDirective, { optional: true });\n }\n if (this.pageDirective) {\n this.registerDestroyListener(this.pageDirective.subscribe('attach', data => this.ngOnAttach(data.refreshData)));\n this.registerDestroyListener(this.pageDirective.subscribe('detach', () => this.ngOnDetach()));\n }\n this.containerWidget.onErroSubject.asObservable().subscribe(() => {\n if(this['onValidStatusChange'])\n return this['onValidStatusChange']();\n });\n super.init();\n }\n\n registerWidgets() {\n // common partial widgets should be accessible from page\n this.Widgets = Object.create(commonPartialWidgets);\n\n // expose current page widgets on app\n (this.App as any).Widgets = Object.create(this.Widgets);\n }\n\n initializeComponentData(children) {\n Array.from(children).forEach((child: any) => {\n if(!child.hasAttribute('wmcustomwidget'))\n this.initializeComponentData(child.children);\n else {\n const asAttr = child.getAttribute('as') || '';\n if (!asAttr) {\n return;\n }\n let baseWidget, splitArr = asAttr.split('-'), modifiedArr = [];\n modifiedArr = splitArr.map((item: any) => {\n item = item !== 'wm' ? capitalize(item) : item;\n return item;\n });\n baseWidget = modifiedArr.join('');\n switch (baseWidget) {\n case 'wmCheckboxset':\n this[baseWidget] = new CheckboxsetComponent(this.injector, undefined);\n this[baseWidget][\"_select\"] = (item: any, $event: any) => {\n const keys = [];\n forEach(this[baseWidget].datasetItems, (datasetItem: any) => {\n if(datasetItem.key === item.key)\n datasetItem.selected = !datasetItem.selected;\n\n if(datasetItem.selected)\n keys.push(datasetItem.key);\n });\n this[baseWidget].triggerInvokeOnChange(keys, $event);\n }\n break;\n case 'wmRadioset':\n this[baseWidget] = new RadiosetComponent(this.injector, undefined);\n this[baseWidget][\"_select\"] = (item: any, $event: any) => {\n this[baseWidget].triggerInvokeOnChange(item.key, $event);\n }\n break;\n }\n\n for (let [key, value] of this.containerWidget.$attrs) {\n if(key.startsWith('base-')) {\n let modifiedKey = key.replace('base-', '');\n this[baseWidget][modifiedKey] = value;\n\n if(modifiedKey === 'datavalue' && this.containerWidget.formControl)\n this.containerWidget.updateDataValue(value);\n }\n }\n this[baseWidget].initDatasetItems();\n this.containerWidget[baseWidget] = this[baseWidget];\n }\n });\n }\n\n registerBaseWidget() {\n this.initializeComponentData(this.containerWidget.nativeElement.children);\n }\n\n invokeEvent = (eventName: string) => {\n this.events[eventName]();\n }\n\n registerEvents() {\n this.events = {};\n this.containerWidget.eventHandlers.forEach((callback: any, key: string) => {\n this.events[key] = (...args) => {\n this.containerWidget.invokeEventCallback(key, {$event: args[0], $data: args[1]});\n };\n });\n }\n\n registerDestroyListener(fn: Function) {\n this.destroy$.subscribe(noop, noop, () => fn());\n }\n\n registerChangeListeners() {\n this.containerWidget.registerPropertyChangeListener(this.onPropertyChange);\n this.containerWidget.registerStyleChangeListener(this.onPropertyChange);\n }\n\n get datavalue() {\n if(this['getDatavalue'])\n return this['getDatavalue']();\n }\n\n set datavalue(value) {\n this.datavalue = value;\n }\n\n initUserScript() {\n try {\n // partials inside prefab should have access to Prefab properties and events\n if (this.viewParent.prefabName) {\n // for partial within partial within prefabs, just assign the parent partial's prefab object\n if (this.viewParent.Prefab) {\n this.Prefab = this.viewParent.Prefab;\n } else {\n this.Prefab = this.viewParent;\n }\n }\n this.evalUserScript(this, this.App, this.injector ? this.injector.get(UtilsService) : inject(UtilsService));\n } catch (e) {\n console.error(`Error in evaluating partial (${this.customWidgetName}) script\\n`, e);\n }\n }\n\n initVariables() {\n const variablesService = this.injector ? this.injector.get(VariablesService) : inject(VariablesService);\n\n // get variables and actions instances for the page\n const variableCollection = variablesService.register(this.customWidgetName, this.getVariables(), this);\n\n // create namespace for Variables nad Actions on page/partial, which inherits the Variables and Actions from App instance\n this.Variables = Object.create(this.App.Variables);\n this.Actions = Object.create(this.App.Actions);\n\n this.containerWidget.Variables = this.Variables;\n this.containerWidget.Actions = this.Actions;\n\n // assign all the page variables to the pageInstance\n Object.entries(variableCollection.Variables).forEach(([name, variable]) => this.Variables[name] = variable);\n Object.entries(variableCollection.Actions).forEach(([name, action]) => this.Actions[name] = action);\n\n\n this.viewInit$.subscribe(noop, noop, () => {\n // TEMP: triggering watchers so variables watching over params are updated\n $invokeWatchers(true, true);\n variableCollection.callback(variableCollection.Variables).catch(noop);\n variableCollection.callback(variableCollection.Actions);\n });\n }\n\n /**\n * function to register bind expressions generated in this partial instance\n * getExpressions function is defined in the generated page.comp.ts file\n * @param expressions, map of bind expression vs generated function\n */\n registerExpressions() {\n // const expressions = this.getExpressions();\n // _.each(expressions, (fn, expr)=>{\n // registerFnByExpr(expr, fn[0], fn[1]);\n // });\n }\n\n registerProps() {\n this.props = this.containerWidget.props;\n }\n\n defineI18nProps() {\n this.appLocale = this.i18nService.getAppLocale();\n }\n\n invokeOnReady() {\n let params;\n if (this.containerWidget.userComponentParams) {\n params = this.containerWidget.userComponentParams;\n }\n this.onReady(params);\n if (this.viewParent.resolveFragment) {\n this.viewParent.resolveFragment();\n }\n }\n\n private loadScripts() {\n // return new Promise<void>((resolve) => {\n // const scriptsRequired = this.partialDirective.$element.attr('scripts-to-load');\n // if (scriptsRequired) {\n // this.scriptLoaderService\n // .load(...scriptsRequired.split(','))\n // .then(resolve);\n // } else {\n // resolve();\n // }\n // });\n }\n registerPropsInContainerWidget(resolveFn: Function) {\n this.customwidgetConfigProvider.getConfig(this.customWidgetName).then((config) => {\n if (config) {\n Object.entries((config.properties || {})).forEach(([key, prop]: [string, any]) => {\n let expr;\n const value = _.trim(prop.value);\n\n if (_.startsWith(value, 'bind:')) {\n expr = value.replace('bind:', '');\n }\n\n Object.defineProperty(this, key, {\n get: () => this.containerWidget[key],\n set: nv => this.containerWidget.widget[key] = nv\n });\n\n if (expr) {\n //[Todo-CSP]: expr will be generated with prefab.comp.expr.ts\n this.registerDestroyListener(\n $watch(expr, this, {}, nv => this.containerWidget.widget[key] = nv)\n );\n }\n })\n }\n this.containerWidget.setProps(config, resolveFn);\n // Reassigning the proxy handler for prefab inbound properties as we\n // will get them only after the prefab config call.\n if (isIE()) {\n this.containerWidget.widget = this.containerWidget.createProxy();\n }\n })\n }\n\n mute() {\n const m = o => { o && o.mute && o.mute(); };\n _.each(this.Widgets, m);\n _.each(this.Variables, m);\n _.each(this.Actions, m);\n }\n\n unmute() {\n const um = o => { o && o.unmute && o.unmute(); };\n _.each(this.Widgets, um);\n _.each(this.Variables, um);\n _.each(this.Actions, um);\n }\n\n // ngOnInit() {\n // this.init();\n // }\n\n ngAfterViewInit(): void {\n this.registerChangeListeners();\n this.registerBaseWidget();\n setTimeout(() => {\n this.viewInit$.complete();\n this.fragmentsLoaded$.subscribe(noop, noop, () => this.invokeOnReady());\n }, 100);\n }\n\n ngOnDestroy(): void {\n // MEMORY LEAK FIX: Complete Subjects to release subscriptions\n if (this.destroy$ && !this.destroy$.closed) {\n this.destroy$.complete();\n this.destroy$ = null;\n }\n if (this.viewInit$ && !this.viewInit$.closed) {\n this.viewInit$.complete();\n this.viewInit$ = null;\n }\n\n if (this.fragmentsLoaded$ && !this.fragmentsLoaded$.closed) {\n this.fragmentsLoaded$.complete();\n this.fragmentsLoaded$ = null;\n }\n // MEMORY LEAK FIX: Clear references to prevent memory leaks\n this.Widgets = null;\n this.BaseWidget = null;\n this.Variables = null;\n this.Actions = null;\n this.App = null;\n this.containerWidget = null;\n this.i18nService = null;\n this.appLocale = null;\n this.pageDirective = null;\n this.Prefab = null;\n this.scriptLoaderService = null;\n this.customwidgetConfigProvider = null;\n this.Viewport = null;\n this.route = null;\n this.appManager = null;\n this.navigationService = null;\n this.router = null;\n this.props = null;\n this.events = null;\n this.viewParent = null;\n\n // MEMORY LEAK FIX: Cleanup FragmentMonitor resources\n this.cleanupFragmentMonitor();\n }\n\n ngOnAttach(refreshData) {\n this.unmute();\n if (refreshData) {\n const refresh = v => { v && v.startUpdate && v.invoke && v.invoke(); };\n _.each(this.Variables, refresh);\n _.each(this.Actions, refresh);\n }\n _.each(this.Widgets, w => w && w.ngOnAttach && w.ngOnAttach());\n }\n\n ngOnDetach() {\n this.mute();\n _.each(this.Widgets, w => w && w.ngOnDetach && w.ngOnDetach());\n }\n\n // user overrides this\n onPropertyChange() { }\n\n onReady(params?) {\n }\n}\n","import { Injector, inject, OnDestroy, ViewChild, Directive, AfterViewChecked } from '@angular/core';\nimport { Subject } from 'rxjs';\n\nimport {\n $watch,\n AbstractI18nService,\n App,\n isIE,\n noop,\n ScriptLoaderService,\n UtilsService,\n $invokeWatchers,\n Viewport,\n registerFnByExpr\n} from '@wm/core';\nimport { WidgetRef} from '@wm/components/base';\nimport { PageDirective, SpaPageDirective } from '@wm/components/page';\nimport { PrefabContainerDirective } from '@wm/components/prefab';\nimport { VariablesService } from '@wm/variables';\n\nimport { PrefabManagerService } from '../services/prefab-manager.service';\nimport { FragmentMonitor } from '../util/fragment-monitor';\nimport {each, startsWith, trim} from \"lodash-es\";\n\n@Directive()\nexport abstract class BasePrefabComponent extends FragmentMonitor implements AfterViewChecked, OnDestroy {\n Widgets: any;\n Variables: any;\n Actions: any;\n App: App;\n injector: Injector;\n containerWidget: any;\n prefabMngr: PrefabManagerService;\n displayName: string;\n prefabName: string;\n i18nService: AbstractI18nService;\n appLocale: any;\n @ViewChild(PrefabContainerDirective, { static: false }) prefabContainerDirective?: PrefabContainerDirective;\n scriptLoaderService: ScriptLoaderService;\n compileContent = false;\n pageDirective: PageDirective | SpaPageDirective;\n Viewport: Viewport;\n spa: boolean;\n private scriptsLoaded = false;\n\n destroy$ = new Subject();\n viewInit$ = new Subject();\n\n private viewParent: any;\n\n abstract evalUserScript(prefabContext: any, appContext: any, utils: any);\n abstract getVariables();\n abstract getExpressions();\n\n getContainerWidgetInjector() {\n return this.containerWidget.inj || this.containerWidget.injector;\n }\n\n init() {\n this.App = this.injector.get(App);\n //making the code compatible in both the JIT and AOT modes\n this.containerWidget = this.injector ? this.injector.get(WidgetRef) : inject(WidgetRef);\n\n this.prefabMngr = this.injector ? this.injector.get(PrefabManagerService) : inject(PrefabManagerService);\n this.i18nService = this.injector ? this.injector.get(AbstractI18nService) : inject(AbstractI18nService);\n this.scriptLoaderService = this.injector ? this.injector.get(ScriptLoaderService) : inject(ScriptLoaderService);\n this.Viewport = this.injector ? this.injector.get(Viewport) : inject(Viewport);\n\n this.viewParent = this.containerWidget.viewParent;\n\n if (this.viewParent.registerFragment) {\n this.viewParent.registerFragment();\n }\n\n if (this.spa) {\n // Resolve optionally because prefabs can initialize before a page exists\n this.pageDirective = this.injector ? this.injector.get(SpaPageDirective, null) : (inject as any)(SpaPageDirective, { optional: true });\n } else {\n this.pageDirective = this.injector ? this.injector.get(PageDirective, null) : (inject as any)(PageDirective, { optional: true });\n }\n if (this.pageDirective) {\n this.registerDestroyListener(this.pageDirective.subscribe('attach', data => this.ngOnAttach(data.refreshData)));\n this.registerDestroyListener(this.pageDirective.subscribe('detach', () => this.ngOnDetach()));\n }\n\n // register functions for binding evaluation\n this.registerExpressions();\n this.initUserScript();\n\n this.registerWidgets();\n this.initVariables();\n this.registerProps();\n this.defineI18nProps();\n super.init();\n }\n\n registerWidgets() {\n this.Widgets = {};\n this.containerWidget.Widgets = this.Widgets;\n }\n\n initUserScript() {\n try {\n this.evalUserScript(this, this.App, this.injector.get(UtilsService));\n } catch (e) {\n console.error(`Error in evaluating prefab (${this.prefabName}) script\\n`, e);\n }\n }\n\n registerChangeListeners() {\n this.containerWidget.registerPropertyChangeListener(this.onPropertyChange);\n this.containerWidget.registerStyleChangeListener(this.onPropertyChange);\n }\n\n registerDestroyListener(fn: Function) {\n this.destroy$.subscribe(noop, noop, () => fn());\n }\n\n defineI18nProps() {\n this.appLocale = this.i18nService.getPrefabLocaleBundle(this.prefabName);\n }\n\n registerProps() {\n this.prefabMngr.getConfig(this.prefabName)\n .then(config => {\n\n if (config) {\n this.displayName = config.displayName;\n Object.entries((config.properties || {}))\n .forEach(([key, prop]: [string, any]) => {\n let expr;\n const value = trim(prop.value);\n\n if (startsWith(value, 'bind:')) {\n expr = value.replace('bind:', '');\n }\n\n Object.defineProperty(this, key, {\n get: () => this.containerWidget[key],\n set: nv => this.containerWidget.widget[key] = nv\n });\n\n if (expr) {\n //[Todo-CSP]: expr will be generated with prefab.comp.expr.ts\n this.registerDestroyListener(\n $watch(expr, this, {}, nv => this.containerWidget.widget[key] = nv)\n );\n }\n });\n\n Object.entries((config.events || {}))\n .forEach(([key, prop]: [string, any]) => {\n this[key] = (...args) => {\n const eventName = key.substr(2).toLowerCase();\n this.containerWidget.invokeEventCallback(eventName, {$event: args[0], $data: args[1]});\n };\n });\n\n Object.entries((config.methods || {}))\n .forEach(([key, prop]: [string, any]) => {\n this.containerWidget[key] = (...args) => {\n try {\n if (this[key]) {\n return this[key].apply(this, args);\n }\n } catch (e) {\n console.warn(`error in executing prefab-${this.prefabName} method-${key}`);\n }\n };\n });\n }\n this.containerWidget.setProps(config);\n // Reassigning the proxy handler for prefab inbound properties as we\n // will get them only after the prefab config call.\n if (isIE()) {\n this.containerWidget.widget = this.containerWidget.createProxy();\n }\n });\n }\n\n initVariables() {\n const variablesService = this.injector.get(VariablesService);\n\n // get variables and actions instances for the page\n const variableCollection = variablesService.register(this.prefabName, this.getVariables(), this);\n\n // create namespace for Variables nad Actions on page/partial, which inherits the Variables and Actions from App instance\n this.Variables = {};\n this.Actions = {};\n this.containerWidget.Variables = this.Variables;\n this.containerWidget.Actions = this.Actions;\n\n // assign all the page variables to the pageInstance\n Object.entries(variableCollection.Variables).forEach(([name, variable]) => this.Variables[name] = variable);\n Object.entries(variableCollection.Actions).forEach(([name, action]) => this.Actions[name] = action);\n\n\n this.viewInit$.subscribe(noop, noop, () => {\n variableCollection.callback(variableCollection.Variables).catch(noop);\n variableCollection.callback(variableCollection.Actions);\n });\n }\n\n /**\n * function to register bind expressions generated in this page instance\n * getExpressions function is defined in the generated page.comp.ts file\n * @param expressions, map of bind expression vs generated function\n */\n registerExpressions() {\n const expressions = this.getExpressions();\n each(expressions, (fn, expr) => {\n registerFnByExpr(expr, fn[0], fn[1]);\n });\n }\n\n invokeOnReady() {\n // triggering watchers so variables and propertiers watching over an expression are updated\n $invokeWatchers(true, true);\n this.onReady();\n if (this.viewParent.resolveFragment) {\n this.viewParent.resolveFragment();\n }\n this.containerWidget.invokeEventCallback('load');\n }\n\n private loadScripts() {\n return new Promise<void>((resolve) => {\n if (!this.prefabContainerDirective) {\n resolve();\n return;\n }\n\n const scriptsRequired = this.prefabContainerDirective.$element.attr('scripts-to-load');\n if (scriptsRequired) {\n this.scriptLoaderService\n .load(...scriptsRequired.split(','))\n .then(resolve);\n } else {\n resolve();\n }\n });\n }\n\n mute() {\n const m = o => { o && o.mute && o.mute(); };\n each(this.Widgets, m);\n each(this.Variables, m);\n each(this.Actions, m);\n }\n\n unmute() {\n const um = o => { o && o.unmute && o.unmute(); };\n each(this.Widgets, um);\n each(this.Variables, um);\n each(this.Actions, um);\n }\n\n ngOnAttach(refreshData) {\n this.unmute();\n if(refreshData) {\n const refresh = v => { v && v.startUpdate && v.invoke && v.invoke(); };\n each(this.Variables, refresh);\n each(this.Actions, refresh);\n }\n each(this.Widgets, w => w && w.ngOnAttach && w.ngOnAttach());\n }\n\n ngOnDetach() {\n this.mute();\n each(this.Widgets, w => w && w.ngOnDetach && w.ngOnDetach());\n }\n\n ngAfterViewChecked(): void {\n if (!this.scriptsLoaded && this.prefabContainerDirective) {\n this.scriptsLoaded = true;\n this.loadScripts().then(() => {\n this.compileContent = true;\n this.registerChangeListeners();\n setTimeout(() => {\n // trigger viewInit$.complete after a timeout so that the widget listeners are ready before Variable xhr call.\n this.viewInit$.complete();\n this.fragmentsLoaded$.subscribe(noop, noop, () => this.invokeOnReady());\n }, 100);\n });\n }\n }\n\n ngOnDestroy(): void {\n if (this.destroy$) {\n this.destroy$.complete();\n this.destroy$ = null;\n }\n if (this.viewInit$ && !this.viewInit$.closed) {\n this.viewInit$.complete();\n this.viewInit$ = null;\n }\n\n this.App = null;\n this.containerWidget = null;\n this.prefabMngr = null;\n this.i18nService = null;\n this.appLocale = null;\n this.prefabContainerDirective = null;\n this.scriptLoaderService = null;\n this.pageDirective = null;\n this.Viewport = null;\n this.viewParent = null;\n\n this.cleanupFragmentMonitor();\n }\n\n // user overrides this\n onPropertyChange() {}\n\n onReady() {}\n\n}\n","import {AfterViewInit, Directive, Injector, OnDestroy, ViewChild} from '@angular/core';\nimport {ActivatedRoute, RouterOutlet} from '@angular/router';\n\nimport {PageDirective} from \"@wm/components/page\";\nimport {App, registerFnByExpr} from \"@wm/core\";\nimport {each, extend} from \"lodash-es\";\n\n@Directive()\nexport abstract class BaseLayoutComponent implements AfterViewInit, OnDestroy {\n injector: Injector;\n App: App;\n layoutName: string;\n layoutPages: string[];\n\n @ViewChild(RouterOutlet) routerOutlet: RouterOutlet;\n @ViewChild(PageDirective) pageDirective: PageDirective;\n\n abstract getExpressions();\n\n /**\n * function to register bind expressions generated in this page instance\n * getExpressions function is defined in the generated page.comp.ts file\n * @param expressions, map of bind expression vs generated function\n */\n registerExpressions() {\n const expressions = this.getExpressions();\n each(expressions, (fn, expr) => {\n registerFnByExpr(expr, fn[0], fn[1]);\n });\n }\n\n private overrideRouterOutlet() {\n //override the attach/detach methods\n const oAttach = this.routerOutlet.attach;\n const oDetach = this.routerOutlet.detach;\n this.routerOutlet.attach = (componentRef: any, activatedRoute: ActivatedRoute) => {\n oAttach.call(this.routerOutlet, componentRef, activatedRoute);\n componentRef.instance.ngOnAttach();\n };\n this.routerOutlet.detach = () => {\n const componentRef = oDetach.call(this.routerOutlet);\n return componentRef;\n };\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.overrideRouterOutlet();\n }, 10);\n }\n\n init() {\n this.App = this.injector.get(App);\n this.App.activeLayoutName = this.layoutName;\n this.App.layoutPages = this.layoutPages;\n\n // register functions for binding evaluation\n this.registerExpressions();\n }\n\n //TODO: To work cache properly need to implement the below methods and WmRouteReuseStrategy\n ngOnDestroy(): void {\n // MEMORY LEAK FIX: Clear references to prevent memory leaks\n this.App = null;\n this.routerOutlet = null;\n this.pageDirective = null;\n this.layoutPages = null;\n this.layoutName = null;\n }\n\n canReuse() {\n }\n\n ngOnAttach() {\n }\n\n ngOnDetach() {\n }\n\n // This will be called when child route (Page component in the layout) is activated\n onActivate(pageComponent: any) {\n //Add page component scope to layout component so that bindings and watchers in the layout will use the page scope\n extend(this, pageComponent);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n APP_ID,\n inject,\n Inject,\n Injectable,\n Renderer2,\n RendererFactory2,\n RendererStyleFlags2,\n RendererType2,\n ViewEncapsulation\n} from '@angular/core';\n\nimport {EventManager, ɵSharedStylesHost} from '@angular/platform-browser';\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/common';\n\nexport const NAMESPACE_URIS: {[ns: string]: string} = {\n 'svg': 'http://www.w3.org/2000/svg',\n 'xhtml': 'http://www.w3.org/1999/xhtml',\n 'xlink': 'http://www.w3.org/1999/xlink',\n 'xml': 'http://www.w3.org/XML/1998/namespace',\n 'xmlns': 'http://www.w3.org/2000/xmlns/',\n 'math': 'http://www.w3.org/1998/MathML/',\n};\n\nconst COMPONENT_REGEX = /%COMP%/g;\nconst NG_DEV_MODE = false;\n\nexport const COMPONENT_VARIABLE = '%COMP%';\nexport const HOST_ATTR = `_nghost-${COMPONENT_VARIABLE}`;\nexport const CONTENT_ATTR = `_ngcontent-${COMPONENT_VARIABLE}`;\n\nexport function shimContentAttribute(componentShortId: string): string {\n return CONTENT_ATTR.replace(COMPONENT_REGEX, componentShortId);\n}\n\nexport function shimHostAttribute(componentShortId: string): string {\n return HOST_ATTR.replace(COMPONENT_REGEX, componentShortId);\n}\n\nexport function flattenStyles(\n compId: string, styles: Array<any|any[]>, target: string[]): string[] {\n for (let i = 0; i < styles.length; i++) {\n let style = styles[i];\n\n if (Array.isArray(style)) {\n flattenStyles(compId, style, target);\n } else {\n style = style.replace(COMPONENT_REGEX, compId);\n target.push(style);\n }\n }\n return target;\n}\n\nfunction decoratePreventDefault(eventHandler: Function): Function {\n // `DebugNode.triggerEventHandler` needs to know if the listener was created with\n // decoratePreventDefault or is a listener added outside the Angular context so it can handle the\n // two differently. In the first case, the special '__ngUnwrap__' token is passed to the unwrap\n // the listener (see below).\n return (event: any) => {\n // Ivy uses '__ngUnwrap__' as a special token that allows us to unwrap the function\n // so that it can be invoked programmatically by `DebugNode.triggerEventHandler`. The debug_node\n // can inspect the listener toString contents for the existence of this special token. Because\n // the token is a string literal, it is ensured to not be modified by compiled code.\n if (event === '__ngUnwrap__') {\n return eventHandler;\n }\n\n const allowDefaultBehavior = eventHandler(event);\n if (allowDefaultBehavior === false) {\n // TODO(tbosch): move preventDefault into event plugins...\n event.preventDefault();\n event.returnValue = false;\n }\n\n return undefined;\n };\n}\n\nlet hasLoggedNativeEncapsulationWarning = false;\n\n@Injectable()\nexport class WMDomRendererFactory2 implements RendererFactory2 {\n private rendererByCompId = new Map<string, Renderer2>();\n private defaultRenderer: Renderer2;\n\n constructor(\n private eventManager: EventManager, private sharedStylesHost: ɵSharedStylesHost,\n @Inject(APP_ID) private appId: string, @Inject(DOCUMENT) private readonly doc: Document,) {\n this.defaultRenderer = new WMDefaultDomRenderer2(eventManager, doc);\n }\n\n createRenderer(element: any, type: RendererType2|null): Renderer2 {\n if (!element || !type) {\n return this.defaultRenderer;\n }\n switch (type.encapsulation) {\n case ViewEncapsulation.Emulated: {\n let renderer = this.rendererByCompId.get(type.id);\n if (!renderer) {\n renderer = new EmulatedEncapsulationDomRenderer2(\n this.eventManager, this.sharedStylesHost, type, this.appId, this.doc);\n this.rendererByCompId.set(type.id, renderer);\n }\n (<EmulatedEncapsulationDomRenderer2>renderer).applyToHost(element);\n return renderer;\n }\n // @ts-ignore TODO: Remove as part of FW-2290. TS complains about us dealing with an enum\n // value that is not known (but previously was the value for ViewEncapsulation.Native)\n case 1:\n case ViewEncapsulation.ShadowDom:\n // TODO(FW-2290): remove the `case 1:` fallback logic and the warning in v12.\n if (NG_DEV_MODE &&\n // @ts-ignore TODO: Remove as part of FW-2290. TS complains about us dealing with an\n // enum value that is not known (but previously was the value for\n // ViewEncapsulation.Native)\n !hasLoggedNativeEncapsulationWarning && type.encapsulation === 1) {\n hasLoggedNativeEncapsulationWarning = true;\n console.warn(\n 'ViewEncapsulation.Native is no longer supported. Falling back to ViewEncapsulation.ShadowDom. The fallback will be removed in v12.');\n }\n\n return new ShadowDomRenderer(this.eventManager, this.sharedStylesHost, element, type, this.doc);\n default: {\n if (!this.rendererByCompId.has(type.id)) {\n const styles = flattenStyles(type.id, type.styles, []);\n this.sharedStylesHost.addStyles(styles);\n this.rendererByCompId.set(type.id, this.defaultRenderer);\n }\n return this.defaultRenderer;\n }\n }\n }\n\n begin() {}\n end() {}\n}\n\nclass WMDefaultDomRenderer2 implements Renderer2 {\n data: {[key: string]: any} = Object.create(null);\n constructor(private eventManager: EventManager, @Inject(DOCUMENT) protected readonly doc: Document,) {}\n\n destroy(): void {}\n\n destroyNode = null;\n\n createElement(name: string, namespace?: string): any {\n if (namespace) {\n // TODO: `|| namespace` was added in\n // https://github.com/angular/angular/commit/2b9cc8503d48173492c29f5a271b61126104fbdb to\n // support how Ivy passed around the namespace URI rather than short name at the time. It did\n // not, however extend the support to other parts of the system (setAttribute, setAttribute,\n // and the ServerRenderer). We should decide what exactly the semantics for dealing with\n // namespaces should be and make it consistent.\n // Related issues:\n // https://github.com/angular/angular/issues/44028\n // https://github.com/angular/angular/issues/44883\n return document.createElementNS(NAMESPACE_URIS[namespace] || namespace, name);\n }\n\n return document.createElement(name);\n }\n\n createComment(value: string): any {\n return document.createComment(value);\n }\n\n createText(value: string): any {\n return document.createTextNode(value);\n }\n\n appendChild(parent: any, newChild: any): void {\n const targetParent = isTemplateNode(parent) ? parent.content : parent;\n targetParent.appendChild(newChild);\n }\n\n insertBefore(parent: any, newChild: any, refChild: any): void {\n if (parent) {\n const targetParent = isTemplateNode(parent) ? parent.content : parent;\n targetParent.insertBefore(newChild, refChild);\n }\n }\n\n removeChild(_parent: any, oldChild: any): void {\n oldChild.remove();\n }\n\n selectRootElement(selectorOrNode: string|any, preserveContent?: boolean): any {\n let el: any = typeof selectorOrNode === 'string' ? document.querySelector(selectorOrNode) :\n selectorOrNode;\n if (!el) {\n throw new Error(`The selector \"${selectorOrNode}\" did not match any elements`);\n }\n if (!preserveContent) {\n el.textContent = '';\n }\n return el;\n }\n\n parentNode(node: any): any {\n return node.parentNode;\n }\n\n nextSibling(node: any): any {\n return node.nextSibling;\n }\n\n resetStyles(element: any): void {\n const styleList = [].slice.call(element);\n styleList.forEach(function (propertyName) {\n element.style.removeProperty(propertyName);\n });\n }\n\n applyStyles(element, styleString): void {\n if (styleString) {\n const styles = styleString.split(';');\n styles.forEach(function (styleBit) {\n const parts = styleBit.split(':');\n let property, value;\n if (parts.length === 2) {\n property = parts[0].trim();\n value = parts[1].trim();\n\n element.style[property] = value;\n }\n });\n return styleString;\n }\n }\n\n setAttribute(el: any, name: string, value: string, namespace?: string): void {\n if (namespace) {\n name = namespace + ':' + name;\n const namespaceUri = NAMESPACE_URIS[namespace];\n if (namespaceUri) {\n el.setAttributeNS(namespaceUri, name, value);\n } else {\n el.setAttribute(name, value);\n }\n } else {\n if (name === 'style') {\n this.resetStyles(el);\n this.applyStyles(el, value);\n } else {\n el.setAttribute(name, value);\n }\n }\n }\n\n removeAttribute(el: any, name: string, namespace?: string): void {\n if (namespace) {\n const namespaceUri = NAMESPACE_URIS[namespace];\n if (namespaceUri) {\n el.removeAttributeNS(namespaceUri, name);\n } else {\n el.removeAttribute(`${namespace}:${name}`);\n }\n } else {\n el.removeAttribute(name);\n }\n }\n\n addClass(el: any, name: string): void {\n el.classList.add(name);\n }\n\n removeClass(el: any, name: string): void {\n el.classList.remove(name);\n }\n\n setStyle(el: any, style: string, value: any, flags: RendererStyleFlags2): void {\n if (flags & (RendererStyleFlags2.DashCase | RendererStyleFlags2.Important)) {\n el.style.setProperty(style, value, flags & RendererStyleFlags2.Important ? 'important' : '');\n } else {\n el.style[style] = value;\n }\n }\n\n removeStyle(el: any, style: string, flags: RendererStyleFlags2): void {\n if (flags & RendererStyleFlags2.DashCase) {\n el.style.removeProperty(style);\n } else {\n // IE requires '' instead of null\n // see https://github.com/angular/angular/issues/7916\n el.style[style] = '';\n }\n }\n\n setProperty(el: any, name: string, value: any): void {\n // Animation properties (starting with @) are handled by Angular's animation engine,\n // not the DOM renderer. Since WMDomRendererFactory2 overrides the AnimationRendererFactory,\n // we must silently ignore them here to avoid crashes from ngx-bootstrap etc.\n if (name && name.charCodeAt(0) === AT_CHARCODE) {\n return;\n }\n NG_DEV_MODE && checkNoSyntheticProp(name, 'property');\n if (el != null) {\n el[name] = value;\n }\n }\n\n setValue(node: any, value: string): void {\n node.nodeValue = value;\n }\n\n listen(target: 'window'|'document'|'body'|any, event: string, callback: (event: any) => boolean):\n () => void {\n // Animation events (starting with @) are handled by the animation engine.\n // Since WMDomRendererFactory2 overrides AnimationRendererFactory, ignore them here.\n if (event && event.charCodeAt(0) === AT_CHARCODE) {\n return () => {};\n }\n (typeof NG_DEV_MODE === 'undefined' || NG_DEV_MODE) && checkNoSyntheticProp(event, 'listener');\n if (typeof target === 'string') {\n target = getDOM().getGlobalEventTarget(this.doc, target);\n if (!target) {\n throw new Error(`Unsupported event target ${target} for event ${event}`);\n }\n }\n return <() => void>this.eventManager.addEventListener(\n target, event, decoratePreventDefault(callback)) as () => void;\n }\n}\n\nconst AT_CHARCODE = (() => '@'.charCodeAt(0))();\nfunction checkNoSyntheticProp(name: string, nameKind: string) {\n if (name.charCodeAt(0) === AT_CHARCODE) {\n throw new Error(`Unexpected synthetic ${nameKind} ${name} found. Please make sure that:\n - Either \\`BrowserAnimationsModule\\` or \\`NoopAnimationsModule\\` are imported in your application.\n - There is corresponding configuration for the animation named \\`${\n name}\\` defined in the \\`animations\\` field of the \\`@Component\\` decorator (see https://angular.io/api/core/Component#animations).`);\n }\n}\n\nfunction isTemplateNode(node: any): node is HTMLTemplateElement {\n return node.tagName === 'TEMPLATE' && node.content !== undefined;\n}\n\nclass EmulatedEncapsulationDomRenderer2 extends WMDefaultDomRenderer2 {\n private contentAttr: string;\n private hostAttr: string;\n\n constructor(\n eventManager: EventManager, sharedStylesHost: ɵSharedStylesHost,\n private component: RendererType2, appId: string, @Inject(DOCUMENT) protected readonly doc: Document) {\n super(eventManager, doc);\n const styles = flattenStyles(appId + '-' + component.id, component.styles, []);\n sharedStylesHost.addStyles(styles);\n\n this.contentAttr = shimContentAttribute(appId + '-' + component.id);\n this.hostAttr = shimHostAttribute(appId + '-' + component.id);\n }\n\n applyToHost(element: any) {\n super.setAttribute(element, this.hostAttr, '');\n }\n\n createElement(parent: any, name: string): Element {\n const el = super.createElement(parent, name);\n super.setAttribute(el, this.contentAttr, '');\n return el;\n }\n}\n\nclass ShadowDomRenderer extends WMDefaultDomRenderer2 {\n private shadowRoot: any;\n\n constructor(\n eventManager: EventManager, private sharedStylesHost: ɵSharedStylesHost,\n private hostEl: any, component: RendererType2, @Inject(DOCUMENT) protected readonly doc: Document,) {\n super(eventManager, doc);\n this.shadowRoot = (hostEl as any).attachShadow({mode: 'open'});\n this.sharedStylesHost.addHost(this.shadowRoot);\n const styles = flattenStyles(component.id, component.styles, []);\n for (let i = 0; i < styles.length; i++) {\n const styleEl = document.createElement('style');\n styleEl.textContent = styles[i];\n this.shadowRoot.appendChild(styleEl);\n }\n }\n\n private nodeOrShadowRoot(node: any): any {\n return node === this.hostEl ? this.shadowRoot : node;\n }\n\n destroy() {\n this.sharedStylesHost.removeHost(this.shadowRoot);\n }\n\n appendChild(parent: any, newChild: any): void {\n return super.appendChild(this.nodeOrShadowRoot(parent), newChild);\n }\n insertBefore(parent: any, newChild: any, refChild: any): void {\n return super.insertBefore(this.nodeOrShadowRoot(parent), newChild, refChild);\n }\n removeChild(_parent: any, oldChild: any): void {\n return super.removeChild(null, oldChild);\n }\n parentNode(node: any): any {\n return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(node)));\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/common';\nimport {Inject, Injectable, OnDestroy} from '@angular/core';\n\n@Injectable()\nexport class SharedStylesHost {\n /** @internal */\n protected _stylesSet = new Set<string>();\n\n addStyles(styles: string[]): void {\n const additions = new Set<string>();\n styles.forEach(style => {\n if (!this._stylesSet.has(style)) {\n this._stylesSet.add(style);\n additions.add(style);\n }\n });\n this.onStylesAdded(additions);\n }\n\n onStylesAdded(additions: Set<string>): void {}\n\n getAllStyles(): string[] {\n return Array.from(this._stylesSet);\n }\n}\n@Injectable()\nexport class WMDomSharedStylesHost extends SharedStylesHost implements OnDestroy {\n // Maps all registered host nodes to a list of style nodes that have been added to the host node.\n private _hostNodes = new Map<Node, Node[]>();\n\n constructor(@Inject(DOCUMENT) private _doc: any) {\n super();\n this._hostNodes.set(_doc.head, []);\n }\n\n private _addStylesToHost(styles: Set<string>, host: Node, styleNodes: Node[]): void {\n const nonce = document.querySelector('meta[name=\"CSP-NONCE\"]')?.getAttribute('content') || 'wm-csp-nonce';\n styles.forEach((style: string) => {\n const styleEl = this._doc.createElement('style');\n styleEl.textContent = style;\n styleEl.setAttribute('nonce', nonce); //WM: add nonce\n styleNodes.push(host.appendChild(styleEl));\n });\n }\n\n addHost(hostNode: Node): void {\n const styleNodes: Node[] = [];\n this._addStylesToHost(this._stylesSet, hostNode, styleNodes);\n this._hostNodes.set(hostNode, styleNodes);\n }\n\n removeHost(hostNode: Node): void {\n const styleNodes = this._hostNodes.get(hostNode);\n if (styleNodes) {\n styleNodes.forEach(removeStyle);\n }\n this._hostNodes.delete(hostNode);\n }\n\n onStylesAdded(additions: Set<string>): void {\n this._hostNodes.forEach((styleNodes, hostNode) => {\n this._addStylesToHost(additions, hostNode, styleNodes);\n });\n }\n\n ngOnDestroy(): void {\n this._hostNodes.forEach(styleNodes => styleNodes.forEach(removeStyle));\n }\n}\n\nfunction removeStyle(styleNode: Node): void {\n getDOM().remove(styleNode);\n}\n","import { AfterViewInit, HostListener, Injector, OnDestroy, ViewChild, Directive, AfterContentInit, inject } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { isAndroid, isIos, Viewport, ScriptLoaderService, registerFnByExpr } from '@wm/core';\nimport { LayoutDirective, SpaPageDirective } from '@wm/components/page';\n\nimport {Subject} from 'rxjs';\n\nimport {\n AbstractI18nService,\n AbstractNavigationService,\n App,\n muteWatchers,\n noop,\n unMuteWatchers,\n UtilsService\n} from '@wm/core';\nimport { commonPartialWidgets } from './base-partial.component';\n\n\nimport { VariablesService } from '@wm/variables';\nimport { AppManagerService } from '../services/app.manager.service';\nimport { FragmentMonitor } from '../util/fragment-monitor';\nimport { CACHE_PAGE } from '../util/wm-route-reuse-strategy';\nimport {each, extend} from \"lodash-es\";\n\ndeclare const $;\n\n@Directive()\nexport abstract class BaseSpaPageComponent extends FragmentMonitor implements AfterViewInit, OnDestroy, AfterContentInit {\n static lastPageSnapShot = null;\n Widgets: any;\n Variables: any;\n Actions: any;\n App: App;\n injector: Injector;\n pageName: string;\n activePageName: string;\n route: ActivatedRoute;\n appManager: AppManagerService;\n navigationService: AbstractNavigationService;\n router: Router;\n pageParams: any;\n showPageContent: boolean;\n i18nService: AbstractI18nService;\n appLocale: any;\n startupVariablesLoaded = false;\n pageTransitionCompleted = false;\n layoutDirective: LayoutDirective;\n @ViewChild(SpaPageDirective) spaPageDirective;\n $page;\n scriptLoaderService: ScriptLoaderService;\n Viewport: Viewport;\n\n destroy$ = new Subject();\n viewInit$ = new Subject();\n formatsByLocale = {'timezone': ''};\n\n abstract evalUserScript(prefabContext: any, appContext: any, utils: any);\n abstract getVariables();\n abstract getExpressions();\n\n init() {\n\n muteWatchers();\n\n this.App = this.injector ? this.injector.get(App) : inject(App);\n this.route = this.injector ? this.injector.get(ActivatedRoute) : inject(ActivatedRoute);\n this.appManager = this.injector ? this.injector.get(AppManagerService) : inject(AppManagerService);\n this.navigationService = this.injector ? this.injector.get(AbstractNavigationService) : inject(AbstractNavigationService);\n this.scriptLoaderService = this.injector ? this.injector.get(ScriptLoaderService) : inject(ScriptLoaderService);\n this.i18nService = this.injector ? this.injector.get(AbstractI18nService) : inject(AbstractI18nService);\n this.router = this.injector ? this.injector.get(Router) : inject(Router);\n this.Viewport = this.injector ? this.injector.get(Viewport) : inject(Viewport);\n this.layoutDirective = this.injector ? this.injector.get(LayoutDirective) : inject(LayoutDirective);\n\n // register functions for binding evaluation\n this.registerExpressions();\n this.initUserScript();\n\n this.registerWidgets();\n this.initVariables();\n\n this.App.lastActivePageName = this.App.activePageName;\n this.App.activePageName = this.pageName;\n this.App.activePage = this;\n this.activePageName = this.pageName; // Todo: remove this\n\n this.registerPageParams();\n this.defineI18nProps();\n super.init();\n }\n\n registerWidgets() {\n // common partial widgets should be accessible from page\n this.Widgets = Object.create(commonPartialWidgets);\n\n // expose current page widgets on app\n (this.App as any).Widgets = Object.create(this.Widgets);\n }\n\n initUserScript() {\n try {\n this.evalUserScript(this, this.App, this.injector ? this.injector.get(UtilsService) : inject(UtilsService));\n } catch (e) {\n console.error(`Error in evaluating page (${this.pageName}) script\\n`, e);\n }\n }\n\n registerPageParams() {\n const subscription = this.route.queryParams.subscribe(params => this.pageParams = (this.App as any).pageParams = extend({}, params));\n this.registerDestroyListener(() => subscription.unsubscribe());\n }\n\n registerDestroyListener(fn: Function) {\n this.destroy$.subscribe(noop, noop, () => fn());\n }\n\n defineI18nProps() {\n this.appLocale = this.i18nService.getAppLocale();\n }\n\n initVariables() {\n const variablesService = this.injector ? this.injector.get(VariablesService) : inject(VariablesService);\n\n // get variables and actions instances for the page\n const variableCollection = variablesService.register(this.pageName, this.getVariables(), this);\n\n // create namespace for Variables nad Actions on page/partial, which inherits the Variables and Actions from App instance\n this.Variables = Object.create(this.App.Variables);\n this.Actions = Object.create(this.App.Actions);\n\n // assign all the page variables to the pageInstance\n Object.entries(variableCollection.Variables).forEach(([name, variable]) => this.Variables[name] = variable);\n Object.entries(variableCollection.Actions).forEach(([name, action]) => this.Actions[name] = action);\n\n\n\n const subscription = this.viewInit$.subscribe(noop, noop, () => {\n\n if (!this.appManager.isAppVariablesFired()) {\n variableCollection.callback(this.App.Variables).catch(noop).then(() => {\n this.appManager.notify('app-variables-data-loaded', {pageName: this.pageName});\n });\n variableCollection.callback(this.App.Actions);\n this.appManager.appVariablesReady();\n this.appManager.isAppVariablesFired(true);\n }\n\n variableCollection.callback(variableCollection.Variables)\n .catch(noop)\n .then(() => {\n this.appManager.notify('page-variables-data-loaded', {pageName: this.pageName});\n this.startupVariablesLoaded = true;\n // hide the loader only after the some setTimeout for smooth page load.\n setTimeout(() => {\n this.showPageContent = true;\n }, 100);\n });\n variableCollection.callback(variableCollection.Actions);\n\n subscription.unsubscribe();\n });\n }\n\n setTimezone(locale) {\n this.i18nService.setTimezone(locale, this);\n }\n\n /**\n * function to register bind expressions generated in this page instance\n * getExpressions function is defined in the generated page.comp.ts file\n * @param expressions, map of bind expression vs generated function\n */\n registerExpressions() {\n const expressions = this.getExpressions();\n each(expressions, (fn, expr) => {\n registerFnByExpr(expr, fn[0], fn[1]);\n });\n }\n\n runPageTransition(transition?: string): Promise<void> {\n transition = transition || this.navigationService.getPageTransition();\n const lastPage = BaseSpaPageComponent.lastPageSnapShot\n return new Promise<void>(resolve => {\n if (transition\n && !transition.startsWith('none')\n && lastPage) {\n const $target = lastPage.parent();\n const onTransitionEnd = (e) => {\n if (resolve && !(e && e.pseudoElement)) {\n $target.off('animationend', onTransitionEnd);\n $target.removeClass(transition);\n $target.children().first().remove();\n resolve();\n resolve = null;\n }\n };\n transition = 'page-transition page-transition-' + transition;\n lastPage.addClass('page-exit');\n this.$page.addClass('page-entry');\n $target.addClass(transition);\n $target.on('animationend', onTransitionEnd);\n // Wait for a maximum of 1 second for transition to end.\n setTimeout(onTransitionEnd, 1000);\n } else {\n resolve();\n }\n }).then(() => {\n this.$page && this.$page.removeClass('page-entry');\n if (lastPage) {\n lastPage.remove();\n BaseSpaPageComponent.lastPageSnapShot = null;\n }\n this.pageTransitionCompleted = true;\n });\n }\n\n invokeOnReady() {\n this.onReady();\n this.appManager.notify('highlightActiveLink', {'pageName' : this.pageName});\n this.appManager.notify('pageReady', {'name' : this.pageName, instance: this});\n (this.App.onPageReady || noop)(this.pageName, this);\n }\n\n private loadScripts() {\n return new Promise<void>((resolve) => {\n const scriptsRequired = this.spaPageDirective && this.spaPageDirective.$element.attr('scripts-to-load');\n\n if (scriptsRequired) {\n this.scriptLoaderService\n .load(...scriptsRequired.split(','))\n .then(resolve);\n } else {\n resolve();\n }\n });\n }\n\n private restoreLastPageSnapshot() {}\n\n private savePageSnapShot() {\n if (BaseSpaPageComponent.lastPageSnapShot) {\n BaseSpaPageComponent.lastPageSnapShot.remove();\n }\n }\n\n private saveScrollPosition() {\n const fn = ($el, key, recursive = true, $target = $el) => {\n if (recursive) {\n $el.children().each((i, v) => fn($(v), key));\n }\n const scrollData = {\n x: $target.scrollLeft(),\n y: $target.scrollTop()\n };\n if(scrollData.x > 0 || scrollData.y > 0) {\n $el.attr(key, scrollData.x + ',' + scrollData.y);\n }\n };\n fn(this.$page, 'data-scroll-position');\n this.$page.attr('data-window-scroll-position', window.scrollX + ',' + window.scrollY);\n }\n\n private restoreScrollPosition() {\n const fn = ($el, key, recursive = true, $target = $el) => {\n const scrollData = ($el.attr(key) || '').split(',');\n if(scrollData.length > 1) {\n $target.scrollLeft(scrollData[0]);\n $target.scrollTop(scrollData[1]);\n }\n $el.removeAttr(key);\n if (recursive) {\n $el.children().each((i, v) => fn($(v), key));\n }\n };\n fn(this.$page, 'data-scroll-position');\n fn(this.$page, 'data-window-scroll-position', false, $(window));\n }\n\n /**\n * canDeactivate is called before a route change.\n * This will internally call onBeforePageLeave method present\n * at page level and app level in the application and decide\n * whether to change route or not based on return value.\n */\n @HostListener('window:beforeunload')\n canDeactivate(nextState?: string){\n let retVal;\n // Calling onBeforePageLeave method present at page level\n retVal = this.onBeforePageLeave();\n // Calling onBeforePageLeave method present at app level only if page level method return true\n // or if there is no page level method\n if (retVal !== false ) {\n retVal = (this.App.onBeforePageLeave || noop)(this.App.activePageName, this.App.activePage, nextState);\n }\n return retVal === undefined ? true : retVal;\n }\n\n ngAfterViewInit(): void {\n this.route.snapshot.data[CACHE_PAGE] = this.canReuse();\n if (this.layoutDirective) {\n this.$page = this.layoutDirective.$element.parent();\n if (isIos()) {\n this.$page.addClass('ios-page');\n }\n if (isAndroid()) {\n this.$page.addClass('android-page');\n }\n }\n this.restoreLastPageSnapshot();\n this.loadScripts().then(() => {\n this.runPageTransition()\n .then(() => {\n (this as any).compilePageContent = true;\n setTimeout(() => {\n this.onPageContentReady = () => {\n this.fragmentsLoaded$.subscribe(noop, noop, () => {\n this.invokeOnReady();\n });\n unMuteWatchers();\n this.viewInit$.complete();\n this.onPageContentReady = noop;\n };\n }, 0);\n });\n });\n }\n\n ngOnDestroy(): void {\n this.savePageSnapShot();\n\n // MEMORY LEAK FIX: Complete Subjects to release subscriptions\n if (this.destroy$ && !this.destroy$.closed) {\n this.destroy$.complete();\n this.destroy$ = null;\n }\n // Complete all subjects to prevent memory leaks\n if (this.viewInit$ && !this.viewInit$.closed) {\n this.viewInit$.complete();\n this.viewInit$ = null;\n }\n if (this.fragmentsLoaded$ && !this.fragmentsLoaded$.closed) {\n this.fragmentsLoaded$.complete();\n this.fragmentsLoaded$ = null;\n }\n\n this.App = null;\n this.route = null;\n this.appManager = null;\n this.navigationService = null;\n this.router = null;\n this.pageParams = null;\n this.i18nService = null;\n this.appLocale = null;\n this.layoutDirective = null;\n this.spaPageDirective = null;\n this.$page = null;\n this.scriptLoaderService = null;\n this.Viewport = null;\n\n this.cleanupFragmentMonitor();\n }\n\n onReady() {}\n\n onBeforePageReady() {}\n\n onBeforePageLeave() {}\n\n onPageContentReady() {}\n\n canReuse() {\n return !!(this.spaPageDirective && this.spaPageDirective.cache);\n }\n\n mute() {\n const m = o => { o && o.mute && o.mute(); };\n each(this.Widgets, m);\n each(this.Variables, m);\n each(this.Actions, m);\n }\n\n unmute(c = this) {\n const um = o => { o && o.unmute && o.unmute(); };\n each(this.Widgets, um);\n each(this.Variables, um);\n each(this.Actions, um);\n }\n\n ngOnAttach() {\n this.route.snapshot.data[CACHE_PAGE] = this.canReuse();\n this.registerPageParams();\n this.App.lastActivePageName = this.App.activePageName;\n this.App.activePageName = this.pageName;\n this.App.activePage = this;\n this.activePageName = this.pageName;\n this.restoreLastPageSnapshot();\n this.unmute();\n // expose current page widgets on app\n (this.App as any).Widgets = Object.create(this.Widgets);\n if(this.spaPageDirective && this.spaPageDirective.refreshdataonattach) {\n const refresh = v => { v && v.startUpdate && v.invoke && v.invoke(); };\n each(this.Variables, refresh);\n each(this.Actions, refresh);\n }\n this.runPageTransition().then(() => {\n setTimeout(() => this.restoreScrollPosition(), 100);\n each(this.Widgets, w => w && w.ngOnAttach && w.ngOnAttach());\n this.appManager.notify('pageAttach', {'name' : this.pageName, instance: this});\n });\n this.appManager.notify('highlightActiveLink', {'pageName': this.pageName});\n }\n\n ngOnDetach() {\n this.saveScrollPosition();\n this.savePageSnapShot();\n this.mute();\n each(this.Widgets, w => w && w.ngOnDetach && w.ngOnDetach());\n this.appManager.notify('pageDetach', {'name' : this.pageName, instance: this});\n }\n\n ngAfterContentInit() {\n this.onBeforePageReady();\n }\n\n static clear() {\n if(BaseSpaPageComponent.lastPageSnapShot) {\n BaseSpaPageComponent.lastPageSnapShot.remove();\n BaseSpaPageComponent.lastPageSnapShot = null;\n }\n }\n}\n","import {Directive, Inject, Injector, Input, OnDestroy, Optional, TemplateRef, ViewContainerRef} from '@angular/core';\n\nimport {SecurityService} from '@wm/security';\nimport {extend, get, includes, split, trim} from \"lodash-es\";\n\nenum USER_ROLE {\n EVERYONE = 'Everyone',\n ANONYMOUS = 'Anonymous',\n AUTHENTICATED = 'Authenticated'\n}\n\n@Directive({\n standalone: true,\n selector: '[accessroles]'\n})\nexport class AccessrolesDirective implements OnDestroy {\n\n private processed = false;\n private readonly isUserAuthenticated;\n private readonly userRoles;\n private context: any = {}; // Changed from readonly to allow cleanup\n private securityEnabled: boolean;\n\n constructor(\n private templateRef: TemplateRef<any>,\n private viewContainerRef: ViewContainerRef,\n private securityService: SecurityService,\n private inj: Injector,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n const securityConfig = this.securityService.get();\n this.securityEnabled = get(securityConfig, 'securityEnabled');\n this.isUserAuthenticated = get(securityConfig, 'authenticated');\n this.userRoles = get(securityConfig, 'userInfo.userRoles');\n extend(this.context, (inj as any)._lView[8], explicitContext);\n }\n\n /**\n * Returns array of roles from comma separated string of roles\n * Handles encoded commas\n * @param val\n * @returns {any}\n */\n private getWidgetRolesArrayFromStr(val) {\n const UNICODE_COMMA_REGEX = /&#44;/g;\n\n val = val || '';\n if (val === '') {\n return [];\n }\n // replace the unicode equivalent of comma with comma\n return split(val, ',').map(function (v) {\n return trim(v).replace(UNICODE_COMMA_REGEX, ',');\n });\n }\n\n /**\n * Returns true if roles in first arrays is\n * @param widgetRoles\n * @param userRoles\n * @returns {any}\n */\n private matchRoles(widgetRoles, userRoles) {\n return widgetRoles.some(function (item) {\n return includes(userRoles, item);\n });\n }\n\n /**\n * Decides whether the current logged in user has access to widget or not\n * @param widgetRoles\n * @param userRoles\n * @returns {any}\n */\n private hasAccessToWidget(widgetRoles, userRoles) {\n // access the widget when 'Everyone' is chosen\n if (includes(widgetRoles, USER_ROLE.EVERYONE)) {\n return true;\n }\n\n // access the widget when 'Anonymous' is chosen and user is not authenticated\n if (includes(widgetRoles, USER_ROLE.ANONYMOUS) && !this.isUserAuthenticated) {\n return true;\n }\n\n // access the widget when 'Only Authenticated Users' is chosen and user is authenticated\n if (includes(widgetRoles, USER_ROLE.AUTHENTICATED) && this.isUserAuthenticated) {\n return true;\n }\n\n // access the widget when widget role and logged in user role matches\n return this.isUserAuthenticated && this.matchRoles(widgetRoles, userRoles);\n }\n\n @Input() set accessroles(roles) {\n // flag to compute the directive only once\n if (this.processed) {\n return;\n }\n\n this.processed = true;\n const widgetRoles = this.getWidgetRolesArrayFromStr(roles);\n const isAccessible = !this.securityEnabled || this.hasAccessToWidget(widgetRoles, this.userRoles);\n if (isAccessible) {\n // [WMS-19294] pass on the previous context as second param.\n this.viewContainerRef.createEmbeddedView(this.templateRef, this.context);\n } else {\n this.viewContainerRef.clear();\n }\n }\n \n ngOnDestroy() {\n // MEMORY LEAK FIX: Clear context to release references to parent scope data\n if (this.context) {\n Object.keys(this.context).forEach(key => {\n delete this.context[key];\n });\n this.context = null;\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { TextContentDirective } from '@wm/components/base';\n\n@Component({\n standalone: true,\n imports: [CommonModule, TextContentDirective],\n selector: 'app-spinner',\n template: `\n @if (show) {\n <div class=\"app-spinner\" [ngClass]=\"classname\">\n <div class=\"spinner-message\">\n <i class=\"spinner-image animated infinite fa fa-circle-o-notch fa-spin\"></i>\n <div class=\"spinner-messages\">\n @for (value of spinnermessages; track value) {\n <p [textContent]=\"value\"></p>\n }\n </div>\n </div>\n </div>\n }\n `\n})\nexport class AppSpinnerComponent {\n @Input() show: boolean;\n @Input() spinnermessages: Array<string>;\n @Input() classname: string;\n @Input() arialabel: string;\n constructor() {}\n}\n","import { CommonModule } from '@angular/common';\nimport { AfterViewInit, Component, ViewChild, ViewContainerRef, TemplateRef, OnDestroy } from '@angular/core';\n\nimport { Toast, ToastPackage, ToastrService } from 'ngx-toastr';\n\nimport { $watch, $appDigest } from '@wm/core';\nimport {forEach, isString} from \"lodash-es\";\nimport { ContainerDirective, PartialContainerDirective, PartialParamDirective, PartialParamHandlerDirective } from '@wm/components/base';\n\ndeclare const $;\n\n@Component({\n standalone: true,\n imports: [CommonModule, ContainerDirective, PartialParamHandlerDirective, PartialContainerDirective, PartialParamDirective],\n selector: '[custom-toaster-component]',\n template: `\n <div class=\"parent-custom-toast\"></div>\n <ng-container #customToast></ng-container>\n <ng-template #customToastTmpl>\n <div wmContainer partialContainer content.bind=\"pagename\">\n @for (param of params | keyvalue; track param) {\n <div wmParam hidden\n [name]=\"param.key\" [value]=\"param.value\"></div>\n }\n </div>\n </ng-template>`,\n preserveWhitespaces: false\n})\nexport class CustomToasterComponent extends Toast implements AfterViewInit, OnDestroy {\n\n @ViewChild('customToast', { static: true, read: ViewContainerRef }) customToastRef: ViewContainerRef;\n @ViewChild('customToastTmpl') customToastTmpl: TemplateRef<any>;\n pagename: any;\n watchers: any = [];\n params: any = {};\n\n // constructor is only necessary when not using AoT\n constructor(\n protected toastrService: ToastrService,\n public toastPackage: ToastPackage\n ) {\n super(toastrService, toastPackage);\n this.pagename = this.message || '';\n this.generateParams();\n }\n\n // Generate the params for partial page. If bound, watch the expression and set the value\n generateParams() {\n forEach((<any>this.options).partialParams, (param) => {\n if (isString(param.value) && param.value.indexOf('bind:') === 0) {\n //[Todo-CSP]: bind expr fn should be generated in the toaster action for this\n this.watchers.push($watch(\n param.value.substr(5),\n (<any>this.options).context,\n {},\n nv => {\n this.params[param.name] = nv;\n $appDigest();\n }\n ));\n } else {\n this.params[param.name] = param.value;\n }\n });\n }\n\n async generateDynamicComponent() {\n const $targetLayout = $('.parent-custom-toast');\n\n this.customToastRef.clear();\n\n $targetLayout[0].appendChild(this.customToastRef.createEmbeddedView(this.customToastTmpl).rootNodes[0]);\n }\n\n ngAfterViewInit() {\n this.generateDynamicComponent();\n }\n\n ngOnDestroy() {\n forEach(this.watchers, watcher => watcher());\n super.ngOnDestroy();\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { App, getWmProjectProperties } from '@wm/core';\nimport { SecurityService } from '@wm/security';\n\nimport { AppManagerService } from '../../services/app.manager.service';\n\n@Component({\n standalone: true,\n selector: 'app-empty-page',\n template: '<div></div>'\n})\nexport class EmptyPageComponent implements OnInit {\n\n constructor(\n private route: ActivatedRoute,\n private securityService: SecurityService,\n private router: Router,\n private app: App,\n private appManger: AppManagerService\n ) { }\n\n private parseSearchParams(search: string): Record<string, string> {\n const params: Record<string, string> = {};\n const sp = new URLSearchParams(search);\n sp.forEach((v, k) => params[k] = v);\n return params;\n }\n\n ngOnInit() {\n if (this.app.isPrefabType) {\n // there is only one route\n this.router.navigate(['prefab-preview']);\n } else if (this.app.isApplicationType) {\n this.securityService.getPageByLoggedInUser().then(page => {\n\n // Fix redirect from IDP: move query params from before the hash to after it.\n // Angular with HashLocationStrategy ignores pre-hash query params, so using router.navigate()\n // would produce URLs like .../?param=123#/Main, dropping the params from the router.\n // we manually rebuild the correct and use history.replaceState to rewrite the URL as .../#/Main?param=123,\n // ensuring query params are preserved and Angular routing works correctly.\n const { search, hash, origin, pathname } = window.location;\n const params = this.parseSearchParams(search);\n\n // Detect if params are before hash (i.e. in search) and not already after the hash\n const hasParamsBeforeHash = !!search;\n const hasParamsAfterHash = hash.includes('?');\n\n if (hasParamsBeforeHash && !hasParamsAfterHash) {\n const newUrl = `${origin}${pathname}#/${page}${search}`;\n\n // rewrite URL without reload\n history.replaceState(null, '', newUrl);\n }\n\n this.router.navigate([page], { queryParams: params, replaceUrl: true });\n });\n } else {\n this.router.navigate([getWmProjectProperties().homePage]);\n this.appManger.postAppTypeInfo();\n }\n }\n}\n","import {ChangeDetectorRef, Compiler, Injectable, Injector, KeyValueDiffers, Pipe} from '@angular/core';\nimport {\n AsyncPipe,\n CurrencyPipe,\n DatePipe,\n DecimalPipe,\n I18nPluralPipe,\n I18nSelectPipe,\n JsonPipe,\n KeyValuePipe,\n LowerCasePipe,\n NgLocalization,\n PercentPipe,\n SlicePipe,\n TitleCasePipe,\n UpperCasePipe\n} from '@angular/common'\nimport {\n CustomPipe,\n FileExtensionFromMimePipe,\n FileIconClassPipe,\n FileSizePipe,\n FilterPipe,\n NumberToStringPipe,\n PrefixPipe,\n SanitizePipe,\n StateClassPipe,\n StringToNumberPipe,\n SuffixPipe,\n TemplateReplacePipe,\n TimeFromNowPipe,\n ToCurrencyPipe,\n ToDatePipe,\n ToNumberPipe,\n TrustAsPipe\n} from '@wm/components/base';\nimport {AbstractI18nService, App, CustomPipeManager, getSessionStorageItem} from '@wm/core';\nimport {DomSanitizer} from \"@angular/platform-browser\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PipeProvider {\n _pipeMeta;\n _locale = getSessionStorageItem('selectedLocale') || 'en';\n formatsByLocale;\n preparePipeMeta = (\n reference: Pipe,\n name: string,\n pure: boolean,\n diDeps = []\n ) => ({\n type: { reference, diDeps },\n name,\n pure\n });\n _pipeData = [];\n\n setPipeData() {\n this._pipeData = [\n // TODO | NEED TO BE TESTED\n this.preparePipeMeta(AsyncPipe, 'async', false, [ChangeDetectorRef]),\n this.preparePipeMeta(SlicePipe, 'slice', false),\n this.preparePipeMeta(PercentPipe, 'percent', true, [this._locale]),\n this.preparePipeMeta(I18nPluralPipe, 'i18nPlural', true, [\n NgLocalization\n ]),\n this.preparePipeMeta(I18nSelectPipe, 'i18nSelect', true),\n this.preparePipeMeta(KeyValuePipe, 'keyvalue', false, [\n KeyValueDiffers\n ]),\n this.preparePipeMeta(FileIconClassPipe, 'fileIconClass', true),\n this.preparePipeMeta(\n FileExtensionFromMimePipe,\n 'fileExtensionFromMime',\n true\n ),\n this.preparePipeMeta(StateClassPipe, 'stateClass', true),\n this.preparePipeMeta(FileSizePipe, 'filesize', true),\n // TESTED\n this.preparePipeMeta(FilterPipe, 'filter', true),\n this.preparePipeMeta(UpperCasePipe, 'uppercase', true),\n this.preparePipeMeta(LowerCasePipe, 'lowercase', true),\n this.preparePipeMeta(JsonPipe, 'json', false),\n this.preparePipeMeta(DecimalPipe, 'number', true, [this._locale]),\n this.preparePipeMeta(TitleCasePipe, 'titlecase', true),\n this.preparePipeMeta(CurrencyPipe, 'currency', true, [this._locale]),\n this.preparePipeMeta(DatePipe, 'date', true, [this._locale]),\n this.preparePipeMeta(ToDatePipe, 'toDate', true, [\n new DatePipe(this._locale),\n undefined,\n this.injector.get(App),\n this.injector.get(CustomPipeManager)\n ]),\n this.preparePipeMeta(ToNumberPipe, 'toNumber', true, [\n new DecimalPipe(this._locale),\n this.i18service\n ]),\n this.preparePipeMeta(ToCurrencyPipe, 'toCurrency', true, [\n new DecimalPipe(this._locale),\n this.i18service\n ]),\n this.preparePipeMeta(PrefixPipe, 'prefix', true),\n this.preparePipeMeta(SuffixPipe, 'suffix', true),\n this.preparePipeMeta(TimeFromNowPipe, 'timeFromNow', true),\n this.preparePipeMeta(NumberToStringPipe, 'numberToString', true, [\n new DecimalPipe(this._locale)\n ]),\n this.preparePipeMeta(StringToNumberPipe, 'stringToNumber', true),\n this.preparePipeMeta(CustomPipe, 'custom', true, [this.injector.get(App), this.injector.get(CustomPipeManager)]),\n this.preparePipeMeta(TrustAsPipe, 'trustAs', true, [this.domSanitizer]),\n this.preparePipeMeta(SanitizePipe, 'sanitize', true, [this.domSanitizer]),\n this.preparePipeMeta(TemplateReplacePipe, 'templateReplace', true),\n ];\n }\n\n\n unknownPipe(name) {\n throw Error(`The pipe '${name}' could not be found`);\n }\n\n constructor(private compiler: Compiler, private injector: Injector, private domSanitizer:DomSanitizer, private i18service: AbstractI18nService) {\n this._pipeMeta = new Map();\n this.setPipeData();\n this._pipeData.forEach(v => {\n this._pipeMeta.set(v.name, v);\n });\n this.formatsByLocale = this.i18service? this.i18service.getwidgetLocale() : {};\n }\n\n meta(name) {\n const meta = this._pipeMeta.get(name);\n if (!meta) {\n this.unknownPipe(name);\n }\n return meta;\n }\n\n getPipeNameVsIsPureMap() {\n const _map = new Map();\n this._pipeMeta.forEach((v, k) => {\n _map.set(k, v.pure);\n });\n return _map;\n }\n\n resolveDep(dep) {\n return this.injector.get(dep.token.identifier.reference);\n }\n\n getInstance(name) {\n const {\n type: { reference: ref, diDeps: deps }\n } = this.meta(name);\n if (!ref) {\n this.unknownPipe(name);\n }\n\n if (!deps.length) {\n return new ref();\n } else {\n const args = [];\n for (const dep of deps) {\n args.push(dep);\n }\n return new ref(...args);\n }\n }\n}","import { Injectable } from \"@angular/core\";\nimport { PipeProvider } from \"./pipe-provider.service\";\nimport { App, setPipeProvider } from \"@wm/core\";\n\n@Injectable({ providedIn: 'root' })\nexport class PipeService {\n constructor(private pipeProvider: PipeProvider,\n private $app: App) {\n // setting pipe provider, to be used for variables watcher in expression parser\n setPipeProvider(pipeProvider);\n if(this.$app.isApplicationType) {\n this.supportedPipes.push('custom');\n }\n }\n\n private supportedPipes = [ \"toDate\", \"toCurrency\", \"prefix\", \"suffix\", \"numberToString\", \"stringToNumber\", \"timeFromNow\", \"trustAs\", \"sanitize\"];\n\n public getPipe(name: string) {\n if(this.supportedPipes.includes(name)) {\n return this.pipeProvider.getInstance(name);\n } else {\n throw Error(`The pipe '${name}' could not be found`);\n }\n }\n}\n","import { Injectable, Injector, OnDestroy } from '@angular/core';\nimport { RouteReuseStrategy } from '@angular/router';\n\nimport {\n AbstractDialogService,\n AbstractHttpService,\n AbstractI18nService,\n AbstractSpinnerService,\n AbstractToasterService,\n ConstantService,\n DynamicComponentRefProvider,\n EventNotifier,\n FieldTypeService,\n FieldWidgetService,\n getWmProjectProperties,\n isDefined,\n registerFnByExpr,\n StatePersistence,\n UtilsService,\n Viewport\n} from '@wm/core';\nimport {SecurityService} from '@wm/security';\n\nimport {WmDefaultRouteReuseStrategy} from '../util/wm-route-reuse-strategy';\nimport {PipeService} from \"./pipe.service\";\nimport {each, get, isEmpty, isObject, isString} from \"lodash-es\";\nimport * as momentLib from 'moment-timezone/moment-timezone';\nimport {MODE_CONSTANTS} from '@wm/variables';\n\nconst moment = momentLib.default || window['moment'];\n\nconst injectorMap = {\n DialogService: AbstractDialogService,\n i18nService: AbstractI18nService,\n PipeService: PipeService,\n statePersistence: StatePersistence,\n SpinnerService: AbstractSpinnerService,\n StatePersistenceService: StatePersistence,\n Viewport: Viewport,\n ToasterService: AbstractToasterService,\n Utils: UtilsService,\n CONSTANTS: ConstantService,\n FIELD_TYPE: FieldTypeService,\n FIELD_WIDGET: FieldWidgetService,\n DynamicComponentService: DynamicComponentRefProvider\n};\n\nconst enum PROJECT_TYPE {\n APPLICATION = 'APPLICATION',\n PREFAB = 'PREFAB',\n TEMPLATE_BUNDLE = 'TEMPLATEBUNDLE'\n}\n\nconst noop = (...args) => { };\n\n// Wraps httpService to behave as angular 1.x $http service.\nconst getHttpDependency = function () {\n const httpService = this.httpService;\n const fn = function (key, options?) {\n const args = Array.from(arguments).slice(1);\n return Promise.resolve(httpService[key].apply(httpService, args));\n };\n const $http = function () {\n return fn.apply(undefined, ['send', ...Array.from(arguments)]);\n };\n ['get', 'post', 'head', 'put', 'delete', 'jsonp', 'patch'].forEach(key => $http[key] = fn.bind(undefined, key));\n return $http;\n};\n\n@Injectable()\nexport class AppRef implements OnDestroy {\n Variables: any = {};\n Actions: any = {};\n onAppVariablesReady = noop;\n onBeforeAppReady = noop;\n onSessionTimeout = noop;\n onPageReady = noop;\n onBeforePageLeave = noop;\n onBeforeServiceCall = noop;\n onServiceSuccess = noop;\n onServiceError = noop;\n dynamicComponentContainerRef = {};\n\n projectName: string;\n isPrefabType: boolean;\n isApplicationType: boolean;\n isTabletApplicationType: boolean;\n isTemplateBundleType: boolean;\n isPrism: boolean;\n\n targetPlatform: string;\n\n appLocale: any;\n modes: any;\n\n changeLocale = this.i18nService.setSelectedLocale.bind(this.i18nService);\n getSelectedLocale = this.i18nService.getSelectedLocale.bind(this.i18nService);\n setTimezone = this.i18nService.setTimezone.bind(this.i18nService);\n setwidgetLocale = this.i18nService.setwidgetLocale.bind(this.i18nService);\n\n private _eventNotifier = new EventNotifier();\n private sessionTimeoutUnsubscribe: () => void; // MEMORY LEAK FIX: Store unsubscribe function\n\n landingPageName = getWmProjectProperties().homePage;\n\n reload() {\n window.location.reload();\n }\n\n constructor(\n private inj: Injector,\n private i18nService: AbstractI18nService,\n private statePersistence: StatePersistence,\n private httpService: AbstractHttpService,\n private securityService: SecurityService,\n private routeReuseStrategy: RouteReuseStrategy\n ) {\n\n const wmProjectProperties = getWmProjectProperties();\n\n this.projectName = wmProjectProperties.name;\n this.isPrefabType = wmProjectProperties.type === PROJECT_TYPE.PREFAB;\n this.isApplicationType = wmProjectProperties.type === PROJECT_TYPE.APPLICATION;\n this.isTemplateBundleType = wmProjectProperties.type === PROJECT_TYPE.TEMPLATE_BUNDLE;\n this.targetPlatform = wmProjectProperties.platformType;\n this.isPrism = wmProjectProperties.template === \"PRISM\";\n\n\n // MEMORY LEAK FIX: Store unsubscribe function for cleanup\n this.sessionTimeoutUnsubscribe = this.httpService.registerOnSessionTimeout(this.on401.bind(this));\n\n this.appLocale = this.i18nService.getAppLocale();\n this.httpService.setLocale(this.appLocale);\n }\n\n public clearPageCache(pageName?: string) {\n if (this.routeReuseStrategy instanceof WmDefaultRouteReuseStrategy) {\n (this.routeReuseStrategy as WmDefaultRouteReuseStrategy).reset(pageName);\n }\n }\n\n public notify(eventName: string, ...data: Array<any>) {\n this._eventNotifier.notify.apply(this._eventNotifier, arguments);\n }\n\n public importModule(moduleName: string) {\n if (moduleName === 'moment') {\n return moment;\n }\n else if (moduleName === 'moment-tz-data') {\n return this.i18nService.setTimezoneEarly();\n }\n }\n\n public getDependency(injToken) {\n if (isString(injToken)) {\n if (injToken === 'HttpService') {\n return getHttpDependency.call(this);\n }\n let providerInstance = injectorMap[injToken] && this.inj.get(injectorMap[injToken]);\n if (!providerInstance && this.inj['records']?.values) {\n const values = this.inj['records'].values();\n let next = values?.next();\n while (next && !next.done) {\n if (next?.value?.value?.constructor?.SERVICE_NAME === injToken) {\n return next.value.value;\n }\n next = values.next();\n }\n }\n return providerInstance;\n }\n return this.inj.get(injToken);\n }\n\n /**\n * triggers the onSessionTimeout callback in app.js\n */\n on401() {\n const userInfo = get(this.securityService.get(), 'userInfo');\n // if a previous user exists, a session time out triggered\n if (!isEmpty(userInfo)) {\n this.onSessionTimeout();\n }\n }\n\n public subscribe(eventName, callback: (data: any) => void): () => void {\n return this._eventNotifier.subscribe(eventName, callback);\n }\n\n public notifyApp(template, type, title) {\n const notificationAction = get(this, 'Actions.appNotification');\n const EXCLUDE_NOTIFICATION_MESSAGES = ['PROCESS_REJECTED_IN_QUEUE'];\n const skipDefaultNotification = EXCLUDE_NOTIFICATION_MESSAGES.indexOf(template) !== -1;\n if (notificationAction) {\n // do not notify the error to the app, just throw it in console\n if (skipDefaultNotification) {\n console.warn('App Error', template);\n return;\n }\n type = type || 'success';\n template = notificationAction.getMessage() || template;\n notificationAction.invoke({\n message: template,\n title: isDefined(title) ? title : type.toUpperCase(),\n class: type,\n // If the type is error do not close the toastr\n duration: type.toUpperCase() === 'ERROR' ? 0 : undefined\n });\n } else {\n console.warn('The default Action \"appNotification\" doesn\\'t exist in the app. App notified following error:\\n', template);\n }\n }\n\n /**\n * function to register bind expressions from app variables\n * it will be called from app.js in generated angular app\n * @param expressions, map of bind expression vs generated function\n */\n public registerExpressions(expressions) {\n each(expressions, (fn, expr) => {\n registerFnByExpr(expr, fn[0], fn[1]);\n });\n }\n\n /**\n * Utility method to check if an object has a property\n * This is commonly used in expressions to check object properties\n * @param obj The object to check\n * @param prop The property name to check\n * @returns true if the object has the property, false otherwise\n */\n hasOwnObjectProperty(obj: any, prop: string): boolean {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n setMode(modes: Record<string, string>, shouldPersist = false) {\n const htmlEl = document.getElementsByTagName('html')[0];\n //html element sanity check\n if (!htmlEl) return;\n\n //modes object sanity check\n if (!isObject(modes)) {\n modes = {}\n }\n\n //modes array sanity check\n const modesArr = Object.entries(modes);\n if (!modesArr.length) return;\n\n //loop over modes and set each mode on the html element\n modesArr.forEach(([modeKey, modeValue]) => {\n const isDefault = modeValue === MODE_CONSTANTS.LIGHT || modeValue === MODE_CONSTANTS.DEFAULT;\n\n if (isDefault) {\n htmlEl.removeAttribute(modeKey);\n } else {\n htmlEl.setAttribute(modeKey, modeValue);\n }\n });\n\n //if shoudlPersist is true, set the modes object in the localStorage\n if (shouldPersist) localStorage.setItem('wm-app-modes', JSON.stringify(modes));\n };\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Destroy EventNotifier to release subscribers\n if (this._eventNotifier) {\n this._eventNotifier.destroy();\n this._eventNotifier = null;\n }\n\n // MEMORY LEAK FIX: Unsubscribe from session timeout\n if (this.sessionTimeoutUnsubscribe) {\n this.sessionTimeoutUnsubscribe();\n this.sessionTimeoutUnsubscribe = null;\n }\n\n // MEMORY LEAK FIX: Clear references\n this.Variables = null;\n this.Actions = null;\n this.appLocale = null;\n this.modes = null;\n this.dynamicComponentContainerRef = null;\n }\n}","import { Injectable } from '@angular/core';\n\nimport { ToastrService } from 'ngx-toastr';\n\nimport { AbstractToasterService, isDefined } from '@wm/core';\n\nimport { CustomToasterComponent } from '../components/custom-toaster.component';\nimport {isNumber, isObject, merge} from \"lodash-es\";\n\n@Injectable()\nexport class ToasterServiceImpl extends AbstractToasterService {\n\n constructor(private toaster: ToastrService) {\n super();\n }\n\n private _showToaster (type: string, title: string, desc: string, options?: any) {\n // backward compatibility (in 9.x, 4th param is timeout value).\n if (isNumber(options)) {\n options = {timeOut: options};\n }\n\n options = options || {};\n options.timeOut = isDefined(options.timeOut) ? options.timeOut : 0;\n options.enableHtml = isDefined(options.enableHtml);\n options.positionClass = options.positionClass || 'toast-bottom-right';\n options.toastClass = 'toast';\n // pop the toaster only if either title or description are defined\n if (title || desc) {\n // if the desc is an object, stringify it.\n if (!options.bodyOutputType && isObject(desc)) {\n desc = JSON.stringify(desc);\n }\n const fn = this.toaster[type];\n if (fn) {\n return fn.call(this.toaster, desc, title, options);\n }\n }\n }\n\n public success (title, desc) {\n return this._showToaster('success', title, desc, {timeOut: 5000});\n }\n\n public error (title, desc) {\n return this._showToaster('error', title, desc, {timeOut: 0});\n }\n\n public info (title, desc) {\n return this._showToaster('info', title, desc, {timeOut: 0});\n }\n\n public warn (title, desc) {\n return this._showToaster('warning', title, desc, {timeOut: 0});\n }\n\n public show (type, title, desc, options) {\n return this._showToaster(type, title, desc, options);\n }\n\n public hide (toasterObj) {\n // in studio just ignore the toasterObj and hide all the toasters\n if (!toasterObj) {\n this.toaster.clear();\n return;\n }\n this.toaster.clear(toasterObj.toastId);\n }\n\n public showCustom(page, options) {\n if (!page) {\n return;\n }\n options = options || {};\n options.toastComponent = CustomToasterComponent;\n options.toastClass = 'custom-toaster';\n options.timeOut = isDefined(options.timeOut) ? options.timeOut : 0;\n options.enableHtml = isDefined(options.enableHtml);\n options.positionClass = options.positionClass || 'toast-bottom-right';\n options.toastClass = 'toast';\n return this.toaster.show(page, '', options);\n }\n\n /**\n * Updates the Global Toaster options based on the passed object. Useful in cases where\n * a user wants to display multiple toasts at the same time, newest on bottom etc\n * @param {options} Object\n */\n public setToasterConfig(options) {\n if (isObject(options)) {\n merge(this.toaster.toastrConfig, options);\n } else {\n console.warn('Please pass a valid options object, For Example : {maxOpened: 1, autoDismiss: true}');\n }\n }\n}\n","import { Injectable, Injector } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\n\nimport {\n _WM_APP_PROJECT,\n AbstractI18nService,\n AppDefaults,\n getSessionStorageItem,\n getWmProjectProperties,\n isMobile,\n loadScripts,\n replace,\n setCSS,\n setSessionStorageItem,\n App\n} from '@wm/core';\nimport { CONSTANTS } from '@wm/variables';\nimport {find, forEach, get, includes, intersection, isObject, map, toLower} from \"lodash-es\";\n\nimport * as momentLib from 'moment-timezone/moment-timezone';\nconst moment = momentLib.default || window['moment'];\ndeclare const _WM_APP_PROPERTIES;\n\nconst APP_LOCALE_ROOT_PATH = 'resources/i18n';\nconst RTL_LANGUAGE_CODES = ['ar', 'ar-001', 'ar-ae', 'ar-bh', 'ar-dz', 'ar-eg', 'ar-iq', 'ar-jo', 'ar-kw', 'ar-lb', 'ar-ly',\n 'ar-ma', 'ar-om', 'ar-qa', 'ar-sa', 'ar-sd', 'ar-sy', 'ar-tn', 'ar-ye', 'arc', 'bcc', 'bqi', 'ckb', 'dv', 'fa', 'glk',\n 'he', 'ku', 'mzn', 'pnb', 'ps', 'sd', 'ug', 'ur', 'yi'];\n\n@Injectable()\nexport class I18nServiceImpl extends AbstractI18nService {\n\n private selectedLocale: string;\n private defaultSupportedLocale = 'en';\n private readonly appLocale: any;\n private readonly prefabLocale: Map<String, any>;\n private messages: any;\n private _isAngularLocaleLoaded = false;\n private formatsByLocale = {'timezone': '', 'number': ''};\n private get app() { return this.inj.get(App) };\n\n private bundleLoaded:{[key:string] : any} = {};\n\n constructor(\n private $http: HttpClient,\n private bsLocaleService: BsLocaleService,\n private appDefaults: AppDefaults,\n private inj: Injector\n ) {\n super();\n this.appLocale = {};\n this.prefabLocale = new Map();\n }\n\n private updateLocaleDirection() {\n let direction: 'ltr' | 'rtl' = 'ltr';\n if (RTL_LANGUAGE_CODES.includes(this.selectedLocale)) {\n direction = 'rtl';\n }\n\n setCSS(document.body, 'direction', direction);\n }\n\n private init() {\n this.messages = {};\n\n Object.setPrototypeOf(this.appLocale, this.messages);\n }\n\n public getSelectedLocale(): string {\n return this.selectedLocale;\n }\n\n public getDefaultSupportedLocale(): string {\n return this.defaultSupportedLocale;\n }\n\n public getAppLocale(): any {\n return this.appLocale;\n }\n\n public getPrefabLocaleBundle(prefabName: string): any {\n if (!this.prefabLocale.has(prefabName)) {\n this.prefabLocale.set(prefabName, Object.create(this.appLocale));\n }\n return this.prefabLocale.get(prefabName);\n }\n\n private extendPrefabMessages(messages: any): void {\n if (!messages.prefabMessages) {\n return;\n }\n\n Object.keys(messages.prefabMessages).forEach((prefabName: string) => {\n let bundle = this.prefabLocale.get(prefabName);\n if (!bundle) {\n bundle = Object.create(this.appLocale);\n this.prefabLocale.set(prefabName, bundle);\n }\n Object.assign(bundle, messages.prefabMessages[prefabName]);\n });\n }\n\n private extendMessages(messages: any): void {\n Object.assign(this.messages, messages);\n }\n\n private loadResource(path): Promise<any> {\n return this.$http.get(path)\n .toPromise()\n .catch(() => {\n console.warn(`error loading locale resource from ${path}`);\n Promise.resolve({});\n });\n }\n\n protected loadAppLocaleBundle() {\n const basePath = _WM_APP_PROJECT.isPreview || _WM_APP_PROPERTIES?.languageBundleSources === 'DYNAMIC' ? '' : _WM_APP_PROJECT.cdnUrl\n return this.loadResource( basePath + `${APP_LOCALE_ROOT_PATH}/${this.selectedLocale}.json`)\n .then(bundle => {\n this.extendMessages(bundle.messages);\n this.extendPrefabMessages(bundle);\n this.appDefaults.setFormats(bundle.formats);\n this.bundleLoaded.app = true;\n this.notifyLocaleChanged();\n });\n }\n\n protected loadMomentLocaleBundle(momentLocale) {\n if (this.selectedLocale === this.defaultSupportedLocale) {\n moment.locale(this.defaultSupportedLocale);\n return;\n }\n if (_WM_APP_PROJECT.isPreview) {\n const path = `${_WM_APP_PROJECT.cdnUrl}locales/moment/${momentLocale}.js`;\n loadScripts([path], true).then(()=>{\n this.loadScriptForMoment(momentLocale);\n })\n }\n else{\n this.loadScriptForMoment(momentLocale);\n }\n }\n\n protected loadScriptForMoment(momentLocale){\n moment.locale(this.selectedLocale);\n // For ngx bootstrap locale, get the config from script and apply locale\n // moment.localeData(momentLocale) will return moment locale instance. _config inside will have actual config\n let _config: any = moment.localeData(momentLocale);\n _config = _config && _config._config;\n defineLocale(this.selectedLocale, _config);\n this.bsLocaleService.use(this.getSelectedLocale() || this.defaultSupportedLocale);\n this.bundleLoaded.moment = true;\n this.notifyLocaleChanged();\n }\n\n protected loadAngularLocaleBundle(angLocale) {\n return new Promise<void>(resolve => {\n const _cdnUrl = _WM_APP_PROJECT.cdnUrl || _WM_APP_PROJECT.ngDest;\n if (this.selectedLocale === this.defaultSupportedLocale) {\n resolve();\n return;\n }\n const path = _cdnUrl + `locales/angular/global/${angLocale}.js`;\n\n loadScripts([path], true).then(()=>{\n this._isAngularLocaleLoaded = true;\n resolve();\n }, resolve);\n });\n }\n\n protected loadMomentTimeZoneBundle(): Promise<any> {\n const _cdnUrl = _WM_APP_PROJECT.cdnUrl || _WM_APP_PROJECT.ngDest;\n window['moment'] = moment; //moment-timezone-with-data.js need moment as require('moment') to be available in window\n const path = _cdnUrl + `locales/moment-timezone/moment-timezone-with-data.js`;\n return loadScripts([path], true)\n }\n\n protected loadLocaleBundles(libLocale) {\n if (libLocale.moment) {\n this.loadMomentLocaleBundle(libLocale.moment);\n } else if (this.selectedLocale === this.defaultSupportedLocale) {\n this.bsLocaleService.use(this.getSelectedLocale() || this.defaultSupportedLocale);\n this.bundleLoaded.moment = true;\n }\n if (libLocale.fullCalendar && window['FullCalendar']) {\n this.bundleLoaded.fullCalendar = true;\n this.notifyLocaleChanged();\n } else {\n this.bundleLoaded.fullCalendar = true;\n }\n const promises = [this.loadAngularLocaleBundle(libLocale.angular)];\n if (libLocale.angular) {\n promises.push(this.loadAppLocaleBundle());\n }\n return Promise.all(promises);\n }\n\n public setTimezone(locale, compInstance?) {\n new Promise<void>(resolve => {\n this.loadMomentTimeZoneBundle().then(()=>{\n /**\n * If locale is provided in the form of offset and not timezone name, deduce the name.\n * If locale is provided as GMT+9, name will be deduced as Asia/Tokyo\n */\n\n let localeObj = locale;\n locale = localeObj['timezone'];\n const localeIndex = locale.indexOf('+');\n if (localeIndex > -1) {\n if (localeIndex > 0) {\n locale = locale.substr(localeIndex);\n }\n localeObj['timezone'] = find((moment as any).tz.names(), (timezoneName) => {\n return locale === (moment as any).tz(timezoneName).format('Z');\n });\n }\n (moment as any).tz.setDefault(locale);\n const localeData = compInstance && compInstance.formatsByLocale ? compInstance.formatsByLocale : this.formatsByLocale;\n Object.assign(localeData, localeObj);\n resolve();\n },resolve);\n });\n }\n \n public setTimezoneEarly(): Promise<any> {\n return this.loadMomentTimeZoneBundle()\n }\n\n public getTimezone(compInstance?) {\n const pageConfig = get(this.app, 'activePage.formatsByLocale.timezone');\n const compConfig = get(compInstance, 'formatsByLocale.timezone');\n if (compConfig) {\n return compConfig;\n } else if (pageConfig) {\n return pageConfig;\n } else {\n return this.formatsByLocale['timezone'];\n }\n }\n\n public getFormatsByLocale() {\n return this.formatsByLocale;\n }\n\n public setSelectedLocale(locale) {\n\n // check if the event is propagated from the select or any such widget\n if (isObject(locale)) {\n // @ts-ignore\n locale = locale.datavalue;\n }\n\n const libLocale = getWmProjectProperties().supportedLanguages[locale];\n const supportedLocale = Object.keys(getWmProjectProperties().supportedLanguages);\n\n if (!includes(supportedLocale, locale)) {\n return Promise.resolve();\n }\n\n if (!locale || locale === this.selectedLocale) {\n return Promise.resolve();\n }\n\n setSessionStorageItem('selectedLocale', locale);\n\n this.selectedLocale = locale;\n\n // reset the localeData object\n this.init();\n\n this.bundleLoaded.moment = false;\n this.bundleLoaded.fullCalendar = false;\n this.bundleLoaded.app = false;\n this.bundleLoaded.angular = false;\n this.bundleLoaded.libLocale = libLocale;\n\n // load the locale bundles of the selected locale\n return this.loadLocaleBundles(libLocale).then(() => {\n this.updateLocaleDirection();\n this.bundleLoaded.angular = true;\n this.notifyLocaleChanged();\n });\n }\n\n private deduceAppLocale() {\n // computation to find app default locale\n const _acceptLang = this.getAcceptedLanguages();\n const _defaultLanguage = getWmProjectProperties().defaultLanguage;\n _acceptLang.push(_defaultLanguage);\n\n // checks whether user preference is based on browser set languages or default language set in project\n let preferBrowserLang = getWmProjectProperties().preferBrowserLang;\n if (!preferBrowserLang) { // when preferBrowserLang is not defined, set to its default value\n preferBrowserLang = true;\n } else { // convert stringified boolean values recieved from BE to booleans\n preferBrowserLang= (preferBrowserLang === 'true' || preferBrowserLang === true) ? true : false;\n }\n\n let _supportedLang = Object.keys(getWmProjectProperties().supportedLanguages) || [this.defaultSupportedLocale];\n\n // when preference is given to browser set languages, do not populate _selectedDefaultLang variable\n let _selectedDefaultLang = preferBrowserLang ? undefined : _defaultLanguage;\n\n let _appSupportedLang;\n\n // check for the session storage to load any pre-requested locale\n const _defaultLang = getSessionStorageItem('selectedLocale') || _selectedDefaultLang || _appSupportedLang || intersection(_acceptLang, _supportedLang)[0] || this.defaultSupportedLocale;\n // if the supportedLocale is not available set it to defaultLocale\n _supportedLang = _supportedLang || [_defaultLang];\n\n const defaultLanguage = _defaultLang || _supportedLang[0];\n return defaultLanguage;\n }\n\n public loadDefaultLocale() {\n Date.prototype[\"month\"] = Date.prototype.getMonth;\n const locale = this.deduceAppLocale();\n return this.setSelectedLocale(locale);\n }\n\n public getLocalizedMessage(message, ...args) {\n return replace(this.appLocale[message], args);\n }\n\n // This function returns the accepted languages list\n public getAcceptedLanguages() {\n let languages;\n\n languages = decodeURIComponent(getWmProjectProperties().preferredLanguage || '');\n /**\n * Accept-Language Header will contain set of supported locale, so try splitting the string to proper locale set\n * Ex: en,en-US;q=0.9,de;q=0.6,ar;q=0.2,hi\n *\n * Split the above into [en,en-us,de,ar,hi]\n * @type {Array}\n */\n languages = languages.split(',').map(function(locale) {\n return locale.split(';')[0];\n });\n return map(languages, toLower);\n }\n\n public initCalendarLocale(): Promise<any> {\n return Promise.resolve();\n }\n\n public isAngularLocaleLoaded() {\n return this._isAngularLocaleLoaded;\n }\n\n public setwidgetLocale(locale) {\n this.formatsByLocale['number'] = locale['number'];\n }\n\n public getwidgetLocale() {\n return this.formatsByLocale;\n }\n\n private notifyLocaleChanged() {\n if(this.bundleLoaded.moment && this.bundleLoaded.fullCalendar && this.bundleLoaded.angular && this.bundleLoaded.app) {\n this.app.notify( 'locale-changed', this.bundleLoaded.libLocale);\n }\n }\n\n}\n","import { Injectable, OnDestroy } from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\nimport { AbstractSpinnerService } from '@wm/core';\nimport {findKey, includes, keys, values} from \"lodash-es\";\n\ndeclare const $;\n\nconst spinnerTemplate = `<div class=\"app-spinner\">\n <div class=\"spinner-message\" aria-label=\"loading gif\">\n <i class=\"spinner-image animated infinite fa fa-circle-o-notch fa-spin\"></i>\n <div class=\"spinner-messages\">\n <p class=\"spinner-messages-container\"></p>\n </div>\n </div>\n </div>`;\n\n@Injectable()\nexport class SpinnerServiceImpl extends AbstractSpinnerService implements OnDestroy {\n spinnerId = 0;\n messageSource = new Subject();\n messagesByContext = {};\n\n constructor() {\n super();\n }\n\n /**\n * returns the message source subject\n * @returns {Subject<any>}\n */\n getMessageSource() {\n return this.messageSource;\n }\n\n /**\n * show spinner on a container element\n */\n showContextSpinner(ctx: string, message: string, id: string) {\n const ctxMarkup = $('[name=\"' + ctx + '\"]');\n this.messagesByContext[ctx] = this.messagesByContext[ctx] || {};\n // If the spinner already exists on the context\n // then just append the message to the existing spinner message\n // else add a new spinner\n if (Object.keys(this.messagesByContext[ctx]).length !== 0 ) {\n this.messagesByContext[ctx][id] = message;\n this.messagesByContext[ctx]['finalMessage'] = this.messagesByContext[ctx]['finalMessage'] + ' ' + this.messagesByContext[ctx][id];\n ctxMarkup.find('.spinner-messages-container').html(this.messagesByContext[ctx]['finalMessage']);\n } else {\n const ctxSpinnerTemp = $(spinnerTemplate);\n this.messagesByContext[ctx][id] = message;\n this.messagesByContext[ctx]['finalMessage'] = this.messagesByContext[ctx][id];\n ctxSpinnerTemp.find('.spinner-messages-container').html(this.messagesByContext[ctx]['finalMessage']);\n ctxMarkup.prepend(ctxSpinnerTemp);\n }\n return id;\n }\n\n /**\n * show the app spinner with provided message\n * @param msg\n * @returns {string}\n */\n showAppSpinner(msg, id) {\n const ctx = 'page';\n this.messagesByContext[ctx] = this.messagesByContext[ctx] || {};\n this.messagesByContext[ctx][id] = msg;\n\n this.messageSource.next({\n show: true,\n message: msg,\n messages: values(this.messagesByContext[ctx])\n });\n }\n\n /**\n * hides the spinner on a particular container(context)\n * @param ctx\n * @param id\n */\n hideContextSpinner(ctx, id) {\n delete this.messagesByContext[ctx][id];\n if (Object.keys(this.messagesByContext[ctx]).length === 1) {\n this.messagesByContext[ctx] = {};\n }\n const ctxMarkup = $('[name=\"' + ctx + '\"]');\n ctxMarkup.find('.app-spinner').remove();\n }\n\n /**\n * show spinner\n * @param message\n * @param id\n * @param spinnerClass\n * @param spinnerContext\n * @param variableScopeId\n * @returns {any}\n */\n show(message, id?, spinnerClass?, spinnerContext?, variableScopeId?) {\n id = id || ++this.spinnerId;\n // if spinnerContext is passed, then append the spinner to the element(default method for variable calls).\n if (spinnerContext && spinnerContext !== 'page') {\n // return after the compiled spinner is appended to the element reference\n return this.showContextSpinner(spinnerContext, message, id);\n }\n\n this.showAppSpinner(message, id);\n return id;\n }\n\n /**\n * hide the spinner\n * @param spinnerId\n */\n hide(id) {\n // find the spinner context of the id from the messagesByContext\n const ctx = findKey(this.messagesByContext, function (obj) {\n return includes(keys(obj), id);\n }) || 'page';\n\n // if spinnerContext exists just remove the spinner from the reference and destroy the scope associated.\n if (ctx !== 'page') {\n this.hideContextSpinner(ctx, id);\n return;\n }\n\n if (id) {\n delete this.messagesByContext[ctx][id];\n const messages = values(this.messagesByContext[ctx]);\n this.messageSource.next({\n show: messages.length ? true : false,\n messages: values(this.messagesByContext[ctx])\n });\n } else {\n this.messagesByContext[ctx] = {};\n }\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Complete Subject to release subscriptions\n if (this.messageSource) {\n this.messageSource.complete();\n this.messageSource = null;\n }\n\n // MEMORY LEAK FIX: Clear messages by context\n if (this.messagesByContext) {\n Object.keys(this.messagesByContext).forEach(key => {\n delete this.messagesByContext[key];\n });\n this.messagesByContext = null;\n }\n }\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { NavigationStart, Router } from '@angular/router';\n\nimport { App, NavigationOptions, AbstractNavigationService } from '@wm/core';\nimport { CONSTANTS } from '@wm/variables';\nimport {filter, isEmpty, isEqual} from \"lodash-es\";\n\ndeclare const $;\n\nconst parentSelector = 'body >app-root';\n\n@Injectable()\nexport class NavigationServiceImpl implements AbstractNavigationService {\n private history = new History();\n private transition: string;\n private isPageAddedToHistory = false;\n\n constructor(private app: App, private router: Router, public zone: NgZone) {\n this.router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n const url = event.url;\n const urlParams = {};\n let pageName;\n if (!this.isPageAddedToHistory) {\n this.isPageAddedToHistory = false;\n if (url.indexOf('?') > 0) {\n url.substr(url.indexOf('?') + 1)\n .split('&')\n .forEach(s => {\n const splits = s.split('=');\n urlParams[splits[0]] = splits[1];\n });\n pageName = url.substr(0, url.indexOf('?'));\n } else {\n pageName = url;\n }\n if (pageName[0] === '/') {\n pageName = pageName.substr(1);\n }\n if (pageName) {\n /*\n * Commenting this code, one client project has Home_Page configured as Login Page.\n * So redirection to Home_Page post login is failing\n // if login page is being loaded and user is logged in, cancel that.\n if ($rs.isApplicationType) {\n stopLoginPagePostLogin($p);\n }\n */\n delete urlParams['name'];\n\n this.history.push(new PageInfo(pageName, urlParams, this.transition));\n }\n }\n }\n });\n }\n\n public getPageTransition() {\n if (isEmpty(this.transition) || isEqual('none', this.transition)) {\n return null;\n }\n return this.transition;\n }\n\n /**\n * Navigates to particular page\n * @param pageName\n * @param options\n */\n public goToPage(pageName: string, options: NavigationOptions) {\n this.transition = options.transition || '';\n // page is added to stack only when currentPage is available.\n if (this.history.getCurrentPage()) {\n this.isPageAddedToHistory = true;\n }\n this.history.push( new PageInfo(pageName, options.urlParams, this.transition));\n /**\n * BrowserAnimcation module has issue with RouterOutlet\n In the result every route appending to previous route instead of replace.\n To fix the issue we are navigating inside the ngZones\n *\n * */\n this.zone.run(() => {\n return this.router.navigate([`/${pageName}`], { queryParams: options.urlParams});\n });\n\n }\n\n /**\n * Navigates to last visited page.\n */\n public goToPrevious() {\n if (this.history.getPagesCount()) {\n this.transition = this.history.getCurrentPage().transition;\n if (!isEmpty(this.transition)) {\n this.transition += '-exit';\n }\n this.history.pop();\n this.isPageAddedToHistory = true;\n window.history.back();\n }\n }\n\n /** Todo[Shubham] Need to handle gotoElement in other partials\n * Navigates to particular view\n * @param viewName\n * @param options\n * @param variable\n */\n public goToView(viewName: string, options: NavigationOptions, variable: any) {\n options = options || {};\n const pageName = options.pageName;\n const transition = options.transition || '';\n const $event = options.$event;\n const activePage = this.app.activePage;\n const prefabName = variable && variable._context && variable._context.prefabName;\n\n // Check if app is Prefab\n if (this.app.isPrefabType) {\n this.goToElementView($(parentSelector).find('[name=\"' + viewName + '\"]'), viewName, pageName, variable);\n } else {\n // checking if the element is present in the page or not, if no show an error toaster\n // if yes check if it is inside a partial/prefab in the page and then highlight the respective element\n // else goto the page in which the element exists and highlight the element\n if (pageName !== activePage.activePageName && !prefabName) {\n if (this.isPartialWithNameExists(pageName)) {\n this.goToElementView($('[partialcontainer][content=\"' + pageName + '\"]').find('[name=\"' + viewName + '\"]'), viewName, pageName, variable);\n } else {\n // Todo[Shubham]: Make an API call to get all pages and check if the page name\n // is a page and then do this call else show an error as:\n // this.app.notifyApp(CONSTANTS.WIDGET_DOESNT_EXIST, 'error');\n this.goToPage(pageName, {\n viewName: viewName,\n $event: $event,\n transition: transition,\n urlParams: options.urlParams\n });\n // subscribe to an event named pageReady which notifies this subscriber\n // when all widgets in page are loaded i.e when page is ready\n const pageReadySubscriber = this.app.subscribe('pageReady', (page) => {\n this.goToElementView($(parentSelector).find('[name=\"' + viewName + '\"]'), viewName, pageName, variable);\n pageReadySubscriber();\n });\n }\n } else if (prefabName && this.isPrefabWithNameExists(prefabName)) {\n this.goToElementView($('[prefabName=\"' + prefabName + '\"]').find('[name=\"' + viewName + '\"]'), viewName, pageName, variable);\n } else if (!pageName || pageName === activePage.activePageName) {\n this.goToElementView($(parentSelector).find('[name=\"' + viewName + '\"]'), viewName, pageName, variable);\n } else {\n this.app.notifyApp(CONSTANTS.WIDGET_DOESNT_EXIST, 'error');\n }\n }\n }\n\n /*\n * navigates the user to a view element with given name\n * if the element not found in the compiled markup, the same is searched in the available dialogs in the page\n */\n private goToElementView(viewElement, viewName: string, pageName: string, variable: any) {\n let $el, parentDialog;\n const activePage = this.app.activePage;\n if (viewElement.length) {\n if (!this.app.isPrefabType && pageName === activePage.activePageName) {\n viewElement = this.getViewElementInActivePage(viewElement);\n }\n\n $el = viewElement[0].widget;\n switch ($el.widgetType) {\n case 'wm-accordionpane':\n this.showAncestors(viewElement, variable);\n $el.expand();\n break;\n case 'wm-tabpane':\n this.showAncestors(viewElement, variable);\n $el.select();\n break;\n case 'wm-segment-content':\n this.showAncestors(viewElement, variable);\n $el.navigate();\n break;\n case 'wm-panel':\n /* flip the active flag */\n $el.expanded = true;\n break;\n }\n } else {\n parentDialog = this.showAncestorDialog(viewName);\n setTimeout(() => {\n if (parentDialog) {\n this.goToElementView($('[name=\"' + viewName + '\"]'), viewName, pageName, variable);\n }\n });\n }\n }\n\n /* If page name is equal to active pageName, this function returns the element in the page.\n The element in the partial page is not selected.*/\n private getViewElementInActivePage($el) {\n let selector;\n if ($el.length > 1) {\n selector = filter($el, (childSelector) => {\n if (isEmpty($(childSelector).closest('[data-role = \"partial\"]')) && isEmpty($(childSelector).closest('[wmprefabcontainer]'))) {\n return childSelector;\n }\n });\n if (selector) {\n $el = $(selector);\n }\n }\n return $el;\n }\n\n /**\n * checks if the pagecontainer has the pageName.\n */\n private isPartialWithNameExists(name: string) {\n return $('[partialcontainer][content=\"' + name + '\"]').length;\n }\n\n /**\n * checks if the pagecontainer has the prefab.\n */\n private isPrefabWithNameExists(prefabName: string) {\n return $('[prefabName=\"' + prefabName + '\"]').length;\n }\n\n /*\n * shows all the parent container view elements for a given view element\n */\n private showAncestors(element, variable) {\n const ancestorSearchQuery = '[wm-navigable-element=\"true\"]';\n\n element\n .parents(ancestorSearchQuery)\n .toArray()\n .reverse()\n .forEach((parent) => {\n const $el = parent.widget;\n switch ($el.widgetType) {\n case 'wm-accordionpane':\n $el.expand();\n break;\n case 'wm-tabpane':\n $el.select();\n break;\n case 'wm-segment-content':\n $el.navigate();\n break;\n case 'wm-panel':\n /* flip the active flag */\n $el.expanded = true;\n break;\n }\n });\n }\n\n\n\n /*\n * searches for a given view element inside the available dialogs in current page\n * if found, the dialog is displayed, the dialog id is returned.\n */\n private showAncestorDialog(viewName: string) {\n let dialogId;\n $('app-root [dialogtype]')\n .each(function () {\n const dialog = $(this);\n if ($(dialog.html()).find('[name=\"' + viewName + '\"]').length) {\n dialogId = dialog.attr('name');\n return false;\n }\n });\n return dialogId;\n }\n}\n\nclass PageInfo {\n\n constructor(public name, public urlParams?, public transition?) {\n this.transition = isEmpty(this.transition) ? null : this.transition;\n }\n\n public isEqual(page1: PageInfo) {\n return page1 && page1.name === this.name && isEqual(page1.urlParams, this.urlParams);\n }\n}\n\nclass History {\n private stack: Array<PageInfo> = [];\n private currentPage: PageInfo;\n\n public getCurrentPage() {\n return this.currentPage;\n }\n\n public getPagesCount() {\n return this.stack.length;\n }\n\n public isLastVisitedPage(page: PageInfo) {\n return this.getLastPage().isEqual(page);\n }\n\n public push(pageInfo: PageInfo) {\n if (this.currentPage) {\n this.stack.push(this.currentPage);\n }\n this.currentPage = pageInfo;\n }\n\n public pop() {\n this.currentPage = this.stack.pop();\n return this.currentPage;\n }\n\n public getLastPage() {\n return this.stack.length > 0 ? this.stack[this.stack.length - 1] : undefined;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { AppDefaults } from '@wm/core';\n\n@Injectable()\nexport class AppDefaultsService implements AppDefaults {\n\n constructor() {\n }\n\n dateFormat: string;\n timeFormat: string;\n dateTimeFormat: string;\n currencyCode: string;\n\n setFormats(formats: any) {\n const dateFormat = formats.date;\n const timeFormat = formats.time;\n const dateTimeFormat = (dateFormat && timeFormat) ? dateFormat + ' ' + timeFormat : undefined;\n const currency = formats.currency;\n\n this.dateFormat = dateFormat;\n this.timeFormat = timeFormat;\n this.dateTimeFormat = dateTimeFormat;\n this.currencyCode = currency;\n }\n}\n","import { ActivatedRouteSnapshot } from '@angular/router';\nimport { Injectable } from '@angular/core';\n\nimport { SecurityService } from '@wm/security';\n\nimport { AppManagerService } from '../services/app.manager.service';\n\nlet securityConfigLoaded = false;\n\n@Injectable()\nexport class AuthGuard {\n\n constructor(private securityService: SecurityService, private appManager: AppManagerService) {}\n\n loadSecurityConfig(): Promise<boolean> {\n if (securityConfigLoaded) {\n return Promise.resolve(true);\n }\n\n return this.appManager.loadSecurityConfig().then(() => securityConfigLoaded = true);\n }\n\n isAuthenticated(): Promise<any> {\n return this.loadSecurityConfig()\n .then(() => {\n return new Promise((resolve, reject) => {\n this.securityService.isAuthenticated(resolve, reject);\n });\n });\n }\n\n canActivate(route: ActivatedRouteSnapshot): Promise<any> {\n return this.isAuthenticated()\n .then(isLoggedIn => {\n if (isLoggedIn) {\n return Promise.resolve(true);\n }\n\n this.appManager.handle401(route.routeConfig.path, {queryParams: route.queryParams});\n\n return Promise.resolve(false);\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\n\nimport { AbstractToasterService, App } from '@wm/core';\nimport { SecurityService } from '@wm/security';\n\nimport { AuthGuard } from './auth.guard';\nimport { AppManagerService } from '../services/app.manager.service';\nimport {intersection} from \"lodash-es\";\n\n@Injectable()\nexport class RoleGuard {\n\n constructor(\n private securityService: SecurityService,\n private authGuard: AuthGuard,\n private toasterService: AbstractToasterService,\n private app: App,\n private appManager: AppManagerService\n ) {}\n\n canActivate(route: ActivatedRouteSnapshot): Promise<boolean> {\n const allowedRoles = route.data.allowedRoles;\n\n return this.authGuard.isAuthenticated()\n .then((isLoggedIn: boolean) => {\n if (isLoggedIn) {\n const userRoles = this.securityService.get().userInfo.userRoles;\n const hasAccess = intersection(allowedRoles, userRoles).length > 0;\n\n if (hasAccess) {\n return Promise.resolve(true);\n }\n\n // current loggedin user doesn't have access to the page that the user is trying to view\n this.appManager.notifyApp(\n this.app.appLocale.LABEL_ACCESS_DENIED || 'Access Denied',\n 'error'\n );\n\n return Promise.resolve(false);\n\n } else {\n // redirect to Login\n this.appManager.handle401(route.routeConfig.path, {queryParams: route.queryParams});\n\n return Promise.resolve(false);\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\n\nimport { App } from '@wm/core';\nimport { AppManagerService } from '../services/app.manager.service';\n\n@Injectable()\nexport class PageNotFoundGuard {\n\n constructor(\n private app: App,\n private appManager: AppManagerService\n ) {}\n\n canActivate(route: ActivatedRouteSnapshot): Promise<boolean> {\n this.appManager.notifyApp(\n this.app.appLocale.MESSAGE_PAGE_NOT_FOUND || 'The page you are trying to reach is not available',\n 'error'\n );\n return Promise.resolve(false);\n }\n}\n","import { Injectable, Injector } from '@angular/core';\n\n\nimport { App, UtilsService } from '@wm/core';\n\nimport { AppJSProvider } from '../types/types';\nimport { AppManagerService } from '../services/app.manager.service';\n\nlet appJsLoaded = false;\n\n@Injectable()\nexport class AppJSResolve {\n private appManager;\n\n // AppManagerService: To be make sure this instance available for locale(en.json) calls request to track inside intercepter\n constructor(\n private inj: Injector,\n private app: App,\n private utilService: UtilsService,\n private appJsProvider: AppJSProvider\n ) {\n this.appManager = this.inj.get(AppManagerService);\n }\n\n async resolve() {\n if (appJsLoaded) {\n return true;\n }\n\n try {\n // execute app.js\n const appScriptFn = await this.appJsProvider.getAppScriptFn();\n appScriptFn(this.app, this.utilService, this.inj);\n } catch (e) {\n console.warn('Error in executing app.js', e);\n }\n\n appJsLoaded = true;\n\n return true;\n }\n}\n","import { Injectable, Injector } from '@angular/core';\n\n\nimport { App, UtilsService, CustomPipeManager } from '@wm/core';\n\nimport { AppExtensionProvider } from '../types/types';\nimport { AppManagerService } from '../services/app.manager.service';\n\n\nlet appJsLoaded = false;\n\n\n@Injectable()\nexport class AppExtensionJSResolve {\n\n constructor(\n private appManager: AppManagerService,\n private appJsProvider: AppExtensionProvider,\n private customPipeManager: CustomPipeManager\n ) {}\n\n resolve() {\n if(this.appManager.isPrefabType() || this.appManager.isTemplateBundleType()){\n return true;\n }\n if (!appJsLoaded) {\n this.appJsProvider.loadFormatterConfigScript(this.loadedFormatterScript.bind(this));\n appJsLoaded = true;\n }\n return appJsLoaded;\n }\n\n // Formatters load callback\n loadedFormatterScript(response){\n try {\n let formatterObj = response;\n // If user defined the invalid formatters.\n if(!formatterObj){\n console.warn('Please return valid formatter object');\n }\n\n for(let key in formatterObj){\n this.customPipeManager.setCustomPipe(key, formatterObj[key]);\n }\n } catch (e) {\n console.warn('Error in reading formatters.js', e);\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { AbstractI18nService } from '@wm/core';\n\n@Injectable()\nexport class I18nResolve {\n\n constructor(private i18nService: AbstractI18nService) {}\n\n resolve() {\n return this.i18nService.loadDefaultLocale();\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {AlertDialogComponent} from '@wm/components/dialogs/alert-dialog';\nimport {ConfirmDialogComponent} from '@wm/components/dialogs/confirm-dialog';\nimport {\n AfterViewInit,\n ApplicationRef,\n Component,\n DoCheck,\n ElementRef,\n NgZone,\n OnDestroy,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n ActivatedRoute,\n NavigationCancel,\n NavigationEnd,\n NavigationError,\n NavigationStart,\n Router,\n RouterOutlet\n} from '@angular/router';\n\nimport {setTheme} from 'ngx-bootstrap/utils';\n\nimport {\n $invokeWatchers,\n AbstractDialogService,\n AbstractSpinnerService,\n addClass,\n App,\n CustomIconsLoaderService,\n getWmProjectProperties,\n noop,\n removeClass,\n setAppRef,\n setNgZone,\n setPipeProvider\n} from '@wm/core';\nimport {OAuthService} from '@wm/oAuth';\nimport {AppManagerService} from '../../services/app.manager.service';\nimport {PipeProvider} from '../../services/pipe-provider.service';\nimport {AppSpinnerComponent} from '../app-spinner.component';\nimport {DialogComponent} from '@wm/components/dialogs/design-dialog';\nimport {ContainerDirective, PartialContainerDirective, PartialParamHandlerDirective} from '@wm/components/base';\nimport {filter} from \"rxjs/operators\";\nimport {Subscription} from \"rxjs\";\n\ninterface SPINNER {\n show: boolean;\n messages: Array<string>;\n arialabel: string;\n}\n@Component({\n standalone: true,\n imports: [CommonModule, RouterOutlet, AlertDialogComponent, ConfirmDialogComponent, DialogComponent, AppSpinnerComponent, ContainerDirective, PartialParamHandlerDirective , PartialContainerDirective],\n selector: 'app-root',\n templateUrl: './app.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class AppComponent implements DoCheck, AfterViewInit, OnDestroy {\n public startApp = false;\n public isApplicationType = false;\n public enableSkipToMainContent = getWmProjectProperties().enableSkipToMainContent === 'true' || getWmProjectProperties().enableSkipToMainContent === true;\n private retryCount = 0;\n private navigationEndSubscription!: Subscription;\n appLocale: any = {};\n\n @ViewChild(RouterOutlet) routerOutlet: RouterOutlet;\n\n @ViewChild('dynamicComponent', { read: ViewContainerRef }) dynamicComponentContainerRef: ViewContainerRef;\n\n spinner: SPINNER = { show: false, messages: [], arialabel: '' };\n constructor(\n _pipeProvider: PipeProvider,\n _appRef: ApplicationRef,\n private elRef: ElementRef,\n private oAuthService: OAuthService,\n private dialogService: AbstractDialogService,\n private spinnerService: AbstractSpinnerService,\n ngZone: NgZone,\n private router: Router,\n public app: App,\n private appManager: AppManagerService,\n private customIconsLoaderService: CustomIconsLoaderService\n ) {\n setPipeProvider(_pipeProvider);\n setNgZone(ngZone);\n setAppRef(_appRef);\n\n this.appLocale = app.appLocale;\n this.isApplicationType = getWmProjectProperties().type === 'APPLICATION';\n if (this.isApplicationType) {\n this.customIconsLoaderService.load();\n }\n\n // subscribe to OAuth changes\n oAuthService.getOAuthProvidersAsObservable().subscribe((providers: any) => {\n this.providersConfig = providers;\n if (providers.length) {\n this.showOAuthDialog();\n } else {\n this.closeOAuthDialog();\n }\n });\n\n // Subscribe to the message source to show/hide app spinner\n this.spinnerService.getMessageSource().asObservable().subscribe((data: any) => {\n // setTimeout is to avoid 'ExpressionChangedAfterItHasBeenCheckedError'\n setTimeout(() => {\n this.spinner.show = data.show;\n this.spinner.messages = data.messages;\n this.spinner.arialabel = data.messages.toString();\n });\n });\n\n // set theme to bs5 on ngx-bootstrap. This avoids runtime calculation to determine bs theme. Thus resolves performance.\n // Note: Angular 20/ngx-bootstrap 20 only supports bs4/bs5, not bs3\n setTheme('bs5');\n\n let spinnerId;\n\n let onPageRendered = noop;\n\n this.router.events.subscribe(e => {\n if (e instanceof NavigationStart) {\n let page = e.url.split('?')[0];\n page = page.substring(1);\n\n if (!page) {\n this.app.activeLayoutName = '';\n this.app.layoutPages = [];\n }\n if (this.app.activeLayoutName && this.app.layoutPages && this.app.layoutPages.length && this.app.layoutPages.includes(page)) {\n spinnerId = this.spinnerService.show('', 'wmRouterOutlet', '', 'wmRouterOutlet');\n } else {\n spinnerId = this.spinnerService.show('', 'globalSpinner');\n }\n\n const node = document.querySelector('app-page-outlet') as HTMLElement;\n if (node) {\n addClass(node, 'page-load-in-progress');\n }\n\n const pageLoadStartTime = Date.now();\n onPageRendered = () => {\n this.spinnerService.hide(spinnerId);\n const node = document.querySelector('app-page-outlet') as HTMLElement;\n if (node) {\n removeClass(node, 'page-load-in-progress');\n }\n onPageRendered = noop;\n this.app.activePageLoadTime = Date.now() - pageLoadStartTime;\n };\n } else if (e instanceof NavigationEnd || e instanceof NavigationCancel || e instanceof NavigationError) {\n setTimeout(() => {\n onPageRendered();\n }, 1000);\n }\n });\n this.appManager.subscribe('pageReady', () => {\n onPageRendered();\n });\n this.appManager.subscribe('pageAttach', () => {\n onPageRendered();\n });\n }\n\n providersConfig;\n isOAuthDialogOpen = false;\n\n showOAuthDialog() {\n if (!this.isOAuthDialogOpen) {\n this.isOAuthDialogOpen = true;\n this.dialogService.open('oAuthLoginDialog', this);\n }\n }\n\n closeOAuthDialog() {\n if (this.isOAuthDialogOpen) {\n this.isOAuthDialogOpen = false;\n this.dialogService.close('oAuthLoginDialog', this);\n }\n }\n\n private start() {\n //to fix the issue that happens only in the development mode\n //ExpressionChangedAfterItHasBeenCheckedError\n //fix: https://blog.angular-university.io/angular-debugging/\n setTimeout(() => {\n this.startApp = true;\n });\n setTimeout(() => {\n this.app.dynamicComponentContainerRef = this.dynamicComponentContainerRef;\n this.overrideRouterOutlet();\n }, 10);\n }\n\n private overrideRouterOutlet() {\n //override the attach/detach methods\n const oAttach = this.routerOutlet.attach;\n const oDetach = this.routerOutlet.detach;\n this.routerOutlet.attach = (componentRef: any, activatedRoute: ActivatedRoute) => {\n oAttach.call(this.routerOutlet, componentRef, activatedRoute);\n componentRef.instance.ngOnAttach();\n };\n this.routerOutlet.detach = () => {\n this.app.activePage.ngOnDetach();\n const componentRef = oDetach.call(this.routerOutlet);\n return componentRef;\n };\n }\n\n skipToAppContent(event: Event): void {\n event.preventDefault();\n this.retryCount = 0;\n this.tryFocusContent();\n }\n\n private tryFocusContent(): void {\n const contentEl = document.querySelector('.app-page-content') as HTMLElement;\n\n if (contentEl) {\n contentEl.setAttribute('tabindex', '-1'); // Ensure it's focusable\n contentEl.focus({ preventScroll: false });\n contentEl.scrollIntoView({ behavior: 'smooth' });\n } else if (this.retryCount < 10) {\n this.retryCount++;\n setTimeout(() => this.tryFocusContent(), 100); // Retry every 100ms\n }\n }\n\n ngAfterViewInit() {\n document.documentElement.setAttribute('lang', getWmProjectProperties().defaultLanguage);\n this.start();\n\n if (this.enableSkipToMainContent) {\n this.navigationEndSubscription = this.router.events\n .pipe(filter((e) => e instanceof NavigationEnd))\n .subscribe(() => {\n const el = document.getElementById('app-focus-start');\n if (el) {\n el.focus();\n }\n });\n }\n }\n\n ngDoCheck() {\n $invokeWatchers();\n }\n\n ngOnDestroy() {\n if (this.navigationEndSubscription){\n this.navigationEndSubscription.unsubscribe();\n }\n }\n}\n\n","@if (startApp) {\n @if(enableSkipToMainContent) {\n <div id=\"app-focus-start\" tabindex=\"-1\"></div>\n <a href=\"javascript:void(0);\" class=\"skip\" (click)=\"skipToAppContent($event)\">{{appLocale.LABEL_SKIP_TO_MAIN_CONTENT || 'Skip to main content'}}</a>\n }\n <router-outlet></router-outlet>\n @if (isApplicationType) {\n <div wmContainer partialContainer content=\"Common\" hidden class=\"ng-hide\"></div>\n }\n <app-spinner name=\"globalspinner\" classname=\"global-spinner\" role=\"alert\" aria-live=\"assertive\" [attr.aria-label]=\"spinner.arialabel || 'Loading'\" [show]=\"spinner.show\" [spinnermessages]=\"spinner.messages\"></app-spinner>\n <div wmDialog name=\"oAuthLoginDialog\" title=\"Application is requesting you to sign in with\"\n close.event=\"closeOAuthDialog()\">\n <ng-template #dialogBody>\n <ul class=\"list-items\">\n @for (provider of providersConfig; track provider) {\n <li class=\"list-item\">\n <button class=\"btn\" (click)=\"provider.invoke()\">{{provider.name}}</button>\n </li>\n }\n </ul>\n </ng-template>\n </div>\n <div wmConfirmDialog name=\"_app-confirm-dialog\" title.bind=\"title\" message.bind=\"message\" oktext.bind=\"oktext\"\n canceltext.bind=\"canceltext\" closable=\"false\" iconclass.bind=\"iconclass\"\n escape.event=\"onEscape()\" ok.event=\"onOk()\" cancel.event=\"onCancel()\" close.event=\"onClose()\" opened.event=\"onOpen()\"></div>\n @if (!isApplicationType) {\n <div wmConfirmDialog name=\"PrefabConfirmDialog\" title.bind=\"title\" message.bind=\"text\" oktext.bind=\"okButtonText\"\n canceltext.bind=\"cancelButtonText\" closable=\"false\" iconclass.bind=\"iconclass\"\n escape.event=\"onEscape()\" ok.event=\"onOk()\" cancel.event=\"onCancel()\" close.event=\"onClose()\" opened.event=\"onOpen()\"></div>\n }\n @if (!isApplicationType) {\n <div wmAlertDialog name=\"PrefabAlertDialog\" title.bind=\"title\" message.bind=\"text\" oktext.bind=\"okButtonText\"\n canceltext.bind=\"cancelButtonText\" closable=\"false\" iconclass.bind=\"iconclass\"\n escape.event=\"onEscape()\" ok.event=\"onOk()\" cancel.event=\"onCancel()\" close.event=\"onClose()\" opened.event=\"onOpen()\"></div>\n }\n <div wmAppExt></div>\n <i id=\"wm-mobile-display\"></i>\n}\n<!--Dummy container to create the component dynamically-->\n<ng-container #dynamicComponent></ng-container>\n","import { Injectable } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http';\n\nimport {from, Observable, Subject, switchMap} from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\nimport { httpService, appManager } from '@wm/variables';\nimport { WmHttpRequest, WmHttpResponse } from '@wm/http';\nimport {extend} from \"lodash-es\";\nimport {_WM_APP_PROJECT} from \"@wm/core\";\n\n/**\n * This Interceptor intercepts all network calls and if a network call fails\n * due to session timeout, then it calls a function to handle session timeout.\n */\n@Injectable()\nexport class HttpCallInterceptor implements HttpInterceptor {\n\n wmHttpRequest: any;\n wmHttpResponse: any;\n\n constructor() {\n this.wmHttpRequest = new WmHttpRequest();\n this.wmHttpResponse = new WmHttpResponse();\n }\n\n createSubject() {\n return new Subject();\n }\n\n isAbsoluteUrl(url: string) {\n return /^[a-z][a-z0-9+.-]*:\\/\\//i.test(url);\n }\n\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n let modifiedReq;\n let modifiedResp;\n let isRelativeAPIUrl = false;\n if(!this.isAbsoluteUrl(request.url)) {\n isRelativeAPIUrl = request.url.indexOf(\"services/\") !== -1 || request.url.indexOf(\"j_spring_security_check\") !== -1 || request.url.indexOf(\"j_spring_security_logout\") !== -1 || request.url.indexOf(\"oAuthCallback.html\") !== -1 || request.url.startsWith(\"resources/\") || request.url.startsWith(\"prefabs/\");\n }\n if(isRelativeAPIUrl) {\n let apiUrl= _WM_APP_PROJECT.apiUrl + request.url;\n request = request.clone({ url: apiUrl });\n }\n\n return from(\n Promise.resolve().then(() => {\n if (appManager && appManager.appOnBeforeServiceCall) {\n const wmReq = this.wmHttpRequest.angularToWmRequest(request);\n return appManager.appOnBeforeServiceCall(wmReq);\n }\n return null;\n }))\n .pipe(\n switchMap((receivedModifiedReq) => {\n if (receivedModifiedReq) {\n request = this.wmHttpRequest.wmToAngularRequest(receivedModifiedReq);\n }\n return next.handle(request);\n }),\n tap((response: any) => {\n if (response && response.type === 4 && appManager && appManager.appOnServiceSuccess) {\n // Convert the angular HttpResponse to wm HttpResponse\n const resp = this.wmHttpResponse.angularToWmResponse(response);\n // trigger the common success handler present in app.js\n modifiedResp = appManager.appOnServiceSuccess(resp.body, resp);\n if (modifiedResp) {\n // Convert the wm HttpResponse to angular HttpResponse\n modifiedResp = this.wmHttpResponse.wmToAngularResponse(modifiedResp);\n extend(response, modifiedResp);\n }\n }\n },\n error => {\n error._401Subscriber = this.createSubject();\n if (httpService.isPlatformSessionTimeout(error)) {\n httpService.handleSessionTimeout(request, error._401Subscriber);\n }\n if (appManager && appManager.appOnServiceError) {\n // Convert the angular HttpResponse to wm HttpResponse\n const err = this.wmHttpResponse.angularToWmResponse(error);\n // trigger the common error handler present in app.js\n modifiedResp = appManager.appOnServiceError(err.message, err);\n if (modifiedResp) {\n // Convert the wm HttpResponse to angular HttpResponse\n modifiedResp = this.wmHttpResponse.wmToAngularResponse(modifiedResp);\n extend(error, modifiedResp);\n }\n }\n }\n )\n );\n }\n}\n","import {\n Directive,\n ElementRef,\n EnvironmentInjector,\n Inject,\n Injector,\n OnDestroy,\n Self,\n ViewContainerRef\n} from '@angular/core';\n\nimport { WidgetRef } from '@wm/components/base';\n\nimport { PrefabManagerService } from '../services/prefab-manager.service';\nimport { ComponentRefProvider, ComponentType } from '../types/types';\n\n@Directive({\n standalone: true,\n selector: '[wmPrefab][prefabname]'\n})\nexport class PrefabDirective implements OnDestroy {\n\n constructor(\n @Self() @Inject(WidgetRef) public componentInstance,\n public vcRef: ViewContainerRef,\n public elRef: ElementRef,\n private prefabMngr: PrefabManagerService,\n private injector: Injector,\n private envInjector: EnvironmentInjector,\n private componentRefProvider: ComponentRefProvider\n ) {\n const prefabName = this.componentInstance.prefabName;\n\n this.prefabMngr.loadDependencies(prefabName)\n .then(async () => {\n const PrefabComponentClass = await this.componentRefProvider.getComponentFactoryRef(prefabName, ComponentType.PREFAB);\n \n if (!PrefabComponentClass) {\n console.error(`Failed to load prefab component: ${prefabName}`);\n return;\n }\n\n try {\n // Create component with both environmentInjector (for standalone imports/providers)\n // and injector (for element-level dependencies)\n const componentRef = this.vcRef.createComponent(PrefabComponentClass, {\n index: 0,\n environmentInjector: this.envInjector,\n injector: this.injector\n });\n \n this.elRef.nativeElement.appendChild(componentRef.location.nativeElement);\n } catch (error) {\n console.error(`Error creating prefab component ${prefabName}:`, error);\n }\n })\n .catch(error => {\n console.error(`Error loading dependencies for prefab ${prefabName}:`, error);\n });\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Clear ViewContainerRef to destroy dynamically created components\n if (this.vcRef) {\n this.vcRef.clear();\n }\n\n // MEMORY LEAK FIX: Clear ElementRef reference\n this.elRef = null;\n }\n}\n","import { AfterViewInit, Component, OnDestroy, ViewChild } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { PrefabDirective } from '@wm/components/prefab';\nimport { PrefabManagerService } from '../services/prefab-manager.service';\nimport { PrefabDirective as PrefabLoader } from '../directives/prefab.directive';\n\nconst PREFAB = 'PREFAB';\n\n@Component({\n standalone: true,\n imports: [PrefabDirective, PrefabLoader],\n selector: 'wm-prefab-preview',\n template: `\n <div class=\"prefab-preview row\">\n <section wmPrefab name=\"prefab-preview\" prefabname=\"__self__\"></section>\n </div>\n `\n})\nexport class PrefabPreviewComponent implements AfterViewInit, OnDestroy {\n private config: any;\n private previewMode: boolean;\n\n @ViewChild(PrefabDirective, { static: true }) prefabInstance;\n private windowMessageListener: (e: MessageEvent) => void;\n private readyStateSubscription: Subscription;\n\n constructor(private prefabManager: PrefabManagerService) {\n\n // MEMORY LEAK FIX: Store bound function reference for cleanup\n this.windowMessageListener = (e: MessageEvent) => {\n const context = e.data && e.data.context;\n\n if (context !== PREFAB) {\n return;\n }\n\n const action = e.data.action;\n const payload = e.data.payload;\n\n if (action === 'init') {\n this.init();\n } else if (action === 'set-property') {\n this.setProperty(payload);\n } else if (action === 'get-outbound-properties') {\n this.getOutboundProps();\n } else if (action === 'invoke-script') {\n this.invokeScript(payload);\n }\n };\n \n window.addEventListener('message', this.windowMessageListener);\n }\n\n postMessage(action, payload?: any) {\n const data = {\n context: PREFAB,\n action,\n payload\n };\n window.top.postMessage(data, '*');\n }\n\n setupEventListeners() {\n this.prefabInstance.invokeEventCallback = (eventName, locals = {}) => {\n this.postMessage('event-log', { name: eventName, data: locals });\n };\n }\n\n init() {\n this.previewMode = true;\n\n // MEMORY LEAK FIX: Store subscription reference\n this.readyStateSubscription = this.prefabInstance.readyState.subscribe(\n () => { },\n () => { },\n () => {\n this.prefabManager.getConfig('__self__')\n .then(config => {\n this.config = config;\n this.postMessage('config', config);\n\n this.setupEventListeners();\n });\n }\n );\n }\n\n setProperty(payload: any) {\n this.prefabInstance.widget[payload.name] = payload.value;\n }\n\n isOutBoundProp(info) {\n return info.bindable === 'out-bound' || info.bindable === 'in-out-bound';\n }\n\n getOutboundProps() {\n const payload = {};\n for (const [name, info] of Object.entries(this.config.properties || {})) {\n if (this.isOutBoundProp(info)) {\n payload[name] = this.prefabInstance.widget[name];\n }\n }\n\n this.postMessage('outbound-properties', payload);\n }\n\n invokeScript(payload: any) {\n const script = `\\n return ${payload.script};`;\n\n const fn = new Function('Prefab', script);\n\n const retVal = fn(this.prefabInstance);\n\n this.postMessage('method-output', { methodName: payload.methodName, output: retVal });\n }\n\n ngAfterViewInit() {\n this.setupEventListeners();\n this.postMessage('init');\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Remove window message listener\n if (this.windowMessageListener) {\n window.removeEventListener('message', this.windowMessageListener);\n this.windowMessageListener = null;\n }\n\n // MEMORY LEAK FIX: Unsubscribe from readyState\n if (this.readyStateSubscription) {\n this.readyStateSubscription.unsubscribe();\n this.readyStateSubscription = null;\n }\n\n // MEMORY LEAK FIX: Clear ViewChild reference\n this.prefabInstance = null;\n\n // MEMORY LEAK FIX: Clear config\n this.config = null;\n }\n}\n\n","import {\n Component,\n ComponentRef,\n ApplicationRef,\n CUSTOM_ELEMENTS_SCHEMA,\n EnvironmentInjector,\n Injectable,\n Injector,\n NO_ERRORS_SCHEMA,\n Type,\n ViewEncapsulation,\n createComponent,\n inject\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { extendProto, isDefined } from '@wm/core';\nimport { transpile } from '@wm/transpiler';\nimport { initComponentsBuildTask } from '@wm/build-task';\nimport { AppManagerService } from './app.manager.service';\nimport { REQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS } from '../runtime-base.module';\n\ninitComponentsBuildTask();\n\n// ==================== Types ====================\n\ninterface DynamicOptions {\n selector?: string;\n transpile?: boolean;\n noCache?: boolean;\n styles?: string;\n inj?: Injector;\n}\n\n// ==================== Cache ====================\n\nconst cache = new Map<string, Type<unknown>>();\n\n// ==================== Utilities ====================\n\nconst isValidSelector = (s: string) => /^[a-zA-Z][a-zA-Z0-9-]*$/.test(s);\nconst isValidMarkup = (m: string) => typeof m === 'string' && m.trim().length > 0;\n\n// ==================== Component Factory ====================\n\nlet counter = 1;\n\nconst createDynamicComponent = (selector: string, template: string, css = ''): Type<unknown> => {\n if (!isValidSelector(selector)) throw new Error(`Invalid selector: ${selector}`);\n if (!isValidMarkup(template)) throw new Error('Invalid markup');\n\n class DynamicComponent {\n readonly isDynamicComponent = true;\n }\n\n // Apply Component decorator as a function to avoid AOT compilation issues\n return Component({\n template,\n styles: [css],\n encapsulation: ViewEncapsulation.None,\n selector,\n standalone: true,\n // Angular 17+ / 20: standalone dynamic components MUST import the standalone directives/components\n // used inside the runtime-transpiled markup. Without this, tags like <wm-input> and attribute\n // directives like [wmFormField] will be treated as unknown (and silently ignored due to schemas),\n // causing \"directive not initialized\" symptoms in dynamic wizard/tabs/accordion paths.\n imports: [CommonModule, FormsModule, ReactiveFormsModule, ...REQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS],\n schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n })(DynamicComponent);\n};\n\n// ==================== Service ====================\n\n@Injectable()\nexport class DynamicComponentRefProviderService {\n private readonly appManager = inject(AppManagerService);\n private readonly envInjector = inject(EnvironmentInjector);\n private readonly injector = inject(Injector);\n private readonly appRef = inject(ApplicationRef);\n\n private normalize(opts: DynamicOptions = {}): Required<DynamicOptions> {\n return {\n selector: opts.selector ?? `wm-dynamic-component-${counter++}`,\n transpile: isDefined(opts.transpile) ? opts.transpile : true,\n noCache: isDefined(opts.noCache) ? opts.noCache : true,\n styles: opts.styles ?? '',\n inj: opts.inj ?? this.injector\n };\n }\n\n /**\n * Get dynamically compiled component class from markup\n * Creates a standalone component from HTML markup at runtime\n * \n * @param selector - Unique selector for the component (e.g., 'app-table-dynamic-123')\n * @param markup - HTML template markup to compile\n * @param opts - Options for transpilation, caching, and styling\n * @returns Promise resolving to compiled component Type\n * @throws Error if selector is invalid or compilation fails\n */\n public async getComponentFactoryRef(selector: string, markup: string, opts: DynamicOptions = {}): Promise<Type<unknown>> {\n if (!isValidSelector(selector)) {\n throw new Error(`Invalid selector: ${selector}`);\n }\n\n const options = this.normalize(opts);\n\n // Return cached component if available\n if (!options.noCache && cache.has(selector)) {\n return cache.get(selector)!;\n }\n\n try {\n // Transpile markup if needed (converts WaveMaker syntax to Angular)\n const processedMarkup = options.transpile ? transpile(markup).markup : markup;\n \n // Create standalone component class\n const ComponentClass = createDynamicComponent(selector, processedMarkup, options.styles);\n\n // Cache for reuse unless noCache is true\n if (!options.noCache) {\n cache.set(selector, ComponentClass);\n }\n \n return ComponentClass;\n } catch (err) {\n this.handleError(err, selector);\n throw err;\n }\n }\n\n /**\n * Creates a dynamic component and adds it to the DOM\n * Compiles markup into a standalone component and renders it in the target element\n * \n * @param target - HTML element where the component will be appended\n * @param markup - HTML template markup to compile\n * @param context - Context object to extend the component instance with\n * @param opts - Options for selector, transpilation, caching, and injection\n * @returns Promise resolving to ComponentRef for cleanup and lifecycle management\n * @throws Error if target is invalid or component creation fails\n */\n public async addComponent(\n target: HTMLElement,\n markup: string,\n context: Record<string, unknown> = {},\n opts: DynamicOptions = {}\n ): Promise<ComponentRef<unknown>> {\n if (!(target instanceof HTMLElement)) {\n throw new Error('Invalid target element');\n }\n\n const options = this.normalize(opts);\n\n try {\n // Get compiled component class\n const ComponentClass = await this.getComponentFactoryRef(options.selector, markup, options);\n \n // Create component instance with both environmentInjector (for standalone imports/providers)\n // and elementInjector (for element-level dependencies)\n const componentRef = createComponent(ComponentClass, {\n environmentInjector: this.envInjector,\n elementInjector: options.inj\n });\n\n // Extend component instance with provided context\n if (Object.keys(context).length) {\n extendProto(componentRef.instance, context);\n }\n\n // Attach to Angular's change detection\n this.appRef.attachView(componentRef.hostView);\n \n // Add to DOM\n target.appendChild(componentRef.location.nativeElement);\n\n // Cleanup on destroy\n componentRef.onDestroy(() => this.appRef.detachView(componentRef.hostView));\n\n return componentRef;\n } catch (err) {\n this.handleError(err, options.selector);\n throw err;\n }\n }\n\n public clearCache(): void {\n cache.clear();\n }\n\n public getCacheSize(): number {\n return cache.size;\n }\n\n private handleError(err: unknown, selector: string): void {\n const msg = err instanceof Error ? err.message : 'Unknown error';\n console.error(`Error creating component [${selector}]:`, msg, err);\n this.appManager.notifyApp?.(`Failed to create component: ${msg}`, 'error');\n }\n}","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { noop } from '@wm/core';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\n\nexport interface CanComponentDeactivate {\n canDeactivate: (nextState?: string) => Observable<boolean> | Promise<boolean> | boolean;\n}\n\n/*\n canDeactivate guard for preview/WM deployment.\n [WMS-19159] - Moved CanDeactivate() from page-wrapper.component.ts to base-page.component.ts(which is common for both preview and angular)\n because beforepageleave is not calling for browser/tab close in angularmode\n here component is pagewrapper so adding custom implementation for route change\n */\n@Injectable()\nexport class CanDeactivatePageGuard {\n canDeactivate(\n component: CanComponentDeactivate,\n currentRoute: ActivatedRouteSnapshot,\n currentState: RouterStateSnapshot,\n nextState?: RouterStateSnapshot\n ) {\n function invokeCompDeactivate() {\n let retVal;\n const nextRoute = nextState ? nextState.url : undefined;\n // Calling onBeforePageLeave method present at page level\n retVal = this.app.activePage && this.app.activePage.onBeforePageLeave(nextRoute);\n // Calling onBeforePageLeave method present at app level only if page level method return true\n // or if there is no page level method\n if (retVal !== false) {\n retVal = (this.app.onBeforePageLeave || noop)(this.app.activePageName, this.app.activePage, nextRoute);\n }\n return retVal === undefined ? true : retVal;\n }\n return invokeCompDeactivate.apply(component);\n }\n}\n\n// [WMS-18847] - canDeactivate guard for angular deployment.\n@Injectable()\nexport class CanDeactivateNgPageGuard {\n canDeactivate(component: CanComponentDeactivate,\n currentRoute?: ActivatedRouteSnapshot,\n currentState?: RouterStateSnapshot,\n nextState?: RouterStateSnapshot) {\n const nextRoute = nextState ? nextState.url : undefined;\n return component.canDeactivate ? component.canDeactivate(nextRoute) : true;\n }\n}\n","import { APP_INITIALIZER, LOCALE_ID, ModuleWithProviders, NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule, DatePipe, DecimalPipe } from '@angular/common';\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\nimport { ɵSharedStylesHost } from '@angular/platform-browser';\nimport { ɵDomRendererFactory2 } from \"@angular/platform-browser\";\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ToastrModule } from 'ngx-toastr';\nimport {\n _WM_APP_PROJECT,\n $parseExpr,\n AbstractI18nService,\n AbstractNavigationService,\n AbstractSpinnerService,\n AbstractToasterService,\n App,\n AppDefaults,\n DynamicComponentRefProvider,\n isObject,\n isIphone,\n isIpod,\n isIpad,\n Viewport,\n AbstractDialogService\n} from '@wm/core';\nimport { DialogBodyDirective, DialogFooterDirective, DialogHeaderComponent } from '@wm/components/dialogs';\nimport { ConfirmDialogComponent } from '@wm/components/dialogs/confirm-dialog';\nimport { DialogComponent } from '@wm/components/dialogs/design-dialog';\nimport { PrefabDirective, PrefabContainerDirective } from '@wm/components/prefab';\nimport { HttpServiceImpl } from '@wm/http';\nimport { VariablesService, MetadataService } from '@wm/variables';\nimport { OAuthService } from '@wm/oAuth';\n\nimport { AccessrolesDirective } from './directives/accessroles.directive';\nimport { AppSpinnerComponent } from './components/app-spinner.component';\nimport { CustomToasterComponent } from './components/custom-toaster.component';\nimport { EmptyPageComponent } from './components/empty-component/empty-page.component';\nimport { AppRef } from './services/app.service';\nimport { ToasterServiceImpl } from './services/toaster.service';\nimport { I18nServiceImpl } from './services/i18n.service';\nimport { SpinnerServiceImpl } from './services/spinner.service';\nimport { NavigationServiceImpl } from './services/navigation.service';\nimport { PipeService } from \"./services/pipe.service\";\nimport { AppDefaultsService } from './services/app-defaults.service';\nimport { AppManagerService } from './services/app.manager.service';\nimport { PrefabManagerService } from './services/prefab-manager.service';\nimport { AuthGuard } from './guards/auth.guard';\nimport { RoleGuard } from './guards/role.guard';\nimport { PageNotFoundGuard } from './guards/page-not-found.guard';\nimport { AppJSResolve } from './resolves/app-js.resolve';\nimport { AppExtensionJSResolve } from './resolves/app-extension.resolve';\nimport { I18nResolve } from './resolves/i18n.resolve';\nimport { AppComponent } from './components/app-component/app.component';\nimport { HttpCallInterceptor } from './services/http-interceptor.services';\nimport { PrefabPreviewComponent } from './components/prefab-preview.component';\nimport { DynamicComponentRefProviderService } from './services/dynamic-component-ref-provider.service';\nimport { CanDeactivatePageGuard } from './guards/can-deactivate-page.guard';\nimport { MAX_CACHE_AGE, MAX_CACHE_SIZE } from './util/wm-route-reuse-strategy';\n\n//angular overrides\nimport { WMDomSharedStylesHost } from \"./overrides/wm_shared_styles_host\";\nimport { WMDomRendererFactory2 } from \"./overrides/wm_dom_renderer\";\nimport {\n PageDirective,\n LayoutDirective,\n ContentComponent,\n PageContentComponent,\n SpaPageDirective,\n RouterOutletDirective\n} from \"@wm/components/page\";\nimport { FooterDirective } from \"@wm/components/page/footer\";\nimport { HeaderComponent } from \"@wm/components/page/header\";\nimport { LeftPanelDirective } from \"@wm/components/page/left-panel\";\nimport { RightPanelDirective } from \"@wm/components/page/right-panel\";\nimport { TopNavDirective } from \"@wm/components/page/top-nav\";\n\nimport { AnchorComponent } from '@wm/components/basic/anchor';\nimport { AudioComponent } from '@wm/components/basic/audio';\nimport { HtmlDirective } from '@wm/components/basic/html';\nimport { IconComponent } from '@wm/components/basic/icon';\nimport { IframeComponent } from '@wm/components/basic/iframe';\nimport { LabelDirective } from '@wm/components/basic/label';\nimport { PictureDirective } from '@wm/components/basic/picture';\nimport { SpinnerComponent } from '@wm/components/basic/spinner';\nimport { VideoComponent } from '@wm/components/basic/video';\n\nimport { ProgressBarComponent } from \"@wm/components/basic/progress/progress-bar\";\nimport { ProgressCircleComponent } from \"@wm/components/basic/progress/progress-circle\";\nimport { RichTextEditorComponent } from \"@wm/components/basic/rich-text-editor\";\nimport { SearchComponent, ScrollableDirective } from \"@wm/components/basic/search\";\nimport { TreeComponent } from \"@wm/components/basic/tree\";\nimport { CalendarComponent } from \"@wm/components/input/calendar\";\nimport { ChipsComponent } from \"@wm/components/input/chips\";\nimport { ColorPickerComponent } from \"@wm/components/input/color-picker\";\nimport { CurrencyComponent } from \"@wm/components/input/currency\";\n\nimport { DateComponent } from '@wm/components/input/epoch/date';\nimport { DatetimeComponent } from '@wm/components/input/epoch/date-time';\nimport { TimeComponent } from '@wm/components/input/epoch/time';\nimport { DateTimePickerComponent } from '@wm/components/input/epoch/date-time-picker';\nimport { TimePickerComponent } from '@wm/components/input/epoch/date-time-picker';\nimport { PickerComponent } from '@wm/components/input/epoch/picker';\nimport { PickerGroupComponent } from '@wm/components/input/epoch/picker';\nimport { FileUploadComponent } from \"@wm/components/input/file-upload\";\nimport { ButtonComponent } from \"@wm/components/input/button\";\nimport { ButtonGroupDirective } from \"@wm/components/input/button-group\";\nimport { CaptionPositionDirective } from \"@wm/components/input/caption-position\";\nimport { CheckboxComponent } from \"@wm/components/input/checkbox\";\nimport { CheckboxsetComponent } from \"@wm/components/input/checkboxset\";\nimport { CompositeDirective } from \"@wm/components/input/composite\";\nimport { NumberComponent } from \"@wm/components/input/number\";\nimport { RadiosetComponent } from \"@wm/components/input/radioset\";\nimport { SelectComponent } from \"@wm/components/input/select\";\nimport { SwitchComponent } from \"@wm/components/input/switch\";\nimport { InputCalendarComponent } from \"@wm/components/input/text\";\nimport { InputColorComponent } from \"@wm/components/input/text\";\nimport { InputEmailComponent } from \"@wm/components/input/text\";\nimport { InputNumberComponent } from \"@wm/components/input/text\";\nimport { InputTextComponent } from \"@wm/components/input/text\";\nimport { TextareaComponent } from \"@wm/components/input/textarea\";\n\nimport { RatingComponent } from \"@wm/components/input/rating\";\nimport { SliderComponent } from \"@wm/components/input/slider\";\nimport {\n CardComponent,\n CardActionsDirective,\n CardContentComponent,\n CardFooterDirective\n} from \"@wm/components/data/card\";\nimport {\n FormComponent,\n FormWidgetDirective,\n FormActionDirective,\n FormFieldDirective,\n LiveActionsDirective,\n DependsonDirective,\n LiveFilterDirective,\n LiveFormDirective\n} from \"@wm/components/data/form\";\nimport { ListComponent, ListItemDirective } from \"@wm/components/data/list\";\nimport { LiveTableComponent } from \"@wm/components/data/live-table\";\nimport { PaginationComponent } from \"@wm/components/data/pagination\";\nimport {\n TableComponent,\n TableCUDDirective,\n TableFilterSortDirective,\n TableActionDirective,\n TableColumnDirective,\n TableColumnGroupDirective,\n TableRowDirective,\n TableRowActionDirective\n} from \"@wm/components/data/table\";\nimport { ChartComponent } from \"@wm/components/chart\";\nimport { AccordionPaneComponent, AccordionDirective } from \"@wm/components/containers/accordion\";\nimport { LinearLayoutDirective, LinearLayoutItemDirective } from \"@wm/components/containers/linear-layout\";\nimport { LayoutgridDirective, LayoutGridRowDirective, LayoutGridColumnDirective } from \"@wm/components/containers/layout-grid\";\nimport { PanelComponent } from \"@wm/components/containers/panel\";\nimport { TabPaneComponent, TabsComponent } from \"@wm/components/containers/tabs\";\nimport { TileDirective } from \"@wm/components/containers/tile\";\nimport { WizardActionDirective, WizardStepComponent, WizardComponent } from \"@wm/components/containers/wizard\";\nimport { AlertDialogComponent } from \"@wm/components/dialogs/alert-dialog\";\nimport { IframeDialogComponent } from \"@wm/components/dialogs/iframe-dialog\";\nimport { LoginDialogDirective } from \"@wm/components/dialogs/login-dialog\";\nimport { PartialDialogComponent } from \"@wm/components/dialogs/partial-dialog\";\nimport { BreadcrumbComponent } from \"@wm/components/navigation/breadcrumb\";\nimport { MenuComponent, MenuDropdownComponent, MenuDropdownItemComponent, NavigationControlDirective, NavComponent, NavItemDirective } from \"@wm/components/navigation/menu\";\nimport { NavbarComponent } from \"@wm/components/navigation/navbar\";\nimport { PopoverComponent } from \"@wm/components/navigation/popover\";\nimport { CarouselDirective, CarouselTemplateDirective } from \"@wm/components/advanced/carousel\";\nimport { LoginComponent } from \"@wm/components/advanced/login\";\nimport { MarqueeDirective } from \"@wm/components/advanced/marquee\";\nimport { CustomWidgetDirective, CustomWidgetContainerDirective } from \"@wm/components/advanced/custom\";\nimport { BsDatepickerModule } from \"ngx-bootstrap/datepicker\";\nimport { TimepickerModule as ngxTimepickerModule } from \"ngx-bootstrap/timepicker\";\nimport { BsDropdownModule } from \"ngx-bootstrap/dropdown\";\nimport { PaginationModule as ngxPaginationModule } from \"ngx-bootstrap/pagination\";\nimport { TypeaheadModule } from \"ngx-bootstrap/typeahead\";\nimport { ProgressbarModule } from \"ngx-bootstrap/progressbar\";\nimport { CarouselModule as ngxCarouselModule } from \"ngx-bootstrap/carousel\";\nimport { PopoverModule as ngxPopoverModule } from \"ngx-bootstrap/popover\";\nimport { NgCircleProgressModule } from \"ng-circle-progress\";\nimport { TooltipModule } from \"ngx-bootstrap/tooltip\";\nimport { SecurityService } from '@wm/security';\nimport { PrefabDirective as PrefabLoader } from './directives/prefab.directive';\nimport { ContainerDirective, CustomPipe, DialogServiceImpl, FileExtensionFromMimePipe, FileIconClassPipe, FileSizePipe, FilterPipe, ImagePipe, ItemTemplateDirective, LazyLoadDirective, MessageComponent, NumberToStringPipe, PartialContainerDirective, PartialDirective, PartialParamDirective, PartialParamHandlerDirective, PrefixPipe, RedrawableDirective, RepeatTemplateDirective, SanitizePipe, ShowInDeviceDirective, StateClassPipe, StringToNumberPipe, SuffixPipe, TextContentDirective, TimeFromNowPipe, ToCurrencyPipe, ToDatePipe, ToNumberPipe, TrailingZeroDecimalPipe, TrustAsPipe, CustomWidgetContainerDirective as BaseCustomWidgetContainerDirective} from '@wm/components/base';\n\nconst initializeProjectDetails = () => {\n let cdnUrl = document.querySelector('[name=\"deployUrl\"]') && document.querySelector('[name=\"deployUrl\"]').getAttribute('content');\n _WM_APP_PROJECT.isPreview = cdnUrl ? false : true;\n const apiUrl = document.querySelector('[name=\"apiUrl\"]') && document.querySelector('[name=\"apiUrl\"]').getAttribute('content');\n //for preview\n if (!cdnUrl) {\n cdnUrl = document.querySelector('[name=\"cdnUrl\"]') && document.querySelector('[name=\"cdnUrl\"]').getAttribute('content');\n }\n _WM_APP_PROJECT.id = location.href.split('/')[3];\n // Integration with third party apps like in SSPA/WebComponents, this meta tag with cdnUrl will not be there then default it to ng-bundle/\n _WM_APP_PROJECT.apiUrl = apiUrl || './';\n _WM_APP_PROJECT.cdnUrl = cdnUrl || 'ng-bundle/';\n _WM_APP_PROJECT.ngDest = 'ng-bundle/';\n try {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore\n __webpack_require__.p = __webpack_public_path__ = cdnUrl;\n } catch (e) {\n //for app preview there is no webpack. Don't do anything.\n }\n};\n\nenum OS {\n IOS = 'ios',\n ANDROID = 'android'\n}\n\nexport function getSettingProvider(key: string, defaultValue: unknown) {\n return {\n provide: key,\n useValue: defaultValue\n };\n}\n\nexport function InitializeApp(I18nService, AppJSResolve) {\n return async () => {\n initializeProjectDetails();\n await AppJSResolve.resolve();\n return I18nService.loadDefaultLocale();\n };\n}\n\nexport function setAngularLocale(I18nService) {\n initializeProjectDetails();\n return I18nService.deduceAppLocale();\n}\n\nconst definitions = [\n AccessrolesDirective,\n AppSpinnerComponent,\n CustomToasterComponent,\n AppComponent,\n PrefabLoader,\n PrefabPreviewComponent,\n EmptyPageComponent\n];\n\nexport const REQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS = [\n ConfirmDialogComponent,\n DialogComponent,\n DialogBodyDirective,\n DialogFooterDirective,\n DialogHeaderComponent,\n\n // Components Module changes\n ContainerDirective,\n ItemTemplateDirective,\n RepeatTemplateDirective,\n LazyLoadDirective,\n MessageComponent,\n PartialDirective,\n PartialParamHandlerDirective,\n PartialParamDirective,\n PartialContainerDirective,\n BaseCustomWidgetContainerDirective,\n RedrawableDirective,\n ShowInDeviceDirective,\n TextContentDirective,\n\n // Pipes\n ToDatePipe,\n FileIconClassPipe,\n FileExtensionFromMimePipe,\n FilterPipe,\n FileSizePipe,\n ToNumberPipe,\n ToCurrencyPipe,\n PrefixPipe,\n SuffixPipe,\n TimeFromNowPipe,\n NumberToStringPipe,\n StateClassPipe,\n StringToNumberPipe,\n TrailingZeroDecimalPipe,\n TrustAsPipe,\n ImagePipe,\n CustomPipe,\n SanitizePipe,\n\n // NGX Bootstrap\n BsDatepickerModule,\n ngxTimepickerModule,\n BsDropdownModule,\n ngxPaginationModule,\n TypeaheadModule,\n ProgressbarModule,\n ngxCarouselModule,\n ngxPopoverModule,\n NgCircleProgressModule,\n TooltipModule,\n\n // Basic widgets\n AnchorComponent,\n AudioComponent,\n HtmlDirective,\n IconComponent,\n IframeComponent,\n LabelDirective,\n PictureDirective,\n SpinnerComponent,\n VideoComponent,\n ProgressBarComponent,\n ProgressCircleComponent,\n RichTextEditorComponent,\n SearchComponent, ScrollableDirective,\n TreeComponent,\n\n // Input\n CalendarComponent,\n ChipsComponent,\n ColorPickerComponent,\n CurrencyComponent,\n DateComponent,\n DatetimeComponent,\n TimeComponent,\n DateTimePickerComponent,\n TimePickerComponent,\n PickerComponent,\n PickerGroupComponent,\n FileUploadComponent,\n ButtonComponent,\n ButtonGroupDirective,\n CaptionPositionDirective,\n CheckboxComponent,\n CheckboxsetComponent,\n CompositeDirective,\n NumberComponent,\n RadiosetComponent,\n SelectComponent,\n SwitchComponent,\n InputCalendarComponent,\n InputColorComponent,\n InputEmailComponent,\n InputNumberComponent,\n InputTextComponent,\n TextareaComponent,\n RatingComponent,\n SliderComponent,\n\n // Data\n CardComponent,\n CardActionsDirective,\n CardContentComponent,\n CardFooterDirective,\n FormComponent,\n FormWidgetDirective,\n FormActionDirective,\n FormFieldDirective,\n LiveActionsDirective,\n DependsonDirective,\n LiveFilterDirective,\n LiveFormDirective,\n ListComponent, ListItemDirective,\n LiveTableComponent,\n PaginationComponent,\n TableComponent,\n TableCUDDirective,\n TableFilterSortDirective,\n TableActionDirective,\n TableColumnDirective,\n TableColumnGroupDirective,\n TableRowDirective,\n TableRowActionDirective,\n\n // chart\n ChartComponent,\n\n // container modules\n AccordionPaneComponent, AccordionDirective,\n LinearLayoutDirective, LinearLayoutItemDirective,\n LayoutgridDirective, LayoutGridRowDirective, LayoutGridColumnDirective,\n PanelComponent,\n TabPaneComponent, TabsComponent,\n TileDirective,\n WizardActionDirective, WizardStepComponent, WizardComponent,\n\n // dialogs\n AlertDialogComponent,\n IframeDialogComponent,\n LoginDialogDirective,\n PartialDialogComponent,\n\n // navigation\n BreadcrumbComponent,\n MenuComponent, MenuDropdownComponent, MenuDropdownItemComponent, NavigationControlDirective, NavComponent, NavItemDirective,\n NavbarComponent,\n PopoverComponent,\n\n // Advanced\n CarouselDirective, CarouselTemplateDirective,\n LoginComponent,\n MarqueeDirective,\n CustomWidgetDirective, CustomWidgetContainerDirective,\n\n PageDirective,\n LayoutDirective,\n ContentComponent,\n PageContentComponent,\n SpaPageDirective,\n RouterOutletDirective,\n FooterDirective,\n HeaderComponent,\n LeftPanelDirective,\n RightPanelDirective,\n TopNavDirective,\n PrefabDirective, PrefabContainerDirective\n];\n\n// setting parseExpr as exprEvaluator for swipeAnimation\n($.fn as any).swipeAnimation.expressionEvaluator = $parseExpr;\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n ...definitions,\n ToastrModule,\n // CoreModule,\n ...REQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS\n ],\n exports: [\n FormsModule,\n ReactiveFormsModule,\n PrefabLoader,\n AccessrolesDirective,\n CommonModule,\n RouterModule,\n HttpClientModule,\n ToastrModule,\n // CoreModule,\n ...REQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS\n ],\n providers: [\n { provide: ɵSharedStylesHost, useClass: WMDomSharedStylesHost },\n { provide: ɵDomRendererFactory2, useClass: WMDomRendererFactory2 },\n { provide: AbstractDialogService, useClass: DialogServiceImpl },\n ToDatePipe,\n FilterPipe,\n TrailingZeroDecimalPipe,\n TrustAsPipe,\n ImagePipe,\n CustomPipe,\n SanitizePipe,\n Location,\n SecurityService,\n HttpServiceImpl,\n ]\n})\nexport class RuntimeBaseModule {\n\n // this polyfill is to add support for CustomEvent in IE11\n static addCustomEventPolyfill() {\n if (typeof window['CustomEvent'] === 'function') {\n return false;\n }\n // Adding type as any to avoid error TS2322\n const CustomEvent: any = (event, params) => {\n params = params || { bubbles: false, cancelable: false, detail: null };\n const evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n\n CustomEvent.prototype = window['Event'].prototype;\n // ### ANGULAR9TODO ###\n window['CustomEvent'] = CustomEvent;\n }\n\n static forRoot(): ModuleWithProviders<RuntimeBaseModule> {\n return {\n ngModule: RuntimeBaseModule,\n providers: [\n { provide: App, useClass: AppRef },\n { provide: AbstractToasterService, useClass: ToasterServiceImpl },\n { provide: AbstractI18nService, useClass: I18nServiceImpl },\n { provide: AbstractSpinnerService, useClass: SpinnerServiceImpl },\n { provide: AbstractNavigationService, useClass: NavigationServiceImpl },\n { provide: AppDefaults, useClass: AppDefaultsService },\n { provide: DynamicComponentRefProvider, useClass: DynamicComponentRefProviderService },\n {\n provide: APP_INITIALIZER,\n useFactory: InitializeApp,\n deps: [AbstractI18nService, AppJSResolve],\n multi: true\n },\n {\n provide: LOCALE_ID,\n useFactory: setAngularLocale,\n deps: [AbstractI18nService]\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: HttpCallInterceptor,\n multi: true\n },\n PipeService,\n DecimalPipe,\n DatePipe,\n AppManagerService,\n PrefabManagerService,\n AuthGuard,\n RoleGuard,\n PageNotFoundGuard,\n CanDeactivatePageGuard,\n AppJSResolve,\n AppExtensionJSResolve,\n I18nResolve,\n SecurityService,\n OAuthService,\n VariablesService,\n MetadataService,\n getSettingProvider(MAX_CACHE_SIZE, 10),\n getSettingProvider(MAX_CACHE_AGE, 30 * 60)\n ]\n };\n }\n\n constructor(\n app: App,\n viewport: Viewport) {\n RuntimeBaseModule.addCustomEventPolyfill();\n\n this.getDeviceDetails().then(details => {\n app.selectedViewPort = {\n os: details.os,\n category: details.selectedDeviceCategory\n };\n viewport.update(details);\n app.notify('on-viewport-details', details.os);\n });\n }\n\n\n private getDeviceDetails(): Promise<any> {\n return new Promise<any>(function (resolve, reject) {\n const msgContent = { key: 'on-load' };\n // Notify preview window that application is ready. Otherwise, identify the OS.\n if (window.top !== window) {\n window.top.postMessage(msgContent, '*');\n // This is for preview page\n window.onmessage = function (msg) {\n const data = msg.data;\n if (isObject(data) && data.key === 'switch-device') {\n resolve(data.device);\n }\n };\n } else if (isIphone() || isIpod() || isIpad()) {\n resolve({ 'os': OS.IOS });\n } else {\n resolve({ 'os': OS.ANDROID });\n }\n });\n }\n}\n\nexport const WM_MODULES_FOR_ROOT = [\n // RuntimeBaseModule.forRoot()\n];\n","import { Injectable } from '@angular/core';\n\nimport { AppManagerService } from '../services/app.manager.service';\nimport { App } from '@wm/core';\n\n@Injectable()\nexport class AppBeforeLoadResolve {\n\n constructor(\n private appManager: AppManagerService,\n private app: App\n ) { }\n\n resolve() {\n this.appManager.initAppModes();\n return this.appManager.beforeAppReady();\n }\n}","import { Injectable } from '@angular/core';\n\n\nimport { AppManagerService } from '../services/app.manager.service';\nimport { AppVariablesProvider } from '../types/types';\n\nlet appVariablesLoaded = false;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppVariablesResolve {\n\n constructor(\n private appManager: AppManagerService,\n private appVariablesProvider: AppVariablesProvider\n ) {}\n\n resolve() {\n // execute app.js\n if (appVariablesLoaded) {\n return true;\n }\n\n return Promise.all([this.appManager.loadSecurityConfig(), this.appManager.loadMetadata(), this.appVariablesProvider.getAppVariables()])\n .then((data) => this.appManager.loadAppVariables(data[2]))\n .then(() => appVariablesLoaded = true);\n }\n}\n","import { Injectable } from '@angular/core';\n\n\nimport { AppManagerService } from '../services/app.manager.service';\n\nlet metadataResolved = false;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MetadataResolve {\n constructor(private appManager: AppManagerService) {}\n\n resolve() {\n return metadataResolved || this.appManager.loadMetadata().then(() => metadataResolved = true);\n }\n}\n","import { Injectable } from '@angular/core';\n\n\nimport { getWmProjectProperties } from '@wm/core';\n\nimport { AppManagerService } from '../services/app.manager.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SecurityConfigResolve {\n loaded: boolean;\n\n constructor(private appManager: AppManagerService) {\n // if the project type is PREFAB, setting this flag will not trigger security/info call\n this.loaded = this.appManager.isPrefabType() || this.appManager.isTemplateBundleType() || !getWmProjectProperties().securityEnabled;\n }\n\n resolve() {\n return this.loaded || this.appManager.loadSecurityConfig().then(() => {\n this.loaded = true;\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i3","i1","i2.PrefabConfigProvider","noop","getDOM","ɵSharedStylesHost","i2","i4.AppManagerService","i1.PipeProvider","moment","i2.AppManagerService","i2.AuthGuard","appJsLoaded","i2.AppJSProvider","i1.AppManagerService","i2.AppExtensionProvider","filter","i4","i5.AppManagerService","i1.PrefabManagerService","i2.ComponentRefProvider","PrefabDirective","PrefabLoader","BaseCustomWidgetContainerDirective","ngxTimepickerModule","ngxPaginationModule","ngxCarouselModule","ngxPopoverModule","CustomWidgetContainerDirective","isObject","ɵDomRendererFactory2","i2.AppVariablesProvider"],"mappings":"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"}